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. 【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application

    问题描述 C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Ap ...

  2. easyui 动态添加input标签

    动态添加easyui控件<input class=" easyui-textbox" > 这样是无效的,因为easyui没有实时监控,所以必须动态渲染$.parser. ...

  3. Qt学习笔记-界面设置入门

    首先我们看的是qt类表.相当于是一个族谱.这个文档可以在网上搜到. 首先第一个是QObjiect. 然后是QWidget => 相当于是windowsget缩写. 同理: QColorDialo ...

  4. Java学习日报7.30

    package dog;import java.util.*;public class Dog { private String dogName; private String dogColor; p ...

  5. 解析SwiftUI布局细节(三)地图的基本操作

    前言 前面的几篇文章总结了怎样用 SwiftUI 搭建基本框架时候的一些注意点(和这篇文章在相同的分类里面,有需要了可以点进去看看),这篇文章要总结的东西是用地图数据处理结合来说的,通过这篇文章我们能 ...

  6. 哎,这让人抠脑壳的 LFU。

    这是why哥的第 83 篇原创文章 让人抠脑壳的 LFU 前几天在某APP看到了这样的一个讨论: 看到一个有点意思的评论: LFU 是真的难,脑壳都给我抠疼了. 如果说 LRU 是 Easy 模式的话 ...

  7. 【Flutter】功能型组件之数据共享

    前言   InheritedWidget提供了一种数据在widget树中从上到下传递.共享的方式,例如在应用的根widget中通过InheritedWidget共享了一个数据,那么便可以在子widge ...

  8. 牺牲速度来节省内存,Redis是觉得自己太快了吗

    前言 正常情况下我们选择使用 Redis 就是为了提升查询速度,然而让人意外的是,Redis 当中却有一种比较有意思的数据结构,这种数据结构通过牺牲部分读写速度来达到节省内存的目的,这就是 zipli ...

  9. IPC 经典问题:Sleeping Barber Problem

    完整代码实现: #include <stdio.h> #include <unistd.h> #include <time.h> #include <stdl ...

  10. logback为不同的包或类指定输出日志文件

    对日志分割的常见需求是,需要按不同的等级进行输出,这个的配置方式类似如下,在appender节点内添加内容 <appender name="FILE-INFO" class= ...