管理应用程序
Linux应用程序基础
1,Linux命令与应用程序的核心区别
|
对比维度 |
Linux命令 |
LInux应用程序 |
|
执行文件大小 |
体积小巧,多为轻量级可执行文件 |
体积通常更大,包含完整功能模块 |
|
存储目录 |
核心命令:/bin,/sbin:内部命令集成于Bash |
普通程序:/usr/bin,/usr/local/bin 服务程序:/usr/sbin,/usr/local/sbin |
|
安装时机 |
随操作系统默认安装,为系统基础组件 |
操作系统安装后,根据需求另行安装 |
|
功能定位 |
辅助系统管理,实现基础操作 |
提供独立业务功能,等同于“软件” |
|
执行格式 |
固定遵循“你命令字+选项+参数” |
无固定格式,由开发者定义 |
|
运行界面 |
仅支持字符操作界面(CLI) |
支持CLI,图形界面(GUI)等 |
2,Linux应用程序的系统文件构成
Linux遵循FHS(文件系统层次结构标准),将应用程序的不同的类型文件分散存储在指定目录,实现文件分类管理,便于系统识别和用户维护
1 普通可执行程序文件:存放于/usr/bin,所有普通用户均可执行
2 服务器/管理程序文件:存放于/usr/sbin,仅root管理员可执行,多为系统服务,管理工具
3 配置文件:核心目录/etc.,若配置文件较多,会在/etc下创建专属子目录,配置文件是应用程序的(参数表),修改后需重启程序生效
4 日志文件:存放于/var/log,记录程序运行状态,错误信息,访问记录
5 参考文档/数据文件:存放于/usr/share/doc/,包含程序的安装说明,使用手册,更新日志等
6 man手册页:存放于/usr/share/man/,是程序的在线帮助文档,通过man命令/程序名可快速查询使用方法
3,Linux软件包的四大封装类型及核心特性
|
封装类型 |
文件后缀 |
核心特性 |
适用Linux发行版 |
核心管理工具 |
优势 |
劣势 |
|
RPM 包 |
.rpm |
预编译二进 制包,RPM 系标准格式 |
RHEL、CentOS openEuler openSUSE |
rpm、yum、DNF |
免编译,安装速度快; 依赖管理严格:Ubuntu生态软件丰富 |
版本可能滞后;功能定制性差;仅适用于RPM系发行版 |
|
DEB包 |
*.deb |
预编译二进 制包Debian系标准格式 |
Ubuntu、Debian、 Linux Mint |
dpkg、apt |
免编译,安装速度快;依赖管理严格:Ubuntu生态软件丰富 |
仅适用于Debian系发行版:跨发行版兼容性差 |
|
源代码包 (TarBal1) |
.tar.gz/ .tar.bz2 |
软件原始代 码,未编译 |
所有Linux发行 版(通用) |
gcc 、 make、./conf igure |
版本最新:可按需定制 功能;跨发行版兼容 |
需安装编译环境; 安装步骤繁琐;需 手动解决依赖 |
|
自包含安装程序 |
.bin/.sh /install .sh |
预编译+依 赖封装,独 立安装包 |
所有Linux发行 版(通用) |
chmod +x 执 行安装脚本 |
免编译,自带依赖;安 装向导化;跨发行版兼 容 |
安装目录不规范; 难以通过系统包管 理器管理;卸载繁 琐 |
2,RPM软件包管理工具
1,RPM 概述
RPM(Red Hat Package Manager,后更名为RPM Package Manager)是Linux二进制包管理的开山鼻祖,由Red Hat于1997年首创,是openEuler、RHEL等RPM系发行版的核心包管理机制,其数据库驱动的事务性管理和依赖解析引擎奠定了Linux二进制包管理的行业标准。openEuler 24.03深度兼容RPM包管理体系,同时对其依赖解析和事务管理做了优化,提升了在鲲鹏等架构上的兼容性。
(1)RPM 的核心优势
1.全生命周期管理:通过系统级数据库(/var/lib/rpm/)跟踪软件包的安装、升级、卸载,记录每个软件包的文件列表、依赖关系、版本信息,确保系统软件状态可追溯;
2.自动依赖解析:能自动计算软件包间的依赖链,提示缺失的依赖包,避免因依赖缺失导致程序无法运行,openEuler24.03对鲲鹏架构的依赖解析做了专项优化;
3.标准化命名:所有RPM包遵循统一的命名规范,通过文件名即可获取软件的完整信息,便于识别和管理;
4.事务性操作:安装/升级/卸载操作作为一个“事务”执行,若过程中出现错误(如磁盘空间不足、依赖缺失),会自动回滚,保证系统状态一致性。
(2)RPM包的标准化命名规范
RPM 包的文件名是结构化的信息载体,严格遵循以下格式,无任何例外,掌握该规范能快速识别软件的核心信息:
软件名-版本号-发布次数.操作系统版本.硬件架构.rpm
1. 软件名(lynx):软件项目的核心名称,对应程序功能,是查询/卸载软件时的核心标识;
2. 版本号(2.8.9):遵循主版本号.次版本号.修订号三级规范,主版本号大升级表示功能重大变更,次版本号表示功能新增,修订号表示 Bug 修复;
3. 发布次数(20):该版本在对应发行版中的官方构建次数,数字越大表示打包维护越新;
4. 操作系统版本(oe2403):oe 代表 openEuler,2403 表示适用于 openEuler 24.03 及兼容版
本;
5. 硬件架构(x86_64):表示软件适配的 CPU 架构,openEuler 24.03 重点支持 x86_64、aarch64(鲲鹏)等架构,noarch 为跨架构(纯脚本/配置文件)。
实战案例:查看 openEuler 24.03 安装光盘中软件包的命名,验证标准化规范:
# 先挂载光驱至/media/cdrom/,再查看包名![]()

