This article documents how to install or upgrade Junos software on SRX devices.
For other topics, go to the SRX Getting Started main page.
This sections contains the following:
Download Junos software and Release Notes for your SRX product. Select the product from Software Downloads - SRX Series Useful links: KB21476 - Junos Software Versions - Suggested Releases to Consider and Evaluate [juniper.net]KB10911 - Understanding Junos software components and installation package names [juniper.net]
Download Junos software and Release Notes for your SRX product. Select the product from Software Downloads - SRX Series
Useful links:
Read the Release Notes, as they document new features, changes in default behavior, known limitations, and issues. A copy of the Release Notes is in the product documentation , under the specific product name.
Set up your connection to the SRX to log your session during the installation and through the reboot, as the transcript can provide valuable information if an issue happens and JTAC needs to review it.
Confirm there are no uncommitted changes present because candidate changes are usually lost on a reboot. Enter the command:
user@srx# top user@srx# show | compare If the command contains configuration information that you want to keep, then perform a commit.
user@srx# top user@srx# show | compare
If the command contains configuration information that you want to keep, then perform a commit.
Back up your configuration, by logging your session while performing the following command. Keep it in a safe place .
user@srx> show configuration | no-more
If you want to back up the current Junos and configuration onto media (such as a USB/CF) so that it can be put back into the SRX if the SRX does not boot up and allow the SRX to boot up, refer to the following instructions: Backing Up the Current Installation .
For example: a. Prepare USB Stick: KB12880-How to mount a USB drive on the EX/SRX/MX/QFX series platforms [juniper.net] b. Save a snapshot from a running SRX to the USB Stick. Use the command: request system snapshot media usb
For example:
request system snapshot media usb
If you are going to do a J-Web installation or copy the Junos software image to the SRX, then check the flash size and purge unused files:
Check current Flash size: show system storage | match cf Purge logfiles: request system storage cleanup
Check current Flash size:
show system storage | match cf
Purge logfiles:
request system storage cleanup
If Flashsize is still lower than the size of your image, then try the following:
clear log <log-filename>
request system software delete-backup
show system directory-usage /cf
file list /var/tmp file delete /var/tmp/xyz
If you cannot free up enough space, then refer to KB19466 - Common and safest files to remove in order to increase the system storage [juniper.net] OR use CLI Installation Method 2 or 3 below.
Note : For a Chassis cluster installation, a SRX device with Redundant Routing Engines (JSRP), it is recommended to use CLI Installation Method 1 or 2. In Chassis cluster installation when the request system reboot command is executed it only affects the node on which this command is run. Both nodes of the cluster need to use the same hardware and release. In case of Chassis cluster upgrade we recommend to upgrade both the nodes followed by a reboot at the same time.
request system reboot
Follow these steps to copy the software to the SRX device and then perform the software installation via the CLI:
Copy software to SRX via SCP or FTP to /var/tmp:
For example : user@srx> scp username@ <ip address of local scp server> : junos-srxsme-12.1X46-D40.2-domestic.tgz /var/tmp/ junos-srxsme-12.1X46-D40.2-domestic.tgz OR user@srx> ftp <ip address of local ftp server> (and login) user@srx> lcd /var/tmp/ user@srx> bin user@srx> get junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> bye
For example :
user@srx> scp
junos-srxsme-12.1X46-D40.2-domestic.tgz /var/tmp/
OR
user@srx> ftp <ip address of local ftp server> (and login) user@srx> lcd /var/tmp/ user@srx> bin user@srx> get junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> bye
Install software with the commands below. For detailed instructions, refer to Installing the Software .
For example: From the local file in /var/tmp user@srx> request system software add no-copy /var/tmp/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot
From the local file in /var/tmp
user@srx> request system software add no-copy /var/tmp/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot
In order to perform the software installation from the CLI via the software on a FTP server, follow the instructions at Installing the Software EXCEPT use the syntax in these examples for the ' request system software ' commands:
request system software
Two examples : Fetch from a FTP Server ( user username ), then reboot after update. The no-copy option is used to save space. user@srx> request system software add no-copy ftp://username:[email protected]/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot Same example fetching from a FTP server with user anonymous. If validation of configuration reports that your current config is not working with the new release (e.g. on downgrade), you can bypass this with the no-validate option. user@srx> request system software add no-copy no-validate ftp://172.16.1.1/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot
Two examples :
user username
The no-copy option is used to save space.
no-copy
user@srx> request system software add no-copy ftp://username:[email protected]/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot
Same example fetching from a FTP server with user anonymous.
If validation of configuration reports that your current config is not working with the new release (e.g. on downgrade), you can bypass this with the no-validate option.
no-validate
user@srx> request system software add no-copy no-validate ftp://172.16.1.1/junos-srxsme-12.1X46-D40.2-domestic.tgz user@srx> request system reboot
Follow these steps to install the software via the CLI from a USB stick:
Locate the USB device ID that Junos is associating to the USB stick:
user@srx> start shell user@srx% ls /dev/ > /var/tmp/before_USB.txt
user@srx> start shell
user@srx% ls /dev/ > /var/tmp/before_USB.txt
root# umass0: USB USBFlashDrive, rev 2.00/1.00, addr 2 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <USB USBFlashDrive 0100> Removable Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 980MB (2007040 512 byte sectors: 64H 32S/T 980C) Run the following command: user@srx% ls /dev/ > /var/tmp/after_USB.txt Locate difference in the "before_USB.txt" and "after_USB.txt" outputs to locate drive label by using the "diff" command. (It will usually be da#s1, i.e. da0s1) user@srx% diff /var/tmp/before_USB.txt /var/tmp/after_USB.txt 35a36,37 > da1 > da0s1 58a61 > pass1 In this example the USB is "da0s1".
root# umass0: USB USBFlashDrive, rev 2.00/1.00, addr 2 da0 at umass-sim0 bus 0 target 0 lun 0 da0: <USB USBFlashDrive 0100> Removable Direct Access SCSI-0 device da0: 1.000MB/s transfers da0: 980MB (2007040 512 byte sectors: 64H 32S/T 980C)
Run the following command:
user@srx% ls /dev/ > /var/tmp/after_USB.txt
Locate difference in the "before_USB.txt" and "after_USB.txt" outputs to locate drive label by using the "diff" command. (It will usually be da#s1, i.e. da0s1)
user@srx% diff /var/tmp/before_USB.txt /var/tmp/after_USB.txt 35a36,37 > da1 > da0s1 58a61 > pass1
In this example the USB is "da0s1".
user@srx% mkdir /tmp/usb
user@srx% mount -t msdosfs /dev/<drivelabel> /tmp/usb Example : user@srx% mount -t msdosfs /dev/da0s1 /tmp/usb (there is a space between the label name and /tmp) Verify that the USB is mounted to the device: root@% pwd /cf/root root@% cd /tmp/usb/ root@% pwd /cf/tmp/usb root@% ls junos-srxsme-12.1X46-D40.2-domestic.tgz
user@srx% mount -t msdosfs /dev/<drivelabel> /tmp/usb
Example :
user@srx% mount -t msdosfs /dev/da0s1 /tmp/usb (there is a space between the label name and /tmp)
user@srx% mount -t msdosfs /dev/da0s1 /tmp/usb
Verify that the USB is mounted to the device:
root@% pwd /cf/root root@% cd /tmp/usb/ root@% pwd /cf/tmp/usb root@% ls junos-srxsme-12.1X46-D40.2-domestic.tgz
user@srx% exit user@srx> request system software add /tmp/usb/<upgrade filename> no-copy
For additional details regarding a software installation, refer to the instructions at Installing the Software .
Upon completion, reboot the SRX:
user@srx> request system reboot
Software installation via J-Web is the simplest of these procedures. However, it does require a minimum of 512MB compact flash and it is slower than the CLI methods. Refer to these steps to install the software via J-Web: Select Maintain > Software > Upload Package .Specify the 'File to Upload.'Click Upload and Install Package to perform the installation. For additional details regarding a software installation, refer to J-Web Interface User Guide [PDF] or J-Web Interface User Guide [HTML] .
Software installation via J-Web is the simplest of these procedures. However, it does require a minimum of 512MB compact flash and it is slower than the CLI methods. Refer to these steps to install the software via J-Web:
For additional details regarding a software installation, refer to J-Web Interface User Guide [PDF] or J-Web Interface User Guide [HTML] .
In the case that the kernel does not boot, either of these procedures can be performed to do an emergency software installation on SRX series devices: Note: The KB's below are valid only for Branch SRX devices. As of now, high-end SRX devices DO NOT support USB or TFTP installs from the loader. Installing Junos OS Using TFTP on SRX Series Devices Installing Junos OS from the Boot Loader Using a USB Storage Device on an SRX Series Device
In the case that the kernel does not boot, either of these procedures can be performed to do an emergency software installation on SRX series devices:
Note: The KB's below are valid only for Branch SRX devices. As of now, high-end SRX devices DO NOT support USB or TFTP installs from the loader.
For additional installation methods, refer to the following:
For additional information not covered in this article, refer to the technical documentation: Software Installation and Upgrade Guide Note: Select your Junos version from the pull-down list near the top of the page.
For additional information not covered in this article, refer to the technical documentation:
Note: Select your Junos version from the pull-down list near the top of the page.
2023-08-28: Added Training link for "Introduction to the Junos Operating System"2021-01-30: Changed USB to all caps state, to keep command syntax consistent.2020-09-17: Updated J-web pdf and html links, removed paragraph for older software not on download site, as that URL link is no longer available. Changed KB21476 [juniper.net] to reflect correct title.2020-02-04: Updated references for J-series2019-06-26: Corrected the SCP command syntax under Method 1