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


9

我最近在系统中安装了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

如何将这些包装标记为重要和必需的?


为什么不只是将终端的内容复制到帖子中?
2014年

这些软件包从未明确安装。如果希望将它们标记为明确安装,则可以执行apt-get install the_package_you_want。我不清楚您为什么认为安装已损坏。
Faheem Mitha 2014年

这些软件包与Iceweasel一起随发行版一起提供。但是,一旦移开冰鼬,就发生了。我该怎么做才能停止此通知?
abhishekkannojia 2014年

Answers:


7

绝对没有任何问题。安装软件包时,通常还会有其他依赖的软件包。这些将被自动被安装apt-get。过去,如果要跟踪这些软件包,并且如果曾经删除了已安装的原始程序,则将不得不使用单独的程序。

现在apt实现一个Auto-Installed状态标志,以跟踪从未明确安装的这些软件包。卸载软件包时,可以添加--auto-remove选项以另外删除所有Auto-Installed设置了其标志且不再有依赖于该软件包的软件包的软件包(如果另一个软件包根据其值的建议或推荐,也可以保留该软件包)的APT::AutoRemove::RecommendsImportantAPT::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查看软件包的详细信息)。


好的,这意味着我必须将软件包标记为“手动安装”。手动标记软件包以后不会出现问题。会吗?
abhishekkannojia 2014年

是的,虽然我只做非图书馆的图书馆,但是您可能会发现其中一些图书馆却没有出现,因为其他图书馆依赖它们。
Graeme 2014年

@abhishekkannojia,它在某种程度上取决于系统。我使用Debian测试/不稳定版本,这是一个滚动版本。最好还是紧记这些事情,因为随着时间的流逝,程序包的依赖项会发生重大变化,并且会堆积很多垃圾。在Ubuntu等系统上,这并不是什么大问题,因为每个发行版大多仅获得安全性/错误修复程序更新,因此,如果要进行大量安装/卸载,则只会堆积垃圾。
Graeme

3

标记所有这些软件包,以便它们变得重要而不被删除,请执行以下操作:

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

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


0

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

如果默认情况下将它们安装在Kali上并由以前的Web浏览器使用,并且由于您已经删除了此浏览器而现在不再使用,则不会有问题。

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

另一种解决方案是手动安装它们。在apt-get中,它们将不再标记为“自动安装且不再需要”,但您将获得无用的软件包,这不是IMO的最佳解决方案。


我不一定要这么做,其中一些软件包可能会有用-例如gnome-backgrounds
Graeme 2014年

不,浏览器未使用它们,它们是Kali中预装的其他软件包。他们中的大多数都像有用gnome-backgroundsgnome-font-viewergnome-dictionaryempathy
abhishekkannojia

以我为例,我有网络管理员和lightdm。因为我一直使用它们,所以我不会轻易将它们称为一次性使用。大声笑
rbaleksandar 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.