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


17

如何设置Cygwin自动更新自身?

如何获得Cygwin来下载软件包而不必通过GUI程序?

cygwin 

1
Cygwin在Windows上运行;这可能属于SU
Michael Mrozek

3
嗯 Cygwin是Unix的版本。

2
我知道有很多人会听到“ Cygwin是Unix的一个版本”的消息,但我想我们会接受的
Michael Mrozek

Answers:


13

Cygwin:Unix :: Peaches:长号(在我的GRE上;)

鉴于Cygwin所做的巨大变化,如果没有我的明确同意,我会非常谨慎。如果您胆敢,可以调用cron来运行您可能选择的任何更新脚本。

如果您正在寻找不良记录setup.exe --quiet-mode的无人值守操作,那就可以了。


7

自动安装Cygwin

来源:此Wiki页面

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

对于其他选项,搜索的条款的邮件列表,如Cygwin的自动安装自动安装Cygwin的

我发现了一些要讨论的关键地方:

  1. Cygwin邮件列表:将一台PC上的cygwin-setup设置克隆到另一台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 无人值守安装模式

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.