RPM 和YUM总结
Posted zh1164
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RPM 和YUM总结相关的知识,希望对你有一定的参考价值。
RPM
RPM命名:
安装 rpm -ihv
其他常用的选项: 1. 重新安装 --replacepkgs (或者 --force ) 2. 不考虑依赖 --nodeps (不推荐)
升级:
查询:
查询已经安装的rpm包只要指定名称就可以了。 查询rpm包文件加上 -p。
如果希望在不用安装的情况下将rpm包内的文件解压出来,可以使用 rpm2cpio pmValidator-1.0.0-1.x86_64.rpm | cpio -idv
检查rpm文件是否被改动过。
以上命令对比的是 目前的文件相比于rpm包中初始安装的文件是否发生改动。
卸载: rpm -e 依据依赖层次自上而下卸载
YUM
yum的目的是帮助我们收集rpm包的依赖属性并能帮我们自动化解决安装、卸载和升级等操作。yum 的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http 或ftp 站点,也可以是本地软件池,但必须包含rpm 的header,header 包括了rpm 包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header 并加以分析,才能自动化地完成余下的任务。
下面是一个可用的清华大学的yum源,上面所说的那个包含rpm的header就是 repodata 目录。
如果我们向上走,到达https://mirrors.tuna.tsinghua.edu.cn/centos/7/目录下,我们可以发现清华大学的这个镜像站点包含了不止一个可用的yum源。
除了http和ftp的源外,我们可以使用 centos的安装镜像作为本地源,例如下面是将CentOS-7.0-1406-x86_64-Minimal.iso 挂载后的内容,里面也包含repodata目录,它可以作为一个本地源。
yum可以配置多个yum源,下面我们看看yum的配置文件。 yum的配置文件分为main和repository。 main指的是/etc/yum.conf, repository的配置指的是在/etc/yum.repo.d/目录下的以repo结尾的文件。关于配置文件内各个属性的含义可以参考:
http://www.cnblogs.com/mchina/archive/2013/01/04/2842275.html
http://cn.linux.vbird.org/linux_basic/0520rpm_and_srpm_4.php#intro_solution
这里说明一下mirrorlist和baseurl的区别:
- mirrorlist=:列出这个容器可以使用的映射网址,我的理解是通过这个网址我们可以寻找到真正可以使用的mirror;
- baseurl=:这里就是我们上面看到的那些真实可用的yum源地址。
当我们手动配置yum源后,需要执行 yum clean all 清空之前的配置。可以通过执行 yum repolist all 来查看所有的已配置的yum源的情况。
绝大多数资料都可以在上面列出的两个网址内找到,我最后 执行一个例子: 通过配置 centos 7 镜像作为本地源来安装vim-minimal-7.4.160-1.el7.x86_64.rpm
下面执行安装就可以了。 yum install vim-minimal -y
在源配置中有一个gpgcheck,这个是rpm包的签名验证,如果配置源后安装时提示 找不到公钥,可以执行 rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 导入公钥。
以上就是yum源的配置,下面我们看看yum的常用命令。
查询 yum search
安装/升级 yum install/update
卸载 yum remove
以上命令后面只需要跟 rpm包的名称就可以了。
还有一个非常有用的命令,仅仅下载而不用去安装。
yum install --downloadonly --downloaddir=/root/rpms postgresql
执行完成后我们在rpms目录下就可以发现postgresql以及其依赖的包了。
以上是关于RPM 和YUM总结的主要内容,如果未能解决你的问题,请参考以下文章