一、rpm包命令规范

1、包的组成

  • 主包:bind-9.7.1-1.el5.i586.rpm
  • 子包:bind-libs-9.7.1-1.el5.i586.rpm bind-utils-9.7.1-1.el5.i586.rpm

2、包名格式

  • name-version-release-arch.rpm

    • bind-major.minor.release-release.arch.rpm

3、包名格式说明

  • major(主版本号):重大改进
  • minor(次版本号):某个子功能发生重大变化
  • release(发行号):修正了部分bug,调整了一点功能

4、常见的arch:

  • x86:i386,i486,i586,i686
  • x86_64:x64,x86_64,amd64
  • 跟平台无关:noarch

二、rpm包管理

1、rpm及其作用

1️⃣:rpm是Redhat Package Manager的简称,用于管理软件包

2️⃣:rpm有一个强大的数据库/var/lib/rpm

3️⃣:rpm的管理工作包括软件的安装、卸载、升级、查询、校验、重建数据库、验证软件包来源合法性等等

2、rpm包安装  

1️⃣:语法:rpm -ivh /PATH/TO/PACKAGE_FILE ...

2️⃣:常用选项:

  1. //常用选项
  2. -i: 安装
  3. -v: 显示详细信息
  4. -h: 显示安装进度条
  5. -e :删除指定rpm
  6. -R :显示软件包的关键信息
  7. -s :显示文件状态
  8.  
  9. --test: 测试安装,但不真正执行安装过程
  10. --nodeps: 忽略依赖关系
  11. --replacepkgs: 重新安装,替换原有安装
  12. --oldpackage: 降级
  13. --force: 强行安装,可以实现重装或降级
  14. --nodigest: 不检查包的完整性
  15. --nosignature: 不检查包的来源合法性
  16. --noscripts: 不执行程序包脚本片断
  17. %pre:安装前脚本 --nopre
  18. %post:安装后脚本 --nopost
  19. %preun:卸载前脚本 --nopreun
  20. %postun:卸载后脚本 --nopostun  

3️⃣:安装示例:

  1. //安装软件包, 需要指定软件包绝对路径 (当前系统版本是RHEL8)
  2. [root@localhost mnt]# rpm -ivh /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm
  3. [root@localhost mnt]# rpm -ivh /mnt/AppStream/Packages/vsftpd-3.0.3-28.el8.x86_64.rpm
  4.  
  5. //测试一个软件包是否能在该系统上安装
  6. [root@localhost ~]# rpm -ivh --test /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm
  7.  
  8. //如果软件包存在, 强制再次安装
  9. [root@localhost ~]# rpm -ivh --force /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm
  10.  
  11. //安装Apache服务需要依赖其他组件, 使用--nodeps可重新强制安装
  12. [root@localhost ~]# rpm -ivh --nodeps /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm

4、rpm包查询  

  1. rpm包查询:
  2. 语法:rpm 选项 (--指定的命令) packagesname
  3. -q :查询指定的包是否已安装
  4. -qa :查询已经安装的所有包
  5. -ql :查询指定软件包安装后生成的文件列表
  6. -qi :查询指定包的说明信息
  7. -qR :查询指定的软件包所依赖的CAPABILITY
  8.  
  9. -qf :查询指定的文件是由哪个rpm包安装生成的
  10. -qc :查询指定包安装的配置文件
  11. -qd :查询指定包安装的帮助文件
  12.  
  13. -q --scripts :查询指定包中包含的脚本
  14. -q --whatprovides :查询指定的CAPABILITY(能力)由哪个包所提供
  15. 例如:rpm -q --whatprovides /bin/cat
  16.  
  17. -q --whatrequires :查询指定的CAPABILITY被哪个包所依赖
  18. -q --changelog :查询COMMAND的制作日志
  19. -q --scripts :查询指定软件包包含的所有脚本文件
  20. -q --provides :列出指定软件包所提供的CAPABILITY
  21.  
  22. -qpi /PATH/TO/PACKAGE_FILE :查询指定未安装包的说明信息
  23. -qpl /PATH/TO/PACKAGE_FILE :查询未安装的软件包会产生哪些文件

实例:

  1. //查询httpd这个rpm包是否安装
  2. [root@localhost ~]# rpm -q httpd
  3.  
  4. //查找系统已安装的rpm包
  5. [root@localhost ~]# rpm -ql|grep httpd
  6.  
  7. //查询rpm包所安装的文件
  8. [root@localhost ~]# rpm -qa httpd
  9.  
  10. //查询配置文件或命令来自于哪个rpm包
  11. [root@localhost ~]# rpm -qf /usr/sbin/httpd
  12. [root@localhost ~]# rpm -qf /etc/httpd/conf/httpd.conf
  13.  
  14. //查询未安装的软件包会产生哪些文件
  15. [root@localhost ~]# rpm -qlp /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm

  16. [root@localhost ~]# rpm -qip /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm

5、rpm包升级

  1. rpm -Uvh /PATH/TO/NEW_PACKAGE_FILE //如果装有老版本的,则升级;否则,则安装(相当于有则升级,没有就安装)
  2. rpm -Fvh /PATH/TO/NEW_PACKAGE_FILE //如果装有老版本的,则升级;否则,退出(相当于只对老版本安装包升级作用)
  3. --oldpackage:降级
  4.  
  5. 示例:
  6. [root@localhost ~]# rpm -Uvh /mnt/AppStream/Packages/http-parser-2.8.0-5.el8.x86_64.rpm
  7. //升级httpd软件包

