简而言之,我希望能够设置包abc
以便:
apt-get remove abc
应该失败。apt-get purge abc
应该失败。apt-get upgrade abc
应该管用。
如果包依赖项发生变化,那么abc
应该在卸载期间将其卸载,dist-upgrade
我很高兴被迫再次执行某些操作dist-upgrade
。
答案1
实际上没有什么可以“固定”软件包来防止删除,但允许升级。
你可以在一个包中敲入一个钉子,不能被删除、清除、升级、舔,任何东西......
但这比大多数事情要复杂一点。
例如,我们希望固定 firefox:(当然,您可以使用包的正确全名)
echo firefox hold | dpkg --set-selections
这将使'火狐浏览器’不朽。 但,在此状态下也无法升级。
删除保持状态要容易一些,但这是一种扫荡手势:
dpkg --clear-selections
删除一切的保留状态!所以如果你想保留几个包裹,你最好保留一份清单以便稍后重新申请
它实际上非常令人愉快并且易于使用资质或者突触,因为他们有菜单选项来保留/取消保留包裹,为您处理幕后的所有簿记工作。我建议使用其中之一(或您可能遇到的无数其他包管理器中的任何一个)
使用 Aptitude,也可以使用命令行:
aptitude hold <package>
aptitude unhold <package>
但请记住,您需要'松开' 如果想要升级的话。尽管如果您使用 Aptitude 的 GUI 端,它应该会告诉您所持有的内容是否可以升级