UbuntuUbuntu Based

How To Install Specific Version of Package on Ubuntu Linux

Install Specific Version of Package on Ubuntu Linux

Managing package versions is a crucial aspect of maintaining a stable and secure Ubuntu Linux system. Whether you need to install a specific version of a package for compatibility reasons, to access specific features, or to ensure system stability, knowing how to install and manage package versions is an essential skill for any Ubuntu user or administrator.

In this comprehensive guide, we will walk you through the process of installing specific versions of packages on Ubuntu Linux. We will cover various methods, including using APT (Advanced Package Tool), APT pinning, and manual installation using .deb files. By the end of this article, you will have a solid understanding of how to effectively manage package versions on your Ubuntu system.

Understanding Package Management in Ubuntu Linux

Before diving into the specifics of installing package versions, let’s take a moment to understand package management in Ubuntu. Ubuntu, like many other Linux distributions, uses a package management system to simplify software installation, updates, and removal.

The primary package management tool in Ubuntu is APT (Advanced Package Tool). APT works with package repositories, which are servers that store software packages and their associated metadata. When you install or update a package using APT, it fetches the necessary files from these repositories and handles the installation process

To start, let’s delve into the basics of package repositories and versioning:

Package Repositories in Ubuntu:

Ubuntu employs a robust system of repositories, serving as a centralized location for storing software packages. Official repositories, maintained by Canonical, provide a curated collection of software that meets stringent quality standards. On the other hand, third-party repositories, like Personal Package Archives (PPAs), offer additional software that might not be available in the official channels.

Package Versioning in Ubuntu:

Package versioning follows a strict convention, consisting of numbers separated by dots. Ubuntu employs the X.Y.Z versioning scheme, where:

  • X denotes a major version (e.g., 2.0.1)
  • Y represents a minor version with new features (e.g., 2.1.0)
  • Z indicates a patch version with bug fixes (e.g., 2.1.1)

Determining the Available Package Versions

Before installing a specific package version, you need to identify the available versions in the repositories. The ‘apt-cache’ command is a valuable tool for this purpose:

Using ‘apt-cache’ to List Available Package Versions:

Open the terminal and execute the following command to display all available versions of a package:

apt-cache madison package_name

Replace ‘package_name‘ with the name of the desired package, and the terminal will present a list of available versions along with their repository sources.

Installing a Specific Package Version

Now that you’ve discovered the versions available, it’s time to proceed with the installation process. The ‘apt-get’ command comes to the rescue:

Step-by-step Guide to Install a Specific Package Version:

Follow these instructions to install the specific version of your desired package:

Step 1: Update Package Lists Update your package lists to ensure you have the latest information about available packages and versions:

sudo apt update

Step 2: Install the Desired Version

Use the following command to install the specific package version, replacing ‘package_name’ with the actual package name and ‘version_number’ with the desired version:

sudo apt install package_name=version_number

Step 3: Handle Dependencies and Conflicts

The package manager will automatically handle dependencies and conflicts while installing the specific version. If any issues arise, you’ll be prompted for confirmation.

Example Command Line Installation of a Specific Package Version:

For instance, let’s say you want to install ‘example_package‘ version 2.1.0. Execute the following command:

sudo apt install example_package=2.1.0

Resolving Common Issues and Troubleshooting

Despite the straightforward installation process, you may encounter some challenges during the package installation. Let’s address common issues and their solutions:

  • Error: “Package not found” or “Version not available”:

These errors indicate that the specified version or package name is incorrect. Verify the package name and version number using ‘apt-cache madison’ and ensure they are accurate.

  • Error: “Unmet dependencies” or “Conflicting packages”:

Such errors arise when the specific package version relies on other packages that are missing or incompatible with the current system. To resolve this, try installing the required dependencies manually or opt for a different package version that meets the system requirements.

  • Error: “Locked packages”:

Sometimes, the package manager might lock certain packages, preventing their installation. Ensure no other package managers or processes are using the package lists, and run the installation command again.

Utilizing PPA (Personal Package Archive) for Alternative Versions

PPAs provide a practical solution to access alternative versions of packages that are not present in the official repositories. Adding a PPA allows you to install a specific package version from a community-maintained repository:

  • Adding a PPA Repository:

Follow these steps to add a PPA and install a specific package version:

Step 1: Add the PPA to Ubuntu’s sources list:

sudo add-apt-repository ppa:user/ppa-name

Replace ‘user’ with the PPA owner’s username and ‘ppa-name’ with the name of the PPA.

Step 2: Update package lists:

sudo apt update
  • Installing a Specific Package Version from a PPA:

Now, you can install the package version you desire using the ‘apt-get’ command as previously shown.

Pinning Packages to Control Version Priority

Package pinning enables you to control the priority of package versions from different repositories, ensuring the system installs the desired version:

  • Pinning a Specific Package Version:

To pin a package version, create a file named ‘preferences’ within the ‘/etc/apt/‘ directory:

sudo nano /etc/apt/preferences

Removing or Reverting Package Versions

After successful installations, you might need to remove or revert to previous versions of packages:

  • Removing a Package:

To remove a specific package version, use the ‘apt-get’ command:

sudo apt remove package_name
  • Reverting to a Previous Version:

In some cases, you might need to revert to a previous package version. First, remove the current version:

sudo apt remove package_name

Then, install the desired version as shown earlier.

Best Practices for Managing Package Versions

To ensure smooth package management, follow these best practices:

  • Regularly Update and Upgrade Packages:

Keep your system up-to-date by regularly running:

sudo apt update
sudo apt upgrade
  • Backup System Configurations:

Before making changes, create backups of critical system files to avoid data loss or unexpected consequences.

  • Avoid Unsupported or Deprecated Versions:

Using outdated or unsupported package versions may lead to security vulnerabilities or instability. Stick to well-maintained versions for a secure and reliable system.


Congratulations! You’ve now mastered the art of installing specific package versions in Ubuntu Linux. Armed with aptitude commands, troubleshooting tips, and PPA know-how, you can confidently tailor your system to your needs. Embrace the power of package management, and watch your Ubuntu experience reach new heights of efficiency and stability. Happy package management!


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button