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

rpm包管理

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

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-yum软件管理

Linux-yum软件管理

YUM基本介绍1.什么是YUMYum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。2.YUM源是什么1要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的reposito...

crond计划任务

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

CentOS7系统服务

1:Linux运行级别1.1.运行级别就是操作系统当前正在运行的功能级别System V init运行级别systemd目标名称作用0runlevel0.target, poweroff.target关机1runlevel1.target, rescue.target单用户模式2runlevel2....

Linux文件管理-压缩打包

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

Shell介绍(二)函数,数组

函数命令的集合 完成特定功能的代码块模块化 复用函数和变量类似 只有先定义才可以调用,如果只定义不调用 则不会执行函数的定义和调用三种方法:[root@web scripts]# cat fun.sh #!/bin/sh test1(){   ...

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

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