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 Software from Support site
Download Junos software and Release Notes for your SRX product. Select the product from Software Downloads - SRX Series
Useful links:
Software Installation Preparation
-
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.
-
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
b. Save a snapshot from a running SRX to the USB Stick. Use the command: 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
If Flashsize is still lower than the size of your image, then try the following:
- Clear files from the /var/log directory. Clear or remove any traceoptions files and clear any log files which are not needed. Note that you will lose all contents of the log file after a clear is done.
clear log <log-filename>
- Purge software backup. Note that if you delete the backup software, you will not be able to rollback using the "request system software rollback" command.
request system software delete-backup
- Locate directories on the flash with large amount of data.
show system directory-usage /cf
- To save space browse directories and erase files manually: Be careful with which file you choose to delete.
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 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.
Install Software via CLI (Method 1 - from Junos software copied to SRX)
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
-
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
Install Software via CLI (Method 2 - from Junos software on FTP server)
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:
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:password@172.16.1.1/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
Install Software via CLI (Method 3 - from Junos software copied to USB stick)
Follow these steps to install the software via the CLI from a USB stick:
- Download the Junos upgrade file to the 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
- Insert the USB device into the USB slot. For example, slot 0 would return the following:
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".
- Create a mount directory:
user@srx% mkdir /tmp/usb
- Mount the USB to the directory:
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
- Exit shell and install the software:
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
Install Software via J-Web
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] .
Install Software via Bootloader
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.
Other Installation Methods
For additional installation methods, refer to the following:
Technical Documentation
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.
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 to reflect correct title.
2020-02-04: Updated references for J-series
2019-06-26: Corrected the SCP command syntax under Method 1