6、rpm包卸载  

  1. //语法:rpm -e packagesname
  2.  
  3. 示例:
  4. [root@localhost ~]# rpm -qa httpd
  5. [root@localhost ~]# rpm -e httpd

Linux_rpm包管理的更多相关文章

  1. ASP.NET Core 静态文件及JS包管理器(npm, Bower)的使用

    在 ASP.NET Core 中添加静态文件 虽然ASP.NET主要大都做着后端的事情,但前端的一些静态文件也是很重要的.在ASP.NET Core中要启用静态文件,需要Microsoft.AspNe ...

  2. Linux程序包管理之yum及源代码安装

    第十六章.Linux程序包管理之yum及源代码安装 目录 yum介绍 yum配置文件 yum的repo配置文件中可用的变量 yum命令的使用 使用光盘作为本地yum仓库 如何创建yum仓库 编译安装的 ...

  3. Node.js包管理器Yarn的入门介绍与安装

    FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...

  4. Python黑帽编程1.3 Python运行时与包管理工具

    Python黑帽编程1.3  Python运行时与包管理工具 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Attack and ...

  5. 你需要知道的包管理器(Package Manager)

    最近我花了一点时间关注了在不同系统之中所用到的包管理器(Package Manager) .最开始的时候,我是在使用Linux操作系统时,对这种工具以及它背后的想法深深迷恋住了:这真是自由的软件世界. ...

  6. 包管理工具Carthage使用

    iOS项目中第三方开源库的工具有Cocoapods和Carthage,swift官方出了一个包管理工具SPM(Swift Package Manager). 首先,大体讲一下Cocoapods和Car ...

  7. RPM包管理命令rpm

    RPM包管理器是Linux系统中最早的软件包管理软件之一,也是目前最流行的软件包管理器,许多发行版都使用RPM作为默认的软件包管理软件. RPM软件包名称格式: samba-client-3.0.33 ...

  8. Node包管理工具

    Node包管理工具 只是简单的介绍一些工具的使用,有利于开发过程.除了介绍Node包管理工具,还介绍了前端打包工具,前端模块管理工具 Node包管理工具:    --npm    --cnpm    ...

  9. godep 包管理工具

    godep是解决包依赖的管理工具 安装 go get github.com/tools/godep 成功安装后,在GOPATH的bin目录下会有一个godep可执行的二进制文件,后面执行的命令都是用这 ...

随机推荐

  1. Dynamics CRM报表无法访问提示“报表服务器无法访问或使用加密密钥。你可能需要将服务器添加到扩展组,或重新导入”

    当我们部署Dynamics CRM的环境的时候如果报表配置的不规范会出现很多问题,尤其是这个问题相对来说更棘手,解决起来非常麻烦. 网上很多教程都说直接到报表配置页删除密钥就可以了,实际上删除的时候会 ...

  2. Spring (三)SpringAoP

    1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能 ...

  3. 6.3string用法

    string类型可以大大方便对字符串的处理 1.string的定义 string str; string str="abcd"; 2.string中内容的访问 (1)可以像字符数组 ...

  4. antd+react项目迁移vite的解决方案

    antd+react+webpack往往是以react技术栈为主的前端项目的标准组合,三者都有成熟的生态和稳定的表现,但随着前端圈的技术不断革新,号称下一代构建平台vite2的发布,webpack似乎 ...

  5. Sentinel上生产环境只差一步,监控数据持久化

    之前介绍了Sentinel相关的文章,小伙伴在生产实践中不知道有没有这个疑问?我们的Sentinel控制台监控的数据只能看最近5分钟的,如图 那么就导致历史数据是查看不了的,那肯定是不行的,在生产环境 ...

  6. ret2dl64

    ret2dl64 ret2dl64 与ret2dl32不同,ret2dl64需要知道libc. 检查保护: IDA看一看 read_got 被置为0,强制你使用ret2dlresolve. 我们先伪造 ...

  7. 13.Quick QML-RowLayout、ColumnLayout、GridLayout布局管理器介绍、并通过GridLayout设计的简易网站导航界面

    上章我们学习了:12.Quick QML-QML 布局(Row.Column.Grid.Flow和嵌套布局) .Repeater对象,本章我们继续来学习布局管理器 1.RowLayout.Column ...

  8. 如何查看显著性SNP在数据中的频率?

    我们做完GWAS的关联分析后需要查看显著性SNP在我们数据中的频率分布情况.这时候我们需要用到plink和我们做关系分析所用的二进制文件datas. 第一步,我们用R语言读取分析结果,即*.assoc ...

  9. 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权

    Oauth2授权,熟悉微信开发的同学对这个东西应该不陌生吧.当我们的应用系统需要集成第三方授权时一般都会做oauth集成,今天就来看看在Dapr的语境下我们如何仅通过配置无需修改应用程序的方式让第三方 ...

  10. 【转】【linux系统】nacos + confd配置nginx

    为什么要支持confd,老的应用配置管理模式是启动时读取配置文件,然后重新读取配置文件需要应用重启.一般的配置管理系统都是代码侵入性的,应用接入配置管理系统都需要使用对应的SDK来查询和监听数据的变更 ...