CentOS镜像添加新软件的常用方法
Yum(CentOS 7及以下)/DNF(CentOS 8及以上)是CentOS默认的包管理工具,可自动解决依赖关系,便捷安装软件。
sudo yum update(CentOS 7)或 sudo dnf update(CentOS 8/Stream 8)。sudo yum search nginx(CentOS 7)或 sudo dnf search nginx(CentOS 8)。sudo yum install nginx(CentOS 7)或 sudo dnf install nginx(CentOS 8)。nginx -v 或 sudo dnf list installed | grep nginx。若软件未纳入Yum/DNF仓库,可下载RPM包手动安装。
nginx-1.20.1.rpm)。rpm命令安装,例如:sudo rpm -ivh nginx-1.20.1.rpm(-i表示安装,-v显示详细信息,-h显示进度条)。若需升级现有包,用-U选项:sudo rpm -Uvh nginx-1.20.2.rpm。rpm -qpR package.rpm查看依赖),建议优先使用Yum/DNF。默认仓库可能缺少某些软件(如最新版PHP、Python),可添加第三方仓库(如EPEL、Webtatic)获取更多软件包。
sudo yum install epel-release(CentOS 7)或 sudo dnf install epel-release(CentOS 8)。sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm(CentOS 7,需替换为对应版本链接)。sudo yum-config-manager --enable webtatic_main。若需在CentOS镜像(如ISO)中预装软件,需修改镜像的仓库配置和软件包列表。
yum install --downloadonly --downloaddir=/path/to/packages package_name命令下载软件包及依赖(如sudo yum install --downloadonly --downloaddir=/root/Centos-packages vim-enhanced)。Packages目录,编辑repodata/comps.xml文件,将软件包添加到对应软件包组(如“最小安装”组),设置type="default"(默认安装)或type="optional"(可选安装)。createrepo /path/to/Centos-packages更新仓库元数据,再用mkisofs或genisoimage命令生成新的ISO镜像。/etc/yum.repos.d/CentOS-Base.repo),防止配置错误导致系统无法启动。