Bagaimana saya mengatur Cygwin untuk secara otomatis memperbarui dan mengunduh tanpa GUI?

17

Bagaimana saya mengatur Cygwin untuk secara otomatis memperbarui sendiri?

Bagaimana saya bisa membuat Cygwin mengunduh paket tanpa harus melalui GUI?


sumber
1
Cygwin berjalan di Windows; ini mungkin milik SU
Michael Mrozek
3
Urgh. Cygwin adalah versi Unix.
2
Saya tahu banyak orang yang akan menangis mendengar "Cygwin adalah versi Unix", tapi saya kira kita akan menggunakannya
Michael Mrozek

Jawaban:

13

Cygwin: Unix :: Peaches: Trombone (yang ada di GRE saya;)

Mengingat betapa dramatisnya perubahan Cygwin , saya akan benar-benar waspada melakukannya tanpa persetujuan eksplisit saya. Jika Anda berani, Anda bisa meminta cron untuk menjalankan skrip pembaruan apa pun yang Anda pilih.

Jika Anda mencari yang tidak terdokumentasi setup.exe --quiet-modeuntuk operasi yang tidak dijaga, itu dia.

msw
sumber
7

Mengotomasi Instalasi Cygwin

Sumber: Halaman Wiki Ini

Program Cygwin Setup dirancang untuk menjadi interaktif, tetapi ada beberapa cara berbeda untuk mengotomatiskannya. Jika Anda menggunakan beberapa sistem, cara terbaik adalah menjalankan melalui instalasi penuh satu kali, menyimpan seluruh pohon paket yang diunduh. Kemudian, pada sistem target, jalankan setup.exe sebagai "Instalasi Lokal" yang menunjuk ke pohon paket yang Anda unduh. Anda bisa melakukan ini secara non-interaktif dengan opsi baris perintah setup.exe -q -L -l x:\cygwin-local\, di mana pohon paket yang Anda unduh berada x:\cygwin-local\(lihat FAQ berikutnya untuk penjelasan tentang opsi-opsi itu.)

Untuk opsi lain, cari milis dengan istilah seperti pengaturan cygwin otomatis atau instalasi cygwin otomatis .

Saya telah menemukan beberapa tempat utama di mana hal ini dibahas:

  1. Mailing List Cygwin: Mengkloning pengaturan pengaturan cygwin dari satu PC ke yang lain
  2. Cygwin Mail Archive: pertanyaan tentang cadangan
  3. Mailing List Cygwin: Instalasi cygwin otomatis
  4. Mailing List Cygwin: Kemungkinan untuk menyalin seluruh folder cygwin ke mesin lain?
  5. blog helix ': Instal paket cygwin dari cmdline

Anda mungkin ingin melihat ke dalam menggunakan cygcheck juga.

Juga: Saya belum mengujinya sendiri, tetapi sekarang ada proyek bernama apt-cygyang sepertinya bekerja dengan cara yang mirip dengan apt-get debian. Ini dia halaman proyek

Salin Paket Cygwin ke Sistem Baru

Ini adalah cara mudah yang saya temukan untuk menduplikasi instalasi ke beberapa sistem dengan paket yang diperbarui pada waktu instalasi:

#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

Sekarang cukup salin file ini ke mesin baru C:\cygwin\etc\setup\installed.db, dan jalankan penginstal Setup.exe. Paket yang terdaftar harus dipilih secara otomatis untuk pembaruan. Dimungkinkan untuk mengotomatiskan proses ini menggunakan kiat yang saya sebutkan di atas, dan di sini .

Sumber:

  1. Mailing List Cygwin
  2. Cuplikan kode pada Snipplr: Skrip sed
  3. Blog Post: Instal paket cygwin dari cmdline
  4. Cygwin Mail Archive: pertanyaan tentang cadangan
TrinitronX
sumber
3

Berikut jawaban dari pengguna super tentang melakukan pembaruan tanpa pengawasan:

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

Anda harus mem-boot ulang setelah pemutakhiran selesai untuk mencegah aplikasi cygwin dari kesalahan karena memutakhirkan cygwin1.dll

--no-desktop Nonaktifkan pembuatan pintasan desktop

--no-shortcuts Nonaktifkan pembuatan desktop dan menu mulai

--no-startmenu Nonaktifkan pembuatan pintasan menu mulai

--quiet-mode Mode pengaturan tanpa pengawasan

pengguna394
sumber