Skip to content

How to Do IT

Information Technology Explained

  • Hardware
  • Linux
  • Network
  • Office
  • Security
  • Windows
  • Reviews
How to Do IT
Information Technology Explained

Update pfsense on the command line

Updates to most firewalls can be done through the web console (GUI). This is ok in most cases if you have to update one or two pfsense firewalls. If you have the need to update several firewalls it may be more convenient to start the update process using the command line. In this short tutorial I’ll teach you how to update a pfsense using the shell aka command line.

There are updates for your pfsense ahead ...
There are updates for your pfsense ahead …

All output has been recorded on a pfsense 2.4.4. The output show the update from pfsense version 2.4.4_2 to 2.4.4_3. . Nonetheless this procedure to upgrade a pfsense will also work on version 2.5.x  and 2.4.x or earlier.

Login to your pfsense box using ssh:

ssh [email protected]

You should see the welcome message like shown below. Press “8” to access the shell of pfsense.

pfSense - Netgate Device ID: obfuscated
*** Welcome to pfSense 2.4.4-RELEASE-p2 (amd64) on mypfsense ***

 WAN (wan)       -> em0        -> v4: yyy.xxx.xxx.xxx/29

 LAN (lan)       -> em1.1      -> v4: 10.xx.xx.254/22

 PFSYNC (opt1)   -> em1.110    -> v4: 10.xx.xx.1/24

 DMZ (opt2)      -> em2        -> v4: yyy.xxx.xxx.xxx/26

 0) Logout (SSH only)                  9) pfTop

 1) Assign Interfaces                 10) Filter Logs

 2) Set interface(s) IP address       11) Restart webConfigurator

 3) Reset webConfigurator password    12) PHP shell + pfSense tools

 4) Reset to factory defaults         13) Update from console

 5) Reboot system                     14) Disable Secure Shell (sshd)

 6) Halt system                       15) Restore recent configuration

 7) Ping host                         16) Restart PHP-FPM

 8) Shell

Enter an option: 8

The command we are looking for is simply “pfSense-upgrade”. Type “pfSense-upgrade –help” to get all command options for pfSense-upgrade.

[2.4.4-RELEASE][[email protected]]/root: pfSense-upgrade -h

Usage: pfSense-upgrade [-46bdfhnRUy] [-l logfile] [-p socket] [-c|-u|[-i|-d] pkg_name]

        -4          - Force IPv4

        -6          - Force IPv6

        -b          - Platform is booting

        -d          - Turn on debug

        -f          - Force package installation

        -h          - Show this usage help

        -l logfile  - Logfile path (defaults to /cf/conf/upgrade_log.txt)

        -n          - Dry run

        -p socket   - Write pkg progress to socket

        -R          - Do not reboot (this can be dangerous)

        -U          - Do not update repository information

        -y          - Assume yes as the answer to any possible interaction


The following parameters are mutually exclusive:

        -c          - Check if upgrade is necessary

        -i pkg_name - Install package PKG_NAME

        -r pkg_name - Remove package PKG_NAME

        -u          - Update repository information

In order to update pfsense you’ll simply type: “pfSense-upgrade -d”

You may also read:
Rocky Linux vs. AlmaLinux: A Comprehensive Comparison Review
Powered by Inline Related Posts

Hint: Please note the capital “S” in pfSense-upgrade. (third letter)

[2.4.4-RELEASE][[email protected]]/root: pfSense-upgrade -d

>>> Updating repositories metadata...

Updating pfSense-core repository catalogue...

pfSense-core repository is up to date.

Updating pfSense repository catalogue...

pfSense repository is up to date.

All repositories are up to date.


The following 26 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:

        pcre2: 10.21_1 [pfSense]

        libmspack: 0.5 [pfSense]


Installed packages to be UPGRADED:

        wpa_supplicant: 2.6_2 -> 2.8 [pfSense]

        unbound: 1.8.1 -> 1.9.1 [pfSense]

        suricata: 4.1.2_1 -> 4.1.4_2 [pfSense]

        sshguard: 2.2.0_4 -> 2.3.1 [pfSense]

        sqlite3: 3.24.0_1 -> 3.28.0 [pfSense]

        python27: 2.7.15 -> 2.7.16 [pfSense]

        py27-yaml: 3.12 -> 5.1 [pfSense]

        pfSense-rc: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-pkg-suricata: 4.1.2_3 -> 4.1.4_5 [pfSense]

        pfSense-pkg-squid: 0.4.44_7 -> 0.4.44_8 [pfSense]

        pfSense-kernel-pfSense: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-default-config: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-base: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-Status_Monitoring: 1.7.7 -> 1.7.10 [pfSense]

        pfSense: 2.4.4_2 -> 2.4.4_3 [pfSense]

        ntp: 4.2.8p12 -> 4.2.8p13 [pfSense]

        nginx: 1.14.0_6,2 -> 1.14.1,2 [pfSense]

        libzmq4: 4.2.3 -> 4.3.1 [pfSense]

        hostapd: 2.6_2 -> 2.8 [pfSense]

        dhcpleases: 0.3_1 -> 0.3_2 [pfSense]

        devcpu-data: 1.19 -> 1.22 [pfSense]

        curl: 7.62.0 -> 7.64.0 [pfSense]

        clamav: 0.100.2_1 -> 0.101.2,1 [pfSense]

        c-icap-modules: 0.5.2 -> 0.5.3_1 [pfSense]




Number of packages to be installed: 2

Number of packages to be upgraded: 24




The process will require 10 MiB more space.

75 MiB to be downloaded.




**** WARNING ****

Reboot will be required!!

Proceed with upgrade? (y/N) y

>>> Removing vital flag from lang/php72...

>>> Downloading upgrade packages...

Updating pfSense-core repository catalogue...

pfSense-core repository is up to date.

Updating pfSense repository catalogue...

pfSense repository is up to date.

All repositories are up to date.

Checking for upgrades (24 candidates): .......... done

Processing candidates (24 candidates): .......... done

The following 26 package(s) will be affected (of 0 checked):




New packages to be INSTALLED:

        pcre2: 10.21_1 [pfSense]

        libmspack: 0.5 [pfSense]


Installed packages to be UPGRADED:

        wpa_supplicant: 2.6_2 -> 2.8 [pfSense]

        unbound: 1.8.1 -> 1.9.1 [pfSense]

        suricata: 4.1.2_1 -> 4.1.4_2 [pfSense]

        sshguard: 2.2.0_4 -> 2.3.1 [pfSense]

        sqlite3: 3.24.0_1 -> 3.28.0 [pfSense]

        python27: 2.7.15 -> 2.7.16 [pfSense]

        py27-yaml: 3.12 -> 5.1 [pfSense]

        pfSense-rc: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-pkg-suricata: 4.1.2_3 -> 4.1.4_5 [pfSense]

        pfSense-pkg-squid: 0.4.44_7 -> 0.4.44_8 [pfSense]

        pfSense-kernel-pfSense: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-default-config: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-base: 2.4.4_2 -> 2.4.4_3 [pfSense-core]

        pfSense-Status_Monitoring: 1.7.7 -> 1.7.10 [pfSense]

        pfSense: 2.4.4_2 -> 2.4.4_3 [pfSense]

        ntp: 4.2.8p12 -> 4.2.8p13 [pfSense]

        nginx: 1.14.0_6,2 -> 1.14.1,2 [pfSense]

        libzmq4: 4.2.3 -> 4.3.1 [pfSense]

        hostapd: 2.6_2 -> 2.8 [pfSense]

        dhcpleases: 0.3_1 -> 0.3_2 [pfSense]

        devcpu-data: 1.19 -> 1.22 [pfSense]

        curl: 7.62.0 -> 7.64.0 [pfSense]

        clamav: 0.100.2_1 -> 0.101.2,1 [pfSense]

        c-icap-modules: 0.5.2 -> 0.5.3_1 [pfSense]


Number of packages to be installed: 2

Number of packages to be upgraded: 24


The process will require 10 MiB more space.

75 MiB to be downloaded.

[1/26] Fetching wpa_supplicant-2.8.txz: .......... done

[2/26] Fetching unbound-1.9.1.txz: .......... done

[3/26] Fetching suricata-4.1.4_2.txz: .......... done

[4/26] Fetching sshguard-2.3.1.txz: .......... done

[5/26] Fetching sqlite3-3.28.0.txz: .......... done

[6/26] Fetching python27-2.7.16.txz: .......... done

[7/26] Fetching py27-yaml-5.1.txz: .......... done

[8/26] Fetching pfSense-rc-2.4.4_3.txz: .. done

[9/26] Fetching pfSense-pkg-suricata-4.1.4_5.txz: .......... done

[10/26] Fetching pfSense-pkg-squid-0.4.44_8.txz: ........ done

[11/26] Fetching pfSense-kernel-pfSense-2.4.4_3.txz: .......... done

[12/26] Fetching pfSense-default-config-2.4.4_3.txz: . done

[13/26] Fetching pfSense-base-2.4.4_3.txz: .......... done

[14/26] Fetching pfSense-Status_Monitoring-1.7.10.txz: ... done

[15/26] Fetching pfSense-2.4.4_3.txz: . done

[16/26] Fetching ntp-4.2.8p13.txz: .......... done

[17/26] Fetching nginx-1.14.1,2.txz: .......... done

