关于安装:我可以编写 Cygwin 安装脚本以包含某些软件包吗?

Can I script a Cygwin install to include certain packages?

我安装 cygwin 的频率足够高,这样可以很方便地自动化该过程。具体来说,我希望能够提前指定要安装的软件包,这样我就不必在安装时记住它们。有没有办法做到这一点?


是的,你可以。假设你还没有安装 Cygwin,bash 不可用,所以你必须使用 CMD 脚本。这是一个例子:

1
2
3
4
5
6
7
8
9
setup-x86.exe ^
--quiet-mode ^
--packages ^
aria2,^
atool,^
autoconf,^
...
xmlstarlet,^
zip

并将其他包添加到列表中。每行末尾的插入符号 (^) 字符是 CMD 脚本中的行继续符。包名称列表以逗号分隔,这是 --packages 选项所期望的,尽管没有记录。

您可以运行 setup-x86.exe --help,或查看 Cygwin 常见问题解答,以了解可用的安装命令行选项。

如果您将此脚本命名为 setup.bat 或 setup.cmd,并将其与 setup-x86.exe 放在同一目录中,则可以运行它以一键安装 Cygwin,其中包含所有你想要的包。

还要注意,您必须为全新安装指定 --site--root 选项,否则它将退出"安静模式"并提示用户。


apt-cyg 与我正在寻找的类似,尽管它需要预先存在的 cygwin 安装和一些非默认软件包。


我不知道您是否可以编写脚本,但我找到了有关制作自定义包目录和安装程序的"操作方法"。这样,您可以拥有所需的所有软件包并预先选择安装程序。
你可以在这里找到那篇文章。