Saya sedikit pendatang baru di Arch Linux dan masih terbiasa dengan beberapa paradigma. Saya datang dengan banyak kebiasaan dari distro lain yang sedikit lebih terstruktur dan dalam beberapa hal dapat diprediksi.
Satu hal yang ingin saya lakukan dengan beberapa sistem¹ adalah memungkinkan pekerjaan cron untuk melakukan pembaruan otomatis semua paket sistem. Sepertinya ini akan cukup mudah, kecuali saya juga ingin umpan balik yang berarti dari sistem yang memberitahu saya bagaimana hal-hal yang tidak begitu bertele-tele sehingga saya akhirnya mengabaikannya sampai saya menemukan sistem bertindak.
- Output penuh dari
pacman
tidak perlu. Saya tidak peduli berapa lama unduhan berlangsung atau pembaruannya 46 dari 53. - Sebagian besar saya tidak peduli dengan kesuksesan.
- Saya peduli tentang kesalahan. Jika proses pembaruan gagal, saya ingin mengetahuinya dan pesan kesalahan khusus apa pun harus ditambal.
Saya peduli dengan "pemberitahuan" yang dikeluarkan saat instalasi. Misalnya pembaruan sistem hari ini mengatakan:
:: coredumps are no longer sent to the journal by default. To re-enable: echo >/etc/sysctl.d/50-coredump.conf \ "kernel.core_pattern=|/usr/lib/systemd/systemd-coredump %p %u %g %s %t %e"
Atau filesystem yang menghasilkan ini:
warning: /etc/group installed as /etc/group.pacnew warning: /etc/passwd installed as /etc/passwd.pacnew warning: /etc/shadow installed as /etc/shadow.pacnew
Kategori terakhir ini sebenarnya yang mendorong saya untuk mengajukan pertanyaan ini karena sepertinya ini sangat tidak konsisten di seluruh paket. Beberapa di antaranya tampaknya dihasilkan oleh
post_upgrade()
, yang lain olehinstall()
, dll. Kadang-kadang ditulis untuk stdout, kadang-kadang untuk stderr. Format pesan sangat bervariasi: kadang-kadang seluruh blok diawali dengan lekukan dalam beberapa cara, di lain waktu hanya ada string gema yang digema.
Saya ingin tahu tentang hal-hal yang mungkin memerlukan intervensi saya pada suatu sistem tetapi tidak akan terganggu sebaliknya. Apakah ada alat di luar sana yang secara cerdas mengelola data ini dan menyederhanakan administrasi sistem? Apakah ada cara untuk mendapatkan output yang dihasilkan oleh paket secara terpisah dari proses pacman menginstalnya? Atau apakah saya sendiri untuk menulis semacam parser yang menyaring hal-hal yang tidak berbahaya dari log instalasi?
¹ Sebelum Anda melompati betapa bodohnya hal ini, harap dicatat bahwa saya cukup pintar untuk tidak melakukan ini pada server produksi dan bukan tanpa cadangan sistem lengkap berbasis snapshot yang akan membuat pemulihan mudah jika terjadi bencana.
yaourt
tag, baik dari pertanyaan Anda dan model konseptual Anda: mencoba melakukan ini dengan repo resmi akan cukup sulit, menambahkan paket acak dari AUR ke dalam campuran akan membuatnya menjadi aneh ...checkupdates
dan menggunakan-Syu
sekali sehari adalah tugas yang cukup sepele; Saya tidak melihat manfaat apa pun untuk semua pekerjaan yang diperlukan dalam proposal Anda.Jawaban:
Saya ingin menjadi jelas bagi Anda dan orang lain yang mungkin terjadi pada utas ini. Apa yang ingin Anda lakukan tidak mungkin. Arch tidak merahasiakan fakta bahwa ia mengharapkan Anda untuk mengelola sistem Anda. Bagian dari tanggung jawab itu hadir untuk siklus pembaruan.
Sekarang, ada langkah - langkah proses pembaruan yang Anda dapat mengotomatisasi secara bertanggung jawab, tetapi itu tidak akan pernah berarti otomatis
-Syu
. Anda hanya perlu berada di sana untuk peningkatan.Apa yang dapat Anda lakukan, misalnya, adalah mengatur
cron
pekerjaan yang mengunduh paket apa saja yang perlu diinstal (tetapi tidak menginstalnya). Berikut ini adalah kutipan daripacman
dokumentasi:Anda kemudian bisa, mengatur
cron
pekerjaan untuk dijalankansudo pacman -Syuw
. Saya tidak terlalu akrab dengancron
atau kemampuan penjadwalannya. Namun, jika hanya mampu menjalankan pekerjaan setelah kondisi tertentu terpenuhi (misalnya, perintah mengembalikan nilai tertentu), maka akan cukup sepele untuk memicu pengunduhan paket baru sesuai kebutuhan.Saya akan membayangkan menjalankan cek terhadap
checkupdates | wc -l
, misalnya. Jika mengembalikan angka apa pun di atas nol, Anda dapat memicu unduhan. Sekali lagi, bagaimanapun, ini tidak akan menggantikan menjalankan-Syu
ketika Anda hadir dan siap untuk berurusan dengan upgrade.Untuk bagian terakhir dari pertanyaan Anda, di mana untuk mendapatkan hasil dari apa yang terjadi selama peningkatan, Anda cari
/var/log/pacman.log
. Ini mencakup semua informasi kesalahan yang mungkin menarik bagi Anda.Ada alat yang dimaksudkan untuk membuat
pacman
sedikit lebih ramah bagi pengguna yang tidak terbiasa. Jika saya tidak salah, itu juga memberikan pemberitahuan tentang item berita jika harus ada pembaruan yang memerlukan intervensi manual.Alat ini mungkin membuat hidup Anda sedikit lebih sederhana dalam jangka pendek, tetapi itu tidak akan pernah menjadi pengganti yang masuk akal dan rajin mengikuti Milis.
sumber
pacman
dimungkinkan. Melakukannya denganyaourt
tidak layak.yaourt
sebenarnya melakukan pekerjaan yang sedikit lebih baik daripadapacman
, meskipun, seperti yang saya pikir maksud Anda, konfigurasi default sebagai sedikit lebih dari pembantu aur hampir pasti akan merusak hal-hal dalam jangka panjang. Namun demikian, sangat dapat dikonfigurasi, dan dapat dibuat untuk memelihara pohon sumber dengan sangat efektif. Keduanyayaourt
danpacman
hanya bungkusalpm
saja.yaourt
membungkuspacman
dan beberapaalpm
fungsionalitas tambahan danpacman
membungkusalpm
. Bagaimanapun,yaourt
meluaspacman
.-Syuw
berpotensi sangat berbahaya. Ini memiliki kemampuan untuk menghasilkan pembaruan parsial jika pembaruan tidak diterapkan, dan perangkat lunak kemudian diinstal dengan-S
.Ada skrip lama yang melakukan pekerjaan dengan sangat baik; ini disebut safepac .
EDIT: Skrip ini masih tersedia di github di sini: https://github.com/bencahill/binfiles/blob/master/safepac
Harap perhatikan bahwa Anda memerlukan penyetelan surat yang berfungsi karena skrip ini juga mengirimi Anda surat intisari (dengan log lengkap?), Dan dengan bagian pembaruan yang penting:
Skrip sudah tua, tetapi idenya bagus dan mungkin masih berfungsi dengan pembaruan kecil, jika ada.
sumber
Saya menggunakan ketidakberdayaan saya sendiri untuk dijalankan
yaourt
oleh cron.sumber
yaourt
selama bertahun-tahun sendiri. Itu adalah alat yang baik, tetapi hal-hal yang dibangun untuk "membungkus" telah berubah bentuk dan melakukan beberapa hal yang cukup salah sekarang. Pada titik ini sangat bermasalah sehingga penulis alat mengatakan bahkan mereka tidak menggunakannya lagi. Jika Anda menginginkan pembantu AUR, saya sarankan Anda mencoba salah satu yang dipelihara secara aktif. Saya beralih keyay
diri saya sendiri dan cukup senang.yay
untuk saya.