使用RPM软件包管理命令详解

RPM软件包是各种Linux发行版本中应用较为广泛的软件包之一。RPM软件包以其强大的功能得到了多数Linux发行版本的支持和广大Linux使用者的爱护。

RPM软件包管理机制最早是由 Red Hat公司提出的,后来随着版本的升级逐渐融入更多的优秀特性,称为众多Linux发行版中公认的软件包管理标准,官方站点https://www.rpm.org

使用RPM软件包管理器通过建立统一的文件数据库,对在Linux操作系统中安装、卸载、升级的各种.rpm软件包进行详细的记录,并能够自动分析软件包之间的依懒关系,保持各应用程序在一个写提哦啊、有序的整体环境中运行。

使用RPM软件包管理命令——rpm

rpm命令的格式

[[email protected] ~]# man rpm
#查看rpm命令的使用详解
rpm(8)                                 Red Hat Linux                                 rpm(8)

NAME
       rpm - Red Hat 包管理器

总览
       rpm [选项]

描述
       rpm是一个很有用的包管理器,  可以用于生成,  安装, 查询, 核实, 更新以及卸载单个软件包.
       一个包通常包括一个文件档以及关于包 的信息, 比如名字, 版本, 描述等.

       必须选取下列基本模式中一个:  初始化数据库,   重新生成数据库,   生成包,   重新编译包,
       从Tar包生成RPM包,  查询,  显示查询标签,  安装,  更新,  卸载, 核实, 签名检查, 再签名,
       添加签名, 设置所有者和组 以及 显示配置.

       数据库维护:
           rpm -i [--initdb]
           rpm -i [--rebuilddb]

       生成:
           rpm [-b|t] [package_spec]+
           rpm [--rebuild] [sourcerpm]+
           rpm [--tarbuild] [tarredsource]+

       查询:
           rpm [--query] [queryoptions]
           rpm [--querytags]

       维护已安装的包:
           rpm [--install] [installoptions] [package_file]+
           rpm [--freshen|-F] [installoptions] [package_file]+
           rpm [--uninstall|-e] [uninstalloptions] [package]+
           rpm [--verify|-V] [verifyoptions] [package]+

从rpm命令手册中可以看出,rpm命令具有非常强大的功能,结合不同的命令选项可以实现以下三类功能:

  • 查询、验证RPM软件包的相关信息;
  • 安装、升级、卸载RPM软件包;
  • 维护RPM数据库信息等综合操作。

查询RPM软件包信息

1.查询已安装的RPM软件包信息,常用的参数有:

(使用-qf选项时必须跟绝对路径)
不带子选项的“-q”选项用于查询已知名称的软件包是否安装,需要使用准确地软件包名称作为参数(可以多个)

[[email protected] ~]# rpm -q elinks lynx
未安装软件包 elinks
未安装软件包 lynx 

当需要知道系统中的某个文件是由那个软件包生成的,使用“-qf”选项:

[[email protected] ~]# which vim                                  #查看vim程序的位置
/usr/bin/vim
[[email protected] ~]# rpm -qf /usr/bin/vim
vim-enhanced-7.4.160-1.el7.x86_64

使用rpm命令只能查询RPM方式安装的软件包信息,对通过其他路径安装的软件包,rpm命令无法获取相应的信息。

2.查询RPM软件包文件中的相关信息,常用的参数有:

使用“-qp”选项时,必须以RPM软件包的路径作为参数(可以有多个),而不是软件包名称。

[[email protected] ~]# rpm -qpi /mnt/Packages/ethtool-4.5-3.el7.x86_64.rpm
警告:/mnt/Packages/ethtool-4.5-3.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
Name        : ethtool
Epoch       : 2
Version     : 4.5
Release     : 3.el7
Architecture: x86_64
Install Date: (not installed)
Group       : Applications/System
Size        : 344591
License     : GPLv2
Signature   : RSA/SHA256, 2016年11月21日 星期一 01时36分38秒, Key ID 24c6a8a7f4a80eb5
Source RPM  : ethtool-4.5-3.el7.src.rpm
Build Date  : 2016年11月06日 星期日 10时05分23秒
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://ftp.kernel.org/pub/software/network/ethtool/
Summary     : Settings tool for Ethernet NICs
Description :
This utility allows querying and changing settings such as speed,
port, auto-negotiation, PCI locations and checksum offload on many
network devices, especially of Ethernet devices.

3.安装、升级、卸载RPM软件包,常用的参数有:

安装软件包时,必须输入绝对路径和软件包的完成名称;
卸载软件包时,只需打上软件名称即可。

4.维护RPM数据库

重建数据库
当RPM数据库发生损坏,且Linux系统无法自动完成修复石,将导致无法使用rpm命令进行查询、安装等功能,就需要使用命令重建RPM数据库

