request system software add (Junos OS)
Syntax
request system software add package-name <best-effort-load> <delay-restart> <device-alias alias-name> <force> <no-copy> <no-validate> <re0 | re1> <reboot> <satellite slot-id> <set [package-name1 package-name2]> <unlink> <upgrade-group [all |upgrade-group-name]> <upgrade-with-config> <satellite slot-id> <validate> <version version-string>
Syntax (EX Series Switches)
request system software add package-name <best-effort-load> <delay-restart> <force> <no-copy> <no-validate> <re0 | re1> <reboot> <set [package-name1 package-name2]> <upgrade-with-config> <validate> <validate-on-host hostname> <validate-on-routing-engine routing-engine>
Syntax (MX Series Router)
request system software add package-name <best-effort-load> <delay-restart> <device-alias alias-name> <force> <member member-id> <no-copy> <no-validate> <re0 | re1> <reboot> <satellite slot-id> <set [package-name1 package-name2]> <upgrade-group [all |upgrade-group-name]> <unlink> <upgrade-with-config> <validate> <version version-string> <validate-on-host hostname> <validate-on-routing-engine routing-engine>
Syntax (QFX Series)
request system software add package-name <best-effort-load> <component all> <delay-restart> <force> <force-host> <no-copy> <partition> <reboot> <unlink> <upgrade-with-config>
Syntax (OCX Series)
request system software add package-name <best-effort-load> <delay-restart> <force> <force-host> <no-copy> <no-validate> <reboot> <unlink> <upgrade-with-config> <validate>
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,
For example:
|
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
|
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 To upgrade to Junos OS Release 21.2R1, you cannot
use the
Software packages from unidentified providers
cannot be loaded. To authorize providers, include
the |
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 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 |
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
The |
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
|
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
|
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:
user@host> request system software add /var/tmp/jbase user@host> request system software add /var/tmp/jkernel user@host> request system software add /var/tmp/jpfe user@host> request system software add /var/tmp/jdocs user@host> request system software add /var/tmp/jroute user@host> request system software add /var/tmp/jcrypto
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)
- request system software add (SRX Series Firewall)
request system software add validate
user@host> request system software add validate /var/tmp/ jinstall-7.2R1.7-domestic-signed.tgz Checking compatibility with configuration Initializing... Using jbase-7.1R2.2 Using /var/tmp/jinstall-7.2R1.7-domestic-signed.tgz Verified jinstall-7.2R1.7-domestic.tgz signed by PackageProduction_7_2_0 Using /var/validate/tmp/jinstall-signed/jinstall-7.2R1.7-domestic.tgz Using /var/validate/tmp/jinstall/jbundle-7.2R1.7-domestic.tgz Checking jbundle requirements on / Using /var/validate/tmp/jbundle/jbase-7.2R1.7.tgz Using /var/validate/tmp/jbundle/jkernel-7.2R1.7.tgz Using /var/validate/tmp/jbundle/jcrypto-7.2R1.7.tgz Using /var/validate/tmp/jbundle/jpfe-7.2R1.7.tgz Using /var/validate/tmp/jbundle/jdocs-7.2R1.7.tgz Using /var/validate/tmp/jbundle/jroute-7.2R1.7.tgz Validating against /config/juniper.conf.gz mgd: commit complete Validation succeeded Validating against /config/rescue.conf.gz mgd: commit complete Validation succeeded Installing package '/var/tmp/jinstall-7.2R1.7-domestic-signed.tgz' ... Verified jinstall-7.2R1.7-domestic.tgz signed by PackageProduction_7_2_0 Adding jinstall... WARNING: This package will load JUNOS 7.2R1.7 software. WARNING: It will save JUNOS configuration files, and SSH keys WARNING: (if configured), but erase all other files and information WARNING: stored on this machine. It will attempt to preserve dumps WARNING: and log files, but this can not be guaranteed. This is the WARNING: pre-installation stage and all the software is loaded when WARNING: you reboot the system. Saving the config files ... Installing the bootstrap installer ... WARNING: A REBOOT IS REQUIRED TO LOAD THIS SOFTWARE CORRECTLY. Use the WARNING: 'request system reboot' command when software installation is WARNING: complete. To abort the installation, do not reboot your system, WARNING: instead use the 'request system software delete jinstall' WARNING: command as soon as this operation completes. Saving package file in /var/sw/pkg/jinstall-7.2R1.7-domestic-signed.tgz ... Saving state for rollback ...
request system software add /var/tmp/ no-validate
user@host> request system software add no-validate /var/tmp/junos-install-mx-x86-32-15.1R1.9.tgz Installing package '/var/tmp/junos-install-mx-x86-32-15.1R1.9.tgz' ... Verified manifest signed by PackageProductionEc_2015 Verified manifest signed by PackageProductionRSA_2015 Verified contents.iso Verified issu-indb.tgz Verified junos-x86-32.tgz Verified kernel Verified metatags Verified package.xml Verified pkgtools.tgz camcontrol: not found camcontrol: not found Verified manifest signed by PackageProductionEc_2015 Saving the config files ... NOTICE: uncommitted changes have been saved in /var/db/config/juniper.conf.pre-install Saving package file in /var/sw/pkg/junos-install-x86-32-domestic-20150618.043753_builder_junos_151_r1.tgz ... Saving state for rollback ...
request system software add no-copy no-validate reboot
user@host> request system software add no-copy no-validate junos-install-srx-x86-64-17.3R1.tgz reboot Verified junos-install-srx-x86-64-17.3R1 signed by PackageProductionEc_2017 method ECDSA256+SHA256 Verified manifest signed by PackageProductionEc_2017 method ECDSA256+SHA256 Checking PIC combinations Verified fips-mode signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding fips-mode-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jail-runtime signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jail-runtime-x86-32-20170725.352915_builder_stable_10 ... Verified jdocs signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jdocs-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jfirmware signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jfirmware-x86-32-17.3R1 ... Verified jpfe-X signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jpfe-X-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jpfe-X960 signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jpfe-X960-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jpfe-common signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jpfe-common-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jpfe-fips signed by PackageProductionEc_2017 method ECDSA256+SHA256 Verified jpfe-wrlinux signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jpfe-wrlinux-x86-32-20170728.153050_builder_junos_173_r1 ... Verified jsd-jet-1 signed by PackageProductionEc_2017 method ECDSA256+SHA256 Adding jsd-x86-32-17.3R1-jet-1 ...
request system software add validate-on-host
user@host> request system software add validate-on-host user@xyz :/var/tmp/jinstall-15.1-20150516_ib_15_2_psd.0-domestic-signed.tgz user@host> request system software add validate-on-host user@xyz :/var/tmp/jinstall-15.1-20150516_ib_15_2_psd.0-domestic-signed.tgz Extracting JUNOS version from package... Connecting to remote host xyz... Password: Sending configuration to xyz... Validating configuration on xyz... PACKAGETYPE: not found Checking compatibility with configuration Initializing... Using jbase-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using jruntime-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using jkernel-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using jroute-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using jcrypto-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using jweb-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using /var/packages/jtools-15.1-20150516_ib_15_2_psd.0 Verified manifest signed by PackageDevelopmentEc_2015 Using /var/tmp/config.tgz Hardware Database regeneration succeeded Validating against /config/juniper.conf.gz mgd: warning: schema: init: 'logical-systems-vlans' contains-node 'juniper-config vlans': not found mgd: commit complete Validation succeeded Installing package '/var/tmp/jinstall-15.1-20150516_ib_15_2_psd.0-domestic-signed.tgz' ... Verified jinstall-15.1-20150516_ib_15_2_psd.0-domestic.tgz signed by PackageDevelopmentEc_2015 Adding jinstall... WARNING: The software that is being installed has limited support. WARNING: Run 'file show /etc/notices/unsupported.txt' for details. WARNING: This package will load JUNOS 15.1-20150516_ib_15_2_psd.0 software. WARNING: It will save JUNOS configuration files, and SSH keys WARNING: (if configured), but erase all other files and information WARNING: stored on this machine. It will attempt to preserve dumps WARNING: and log files, but this can not be guaranteed. This is the WARNING: pre-installation stage and all the software is loaded when WARNING: you reboot the system. Saving the config files ... NOTICE: uncommitted changes have been saved in /var/db/config/juniper.conf.pre-install Installing the bootstrap installer ... WARNING: A REBOOT IS REQUIRED TO LOAD THIS SOFTWARE CORRECTLY. Use the WARNING: 'request system reboot' command when software installation is WARNING: complete. To abort the installation, do not reboot your system, WARNING: instead use the 'request system software delete jinstall' WARNING: command as soon as this operation completes. Saving package file in /var/sw/pkg/jinstall-15.1-20150516_ib_15_2_psd.0-domestic-signed.tgz ... Saving state for rollback ...
request system software add (Mixed EX4200 and EX4500 Virtual Chassis)
user@switch> request system software add set [/var/tmp/jinstall-ex-4200-11.1R1.1-domestic-signed.tgz /var/tmp/jinstall-ex-4500-11.1R1.1-domestic-signed.tgz] ...
request system software add component all (QFabric Systems)
user@switch> request system software add /pbdata/packages/jinstall-qfabric-12.2X50-D1.3.rpm component all ...
request system software add upgrade-group (Junos Fusion)
user@aggregation-device> request system software add /var/tmp/satellite-3.0R1.1-signed.tgz upgrade-group group1
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.
user@host> request system software add /var/tmp/junos-srxsme-20.4I-20200810_dev_common.0.0833.tgz no-copy no-validate Formatting alternate root (/dev/ad0s2a)... /dev/ad0s2a: 600.0MB (1228732 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 150.00MB, 9600 blks, 19200 inodes. super-block backups (for fsck -b #) at: 32, 307232, 614432, 921632 Installing package '/altroot/cf/packages/install-tmp/junos-20.4I-20200810_dev_common.0.0833' ... Verified junos-boot-srxsme.tgz signed by PackageDevelopmentECP256_2020 method ECDSA256+SHA256 Verified junos-srxsme-domestic signed by PackageDevelopmentECP256_2020 method ECDSA256+SHA256 Verified manifest signed by PackageDevelopmentECP256_2020 method ECDSA256+SHA256 WARNING: The software that is being installed has limited support. WARNING: Run 'file show /etc/notices/unsupported.txt' for details. JUNOS 20.4I-20200810_dev_common.0.0833 will become active at next reboot WARNING: A reboot is required to load this software correctly WARNING: Use the 'request system reboot' command WARNING: when software installation is complete Saving state for rollback ... user@host> request system software add /var/tmp/junos-srxsme-19.4R1.3.tgz no-copy no-validate WARNING: Package junos-19.4R1.3 version 19.4R1.3 is not compatible with current loader WARNING: Automatic recovering loader, please wait ... Upgrading Loader... ##################################### Verifying the loader image... OK WARNING: The new boot firmware will take effect when the system is rebooted. WARNING: Loader recover finish. Formatting alternate root (/dev/ad0s1a)... /dev/ad0s1a: 598.5MB (1225692 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 149.62MB, 9576 blks, 19200 inodes. super-block backups (for fsck -b #) at: 32, 306464, 612896, 919328 Installing package '/altroot/cf/packages/install-tmp/junos-19.4R1.3' ... Verified junos-boot-srxsme-19.4R1.3.tgz signed by PackageProductionEc_2019 method ECDSA256+SHA256 Verified junos-srxsme-19.4R1.3-domestic signed by PackageProductionEc_2019 method ECDSA256+SHA256 Verified junos-boot-srxsme-19.4R1.3.tgz signed by PackageProductionEc_2019 method ECDSA256+SHA256 V erified junos-srxsme-19.4R1.3-domestic signed by PackageProductionEc_2019 method ECDSA256+SHA256 JUNOS 19.4R1.3 will become active at next reboot WARNING: A reboot is required to load this software correctly WARNING: Use the 'request system reboot' command WARNING: when software installation is complete Saving state for rollback ...
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.
user@host> request system software add /var/tmp/junos-srxsme-19.4R2.3.tgz WARNING: Package junos-19.4R2.3 version 19.4R2.3 is not compatible with this system. WARNING: Please install a package with veloadr support, 20.3 or higher.
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.