2,RPM命令的全流程实操(核心重点)
rpm命令是RPM包管理的原生工具,openEuler24.03完整支持该命令的所有功能,能实现对 RPM包的查询、安装、升级、卸载、验证等所有操作,命令格式灵活,通过不同选项组合实现不同功能,是Linux系统管理员的必备基础命令。
(1)rpm命令的基本格式
rpm命令的核心是选项驱动,不同功能对应不同的核心选项,基本格式为:
rpm【核心选项】【子选项】[参数]
核心功能与对应核心选项:
查询/验证:-q(查询)、-V(验证)
安装/升级:-i(安装)、-U(升级,未安装则直接安装)、-F(更新,未安装则放弃)
卸载:-e(卸载)
执行 man rpm 可查看完整的选项说明,建议日常使用中逐步记忆核心选项。
(2)查询RPM软件包信息(最常用功能)
查询是 rpm 命令最常用的功能,分为查询已安装的软件包和查询未安装的 RPM 包文件两类,核心选项分别为 -q(已安装)和 -qp(未安装),搭配子选项实现精准查询,所有查询操作均无需依赖网络。openEuler 24.03 对 rpm 查询命令做了性能优化,大幅提升了海量包的查询速度。
1)查询已安装的 RPM 软件包(核心:rpm -q + 子选项)
适用于查询系统中已安装的软件包,参数为软件名(非完整包文件名)
|
命令组合 |
功能说明 |
实战案例 |
输出效果 |
|
rpm -q 软件名 |
查询指定软件是否已安装 |
rpm -q wget |
已安装:输出包名;未安装:提示“未安装软件包wget" |
|
rpm -qa |
列出系统中所有已安装的RPM软件包 |
rpm -qa |
逐行输出所有包名,数量可达数千个 |
|
rpm -qa | grep -i关键词 |
模糊查询含指定关键词的软件包(-i 忽略大小写) |
rpm -qa | grep -i python3 |
列出所有名称含python3的已安装包 |
|
rpm -qi软件名 |
查看指定软件的详细信息(版本、发布时间、用途、许可证等) |
rpm -qi firewalld |
输出软件的完整元信息,包括安装时间、开发者、功能描述 |
|
rpm -q1软件名 |
列出指定软件安装的所有文件和目录 |
rpm -ql nginx |
逐行输出该软件的所有文件路径,对应的文件构成 |
|
rpm -qf文件/目 录路径 |
查看指定文件/目录由哪个软件包安装(反向查询) |
rpm -qf /usr/bin/nginx |
输出该文件所属的软件包名 |
核心注意:rpm 命令仅能查询通过 RPM 方式安装的软件,对于源码编译、手动复制的软件,无法获取任何信息,这是 RPM 包管理的边界。
实战案例1:查询 openEuler 24.03 中是否安装 elinks 和 lynx,模糊查询 python3 相关软件:
# 精准查询两个软件的安装状态
[root@localhost ~]# rpm -q elinks lynx
# 模糊查询python3 相关软件(忽略大小写)
[root@localhost ~]# rpm -qa | grep -i python3
实战案例 2:查看 python3-firewall 的详细信息,反向查询其配置文件所属包:
# 查看详细信息
[root@localhost ~]# rpm -qi python3-firewall
# 反向查询配置文件所属包
[root@localhost ~]# rpm -qf /etc/firewalld/firewalld.conf
2)查询未安装的 RPM 包文件(核心:rpm -qp + 子选项)
适用于在安装前查看 RPM 包文件的信息,避免安装错误,参数为 RPM 包的完整文件路径(非软件名),常用子选项与已安装查询一致,核心为-qpi(查详细信息)、-qpl(查包内文件)。
(3)安装、升级、卸载RPM软件包
该操作是 RPM 包管理的核心应用,openEuler 24.03 完整支持 rpm 的安装、升级、卸载功能,需注意依赖关系和参数格式:安装/升级的参数为 RPM 包完整路径,卸载的参数为软件名;若存在依赖缺失,系统会直接报错,需先安装依赖包。
核心选项说明
|
核心选项 |
功能 |
常用组合选项 |
适用场景 |
|
-i |
安装新的rpm包 |
-ivh |
全新安装,查看安装进度和详细信息 |
|
-U |
升级指定软件包,未安装则直接安装 |
-Uvh |
软件版本更新,兼容全新安装 |
|
-F |
更新指定软件包,未安装则放弃 |
-Fvh |
仅对已安装软件进行版本更新 |
|
-e |
卸载指定软件包 |
-e |
移除已安装的软件,仅需软件名 |
|
子选项 -h |
以“#”显示安装/升级进度 |
搭配-i/-U/-F |
直观查看安装过程 |
|
子选项-v |
显示安装/升级的详细信息 |
搭配-i/-U/-F |
排查安装错误 |
|
--force |
强制安装 |
-ivh --force |
替换已安装的同版本包/安装旧版本包 |
|
--nodeps |
忽略依赖关系 |
-ivh --nodeps / -e --nodeps |
强制安装/卸载,忽略依赖检查 |
重要警告:--force 和 --nodeps 为强制操作选项,仅适用于学习/调试场景!生产环境中严禁使用,忽略依赖会导致软件功能异常、系统稳定性受损,甚至系统崩溃,openEuler 24.03 的系统校验机制会对强制操作做额外风险提示。
3,DNF软件包管理器(RPM系新一代工具,核心重点)
1,DNF概述与工作机制
DNF(DandifiedYUM)是YUM的下一代升级版本,是openEuler24.03的默认包管理器,基于RPM包管理机制,openEuler24.03对DNF做了深度优化,包括鲲鹏架构适配、镜像源智能选择、依赖解析效率提升等,解决了传统YUM的速度慢、依赖解析差、内存占用高等问题,是openEuler24.03软件管理的首选工具。
(1)DNF的核心优势
1.自动化依赖解决:采用新一代依赖解析引擎,openEuler24.03针对鲲鹏和x86架构做了双架构依赖优化,能快速构建复杂的依赖图,自动下载并安装所有缺失的依赖包,无需手动干预;
2.多仓库支持:可配置多个软件仓库(官方仓库、第三方仓库如EPEL、openEuler专属仓库),自动从仓库中获取最新的软件包;
3.智能镜像源:openEuler24.03内置了专属的镜像源调度机制,可根据用户的地理位置和网络环境自动选择最优的openEuler镜像服务器,大幅提升软件下载速度;
4.模块化管理:支持软件模块(Module),可快速切换软件的不同版本(如Python3.9/3.11),openEuler24.03强化了模块的版本隔离能力,避免版本冲突:
5.命令简洁:保持与YUM完全兼容的命令格式,学习成本低,YUM用户可无缝切换:
6.高效稳定:相比YUM,占用内存更少、执行速度更快,支持并行下载,openEuler24.03优化了
DNF的内存管理,适合大规模软件管理和云原生环境;
7.多架构兼容:完美支持x86_64、aarch64等openEuler24.03主流架构,自动匹配对应架构的
软件包。
(2)DNF的核心工作机制
DNF的工作基于软件仓库和元数据,核心流程为“读取仓库配置→下载元数据→解析依赖下载并安
装软件包”,openEuler24.e3对该流程做了轻量化优化,减少了磁盘和内存占用,具体机制如下:
1)软件仓库(Repository)
软件仓库是DNF的软件来源,分为官方仓库(openEuler24.03自带,如base、appstream、extras)和第三方仓库(如EPEL、Nginx官方仓库、openEuler社区仓库),仓库的配置文件存放于/etc/yum.repos.d/,文件后缀为.repo,该目录是DNF的核心配置目录,所有.repo文件都会被DNF自动识别。
2)元数据(Metadata)
每个软件仓库都会提供元数据,包含仓库中所有软件包的名称、版本、依赖关系、文件列表、下载地址等信息,DNF会定期下载并缓存元数据到本地(/var/cache/dnf/),openEuler24.03优化了元数据的压缩和缓存策略,避免每次操作都实时扫描仓库,大幅提升查询和安装速度,元数据默认有过期时间(如6小时),过期后会自动更新。
3)仓库配置文件解析(以openEuler-extras.repo为例)
仓库配置文件采用段式配置,每个仓库对应一个[仓库名】段,包含多个配置项,核心配置项及说明如下,掌握后可自行配置第三方仓库,openEuler24.03的仓库配置支持更多架构相关变量
2,DNF命令全流程实操(与YUM兼容)
DNF 命令的格式简洁直观,完全兼容YUM命令,OpenEuler24.03完整支持所有DNF核心命令,
核心格式为:dnf【选项/子命令】【软件包名】【参数]
DNF的操作均依赖网络(从仓库下载软件包/元数据),若服务器无网络,可配置openEuler24.03本地光盘仓库。
1,软件包查询(核心:list/info/search)
|
命令 |
功能说明 |
实战案例 |
|
dnf list all |
列出所有已安装和仓库中可用的软件包 |
dnf list all |
|
dnf list 软件名 |
查看指定软件的安装状态和可用版本 |
dnf list nginx |
|
dnf list available |
仅列出仓库中可安装的未安装软件包 |
dnf list available |
|
dnf list updates |
列出系统中可升级的软件包 |
dnf list updates |
|
dnf info 软件名 |
查看指定软件包的详细信息(版本、大小、用途、依赖等) |
dnf info tree |
|
dnf search 关键词 |
搜索仓库中名称/描述含指定关键词的软件包 |
dnf search webserver |
实战案例1:查看 openEuler 24.03 中 nginx 的安装状态和详细信息:
# 查看nginx 的状态(已安装/可安装)
[root@localhost ~]# dnf list nginx
# 查看nginx 的详细信息
[root@localhost ~]# dnf info nginx

