一、rpm

      安装:rpm { -i | --install } [ install-options ]  PACKAGE_FILE...
        -v: 显示安装时的详细信息
        -vv: 显示许多难以阅读的调试信息
        -h: 以#显示程序包管理执行进度,每个#表示2%的进度         [ install-options ]:
            --test: 不安装包,知识简单的检查并报告可能的冲突
            --nodeps: 安装前或升级包前不做依赖检查
            --replacepkgs: 即使包的部分内容已安装在系统中,也安装此包
            --nosignature: 不检查来源合法性
            --nodigest: 不检查包完整性             --noscripts: 不执行安装前或安装后脚本
      升级:
        rpm { -U | --upgrade } [ install-options ] PACKAGE_FILE...
        rpm { -F | --freshen } [ install-options ] PACKAGE_FILE...
            upgrade: 安装有旧版程序包,则升级,如果不存在,则安装
            freshen: 安装有旧版程序包,则升级, 如果不存在, 则不执行安装
            --oldpackage: 降级,允许旧版本程序包取代新的版本
            --force: 强行升级          注意:1. 不要对内核做升级操作,linux支持多内核版本并存,因此,可以直接安装新版本内核。
            2. 如果原程序包的配置文件安装后被修改,升级后,新版本的同一个配置文件不会覆盖老版本的配置文件,而是把新版本的配置文件重命名后保留,比如:FILENAME.rpmnew
      查询:rpm { -q | --query} [ select-option] [ query-option ]
           [ select-option ]:
              -a: 所有包
              -f: 查询指定的文件由哪个程序包安装生成
              -p /PATH/TO/PACKAGE_FILE: 针对尚未安装的程序包文件做查询操作
              --whatprovides CAPABILITY: 查询指定的CAPABILITY由哪个包所提供
              --whatrequires CAPABILITY: 查询指定的CAPABILITY被哪个包所依赖            [ query-option ]:
              --changelog: 查询该包的变更信息
              -c: 查询程序的配置文件
              -d: 查询程序的文档
              -i: 展示包信息,包括名字、版本、描述等信息
              -l: 查看指定的程序包安装后生成的所有文件
              --scripts: 程序包自带的脚本片段
              -R:列出包所依赖的别的包
              --provides: 列出该包所提供的功能
       卸载:rpm -e [ OPTIONS ] PACKAGE_NAME...
            --allmatches: 将卸载与PACKAGE_NAME相匹配的所有版本的包
            --nodeps: 卸载前不检查依赖性
            --noscripts: 不执行安装前或安装后脚本
            --notriggers: 不执行由移除该包所触发的脚本
            --test: 不真正卸载任何内容,只是遍历 
      校验:rpm { -V | --verify } [ select-options ] [ verify-option ]
              S: 文件大小
              M: 模式(包括许可和文件类型)
              T:修改时间
              5:MD5校验和
              L: 符号链接
              D:设备
              U: 用户
              G:组
      导入GPG密钥: rpm --import /PATH/FROM/PACKAGE  
      数据库重建:rpm { --initdb | --rebuilddb }
            --initdb: 如果事先不存在数据库,则新建,否则,不执行任何操作
            --rebuilddb: 无论当前存在与否,直接重新创建数据库

