---
author: Abhishek Prakash
category: 技术
comments_data: []
count:
  commentnum: 0
  favtimes: 0
  likes: 0
  sharetimes: 0
  viewnum: 4353
date: '2023-02-27 11:58:22'
editorchoice: false
excerpt: 最近升级的软件引起问题了？
fromurl: https://itsfoss.com/downgrade-apt-package/
id: 15580
islctt: true
largepic: /images/p/202302/27/115623ifb79v4pi4v0z991.jpg
permalink: /article-15580-1.html
pic: /images/p/202302/27/115623ifb79v4pi4v0z991.jpg.thumb.jpg
related: []
reviewer: wxy
selector: lkxed
summary: 最近升级的软件引起问题了？
tags:
- apt
thumb: false
title: 通过 apt-get 降级一个软件包
titlepic: true
translator: geekpi
updated: '2023-02-27 11:58:22'
---

![](/images/p/202302/27/115623ifb79v4pi4v0z991.jpg)


最近升级的软件引起问题了？虽然你总是可以调查问题以解决它，但有时，回到以前的工作版本可以节省时间和精力。如果新的版本引入了一个 bug，你可以在你这一边什么都不做，对吗？


好消息是，你可以在 Ubuntu 和 Debian 中轻松地降级 apt 软件包。


你所要做的就是像这样使用 `apt` 命令：



```
sudo apt install package_name=package-version-number

```

这似乎很容易，但你如何获得确切的版本号？还有哪些旧版本被支持？你可以通过以下方式获得这个细节：



```
sudo apt-cache policy package_name

```

让我用一个现实生活中的例子来解释这些。


### 降级 apt 包


最近，我正在更新承载 It's FOSS 社区论坛的 Ubuntu 服务器。


我做了通常的 `apt update && apt upgrade`，在更新安装时，事情变得糟糕。


很明显，最新版本的 Docker 不支持 aufs 存储驱动。为了减少停机时间，我选择了降级到以前的 Docker 版本。


检查当前安装的软件包版本：


![Installed Docker version](/images/p/202302/27/115747jgl19x9lgjm9rag9.png)


然后检查可以安装的可用版本：



```
sudo apt-cache policy package_name

```

它可能会抛出一个巨大的列表，或者只是一个小列表：


![All installable versions of an apt package](/images/p/202302/27/115758lh8xqifhv3bna8wk.png)


如果它显示至少有一个比当前版本更早的版本，你就很幸运了。


现在，你可能认为一个软件包的版本号将只由数字组成。但情况可能并不总是这样。


基本上，你复制 500（优先级数字）之前的全部内容。



```
brave-browser:
  Installed: 1.48.158
  Candidate: 1.48.164
  Version table:
     1.48.164 500
        500 https://brave-browser-apt-release.s3.brave.com stable/main amd64 Packages
 *** 1.48.158 500
        500 https://brave-browser-apt-release.s3.brave.com stable/main amd64 Packages
        100 /var/lib/dpkg/status
     1.47.186 500
        500 https://brave-browser-apt-release.s3.brave.com stable/main amd64 Packages
     1.47.171 500
        500 https://brave-browser-apt-release.s3.brave.com stable/main amd64 Packages
     1.46.153 500

```

当你得到了软件包的编号，用它来降级已安装的软件包，像这样：



```
sudo apt install package_name=package-version-number

```

![Downgrading an installed package via apt-get command](/images/p/202302/27/115808f5d0k55ry9dlr0b5.png)


当然，你会看到一个关于降级软件包的警告。


![Downgrading apt package](/images/p/202302/27/115817t8qm6hf2nqs9u5uu.png)


但是当这个过程完成，你的软件包就会被降级到给定的旧版本。


### 所以，也许要保留它？


所以，你刚刚学会了降级 apt 软件包。但如果你不注意的话，该软件包会在下一次系统更新时再次升级。


不希望这样吗？你可以 [阻止一个软件包被更新](https://itsfoss.com/prevent-package-update-ubuntu/)。像这样使用 `apt-mark` 命令：



```
sudo apt-mark hold package_name

```

我希望这个快速技巧能帮助你在需要时降级 apt 软件包。如果你有问题或建议，请告诉我。




---


via: <https://itsfoss.com/downgrade-apt-package/>


作者：[Abhishek Prakash](https://itsfoss.com/author/abhishek/) 选题：[lkxed](https://github.com/lkxed/) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出