软件包安装命令rpm和yum详解

目录

  • yum和rpm的常用命令
    • 软件包的安装
    • 软件包的查询
    • 软件包的卸载
  • yum和rpm的所有其他选项
    • rpm中的所有选项
    • yum中的所有选项

yum和rpm的常用命令

yum和rpm有很多的用法,下面我只介绍我们可能会经常遇到的。不经常用的,会贴到文章最后面。

软件包的安装

  • rpm安装包的时候使用rpm -ivh package_name
    实例:rpm -ivh screen-4.0.3-19.el6.x86_64
    强制安装:rpm -ivh package_name --force(万能安装选项)
  • yum安装软件的语法格式:yum install package_name
    实例:yum install yum install screen-4.0.3-19.el6.x86_64.rpm

软件包的查询

软件包的查询可以配合着软件包的安装和卸载一起使用。当我们只知道软件包的文件而不知道包名,或者只知道包名的关键字的时候,我们可以利用这个进行搜寻,然后再去安装,或者卸载。

  • rpm中的查询,语法:rpm -qa |grep 关键字
    实例:rpm -qa |grep screen,从结果中筛选出我们想要的,然后在进行 相应的操作即可。
  • yum中的查询
    • 方法一:语法:yum list installed |grep 关键字
      实例:yum list installed |grep screen
    • 方法二:语法:yum provides 关键字
      实例:yum provides screen

软件包的卸载

  • rpm中的卸载 语法:rpm -e 包名
    实例:rpm -e screen
  • yum中的卸载 语法:yum remove 包名
    实例:yum remove screen-4.0.3-19.el6.x86_64.rpm
    以上就是我们常用的一些命令,我们常用的一般也就是这三种,将查询和其他两种结合起来能完成我们大多数的操作。
    [注意]:在软件包安装和卸载的时候,yum的好处就是能够实现包的依赖安装。有些rpm一次不能安装好的命令,使用yum就能安装好。而且这种关系在卸载的时候,我们可以使用这条命令。yum history undo 4其中4就是列表中的第四条而Undo就是反向执行。我们能看到图中第4条是一个安装命令,它的反向就是卸载。假如我们使用yum安装时候依靠依赖关系装了5个包,当我们使用undo时,就能够依靠反向去卸载这5个包。

yum和rpm的所有其他选项

rpm中的所有选项

rpm
    -i 安装
        -v 显示过程
        -vv 显示详细过程
        -h 显示进度
    -ivh 常用的安装选项
        --nodeps忽略依赖性关系检测
        --replacepkgs 重复安装已安装过的包,文件覆盖
        --replacefiles 即将安装的包的部分文件与其他已安装的包文件冲突,可继续安装,文件不覆盖
        --nosignature: 不检查来源合法性
        --nodigest:不检查包完整性
        --noscripts:不执行程序包脚本
            %pre: 安装前脚本; --nopre
            %post: 安装后脚本; --nopost
            %preun: 卸载前脚本; --nopreun
            %postun: 卸载后脚本;  --nopostun
        -U 指定的包比已安装的包新或者未安装
        -F 指定的包比已安装的包新
        --oldpackage 指定的包比已安装过的包旧
        --force
            --replacepkgs, --replacefiles, --oldpackage
    -q 查询包是否安装
        -qa 查询已安装的所有包
        -qf 文件路径  查询指定的文件来源于哪一个rpm包
        -ql 包名 查询该包提供了哪些文件
        -qp# rpm包 对未安装的包,指定rpm文件再配合其他查询子选项来进行各项查询操作
        -q --changelog 包名 查看更新日志
        -qc 包名 查看该软件包所提供的配置文件
        -qd 包名 查看该软件包所提供的文档文件
        -qi 包名 查看该软件包的详细信息
        -q --scripts 查看安装前及安装后的脚本 
        -q --provides 包名 查看一个软件包提供了哪些能力
        -qR 包名 查看一个软件包的运行所依赖的能力
        -q --whatprovides 能力名 查看一个能力由哪个包提供
        -q --whatrequires 能力名 查看一个能力依赖于哪些包

    -e 卸载
        -e 包名
            rpm -e `rpm -q vsftpd` 
            或
            rpm -e vsftpd --allmatches 安装了多个版本的某个rpm可以一次性全部删除
            --nodeps 删除时不检查依赖性关系

    -V 校验已安装的包的文件哪些发生了更改或丢失,更改变化的类型如下
        S file Size differs
        M Mode differs (includes permissions and file type)
        5 digest (formerly MD5 sum) differs
        D Device major/minor number mismatch
        L readLink(2) path mismatch
        U User ownership differs
        G Group ownership differs
        T mTime differs
        P capabilities differ

    -K rpm包 验证包的合法性
    --import 公钥 导入公钥
    rpm -qa "gpg-pubkey*" 查询公钥
    rpm -e `rpm -qa "gpg-pubkey*"` 删除公钥

    --initdb 初始化/var/lib/rpm数据库
    --rebuilddb 重建包头索引目录

yum中的所有选项

yum 
    yum repolist
            all 显示所有的仓库
            enabled 显示已启用的仓库
            disabled 显示已禁用的仓库 
    yum list [all]
            available 显示所有可用的,且未安装的
            installed 显示所有已安装的包
            updates 显示可更新的包
    yum install pkg1 [pkg2]
    yum reinstall pkg1 [pkg2]
    yum update [pkg1] [pkg2]
    yum list updates 或 yum check-update
    yum erase 或 yum remove
    yum info pkg1 显示包的详细信息
    yum provides | whatprovides  文件路径(支持文件名通配符) 查询一个文件来自哪一个rpm包无论是否已安装
    yum clean all清空缓存 
    yum makecache
    yum deplist pkg1 查询指定包所依赖的能力
    yum history 显示yum的历史操作
        yum history info # 详细显示某条历史记录
        yum history undo # 撤消某条yum的操作
    yum localinstall |install  rpm路径  安装本地的rpm包,并用yum解决依赖性关系
    yum localupdate |update  rpm路径  更新本地的rpm包,并用yum解决依赖性关系
    yum groupinstall grppkg1
        grouplist 列出所有的包组
        groupinfo grppkg1 显示该包组包含的rpm包
        groupremove grppkg1 卸载包组
    yum install --nogpgcheck 临时不进行gpg check
        -y 自动回答,避免交互式
        -q 静默。但不彻底,建议使用yum -y install vsftpd &> /dev/null
    createrepo 存放rpm的路径

你可能感兴趣的:(linux运维)