管理应用程序
目录
一,Linux应用程序基础
1,Linux命令与应用程序的核心区别
| 对比维度 | Linux命令 | Linux应用程序 |
| 执行文件大小 | 体积小巧,多为轻量级可执行文件 | 体积通常更大,包含完整功能模块 |
| 存储目录 | 核心命令: /bin 、 /sbin ;内部命令集成于Bash | 普通程序: /usr/bin 、 /usr/local/bin ;服务程序: /usr/sbin 、 /usr/local/sbin |
| 安装时机 | 随操作系统默认安装,为系统基础组件 | 操作系统安装后,根据需求另行安装 |
| 功能定位 | 辅助系统管理,实现基础操作(如ls、cd、rm) | 提供独立业务功能,等同于“软件”(如Nginx、MySQL、Python) |
| 执行格式 | 固定遵循“命令字 + 选项 + 参数”标准格式 | 无固定格式,由开发者定义(可带图形界面/命令行/脚本启动) |
| 运行界面 | 仅支持字符操作界面(CLI) | 支持CLI、图形界面(GUI)等多种形式 |
2,Linux应用程序的系统文件构成
1,普通可执行程序放在/usr/bin,普通用户都可以运行;
2,服务与管理类程序放在/usr/sbin,仅root管理员能够执行。
3,配置文件主要存放在/etc目录,修改后需要重启程序才能生效。
4,日志文件位于/var/log,记录运行状态、报错与访问信息,可用于故障排查。
5,参考文档存放在/usr/share/doc,
6,man帮助手册放在/usr/share/man,可以使用man命令查看程序用法。
使用rpm -ql 软件名命令,能够查看已安装软件包的全部文件分布。

