一、RPM
RPM(Red Hat Package Manager)是一个用于管理 Red Hat 系列 Linux 发行版(如 RHEL、CentOS、Fedora)软件包的工具。RPM 允许用户以统一的格式来安装、卸载、升级和查询软件包。它是 .rpm 文件的主要工具,后缀名为 .rpm 的软件包是使用 RPM 系统构建的。
1.查询已安装软件包
(1)格式
rpm -q[子选项] 包名关键字
(2)选项
a | 已安装的所有软件包 | |
i | 查看指定软件的详细信息 | |
l | 查询软件包的安装目录 | |
f | 查询文件或目录属于哪个程序包安装生成的 | |
p | 尚未安装的包做查询操作 |
(3)示例
#查看所有已安装rpm包 rpm -qa #查看所有已安装rpm包中有没有mysql rpm -qa | grep mysql #查看已安装的mysql-libs-5.1.73-7.el6.x86_64包的信息 rpm -qi mysql-libs-5.1.73-7.el6.x86_64 #查看mysql-libs-5.1.73-7.el6.x86_64包中文件安装位置 rpm -ql mysql-libs-5.1.73-7.el6.x86_64 #查看/bin/ls和根目录“/”是由哪些包安装的 rpm -qf /bin/ls rpm -qf / #查看安装光盘中mysql-server-5.1.73-7.el6.x86_64.rpm的信息 rpm -qip /media/CentOS_6.8_Final/Packages/mysql-server-5.1.73-7.el6.x86_64.rpm #查看安装光盘中mysql-5.1.73-7.el6.x86_64.rpm的内容 rpm -qlp 5 |
2.安装软件包
(1)格式
rpm -i[子选项] 包名 |
(2)选项
v | 显示安装过程中的详细信息 |
h | 以 # 显示安装进度 |
-U | 升级包(如没安装就安装) |
-F | 升级包(没安装放弃安装) |
--test | 测试能否被安装 try run |
--nodeps | 忽略包之间的依赖关系 |
(3)示例
rpm -ivh zsh-4.3.11-4.el6.centos.2.x86_64.rpm |
3.验证软件包
如果怀疑某个软件包被修改或破坏了,可以使用 rpm 的验证功能来检查文件的完整性。
(1)格式
rpm -V package_name |
(2)示例
rpm -V httpd |
4.更新和升级软件包
(1)格式
rpm update rpm -U package.rpm |
(2)示例
#升级指定的软件包 rpm -U httpd-2.4.7-1.el7.x86_64.rpm |
5.生成软件包依赖关系
(1)格式
rpm -qR package_name |
(2)示例
rpm -qR httpd |
6.卸载和删除软件包
(1)格式
rpm -e package_name |
(2)示例
rpm -e httpd |
7.清理缓存
(1)格式
yum clean all |
二、YUM
YUM(Yellowdog Updater, Modified)是基于 RPM 包管理器的一个前端工具,广泛应用于 Red Hat 系列 Linux 发行版(如 RHEL、CentOS、Fedora)。它简化了软件包的安装、升级、删除以及依赖管理等任务。YUM 提供了一个方便的方式来管理 RPM 包,而不需要手动处理依赖关系。
1.查询已安装软件包
(1)格式
#列出所有已安装的软件包 yum list installed #通过包名来查看是否安装了特定的软件包 yum list installed package_name # 查找可用的软件包 yum search |
(2)示例
yum list installed httpd yum search httpd |
2.查询可用的软件包
(1)格式
yum list available |
3.查询软件包详细信息
查看软件包的详细信息(版本、描述、大小等)。
(1)格式
yum info package_name |
(2)示例
yum info httpd |
4.查询包的依赖关系
(1)格式
yum deplist package_name |
(2)示例
yum deplist httpd |
5.安装软件包
(1)格式
sudo yum install package_name |
(2)示例
sudo yum install httpd |
6.安装本地 RPM 文件
如果你有一个本地的 .rpm 文件,可以使用 yum localinstall 安装。
(1)格式
sudo yum localinstall package.rpm |
(2)示例
sudo yum localinstall httpd-2.4.6-90.el7.centos.x86_64.rpm |
7.更新软件包
(1)格式
sudo yum update #指定更新 sudo yum update package_name |
(2)示例
sudo yum update httpd |
8.卸载软件包
(1)格式
sudo yum remove package_name |
(2)示例
sudo yum remove httpd |
9.清理缓存
(1)格式
#清理所有 YUM 缓存 sudo yum clean all #清理已下载的包文件 yum clean packages #清理元数据缓存 yum clean metadata |
10.查看 YUM 仓库
(1)格式
#显示已启用的仓库列表 yum repolist #查看仓库详细信息 yum repoinfo |
11.YUM仓库
YUM 会从预配置的仓库中获取软件包和元数据。
仓库通常通过配置文件 /etc/yum.repos.d/ 中的 .repo 文件来指定。
每个仓库包含以下内容:
name:仓库名称。
baseurl:仓库的 URL 地址。
enabled:启用该仓库(1 表示启用,0 表示禁用)。
12.YUM 配置文件
(1)主配置文件
/etc/yum.conf,用于设置 YUM 的全局选项。
(2)仓库配置文件
/etc/yum.repos.d/*.repo,每个 .repo 文件配置一个或多个仓库。
13.自动解决依赖问题
YUM 会自动解决依赖问题并安装所需的软件包。如果在安装时出现缺失依赖,YUM 会尝试下载并安装相关的依赖包。