温馨提示×

如何在CentOS上安装新软件

小樊
57
2025-10-05 07:03:52
栏目: 智能运维

一、使用YUM/DNF包管理器(推荐,适用于大多数场景)

YUM(Yellowdog Updater Modified)是CentOS传统包管理器,DNF(Dandified Yum)是其下一代版本,两者均能自动解决软件依赖问题,简化安装流程。

1. CentOS 7及更早版本(使用YUM)

  • 更新软件包列表:安装前建议先更新本地软件包索引,确保获取最新版本。
    sudo yum update
    
  • 搜索软件包:若不确定软件准确名称,可通过关键词搜索(如搜索“apache”相关包):
    sudo yum search apache
    
  • 安装软件包:指定软件名称(如安装httpd Web服务器),按提示输入y确认:
    sudo yum install httpd
    
  • 验证安装:安装完成后,可通过rpm -q命令检查软件是否安装成功:
    rpm -q httpd
    

2. CentOS 8及更新版本(使用DNF)

DNF兼容YUM命令,但性能更优,是CentOS 8+的默认包管理器。

  • 更新软件包列表
    sudo dnf update
    
  • 搜索/安装软件包:命令与YUM类似(如安装wget下载工具):
    sudo dnf search wget
    sudo dnf install wget
    

关键注意事项

  • 权限要求:需使用sudo或root用户执行安装命令。
  • 依赖自动解决:YUM/DNF会自动下载并安装软件依赖,无需手动处理(若依赖无法解决,需检查仓库配置或手动安装缺失依赖)。
  • 仓库配置:默认仓库可能不包含所有软件,可通过yum install epel-release安装EPEL(Extra Packages for Enterprise Linux)仓库,扩展可用软件范围。

二、使用RPM包手动安装(适用于无仓库的软件)

若软件不在YUM/DNF仓库中,可下载其RPM包手动安装,但需自行解决依赖问题。

1. 下载RPM包

从软件官方网站或可信镜像站下载对应版本的RPM包(如example.rpm)。

2. 安装RPM包

使用rpm命令安装,-ivh参数表示安装(i)、显示进度(v)、显示详细信息(h):

sudo rpm -ivh example.rpm

3. 处理依赖问题

若安装时提示缺少依赖,需先安装缺失的包(如libssl):

sudo yum install libssl  # 通过YUM解决依赖

若依赖无法通过仓库解决,可使用--nodeps强制安装(不推荐,可能导致软件无法运行):

sudo rpm -ivh --nodeps example.rpm

4. 卸载RPM包

使用rpm -e命令卸载,需指定软件名称(而非RPM文件名):

sudo rpm -e example

离线安装场景

若系统无法联网,可先在一台联网机器上下载软件及所有依赖的RPM包,使用createrepo工具创建本地仓库,再通过YUM安装:

sudo yum install createrepo  # 安装createrepo工具
createrepo /path/to/rpms   # 生成仓库元数据
sudo yum --disablerepo="*" --enablerepo="local-repo" install example  # 指定本地仓库安装

三、源代码编译安装(适用于定制化需求)

若需要特定版本的软件或自定义功能,可从源代码编译安装,但步骤较复杂,需手动管理依赖。

1. 安装编译工具

编译前需安装开发工具组(包含gccmake等工具):

sudo yum groupinstall "Development Tools"  # CentOS 7
sudo dnf groupinstall "Development Tools"  # CentOS 8+

2. 下载并解压源代码

从软件官方网站下载源代码包(如nginx-1.20.2.tar.gz),解压后进入目录:

wget http://nginx.org/download/nginx-1.20.2.tar.gz
tar -zxvf nginx-1.20.2.tar.gz
cd nginx-1.20.2

3. 配置编译选项

运行./configure脚本检查环境并设置安装路径(如--prefix指定安装目录):

./configure --prefix=/usr/local/nginx --with-http_ssl_module

常用选项:--prefix(安装路径)、--with-*(启用模块,如SSL、Gzip)。

4. 编译与安装

  • 编译make命令编译源代码(耗时较长,取决于系统性能)。
  • 安装sudo make install将编译后的文件安装到指定路径。

5. 配置服务(以Nginx为例)

  • 创建systemd单元文件
    sudo vim /etc/systemd/system/nginx.service
    
    添加以下内容(指定启动脚本路径):
    [Unit]
    Description=Nginx Web Server
    After=network.target
    
    [Service]
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/usr/local/nginx/sbin/nginx -s stop
    Type=forking
    
    [Install]
    WantedBy=multi-user.target
    
  • 启用并启动服务
    sudo systemctl enable nginx  # 开机自启
    sudo systemctl start nginx   # 立即启动
    

源代码安装的优缺点

  • 优点:可定制软件版本、功能;避免仓库软件版本滞后的问题。
  • 缺点:需手动管理依赖;更新复杂(需重新编译);维护成本高。

四、常见问题解决

  • 找不到软件包
    • 确认软件名称拼写正确(可通过yum searchdnf search查找)。
    • 检查仓库是否启用(如EPEL仓库需运行yum install epel-release安装)。
  • 依赖问题
    • 运行yum update更新仓库索引,解决常见依赖冲突。
    • 手动安装缺失的依赖(根据错误提示,使用yum install安装)。
  • 权限不足
    • 确保使用sudo或root用户执行安装命令,避免“Permission denied”错误。

0