news 2026/8/28 21:40:32

Linux管理应用程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux管理应用程序

1. Linux 命令 VS Linux 应用程序

二者都属于可执行单元,但定位、存放路径差别很大。

对比项Linux 系统命令Linux 应用程序(软件)
文件大小轻量小巧体积大,整套功能模块
存放路径/bin/sbin;bash 内置命令/usr/bin/usr/local/bin;管理服务放/usr/sbin/usr/local/sbin
安装时机系统自带,属于系统基础组件系统装好之后,按需额外安装
业务作用做系统基础操作:ls、cd、rm实现业务服务,如 Nginx、数据库、Python
调用语法固定格式:命令 + 选项 + 参数开发者自定义,格式不固定
运行界面仅字符终端 CLI支持命令行、图形 GUI 等多种形式

2. 应用程序文件分布(FHS 标准)

openEuler 遵循 FHS 文件系统标准,软件不同类型文件分开存放在固定目录。

文件类型存放目录说明
普通可执行程序/usr/bin普通普通用户就能运行
系统服务管理程序/usr/sbin仅限 root 管理员执行,防火墙、网络管理工具
配置文件/etc软件参数;复杂软件会建立子目录;修改配置需要重启程序生效
运行日志/var/log排错核心,记录报错、访问记录
参考说明文档/usr/share/doc/软件说明、更新日志
man 帮助手册/usr/share/man/man 软件名查看帮助

3. Linux 软件包四大封装

分两大类:二进制包(直接用,不用编译)、源码包(需要编译)

封装类型后缀特点适用系统管理工具优点缺点
RPM 包*.rpm预编译二进制RHEL/openEulerrpm、dnf免编译,速度快,依赖提示版本更新慢,只能 RPM 系列系统用
DEB 包*.deb预编译二进制Ubuntu、Debiandpkg、apt生态丰富,依赖管理严格仅限 Debian 家族
源码包 TarBall.tar.gz/.tar.bz2原始源代码全系列 Linuxgcc、make版本新,可以自定义功能,跨系统需要装编译环境,步骤繁琐,手动处理依赖
自包含安装包.bin / install.sh自带全部依赖全系列 Linux执行脚本安装自带依赖,开箱即用目录混乱,系统包管理器管不到,卸载麻烦

二、RPM 软件包管理工具

注意:rpm 底层工具,不会自动解决依赖,出现依赖报错要手动补齐依赖包。

1. RPM 四大核心能力

  1. 全生命周期管理:数据库路径/var/lib/rpm/,记录每个软件的文件、依赖、版本;
  2. 依赖解析:识别软件依赖关系,打印缺失依赖;
  3. 统一包命名规则,从文件名读出版本、架构信息;
  4. 事务机制:安装升级卸载作为事务,出错自动回滚,保障系统不崩。

2. rpm 命令语法查找未安装

核心选项作用
-q查询已经装好的软件
-qp查询还没安装的 rpm 包文件(要写完整文件路径)
-i全新安装
-U升级;没装过就直接安装
-F只升级已经安装好的,没装就放弃操作
-e卸载软件,只写软件名,不要写包文件路径
-V校验软件完整性

--nodeps忽略依赖检查;--force强制覆盖安装,容易搞坏系统。