[18/26] Fetching libzmq4-4.3.1.txz: .......... done

[19/26] Fetching hostapd-2.8.txz: .......... done

[20/26] Fetching dhcpleases-0.3_2.txz: .. done

[21/26] Fetching devcpu-data-1.22.txz: .......... done

[22/26] Fetching curl-7.64.0.txz: .......... done

[23/26] Fetching clamav-0.101.2,1.txz: .......... done

[24/26] Fetching c-icap-modules-0.5.3_1.txz: .......... done

[25/26] Fetching pcre2-10.21_1.txz: .......... done

[26/26] Fetching libmspack-0.5.txz: .......... done

Checking integrity... done (0 conflicting)

>>> Upgrading pfSense-rc...

Checking integrity... done (0 conflicting)

The following 1 package(s) will be affected (of 0 checked):




Installed packages to be UPGRADED:

        pfSense-rc: 2.4.4_2 -> 2.4.4_3 [pfSense-core]




Number of packages to be upgraded: 1

[1/1] Upgrading pfSense-rc from 2.4.4_2 to 2.4.4_3...

[1/1] Extracting pfSense-rc-2.4.4_3: .... done

>>> Upgrading pfSense kernel...

Checking integrity... done (0 conflicting)

The following 1 package(s) will be affected (of 0 checked):




Installed packages to be UPGRADED:

        pfSense-kernel-pfSense: 2.4.4_2 -> 2.4.4_3 [pfSense-core]


Number of packages to be upgraded: 1

[1/1] Upgrading pfSense-kernel-pfSense from 2.4.4_2 to 2.4.4_3...

[1/1] Extracting pfSense-kernel-pfSense-2.4.4_3: .......... done

===> Keeping a copy of current kernel in /boot/kernel.old

>>> Removing unnecessary packages...

Checking integrity... done (0 conflicting)

Nothing to do.

Upgrade is complete.  Rebooting in 10 seconds.


Broadcast Message from [email protected]

        (/dev/pts/0) at 14:43 CEST...


Upgrade is complete.  Rebooting in 10 seconds.

The pfsense firewall now reboots and will be back online after 2-3 minutes. After that you can check the result by logging in again using ssh. Check if there are any missing updates or packages that need to be upgraded by using “pfsense-upgrade –c” . This will check for any missing packages or updates:

[2.4.4-RELEASE][[email protected]]/root: pfSense-upgrade -c

>>> Updating repositories metadata... done.

Your system is up to date
The GUI of pfsense shows the latest version
The GUI of pfsense shows the latest version

That’s it. Your pfSense firewall is now updated to the latest version and ready to use again. Your GUI should also credit the latest version of pfsense being installed. Have fun.

You may also read:
Guide to Easily Disable Bluetooth on Your Raspberry Pi
Powered by Inline Related Posts

 

  • About the Author
  • Latest Posts
Avatar of Matthias
Matthias

Matthias Böhmichen is the founder of howto-do.it . He is using Linux since 1991 and fell in love with windows a few years later. He likes to discover new technologies, especially hard- and software.

  • Best USB to Ethernet Adapter: Top Picks for Connectivity
  • What is ATM (Asynchronous Transfer Mode) Explained
  • Understanding the Basics: What is Linux Unveiled?

Recent Posts

  • How to Change Meeting Organizer in Outlook: Easy Step-by-Step Guide
    How to Change Meeting Organizer in Outlook: Easy Step-by-Step Guide
    06/02/2026
  • Step-by-Step Guide: Adding the From Field in Outlook for Efficient Email Management
    Step-by-Step Guide: Adding the From Field in Outlook for Efficient Email Management
    06/02/2026
  • Step-by-Step Guide: How to Add Webex Meeting in Outlook
    Step-by-Step Guide: How to Add Webex Meeting in Outlook
    06/02/2026
  • Easy Steps to Remove Signature from Outlook & Enhance Professional Communication
    Easy Steps to Remove Signature from Outlook & Enhance Professional Communication
    06/02/2026
  • Easily Enable Dark Mode on Outlook for Enhanced Viewing Experience
    Easily Enable Dark Mode on Outlook for Enhanced Viewing Experience
    05/02/2026
  • Learn How to Add Spell Check to Outlook for Error-Free Emails
    Learn How to Add Spell Check to Outlook for Error-Free Emails
    05/02/2026
  • Effortlessly Edit Categories in Outlook for Streamlined Organization
    Effortlessly Edit Categories in Outlook for Streamlined Organization
    05/02/2026
  • Preventing Email Virus Infections: Can Your Computer Get Infected?
    Preventing Email Virus Infections: Can Your Computer Get Infected?
    05/02/2026
  • Learn How to Easily Reboot pfSense for Efficient Network Management
    Learn How to Easily Reboot pfSense for Efficient Network Management
    04/02/2026

