Linux基础——应用程序的管理
目录
一、Linux 应用程序基础
1.1Linux 应用程序的系统文件构成
Linux 遵循FHS(文件系统层次结构标准),openEuler 24.03 同样遵循,应用不同类型文件分散存放在固定目录,规范如下:
| 文件类型 | 存放目录 | 说明 | 示例 |
|---|---|---|---|
| 普通可执行程序 | /usr/bin |
所有普通用户均可执行 | python3、nginx、tree |
| 服务 / 管理程序 | /usr/sbin |
仅 root 管理员可执行,多为系统工具 | firewalld、networkctl |
| 配置文件 | /etc |
程序参数,修改后重启生效,多程序会自建子目录 | /etc/nginx、/etc/my.cnf.d |
| 日志文件 | /var/log |
记录运行、报错、访问信息,用于排错 | /var/log/nginx/access.log、/var/log/messages |
| 参考文档 | /usr/share/doc/ |
安装说明、手册、更新日志 | /usr/share/doc/nginx/ |
| man 帮助手册 | /usr/share/man/ |
在线帮助文档,man 程序名查看 |
man nginx、man rpm |
1.2Linux软件封装类型
| 封装类型 | 文件后缀 | 核心特性 | 适用发行版 | 管理工具 | 优势 | 劣势 |
|---|---|---|---|---|---|---|
| RPM 包 | *.rpm |
预编译二进制包,RPM 系标准 | RHEL、CentOS、openEuler、openSUSE | rpm、yum、DNF | 免编译,安装快;版本标准化;包管理器自动解决依赖 | 版本可能滞后;定制性差;仅 RPM 系可用 |
| DEB 包 | *.deb |
预编译二进制包,Debian 系标准 | Ubuntu、Debian、Linux Mint | dpkg、apt | 免编译,安装快;依赖管理严格;Ubuntu 软件生态丰富 | 仅限 Debian 系;跨发行版兼容性差 |
| 源代码包 (TarBall) | .tar.gz/.tar.bz2 |
原始源码,未编译 | 全 Linux 发行版通用 | gcc、make、./configure | 版本最新;可按需定制;跨发行版兼容 | 需要编译环境;步骤繁琐;手动解决依赖 |
| 自包含安装程序 | .bin/.sh/install.sh |
预编译 + 自带依赖,独立安装包 | 全 Linux 发行版通用 | chmod +x执行脚本 |
免编译,自带依赖;跨发行版兼容;安装向导化 | 安装目录不规范;系统包管理器无法管理;卸载麻烦 |
二、RPM软件包管理工具
2.1RPM概述
RPM(RPM Package Manager)是RPM系列Linux系统的底层基础包管理工具,是DNF工具的底层依赖。仅用于管理本地RPM格式安装包,核心特点:不自动解决依赖关系,所有依赖需手动处理。
2.2RPM常用参数
|
参数 |
功能作用 |
使用场景说明 |
|---|---|---|
|
-i |
安装软件包 |
全新安装本地rpm软件 |
|
-U |
升级软件包 |
升级已安装软件,无旧版本则直接安装 |
|
-e |
卸载软件包 |
卸载已安装的rpm软件 |
|
-v |
显示详细执行信息 |
搭配安装/升级命令,用于排查报错 |
|
-h |
显示安装进度条 |
直观查看安装进度 |
|
--nodeps |
忽略依赖校验 |
仅测试使用,强制安装/卸载,易导致系统异常 |
|
--force |
强制覆盖安装 |
覆盖同版本软件,修复文件缺失问题 |
2.3RPM常用命令
- 安装软件:
rpm -ivh 软件包名.rpm - 升级软件:
rpm -Uvh 软件包名.rpm - 卸载软件:
rpm -e 软件名 - 强制卸载(忽略依赖):
rpm -e --nodeps 软件名 - 查询软件是否安装:
rpm -qa | grep 软件名 - 查询软件详细信息:
rpm -qi 软件名
三、DNF软件包管理器
3.1DNF概述与核心优势
DNF(Dandified YUM)是YUM的下一代升级版本,是openEuler 24.03系统默认的高层包管理工具,基于RPM机制开发,完美解决YUM工具卡顿、依赖解析差的问题,是日常软件管理首选工具。
核心优势:
- 自动依赖解析:智能识别并自动下载安装所有依赖包,无需手动干预
- 多架构适配:完美兼容x86_64、aarch64鲲鹏架构
- 智能镜像加速:自动优选最优下载镜像,提升下载速度
- 模块化管理:支持软件多版本切换,版本隔离互不冲突
- 兼容YUM命令:学习成本低,语法基本通用
- 高效稳定:内存占用低、支持并行下载,适配云原生场景
3.2DNF工作机制
完整工作流程:读取仓库配置 → 加载本地元数据缓存 → 解析软件依赖 → 批量下载并安装软件
- 软件仓库配置目录:
/etc/yum.repos.d/(后缀.repo) - 元数据缓存目录:
/var/cache/dnf/(存储软件版本、依赖、下载地址等信息)
3.3DNF实操命令
3.3.1软件查询命令
dnf list all:列出系统所有已安装+仓库可用软件包dnf list 软件名:查询指定软件的安装状态与可用版本dnf list available:仅列出仓库中可安装、未安装的软件dnf list updates:查询系统可升级的所有软件包dnf info 软件名:查看软件详细信息(版本、功能、依赖)dnf search 关键词:模糊搜索相关软件包
3.3.2软件安装、升级、卸载
dnf install -y 软件名:自动确认安装软件,自动解决所有依赖dnf update -y 软件名:升级指定软件dnf update -y:全系统批量升级所有可更新软件dnf remove -y 软件名:卸载指定软件,自动校验系统核心依赖,防止误删
3.3.3仓库与缓存管理
dnf repolist:列出当前系统已启用的软件仓库dnf repolist all:列出所有仓库(启用+禁用)dnf makecache:手动生成、更新元数据缓存,提升命令执行速度dnf clean all:清理所有缓存文件,解决缓存损坏、下载异常问题dnf module list 软件名:查看模块化软件的多版本信息dnf check:检测系统软件依赖是否存在异常
3.4RPM与DNF区别
- RPM:底层工具,仅操作本地rpm包,无自动依赖处理,操作风险高,适合精准本地包管理
- DNF:高层工具,联网读取仓库,自动解析、补齐依赖,安全高效,日常运维首选
四、从源代码编译安装程序
4.1源码安装概述
源代码包为软件原始开发代码,无编译封装,所有Linux发行版通用。适合需要最新版本、自定义功能、特殊定制软件的场景,是Linux高级软件安装方式。
优缺点:
版本最新、支持自定义编译参数、跨系统兼容;缺点是操作复杂、需搭建编译环境、手动排查依赖。
4.2环境准备
编译源码必须提前安装编译工具链,否则编译失败:
- gcc/c++:C/C++语言编译工具
- make:批量编译管理工具
核心命令:dnf install -y gcc make
4.3源码安装标准流程
所有开源软件的源代码编译安装都遵循统一的标准流程:解包 → 配置 → 编译 → 安装
- 下载并解包源代码包(Tar解包)
- 配置编译参数(./configure)
- 编译源代码
- 安装编译后的程序(make install)
- 验证安装并启动服务
4.3.1下载并解包源代码包(Tar解包)
优先从软件官方网站下载源代码包,保证包的完整性和安全性,在 openEuler 24.03 中使用 wget 命令直接下载。
Nginx 官方下载地址:http://nginx.org/download/
#下载源代码包
#解包Nginx源代码包
核心代码:tar -zxvf nginx-1.26.3.tar.gz
#解包完成后,查看生成的目录
核心命令:ls
4.3.2配置编译参数(./configure)
(1)进入源代码目录
cd nginx-1.26.3
(2)执行./configure配置,指定核心参数
./configure --prefix=/usr/local/nginx --with-http_ssl_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。(3)配置成功
4.3.3编译源代码
配置成功后,执行 make 命令进行编译,make 会根据生成的 Makefile 脚本,调用 gcc 编译器将源代码转换为二进制可执行文件。
核心命令:make
4.3.4安装编译后的程序(make install)
编译成功后,执行 make install 命令,将编译好的二进制文件、配置文件、帮助文档等复制到./configure 指定的安装目录(/usr/local/nginx),完成最终的安装。
openEuler 24.03 会自动为安装的程序添加执行权限,无需手动配置。
核心命令:make install
4.3.5验证安装并启动服务
安装完成后,所有 Nginx 的文件都在 /usr/local/nginx 目录中,核心目录遵循 openEuler 的文件规范:
- sbin/:可执行文件目录,nginx 为核心启动程序;
- conf/:配置文件目录,nginx.conf 为核心配置文件;
- logs/:日志文件目录,error.log 和 access.log 为核心日志。
(1)启动 Nginx 服务
核心命令:
01 cd /usr/local/nginx/sbin
02 ./nginx #启动nginx
03 systemctl stop firewalld #关闭防火墙
(2)验证 Nginx 是否启动
核心命令:ps -ef |grep nginx
(3)浏览器验证

4.3.6 卸载nginx
(1)关闭程序
核心命令:nginx -s stop
(2)删除整个目录
核心命令:rm -rf /usr/local/nginx/
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)