当前位置: 首页 > news >正文

一文理清 Linux 软件管理核心知识:从程序组成到包管理工具

一文理清 Linux 软件管理核心知识:从程序组成到包管理工具

Linux 系统的软件管理是运维和使用的基础,涉及命令与应用程序的区分、软件组成结构、包管理工具(rpm、yum、dnf)等核心内容。以下从核心区别、组成结构到具体工具操作,系统梳理这些知识点

一、Linux 命令与应用程序:到底有啥不一样?

很多人会混淆 “命令” 和 “应用程序”,其实两者在本质、存放位置、使用方式上有明确区别,尤其要注意内部命令、Linux 命令与应用程序的差异:

类别核心特点存放路径安装时机执行格式界面形式
内部命令属于 Shell 解释器内置,如 exit、cd 等无独立文件(嵌入 Shell)随 Shell 安装固定(命令 + 选项 + 参数)仅字符界面
Linux 命令独立可执行文件,功能基础,依赖系统/bin、/sbin操作系统安装时自带固定(命令 + 选项 + 参数)仅字符界面
应用程序功能独立,可视为 “软件”,可能依赖系统但更灵活/usr/bin、/usr/sbin、/usr/local/bin 等操作系统外另行安装无固定格式(开发者定义)可能有图形界面,形式多样

注:部分应用程序的执行文件支持命令式运行(如程序命令),这是两者容易混淆的原因之一

二、一个完整的 Linux 应用程序,通常由哪些部分组成?

典型应用程序包含 6 个核心组成部分,每个部分有固定的存放路径和作用,掌握这些能快速定位程序相关文件:

组成部分功能作用默认存放路径权限特点
普通可执行程序文件供普通用户执行的主程序/usr/bin/普通用户有权限执行
服务器 / 管理程序文件系统服务或管理类程序,需管理员操作/usr/sbin/仅管理员(root)有权限执行
配置文件程序运行的参数配置,多文件时会创建同名子目录/etc/(或 /etc/ 程序名 /)可被管理员修改
日志文件记录程序运行状态、错误信息等/var/log/按程序生成对应日志文件
参考文档数据程序说明、帮助文档、示例等/usr/share/doc/提供使用参考
man 手册程序及配置文件的帮助手册(man 命令可调用)/usr/share/man/支持命令行查询帮助

三、Linux 软件包有哪些常见类型?各适用于什么系统?

软件包是程序分发的主要形式,不同 Linux 发行版采用不同的封装格式,常见的有 3 类:

软件包类型扩展名适用系统核心特点
rpm 软件包.rpm基于 RPM 机制的系统(RHEL、Fedora、SUSE 等)依赖性强,需解决依赖关系才能安装
DEB 软件包.deb基于 DPKG 机制的系统(Debian、Ubuntu 等)依赖管理较灵活
源代码软件包.tar.gz、.tar.bz2所有 Linux 系统(需编译安装)需手动编译,可定制化程度高

四、rpm 包管理:从查询到安装卸载的全操作

rpm 是 RPM 系系统的基础包管理工具,支持查询、安装、卸载、更新等操作,命令选项丰富,需重点掌握:

1. rpm 包命名格式:看懂每个部分的含义

coreutils-8.30-4.el7.x86_64.rpm为例:

  • coreutils:软件名称
  • 8.30-4:版本号(主版本。次版本 - 修订号)
  • .el7:适配的发行版(这里指 RHEL 7 系列)
  • x86_64:处理器架构(noarch表示不区分架构)
2. rpm 核心命令:按功能分类整理
操作类型命令及选项作用说明示例
查询已安装rpm -qa列出所有已安装的 rpm 包rpm -qa python3-bind
rpm -qi 软件名查看已安装包的详细信息(版本、描述等)rpm -qi python3-bind
rpm -ql 软件名列出已安装包的所有文件和目录rpm -ql python3-bind
rpm -qf 文件/目录查看指定文件 / 目录来自哪个已安装包rpm -qf /usr/bin/ls
rpm -q 软件名检查软件是否已安装rpm -q vsftpd
查询未安装rpm -qpi 包路径查看未安装包的详细信息(需指定完整路径)rpm -qpi /mnt/Packages/vsftpd.rpm
rpm -qpl 包路径列出未安装包的所有目标文件 / 目录rpm -qpl /mnt/Packages/vsftpd.rpm
安装rpm -ivh 包路径安装软件包(-i 安装,-v 详细,-h 显示进度)rpm -ivh /mnt/Packages/vsftpd.rpm
卸载rpm -e 软件名卸载软件包(需输入软件名,而非包路径)rpm -e vsftpd
更新rpm -Uvh 包路径更新软件包(无旧版本则安装)rpm -Uvh /mnt/Packages/vsftpd-1.2.3.rpm
rpm -Fvh 包路径更新软件包(无旧版本则不安装)rpm -Fvh /mnt/Packages/vsftpd-1.2.3.rpm
强制操作--force强制安装 / 更新(忽略冲突)rpm -ivh --force 包路径
忽略依赖--nodeps忽略依赖关系(不推荐,可能导致程序异常)rpm -e --nodeps 软件名

