apt-get 升级有例外

apt-get 升级有例外

我正在运行 Ubuntu 14.04,并且它的软件包已经过时,需要更新。

有几个软件包我不想升级,比如 tomcat、php 等。但我不确定如何运行全面的 apt-get upgrade 来升级除这些软件包之外的所有软件包。我能找到的大多数文档和建议只解释了如何更新特定软件包,而不是反过来。。?

谢谢

答案1

您需要的是“软件包锁定”——本质上,告诉 apt,“我想保留这个软件包的这个版本”。对于简单的单软件包锁定,请将其添加到/etc/apt/preferences(或在 中的新文件中/etc/apt/preferences.d):

Package: tomcat8
Pin: version 8.0.14-1
Pin-Priority: 1001

指定您想要的包名称和您想要将其固定到的版本,并确保Pin-Priority超过 1000。然后包基本上永远不会从其当前版本移动。

您可以做一些更棘手的事情,例如固定到某个版本(trusty而不是trusty-updates),使用 glob 模式选择大量软件包,并且只允许软件包更新(如果它们是安全更新)。请参阅apt_preferences(5) 了解所有详细信息。

答案2

拿着包裹

简而言之:sudo apt-mark hold <package>

或者

echo <package> hold | sudo dpkg --set-selections

取消保留包裹

简而言之:sudo apt-mark unhold <package>

或者

echo <package> install | sudo dpkg --set-selections

参考:排除以下软件包apt-get upgrade

相关内容