本文总结 rpm 、yum 的使用方法。
Updated: 2022 / 9 / 19
yum
参考这里
命令 | 作用 |
---|
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 相同的地方有如下三点 :
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 不同的地方有 :
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 包降级到较低版本 ?不建议使用 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 。 |
参考链接
|