zoukankan      html  css  js  c++  java
  • linux基础之程序包管理(rpm,yum)

    一、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

          

          

          

          

          

     

       

     

      

        

        

                          

                       

     

  • 相关阅读:
    PerfDog携手Imagination,助力开发者获取GPU关键数据
    WeTest云手机升级,支持iOS 15全新系统
    洞穿性能测试痛点,PerfDog以提升应用和游戏的品质为使命
    使用xmlhttprequest遇到CORS报错的处理
    Hive的联级(cascade)-新增字段(column)后,旧分区无法更新数据问题
    数据异常检测入门
    Linux查看文件或文件夹大小: du命令
    k8s pod自动重启原因(jvm内存设置)
    计算容器运行至今多长时间
    期刊论文在线投稿审稿系统day1数据库设计
  • 原文地址:https://www.cnblogs.com/ckh2014/p/9545696.html
Copyright © 2011-2022 走看看