如何设置Cygwin自动更新自身?
如何获得Cygwin来下载软件包而不必通过GUI程序?
如何设置Cygwin自动更新自身?
如何获得Cygwin来下载软件包而不必通过GUI程序?
Answers:
来源:此Wiki页面
Cygwin安装程序设计为交互式的,但是有几种不同的方法可以使其自动化。如果要部署到多个系统,最好的方法是一次完成完整安装,并保存整个下载的软件包树。然后,在目标系统上,以指向您下载的软件包树的“本地安装”身份运行setup.exe。您可以使用
setup.exe -q -L -l x:\cygwin-local\
下载的软件包树所在的命令行选项非交互地执行此操作x:\cygwin-local\
(有关这些选项的说明,请参阅下一个FAQ。)对于其他选项,搜索的条款的邮件列表,如Cygwin的自动安装或自动安装Cygwin的。
我发现了一些要讨论的关键地方:
您可能还想研究使用cygcheck
方法。
另外:我自己还没有测试过,但是现在有一个名为的项目apt-cyg
,看起来它的工作方式与debian的apt-get相似。这是项目页面
我发现这是一种简单的方法,可以在安装时将安装复制到具有更新软件包的多个系统中:
#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安装程序。应自动选择列出的软件包进行更新。可以使用我上面和此处提到的技巧来自动化此过程。
资料来源:
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
无人值守安装模式