Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

request system software add (Junos OS)

Syntax

Syntax (EX Series Switches)

Syntax (MX Series Router)

Syntax (QFX Series)

Syntax (OCX Series)

Description

Install a software package or bundle on the device.

We recommend that you always download the software image to /var/tmp only. On EX Series and QFX Series switches, you must use the /var/tmp directory. Other directories are not supported.

Starting in Junos OS Release 23.4R1 for MX Series routers, you can configure the dual-phase-bootup statement at the [edit system] hierarchy level. During device upgrades or downgrades, this feature enables a two-step restart process. If the dual-phase-bootup statement is already configured and committed, the device picks up the rescue.conf file during any upgrade or downgrade. The image is then validated against both the rescue.conf file and the juniper.conf file. An internal commit is performed post-reboot, with the latest last-run user configuration being committed. While this configuration is being committed, you cannot make any changes to the configuration.

When you are upgrading to a different release of Junos OS, you usually use the validate option on this command. The validate option checks the candidate software against the current configuration of the device to ensure they are compatible. (Validate is the default behavior when the software package being added is a different release.) However, there are circumstances under which you cannot validate the running configuration in this way. One such circumstance is when you are upgrading to Junos OS with upgraded FreeBSD from Junos OS based on FreeBSD 6.1. Another such circumstance is when you are updating between different releases of Junos OS with upgraded FreeBSD, and the newest version of FreeBSD uses system calls that are not available in earlier versions of FreeBSD.

Therefore, for platforms already running an upgraded FreeBSD release, you cannot use the validate option when upgrading to Junos OS Release 21.2R1, because this release runs on FreeBSD release 12; previous releases with upgraded FreeBSD run either FreeBSD release 10 or 11.

For SRX300, SRX320, SRX340, SRX345, and SRX380 Firewalls, when you are upgrading to Junos OS Release 24.4R1 from Junos OS 23.4R2-S3 or from Release 24.2R2, you must use the request system software add package-name no-copy no-validate reboot command to upgrade the software. Similarly, to downgrade the software, you must use the request system software add package-name no-validate reboot command. When downgrading the software, sometimes the non-SRX380 firewalls cannot complete the downgrade because the /oam partition does not have enough free space.

If you are upgrading between releases that cannot use direct validation, you need to specify one of the following on the request system software add operational mode command when you upgrade:

  • The no-validate option—this option does not validate the software package against the current configuration. Therefore, the current configuration might fail once you upgrade the system. Choose this option for the first time you upgrade a system to the newer version.

  • The validate-on-host option—this option validates the software package by comparing it to the running configuration on a remote Junos OS host. Be sure to choose a host that you have already upgraded to the newer version of software.

  • The validate-on-routing-engine option—(for systems with redundant REs) this option validates the software package by comparing it to the running configuration on a Routing Engine in the same chassis. Use this option when you have already upgraded the other Routing Engine to the newer version.

For information on valid filename and URL formats, see Format for Specifying Filenames and URLs in Junos OS CLI Commands.

Any configuration changes performed after inputting the request system software add command remain after the system reboots with an upgraded version of Junos OS.

Starting from Junos OS Release 17.2R1, PTX10008 routers do not support the request system software add command. Starting from Junos OS Release 17.4R1, PTX10016 routers do not support the request system software add command. Use the request vmhost software add command instead of the request system software add command on the PTX10008 and PTX10016 routers to install or upgrade the Junos OS software package or bundle on the router. See request vmhost software add.

When graceful Routing Engine switchover (GRES) is enabled on a device, you must perform a unified in-service software upgrade (ISSU) operation to update the software running on the device. With GRES enabled, if you attempt to perform a software upgrade by entering the request system software add package-name command, an error message is displayed stating that only in-service software upgrades are supported when GRES is configured. In such a case, you must either remove the GRES configuration before you attempt the upgrade or perform a unified ISSU.

Starting with Junos OS Release 15.1F3, the statement request system software add installs a software package for the guest OS only for the PTX5000 router with RE-DUO-C2600-16G, and for MX240, MX480, and MX960 routers with RE-S-1800X4-32G-S.

Starting with Junos OS Release 15.1F5, the statement request system software add installs a software package for the guest OS only for the MX2010 and MX2020 routers with REMX2K-1800-32G-S.

On these routers, in order to install both Junos software and host software packages, use the request vmhost software add command.

Options

package-name

Location from which the software package or bundle is to be installed.

In Junos OS, package-name can be either the URL of a remote location or the pathname of a local package. But Junos OS Evolved does not support a remote iso for upgrade, so “URL” is removed from the help string in the CLI.

