本文总结 rpm
、yum
的使用方法。
Updated: 2022 / 9 / 19
yum
参考这里 1
- 安装
命令 | 作用 |
---|---|
yum install package | 用来安装线上仓库中的 rpm 包的命令。使用远程软件包仓库中的地址查找相应的软件并执行安装。仓库中的软件都是解决了依赖关系的。安装某个版本的软件包时,需要配置指定的 yum 仓库地址,否则可能查找不到对应的软件包。但是,可以指定一个软件包的 url 地址,安装该远程地址的软件包;并且也可以指定一个本地的 rpm 包全名,即安装本地包,此时安装基本和 localinstall 没有区别。 |
yum localinstall | 用来安装本地 rpm 包的命令。首先 rpm 包要先下载到本地,在本地目录执行 yum localinstall *.rpm ,yum 会安装本地已经存在的 rpm 包,并自动联网搜寻本地 rpm 包可能存在的依赖关系并安装。但是如果仓库无法找到依赖包,也无法完成安装。而 rmp -i *.rpm 不会自行解决依赖关系,缺少依赖就会报错 |
yum groupinstall group | 安装某个组件的全部软件包 |
yum install
和 yum localinstall
相同的地方有如下三点 2:
yum install
、yum localinstall
都可以安装本地rpm
包:
可以看到在没有更新时,install
提示不需要任何操作时,会有Error
的错误。
$ yum localinstall mysql-community-server-8.0.26-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining mysql-community-server-8.0.26-1.el7.x86_64.rpm: mysql-community-server-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64.rpm: does not update installed package.
Nothing to do
$ yum install mysql-community-server-8.0.26-1.el7.x86_64.rpm
Loaded plugins: fastestmirror, langpacks
Examining mysql-community-server-8.0.26-1.el7.x86_64.rpm: mysql-community-server-8.0.26-1.el7.x86_64
mysql-community-server-8.0.26-1.el7.x86_64.rpm: does not update installed package.
Error: Nothing to do
- 也都可以指定一个远程
url
的rpm
包; - 两者都会从远程仓库安装相关依赖;
yum install
和 yum localinstall
不同的地方有 2:
yum localinstall
后跟的包名必须是.rpm
结尾,即必须是一个指定的rpm
全包名。即yum localinstall
不能指定一个具体位置不存在软件包,因为它不会从远程仓库查找包名。
$ yum localinstall mysql-community-server
Loaded plugins: fastestmirror, langpacks
Skipping: mysql-community-server, filename does not end in .rpm.
Nothing to do
$ yum install mysql-community-server
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Package mysql-community-server-8.0.26-1.el7.x86_64 already installed and latest version
Nothing to do
yum install
可以跟不是.rpm
结尾的包,即可以跟非全包名的软件包,这时将会从远程仓库中查找该软件包,并下载安装。
在指定具体全包名的软件包时,信息提示install
会显示Error
,而localinstall
则不会。
- 更新
命令 | 作用 |
---|---|
yum update package | |
yum check-update | 列出所有可更新的软件包 |
yum list updates mysql* | 查找mysql的更新 |
yum update | 更新所有可更新的软件包 |
yum update mysql* | 更新所有 mysql 的软件包 |
yum groupupdate group | 更新某个组件的所有软件包 |
yum list | 列出所有已安装和仓库中可用的软件包 |
yum list available | 列出仓库中所有可用的软件包 |
yum list updates | 列出仓库中比当前系统更新的软件包,或者说,可以更新的软件包 |
yum list installed | 列出已安装的软件包 |
yum list recent | 列出新加入仓库的软件包 |
yum info | 查询软件包信息 |
- 删除
命令 | 作用 |
---|---|
yum remove package | 删除软件包 |
yum groupremove group | 删除某个组件的全部软件包 |
yum clean packages | 清除软件包 |
yum clean metadata | 清除遗留在缓存里的包文件 |
yum clean headers | 清除遗留在缓存里的元数据 |
yum clean all | 清除包文件,元数据,头文件 |
- 检索
命令 | 作用 |
---|---|
yum search package | 搜索软件包 |
yum info package | 查找一个软件包的信息 |
yum list package | 列出包含指定信息的软件包 |
yum list installed | 列出已安装的软件包 |
yum list extras | 列出不是通过软件仓库安装的软件包 |
yum list *ttp* | 列出标题包含 *ttp* 的软件包 |
yum list updates | 列出可以更新的软件包 |
yum whatprovides filename | 查找特定文件是由什么软件包提供的 |
- 特殊选项
命令 | 作用 |
---|---|
–disalberepo=lib | 禁用某个软件仓库 举例,yum –disalberepo=livna |
–enalberepo=lib | 启用某个软件仓库 举例,yum –disalberepo=livna |
-C | 禁用使用本机缓存的元数据 举例, yum -C info httpd |
rpm
- 安装
命令 | 作用 |
---|---|
rpm -i <package_name_locate> | 安装本地的 rpm 包,通常使用 rpm -ivh xxx 显示安装过程。如果包存在必须安装的依赖,则无法解决,将会安装失败。rpm 命令不会涉及远程仓库。但是,rpm 后面的软件包,也可以是一个 ur l软件地址。 |
- 更新
命令 | 作用 |
---|---|
rpm -Uvh --oldpackage [downloaded_lower_version_package] | 如何使用 rpm 命令将 CentOS/RHEL 6 系统中的 rpm 包降级到较低版本 3 ?不建议使用 rpm 命令来降级 rpm 包。应该使用 yum 命令。确保我们已下载较低版本的所有软件包及其依赖项。 比如,将 systemd 软件包从 systemd-219-67.0.1.el7_7.2 降级到 systemd-219-62.0.4.el7_6.9. ,使用 rpm -Uvh --oldpackage *.rpm 。安装好后记得执行 ldconfig 4。 |