Software Package and Version Management
Document revision: | 1.5 (June 29, 2007, 19:19 GMT) |
Applies to: | V3.0 |
General Information
Summary
The MikroTik RouterOS is distributed in the form of software packages. The basic functionality of the router and the operating system itself is provided by the system software package. Other packages contain additional software features as well as support to various network interface cards.
Specifications
License required: Level1Submenu level: /system package
Standards and Technologies: FTP
Hardware usage: Not significant
Description
FeaturesThe modular software package system of MikroTik RouterOS has the following features:
- Ability to extend RouterOS functions by installing additional software packages
- Optimal usage of the storage space and memory resources by employing modular/compressed system
- Unused software packages can be uninstalled
- The RouterOS functions and the system itself can be easily upgraded
- Multiple packages can be installed at once
- The package dependency is checked before installing a software package. The package will not be installed, if the required software package is missing
- The version of the feature package should be the same as that of the system package
- The packages can be uploaded on the router using ftp and installed only when the router is going for shutdown during the reboot process
- If the software package file can be uploaded to the router, then the disk space is sufficient for the installation of the package
- The system can be downgraded to an older version by uploading the needed packages to router via FTP binary mode. After that, execute command /system package downgrade
Installation (Upgrade)
Description
Installation or upgrade of the MikroTik RouterOS software packages can be done by uploading the appropriate version of the software package to the router and rebooting it. All packaged must have the same version number as the system package, otherwise they will not be installed (and will be uninstalled if you are just upgrading the system package).
The software package files are compressed binary files, which can be downloaded from the MikroTik's web page download section. The full name of the software package consists of a descriptive name, version number and extension .npk, e.g., system-2.9.11.npk. Package routeros-x86 contains all necessary packages for RouterOS installation and upgrading for RouterBOARD 200 and PC. Package routeros-rb500 contains all necessary packages for RouterOS installation and upgrading for RouterBOARD 100/500. These packages are preferred installation and upgrading method.
You should check the available hard disk space prior to uploading the package files by issuing /system resource print command. If there is not enough free disk space for storing the upgrade packages, it can be freed up by uninstalling some software packages, which provide functionality not required for upgrade to complete. If you have a sufficient amount of free space for storing the upgrade packages, connect to the router using ftp. Use user name and password of a user with full access privileges.
Step-by-Step- Connect to the router using ftp client
- Select the BINARY mode file transfer
- Upload the software package files to the router
- Check the information about the uploaded software packages using the /file print command
- Reboot the router by issuing the /system reboot command or by pressing Ctrl+Alt+Del keys at the router's local console
- After reboot, verify that the packages were installed correctly by issuing /system package print command. If the packages have not been installed, check the logs to see what went wrong.
Notes
The packages uploaded to the router should retain the original name and also be in lowercase.
The installation/upgrade process is shown on the console screen (monitor) attached to the router and on the serial console.
The Free Demo License does not allow software upgrades using ftp. You should do a complete reinstall, or purchase the license.
Before upgrading the router, please check the current version of the system package and the additional software packages. The versions of additional packages must match the version number of the system software package. The version of the MikroTik RouterOS system software is shown before the console login prompt and right after you log in. Information about the version numbers and build time of the installed MikroTik RouterOS software packages can be obtained using the /system package print command.
Do not use routeros-x86 and routeros-rb500 packges to upgrade from version 2.8 or older. To upgrade use regular packages.
Test packages, like wireless-test, rstp-bridge-test and so on, are included in the routeros-x86 and routeros-rb500 packages, but disabled by default.
Few special-purpose packages, like LCD, are not included in the combined packages, and you may need to download them separately.
Uninstallation
Command name: /system package uninstallDescription
Usually, you do not need to uninstall software packages. However, if you have installed a wrong package, or you need additional free space to install a new one, you may need to uninstall some unused packages.
Notes
If a package is marked for uninstallation, but it is required for another (dependent) package, then the marked package cannot be uninstalled. You should uninstall the dependent package too. For the list of package dependencies see the 'Software Package List' section below. The system package will not be uninstalled even if marked for uninstallation.
Example
Suppose we need to uninstall security package from the router:
[admin@MikroTik] system package> print Flags: X - disabled # NAME VERSION SCHEDULED 0 routeros-rb500 3.0beta10 1 system 3.0beta10 2 X ipv6 3.0beta10 3 ntp 3.0beta10 4 wireless 3.0beta10 5 dhcp 3.0beta10 6 routing 3.0beta10 7 routerboard 3.0beta10 8 advanced-tools 3.0beta10 9 hotspot 3.0beta10 10 ppp 3.0beta10 11 security 3.0beta10 [admin@MikroTik] system package> uninstall security [admin@MikroTik] system package> .. reboot
Downgrading
Command name: /system package downgradeDescription
Downgrade option allows you to downgrade the software via FTP without losing your license key or reinstalling the router. It is not recommended to use older versions, however, if the newest version introduced some unwanted behavior, you may try to downgrade. If you send a support question, you will probably be asked to upgrade to the latest version.
Step-by-Step- Connect to the router using ftp client
- Select the BINARY mode file transfer
- Upload the software package files to the router
- Check the information about the uploaded software packages using the /file print command
- Execute command /system package downgrade. The router will downgrade and reboot.
- After reboot, verify that the packages were installed correctly by issuing /system package print command
Command Description
downgrade - this command asks your confirmation and reboots the router. After reboot the software is downgraded (if all needed packages were uploaded to the router)Example
To downgrade the RouterOS (assuming that all needed packages are already uploaded):
[admin@MikroTik] system package> downgrade Router will be rebooted. Continue? [y/N]: y system will reboot shortly
Disabling and Enabling
Specifications
Command name: /system package disable, /system package enableDescription
You can disable packages making them invisible for the system and later enable them, bringing the system back to the previous state. It is useful if you don't want to uninstall a package, but just turn off its functionality. This will save the RAM and processor resources for other applications, but will not free the diskspace used by the package files.
Notes
If a package is marked for disabling, but it is required for another (dependent) package, then the marked package cannot be disabled. You should disable or uninstall the dependent package too. For the list of package dependencies see the 'Software Package List' section below.
If any of the test packages will be enabled (for example wireless-test and routing-test packages, that are included in routeros-x86.npk and routeros-rb500.npk) system automaticly will disable regular packages that conflict with them.
Example
Suppose we need to test ipv6 package features:
[admin@MikroTik] system package> print Flags: X - disabled # NAME VERSION SCHEDULED 0 routeros-rb500 3.0beta10 1 system 3.0beta10 2 X ipv6 3.0beta10 3 ntp 3.0beta10 4 wireless 3.0beta10 5 dhcp 3.0beta10 6 routing 3.0beta10 7 routerboard 3.0beta10 8 advanced-tools 3.0beta10 9 hotspot 3.0beta10 10 ppp 3.0beta10 11 security 3.0beta10 [admin@MikroTik] system package> enable ipv6 [admin@MikroTik] system package> .. reboot
Unscheduling
Command name: /system package unscheduleDescription
Unschedule option allows to cancel pending uninstall, disable or enable actions for listed packages.
Notes
packages marked for uninstallation, disabling or enabling on reboot in column "schedule" will have a note, warning about changes.
Example
Suppose we need to cancel security package uninstallation action scheduled on reboot:
[admin@MikroTik] system package> print Flags: X - disabled # NAME VERSION SCHEDULED 0 routeros-rb500 3.0beta10 1 system 3.0beta10 2 X ipv6 3.0beta10 3 ntp 3.0beta10 4 wireless 3.0beta10 5 dhcp 3.0beta10 6 routing 3.0beta10 7 routerboard 3.0beta10 8 advanced-tools 3.0beta10 9 hotspot 3.0beta10 10 ppp 3.0beta10 11 security 3.0beta10 scheduled for uninstall [admin@MikroTik] system package> unschedule security [admin@MikroTik] system package>
System Upgrade
Submenu level: /system upgradeDescription
This submenu gives you the ability to download RouterOS software packages from a remote RouterOS router.
Step-by-Step- Upload desired RouterOS packages to a router (not the one that you will upgrade).
- Add this router's IP address, user name and password to /system upgrade upgrade-package-source on the router(s) you will be upgrading. This step will only be needed once, and you may continue using the same package source in future to upgrade the router(s) again. See the next section for details.
- Refresh available software package list /system upgrade refresh
- See available packages, using /system upgrade print command
- Download selected or all packages from the remote router, using the download or download-all command
Property Description
name (read-only: name) - package namesource (read-only: IP address) - source IP address of the router from which the package list entry is retrievedstatus (read-only: available | scheduled | downloading | downloaded | installed) - package statusversion (read-only: text) - version of the packageCommand Description
download - download packages from list by specifying their numbersdownload-all - download all packages that are needed for the upgrade (packages which are listed in the /system package print command output)refresh - updates currently available package listExample
See the available packages:
[admin@MikroTik] system upgrade> refresh [admin@MikroTik] system upgrade> print # SOURCE NAME VERSION STATUS COMPLETED 0 192.168.25.8 routeros-x86 2.9.44 available 1 192.168.25.8 routeros-rb500 3.0beta10 available [admin@MikroTik] system upgrade>
To upgrade chosen packages:
[admin@MikroTik] system upgrade> download 1 [admin@MikroTik] system upgrade> print # SOURCE NAME VERSION STATUS COMPLETED 0 192.168.25.8 routeros-x86 2.9.44 available 1 192.168.25.8 routeros-rb500 3.0beta10 downloading 16 % [admin@MikroTik] system upgrade>
Adding Package Source
Submenu level: /system upgrade upgrade-package-sourceDescription
In this submenu you can add remote routers from which to download RouterOS software packages.
Property Description
address (IP address) - source IP address of the router from which the package list entry will be retrievedpassword (text) - password of the remote routeruser (text) - username of the remote routerNotes
After specifying a remote router in /system upgrade upgrade-package-source, you can type /system upgrade refresh to refresh the package list and /system upgrade print to see all available packages.
Example
To add a router with IP address 192.168.25.8, username admin and no password:
[admin@MikroTik] system upgrade upgrade-package-source> add \ \... address=192.168.25.8 user=admin password: [admin@MikroTik] system upgrade upgrade-package-source> print # ADDRESS USER 0 192.168.25.8 admin [admin@MikroTik] system upgrade upgrade-package-source>
Software Package List
Description
System Software PackageThe system software package provides the basic functionality of the MikroTik RouterOS, namely:
- IP address management, ARP, static IP routing, policy routing, firewall (packet filtering, content filtering, masquerading, and static NAT), traffic shaping (queues), IP traffic accounting, MikroTik Neighbour Discovery, IP Packet Packing, DNS client settings, IP service (servers)
- Ethernet interface support
- IP over IP tunnel interface support
- Ethernet over IP tunnel interface support
- driver management for Ethernet ISA cards
- serial port management
- local user management
- export and import of router configuration scripts
- backup and restore of the router's configuration
- undo and redo of configuration changes
- network diagnostics tools (ping, traceroute, bandwidth tester, traffic monitor)
- bridge support
- system resource management
- package management
- telnet client and server
- local and remote logging facility
- winbox server as well as winbox executable with some plugins
After installing the MikroTik RouterOS, a free license should be obtained from MikroTik to enable the basic system functionality.
Additional Software Feature PackagesThe table below shows additional software feature packages, extended functionality provided by them, the required prerequisites and additional licenses, if any.
Name | Contents | Prerequisites |
advanced-tools | email client, pingers, netwatch and other utilities | none |
calea | Call Content Connection (CCC) data retention server for CALEA compliance | none |
arlan | support for legacy DSSS 2.4GHz 2mbps Aironet ISA cards | none |
dhcp | DHCP server and client support | none |
dude | Dude server | none |
gps | support for GPS devices | none |
hotspot | HotSpot gateway | none |
ipv6 | IPv6 protocol | none |
isdn | support for ISDN devices | ppp |
lcd | support for informational LCD display | none |
ntp | Network Time Protocol | none |
ppp | support for PPP, PPTP, L2TP, PPPoE and ISDN PPP | none |
radiolan | support for 5.8GHz RadioLAN cards | none |
routerboard | support for RouterBoard-specific functions and utilities | none |
routing | support for RIP, OSPF and BGP4 | none |
security | support for IPSEC, SSH and secure WinBox connections | none |
synchronous | support for Frame Relay and Moxa C101, Moxa C502, Farsync, Cyclades PC300, LMC SBE and XPeed synchronous cards | none |
thinrouter-pcipc | forces PCI-to-CardBus Bridge to use IRQ 11 as in ThinRouters | none |
ups | support for APC Smart UPS | none |
user-manager | embedded RADIUS server with web interface | none |
wireless | support for Cisco Aironet, PrismII and Atheros wireless cards | none |