For example:

  • /var/tmp/package-name—For a software package or bundle that is being installed from a local directory on the router or switch.

  • protocol://hostname/pathname/package-name—For a software package or bundle that is to be downloaded and installed from a remote location. Replace protocol with one of the following:

    • ftp—File Transfer Protocol. Use ftp://hostname/pathname/package-name. To specify authentication credentials, use ftp://<username>:<password>@hostname/pathname/package-name. To have the system prompt you for the password, specify prompt in place of the password. If a password is required, and you do not specify the password or prompt, an error message is displayed.

    • http—Hypertext Transfer Protocol. Use http://hostname/pathname/package-name. To specify authentication credentials, use http://<username>:<password>@hostname/pathname/package-name. If a password is required and you omit it, you are prompted for it.

    • scp—Secure copy (not available for limited editions). Use scp://hostname/pathname/package-name. To specify authentication credentials, use scp://<username>:<password>@hostname/pathname/package-name.

  • The pathname in the protocol is the relative path to the user’s home directory on the remote system and not the root directory.

  • Do not use the scp protocol in the request system software add command to download and install a software package or bundle from a remote location. The previous statement does not apply to the QFabric switch. The software upgrade is handled by the management process (mgd), which does not support scp.Use the file copy command to copy the software package or bundle from the remote location to the /var/tmp directory on the hard disk:file copy scp://source/package-name /var/tmpThen install the software package or bundle using the request system software add command:request system software add /var/tmp/package-name

best-effort-load

(Optional) Activate a partial load and treat parsing errors as warnings instead of errors.

component all

(QFabric systems only) (Optional) Install the software package on all of the QFabric components.

delay-restart

(Optional) Install a software package or bundle, but do not restart software processes.

device-alias alias-name

(Junos Fusion only) (Optional) Install the satellite software package onto the specified satellite device using the satellite device’s alias name.

force

(Optional) Force the addition of the software package or bundle (ignore warnings).

force-host

(Optional) Force the addition of the host software package or bundle (ignore warnings) on the QFX5100 device.

member member-id

(MX Series routers only) (Optional) Install a software package on the specified Virtual Chassis member. Replace member-id with a value of 0 or 1.

partition

(QFX3500 switches and SRX3xx firewalls only) (Optional) Format and repartition the media before installation.

satellite slot-id

(Junos Fusion only) (Optional) Install the satellite software package onto the specified satellite device using the satellite devices FPC slot identifier.

no-copy

(Optional) Install a software package or bundle, but do not save copies of the package or bundle files.

no-validate

(Optional) When loading a software package or bundle with a different release, suppress the default behavior of the validate option.

To upgrade to Junos OS Release 21.2R1, you cannot use the validate option. Instead, choose one of the following options:

  • no-validate

  • validate-on-host

  • validate-on-routing-engine

Software packages from unidentified providers cannot be loaded. To authorize providers, include the provider-id statement at the [edit system extensions provider] hierarchy level.

re0 | re1

(Optional) On routers or switches that support dual or redundant Routing Engines, load a software package or bundle on the Routing Engine in slot 0 (re0) or the Routing Engine in slot 1 (re1).

reboot

(Optional) After adding the software package or bundle, reboot the system. On a QFabric switch, the software installation is not complete until you reboot the component for which you have installed the software.

set [package-name1 package-name2]

(Mixed EX4200 and EX4500 Virtual Chassis, and MX Series routers only) (Optional) Install multiple packages at same time:

  • In the case of mixed EX4200 and EX4500 Virtual Chassis, install two software packages—a package for an EX4200 switch and the same release of the package for an EX4500 switch—to upgrade all member switches in a mixed EX4200 and EX4500 Virtual Chassis.

  • In the case of MX Series routers, install multiple (two or more) software packages and software add-on packages at the same time. The variable package-name can either be a list of installation packages, each separated by a blank space, or the full URL to the directory or tar file containing the list of installation packages.

In each case, installation-package can either be a list of installation packages, each separated by a blank space, or the full URL to the directory or tar file containing the list of installation packages.

Use the request system software add set command to retain any SDK configuration by installing the SDK add-on packages along with the core Junos OS installation package.

unlink

(Optional) On MX Series routers, use the unlink option to remove the software package from this directory after a successful upgrade is completed.

upgrade-group [ all | upgrade-group-name]

(Junos Fusion only) (Required to configure a Junos Fusion using autoconversion or manual conversion) Associate a satellite software image with a satellite software upgrade group. The satellite software package is associated with the specified satellite software upgrade group using the upgrade-group-name, or for all satellite software upgrade groups in a Junos Fusion when the all keyword is specified.

