架构师之路-学渣到学霸历程-17

rpm包管理的说明

主要讲述的就是rpm包的详细说明

接上午所了解,Linux的软件包安装方式也有RPM安装的方式;

然后晚上我们详细测试一下这个rpm包怎么使用的;

1.rpm工作原理:

当我们使用rpm工具安装软件包时,它会首先找到软件包中的一个记录文件,该文件记录了这个软件安装时需要的依赖包,如果包已经存在,则可以顺利安装,如果不存在,则提示缺少相应的依赖。

2.rpm的优点:
  • 软件已经编译打包,所以传输和安装方便,让用户免除编译。
  • 在安装之前,会先检查系统的磁盘、操作系统版本等,避免错误安装
  • 在安装好之后,软件的信息都已经记录在linux主机的数据库上,方便查询、升级和卸载。
3.rpm的缺点:
  • 软件包安装的环境必须与打包时的环境一致。
  • 必须安装了软件的依赖软件。
4.rpm常见的命令
shell 复制代码
## 安装包,如果依赖包没装,则会提示检测依赖失败:
[root@Linux1 Packages]# rpm -ivh tomcat-7.0.76-15.el7.noarch.rpm 
错误:依赖检测失败:
	apache-commons-collections 被 tomcat-0:7.0.76-15.el7.noarch 需要
	apache-commons-daemon 被 tomcat-0:7.0.76-15.el7.noarch 需要
	apache-commons-dbcp 被 tomcat-0:7.0.76-15.el7.noarch 需要
	apache-commons-logging 被 tomcat-0:7.0.76-15.el7.noarch 需要
	apache-commons-pool 被 tomcat-0:7.0.76-15.el7.noarch 需要
	java >= 1:1.6.0 被 tomcat-0:7.0.76-15.el7.noarch 需要
	tomcat-lib = 0:7.0.76-15.el7 被 tomcat-0:7.0.76-15.el7.noarch 需要

# 忽略依赖,强制安装:
[root@Linux1 Packages]# rpm -ivh --nodeps tomcat-7.0.76-15.el7.noarch.rpm 
准备中...                          ################################# [100%]
正在升级/安装...
   1:tomcat-0:7.0.76-15.el7           ################################# [100%]

#卸载包
[root@Linux1 Packages]# rpm -e tomcat

#查询某个包是否有安装
[root@Linux1 Packages]# rpm -qa httpd

#查看当前系统所有已经安装的包
[root@Linux1 Packages]# rpm -qa 

#统计系统已经安装好的包
[root@Linux1 Packages]# rpm -qa | wc -l
346

## 查询已安装包的版本信息:
[root@Linux1 Packages]# rpm -qi nginx
Name        : nginx
Epoch       : 1
Version     : 1.20.1
Release     : 10.el7
............

# 查询已经安装的包的所有文件路径:
[root@Linux1 Packages]# rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
.........

# 查询已安装的包文档路径:
[root@Linux1 Packages]# rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
.....

# 根据指定的文件(一般指的是命令),反向查找软件包:
[root@Linux1 Packages]# rpm -qf `which nginx`
nginx-1.20.1-10.el7.x86_64

# 查看软件包在安装过程中执行脚本:
[root@Linux1 Packages]# rpm -q --scripts nginx
postinstall scriptlet (using /bin/sh):
............

# 查询一个未安装的包的文件分布路径:
[root@Linux1 Packages]# rpm -qpl tomcat-7.0.76-15.el7.noarch.rpm 
/etc/logrotate.d/tomcat
/etc/sysconfig/tomcat
/etc/tomcat
................

分享环节:

hi,亲爱的朋友们:

  • 感谢你们耐心完这个笔记,如果笔记中出现的一些软件包、资源找不到的可以直接留言&私聊,我看见了就回复;
  • 资源免费共享;有需要滴滴,(仅仅是我有的)

我的坚持初衷:💕立志要成为一名架构师

  • 不断地去坚持学,其中的各种各样的难度,不言而喻~!
  • 坚持不是一件容易的事情,但它却是成功的关键。做起来吧~!

如果你也想要坚持:那么组团吧,咋们一块互相监督;一天一点分享也是进步;最怕就是孤军奋战!加油吧,追梦人~!

相关推荐
嵌入式-老费1 天前
自己动手写深度学习框架(快速学习python和关联库)
开发语言·python·学习
执笔论英雄1 天前
【大模型训练】zero 学习及deepseed实战
人工智能·深度学习·学习
前路不黑暗@1 天前
Java:继承与多态
java·开发语言·windows·经验分享·笔记·学习·学习方法
2501_916007471 天前
从零开始学习iOS App开发:Xcode、Swift和发布到App Store完整教程
android·学习·ios·小程序·uni-app·iphone·xcode
_dindong1 天前
牛客101:递归/回溯
数据结构·c++·笔记·学习·算法·leetcode·深度优先
笨鸟笃行1 天前
百日挑战——单词篇(第十二天)
学习
lingggggaaaa1 天前
小迪安全v2023学习笔记(一百四十三讲)—— Win系统权限提升篇&AD内网域控&NetLogon&ADCS&PAC&KDC&CVE漏洞
windows·笔记·学习·安全·内网安全·权限提升
71-31 天前
牛客上的练习题——打印X形图案(有说明scanf返回值)
c语言·笔记·学习
NON-JUDGMENTAL1 天前
DiverseVul
笔记·学习
落羽的落羽1 天前
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通
linux·服务器·c语言·c++·人工智能·学习·机器学习