在安裝最新軟件前,建議先更新系統中的現有軟件包,確保系統處于最新狀態,避免依賴沖突。
yum命令更新:sudo yum update
dnf命令(dnf是yum的下一代版本,功能更強大):sudo dnf update
執行后會列出所有可更新的軟件包,確認無誤后輸入y即可開始更新。
CentOS默認倉庫(Base、Updates)中的軟件版本較舊,需啟用第三方倉庫以獲取最新版本。常見倉庫如下:
EPEL由Fedora社區提供,包含大量默認倉庫中沒有的常用軟件(如nginx、git等)。
sudo yum install epel-release # CentOS 7
sudo dnf install epel-release # CentOS 8+
安裝后需更新倉庫緩存:
sudo yum makecache # CentOS 7
sudo dnf makecache # CentOS 8+
若需要安裝最新版本的PHP(如PHP 8.x),可使用Remi倉庫。以PHP 8.0為例:
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm # CentOS 8+
sudo yum-config-manager --enable remi-php80 # 啟用PHP 8.0模塊
IUS提供與上游版本同步的最新穩定版軟件(如git、mysql等),適合需要最新功能但不想手動編譯的用戶。
sudo yum install epel-release # 先安裝EPEL
sudo yum install https://centos7.iuscommunity.org/ius-release.rpm # CentOS 7
sudo yum install https://repo.ius.io/ius-release-el8.rpm # CentOS 8+
sudo yum install git2u # 安裝最新版git(示例)
SCL允許在同一系統中并行安裝多個版本的軟件(如Python 3.9與系統默認Python共存),不影響系統穩定性。
sudo yum install centos-release-scl # CentOS 7
sudo dnf install centos-release-scl # CentOS 8+
sudo yum install rh-python39 # 安裝Python 3.9
scl enable rh-python39 bash # 臨時啟用Python 3.9環境(退出終端后失效)
倉庫啟用后,可通過yum(CentOS 7)或dnf(CentOS 8+)命令安裝軟件:
sudo yum search nginx # CentOS 7
sudo dnf search nginx # CentOS 8+
nginx為例):sudo yum install nginx # CentOS 7
sudo dnf install nginx # CentOS 8+
nginx -v # 查看nginx版本
systemctl status nginx # 檢查服務狀態(若需啟動服務)
若軟件不在任何倉庫中,可手動下載RPM包安裝(需確保來源可信,如官方網站)。
example.rpm為例):wget http://example.com/path/to/example.rpm
sudo yum localinstall example.rpm # CentOS 7
sudo dnf install example.rpm # CentOS 8+
手動安裝需自行解決依賴問題(可通過rpm -qpR example.rpm查看依賴)。
若軟件無RPM包或需要最新開發版,可從源碼編譯安裝(適合有經驗的用戶)。
sudo yum groupinstall "Development Tools" # CentOS 7
sudo dnf groupinstall "Development Tools" # CentOS 8+
sudo yum install gcc make openssl-devel # 示例:安裝常用編譯工具
example為例):wget https://example.com/example-1.0.tar.gz
tar -xzvf example-1.0.tar.gz
cd example-1.0
./configure # 配置編譯選項
make # 編譯源碼
sudo make install # 安裝到系統
編譯前需閱讀README或INSTALL文件,確認依賴項是否滿足。
yum provides或dnf provides命令查找缺失的依賴)。