实战案例 2:在 openEuler 24.03 中搜索 Web 服务器相关软件,模糊查询 tree 软件:
# 搜索 Web 服务器相关软件
[root@localhost ~]# dnf search web server
# 模糊查询 tree 软件
[root@localhost ~]# dnf search tree

2,软件包安装(核心:dnfinstall)
DNF安装软件的核心优势是自动解决依赖,只需指定软件名,DNF会自动从openEuler仓库下载软件包及所有依赖包,无需手动处理,是最常用的操作之一。
核心命令:dnf install [选项]软件名
选项-y:自动确认所有操作,无需手动输入y(适用于脚本/批量操作);可同时安装多个软件,用空格分隔软件名。
实战案例:在openEuler 24.03中安装tree工具,自动确认安装(-y):
[root@localhost ~]# dnf install -y tree
3,软件包升级(核心:dnf update)
DNF可快速升级单个软件、多个软件或整个系统的所有软件,自动解决升级过程中的依赖问题,openEuler24.03的dnf update命令支持跨架构的包升级校验,是系统维护的重要操作。
核心命令:
1.dnf update[选项】软件名:升级指定软件包;
2.dnf update[选项]:升级系统中所有可升级的软件包(系统更新);
3.选项-y:自动确认升级。
实战案例:在openEuler 24.03中升级NetworkManager软件包,自动确认:
[root@localhost ~]# dnf update -y NetworkManager
4,软件包卸载(核心:dnf remove)
DNF卸载软件时,会自动检查并提示依赖的软件包,避免误卸载导致系统功能异常,openEuler24.03强化了dnf remove的依赖校验,防止误删系统核心包,卸载后会自动释放磁盘空间。
核心命令:dnf remove [选项】软件名
选项-y:自动确认卸载;
可同时卸载多个软件,用空格分隔。
实战案例:在 openEuler 24.03 中卸载已安装的 tree 工具,自动确认:
[root@localhost ~]# dnf remove -y tree
5,DNF其他常用命令
|
命令 |
功能说明 |
|
dnf clean all |
清理DNF的缓存(元数据+下载的软件包),解决缓存损坏问题,openEuler优化了缓存清理的速度 |
|
dnf makecache |
手动生成元数据缓存,提升后续操作速度,支持多架构元数据缓存 |
|
dnf repolist |
列出当前启用的所有软件仓库 |
|
dnf repolist all |
列出所有仓库(启用+禁用) |
|
dnf module list |
软件名 查看软件的模块版本(如Python、Node.js),openEuler强化了模块的版本管理 |
|
dnf check |
检查系统中存在的依赖问题,openEuler新增了架构依赖校验 |
4,从源代码编译安装程序(定制化安装,核心实操)
1,源代码编译安装概述
源代码包(TarBall)是开源软件的原始发布形式,以.tar.gz/.tar.bz2为后缀的压缩包,包含软件的所有原始代码(C/C++/Python等),需通过编译转换为系统可识别的二进制可执行文件后才能运行。
openEuler 24.03 作为企业级 Linux 发行版,完美支持源代码编译安装,同时对鲲鹏、x86 等架构做了编译优化,提供了更完善的开发工具链。与 RPM/DNF 的二进制安装相比,源代码编译安装的核心价值在于定制化,是搭建企业级服务(如 Nginx、MySQL、Redis)的常用方式,适用于以下场景:
1. 需要软件的最新版本:开源软件通常先发布源代码包,二进制包(RPM/DEB)会滞后数周/数月,编译安装可快速获取最新功能和安全补丁;
2. 需要定制软件功能:二进制包仅包含软件的基础功能,编译安装时可通过配置选项开启/关闭特定功能(如 Nginx 开启 SSL、HTTP/2 模块),满足企业个性化需求;
3. 需要适配特殊系统环境:openEuler 24.03 广泛应用于鲲鹏服务器、云原生环境等特殊场景,部
分二进制包无法适配,编译安装可根据硬件架构优化编译参数,提升程序性能;
4. 需要修改软件源代码:企业可根据自身需求修改开源软件的源代码,添加自定义功能,修改后需
重新编译安装才能生效;
5. 适配 openEuler 专属架构:针对 openEuler 24.03 支持的鲲鹏(aarch64)等架构,部分软件
无官方二进制包,编译安装是最优选择。
编译安装的前提:安装开发环境
源代码编译需要编译器和构建工具,核心依赖为gcc(c/C++编译器)和make(构建工具),此外,不同软件还需要对应的开发库(如Nginx需要pcre-devel、zlib-devel),开发库的后缀通常为-devel,表示开发用的头文件和库文件。
openEuler 24.03 的官方仓库提供了完整的开发工具链,同时对鲲鹏架构的编译工具做了专项优化,核心命令:在 openEuler 24.03 中通过 DNF 安装基础编译环境:
[root@localhost ~]# dnf install -y gcc make
# 基础编译工具,openEuler 24.03 默认 gcc 12.2 版本
# 通用开发库(大部分软件编译都需要)
[root@localhost ~]# dnf install -y pcre-devel zlib-devel openssl-devel

2,源代码编译安装的标准流程(四步核心,通用所有开源软件)
所有开源软件的源代码编译安装都遵循统一的标准流程,核心为解包→配置→编译→安装四步
步骤1:下载并解包源代码包(Tar解包)
(1)下载源代码包
优先从软件官方网站下载源代码包,保证包的完整性和安全性,Nginx 官方下载地址:
http://nginx.org/download/,在 openEuler 24.03 中使用 wget 命令直接下载:
# 下载Nginx 1.26.2 源代码包
[root@localhost ~]# wget http://nginx.org/download/nginx-1.26.2.tar.gz
(2)解包源代码包
源代码包为tar压缩包,使用tar命令解包,核心选项:-z(解.gz包)、-x(解包)、-v(显示详细信息)、-f(指定包文件),解包后会生成一个同名的源代码目录
# 解包 Nginx 源代码包
[root@localhost ~]# tar -zxvf nginx-1.26.2.tar.gz
# 解包完成后,查看生成的目录
[root@localhost ~]# ls
![]()
步骤2:配置编译参数(./configure,核心定制步骤)
解包后进入源代码目录,执行./configure脚本进行编译配置,这是定制化的核心步骤,通过配置选项指定软件的安装目录、启用/禁用功能模块、依赖库路径等。
(1)进入源代码目录
[root@localhost ~]# cd nginx-1.26.2 ![]()
(2)执行./configure 配置,指定核心参数
Nginx 的核心配置选项为--prefix(指定安装目录),其他选项为功能模块,本次配置开启 SSL 模块(HTTPS 支持)和 HTTP/2 模块(高性能网络协议),同时适配 openEuler 24.03 的系统环境,这是企业级 Nginx 的基础配置:
[root@localhost nginx-1.26.2]# ./configure --prefix=/usr/local/nginx --with-http_ss
l_module --with-http_v2_module
参数解析:
• --prefix=/usr/local/nginx: 指定 Nginx 的安装目录为/usr/local/nginx, 所有文件都会安
装到该目录, 便于管理和卸载, 符合 openEuler 的文件目录规范;
• --with-http_ssl_module: 启用 SSL 模块, 支持 HTTPS 协议, 需提前安装 openssl-devel,
openEuler 24.03 的 openssl-devel 为 3.0 版本, 完美兼容 Nginx;
• --with-http_v2_module: 启用 HTTP/2 模块, 提升 Web 服务的传输速度, 需提前安装 pcre-devel
和 zlib-devel.
配置失败的解决:若配置失败,会提示 “error: xxx not found”,如 “error: SSL modules require
the OpenSSL library”,表示缺失 openssl-devel,在 openEuler 24.03 中通过 dnf 安装对应依赖
后重新执行 ./configure 即可。
步骤3:编译源代码(make,无定制,纯执行)
配置成功后,执行make命令进行编译,make会根据生成的Makefile脚本,调用gcc编译器将源代码转换为二进制可执行文件。openEuler24.03的gcc编译器做了编译优化,支持多核并行编译,可通过-j参数指定编译核心数,提升编译速度,编译过程的时间取决于软件大小和服务器性能(Nginx编译仅需数秒)。
核心命令:
[root@localhost nginx-1.26.2]# make # 基础编译,单核心![]()
# 多核并行编译(推荐),指定 4 个核心,根据服务器 CPU 调整
[root@localhost nginx-1.26.2]# make -j 4
编译成功的标志:无 error、warning 可忽略,最后回到命令行提示符,无报错信息。
步骤4:安装编译后的程序(makeinstall)
编译成功后,执行makeinstall命令,将编译好的二进制文件、配置文件、帮助文档等复制到./configure指定的安装目录(/usr/local/nginx),完成最终的安装。openEuler24.03会自动为安装的程序添加执行权限,无需手动配置。
核心命令:直接执行 make install:
[root@localhost nginx-1.26.2]# make install![]()
# 安装过程输出少量信息,无报错表示安装成功
步骤5:验证安装并启动服务(实战验证)
安装完成后,所有Nginx的文件都在/usr/local/nginx目录中,核心目录遵循openEuler的文件规范:
sbin/:可执行文件目录,nginx为核心启动程序;
conf/:配置文件目录,nginx.conf为核心配置文件;
logs/:日志文件目录,error.log和access.log为核心日志。
(1) 启动 Nginx 服务
# 进入 Nginx 的 sbin 目录,执行 nginx 启动程序
[root@localhost nginx-1.26.2]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx # 启动 Nginx,无输出表示启动成功
(2) 验证 Nginx 是否启动
使用 ps -ef | grep nginx 查看 Nginx 进程,若存在 master process(主进程)和 worker process
(工作进程),表示启动成功,openEuler 24.03 的 ps 命令会显示进程的架构信息:
[root@localhost sbin]# ps -ef | grep nginx
(3)浏览器验证
在客户端浏览器中输入 openEuler 24.03 服务器的 IP 地址,若看到Nginx 的欢迎页面,表示 Nginx 在 openEuler 24.03 上编译安装成功,可正常提供 Web 服务。
(3)源代码编译安装的核心优势与卸载方法
(1)核心优势
定制化:可根据需求开启/关闭功能模块,优化软件性能,适配openEuler24.03的系统特性;
最新版本:快速获取软件的最新功能和安全补丁,弥补openEuler官方仓库包版本滞后的问题;
独立目录:所有文件都在指定的安装目录,便于管理和迁移,符合openEuler的文件管理规范;
跨架构兼容:可在openEuler24.03的x86_64、aarch64等架构上编译,适配不同硬件环境;
深度优化:可针对openEuler的系统内核和硬件架构做编译优化,提升程序运行效率。
(2)卸载方法
源代码编译安装的软件无官方卸载命令,由于所有文件都在--prefix指定的安装目录,直接删除该目录即可完成卸载,无残留,这是--prefix参数的核心价值,在openEuler24.03中该方法安全无副作用:
# 卸载Nginx,直接删除安装目录
[root@localhost ~]# rm -rf /usr/local/nginx![]()
三种应用程序管理方式的对比与场景选择
|
管理方式 |
核心工具 |
安装速度 |
依赖处理 |
功能定制性 |
软件版本 |
管理难度 |
openEuler24.03适配性 |
适用场景 |
|
RPM原生命令 |
rpm |
快(免编译) |
手动处理,需自行安装依赖 |
无,仅能安装默认功能 |
标准化,版本较稳定 |
中等,需处理依赖 |
完美支持,优化了鲲鹏架构依赖解析、提升海量包查询速度 |
无网络环境的本地安装;单软件快速安装/卸载 |
|
DNF包管理器 |
dnf |
快(免编 译) |
自动解决,无需手动干预 |
低,仅能安装仓库中预设的功能 |
openEuler官方仓库版本,略滞后于最新版 |
低,命令 简洁,自动化程度高 |
深度优化,支持 x86_64/aarch 64多架构、智能镜像源调度、模块化版本隔离 |
日常系统管理:标准化服务部署:快速安装/升级/卸载软件:有网络环境的服务 器:云原生环 境:企业级标 准化部署 |
|
源代码编译安 装 |
./confi gure/make/make install |
慢(需编 译) |
手动处理,需安装编译依赖和开发库 |
高,可按需开启/关闭功能模块,修改源代码 |
最新版本,可获 取最新功能和安全补丁 |
高,需掌 握编译环境和配置 选项 |
完美支持,提供 gcc12.2完善开发工具链,适 配 |
企业级定制化服务部署:需要软件最新版 本:鲲鹏架构 专属适配:修 改软件源代 码定制功能; 特殊系统环 境适配 |
核心选择原则
1.日常使用/标准化部署:优先选择DNF,自动化程度高,管理难度低,是openEuler24.03的默认选择,适配绝大多数生产和运维场景,能充分利用openEuler的智能镜像源和自动依赖解决能力;
2.无网络/离线环境:选择RPM本地安装,需提前从openEuler官方镜像站下载好所有依赖包,适合机房隔离、无外网的服务器部署;
3.企业级定制化/鲲鹏架构适配:选择源代码编译安装,可针对openEuler24.03的内核特性和鲲鹏硬件架构做编译优化,开启专属功能模块,满足个性化业务需求,是搭建Nginx、MySQL、Redis等企业级定制服务的首选。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)