五、yum 仓库:简化依赖管理的包管理工具

yum 基于 rpm,能自动解决依赖关系,核心是通过仓库配置文件定位软件源,操作更简单:

1. yum 仓库配置:必须知道的关键点
  • 仓库配置文件必须放在/etc/yum.repos.d/目录下,扩展名为.repo

  • 配置文件格式(以server.repo为例):

    [a]          # 仓库标识(唯一)
    name=aa      # 仓库名称(自定义)
    baseurl=file:///mnt/  # 软件源路径(本地目录、HTTP、FTP等)
    enabled=1    # 是否启用(1启用,0禁用)
    gpgcheck=0   # 是否校验GPG签名(0不校验,1校验)
    
2. yum 常用命令:比 rpm 更简单直接
操作命令说明
安装软件包yum -y install 软件名-y自动确认,无需手动输入 yes
卸载软件包yum -y remove 软件名会自动卸载依赖(谨慎使用,可能删关键包)
安装软件包组yum -y groupinstall "包组名""Development Tools"(开发工具组)
卸载软件包组yum -y groupremove "包组名"卸载整个包组
列出可用软件包yum list显示已安装和可安装的所有包
列出可用软件包组yum group list显示已安装和可安装的所有包组
更新软件包yum update 软件名不指定软件名则更新系统所有包(谨慎)

六、dnf:yum 的升级版本,用法基本一致

dnf 是新一代包管理工具,在 RHEL 8+、Fedora 等系统中替代 yum,核心命令与 yum 完全兼容:

  • 安装:dnf -y install 软件名
  • 卸载:dnf -y remove 软件名
  • 更新:dnf -y update 软件名

总结:Linux 软件管理的核心逻辑

Linux 软件管理围绕 “包” 展开,从底层的 rpm(负责单个包的操作)到上层的 yum/dnf(解决依赖,简化操作),再到程序本身的组成结构(文件存放路径、配置与日志位置),掌握这些能高效管理系统软件。关键是理解不同工具的定位:rpm 适合精细化操作,yum/dnf 适合日常依赖管理,而清楚程序组成则能快速定位配置文件、日志等关键资源,为系统维护打下基础

http://www.dtcms.com/a/303605.html

相关文章:

  • C语言中的数据结构--栈和队列(2)
  • VMware Workstation Pro 详细安装步骤
  • 线程安全
  • C++常见的仿函数,预定义函数,functor,二元操作函数(对vector操作,加减乘除取余位运算等 )
  • 异步通讯组件MQ
  • HTML应用指南:利用GET请求获取全国小米之家门店位置信息
  • 基于深度学习的医学图像分析:使用3D CNN实现肿瘤检测
  • hot100——第九周
  • 在Linux上使用DuckCP实现从csv文件汇总数据到SQLite数据库的表
  • 数据开源 | “白虎”数据集首批开源,迈出百万数据征途第一步
  • Zynq SOC FPGA嵌入式裸机设计和开发教程自学笔记:硬件编程原理、基于SDK库函数编程、软件固化
  • 2.DRF 序列化器-Serializer
  • 第五章:进入Redis的Hash核心
  • 小架构step系列28:自定义校验注解
  • 【算法训练营Day17】二叉树part7
  • 【VASP】二维材料杨氏模量与泊松比的公式
  • OpenLayers 综合案例-信息窗体-弹窗
  • 打卡day5
  • C++面试5题--5day
  • C++中的“对象切片“:一场被截断的继承之痛
  • 【SpringMVC】MVC中Controller的配置 、RestFul的使用、页面重定向和转发
  • rhel9.1配置本地源并设置开机自动挂载(适用于物理光驱的场景)
  • c++ 基础
  • windows内核研究(异常-CPU异常记录)
  • 嵌入式分享合集186
  • STM32时钟源
  • JavaScript手录09-内置对象【String对象】
  • 第一章:Go语言基础入门之函数
  • wrk 压力测试工具使用教程
  • 屏幕晃动机cad【4张】三维图+设计说明书