当前位置: 首页 > news >正文

12、rpm

1.什么是rpm

由红帽开发用于软件包的安装 升级 卸载 查询

2.rpm包是什么样? 组成部分是什么样的?

zip-3.0-11.el7.x86_64.rpm #el7
zip-3.0-1. el6.x86_64.rpm #el6
yum-utils-1.1.31-50.el7.noarch.rpm #noarch

3.除了rpm包还有其他的方式:

分类 安装 版本
rpm包 预先编译打包,安装简单 软件版本偏低 >windows的exe
源码包 手动编译打包,安装繁琐 软件版本随意 >windows没有,windows是闭源的
二进制包 解压即可使用, 安装简单 >绿色软件包,解压即用

rpm也是管理rpm包的一个工具 (依赖关系)
yum只是管理rpm包的一个工具而已

4.rpm从哪里获取

1.本地的ISO镜像光盘 (软件包可能存在版本偏低情况)
2.自行联网下载rpm包进行安装-------->
3.仓库联网获取rpm包 --->yum的时候

本地 /mnt --挂载-->/dev/cdrom

[root@www.oldboyedu.com ~]# mount /dev/cdrom /mnt/
[root@www.oldboyedu.com ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sr0 4.3G 4.3G 0 100% /mnt

5.如何使用rpm工具管理rpm软件包

5.1.安装

-i  #安装软件包 
 -v #显示安装的过程 
 -h #显示安装的进度条 
 --test #模拟演练 
 --force    #强制安装 
[root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:tree-1.6.0-10.el7 ################################# [100%]

2.安装过程中出现了依赖的情况

 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm 
 error: Failed dependencies: 
 libxattr-tdb-samba4.so()(64bit) is needed by samba-0:4.8.3-4.el7.x86_64 
 libxattr-tdb-samba4.so(SAMBA_4.8.3)(64bit) is needed by samba-0:4.8.3-4.el7.x86_64 
 samba-common-tools = 4.8.3-4.el7 is needed by samba-0:4.8.3-4.el7.x86_64 
 samba-libs = 4.8.3-4.el7 is needed by samba-0:4.8.3-4.el7.x86_64 

 1.尝试安装依赖包samba-common-tools 
 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-common-tools-4.8.3-4.el7.x86_64.rpm 
 error: Failed dependencies: 
 samba-libs = 4.8.3-4.el7 is needed by samba-common-tools-0:4.8.3-4.el7.x86_64 

 2.尝试安装依赖包samba-libs 
 [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/pytalloc-2.1.13-1.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:pytalloc-2.1.13-1.el7 ################################# [100%] 

 3.安装samba-libs [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-libs-4.8.3-4.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-libs-0:4.8.3-4.el7 ################################# [100%] 

 4.安装samba-common-tools [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-common-tools-4.8.3-4.el7.x86_64.rpm 
 Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-common-tools-0:4.8.3-4.el7 ################################# [100%] 

 5.安装samba [root@www.oldboyedu.com ~]# rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm Preparing... ################################# [100%] 
 Updating / installing... 
 1:samba-0:4.8.3-4.el7 ################################# [100%] 
 ------------------------------------rpm软件包依赖太强了......通常使用yum来解决

3.如何使用rpm安装互联网上面的软件包(没有依赖)

[root@www.oldboyedu.com ~]# rpm -ivh \ https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

5.2.卸载

[root@www.oldboyedu.com ~]# rpm -e tree
 [root@www.oldboyedu.com ~]# rpm -qa zabbix-agent zabbix-agent-4.0.0-2.el7.x86_64 [root@www.oldboyedu.com ~]# rpm -e zabbix-agent-4.0.0-2.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qa zabbix-agent

5.3.升级

wget https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm 
 wget https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm 

 1.先安装低版本 
 [root@www.oldboyedu.com ~]# rpm -ivh zabbix-agent-3.0.9-1.el7.x86_64.rpm 

 2.尝试安装高版本(会出现错误) 
 [root@www.oldboyedu.com ~]# rpm -ivh zabbix-agent-4.2.0-1.el7.x86_64.rpm 

 3.使用升级的方式,完美解决替换 
 [root@www.oldboyedu.com ~]# rpm -Uvh zabbix-agent-4.2.0-1.el7.x86_64.rpm 
 warning: /var/tmp/rpm-tmp.saqeVO: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Preparing... ################################# [100%] 
 Updating / installing... 
 1:zabbix-agent-4.2.0-1.el7 ################################# [ 50%] 
 Cleaning up / removing... 
 2:zabbix-agent-3.0.9-1.el7 ################################# [100%]

5.4.查看软件安装的路径,或者其他....

 选项           描述 
 rpm -q      查看指定软件包是否安装 
 [root@www.oldboyedu.com ~]# rpm -q vsftpd ** 
 package vsftpd is not installed 

 rpm -qa    查看系统中已安装的所有RPM软件包列表 
 [root@www.oldboyedu.com ~]# rpm -qa|grep "samba"  #列出所有的rpm包,然后筛选名称是samba的相关包 **** 
 samba-common-tools-4.8.3-4.el7.x86_64 
 samba-common-libs-4.8.3-4.el7.x86_64 
 samba-common-4.8.3-4.el7.noarch 
 samba-libs-4.8.3-4.el7.x86_64 
 samba-client-libs-4.8.3-4.el7.x86_64 
 samba-4.8.3-4.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qa samba #明确知道软件包的名称,在进行查找 
 samba-4.8.3-4.el7.x86_64 

rpm -ql 查询指定软件包所安装的目录、文件列表,存放的位置    ***** 
rpm -qc 查询指定软件包的所有配置文件  ***** 

rpm -qf 查询文件或目录属于哪个RPM软件    ***(只能查询已存在的命令或已存在的文件路径) [root@www.oldboyedu.com ~]# rpm -qf /bin/cd bash-4.2.46-31.el7.x86_64 
 [root@www.oldboyedu.com ~]# rpm -qf /bin/cp coreutils-8.22-23.el7.x86_64 

 [root@www.oldboyedu.com ~]# yum provides mkpasswd #更好的解决方案 

 rpm -qi    查看指定软件的详细信息 * 
 [root@www.oldboyedu.com ~]# rpm -qi samba 

 1.rpm安装 卸载 升级 查询****** 
 PS: rpm软件包存在依赖的问题,使用RPM工具解决起来太繁琐


来自为知笔记(Wiz)


转载于:https://www.cnblogs.com/Forever-x/p/5fc1143cfd8e308a829bfd6e7cba6bc0.html

相关文章:

  • 分布式配置
  • 20年研发管理经验谈(十一)
  • 数据之路 - Python爬虫 - 动态页面
  • JavaScript抽象语法树英文对照
  • vue 子组件接收父组件的另一种方法
  • MySQL存储过程例子
  • sql一关联多查询时否定筛选出现的问题的解决
  • 浅复制和深复制
  • JAVA-WEB-错误之-'OPTION SQL_SELECT_LIMIT=DEFAULT'
  • SpringBoot:spring boot使用Druid和监控配置
  • linux uniq去重,awk输出(可用于爆破字典优化)
  • Linux内核简介、子系统及分类
  • [转载]浅谈JavaScript函数重载
  • 2019-7-2 作业1 2 3
  • python 基本数据类型及其功能-3-列表
  • CentOS从零开始部署Nodejs项目
  • Flex布局到底解决了什么问题
  • JavaScript DOM 10 - 滚动
  • mysql外键的使用
  • python docx文档转html页面
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Unix命令
  • Vue 重置组件到初始状态
  • 分享一份非常强势的Android面试题
  • 回顾2016
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 我的面试准备过程--容器(更新中)
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • $forceUpdate()函数
  • (30)数组元素和与数字和的绝对差
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (四)Linux Shell编程——输入输出重定向
  • (算法)Game
  • (转)http协议
  • (转贴)用VML开发工作流设计器 UCML.NET工作流管理系统
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net 代码性能 - (1)
  • .Net 垃圾回收机制原理(二)
  • .net 验证控件和javaScript的冲突问题
  • .NET关于 跳过SSL中遇到的问题
  • .Net小白的大学四年,内含面经
  • .pings勒索病毒的威胁:如何应对.pings勒索病毒的突袭?
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [CSS] 点击事件触发的动画