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

rpm包管理

6年前 (2019-08-30)linux基础921

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包管理” 的相关文章

find文件查找

find查找find命令可以根据不同的条件来进行查找文件,例如:文件名称、文件大小、文件修改时间、属主属组、权限、等等方式。同时find命令是Linux下必须掌握的。find 命令的基本语法如下命令路径选项表达式动作find[path...][options][expression][action]...

Linux进程管理

Linux进程管理

进程概述1.当我们运行一个程序,那么我们将运行的程序叫进程。PS1: 当程序运行为进程后,系统会为该进程分配内存,以及进程运行的身份和权限。PS2: 在进程运行的过程中,系统会有各种指标来表示当前运行的状态。2.程序和进程的区别1.程序是数据和指令的集合,是一个静态的概念。比如/bin/ls、/bi...

Linux单用户和救援模式

Linux单用户和救援模式

Linux单用户模式Centos7使用单用户模式进行变更系统密码第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面第2步:在linux16这行的后面添加enforcing=0 init=/bin/bash,然后按下Ctrl + X组合键来运行修改过的内核程序第3步:大约...

NFS文件共享存储

NFS文件共享存储

NFS基本概述NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分...

Linux文件管理-压缩打包

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

Shell介绍(二)函数,数组

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