How to Downgrade Packages on Ubuntu - A Step-by-Step Guide

Managing Package Versions in Ubuntu
The Update Manager in Ubuntu is designed to ensure your system utilizes the most current package versions. However, instances can arise where a newly released package version introduces unforeseen issues.
Should a recent update cause instability or malfunction, it's possible to revert to a previously installed package version.
Downgrading and Locking Packages
Ubuntu allows for the downgrading of installed packages. Furthermore, you can secure a package at a particular version, effectively preventing future automatic updates.
This functionality proves invaluable when encountering regressions – situations where an updated package introduces a new bug or disrupts existing functionality.
Why Downgrade?
- Regression Issues: A recent update may contain a flaw that negatively impacts system performance.
- Compatibility Concerns: New versions might not be compatible with other software on your system.
- Stability: Maintaining a known stable version can be preferable to adopting potentially unstable updates.
By downgrading and locking, users can maintain a stable and functional system while awaiting a resolution to the problematic update.
This approach provides a temporary solution, allowing continued operation without being affected by the faulty package version.
Understanding Package Versioning
Typically, your operating system maintains several iterations of software packages within its software sources. For instance, when Ubuntu releases an update, the revised package is placed in a dedicated updates repository.
The previously installed version remains accessible in Ubuntu’s primary repository and can be reinstated using specific methods. Even if a more recent package version was obtained from a Personal Package Archive (PPA), the original versions supplied with Ubuntu are still present in the standard repositories.
Potential Dependency Issues
As highlighted by Synaptic Package Manager, this situation can introduce complications regarding package dependencies. The standard software management tools in Ubuntu are not intended to facilitate downgrading packages, and doing so is generally considered an unsupported procedure.
Downgrading, while possible, should be approached with caution due to the potential for instability. It's important to understand the risks involved before attempting to revert to an older package version.
Ubuntu's Package Management Approach
Ubuntu’s software management infrastructure prioritizes forward compatibility and updates. It doesn't inherently support rolling back to previous package states.
Consequently, users who choose to downgrade packages do so at their own risk, potentially encountering conflicts or system instability. Careful consideration and a thorough understanding of dependencies are crucial.
Graphically – Using Synaptic
The Ubuntu Software Center, with its user-friendly design, lacks the functionality to revert to previous package versions. However, Synaptic, a more comprehensive graphical package manager previously included with Ubuntu, provides this capability. To perform a graphical downgrade, the initial step involves installing the Synaptic application.

Once installed, launch the Synaptic Package Manager through the Dash.

Within Synaptic, locate the package for which you desire an older version. Select it, then navigate to Package –> Force Version.

From the available options, choose the specific version you wish to install and click Force Version. It’s important to note that Synaptic will only display versions present in your configured repositories.

Confirm your selection by clicking the Apply button. This initiates the process of applying the changes and installing the older package version, provided no issues arise.

Following the downgrade, re-select the package. Then, utilize the Package –> Lock Version option. Without this step, Ubuntu may attempt to upgrade the package during subsequent system updates.

Locking the version ensures the downgraded package remains at the chosen state, preventing unintended upgrades.
Terminal – apt-get
Utilizing the terminal, specific package versions can be installed through apt-get. Initially, the available versions for installation should be identified. This is achieved using the following command:
apt-cache showpkg packagename
The output from this command will list the versions available in the repositories.
Following this, the apt-get install command is executed, with the desired package version explicitly specified.
sudo apt-get install packagename=version
This command initiates the installation of the selected version.
To prevent automatic updates to this specific version by the package manager, a hold can be applied. This is done by executing the following command:
sudo echo “package hold” | sudo dpkg --set-selections
This ensures the installed version remains unchanged during subsequent system updates.
Further Considerations
- The packagename should be replaced with the actual name of the package.
- The version should be replaced with the specific version number you wish to install.
- Using 'hold' prevents unintended upgrades, but remember to remove the hold when you want to receive updates again.
Maintaining control over package versions is crucial for system stability and compatibility. apt-get provides the tools necessary for precise package management.