zoukankan      html  css  js  c++  java
  • rpm命令总结

    1、简介
    在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件,只能采取编译源码包的方式。所以,早期安装软件是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供自身的源代码,还需要运维人员编译代码后自行解决软件之间的依赖关系。
    总而言之,早期的Linux系统在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等软件操作时难度都非常大。RPM机制则正是为了解决这些问题而设计的。
    RPM有点像Windows系统中的控制面板,会建立统一的数据库,详细记录软件信息并能够自动分析依赖关系。

    2、常用命令:

    rpm -q 包名              查询软件包是否安装
    rpm -qa | grep 包名   查询已安装的所有rpm包在过滤某个包是否安装
    rpm -qf 文件名        查询系统文件所属哪个软件包,常用rpm -qf `which 命令`
    
    rpm -qi 包名          查询已安装软件包的详细信息
    rpm -ql 包名          查询已安装软件包中、文件安装的位置
    rpm -qc 包名          查询已安装软件包中所有配置文件的路径
    rpm -qR 包名          查询已安装软件包的依赖关系
    
    -p        上面的命令加上-p参数则是查询未安装软件包的相关信息。
    注意:-p参数需加上软件包的完整包名和位置信息例如rpm -qpR /mnt/cdrom/AppStream/Packages/whois-5.5.1-2.el8.x86_64.rpm
    
    rpm -ivh x.rpm    安装软件,加 --force忽略报错,强制安装   
    rpm -Uvh x.rpm    升级软件        
    rpm -e x.rpm      卸载软件,加--nodeps忽略报错,强制卸载 ,建议在卸载时不要用rpm去卸载有依赖关系的包,应该用yum    
    
    查看软件包内容是否被修改。注: 检验时参考了 /var/lib/rpm 目录下的rpm数据库信息
    rpm -V   软件包名、例如 rpm -V findutils
    rpm -Vf  文件路径、例如 rpm -Vf /usr/bin/find 
    
    注:如果出现的全是点或者空,表示测试通过
    出现下面的字符代表某测试的失败:
    5 — MD5 校验和是否改变,你也看成文件内容是否改变
    S — 文件长度,大小是否改变
    L — 符号链接,文件路径是否改变
    T — 文件修改日期是否改变
    D — 设备
    U — 用户,文件的属主
    G — 用户组
    M — 模式 (包含许可和文件类型)
    ? — 不可读文件
    
  • 相关阅读:
    codeforces 732D
    我的ubuntu配置
    周末实在无聊,自己写了一遍被人写烂了的“贪吃蛇”,欢迎各位新手低手高手老手前来吐槽哈哈
    两种方式实现点击列表弹出列表索引
    浅谈javascript中原型(prototype)、构造函数、对象实例及三者之间的关系
    写了个超级简单的“进度条”的demo,供新手参考,高手吐槽!
    javascript 使用 NodeList主意的问题
    js中的“||”和“&&”
    javascript call函数实现继承时遇到的问题
    javascript 解决innerText浏览器兼容
  • 原文地址:https://www.cnblogs.com/you-xiaoqing/p/15497533.html
Copyright © 2011-2022 走看看