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总结的更多相关文章

  1. rpm 与 yum 源

    rpm rpm -e                删除软件包rpm -i                安装软件包rpm -U                更新软件包rpm -qa         ...

  2. linux RPM、YUM

    Linux 界的两大主流: RPM 与 DPKG distribution 代表 软件管理机制 使用指令 在线升级机制(指令) Red Hat/Fedora RPM rpm, rpmbuild YUM ...

  3. 区分一下dpkg,rpm和yum以及apt-get

    一般来说著名的 Linux 系统基本上分两大类: RedHat 系列:Redhat.Centos.Fedora 等 Debian 系列:Debian.Ubuntu 等 Dpkg (Debian系):U ...

  4. rpm and yum commands

    rpm命令 rpm包,由“-”.“.”构成,包名.版本信息.版本号.运行平台 对已安装软件信息的查询 rpm -qa                             查询已安装的软件 rpm ...

  5. centos的软件安装方法rpm和yum

    centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装   类似[ubuntu ...

  6. Linux软件安装,RPM与YUM

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3843955.html ...

  7. 程序包管理rpm、yum与简单编译安装程序

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  8. Linux程序包管理rpm与yum

    Linux程序包管理 Linux中软件的安装主要有两种形式:一种是直接下载源代码包自行编译后安装,另一种直接获取rpm软件包进行安装. 程序的组成部分: 二进制程序:程序的主体文件,比如我们运行一个l ...

  9. CentOS的软件包的管理之rpm和yum

    在linux上,一个软件包通常由二进制程序,库文件,配置文件和帮助文件组成. 其中: 二进制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/u ...

  10. 【linux之软件安装,rpm,yum】

    一.软件管理 静态库 动态库静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库动态库:在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入. 链接是程序调用库的过程. 静 ...

随机推荐

  1. Redis主从复制getshell技巧

    Redis未授权漏洞常见的漏洞利用方式: Windows下,绝对路径写webshell .写入启动项. Linux下,绝对路径写webshell .公私钥认证获取root权限 .利用contrab计划 ...

  2. String 类的常用方法都有那些?

    1.indexOf():返回指定字符的索引. 2.charAt():返回指定索引处的字符. 3.replace():字符串替换. 4.trim():去除字符串两端空白. 5.split():分割字符串 ...

  3. java字符统计+字符串压缩

    要实习了.突然发现自己好像什么都不会,就去看看题吧.在网上看到一个字符串压缩的题.看了一眼,感觉用python很简单.一个for循环+字典就可以搞定. 但是呢,主要还是java.下面就用java来实现 ...

  4. 使用ThreadLocal

    使用ThreadLocal 阅读: 135212 多线程是Java实现多任务的基础,Thread对象代表一个线程,我们可以在代码中调用Thread.currentThread()获取当前线程.例如,打 ...

  5. 架构设计哲学【三种方式:支持DevOps的原则】

    三种方式:支持DevOps的原则 2012年8月22日作者Gene Kim 45条评论 这篇文章是杨波老师分享的一篇文章:这几年对他架构影响最深的一篇文章.主要描述是关于DevOps的,但对系统架构同 ...

  6. 解决使用Navicat等工具进行连接登录mysql的1130错误,无法使用Ip远程连接的问题(mysql为8.0版本)

    错误:ERROR 1130: Host '192.168.1.3' is not allowed to connect to thisMySQL serve 错误1130:主机192.168.1.3& ...

  7. JS常见面试题,看看你都会多少?

    1. 如何在ES5环境下实现let 这个问题实质上是在回答let和var有什么区别,对于这个问题,我们可以直接查看babel转换前后的结果,看一下在循环中通过let定义的变量是如何解决变量提升的问题 ...

  8. 使用Python实现的4种快速排序算法

    快速排序算法,总体来说就是选一个基准值,把小于基准值的分一拨,把大于基准值的分到另一拨,然后递归. 有区别的是,分区算法有差异,最直接的是,选个基准值,定义两个列表(小值分区less和大值分区grea ...

  9. php 去除路由中index.php 通过 .htaccess 文件

    首先在入口文件index.php得的当前目录下 创建 .htaccess文件. 然后将下面一段代码放进去: <IfModule mod_rewrite.c> RewriteEngine o ...

  10. 使用uiautomatorviewer报错Error obtaining UI hierarchy

    现象:使用uiautomatorviewer报错Error obtaining UI hierarchy 解决方法:经验证关闭appium,再重新获取,就不会报错     (python运行了app代 ...