我最近跑
apt install build-essential libncurses5-dev libpcap-dev libgtkmm-3.0-dev autoconf autopoint intltool libxml2-utils
作为应用程序依赖项,因为它在网站中被提及。但是在我完成应用程序后,我跑了
sudo apt purge build-essential libncurses5-dev libpcap-dev libgtkmm-3.0-dev autoconf autopoint intltool libxml2-utils
但在那之后apt
给出了一个大的自动删除列表
The following packages were automatically installed and are no longer required:
fonts-dejavu icoutils kate-data katepart kde-runtime-data kde-style-breeze
kde-style-breeze-qt4 kdelibs-bin krita-data libatk-bridge2.0-dev
libatk1.0-dev libatkmm-1.6-dev libatspi2.0-dev libdbus-1-dev libepoxy-dev
libgdk-pixbuf2.0-dev libgmp-dev libgmpxx4ldbl libgtk-3-dev
libkatepartinterfaces4 libkdcraw-data libkdcraw23 libkde3support4
libkdeclarative5 libkdesu5 libkemoticons4 libkf5style5 libkjsembed4
libkmediaplayer4 libknotifyconfig4 libkntlm4 libkpty4 libkxmlrpcclient4
libllvm4.0 libnl-route-3-200 libntrack-qt4-1 libntrack0 libopencolorio1v5
libpolkit-qt-1-1 libpoppler-qt4-4 libqt4-designer libqt4-qt3support
libtinfo-dev libtinyxml2.6.2v5 libxcomposite-dev libxcursor-dev libxi-dev
libxinerama-dev libxrandr-dev libxtst-dev libyaml-cpp0.3v5
linux-headers-4.10.0-40 linux-headers-4.10.0-40-generic
linux-headers-4.4.0-104 linux-headers-4.4.0-104-generic
linux-image-4.10.0-40-generic linux-image-4.4.0-104-generic
linux-image-extra-4.10.0-40-generic linux-image-extra-4.4.0-104-generic
linux-signed-image-4.10.0-40-generic nettle-dev ntrack-module-libnl-0
oxygen-icon-theme oxygen5-icon-theme plasma-scriptengine-javascript
x11proto-composite-dev x11proto-randr-dev x11proto-record-dev
x11proto-xinerama-dev xsltproc
但我知道这些包很重要。我再次安装了以前删除的软件包。但仍然显示要删除的大量软件包列表。如何解决这个问题?
您正在清除
build-essential
其他依赖项的其他一些基本包。因此,如果您将它们标记为清除使用
apt
它会自动删除/清除所有依赖它们的包!我建议不要在一个命令中清除多个包(除非您知道自己在做什么),而是一个一个地清除。因此,您可以更好地控制要清除的其他内容。
我猜,当您运行第一个命令来安装它时,很可能对于某些软件包来说,它们之前已经安装过。
当然,您不想清除之前安装的那些,因为这可能会导致其他依赖于它们的软件包也被清除(如您的情况)。
对于评论中已经提到的
linux-headers
和linux-image
包,它通常会被保存,因为它会apt
识别您安装了较新的包。当一个包安装依赖时,有时建议也安装。删除软件包并不总是删除随它安装的所有软件包。例如,我可以从您曾经
krita
安装过的列表中看到。它是一个 KDE 包。但是当它被删除时,一些 KDE 软件被留下了。任何以“libk”开头的都是 KDE 桌面包,gnome 不需要。任何以“-dev”结尾的东西都是一个开发包,除非你正在开发软件,否则大多数都是不需要的。普通包就够了。
我通常保留当前内核和以前的内核。其他的都可以删除。
由于所有列出的软件包都属于此类别,并且很容易将它们列为其他软件包未使用的,因此删除它们是安全的。
我最近在删除一些软件包后遇到了相同类型的问题。如果系统当前运行良好并且在重新启动机器后,没有什么好担心的。
apt autoremove
删除当前没有依赖关系的包。我是一个没有经验的 Linux 用户,但我刚刚遇到了这种情况,我认为这不安全 [对于没有经验的用户]。
我最近在安装 R 和 RStudio 后运行了“sudo apt autoremove”——我注意到一长串我经常使用的程序(如 QGIS),apt 说“不再需要”——而且……我的 QGIS 安装是走了,因为我关闭了终端,我不知道还有哪些其他包被删除了。
我的建议 [针对没有经验的用户] 是有选择地删除真正旧的 linux 内核、头文件和图像(留下一些最近的,以防您必须恢复) - 请参阅 https://askubuntu.com/ 上的 user353733 的解释和 cl-Netbox 的建议a/1076329/992284,但不要让 apt 决定什么是“不再需要”,特别是如果你看到一堆你经常使用的东西并且不想花剩下的晚上来弄清楚你的软件发生了什么以及为什么您不能重新安装软件或其依赖项。
Synaptic 包管理器的图像,显然无法重新安装使用 apt autoremove 删除的软件