当前位置: 首页 > 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.xdnf.cn/news/1204777.html

相关文章:

  • Redis实战(3)-- 高级数据结构zset
  • MySQL5.7主从延迟高排查优化思路
  • Qt:盒子模型的理解
  • 电流变送器电路的分析与计算
  • TCPIP之常用协议
  • LeetCode--50.Pow(x,n)
  • RCLAMP2574N.TCT Semtech:超低钳位TVS二极管 0.5pF超低电容+±30kV超强防护
  • FastGPT本地构建工作流高级编排(最新4.11.0)
  • 【云馨AI-大模型】2025世界人工智能大会引爆全球AI热潮,技术突破与政策布局引领产业新未来
  • 4、如何生成分布式ID?
  • C++中既重要又困难的部分—类和对象
  • 【历史人物】【韩愈】简历与生平
  • sqlite3学习---基础知识、增删改查和排序和限制、打开执行关闭函数
  • 归雁思维:解锁自然规律与人类智慧的桥梁
  • LLM学习笔记5——InstructGPT
  • Kotlin的datetime库
  • Linux内核驱动开发核心问题全解
  • 四、计算机组成原理——第4章:指令系统
  • 基于Spring Boot+Vue的吉他社团系统设计和实现(协同过滤算法)
  • 飞鹤困局:增长神话的裂痕
  • 分布式数据库中的“分布式连接”(Distributed Joins)
  • 轻资产革命:连合直租如何用DaaS模式重塑企业资产逻辑
  • 阿里云 【免费试用】MCP 赋能可视化 OLAP 智能体应用
  • 网络安全第14集
  • React与Rudex的合奏
  • KubeSphere理论及实战
  • ros2的package.xml和rosdep
  • 正则表达式 速查速记
  • haproxy原理及实验演示(实现服务器集群的负载均衡)
  • ubuntu资源共享samba 安装与配置 mac/windows共享ubuntu文件资源