假设我安装了包 A,它依赖于包 B。然后我删除了包 A。
现在apt-get autoremove
想删除 B,但我想保留它。我该如何“固定”B,以便系统表现得好像我自己安装了 B 一样?
我来自 Gentoo,解决方案是将 B 添加到我的world
文件中。Debian/Ubuntu 的对应版本是什么?
答案1
您可以使用
sudo apt-mark manual some_package
标记
some_package
为手动安装,以便没有得到自动移除。您可以使用
sudo apt-mark auto some_package
标记
some-package
为自动安装,以便获取自动移除。
答案2
您还可以保留一个包,这样它在运行命令时就不会被自动删除sudo apt-get autoremove
。
sudo apt-mark hold <package-name>
要取消保留包裹,
sudo apt-mark unhold <package-name>
例子:
$ sudo apt-get -s autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
apache2-bin apache2-data libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap
0 upgraded, 0 newly installed, 6 to remove and 13 not upgraded.
Remv apache2-bin [2.4.7-1ubuntu4]
Remv apache2-data [2.4.7-1ubuntu4]
Remv libaprutil1-ldap [1.5.3-1]
Remv libaprutil1-dbd-sqlite3 [1.5.3-1]
Remv libaprutil1 [1.5.3-1]
Remv libapr1 [1.5.0-1]
$ sudo apt-mark hold apache2-bin
apache2-bin set on hold.
$ sudo apt-get -s autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
apache2-data
0 upgraded, 0 newly installed, 1 to remove and 13 not upgraded.
Remv apache2-data [2.4.7-1ubuntu4]