分類: Linux

Fedora/CentOS/RHEL Linux 鎖定套件,防止 Yum 安裝或更新教學

這裡介紹如何在 Fedora、CentOS 或 RHEL 中鎖定套件,讓指定套件與軟體維持固定的版本,避免 yum 自動安裝或更新。

在目前主流的 Linux 系統上,絕大部分的軟體都是透過套件管理系統來安裝或更新的,管理者只要定期執行更新指令,即可讓所有的軟體維持在最新狀態。

然而在某些狀況下,我們可能會希望某些軟體固定維持在特定的版本下,不用隨著系統自動更新而改變,這時候就要將這種需要固定版本的軟體排除在套件管理系統之外。


以下我們介紹在 Fedora、CentOS 與 Red Hat Linux 中,如何設定 yum 套件管理系統,鎖定指定的套件,避免自動更新。

排除套件

在執行 yum 指令時,若要排除特定的套件,可以使用 --exclude 參數:

# 排除 nginx 套件
sudo yum --exclude=nginx update

在指定套件時,可以使用一般 shell 中的萬用字元,例如若要排除 nginx 相關的套件,可以執行:

# 排除 nginx 相關套件
sudo yum --exclude='nginx*' update

如果要排除多個不同的套件,可以使用多個 --exclude 參數分開指定,例如:

# 排除多個套件
sudo yum --exclude=nginx --exclude=php update

永久設定檔

如果要永久排除套件,可以將設定寫入 /etc/yum.conf 設定檔中:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

# 防止 nginx 相關套件更新
exclude=nginx*

若要排除多個套件,則用空白分隔即可:

# 排除多個套件
exclude=nginx php

若要排除所有 32 位元的套件,可以這樣寫:

# 排除 32 位元的套件
exclude=*.i?86

參考資料:TecmintnixCraftredhat

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Share
Published by
G. T. Wang
標籤: CentOS指令

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

3 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago