Related Documentation
- EX, M, MX, SRX, T Series, JCS 1200
- Installing Application Packages
- Checking Installed Application Packages
Application Versions and Compatibility
As of Junos OS Release 12.3, Junos applications will install on Junos only if the application is built with the same release as the Junos OS Release on which the application is being installed. For example, an application built with Release 12.3R2 will only install on Junos OS Release 12.3R2 and will not install on Junos OS Release 12.3R1 or Junos OS Release 12.3R3 or Junos OS Release 13.1R1.
Prior to Junos OS Release 12.3, Junos applications provided binary compatibility across the different releases of the Junos OS in a particular release train. For example, all the applications developed using the Release 10.3 are binary compatible with Junos OS releases 10.3R1, 10.3R2, 10.3R3, and so on.
Suppose you have Junos OS Release 11.1 on your device and you use the request system software add command to install an application developed using Release 10.4. The Junos OS gracefully refuses any attempt to add the software to the device.
. . . WARNING: Package 'jnx_ifinfo' is not compatible with package 'jkernel': WARNING: Major version number mismatch WARNING: (jnx_ifinfo:10 != jkernel:11) ERROR: JUNOS version incompatible - source compatibility supported from 11.1 - 11.current_jbase_minor ERROR: jnx-example fails requirements check Installation failed for package '/var/tmp/jnx-example-10.4I20100917_1456.tgz'
The following example shows how an application package is verified and installed.
user@router> request system software add jnx-example-i386-12.1-app1.0.tgz
NOTICE: Validating configuration against jnx-example-i386-12.1-app1.0.tgz. NOTICE: Use the 'no-validate' option to skip this if desired. Checking compatibility with configuration Initializing... Using jbase-12.1R1.9 Verified manifest signed by PackageProduction_12_1_0 Verified jbase-12.1R1.9 signed by PackageProduction_12_1_0 Using /var/home/jnpr/jnx-example-i386-12.1-app1.0.tgz +junos-package.xml validates Verified jnx-example-12.1-app1.0 signed by juniper-internaldevelopment-2 Verified manifest signed by juniper-internaldevelopment-2 Using jruntime-12.1R1.9 Verified manifest signed by PackageProduction_12_1_0 Verified jruntime-12.1R1.9 signed by PackageProduction_12_1_0 Using jkernel64-12.1R1.9 Verified manifest signed by PackageProduction_12_1_0 Verified jkernel64-12.1R1.9 signed by PackageProduction_12_1_0 Using jroute-12.1R1.9 Verified manifest signed by PackageProduction_12_1_0 Verified jroute-12.1R1.9 signed by PackageProduction_12_1_0 Using jcrypto64-12.1R1.9 Verified manifest signed by PackageProduction_12_1_0 Verified jcrypto64-12.1R1.9 signed by PackageProduction_12_1_0 Hardware Database regeneration succeeded Validating against /config/juniper.conf.gz Validation succeeded Installing package '/var/home/jnpr/jnx-example-i386-12.1-app1.0.tgz' ... +junos-package.xml validates Verified jnx-example-12.1-app1.0 signed by juniper-internaldevelopment-2 Available space: 2959398 require: 3180 Mounted jnx-example package on /dev/md10... Verified manifest signed by juniper-internaldevelopment-2 Reloading /config/juniper.conf.gz ... Activating /config/juniper.conf.gz ... Restarting mgd ... Restarting bslockd ... Saving package file in /var/sw/pkg/jnx-example-12.1-app1.0.tgz ... Saving state for rollback ... WARNING: cli has been replaced by an updated version: CLI release 12.1R1.9 built by builder on 2012-03-24 08:36:49 UTC Restart cli using the new version ? [yes,no] (yes) Restarting cli ... user@router>
Version compatibility is addressed in the Junos SDK Release Notes for each release. Refer to the Release Notes for version compatibility information specific to that release.
Related Documentation
- EX, M, MX, SRX, T Series, JCS 1200
- Installing Application Packages
- Checking Installed Application Packages