架构师之路-学渣到学霸历程-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 分钟前
AI + 前端、可视化 & 大屏
学习
xuhaoyu_cpp_java7 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
小宋加油啊8 小时前
机械臂抓取物体 PVN3D算法调研学习
学习·算法·3d
Xzh04239 小时前
AI Agent 学习路线(Java 后端方向)
java·人工智能·学习
做cv的小昊10 小时前
计算机图形学:【Games101】学习笔记08——光线追踪(辐射度量学、渲染方程与全局光照、蒙特卡洛积分与路径追踪)
图像处理·笔记·学习·计算机视觉·游戏引擎·图形渲染·概率论
星恒随风10 小时前
C++ 类和对象入门(五):初始化列表、explicit 和 static 成员详解
开发语言·c++·笔记·学习·状态模式
sensen_kiss12 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.8 软件测试 (Software Testing)(上)
学习·软件工程
力学与人工智能12 小时前
PPT分享 | 洛桑联邦理工学院魏震:深度几何学习在工业设计优化中的应用
学习·优化·工业设计·深度几何学习·洛桑联邦理工学院
sensen_kiss13 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.9 软件测试 (Software Testing)(下)
学习·软件工程
wu_ye_m14 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习