在 OpenSuse (zypper) 中自動更新軟體的技巧
我目前正在僅命令行環境中工作。
我想使用 自動執行每日更新
zypper
,但是我找不到一個好方法。好的,我的意思是乾淨和簡單。
sudo zypper update
每天使用 cron執行是否安全?有人告訴我,這並不總是一個好方法。還有其他方法可以讓我通過 zypper 完全自動進行包更新嗎?
(我前一陣子解決了這個問題,只是忘記發布答案)
我最終創建了一個每天凌晨 3 點執行的 cron 作業(我的電腦保持 24/7)並呼叫更新腳本。
該腳本僅包含幾行程式碼,基本上會刷新儲存庫 (
zypper ref
),然後安裝所有可用更新 (zypper up
)。在過去的幾個月裡,它對我有用。
如果幾年後有人來這裡仍然在尋找“更集成”的解決方案,您目前可以在終端中執行此操作:
sudo zypper install yast2-online-update-configuration sudo yast2 online_update_configuration
然後啟用自動線上更新,並選擇頻率(每天、每週或每月)。您還可以選擇決定是否自動接受許可證(無論如何,99% 的人只是點擊“是”),是否自動安裝額外推薦的軟體包作為升級的結果,以及是否較小的增量 RPM好的。
實際所做的是將腳本 (/usr/lib/YaST2/bin/online_update) 連結到相關的 /etc/cron.{daily,weekly,monthly} 目錄,然後編輯腳本讀取的配置文件。但這比製作自己的 cron 工作要容易一些。並且該腳本可以更輕鬆地支持一些方便的選項,例如將更新限制為特定類別等。
此外,如果增量 RPM 對讀者來說是新事物:
Delta RPM 包包含 RPM 包的舊版本和新版本之間的差異。將增量 RPM 應用於舊 RPM 會產生全新的 RPM。不必擁有舊 RPM 的副本,因為 delta RPM 也可以與已安裝的 RPM 一起使用。delta RPM 包的大小甚至比更新檔 RPM 還要小,這在通過 Internet 傳輸更新包時是一個優勢。缺點是涉及增量 RPM 的更新操作比普通或更新檔 RPM 消耗更多的 CPU 週期。