查看原文
其他

每天学一个 Linux 命令(84):rpm

点击关注👉 民工哥技术之路 2022-06-18

点击下方“民工哥技术之路”,选择“设为星标”

回复“1024”获取独家整理的学习资料!

命令简介

rpm(RPM Package Manager)是一个强大的命令行驱动的软件包管理工具,用来安装、卸载、校验、查询和更新 Linux 系统上的软件包。

语法格式

rpm [OPTION...]

选项说明

-a, - -all     #查询所有已经安装过的程序包
-i, --install  #安装
-U, --update   #更新升级
-F, --freshen  #刷新,仅更新已安装的软件
-e, --erase    #卸载
-q, --query    #查询
-V, --verify   #校验
-l, --list     #程序安装生成的所有文件列表
-f file   #查询指定的文件由哪个程序包安装生成
-p,- -package package_file  #对未安装的程序包进行查询操作
-v   #显示详细信息
-h   #显示输出进度条,每个#表示2%的进度
-vv  #显示更详细的信息
- -replacepkgs #重新安装
- -nodeps      #安装时,忽略依赖关系
- -test        #测试安装,检查并报告依赖关系及冲突消息等,但并不是真的安装

校验结果

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:Link路径已经发生改变
U User ownership differs:文件所属人发生改变
G Group ownership differs:文件所属组发生改变
T mTime differs:文件的创建时间发生改变
P caPabilities differ:功能发生改变

应用举例

安装

[root@centos7 ~]# rpm -ivh httpd-2.4.6-95.el7.centos.x86_64.rpm

查询

[root@centos7 ~]# rpm -qa|grep httpd
httpd-tools-2.4.6-97.el7.centos.x86_64
httpd-2.4.6-97.el7.centos.x86_64

列出程序包相关的信息,版本号、大小、所属的包组等等

[root@centos7 ~]# rpm -qi httpd
Name        : httpd
Version     : 2.4.6
Release     : 97.el7.centos
Architecture: x86_64
Install Date: Wed 10 Mar 2021 12:02:10 PM EST
Group       : System Environment/Daemons
Size        : 9821064
License     : ASL 2.0
Signature   : RSA/SHA256, Wed 18 Nov 2020 09:17:43 AM EST, Key ID 24c6a8a7f4a80eb5
Source RPM  : httpd-2.4.6-97.el7.centos.src.rpm
Build Date  : Mon 16 Nov 2020 11:21:17 AM EST
Build Host  : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://httpd.apache.org/
Summary     : Apache HTTP Server
Description :
The Apache HTTP Server is a powerful, efficient, and extensible
web server.

安装后所产生的所有文件列表

[root@centos7 ~]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/logs
/etc/httpd/modules
/etc/httpd/run
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
.........................省略

每天学一个 Linux 命令(74):host

每天学一个 Linux 命令(75):mount/umount

每天学一个 Linux 命令(76):fsck

每天学一个 Linux 命令(77):dd

推荐阅读 点击标题可跳转
从零开始掌握 HAProxy,也不难嘛!!!

2020 国内互联网公司薪酬、加班排名出炉!

Docker部署Prometheus+Grafana监控系统

超全整理!Linux 性能分析工具汇总

每天学一个 Linux 命令(81):e2fsck

用 GitLab 做 CI/CD 是什么感觉,太强了

MongoDB 日常运维实践总结

超详细讲解!10 种常见的软件架构模式

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存