“固定”一个自动安装的软件包,以便 apt-get autoremove 保留它

“固定”一个自动安装的软件包,以便 apt-get autoremove 保留它

假设我安装了包 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]

相关内容