如何通过
其他工具也可以接受,但首选
apt-get
将软件包降级到旧版本?其他工具也可以接受,但首选
apt-get
。apt-get
将软件包降级到旧版本?apt-get
。apt-cache showpkg <package-name>
列出所有可用的版本。(感谢Sparhawk)apt-mark hold <package-name>
将软件包保持在当前版本,防止自动升级。(感谢Luís de Sousa)使用:
apt-get install «pkg»=«version»
或者:
sudo aptitude install «pkg»=«version»
在哪里:
«pkg»
是软件包的名称。«version»
是版本号。apt-get install pkg=version
时,apt-get会建议删除几乎一半已安装的软件包,这显然不是我想要做的。 - Dfraptitude
比apt-get
表现更好的关键情况之一。在我的情况下,apt-get
坚决拒绝了降级请求,而aptitude
指出还有其他依赖于较新版本的软件包(因此需要同时降级)。 - sxc731apt list -a <pkg>
以查看可用的版本。 - Nero Vanbiervlietsudo apt-get remove <package>
或者
sudo apt-get purge <package>
sudo dpkg -i abc.deb
sudo apt-get install pkg_name=version
version
的位置上,填入你想要降级到的先前版本。apt-show-versions
的工具可以显示已安装的版本。要安装它:$ sudo apt install apt-show-versions
$ sudo apt-show-versions -i
$ sudo apt-get install $(apt-show-versions \
| grep -P 'newer than version in archive' \
| awk -F: '{print $1"/'$(lsb_release -cs)'"}')
lsb-release
以供后续使用。sudo apt-get install -V $(apt-show-versions | grep -F 'newer than version in archive' | awk -F: '{print $1"/'$(lsb_release -cs)'"}')
。我更喜欢在这里使用-F
来进行grep
。 - jarnosudo apt-get install -V $(apt-show-versions | grep -F 'newer than version in archive' | awk -F' ' '{print $1"/'$(lsb_release -cs)'"}')
(只需将 awk 的分隔符从冒号改为空格)。 - Reuben Thomas
aptitude
比apt-get
更好地降级了依赖关系。 - krispyapt-cache policy <package-name>
显示已安装和可用版本。 - Michael Lawtonshowpkg
没有显示您感兴趣的版本呢? - demongolembash
降级到4.4.18-2ubuntu1
版本;但是aptitude
和apt-get
都拒绝这样做,因为它们认为没有这个版本。你找到了解决办法吗? - Naghi