是否可以单独卸载以前使用元包安装的包?

是否可以单独卸载以前使用元包安装的包?

我不需要 Gnome 内置于 gnome-shell 中的帮助实用程序、文档查看器、联系人应用程序等。

是否可以删除只是那些软件包?每次我尝试时,它都要求我删除所有 gnome3。

我觉得这应该是可能的但我缺少了一些东西。

答案1

卸载元包拉取的包总是很难,甚至不可能。但是,既然您迫切希望删除这些内容,即使使用手动猜测,我也可以建议一个很好的替代方案。

安装、升级或删除的软件包都记录在/var/log/apt/history.log文件中。从相关部分复制软件包名称并手动卸载它们相对简单。

以下是文件中部分内容的示例

Start-Date: 2016-12-12  19:15:40
Commandline: aptdaemon role='role-commit-packages' sender=':1.293'
Install: libva-tpi1:amd64 (1.7.1-2~gd~x), intel-gpu-tools:amd64 (1.15-1intel1), libva-egl1:amd64 (1.7.1-2~gd~x), vainfo:amd64 (1.7.1-2~gd~x), libva-glx1:amd64 (1.7.1-2~gd~x)
Upgrade: libgles2-mesa:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libdrm-nouveau2:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-nouveau2:i386 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libegl1-mesa-dev:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgles1-mesa:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libglapi-mesa:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libglapi-mesa:i386 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), mesa-common-dev:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libxatracker2:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libegl1-mesa-drivers:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libegl1-mesa:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgbm1:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libdrm-amdgpu1:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-amdgpu1:i386 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libwayland-egl1-mesa:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgles2-mesa-dev:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libdrm2:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm2:i386 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libgl1-mesa-dev:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgl1-mesa-dri:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgl1-mesa-dri:i386 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libosmesa6:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libosmesa6:i386 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgl1-mesa-glx:amd64 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libgl1-mesa-glx:i386 (13.1~git1611130730.151aec~gd~x, 13.1~git1612120730.609216~gd~x), libdrm-intel1:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-intel1:i386 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-radeon1:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-radeon1:i386 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x), libdrm-dev:amd64 (2.4.73+git1611221830.1924b6~gd~x, 2.4.74+git1612060630.082579~gd~x)
End-Date: 2016-12-12  19:16:59

您可以从字段值中找到所需的包名称Install:。甚至可以使用一些文本解析来从中提取包名称。

希望这至少能有一点帮助。

更新

我编写了一个 Ruby 脚本来帮助查看使用命令安装的包,以便稍后删除它们。但应谨慎行事,因为您稍后安装的一些包可能也依赖于其中一些包。它还没有完成,我想扩展它。无论如何,请在此处查看https://github.com/AnwarShah/apt-remove-meta

  1. 下载 zip 文件或克隆 repo
  2. cd到目录和
  3. 运行ruby search-apt-log.rb。它会要求输入一个搜索词,输入它。然后它会给你所有涉及该词的 apt 事件的历史记录。然后你可以通过复制名称来查看安装了哪些软件包并将其删除。

答案2

我看到调用时这些包的安装大小/需要释放的空间apt-get有几MB,所以我咬紧牙关,让它apt-get运行,结果一切都正常了。

因此,如果其他人不确定是否要删除软件包,只需确保安装/卸载大小适合软件包,一切都会没问题。如果它显示为几百 MB,那么不要点击Y

答案3

前段时间,我编写了一个名为 apt-holepunch 的 sh 脚本来实现这一点(http://www.mail-archive.com/[电子邮件保护]/msg900702/apt-holepunch)。警告:这个脚本极其危险。

完整内容如下:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=625801

事实证明,确实有充分的理由不想安装元包中的所有包,而是保留元包以便将来添加的包也能安装。不知何故,开发团队没有理解这一点。

相关内容