apt-get 将重要的软件包显示为“不再需要”

apt-get 将重要的软件包显示为“不再需要”

我最近在我的系统中安装了 Kali Linux。它预装了 Iceweasel。然而,我想安装 firefox 而不是 Iceweasel,所以我遵循本指南并成功安装firefox。

现在,每当我调用它时,apt-get它都会显示许多预安装的软件包:“自动安装且不再需要”:

abhishek@ab-linux:~$ sudo apt-get install
[sudo] password for abhishek: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  empathy empathy-common fonts-cantarell gcalctool gnome-backgrounds
  gnome-dictionary gnome-font-viewer gnome-icon-theme-extras gucharmap
  libavahi-gobject0 libcaribou-gtk-module libcaribou-gtk3-module
  libchamplain-0.12-0 libchamplain-gtk-0.12-0 libgdict-1.0-6 libgdict-common
  libgeocode-glib0 libtelepathy-farstream2 nautilus-sendto-empathy
  sound-theme-freedesktop telepathy-gabble telepathy-logger telepathy-salut
  vino
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded.
abhishek@ab-linux:~$ 

Linux版本

abhishek@ab-linux:~$ uname -a
Linux ab-linux 3.7-trunk-amd64 #1 SMP Debian 3.7.2-0+kali8 x86_64 GNU/Linux

如何将这些包标记为重要且必需?

答案1

绝对没有任何东西被破坏。当安装一个软件包时,通常还依赖于其他软件包。这些将是自动地安装者apt-get:过去,如果您想跟踪这些软件包并删除它们(如果您删除了安装的原始程序),您将被迫使用单独的程序。

现在apt实现一个Auto-Installed状态标志来跟踪这些从未明确安装的包。当您卸载软件包时,您可以添加选项--auto-remove来另外删除任何设置了Auto-Installed标志的软件包,并且不再有任何依赖于该软件包的软件包(如果另一个人建议或推荐它,则也可以保留该软件包,具体取决于APT::AutoRemove::RecommendsImportant和配置选项APT::AutoRemove::SuggestsImportant)。

我会查看软件包列表并决定它们是否值得保留,有时您可能想要保留的软件包会默认标记Auto-Installed。您可以通过执行以下操作来获取有关各种包的功能的信息apt-cache show package_name。如果您决定保留一些包,则可以使用apt-mark manual后跟要保留的包的名称。

请注意,通常您希望将库包(大多数以 开头的包lib)标记为,Auto-Installed因为没有什么理由单独安装这些包 - 其他程序通常需要其他库来运行,但它们本身几乎没有什么用处。即使您针对库编译软件需要依赖-dev于库本身的开发包(以 结尾),因此无需显式安装库。

aptitude您还可以使用,aptitude unmarkauto从命令行执行操作或在curses 界面中进行更改。在界面的软件包列表中,所有自动安装的软件包A旁边都有 。您可以通过使用m将自动安装的软件包标记为手动并M再次标记为手动(也l可以打开搜索对话框并Enter查看软件包详细信息)来更改此状态。

答案2

要标记所有这些包,使其重要且不被删除,请执行以下操作:

apt-mark showauto | xargs sudo apt-get -y install

基本上,通过告诉apt安装程序,您就是在告诉它您希望它永久保留在系统上。

答案3

为什么不使用 apt-get 建议的命令删除它们,即apt-get autoremove

如果它们默认安装在 Kali 上并由以前的 Web 浏览器使用,并且现在您删除了该浏览器后不再使用它们,那么这不会有问题。

另外,如果有一天再次需要其中一个软件包,请通过显式安装它apt-get,它不会显示为“自动安装且不再需要”。

另一种解决方案可能是手动安装它们。它们将不再在 apt-get 中被标记为“自动安装且不再需要”,但是您将拥有无用的软件包,这在我看来不是最好的解决方案。

相关内容