Bagaimana saya mengatur Cygwin untuk secara otomatis memperbarui sendiri?
Bagaimana saya bisa membuat Cygwin mengunduh paket tanpa harus melalui GUI?
Bagaimana saya mengatur Cygwin untuk secara otomatis memperbarui sendiri?
Bagaimana saya bisa membuat Cygwin mengunduh paket tanpa harus melalui GUI?
Jawaban:
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-mode
untuk operasi yang tidak dijaga, itu dia.
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 beradax:\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:
Anda mungkin ingin melihat ke dalam menggunakan cygcheck
juga.
Juga: Saya belum mengujinya sendiri, tetapi sekarang ada proyek bernama apt-cyg
yang sepertinya bekerja dengan cara yang mirip dengan apt-get debian. Ini dia halaman proyek
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:
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