How to Downgrade Software on Ubuntu Safely

You can downgrade an APT-managed package on Ubuntu by installing a specific older version that is still available from one of your configured repositories. Check the version list, preview the dependency changes, and then confirm the exact version. This method applies to .deb packages managed by APT; Snap and Flatpak apps use different rollback methods.

Confirm how the app was installed

An application name and its APT package name may differ. If you know part of the package name, list matching Debian packages with dpkg-query:

dpkg-query -W -f='${binary:Package}\t${Version}\n' | grep -i KEYWORD

Replace KEYWORD with a distinctive part of the name. If the app appears in snap list or flatpak list --app instead, do not use the APT commands below.

Downgrade an APT package from the terminal

  1. Refresh the package index and inspect versions. Replace PACKAGE with the package name:

    sudo apt update
    apt-cache policy PACKAGE
    APT policy output for a package, showing installed, candidate, and repository-listed versions.
    Use the version table and source labels to confirm an older version is available from a configured repository.

    Read the Installed, Candidate, and Version table fields. Copy the complete older version string exactly, including any epoch, hyphen, or revision suffix. Check the source listed beside it; use a repository intended for your Ubuntu release. A version recorded only under /var/lib/dpkg/status is known as installed, but that does not mean APT can download it now. The apt-cache manual describes the version and policy information it displays.

  2. Preview the downgrade. Use the exact version from the policy output:

    sudo apt-get -s install PACKAGE=VERSION
    Ubuntu Terminal running a simulated APT downgrade and listing the package that would be downgraded.
    The simulation lets you review package changes before APT installs anything.

    The -s option simulates the transaction. Read the whole proposed change, including packages to be downgraded or removed. Cancel if APT proposes removing essential software, changing unrelated packages, or pulling dependencies from a different Ubuntu release. APT’s apt-get manual documents simulation and exact-version installs.

  3. Install the selected version. If the preview is acceptable, run:

    sudo apt install PACKAGE=VERSION
    Ubuntu Terminal confirmation prompt for installing an explicitly selected older package version.
    Proceed only when APT’s confirmation summary matches the simulation.

    Review APT’s final confirmation summary and approve it only if it matches the plan. Leave out -y so you can stop at the prompt if the package list has changed. Do not add --allow-downgrades as a routine fix; it changes how APT handles downgrade confirmation and is intended for special cases.

  4. Verify what was installed.

    dpkg-query -W -f='${binary:Package} ${Version}\n' PACKAGE
    Ubuntu Terminal checking a package’s installed version with dpkg-query.
    Verify the installed package version after the transaction finishes.

    Compare the result with the version you selected, then reopen the app and check whether the issue is resolved. Save important work first: downgrading program files does not necessarily roll back documents, databases, or settings that a newer release has already changed.

Use Synaptic instead

Synaptic is a graphical front end for APT and is available in Ubuntu’s package archive, though it may not be installed by default. Install it with sudo apt install synaptic, open it, and click Reload so it refreshes the package lists. Ubuntu’s Synaptic help page covers installation.

  1. Search for the package and select the installed package row.

    Synaptic Package Manager search results with one package selected and installed and latest version columns visible.
    Select the APT package you want to roll back; the available versions depend on your enabled repositories.
  2. Open Package and choose Force Version.

    Synaptic Package menu open with Force Version highlighted for the selected package.
    Open Package and choose Force Version for the selected package.
  3. Select the older version in the dialog and choose Force Version. Synaptic can only select versions available through the package sources APT currently knows about; the package names and version numbers shown vary by system.

    Synaptic Force version dialog listing two available versions with the older version selected.
    Choose an older version only if it is listed for your configured package sources.
  4. Click Apply, review the pending changes, and continue only if the summary shows the intended downgrade and no unexpected removals.

    Synaptic changes summary showing a package downgrade and an Apply button.
    Review the downgrade summary and any related package changes before applying them.

Keep the package from upgrading right away

If you need time to test the older release, you can temporarily hold the package:

sudo apt-mark hold PACKAGE
apt-mark showhold

A hold prevents normal automatic package actions for that package. It also means security and bug-fix updates will not be applied to it while the hold remains, so remove the hold when you are ready to update:

sudo apt-mark unhold PACKAGE

See the apt-mark manual for hold and unhold behavior.

If the older version is missing—or you want to undo the downgrade

APT gets downloadable versions from enabled package sources; its local download cache is separate and can be cleared. If your target version is absent from the version table, APT cannot fetch it from the sources currently configured. Avoid adding a repository for a different Ubuntu release just to obtain one old package, since its dependencies may not match your system.

To return an APT package to the current candidate, first remove any hold, refresh the package index, inspect apt-cache policy PACKAGE again, then run sudo apt install PACKAGE and review the proposed version before confirming. For a Snap app, the separate command sudo snap revert SNAP_NAME attempts to restore its previous revision; see the official Snap update and revert documentation. A Snap revert also affects revision-specific configuration data, so back up important app data first.

Leave a Comment

How to Share Files Over Bluetooth on Linux with Blueman

How to Share Files Over Bluetooth on Linux with Blueman

Send and receive files over Bluetooth on Linux with Blueman. Install OBEX support, pair devices, choose a file, accept transfers, and fix common issues.

How to Connect to Servers with GNOME Files

How to Connect to Servers with GNOME Files

Connect GNOME Files to SSH/SFTP, FTP, SMB, WebDAV, or NFS with the correct server URI, sign-in details, and fixes for common connection errors.

How to Connect to Servers in Linux With the KDE Dolphin File Manager

How to Connect to Servers in Linux With the KDE Dolphin File Manager

Open SFTP, SSH, SMB, FTP, NFS, and WebDAV locations in Dolphin, sign in safely, transfer files, and save network folders for later.

How to Use a PS4 Controller on Linux: USB, Bluetooth, and Steam

How to Use a PS4 Controller on Linux: USB, Bluetooth, and Steam

Connect a DualShock 4 to Linux by USB or Bluetooth, then check controller detection and configure Steam Input only when a game needs it.

How to Speed Up the Fedora Linux App Installer

How to Speed Up the Fedora Linux App Installer

Use DNF5 parallel downloads to reduce RPM install waits in GNOME Software, then tell when mirror or Flatpak delays need a different fix.

How to Use iCloud on Linux Through Your Web Browser

How to Use iCloud on Linux Through Your Web Browser

Access iCloud on Linux in a current browser. Learn how to sign in, use iCloud Drive and other web apps, and understand the limits of browser access.

How to Back Up the Linux Bootloader to a USB Drive

How to Back Up the Linux Bootloader to a USB Drive

Save GRUB settings, boot files, and UEFI entry details to removable storage, then use rescue media to repair the correct boot path safely.

How to Install and Set Up Bitwarden on Linux

How to Install and Set Up Bitwarden on Linux

Install Bitwarden on Linux with the right DEB, RPM, Snap, Flatpak, or AppImage package, then sign in and set a secure vault timeout.

How to Change the Screensaver on Xfce: Choose a Theme and Set the Idle Time

How to Change the Screensaver on Xfce: Choose a Theme and Set the Idle Time

Pick a screensaver theme in Xfce, preview it, choose when it starts, and configure automatic locking in the separate Lock Screen tab.

How to Disable the Screensaver in GNOME Shell

How to Disable the Screensaver in GNOME Shell

Stop GNOME Shell from blanking or locking your display automatically. Change Power and Screen Lock settings, or use Caffeine for a temporary keep-awake toggle.