A satellite software upgrade group is a group of satellite devices in a Junos Fusion that are designated to upgrade to the same satellite software version using the same satellite software package. See , Understanding Software in a Junos Fusion Provider EdgeUnderstanding Software in a Junos Fusion Enterprise, and Managing Satellite Software Upgrade Groups in a Junos Fusion.

upgrade-with-config

(Optional) Install one or more configuration files.

Configuration files specified with this option must have the extension .text or .xml and have the extension specified. Using the extension .txt will not work.

validate

(Optional) Validate the software package or bundle against the current configuration as a prerequisite to adding the software package or bundle. This is the default behavior when the software package or bundle being added is a different release.

To upgrade to Junos OS Release 21.2R1, you cannot use the validate option. Instead, choose one of the following options:

  • no-validate

  • validate-on-host

  • validate-on-routing-engine

The validate option only works on systems that do not have graceful-switchover (GRES) enabled. To use the validate option on a system with GRES, either disable GRES for the duration of the installation, or install using the command request system software in-service-upgrade, which requires nonstop active routing (NSR) to be enabled when using GRES.

validate-on-host hostname

(Optional) Validate the software package by comparing it to the running configuration on a remote Junos OS host. Specify a host, replacing hostname with the remote hostname. You can optionally provide the username that will be used to log in to the remote host by specifying the hostname in the format user@hostname.

validate-on-routing-engine routing-engine

(Optional) Validate the software bundle or package by comparing it to the running configuration on a Junos OS Routing Engine on the same chassis. Specify a Routing Engine, replacing routing-engine with the routing engine name.

Additional Information

Before upgrading the software on the device, when you have a known stable system, issue the request system snapshot command to back up the software, including the configuration, to the /altroot and /altconfig file systems. After you have upgraded the software on the device and are satisfied that the new package or bundle is successfully installed and running, issue the request system snapshot command again to back up the new software to the /altroot and /altconfig file systems.

The request system snapshot command is currently not supported on the QFabric system. Also, you cannot add or install multiple packages on a QFabric system.

After you run the request system snapshot command, you cannot return to the previous version of the software because the running and backup copies of the software are identical.

If you are upgrading more than one package at the same time, delete the operating system package, jkernel, last. Add the operating system package, jkernel, first and the routing software package, jroute, last. If you are upgrading all packages at once, delete and add them in the following order:

Before installing software on a device that has one or more custom YANG data models added to it, back up and remove the configuration data corresponding to the custom YANG data models from the active configuration. For more information see Managing YANG Packages and Configurations During a Software Upgrade or Downgrade.

Required Privilege Level

maintenance

Output Fields

When you enter this command, you are provided feedback on the status of your request.

Sample Output

request system software add validate

request system software add /var/tmp/ no-validate

request system software add no-copy no-validate reboot

request system software add validate-on-host

request system software add (Mixed EX4200 and EX4500 Virtual Chassis)

request system software add component all (QFabric Systems)

request system software add upgrade-group (Junos Fusion)

request system software add no-validate (SRX Series Firewall)

In Junos OS Release 24.4R1, we re-named the software install images. Images named junos-install-srsxme* are recognized by the system to install Junos OS Release 24.4R1 or later. Images named junos-srxsme* are recognized by the system to install Junos OS Release 23.4R1 or previous releases.

request system software add (SRX Series Firewall)

In Junos OS Release 24.4R1, we re-named the software install images. Images named junos-install-srsxme* are recognized by the system to install Junos OS Release 24.4R1 or later. Images named junos-srxsme* are recognized by the system to install Junos OS Release 23.4R1 or previous releases.

Release Information

Command introduced before Junos OS Release 7.4.

best-effort-load and unlink options added in Junos OS Release 7.4.

set [package-name1 package-name2] option added in Junos OS Release 11.1 for EX Series switches. Added in Junos OS Release 12.2 for MX Series routers.

On EX Series switches, the set [package-name1 package-name2] option allows you to install only two software packages on a mixed EX4200 and EX4500 Virtual Chassis. Whereas, on MX Series routers, the set [package-name1 package-name2 package-name3] option allows you to install multiple software packages and software add-on packages at the same time.

upgrade-with-config and upgrade-with-config-format format options added in Junos OS Release 12.3 for MX Series routers routers, EX Series Ethernet switches, and QFX Series devices.

device-alias, satellite, upgrade-group, and version options introduced in Junos OS Release 14.2R3 for Junos Fusion.

validate-on-host and validate-on-routing-engine options added in Junos OS Release 15.1F3 for PTX5000 routers and MX240, MX480, and MX960 routers.

upgrade-with-config-format format option deleted in Junos OS Release 16.1 for MX Series routers routers, EX Series Ethernet switches, and QFX Series devices.