Search this Site

Search

Recent Posts

  • Step-by-Step Guide: Installing pfSense on VirtualBox for Seamless Network Security
    Step-by-Step Guide: Installing pfSense on VirtualBox for Seamless Network Security
    04/02/2026
  • Step-by-Step Guide to Install Make on Ubuntu for Seamless Development
    Step-by-Step Guide to Install Make on Ubuntu for Seamless Development
    04/02/2026
  • How to Make Ubuntu Full Screen in VirtualBox – Step-by-Step Guide
    How to Make Ubuntu Full Screen in VirtualBox – Step-by-Step Guide
    04/02/2026
  • Step-by-Step Guide: How to Install Python on Ubuntu 22
    Step-by-Step Guide: How to Install Python on Ubuntu 22
    03/02/2026
  • How to Check Outlook Storage: A Step-by-Step Guide for Optimizing Email Space
    How to Check Outlook Storage: A Step-by-Step Guide for Optimizing Email Space
    03/02/2026
  • Step-by-Step Guide to Uninstall Docker on Ubuntu for Hassle-free Removal
    Step-by-Step Guide to Uninstall Docker on Ubuntu for Hassle-free Removal
    03/02/2026
  • Troubleshooting: Why Microsoft Outlook Keeps Asking for Password
    Troubleshooting: Why Microsoft Outlook Keeps Asking for Password
    03/02/2026
  • Step-by-Step Guide: How to Shutdown Raspberry Pi Remotely in Minutes
    Step-by-Step Guide: How to Shutdown Raspberry Pi Remotely in Minutes
    02/02/2026
  • The Ultimate Guide: How to Remove Shared Mailbox from Outlook+
    The Ultimate Guide: How to Remove Shared Mailbox from Outlook+
    02/02/2026
  • Effortlessly Check Outlook Mailbox Size with These Easy Steps
    Effortlessly Check Outlook Mailbox Size with These Easy Steps
    02/02/2026
  • Why Is My Computer Suddenly Running Slow? Discover the Causes and Solutions
    Why Is My Computer Suddenly Running Slow? Discover the Causes and Solutions
    02/02/2026
  • A Step-by-Step Guide to Remotely Updating Raspberry Pi
    A Step-by-Step Guide to Remotely Updating Raspberry Pi
    01/02/2026
  • What is Prometheus: Monitoring Tool Explained
    What is Prometheus: Monitoring Tool Explained
    01/02/2026
  • Remote Raspberry Pi Restart: A Guide to Restarting Your Pi From Anywhere
    Remote Raspberry Pi Restart: A Guide to Restarting Your Pi From Anywhere
    01/02/2026
  • Understanding the Reasons Behind Random Computer Restarts: A Comprehensive Guide
    Understanding the Reasons Behind Random Computer Restarts: A Comprehensive Guide
    01/02/2026
  • Observium vs. Nagios: Network Monitoring Face-Off
    Observium vs. Nagios: Network Monitoring Face-Off
    31/01/2026
  • Step-by-Step Guide: How to Install MongoDB on Ubuntu 22 – Easy Setup Tutorial
    Step-by-Step Guide: How to Install MongoDB on Ubuntu 22 – Easy Setup Tutorial
    31/01/2026
  • Ultimate Guide: How to Link a Folder in Outlook for Seamless Organization
    Ultimate Guide: How to Link a Folder in Outlook for Seamless Organization
    31/01/2026
  • Duplicate Emails in Outlook: A Step-by-Step Guide for Email Replication
    Duplicate Emails in Outlook: A Step-by-Step Guide for Email Replication
    31/01/2026
  • Step-by-Step Guide: How to Install Nmap on Ubuntu – Simplified Instructions
    Step-by-Step Guide: How to Install Nmap on Ubuntu – Simplified Instructions
    30/01/2026
  • Efficiently Remove Holidays from Outlook Calendar: A Step-by-Step Guide
    Efficiently Remove Holidays from Outlook Calendar: A Step-by-Step Guide
    30/01/2026
Welcome to HowTo-Do.it, your destination to the world of information technology. Whether you're a tech novice or a seasoned enthusiast, our website is dedicated to empowering everyday users with the knowledge you need to confidently engage with software and hardware.
From demystifying complex software applications to unraveling the intricacies of hardware setups, we're here to guide you step-by-step.

Our Partners

  • Biteno GmbH
  • IT-ServiceCenter.com
  • Data Privacy
  • Imprint
  • Opt-out preferences
  • Howto-Do.IT in German
  • Sitemap

© 2026 How to Do IT

Manage Cookie Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}
Scroll to top
  • Hardware
  • Linux
  • Network
  • Office
  • Security
  • Windows
  • Reviews