如何列出安装特定包时需要安装的包?

如何列出安装特定包时需要安装的包?

请原谅我提出这个问题,但我已经之前遇到了严重的问题,因为我想尝试 Ubuntu 中默认桌面环境之外的其他桌面环境,正是因为我不知道如何完全删除其中的一些/全部并恢复到默认设置。

我认为我遇到这些问题是因为我不知道要删除哪些包,因为我不知道首先安装了哪些包。命令如下

sudo apt-get purge <package name>

我的系统上仍然保留着一些最初由原始软件包安装的应用程序。

我有几个问题

  1. 如何通过安装特定包列出要安装的所有包,并查看其中哪些包已安装在我的计算机上(如果有)?

  2. 我想,只要清除由该特定软件包安装的新软件包,就可以恢复默认设置。对吗?有没有一种简单、快速且有效的方法可以恢复默认设置(除了备份我的数据)?

答案1

显示依赖关系的基本命令是

apt-cache depends <package> 

它将显示依赖关系(甚至还有一个rdepends选项可以显示反向依赖关系)。

您可以将其添加到@ByteCommander 的建议中,以使用模拟安装来查看将在您的系统中安装哪些软件包:

apt-get install -s ubuntu-desktop

(无需sudo在模拟模式下使用!)

但要真正回答这个问题,不,有时不可能去完全地返回。一个典型的例子是ubuntu-gnome-desktop(Gnome shell)和ubuntu-desktop(Unity)。它们的依赖关系部分重叠 --- 例如:

[romano:~] % apt-cache depends ubuntu-desktop | grep seah
  Depends: seahorse
[romano:~] % apt-cache depends ubuntu-gnome-desktop | grep seah
  Depends: seahorse

...以及重叠的包可能有不同的配置默认值

您可以通过清除所有软件包并重新安装它们来近似地达到您想要的效果 --- 但这可能非常危险,因为中间步骤可能导致系统无法正常运行。

即使在软件包之外,有时 DE 也会在你的主目录中进行更改,purge影响其他 DE(即使使用和也无法恢复您主目录中的文件reinstall)。因此,如果您想检查另一个 DE,请使用新用户进行操作。

我的个人经验是,各种桌面环境的“隔离”根本不完美;Unity 和 Gnome shell 是最糟糕的(可能是因为它们有很多共同之处),其他的可能会更好 --- 我不知道。

相关内容