如何确定哪些软件包是元软件包的一部分?

我对获取软件包列表并确定哪些软件包属于元软件包很感兴趣。这样,如果我重新安装一个新系统,我可以只安装我需要的顶级软件包。
有人写过这样的脚本吗?

你能再加一点细节,以便问题百分之百清楚吗?我现在不太确定你的意思。 - You'reAGitForNotUsingGit
你到底哪一部分没有明白? - blake private_last_name
嗯,“...限制我的安装只限于顶级软件包”这个说法有点含糊。一般来说,Ubuntu并不是避免元软件包的最佳发行版。你可以尝试一下Linux from scratch这样的发行版。 - mikewhatever
哦,抱歉,我没有说明我使用的是Ubuntu,并且对其他发行版都不感兴趣。那么,也许你可以真正回答我提出的问题,对吗?有意思的是,我并不想避免元软件包,相反,我想要知道哪些Ubuntu软件包属于任何Ubuntu元软件包的一部分,请问这样是否清楚了我的问题? - blake private_last_name
3个回答

你需要的是这个元包的依赖项。请记住,当您使用软件中心或使用命令sudo apt-get intstall PACKAGE_NAME安装一个包或元包时,推荐项也会被安装。如果您只想安装依赖项,请使用sudo apt-get install --no-install-recommends PACKAGE_NAME
让我们以lxde元包为例。
你可以使用以下命令: ``` apt-cache depends lxde ```
或者你可以在Synaptic软件包管理器中搜索“lxde”,然后右键点击它,选择“属性”,查看“依赖项”选项卡。
最后,我认为最好的方法是在这里搜索你想要的元包:http://packages.ubuntu.com/。以我们的例子来说,lxde元包在这里:http://packages.ubuntu.com/xenial/lxde。在这里,你可以看到依赖项和推荐项(甚至是默认未安装的建议项),如果你点击一个软件包,你可以看到它的依赖项。如果你在页面底部点击“文件列表”链接,你会发现元包本身不包含任何重要的文件(只有一个changelog.gz和一个copyright文件),不像一个实际的软件包。

首先,让我们消除关于元包的困惑。
一个“元包”只是一个空包,它会拉取其他包,但当被移除时,并不会导致那些被拉取的包也被移除。这些包的存在的整个目的就是帮助获取一组选定的包。它极大地帮助安装一个完整的桌面环境,提供了一套完整的桌面应用程序。
在这里查看问题 什么是元包和普通包之间的区别? 你可以在Synaptic中轻松找到它们 -> 左侧面板 -> 点击“Sections”并选择“Metapackages”。
至于其他类型的包,每个需要另一个包的包都是一个“顶级包”。因此,根据定义,有成千上万个这样的包。只有最基本的包不是“顶级”包。
希望对你有所帮助。

据我所知,目前还没有能够完成这个任务的脚本。然而,关于所有 Ubuntu 软件包的信息可以在这里找到 here
该网站提供了有关 Ubuntu 软件包存档中所有可用软件包的信息。您可以搜索您感兴趣的特定标题,并了解包含它们的软件包。