裸 cygwin 包列表位于哪里以及如何操作它?

裸 cygwin 包列表位于哪里以及如何操作它?

裸 cygwin 软件包列表位于何处?我该如何以编程方式、从 shell 或使用不同于 gui 的方法对其进行操作?我知道 gui (setup.exe),并且我很想更深入地了解一个或多个级别。

我可以检索选定/已安装软件包的列表(Cygwin 包管理),但是我如何将其写回或写到另一台机器上?

我的想法是,当我安装新窗口时,我想从文本形式的软件包列表开始,然后以某种方式将其应用或注入到新系统中。

它在哪里?在注册表中?在二进制文件中?在本地数据库中?

或者有人做过这个吗,有工具吗,教程吗?我想要的本质是操纵已选择使用 GUI 以外的其他工具来查看软件包列表。我可以使用 GUI 进行安装过程。因此,我可以想象操作软件包列表,然后运行 ​​setup.exe 并单击它。

注意:我不想操作已安装软件包的列表,而是操作“应该安装”的软件包的列表。但如果这不可能,也许有一些解决方法。例如,将过时的版本添加为已安装,然后安装程序将安装新版本。

答案1

我在 jessies 上找到了一个好方法:http://software.jessies.org/salma-hayek/cygwin-setup.html

在初始安装时不要选择任何包。

从 Cygwin 1.7 开始,可以使用 -P 开关安装额外的软件包。从 cmd 窗口:

setup.exe -q -P openssh,python,ruby,vim

这是一个仅安装这些包的示例。

答案2

这也不完全是您在问题中要求的,但它是它的前半部分:当前安装的软件包列表存储为/etc/setup/installed.db,并且每个软件包的文件列表列在/etc/setup/*.gz文件中。

相关内容