二、yum  

        yum的配置文件:
          /etc/yum.conf: 为所有仓库提供公共配置  
          /etc/yum.repo.d/*.repo: 为仓库的指向提供配置
      仓库指向的定义:
         [repositoryID]  //仓库ID
         name= Some name for this repository  //仓库的名字
         baseurl=url://path/to/repository  //repo源
         enabled={ 1 | 0 }  //是否启用此仓库
         gpgcheck={ 1 | 0 }    //是否需要校验
         gpgkey=URL  //校验文件存放位置
         enablegroups{ 1 | 0 }  
         failovermethod={ roundrobin | priority }  //默认为:roundrobin,意为url选择的时是轮询还是根据优先级
         cost=#  // 默认为1000   
      用法:yum [options] [command] [package]...
      显示仓库列表:yum repolist [ all | enabled | disabled ]
      显示程序包:
          yum list [ all | glob_exp1 ] [ glob_exp2 ] [...]
          yum list { available | installed | updates } [ glob_exp1 ] [...]
      安装程序包:
          yum install package1 [package2] [...]
          yum reinstall package1 (重新安装)
       升级程序包:
          yum update package1 [package2]
          yum downgrade package1 (降级)
      检查可用升级:yum check-update
      卸载程序包:yum remove | erase package1 [package2][...]
      查看程序包信息:yum info [...]
      查看指定的特性(可以是某文件)是由哪个程序包所提供:provides | whatprovides featurel [feature2] [...]
      清理本地缓存:clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
      构建缓存:makecacke
      搜索:search string1 [string2] [...] : 以指定的关键字搜索程序包名及summary信息
      查看指定包所依赖的capabilities:deplist [package1]
      查看yum事务历史: history [summary | info | packages-list | | packagesinfo | addon-info | redo | undo |rollback | new | sync | stats]
      安装升级本地程序包
          localinstall rpmfile
          localupdate rpmfile
      包组管理相关的命令
        { groupinstall | groupupdate | grouplist | groupremove | groupinfo } group1
      创建yum仓库:createrepo
      yum的repo配置文件中可用的变量
          $releaserver: 当前OS的发行版的主版本号
          $arch: 平台
          $basearch: 基础平台
          $YUM0-$YUM9
      yum的命令行选项:
--nogpgcheck:禁止进行gpg check
-y: 自动回答为yes
-q: 静默模式
--disablerepo=repoidglob: 临时禁用此处指定的repo
--enablerepo=repoidglob:临时启用此处指定的repo
--noplugins:禁用所有插件

三、实例

  使用光盘作为本地yum仓库
      1. 挂载光盘至某目录,创建/media/cdrom
        mount -r /dev/cdrom /media/cdrom
      2.创建配置文件: 在/etc/yum.repos.d目录下面vim centos7_Local.repo
          [CentOS7]
          name=CentOS7.1
          baseurl=file:///media/cdrom
          gpgcheck=0

      

      

      

      

      

   

  

    

    

                      

                   

linux基础之程序包管理(rpm,yum)的更多相关文章

  1. Linux程序包管理rpm与yum

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

  2. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

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

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

  4. 程序包管理rpm和yum

    Linux程序包管理: API:Application Programming Interface源码包 POSIX:Portable OS 程序源代码 --> 预处理 --> 编译 -- ...

  5. Linux 程序包管理-RPM

    程序简介:  POSIX(Portable Openratin System)跨平台系统:不同操作系统平台的标准C库(glibc)都是遵循POSIX规范的,这样基于标准库开发程序的源代码可以夸平台编译 ...

  6. 十七、程序包管理之yum和编译安装

    YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户 ...

  7. Linux:Day10 程序包管理

    YUM:yellow dog,Yellowdog Update Modifier yum repository:yum repo 存储了众多rpm包,以及包的相关的无数据文件(放置于特定目录下:rep ...

  8. Linux程序包管理初步-yum的使用

    何为yum? yum:由yellow dog研发,全称Yellowdog Update Modifier 是rhel系列系统上rpm包管理器的前端工具,可用来自动解决依赖关系,从而更好的实现程序包的安 ...

  9. 【程序包管理】Linux程序包管理之yum源安装

    yum源安装是我们工作中常用的一种方式,它是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RP ...

随机推荐

  1. linux正则

    正则表达式 分两类:  基本正则表达式:BRE  扩展正则表达式:ERE :grep -E, egrep 正则表达式引擎:  采用不同算法,检查处理正则表达式的软件模块       PCRE(Perl ...

  2. Rpgmakermv(7) Chronus.js说明与简要翻译

    插件地址:https://github.com/triacontane/RPGMakerMV/blob/master/Chronus.js 日语版 ゲーム内で時刻と天候の概念を表現できるプラグインです ...

  3. Visible Lattice Points (莫比乌斯反演)

    Visible Lattice Points 题意 : 从(0,0,0)出发在(N,N,N)范围内有多少条不从重合的直线:我们只要求gcd(x,y,z) = 1; 的点有多少个就可以了: 比如 : 点 ...

  4. 如何在Sitecore CMS中创建没有标准字段的模板

    当创建一个模板,Sitecore的将默认为扩大“标准模板”,它位于/sitecore/templates/System/Templates. 如果您选择不扩展任何模板或从“基本模板”字段中删除标准模板 ...

  5. 正确把mysql数据库从windows迁移到linux系统上的方法

    (一)用mysqldump命令导出数据库文件: 在windows下cd到Mysql的bin目录: c:/data.txt这个目录和导出的文本名可以自己随便取,-B 后面的是表名,我要导出的表明叫use ...

  6. redis 性能建议

    因为 RDB 文件只用作后备用途,建议只在 Slave 上持久化 RDB 文件,而且只要15分钟一次就够了,只保留 save 900 1 这条规则. 如果 Enable AOF,好处是在恶劣请看下也只 ...

  7. 理解本真的 REST 架构风格

    1. http://kb.cnblogs.com/page/186516/ 2. http://www.infoq.com/cn/articles/rest-introduction 3. http: ...

  8. 以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明

    以太坊智能合约开发,Web3.js API 中文文档 ethereum web3.js入门说明 为了让你的Ðapp运行上以太坊,一种选择是使用web3.js library提供的web3.对象.底层实 ...

  9. js获取浏览器类型和版本信息

    bro () { let broName = 'Runing' let strStart = 0 let strStop = 0 let temp = '' let userAgent = windo ...

  10. Java中高级面试必问之多线程TOP50(含答案)

    以下为大家整理了今年一线大厂面试被问频率较高的多线程面试题,由于本人的见识局限性,所以可能不是很全面,也欢迎大家在后面留言补充,谢谢. 1.什么是线程? 2.什么是线程安全和线程不安全? 3.什么是自 ...