yum 更新 - .rpmnew 檔案是否至關重要/重要?

yum 更新 - .rpmnew 檔案是否至關重要/重要?

有時 yum 安裝更新時,它會給予一些訊息,例如:

warning: /etc/ssh/sshd_config created as /etc/ssh/sshd_config.rpmnew

我的想法是,對這些採取行動是明智的,因為也許偶爾會對配置文件進行一些調整,出於安全原因,執行這些調整很重要;然而,我想知道我是否過於謹慎,這只是一個理論上的擔憂,在實踐中並不是真正的問題。

我想我要問的是,任何人都知道在過去幾年中不合併到.rpmnew 文件中的任何情況都會產生一些值得注意的不良影響- 特別是安全方面,但其他角度(例如穩定性或配置的可取性)可能是值得一提。

答案1

它是非常對預設配置的變更很少會產生安全性或穩定性影響。然而,“非常罕見”並不是“從不”,檢查所有.rpmnew文件並仔細檢查它們是否不包含重要更改,然後刪除它們是一種良好的系統衛生習慣。

作為仔細檢查,您還應該安排接收有關所有可用更新的安全通知和資訊 - 閱讀變更日誌和公告將使您很好地了解正在修復的問題的性質。

答案2

我建議在更新後對 *.rpmnew 和 *.rpmsave 檔案進行操作。這些文件的建立通常表明以下三件事之一:

  1. 您不小心(或沒有其他方法可以做到這一點)並修改了套件管理下的設定檔。通常,如果一個套件提供了一個配置片段的目錄(例如/etc/<package>.d/,就像PHP 的/etc/php.d/ 一樣),那麼您應該將本地更改放在那裡,而不會受到包提供配置更改。

  2. 打包者不小心,更改了規範文件中相應文件條目的定義(例如,他們忘記將特定文件標記為 %config 或更改了 %config() 巨集的修飾符。

  3. 發生了一些可疑的事情,並且有問題的配置文件被篡改了。

無論如何,如果更新產生 *.rpmnew 或 *.rpmsave,最好執行以下操作:

  1. 在舊文件和新文件之間進行比較diff -uw old_file new_file(-w 選項將忽略空白量的變化);

  2. 如果沒有差​​異(除了空格)並且您正在研究 *.rpmnew 檔案的創建,請使用 . 將原始檔案替換為 *.rpmnew 檔案mv config_file.rpmnew config_file。這將確保保留包集元資料(例如時間戳記、檔案權限和可能的功能)

  3. 如果存在差異,則根據套件提供的檔案重新調整您的變更(即,如果您正在使用*.rpmnew - 將*.rpmnew 檔案複製到臨時名稱下,並調整它以匹配原始設定檔中所需的更改;如果您使用 *.rpmsave - 將變更套用至套件提供的設定檔)。這將確保進一步的更新會更容易,並且如果引入了新的配置文件格式,您正在使用它

  4. 當您解決「衝突」時,請刪除對應的 *.rpmnew 或 *.rpmsave 文件,因為軟體包管理不會追蹤它們。

這將為您提供一個乾淨、良好的系統,並確保您了解配置檔案的最新變更。

相關內容