Saya menjalankan server ubuntu 12,04 LTS. Dan saya pikir akan lebih baik jika saya dapat diberi tahu ketika pembaruan tersedia. Tetapi saya tidak dapat menemukan cara untuk mengetahui ...
Saya sudah mencoba melihat apt-get
halaman manual. Dari sana saya bisa menggunakan apt-get -s upgrade
untuk mendapatkan keluaran apt-get dalam skrip tanpa memblokir pertanyaan.
Sekarang, saya jelas melihat perbedaan:
Pembaruan tersedia:
apt-get -s upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
dpkg dpkg-dev libdpkg-perl
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Inst dpkg [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [amd64])
Conf dpkg (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [amd64])
Inst dpkg-dev [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all]) []
Inst libdpkg-perl [1.16.1.2ubuntu7.2] (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Conf libdpkg-perl (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Conf dpkg-dev (1.16.1.2ubuntu7.3 Ubuntu:12.04/precise-updates [all])
Pembaruan tidak tersedia:
apt-get -s upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Tapi saya tidak tahu bagaimana melanjutkan dari sana. Bagaimana saya bisa tahu, dari skrip bash (atau skrip php) bahwa ada pembaruan yang tersedia atau tidak?
Edit:
Ini kode bash saya saat ini. Tidak bekerja.
updates_available=`/etc/update-motd.d/90-updates-available`
if [ "${updates_available}" = "0 packages can be updated. 0 updates are security updates." ];
then
echo "No updates are available"
else
echo "There are updates available"
fi
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
jika tidak ada pembaruan.Jawaban:
Baca halaman manual untuk
motd(5)
,pam_motd(8)
danupdate-motd(5)
. Di sistem saya,/etc/update-motd.d/90-updates-available
aktifkan/usr/lib/update-notifier/update-motd-updates-available
yang menampilkan ini ketika saya masuk:Menggali lebih dalam, skrip "...- pembaruan tersedia" memanggil
/usr/lib/update-notifier/apt-check --human-readable
. Jika Anda membaca itu (python), Anda akan melihat bahwa jika Anda menghilangkan flag yang dapat dibaca manusia, itu akan menampilkan "19; 12" ke stderr. Kita bisa ambil itu dengan ini:Sekarang Anda bisa mengatakan:
sumber
if [
/etc/perbarui/motd.d/90 -perbarui-available` = "0 paket dapat diperbarui. 0 pembaruan adalah pembaruan keamanan." ]; lalu ... fi`