[[email protected] ~]# rpm --rebuilddb

或者

[[email protected] ~]# rpm --initdb

导入验证公钥
在Linux/UNIX应用领域,相当一部分厂商会对发布的软件包进行数字签名,以确保软件的完整性、合法性。对于用户来说,可以使用官方提供的公钥文件,自动对下载的软件包进行验证,若在安装软件是出现验证失败的提示,则表示该软件可能已经被非法篡改。
向RPM数据库中到导入公钥文件时:

[[email protected] ~]# rpm --import /mnt/RPM-GPG-KEY-CentOS-7
#将光盘中的公钥文件导入RPM数据库中

原文地址:https://blog.51cto.com/14157628/2417042

时间: 2024-10-03 14:55:09

使用RPM软件包管理命令详解的相关文章

linux下rpm软件包管理命令详解

1.linux下软件的基本概念 程序需要用到的重要文件:配置文件,指令,库文件,帮助信息 /etc, /bin, /sbin, /lib,/usr/share/man 1.1.系统启动需用到的程序路径,必须在根文件系统的分区上 /etc, /bin, /sbin, /lib,/usr/share/man 1.2.系统启动后需用到的操作作系统核心功能或必要功能程序路径 /etc,/usr/bin,/usr/sbin/,/usr/lib,/usr/share/man 1.3.用户安装的第三方程序所需

Linux学习笔记—— 用户管理命令详解

 用户管理命令详解  用户管理: useradd,userdel,usermod,passwd,chsh,chfn,finger,id,chage 添加用户: useradd [options] USERNAME    -u (UID)   手动指定UID -g (GID)  (基本组) -G, ...     (附加组) 可以有多个,彼此之间用,号隔开 -c "COMMENT"         注释信息     -d /path/to/somedirectory  指定家目录 -s

Linux系统进程管理命令详解

Linux管理进程的最好方法就是使用命令行下的系统命令.Linux下面的进程涉及的命令有at, bg, fg, kill, crontab, jobs, ps, pstree, top, nice, renice, sleep, nohup. 1.at命令:定时运行命令 作用:at命令在指定时刻执行指定的命令序列. 格式: at [-V] [-q x] [-f file] [-m] time atq [-V] [-q x] atrm [-V] [-q x] job- batch [-V] [-f

第四课-第一讲04_01_Linux用户管理命令详解

第四课-第一讲04_01_Linux用户管理命令详解1.useradd [option] USERNAME-u UID(大于500且没使用过的)-c 用户说明,COMMENT-d 家目录 HOME-g GID 基本组ID-G GID,....附加值ID-s 默认shell,指定要用的shell的路径-m(常和-k一起用) 强制指定家目录-M 不创建用户家目录环境变量:PATHHISTSIZESHELL:保持当前用户的默认shell的路径/etc/shells:指定了当前系统可用的安全shell/

liunx安装包rpm及yum命令详解

rpm及yum的优缺点 **RPM是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时.YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.

Linux rpm 软件包管理命令

RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序” rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合: -ivh:安装显示安装进度--install--verbose--hash-Uvh:升级软件包--Update:-qpl:列出RPM软件包内的文件信息[Query Pac

RPM包管理工具详解

RPM是Red Hat 和centos下的一个软件包管理机制,可使用yum安装,自动解决依赖关系. dpkg是Ubuntu下的一个软件包管理的工具,可使用apt-get 安装软件包,自动解决依赖关系. RPM是以数据库记录的方式将软件安装到linux系统上的.官方站点:http://rpm.org/ SRPM(source rpm)  ,这个软件包含有源代码,提供了参数配置文件(configure和makefile) 扩展名是以  .src.rpm格式来命名的. RPM软件命名格式: 软件名-软

Linux用户管理命令详解之二

Linux下常用用户管理命令有:useradd.userdel.usermod.passwd.chsh.finger.id.chage 4.改变用户的shell 命令:chsh 语法:chsh [-s shell] [-l] [-u] [-v] [username] 选项: -s:改变当前shell -l:显示/etc/shells目录下的shell 说明:这是用来改变使用者自己的 shell 的指令!由于这个档案能够改变 /etc/passwd 的内容,所以他的预设属性就有SUID的属性了!通

Linux用户管理命令详解之一

Linux下常用用户管理命令有:useradd.userdel.usermod.passwd.chsh.finger.id.chage 1.添加用户: 命令:useradd 语法: useradd [options] LOGIN 选项: -c:添加注释信息 -d:指定用户的家目录 -g:指定GID(基本组) -h:显示帮助信息 -m:为用户创建家目录 -M:不创建用户的家目录 -N:不创建与用户名相同的组 -p:为用户设定密码 -r:创建一个系统用户 -s:指定用户的shell路径 -u:指定用