/etc/dnf/protected.d/yum.conf # 配置文件
/etc/yum.conf # 核心配置文件
/etc/yum/pluginconf.d # 插件配置子目录
/usr/bin/yum # 普通可执行文件
/usr/share/man/man8/yum.8.gz # man手册页
3,Linux软件包的四大封装类型及核心特性
| 封装类型 | 文件后缀 | 核心特性 | 适用Linux发行版 | 核心管理工具 | 优势 | 劣势 |
| 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软件包管理工具
1,RPM概述
1,RPM即RPM软件包管理器,由Red Hat首创,是openEuler、RHEL等RPM系Linux发行版的核心包管理工具,奠定了Linux二进制包管理的行业标准。
2,RPM有四大核心优势:一是依托数据库实现软件全生命周期管理,可追踪软件相关信息;二是能够自动解析软件依赖;三是软件包采用统一标准化命名;四是安装、升级、卸载属于事务性操作,出错可自动回滚,保障系统稳定。
3,RPM包文件名有固定标准格式:软件名-版本号-发布次数.操作系统版本.硬件架构.rpm。
以lynx-2.8.9-20.oe2403.x86_64.rpm举例,软件名代表程序名称;版本号分为主版本、次版本、修订号,分别对应大更新、新增功能、bug修复;发布次数是该版本在发行版里的构建次数;操作系统版本标识适配的系统;硬件架构代表兼容的CPU类型,noarch则是跨架构通用。
2,RPM命令的全流程实操
1,rpm核心选项: -q 用于查询、 -V 用于验证; -i 安装、 -U 升级(不存在就直接安装)、 -F 更新(不存在则不安装); -e 卸载。可以执行 man rpm 查看全部参数。
查询是rpm最常用功能,分为查询已安装包和未安装包,已安装包用 rpm -q ,未安装包用 rpm -qp
2,查询RPM软件包信息
| 命令组合 | 功能说明 | 实战案例 | 输出效果 |
| 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 -ql 软件名 | 列出指定软件安装的所有文件和目录 | rpm -ql nginx | 逐行输出该软件的所有文件路径,对应3.1.2的文件构成 |
| rpm -qf 文件/目录路径 | 查看指定文件/目录由哪个软件包安装(反向查询) | rpm -qf /usr/bin/nginx | 输出该文件所属的软件包名 |
3,核心选项说明,rpm安装、升级、卸载有多个核心选项: -i 用于全新安装RPM包,常用组合 -ivh ; -U 升级软件包,软件未安装时直接安装,常用 -Uvh ; -F 仅更新已存在的软件包,未安装则不处理,常用 -Fvh ; -e 用来卸载软件包。
子选项中 # 可以展示安装进度, -h 显示安装相关详细信息,二者常和 -i/-U/-F 搭配使用,便于查看过程、排查错误。 --force 用于强制安装, --nodeps 会忽略依赖关系,这两个属于高危强制参数,只适合学习调试场景,生产环境不能使用
安装RPM包
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/wget-1.21.4-1.oe2403.x86_64.rpm
# 验证安装
[root@localhost ~]# which wget
# 升级RPM包
[root@localhost ~]# rpm -Uvh /media/cdrom/Packages/wget-新版本.oe2403.x86_64.rpm
# 卸载RPM包
[root@localhost ~]# rpm -e wge
4,DNF的核心工作机制
1. 软件仓库:是软件来源,分为官方仓库和第三方仓库;仓库配置文件存放在 /etc/yum.repos.d/ ,后缀为 .repo ,会被DNF自动识别。
2. 元数据:记录仓库内软件包名称、版本、依赖等信息,DNF会缓存到 /var/cache/dnf/ ,默认有过期时间,到期自动更新,提升查询安装速度。
3. 仓库配置文件:采用段式配置,一个仓库对应一段配置,可自行配置第三方仓库。可通过 cat /etc/yum.repos.d/openEuler-extras.repo 查看示例配置。
5,软件包查询
dnf list all :列出全部已安装和仓库可使用的软件包
dnf list 软件名 :查看指定软件安装状态与可用版本
dnf list available :只列出仓库里尚未安装的软件包
dnf list updates :列出能够升级的软件包
dnf info 软件名 :查看软件详细信息,包含版本、大小、依赖等
dnf search 关键词 :根据名称或描述检索相关软件包
四,从源代码编译安装程序
1,源代码编译安装概述
源代码编译安装,是在本地系统上将程序源码翻译成二进制可执行文件,再部署到系统的软件安装方式,区别于rpm、dnf这类直接使用预编译包的安装方式,常用于Linux开源软件部署 。
一、核心流程
1. 准备阶段:下载源码包(tar压缩包/git拉取),提前装好编译工具(gcc、make)与各类开发依赖包,解压源码并进入源码目录
2. 配置 ./configure :检测系统编译器、依赖库、系统特性;可自定义安装路径、开启/关闭功能模块;自动生成 Makefile 编译规则文件
3. 编译 make :读取Makefile,调用编译器把源码编译、链接成可执行程序/库文件;可 make -jN 多核加速编译
4. 安装 make install :把编译好的二进制程序、配置文件、手册等复制到指定系统目录(默认一般 /usr/local )
2,源代码编译安装的标准流程
1. 获取源码
下载源码压缩包(一般 .tar.gz / .tar.bz2 ),或者 git clone 拉取源码。
2. 解压源码包
tar -zxvf 源码包名.tar.gz
cd 源码目录
3. 配置 ./configure
./configure [可选参数,如--prefix=/usr/local/xxx 指定安装路径]
4. 编译 make
直接执行make install
5. 安装 make install
6.验证与启动步骤
1.启动Nginx
cd /usr/local/nginx/sbin
./nginx 无输出代表启动成功
2.查看进程验证
ps -ef | grep nginx
出现 nginx: master process (主进程)和 nginx: worker process (工作进程),说明服务正常运行;带 grep 的那一行是查询命令本身,不属于nginx业务进程。
3. 浏览器访问验证
客户端浏览器访问 http://服务器IP ,能打开Nginx默认欢迎页面,代表Web服务可正常使用。
3,三种应用程序管理方式的对比与场景选择
RPM:本地包,不自动处理依赖,离线少量安装
DNF:仓库管理,自动解决依赖,生产常规首选
源码编译:自主编译,灵活定制,适合特殊版本和个性化需求
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)