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. RxHttp 完美适配Android 10/11 上传/下载/进度监听

    1.前言 随着Android 11的正式发布,适配Android 10/11 分区存储就更加的迫切了,因为Android 11开始,将强制开启分区存储,我们就无法再以绝对路径的方式去读写非沙盒目录下的 ...

  2. 请问如何用LoadRunner进行测试。

    1.建立测试计划,确定测试标准和测试范围 2.设计典型场景的测试用例,覆盖常用业务流程和不常用的业务流程等 3.根据测试用例,开发自动测试脚本和场景: 录制测试脚本:新建一个脚本(Web/HTML协议 ...

  3. std::thread线程详解(1)

    目录 目录 简介 线程的使用 线程的创建 线程的方法和属性 std::jthread (C++20) stop_token (C++20) 总结 Ref 简介 本文主要介绍了标准库中的线程部分.线程是 ...

  4. node-sass 安装失败报错的原因及解决办法(整理)

    npm install 时偶尔遇到报错:没有安装python或node-sass 安装失败的问题,百度之后发现是被墙了,但根据百度的方法换了淘宝镜像和用了vpn都安装失败,最后发现原来是因为没有卸载之 ...

  5. 用Margin还是用Padding的区别

    用margin还是用padding这个问题是每个学习CSS进阶时的必经之路. CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时 ...

  6. 移动端学习之理解WEB APP、Native APP、Hybrid APP以及React Native/uniapp包括H5、小程序等的区别与共通之处

    因为工作需要,需要进一步了解移动端的开发,遂返回复习移动端的知识点,在开始学习之前,产生了疑惑WEB APP .Native APP .Hybrid APP.React Native.Uniapp.H ...

  7. 加薪攻略之UI组件库实践—storybook

    目录 加薪攻略之UI组件库实践-storybook 一.业务背景 二.选用方案 三.引入分析 项目结构 项目效果 四.实现步骤 1.添加依赖 2.添加npm执行脚本 3.添加配置文件 4.添加必要的w ...

  8. 在.NET Core中使用Channel(三)

    到目前为止,我们一直在使用所谓的"Unbounded"通道.你会注意到,当我们创建通道时,我们这样做: var myChannel = Channel.CreateUnbounde ...

  9. ArrayDeque API 与算法分析

    ArrayDeque 是双端队列的动态数组实现,可以当作栈和队列来使用.作为栈时,它的效率比 Stack 更高,作为队列时,效率比 LinkedList 更高.ArrayDeque 大部分操作的时间复 ...

  10. LeetCode374 猜数字大小

    我们正在玩一个猜数字游戏. 游戏规则如下:我从 1 到 n 选择一个数字. 你需要猜我选择了哪个数字.每次你猜错了,我会告诉你这个数字是大了还是小了.你调用一个预先定义好的接口 guess(int n ...