安装RPM包(安装 openEuler 24.03光盘中的wget包/安装成功:查看可执行文件路径/卸载RPM包(卸载命令:rpm -e 软件名)/验证卸载成功:三、DNF 包管理器(openEuler 默认,YUM 继任者)

DNF 底层基于 RPM,最大亮点自动处理依赖;需要网络,离线可以配置本地光盘源。

1. DNF 主要优势

  1. 自动解析、下载全部依赖,不用人工处理;
  2. 支持多个软件仓库,官方源、第三方源;仓库配置目录/etc/yum.repos.d/*.repo
  3. 智能镜像,自动选速度快的服务器;
  4. 模块化,可以切换软件不同版本;
  5. 命令兼容旧 YUM,上手简单;
  6. 内存占用低,支持并行下载;完美支持 x86_64、aarch64 鲲鹏架构。

2. DNF 查询软件

命令功能
dnf list all全部软件(已装 + 仓库可用)
dnf list nginx看指定软件状态、可用版本
dnf list available只看仓库里还没装的包
dnf list updates查看哪些包可以升级
dnf info tree软件详细信息,版本、大小、依赖
dnf search "web server"按关键词搜索软件v

查看nginx的状态:/查看nginx详细信息:

核心命令:dnf install 【选项】 软件名:

选项-y:自动确认所有操作,无需手动输入y(适用于脚本/批量操作);

可同时安装多个软件,用空格分隔软件名。

安装tree工具,自动确认安装(-y)四、源代码编译安装软件】

适用场景:想要最新版本、自定义功能模块、适配特殊硬件架构。 缺点:没有 rpm 数据库记录,卸载需要手动删目录。

1. 使用场景

  1. 官方二进制包版本老旧,需要软件最新版;
  2. 需要开关特定功能模块(Nginx 开启 SSL、http2);
  3. 鲲鹏 aarch64 等特殊硬件,没有现成 RPM 包;
  4. 需要修改软件源代码,增加自研业务逻辑。

2. 编译环境前置准备

必须安装编译工具链 gcc、make;-devel结尾包是开发库,存放头文件。

载源代码包:优先从软件官方网站下载源代码包,保证包的完整性和安全性,Nginx官方下载地址:http://nginx.org/download/。

下载Nginx1.26.2源代码包:解包Nginx源代码包:进入源代码目录执行./configure配置,指定核心参数配置成功后,执行make命令进行编译,make会根据生成的Makefile脚本,调用gcc 编译器将源代码转换为二进制可执行文件安装完成后,所有 Nginx的文件都在/usr/1ocal/nginx 目录中,核心目录遵循 openEuler

sbin/:可执行文件目录,nginx为核心启动程序;

conf/:配置文件目录,nginx.conf为核心配置文件;

logs/:日志文件目录,error.log和access.1og为核心日志。

启动Nginx服务验证Nginx五,源码编译优缺点 & 卸载

优点:

  • 自由开关功能模块,硬件层面性能优化;
  • 获取最新版本,不受系统仓库版本限制;
  • 全部文件集中在--prefix目录,方便迁移;
  • 兼容 x86_64、鲲鹏 aarch64。

缺点:需要编译环境;系统包管理器无法识别;升级需要重新编译。

卸载源码编译软件:没有卸载脚本,直接删除整个安装目录

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 21:40:08

九款被低估的Python工具库

有的开发者, 这会儿还在手写嵌套以后再取值, 还有日志配置方面的操作呢, 明明存在着更能够省力的办法, 可是却根本没人去提及。最近的时候, 翻阅了几个真实的项目代码, 结果发现不少团队, 都卡在重复去制造轮子这样的事情上面了, 事实上这个问题, 早已经被其他人悄无声息地给解…

作者头像 李华
网站建设 2026/8/28 21:31:30

MATLAB语法入门:从矩阵操作到向量化编程的实战指南

1. 从“计算器”到“编程语言”:MATLAB语法学习的核心视角很多刚接触MATLAB的朋友,尤其是从其他编程语言(比如Python、C)转过来的,会下意识地把它当成一个“带界面的高级计算器”或者“一个画图工具”。这种认知会让你…

作者头像 李华
网站建设 2026/8/28 21:30:21

苹果CMS视频站搭建部署实战:MDYS14源码安装与避坑指南

简介:内容管理系统是视频站点快速上线的核心支撑,它通过统一的内容分类、资源入库与播放调度,解决了从数据管理到前端展示的系列问题。苹果CMS作为开源的PHP/MySQL视频内容管理方案,凭借轻量部署与成熟的模板生态,成为…

作者头像 李华
网站建设 2026/8/28 21:24:54

美赛C题三年解题策略:从数据洞察到建模实战

1. 项目概述:从零散信件到系统化洞察如果你参加过或关注过美国大学生数学建模竞赛(MCM/ICM),尤其是2020到2022年这三年,那你对C题一定不陌生。C题,也就是“数据洞察”题,每年都以其庞大的数据集…

作者头像 李华
网站建设 2026/8/28 21:12:54

C语言指针进阶:手写qsort函数,掌握回调与泛型编程

1. 项目概述:从“会用”到“懂用”的指针进阶之路在C语言的世界里,指针常常被初学者视为“洪水猛兽”,但当你真正跨过那道坎,会发现它其实是通往高效、灵活编程的“瑞士军刀”。我们这次要聊的,远不止于指针的基础语法…

作者头像 李华