如何设置 Cygwin 在没有 GUI 的情况下自动更新和下载?

如何设置 Cygwin 在没有 GUI 的情况下自动更新和下载?

如何设置 Cygwin 自动更新?

如何让 Cygwin 下载软件包而无需通过 GUI?

答案1

Cygwin : Unix :: Peaches : Trombone (这是我的 GRE 成绩单;)

鉴于如何Cygwin 的巨大变化可能,如果没有我的明确同意,我会非常谨慎地这样做。如果你有胆量,你可以调用计划任务运行您可能选择的任何更新脚本。

如果您正在寻找无据可查的setup.exe --quiet-mode无人值守操作,它就在那里。

答案2

自动化 Cygwin 安装

来源:这个维基页面

Cygwin 安装程序被设计为交互式,但有几种不同的方法可以使其自动化。如果要部署到多个系统,最好的方法是运行一次完整安装,保存整个下载的包树。然后,在目标系统上,运行 setup.exe 作为指向您下载的软件包树的“本地安装”。您可以setup.exe -q -L -l x:\cygwin-local\使用下载的软件包树所在的命令行选项以非交互方式执行此操作x:\cygwin-local\(有关这些选项的说明,请参阅下一个常见问题解答。)

对于其他选项,请使用以下术语搜索邮件列表:cygwin 自动设置或者自动化 cygwin 安装

我发现了一些讨论这个问题的关键地方:

  1. Cygwin 邮件列表:将 cygwin-setup 设置从一台 PC 克隆到另一台 PC
  2. Cygwin Mail Archive:备份问题
  3. Cygwin 邮件列表:自动化 cygwin 安装
  4. Cygwin 邮件列表: 可以将整个 cygwin 文件夹复制到不同的计算机吗?
  5. helix 的博客:从 cmdline 安装 cygwin-packages

cygcheck您可能也想考虑使用。

另外:我自己还没有测试过这个,但是现在有一个名为 的项目apt-cyg,看起来它的工作方式与 debian 的 apt-get 类似。这里是项目页面

将 Cygwin 包复制到新系统

这是我发现的一种简单方法,可以在安装时使用更新的软件包将安装复制到多个系统:

#Save some copies of the /etc/setup/installed.db file
cp /etc/setup/installed.db ~/installed.db.bak
cp /etc/setup/installed.db ~/installed.db
#Create a sed script to zero version numbers
cat > ~/zero-version-nums.sed<<-'EOM'
s/-[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0.0-0.tar/ 
s/-[0-9]\+\.[0-9]\+-[0-9]\.[0-9a-zA-Z]\+\.tar/-0.0-0.0.tar/ 
s/-[0-9]\+\.[0-9]\+\.[0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0.0-0.tar/ 
s/-[0-9]\+\.[_+0-9a-zA-Z]\+-[0-9]\+\.tar/-0.0-0.tar/ 
s/-[0-9a-zA-Z]\+-[0-9]\+\.tar/-0-0.tar/ 
s/-[0-9]\+\.tar/-0.tar/ 
EOM
# Change all version numbers to 0 (run sed script)
sed -i -f ~/zero-version-nums.sed ~/installed.db

现在只需将此文件复制到新计算机中C:\cygwin\etc\setup\installed.db,然后运行Setup.exe 安装程序即可。应自动选择列出的软件包进行更新。使用我上面提到的技巧可以自动化这个过程,并且这里

资料来源:

  1. Cygwin 邮件列表
  2. Snipplr 上的代码片段:Sed 脚本
  3. 博客文章:从 cmdline 安装 cygwin-packages
  4. Cygwin Mail Archive:备份问题

答案3

这是一个答案来自超级用户关于进行无人值守更新的信息:

cd C:\cygwin
wget -N http://cygwin.com/setup.exe
setup.exe --no-desktop --no-shortcuts --no-startmenu --quiet-mode

升级完成后应重新启动,以防止 cygwin 应用程序因升级的 cygwin1.dll 而出现异常行为

--no-desktop禁止创建桌面快捷方式

--no-shortcuts禁止创建桌面和开始菜单

--no-startmenu禁止创建开始菜单快捷方式

--quiet-mode无人值守设置模式

相关内容