当前位置:首页 > linux基础 > 正文内容

rpm包管理

5年前 (2019-08-30)linux基础528

RPM基础概述


RPM全称RPM Package Manager缩写,由红帽开发用于软件包的安装,升级卸载与查询


rpm包的命名规则

一个rpm软件包的命名规则。bash-4.2.46-28.el7.x86_64.rpm

image.png

name: 软件包名称

version: 版本号, 主版本, 重大更新. 次版本, 子功能更新. 修订号, 修复bug

release: 发布版本 el6, el7 (hostnamectl)

arch: 系统平台, i386、x86_64(hostnamectl)


rpm包的组成:


安装释放的文件

软件包的元数据(版本,发布号,架构,描述,要求,更改日志等)

脚本:安装前执行的脚本和安装后的脚本


Linux中的软件包类型

分类安装版本
rpm包预先编译打包,安装简单软件版本偏低
源码包手动编译打包,安装繁琐软件版本随意
二进制包解压即可使用, 安装简单不能修改源码


不管是源码包,还是二进制包,安装时都可能会有依赖关系!

系统平台包类型工具自动解决依赖
RedHat/CentosRPMrpmyum
Ubuntu/DebianDPKGdpkgapt

RPM包安装管理

RPM包安装命令参数

-i:                 #安装

-v:                #详细信息

-h:               #安装进度 

--test:         #测试是否能够安装成功

--force:       #强制重新安装

--nodeps:   #忽略依赖关系

#安装软件包, 需要指定软件包绝对路径
[root@qmf ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
[root@qmf ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

#在软件包所在目录下可以不指定绝对路径
[root@qmf ~]# cd /mnt/Packages/
[root@qmf Packages]# rpm -ivh zsh-5.0.2-28.el7.x86_64.rpm

#测试一个软件包是否能在该系统上安装
[root@qmf ~]# rpm -ivh --test /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

#如果软件包存在, 强制再次安装
[root@qmf ~]# rpm -ivh --force /mnt/Packages/tree-1.5.3-3.el6.x86_64.rpm

#安装samba服务需要依赖其他组件, 使用--nodeps可重新强制安装
[root@qmf ~]# rpm -ivh --nodeps  /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

RPM包查询命令

rpm命令查询参数


rpm -q      #查看指定软件包是否安装

rpm -qa     #查看系统中已安装的所有RPM软件包列表

rpm -qi     #查看指定软件的详细信息

rpm -ql     #查询指定软件包所安装的目录、文件列表

rpm -qc     #查询指定软件包的配置文件

rpm -qd     #查询指定软件包的帮助文档

rpm -qf     #查询文件或目录属于哪个RPM软件

rpm -q --scripts    #查询rpm包安装前和安装后执行的脚本

#查询vsftpd这个rpm包是否安装
[root@qmf ~]# rpm -q vsftpd

#模糊查找系统已安装的rpm包
[root@qmf ~]# rpm -qa |grep ftp

#查询vsftpd软件包的相关信息
[root@qmf ~]# rpm -qi vsftpd

#查询rpm包所安装的文件
[root@qmf ~]# rpm -ql vsftpd

#查询rpm包相关的配置文件
[root@qmf ~]# rpm -qc vsftpd

#查询配置文件或命令来自于哪个rpm包
[root@qmf ~]# rpm -qf /etc/vsftpd/vsftpd.conf
[root@qmf ~]# rpm -qf /usr/sbin/vsftpd

#查询未安装的软件包会产生哪些文件
[root@qmf ~]# rpm -qlp /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm

#查询未安装的软件包会产生哪些文件
[root@qmf ~]# rpm -qip /mnt/Packages/samba-3.6.23-41.el6.x86_64.rpm

#以上查询只能查询已存在 已安装的包,如果没有安装,需要联网查询
[root@db04 ~]# yum provides zip
[root@db04 ~]# yum provides */ifconfig
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
base/filelists_db                                                                                                                                                                                                      | 6.4 MB     00:00
epel/filelists_db                                                                                                                                                                                                      | 7.9 MB     00:00
extras/filelists_db                                                                                                                                                                                                    |  24 kB     00:00
updates/filelists_db                                                                                                                                                                                                   | 3.6 MB     00:00
net-tools-1.60-114.el6.x86_64 : Basic networking tools
Repo        : base
Matched from:
Filename    : /sbin/ifconfig

RPM包升级命令

-U 如果老版本不存在,就全新安装,如果存在有新版即升级

-f 老版本必须存在


如果有新版则升级, 软件升级不要跨操作系统主版本号

[root@qmf ~]# rpm -Uvh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

RPM包卸载命令

#先查询, 然后卸载 
[root@qmf ~]# rpm -qa |grep sh
[root@qmf ~]# rpm -e zsh


“rpm包管理” 的相关文章

Linux基本权限

Linux基本权限

1.什么是权限我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。2.为什么要有权限因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环...

crond计划任务

crond计划任务1.什么是crondcrond就是计划任务,类似于我们平时生活中的闹钟。定点执行。2.为什么要使用crondcrond主要是做一些周期性的任务,比如: 凌晨3点定时备份数据。比如:11点开启网站抢购接口,12点关闭网站抢购接口。3.计划任务主要分为以下两种使用情况:1.系统级别的定...

sersync实时同步

sersync实时同步

实时同步概述实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目录同步至远程服务器。保证数据的连续性, 减少人力维护成本,解决nfs单点故障实时同步工具选择sersync+rsync(√)、inotify+rsyncInotify是一个通知接口,用来监控文件系统的各种变化,如果...

Rsync文件同步

Rsync文件同步

Rsync基本概述rsync是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。Rsync简介rsync英文称为remote synchronizetion,从软件的名称就可以看出来,rsync具有...

Linux文件管理-压缩打包

压缩打包介绍windows下我们接触最多的压缩文件就是.rar格式, 但Linux有自己所特有的压缩工具。如果希望windows和Linux互相能使用的压缩工具, 建议.zip格式压缩的好处主要有:1、节省磁盘空间占用率2、节省网络传输带宽消耗3、网络传输更加快捷Linux系统常见的压缩包有哪些类型...

Shell介绍(三)if判断,case控制,for循环,while循环,流程控制语句

if判断单分支if [你有房] then     我就嫁给你 fi多分支if [ 你有房 ] then     我就嫁给你 else   &nbs...