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

Linux应用程序架构与软件包管理

Linux应用程序架构与软件包管理

以下是对Linux应用程序组成及软件包管理(RPM/YUM/DNF)的清晰整理:


一、Linux应用程序组成

1. Linux命令 vs 应用程序
特性Linux命令应用程序
存放路径/bin, /sbin/usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin
安装方式随操作系统安装需额外安装(等同于软件)
执行格式命令 + 选项 + 参数(标准化)格式由开发者定义(无固定格式)
界面字符界面可能包含图形界面
示例cd, echo, history(内部命令)Firefox, MySQL(提供独立功能)

  • 内部命令通过 help 查看列表(如 exit, source)。
  • 部分应用程序提供命令行工具(称为“程序命令”)。

2. 应用程序的组成
组件类型存放路径说明
可执行程序文件/usr/bin/普通用户可执行
管理程序/服务器程序/usr/sbin/仅管理员可执行
配置文件/etc//etc/应用名/多配置时创建同名子目录
日志文件/var/log/记录运行日志
参考文档/usr/share/doc/说明文档、示例等
Man手册/usr/share/man/执行文件及配置的帮助文档

3. 软件包封装类型
类型扩展名适用系统特点
RPM包.rpmRHEL, Fedora, SUSE等依赖性强
DEB包.debDebian, Ubuntu等Debian系专用
源代码包.tar.gz/.bz2所有Linux需编译安装

RPM包命名格式
coreutils-8.30-4.el7.x86_64.rpm

  • 软件名coreutils
  • 版本号8.30-4
  • 发行版.el7(RHEL 7)
  • 架构x86_64(64位)/ noarch(通用)

二、RPM包管理

1. 查询已安装的软件包
命令作用示例
rpm -qa列出所有已安装的RPM包rpm -qa | grep python3
rpm -qi <包名>查看软件包详细信息rpm -qi vsftpd
rpm -ql <包名>列出软件包安装的所有文件rpm -ql httpd
rpm -qf <文件路径>查看文件所属的软件包rpm -qf /etc/httpd/conf
rpm -q <包名>检查指定包是否安装rpm -q vsftpd
2. 查询未安装的RPM包
命令作用示例
rpm -qpi <包路径>查看未安装包的详细信息rpm -qpi /mnt/Packages/vsftpd.rpm
rpm -qpl <包路径>查看未安装包将释放的文件列表rpm -qpl /mnt/Packages/vsftpd.rpm
3. 安装/卸载/升级
操作命令说明
安装rpm -ivh <包路径>-i安装, -v详情, -h进度条
卸载rpm -e <包名>精确指定包名
升级rpm -Uvh <新包路径>已安装则升级,否则安装
强制操作rpm --force覆盖文件/版本
忽略依赖rpm --nodeps(谨慎使用)

示例

rpm -ivh /mnt/Packages/vsftpd-3.0.3.rpm  # 安装
rpm -e vsftpd                            # 卸载
rpm -Uvh /mnt/Packages/vsftpd-4.0.rpm    # 升级

三、YUM/DNF 仓库管理

1. 配置YUM仓库
  1. 创建仓库配置文件:
    vim /etc/yum.repos.d/server.repo
    
  2. 配置文件内容示例:
    [myrepo]                # 仓库ID
    name=My Repository      # 仓库描述
    baseurl=file:///mnt/    # 软件包路径(本地/USB/HTTP)
    enabled=1               # 启用仓库
    gpgcheck=0              # 不校验GPG签名
    
2. YUM 常用命令
操作命令说明
安装软件包yum -y install <包名>-y自动确认
卸载软件包yum -y remove <包名>
安装软件包组yum -y groupinstall "组名""Development Tools"
卸载软件包组yum -y groupremove "组名"
列出所有包yum list已安装 + 可用
列出软件包组yum group list
更新指定包yum update <包名>不指定包名则更新所有
3. DNF 命令(兼容YUM)
dnf -y install <包名>    # 安装
dnf -y remove <包名>     # 卸载
dnf -y update <包名>     # 更新

说明:DNF 是 YUM 的下一代替代工具,语法基本一致。

http://www.lryc.cn/news/602528.html

相关文章:

  • 在Windows下读写Linux EXT文件系统文件
  • VMWARE -ESXI-ntp时间同步无法启动异常处理
  • 用 Python 获取电脑电池电量的各种案例
  • ubuntu资源共享samba 安装与配置 mac/windows共享ubuntu文件资源
  • 暴雨服务器更懂人工智能+
  • 【GaussDB】内存资源告急:深度诊断一起“memory temporarily unavailable“故障
  • 虚拟面孔,真实革命
  • MKS E28H 0.05-100 Torr 加热 (100°C) Baratron 电容压力计,带蚀刻传感器 手侧
  • 深入解析IPMI FRU规范:分区结构与字段标识详解
  • 【数据库】时序数据库选型指南:从大数据视角看IoTDB的核心优势
  • AUTOSAR进阶图解==>AUTOSAR_SRS_OS
  • Item17:以独立语句将newed对象置入智能指针
  • RK3568基于mpp实现硬解码(二):FFmpeg + mpp实现ipc摄像头图像解码
  • 【剑指offer】树
  • 【Meta常见问题第2期】固定效应 vs 随机效应:Meta分析模型选择全解析
  • 【行测】常识判断1
  • 【MySQL】MySQL数据库如何改名
  • 【n8n】n8n新增webhook接口写数据(图解步骤,参数json,mysql存储)
  • java设计模式 -【责任链模式】
  • 常见的未授权访问漏洞靶场-练习教程
  • 2.DRF 序列化器-Serializer
  • 从2025世界人工智能大会,看AI与算力的临界点突破
  • 【MySQL学习|黑马笔记|Day1】数据库概述,SQL|通用语法、SQL分类、DDL
  • DMETL安装流程及简单使用
  • 2025年人工智能三大突破:多模态推理、具身智能与全球治理
  • Java 数学工具类 Math
  • 实用工具类分享:BeanCopyUtils 实现对象深浅拷贝高效处理
  • 对于ui=f(state)的理解(react)
  • 基于springboot的大创管理系统(源码+论文+开题报告)
  • 【React Context API 优化与性能实践指南】