zoukankan      html  css  js  c++  java
  • 简述rpm与yum命令的常见选项

    rpm是一个功能十分强大的软件包管理系统,它使得在Linux下安装、升级和删除软件包的工作变的容易、并且具有查询、验证软件包的功能。


    1)安装选项
    命令格式:rpm {-i|--install} [install-options] PACKAGE_FILE ...
    详细选项
    -h (or -hash)安装时输出hash记号(#)
    --test 只对安装进行测试,并不实际安装
    --percent 以百分比的形式输出安装的进度
    --nodeps:忽略依赖关系
    --replacepkgs:重新安装
    --nosignature:不检查来源合法性
    --noscipts:不执行程序包脚本片段;
    %pre:安装前脚本:--nopre
    $post:安装后脚本; --nopost
    %preun:卸载前脚本; --nopreun
    %postun:卸载后脚本; --nopostun

    普通选项
    -v:显示附加信息
    --vv:显示更加详细的信息


    2)升级
    命令格式:rpm {-U|--upgrade}[install-options]PACKAGE_FILE...
    rpm {-F|--freshen}[install-options]PACKAGE_FILE...
    upgrade:安装有旧版程序包,则升级,如果不存在旧版本的程序包,则安装;
    freeshen:安装有旧版程序包,则升级,如果不存在旧版本程序包,则不执行升级操作;
    rpm -Uvh PACHAGE_FILE ...
    rpm Fvh PACHAGE_FILE ...
    --oldpackage:降级
    --force:强行升级

    注意:(1)不要对内核升级操作:Linux支持多内核版本并存,因此,对直接安装新版本内核;
    (2)如果原程序包的配置文件安装后曾被修改,升级时,新版本的提供的通一个配置文件并不会直接覆盖老版本的配置文件,而被新版本文件重命名(FILENAME.rpmnew)后保留;


    3)查询
    命令格式: rpm {-q|--query} [select-options] [query-options]
    -a:所有包;
    -f:查看指定的文件由那个程序包安装生成
    -p /PATH/TO/PACKAGE_FILE:针对尚未安装的程序包做查询操作;
    --whatprovides CAPABILITY:查询指定CAPABILITY由那个包提供;
    --whatrequies CAPABILITY:查询指定CAPILITY被那个包所依赖;

    详细选项
    --changelog:查询rpm包的changlog
    -c:查询程序的配置文件
    -i:infornation
    -l:查看指定程序包安装后生成的指定文件
    --scripts:程序包自带脚本片段
    -R:查询指定的程序包所依赖的CAPABILITY;
    --provides:列出指定程序包所提供的CAPABILITY;
    用法
    -qi PACKAGE,-qf FILE,-qc PACKAGE,-qd PACKAGE
    -qpi PACKAGE_FILE,-qpl PACHAGE_FILE,...
    -qa


    4)卸载
    命令格式:rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts][--notriggers] [--test] PACKAGE_NAME ...

    参数
    pkg1 ... pkgN :要删除的软件包
    详细选项

    --test 只执行删除测试
    --noscripts 不运行预安装和后安装脚本程序
    --nodeps 不检查依赖性


    5)校验已安装的软件包
    命令格式:
    rpm {-V|--verify} [select-options] [verify-options]

    参数
    pkg1 ... pkgN 将要校验的软件包名

    软件包选项
    -p Verify against package file
    -f 校验所属的软件包
    -a Verify 校验所有的软件包
    -g 校验所有属于组的软件包

    详细选项

    --noscripts 不运行校验脚本
    --nodeps 不校验依赖性
    --nofiles 不校验文件属性


    例子

    [root@qingcheng-db lgp]# rpm -ivh htop-2.0.2-1.el7.x86_64.rpm             //安装包,并显示详细进度
    警告:htop-2.0.2-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:htop-2.0.2-1.el7                 ################################# [100%]
    
    [root@qingcheng-db lgp]# rpm -i ftp://ftp.xxx.xxx                       //在线安装
    [root@qingcheng-db lgp]# rpm -Va                                            //校验所有的rpm包,查找丢失的文件
    遗漏   c /etc/yum.repos.d/CentOS-Base.repo
    遗漏   c /etc/yum.repos.d/CentOS-CR.repo
    遗漏   c /etc/yum.repos.d/CentOS-Debuginfo.repo
    遗漏   c /etc/yum.repos.d/CentOS-Media.repo
    遗漏   c /etc/yum.repos.d/CentOS-Sources.repo
    遗漏   c /etc/yum.repos.d/CentOS-Vault.repo
    遗漏   c /etc/yum.repos.d/CentOS-fasttrack.repo
    
    [root@qingcheng-db lgp]# rpm -qf /usr/bin/htop                   //查找一个文件属于哪个包
    htop-2.0.2-1.el7.x86_64
    
    [root@qingcheng-db lgp]# rpm -qpi htop-2.0.2-1.el7.x86_64.rpm    //查询rpm包的描述信息
    [root@qingcheng-db lgp]# rpm -qpl htop-2.0.2-1.el7.x86_64.rpm    //列出rpm包的文件信息
    警告:htop-2.0.2-1.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 352c64e5: NOKEY
    /usr/bin/htop
    /usr/share/doc/htop-2.0.2
    /usr/share/doc/htop-2.0.2/AUTHORS
    /usr/share/doc/htop-2.0.2/COPYING
    /usr/share/doc/htop-2.0.2/ChangeLog
    /usr/share/doc/htop-2.0.2/README
    /usr/share/man/man1/htop.1.gz
    /usr/share/pixmaps/htop.png
    
    [root@qingcheng-db lgp]# rpm -Uvh htop-2.0.2-1.el7.x86_64.rpm      //升级包
    [root@qingcheng-db lgp]# rpm -q  htop                                              //查看htop的安装包
    htop-2.0.2-1.el7.x86_64
    [root@qingcheng-db lgp]# rpm -e  htop                                            //移除安装包
    [root@qingcheng-db lgp]# rpm -qi htop                                            //得到安装包的信息
    [root@qingcheng-db lgp]# rpm -ql htop                                            //列出http中有那些文件
    [root@qingcheng-db lgp]# rpm -qa                                                    //列出所有已安装的包
      
    

    yum

    用于添加/删除/更新rpm包,自动解决包的依赖问题以及系统更新升级

    参数

    -e 静默执行
    -t 忽略错误
    -R[分钟]设置等待时间
    -y 自动应答 yes
    --skip-broken忽略依赖问题
    --nogpgcheck 忽略GPG验证

    check-update 检查可更新的包
    clean all清楚全部
    clean packages 清楚临时包文件 (/var/cache/yum 下文件)
    clean headers 清除rpm头文件
    deplist 列出包的依赖
    list 可安装和可更新的RPM包
    list installed 已安装的包
    list extras 已安装且不在资源库的包
    info 可安装和可更新的RPM包信息
    info installed 已安装包的信息(-qa参数相似)
    install[RPM包]安装包
    localinstall 安装本地的RPM包
    update [RPM包]更新包
    upgrate 升级系统
    search [关键词]搜索包
    provides[关键词]搜索特定包文件名
    resinstall [RPM包]更新安装包
    repolist 显示资源库的配置
    resolvedep指定依赖
    remove[RPM包]卸载包

    例子
    
    安装
    [root@qingcheng-db ~]# yum install php                              //安装PHP
    [root@qingcheng-db ~]# yum groupinstall "MySQL Server"          //安装mysql数据组
    
    更新和升级
    [root@qingcheng-db ~]# yum update                                           //全部更新
    [root@qingcheng-db ~]# yum update php                                   //更新PHP
    [root@qingcheng-db ~]# yum check-update                               //检查可更新的程序
    [root@qingcheng-db ~]# yum upgrade php                                //升级php
    [root@qingcheng-db ~]# yum groupupdate "MySQL Server"     //升级mysql服务组
    
    查找和显示
    [root@qingcheng-db ~]# yum info php                                //查看php的安装信息
    [root@qingcheng-db ~]# yum list                                         //列出所有可用安装程序包
    [root@qingcheng-db ~]# yum list php                                 //列出所有php的程序包
    [root@qingcheng-db ~]# yum groupinfo  "MySQL Server"    // 查看mysql服务组的,相关安装包
    [root@qingcheng-db ~]# yum deplist php                             //查看php依赖情况
    [root@qingcheng-db ~]# yum search iftop                            //搜索安装包
    [root@qingcheng-db ~]# yum history                                  //查看历史记录
    [root@qingcheng-db ~]# yum provides */vim                     //查看命令的生成包
    
    
    删除
    [root@qingcheng-db ~]# yum remove php                       //删除php
    [root@qingcheng-db ~]# yum groupremove  "MySQL Server"     //删除mysql服务组
    
    清除缓存
    [root@qingcheng-db ~]# yum clean packages                  //清除缓存目录下的软件包
    [root@qingcheng-db ~]# yum clean headers                    //清除缓存目录下的headers
    [root@qingcheng-db ~]# yum clean oldheaders               //清除缓存目录下旧的headers
    [root@qingcheng-db ~]# yum clean,yum clean all            //清除所有
    
  • 相关阅读:
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    一手遮天 Android
    springcloud-gateway整合Swagger聚合微服务系统API文档
    Gateway 其他配置
    Gateway Global Filters
    Gateway GatewayFilter Factories
    Gateway Route Predicate Factories
  • 原文地址:https://www.cnblogs.com/kangfeng/p/8268842.html
Copyright © 2011-2022 走看看