首页 > 代码库 > RPM 和YUM总结

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总结