371 package-management apt versions downgrade
如何通过 将软件包降级到旧版本apt-get?
其他工具也可以接受,但apt-get最好使用。
Mah*_*esh 351
如果您有版本号或目标版本,则 apt-get支持选择特定版本或目标版本。更多细节可以在apt-get 的手册页上找到。它也可以通过键入从终端访问man apt-get
sudo apt-get install <package-name>=<package-version-number> 或者
sudo apt-get -t=<target release> install <package-name>
是要运行的命令。这可用于将软件包降级到特定版本。
请注意,当使用目标版本(选项-t)时,版本优先级必须大于 1000 以允许降级(请参阅man 5 apt_preferences),否则将保留当前安装的版本。
在评论中已经有帮助地指出
apt-cache showpkg <package-name>列出所有可用版本。(h/t Sparhawk )apt-mark hold <package-name> “保留”当前版本的软件包,防止自动升级。(h/t Luís de Sousa )小智 154
用:
apt-get install «pkg»=«version»
Run Code Online (Sandbox Code Playgroud)
或者:
sudo aptitude install «pkg»=«version»
Run Code Online (Sandbox Code Playgroud)
在哪里:
«pkg» 是包的名称。«version» 是版本号。Apu*_*rba 31
如果您使用 ppa 升级了软件,您可以使用ppa-purge. 首先,您必须ppa-purge使用以下代码进行安装:
sudo apt-get install ppa-purge
然后你可以使用命令删除ppa
sudo ppa-purge ppa:user/ppa-name
这将自动将软件降级到 Ubuntu 附带的原始版本。
rɑː*_*dʒɑ 12
要降级,您必须执行类似的命令
sudo apt-get install pkg_name=version
Run Code Online (Sandbox Code Playgroud)
在您的终端中。
在放置version您要降级到的先前版本的地方。
小智 11
在我看来,您应该首先卸载或清除软件包,例如:
sudo apt-get remove <package>
Run Code Online (Sandbox Code Playgroud)
或者
sudo apt-get purge <package>
Run Code Online (Sandbox Code Playgroud)
然后,您可以下载要安装的版本并将其保存在一个文件夹中,例如abc.deb在“下载”中。打开终端,使用cd命令移动到文件夹并使用以下命令安装以前的版本dpkg:
sudo dpkg -i abc.deb
Run Code Online (Sandbox Code Playgroud)
或者,ppa-purge如果您要降级通过 PPA 更新的软件包,则会调用一个小实用程序。
请参阅此线程:http : //www.webupd8.org/2009/12/remove-ppa-repositories-via-command.html
小智 11
这个问题很老了,但谷歌引导我来到这里,我没有找到在将一堆软件包降级到旧版本时不需要手动版本传递的简单解决方案。
因此,也许也有需要的人会发现我的解决方案也很有用。
有一个名为apt-show-versions显示已安装版本的工具。要安装它:
$ sudo apt install apt-show-versions
Run Code Online (Sandbox Code Playgroud)
确保 APT 的缓存是最新的:
$ sudo apt-show-versions -i
Run Code Online (Sandbox Code Playgroud)
您可以通过微调正则表达式轻松降级所有必需的软件包,但这里是:
$ sudo apt install apt-show-versions
Run Code Online (Sandbox Code Playgroud)
您应该lsb-release安装后者。
| 归档时间: |
|
| 查看次数: |
637036 次 |
| 最近记录: |