Centos
僅當軟體包舊於 yum 時才更新
我們在 yum 更新後遇到了一些新軟體包的問題(例如:我們的一個生產伺服器的最新微碼https://access.redhat.com/errata/RHSA-2020:2432導致核心崩潰,它不會啟動)。
我想知道是否有辦法只更新儲存庫中的軟體包一段時間,比如說:1 個月。
這樣,如果一個非常新的軟體包中存在錯誤,我們的伺服器就不會停機。
謝謝!
我遇到了另一個問題,我想讓生產伺服器在階段和開發伺服器之後更新軟體包。
如果可能的話,我會選擇像Foreman Katello這樣的更新檔管理工具和多個本地 yum 儲存庫。
我的解決方案非常漂亮,但確實有效:
repoquery -a --pkgnarrow=updates --qf="%{name}-%{epoch}:%{version}-%{release}.%{arch} %{filetime}" | awk -v daysago=$(date --date="7 days ago" +%s) '$NF < daysago' | cut -f1 -d" " | xargs yum update --assumeyes
解釋:
repoquery
列出更新並在末尾添加文件時間資訊,以空格分隔awk
篩選超過 7 天的日期的最後一部分(根據您的需要進行更改)cut
按空格分割並刪除最後一部分(實際上是空格和時間戳)xargs -r yum update
將列表注入yum update
命令。(可選)您還可以在此處使用 過濾安全更新--security
。