ฉันใช้เซิร์ฟเวอร์อูบุนตู 12.04 LTS และฉันคิดว่ามันคงจะดีถ้าฉันได้รับแจ้งเมื่อมีการอัพเดท แต่ฉันไม่สามารถรู้วิธีการ ...
ฉันลองดูที่apt-get
หน้าคน จากนั้นฉันสามารถใช้apt-get -s upgrade
เพื่อรับเอาท์พุท apt-get ในสคริปต์โดยไม่มีการบล็อกคำถาม
ตอนนี้ฉันเห็นความแตกต่างอย่างชัดเจน:
อัปเดตพร้อมใช้งาน:
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])
ไม่สามารถอัปเดตได้:
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.
แต่ฉันไม่ทราบวิธีการดำเนินการจากที่นั่น ฉันจะบอกได้อย่างไรจากสคริปต์ทุบตี (หรือสคริปต์ PHP) ว่ามีการอัปเดตที่พร้อมใช้งานหรือไม่
แก้ไข:
นี่คือรหัสทุบตีปัจจุบันของฉัน มันไม่ทำงาน.
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.
ก็ต่อเมื่อไม่มีการอัพเดท