在安装最新软件前,建议先更新系统中的现有软件包,确保系统处于最新状态,避免依赖冲突。
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命令查找缺失的依赖)。