如何在沒有 GUI 的情況下將 Cygwin 設置為自動更新和下載?
如何設置 Cygwin 以自動更新自身?
我怎樣才能讓 Cygwin 下載一個包而不必通過 GUI 的東西?
Cygwin : Unix :: Peaches : Trombone (那是我的 GRE ;)
考慮到Cygwin 的變化有多麼戲劇性,我會非常警惕在未經我明確同意的情況下完成它。如果你有膽量,你可以呼叫 cron來執行你可能選擇的任何更新腳本。
如果您正在尋找記錄不充分
setup.exe --quiet-mode
的無人值守操作,那就是。
自動化 Cygwin 安裝
來源:此 Wiki 頁面
Cygwin 安裝程序設計為互動式的,但有幾種不同的方法可以使其自動化。如果要部署到多個系統,最好的方法是執行一次完整安裝,保存整個下載的包樹。然後,在目標系統上,將 setup.exe 作為指向下載的包樹的“本地安裝”執行。
setup.exe -q -L -l x:\cygwin-local\
您可以使用下載的包樹所在的命令行選項以非互動方式執行此操作x:\cygwin-local\
(有關這些選項的說明,請參閱下一個常見問題解答。)對於其他選項,請使用諸如cygwin 自動設置或自動 cygwin 安裝之類的術語搜尋郵件列表。
我發現了一些討論這個問題的關鍵地方:
- Cygwin 郵件列表:將 cygwin-setup 設置從一台 PC 複製到另一台 PC
- Cygwin 郵件存檔:關於備份的問題
- Cygwin 郵件列表:自動 cygwin 安裝
- Cygwin 郵件列表:可以將整個 cygwin 文件夾複製到不同的機器上嗎?
- 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 安裝程序。應自動選擇列出的軟體包進行更新。可以使用我上面提到的技巧來自動化這個過程,在這裡。資料來源: