HCRM博客

如何在CentOS上成功安装并运行软件?

在Linux系统中,CentOS因其稳定性和企业级特性备受开发者与运维人员青睐,作为服务器操作系统的代表,如何高效运行软件成为用户关注的核心问题,本文将针对CentOS 7及更高版本,系统化解析软件运行的六种主流方案,并附实战操作指南。

一、原生软件包管理:YUM/DNF工具链

作为Red Hat系发行版的基石,YUM(Yellowdog Updater Modified)及其继任者DNF(Dandified YUM)是管理软件的核心工具,通过预配置的官方仓库,用户可快速完成软件安装、更新与依赖处理。

如何在CentOS上成功安装并运行软件?-图1
(图片来源网络,侵权删除)

实战命令示例

  • 查询Nginx软件包
  • sudo yum search nginx
  • 安装并自动解决依赖
  • sudo yum install nginx -y
  • 查看已安装软件版本
  • rpm -q nginx

官方仓库涵盖apache、MySQL等主流服务软件,但需注意:CentOS 8之后默认采用DNF,命令语法与YUM完全兼容,建议定期执行sudo yum update保持系统组件最新。

二、源码编译部署:定制化安装路径

当需要特定版本或自定义功能时,源码编译成为必选方案,以Python 3.11为例,完整流程包含以下环节:

1、安装开发工具链

  • sudo yum groupinstall "Development Tools"
  • sudo yum install zlib-devel openssl-devel libffi-devel

2、下载并解压源码包

  • wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
  • tar xzf Python-3.11.0.tgz

3、配置编译参数

如何在CentOS上成功安装并运行软件?-图2
(图片来源网络,侵权删除)
  • cd Python-3.11.0
  • ./configure --prefix=/usr/local/python3.11 --enable-optimizations

4、编译及安装

  • make -j 4 && sudo make altinstall

关键参数--prefix指定独立安装目录,避免与系统自带Python冲突,编译完成后,通过/usr/local/python3.11/bin/python3.11调用新版本。

三、容器化部署:Docker/Podman方案

容器技术彻底改变了软件运行环境隔离方式,CentOS 7默认支持Docker,而CentOS 8+推荐使用无需守护进程的Podman:

Podman实战流程

1、安装容器工具集

  • sudo yum install podman buildah skopeo

2、拉取官方镜像

  • podman pull nginx:alpine

3、启动容器服务

  • podman run -d --name web_server -p 8080:80 nginx:alpine

4、验证服务状态

  • curl http://localhost:8080

容器方案尤其适合需要多版本共存或快速迁移的场景,通过podman generate systemd命令可将容器转化为系统服务。

四、第三方仓库扩展:EPEL与RPM Fusion

当官方仓库无法满足需求时,可通过扩展仓库获取更多软件包:

EPEL(Extra Packages for Enterprise Linux)

  • sudo yum install epel-release
  • 安装Redis服务器
  • sudo yum install redis

RPM Fusion

  • sudo yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
  • 安装多媒体工具
  • sudo yum install vlc

启用第三方仓库前,建议核查数字签名以确保来源可靠性,通过yum repolist可查看当前启用的所有仓库列表。

五、Snap/Flatpak通用包管理

跨发行版的通用打包格式为CentOS带来更丰富的应用生态:

1、Snap安装

  • sudo yum install snapd
  • sudo systemctl enable --now snapd.socket
  • 安装Postman客户端
  • sudo snap install postman

2、Flatpak配置

  • sudo yum install flatpak
  • flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
  • 安装LibreOffice最新版
  • flatpak install flathub org.libreoffice.LibreOffice

通用包管理器会占用更多磁盘空间,适合桌面环境应用部署,生产服务器建议优先选择原生包。

六、安全与权限管控要点

1、SELinux策略调整

  • 查看Nginx相关策略
  • audit2allow -a | grep nginx
  • 临时调整策略模式
  • sudo setenforce 0

2、Firewalld防火墙配置

  • sudo firewall-cmd --permanent --add-service=http
  • sudo firewall-cmd --reload

3、最小权限原则

通过sudoedit代替直接编辑系统文件,使用systemctl管理服务时避免以root身份运行应用进程。

从生产环境运维经验看,容器化部署正在成为企业级应用的主流方案,对于需要长期维护的系统服务,建议采用Podman配合Systemd实现服务托管;开发测试环境则可灵活使用Snap/Flatpak快速搭建工具链,无论选择何种方式,定期执行yum updatepodman image prune等维护操作,是保障系统稳定运行的关键。(作者为Linux系统架构师,十年CentOS运维经验)

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/29232.html

分享:
扫描分享到社交APP
上一篇
下一篇