Linux | 软件仓库管理
一. 软件包
1.1 软件包的分类
- DEB:主要用于基于 Debian 的系统,如 Ubuntu。这种软件包格式具有良好的依赖管理机制,方便用户安装、升级和卸载软件。
 - RPM:广泛应用于 Red Hat、CentOS、Fedora 等系统。RPM 包将软件打包成一个文件,包含了软件的二进制文件、配置文件和元数据等,便于软件的分发和管理。
 - bz2/gz/xz 压缩包 
- 这类软件包较为特殊,一部分需要进行源码安装,即通过编译的方式将源码转化为可执行文件。例如,在安装某些软件时,可能需要执行 “configure” 脚本进行配置,然后再编译安装。
 - 另一部分则属于绿色软件,解压后可直接使用,无需复杂的安装过程。需要注意的是,在 RHEL8中,仅支持绿色软件、源码编译软件和 RPM 软件。
 
 
1.2 软件包的结构名称
 QQ_3.2.16_250401_x86_64_01.rpm
# 1   2      3       4       5
# 1.软件名称    2.软件版本  3.软件的授权协议版本  4.软件架构  5.软件类型后缀 
二. rpm命令
| rpm -ivh | 安装软件包 | 
| rpm -a | 所有 | 
| rpm -f | 文件 | 
| rpm -p | 软件包 | 
| rpm -q | 查询 | 
| rpm -l | 软件安装文件列表 | 
| rpm -e | 卸载 | 
| rpm -c | 配置文件 | 
| rpm -d | 说明 | 
| rpm --info | 软件信息 | 
| rpm --force | 强制 | 
| rpm --nodeps | 忽略依赖性 | 
| rpm --script | 查询软件在安装/卸载过程中的运行脚本 | 
| rpm -Kv |   检测软件md5校检码  | 
| rpm -V | 检测已安装软件在系统中的文件被修改信息 | 

![]()

![]()
三. 软件仓库
3.1 构建本地软件仓库
- 加载安装镜像
 

- 编写软件仓库文件
 



3.2 构建网络软件仓库
- 使用开机自运行脚本,添加命令
 


四. dnf命令
- 安装包管理
 
dnf repolist        #列出仓库信息。
dnf clean all       #清除系统中已经加载的仓库缓存信息(位于/var/cache/dnf)。
dnf list all        #列出所有软件。
dnf list available  #列出未安装软件。
dnf list installed  #列出已安装软件。
dnf install         #安装软件包。
dnf remove          #卸载软件包。
dnf reinstall       #重新安装软件包。
dnf search          #搜索软件包。
dnf whatprovides    #搜索包含指定文件的软件包。 
- 软件组管理
 
dnf group list                 #列出软件组。
dnf group list --installed     #列出已安装软件组。
dnf group list --available     #列出未安装软件组。
dnf group list --hidden        #列出隐藏软件组。
dnf group install              #安装软件组。
dnf group info                 #查看软件组信息。 
五. epel源的构建
epel(Extra Packages for Enterprise Linux)源提供了许多在官方软件源中没有的额外软件包
- 在阿里云中获取epel的下载链接
 

- 编辑epel.repo文件
 


六. 第三方软件仓库的构建

