Saya sedang mengerjakan beberapa sistem admin otomasi menggunakan fabric dan saya ingin dapat memonitor jumlah paket yang perlu ditingkatkan pada mesin yang diberikan. Ini adalah informasi yang sama yang dapat saya lihat ketika saya pertama kali masuk ke mesin, yaitu bagian ini:
35 packages can be updated.
22 updates are security updates.
Apakah ada perintah yang bisa saya jalankan (lebih baik tanpa sudo
) yang hanya memberikan informasi itu?
Saya telah melihat binding apt-python, tetapi mereka tampaknya memiliki kurva belajar yang tinggi dan mereka juga tampaknya banyak berubah - saya ingin sesuatu yang akan bekerja setidaknya sejauh jernih tanpa perlu lakukan hal yang berbeda pada versi Ubuntu yang berbeda.
sumber
cat
ing file yang Anda sarankan kosong, dan script yang Anda tuju pertama kali tidak ada pada mesin ini - apakah itu dalam beberapa paket yang perlu diinstal? Saya punya/usr/lib/update-manager
, tetapi tidak adaupdate-notifier
direktori.update-notifier-common
yang diinstal secara otomatis pada instalasi baru (bukan upgrade dari 10,10)./var/lib/update-notifier/apt-check
ini sepertinya mengembalikan dua angka, yaitu 43; 24 (43 pembaruan, 24 adalah yang keamanan), tetapi bahkan yang tidak muncul di semua mesin saya. Saya kira file ini mungkin telah berpindah antar paket dalam versi yang berbeda.Mengapa Anda tidak bisa menjalankan ini saja?
Itulah yang dilakukan oleh / usr / lib / update-notifier / update-motd-updates untuk mengumpulkan informasi, setidaknya dalam versi Ubuntu yang saya gunakan (12.10).
sumber
update-motd
paket dan pemikirannya Terima kasih telah memberikan perintah langsung.Saya juga mencari metode skrip untuk cek pembaruan di dalam wadah buruh pelabuhan minimal, ketika saya menemukan komentar di
/usr/lib/update-notifier/apt-check
:Ini memungkinkan pemeriksaan pembaruan yang ditulis dengan skrip, tanpa perlu menginstal
update-notifier-common
paketsumber
Anda dapat menggunakan
check_apt
plugin darimonitoring-plugins-basic
( Nagios ), dengan keuntungan mendapatkan kode pengembalian yang berbeda tergantung pada apakah pembaruan tersedia:Kode pengembalian memiliki arti sebagai berikut:
0
-> tidak ada paket yang tersedia untuk peningkatan1
-> paket tidak penting tersedia untuk peningkatan2
-> pembaruan kritis tersediaReferensi:
sumber