cem*_*ate 5 package-management uninstall apt dependencies
我有一个简单的问题。
当您使用安装包时apt-get install,通常会安装几个依赖包以及主包。我想知道是否有办法完全扭转这个安装。通常,删除主包会留下几个包。例如,我最近安装了kubuntu-desktop. 想要完全删除它,我必须按照此页面上的说明进行操作:
http://www.psychocats.net/ubuntu/puregnome
我想确切地知道他们如何获得有关所有要卸载的软件包的信息。
谢谢你的帮助!
在大多数情况下,autoremove命令apt-get可以解决问题,它将删除所有已安装的软件包并标记为自动安装,但任何其他已安装的软件包不需要。当主包不是元包时,这是首选且安全的方法。
对于诸如 之类的元包来说,情况并非如此kubuntu-desktop,这是因为作为安装元包的结果而安装的包没有标记为自动安装,因此无法通过 删除autoremove。
删除所有标记为给定元包的依赖项或由给定元包推荐的包(例如kubuntu-desktop)可能很危险,因为其中一些包可能在安装元包之前就已存在于您的系统上。
在我看来,最安全的方法是分析/var/log/dpkg.log及其祖先,以查看在给定违规包的安装时间戳周围的时间戳中安装了哪些包。我建议使用一个命令来获得所涉及日志文件串联的更简洁、更清晰的视图:
less $(ls -rt /var/log/dpkg.log*) |
awk '$3 ~ /^(install|upgrade|remove|purge)$/' |
less
Run Code Online (Sandbox Code Playgroud)
尝试debfoster。首先使用安装它sudo apt-get install debfoster,然后运行sudo debfoster kubuntu-desktop。它将删除作为kubuntu-desktop.
我认为找出 kubuntu-desktop (或任何其他包)之类的包附带的最简单方法是查看http://packages.ubuntu.com/。这为您提供了通过官方存储库提供的每个软件包所需、推荐和建议的所有内容的详细列表。
对于 10.10,kubuntu-desktop 软件包位于此处: http: //packages.ubuntu.com/maverick/kubuntu-desktop
如果某些内容被标记为“取决于”,则需要该包才能正常运行。如果它被标记为“推荐”,则默认安装,但不是必需的(apt-get install --no-intstall-recommends 将阻止安装它们),并且建议纯粹是可选的,默认情况下不安装。
您还可以检查突触包管理器(默认安装 - 我相信在管理菜单中)。右键单击任何包并选择“属性”,选择“依赖项”选项卡并确保下拉列表位于“依赖项”上。这显示的信息与在packages.ubuntu.com 中找到的信息相同。
据我所知,这两种方法都列出了当前包的直接依赖项,但没有列出依赖项的依赖项。我并不是100%同意这一点,但这并不会让我感到惊讶。
如果您通过 apt-get 安装软件包并且它正在拉取依赖项和推荐的软件包,那么在您按“y”键之前,您始终可以复制将要安装的软件包列表。然后你可以将该列表插入到 apt-get remove 中,它应该会删除所有这些。只需确保您安装的其他内容(您想要保留的内容)也没有依赖于要删除的任何内容。
另一个有用的工具是 apt-get autoremove。这将删除您未手动安装的任何内容(它作为依赖项或建议包引入),这些内容是不再安装的依赖项。根据我的经验,这并不总是适用于像 kubuntu-desktop 这样的元包。
| 归档时间: |
|
| 查看次数: |
2345 次 |
| 最近记录: |