一种类似 Arch-linux 的删除包和依赖项的方法?

一种类似 Arch-linux 的删除包和依赖项的方法?

去年我开始尝试使用 Linux,努力学习技术基础,同时也表明我强烈支持开源软件的整个理念。无论如何,我花最多时间研究的两个发行版是 Arch Linux 和 Ubuntu。我知道它们非常不同,但我今天的问题与包管理系统有关。

在 Arch Linux 中,如果您想要删除某个软件包及其所有依赖项,您可以运行命令pacman -Rs [packagename]。要查看作为依赖项安装且不再被其他程序需要的软件包,您可以运行pacman -Qdt

现在在 Ubuntu 或任何其他基于 APT 的软件包系统中,您都可以使用类似的命令删除软件包,apt-get remove [packagename]然后apt-get autoremove删除不再需要的依赖项。

我似乎遇到的问题是,在 Arch Linux 中运行类似的命令pacman -Rs gnome将删除 gnome 和随之安装的所有依赖项,并pacman -Qdt允许我确保没有剩余任何内容,但在 Ubuntu 中apt-get remove gnome只会删除元包,然后运行不会apt-get autoremove返回任何内容。

pacman -Rs我想知道如何在基于 APT 的包系统上实现类型删除。

答案1

你之所以没有删除你期望的内容,是因为gnome元包不是唯一依赖于所有 gnome 桌面的元包(如果你使用 Ubuntu GNOME Remix),而是依赖于ubuntu-desktop它的变体ubuntu-gnome-desktop。你正在查看的是aptitude高级包管理器提供的内容。apt-get很简单,它需要手动完成大多数工作。你不能指望它能完成 pacman 的所有功能,特别是在 Ubuntu 中,那里有专门为安装风格而创建的元包。

你需要的是:

aptitude search ~i~sgnome

这将查找从 gnome 部分安装的软件包。你可能需要依赖某些已安装软件包的软件包:

aptitude search '~R(?and(?name(gnome), ~i))'

相关内容