Centos

僅當軟體包舊於 yum 時才更新

  • July 14, 2020

我們在 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

引用自:https://unix.stackexchange.com/questions/596326