Usually, when you install a package in CentOS and Ubuntu, the package management software selects the latest package version from the repository, by default. However, sometimes, for one reason or the other, you may want to install a specific package version on your Linux system.
Install Specific Package Version in CentOS/RHEL/Fedora
First, you need to check for all the available versions of a package, whether installed or not. Normally, yum ignores specific versions of a package and will always try to install the latest version available.
Secondly, when you try to find info about a package, yum only shows the latest version of that package in the output of info, list or search sub-commands; but using the
--showduplicates switch, you can display all package versions present in the repository.
# yum --showduplicates list nginx
From the above command output, the naming format for packages are:
package_name.architecture version_number–build_number repository
The build_number represents minor changes made by the package maintainer, not by the program author, such as additional documentation, changes to configuration files, or bug fixes and more.
Once you have identified the specific version of a package (for example nginx-1.10.3-1.el7.ngx), install it as follows. Note that the name format will have to change here, to the full RPM desired, package_name-version_number as shown in the following command.
# yum install nginx-1.10.3
Alternatively, if you want to use a version with certain updates, specify the build_number (package_name-version_number-build_number) as shown.
# yum install nginx-1.10.3-1.el7.ngx
Considering the above situation, a newer version of the packages is already installed on the system. Therefore, you need to remove the installed package version, if you want to install an older version from the available packages as shown.
# yum remove nginx
Once you have removed the installed package, you can then install the specific version you desire as explained above.
Install Specific Package Version in Ubuntu and Debian
First check the version of the package installed on your system plus all available packages in the repository, using the apt-cache command below.
$ apt-cache policy firefox
To install a specific package version, use the following command with syntax below.
$ sudo apt install firefox=45.0.2+build1-0ubuntu1
If a newer version of a package is already installed on your Ubuntu system, you can remove it and then install the version you want.
$ sudo apt remove firefox $ sudo apt install firefox=45.0.2+build1-0ubuntu1
That’s all! For more information, refer to the yum, apt, apt-cache man pages. If you have any queries, use the comment form below to get to us.