【问题标题】:Can I script a Cygwin install to include certain packages?我可以编写 Cygwin 安装脚本以包含某些软件包吗?
【发布时间】:2018-08-15 22:35:38
【问题描述】:

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

【问题讨论】:

    标签: installation cygwin


    【解决方案1】:

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

    setup-x86.exe ^
    --quiet-mode ^
    --packages ^
    aria2,^
    atool,^
    autoconf,^
    ...
    xmlstarlet,^
    zip
    

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

    您可以运行setup-x86.exe --help,或查看Cygwin FAQ,以了解可用于设置的命令行选项。

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

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

    【讨论】:

    • 工作就像一个梦想会添加,这个oneliner,它保存了cygwin安装恢复/复制脚本:{ echo -e "setup.exe ^\n--quiet-mode ^\n--packages ^" ; cygcheck -c | awk '{ 打印 $1",^"; }' ; } | u2d >cygwin_restore.bat;
    • 如何选择镜像?还有它在哪里安装cygwin?
    • 这不再起作用(2015-05-23 版本 2.870)。干净的Windows安装,下载了.exe,提供了上面的命令行。短暂的闪存,没有下载,没有安装。
    • @Anthon:它适用于我的安装版本。在新安装中,您可能应该第一次删除--quiet-mode,以便选择镜像。如果您要安装到个人文件空间中,添加--no-admin 也将避免 UAC 提示。
    • 我认为--packages的参数可能需要逗号分隔而不是空格分隔,例如--packages foo,bar,baz,quz 不是 --packages foo, bar, baz, qux--packages foo bar baz qux
    【解决方案2】:

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

    【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 不完全是我想要的,但这会起作用。我可以将它与 apt-cyg 结合使用。
    • 由于链接已损坏,此答案不是很有用
    猜你喜欢
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多