RPM管理工具

RPM简介:

RPM全称为RedHat Package Manager,是由红帽公司借鉴SUSE发展起来的软件管理机制。

RPM特点:

RPM是通过实现编译并且打包成为RPM文件后再进行安装的。RPM存在一个特性:当要以RPM安装软件的,RPM会检查在Linux数据库上是否已经安装了那些相互依赖的程序,如果数据库显示依赖的软件有缺省,那么便不能安装。需要解决包的依赖关系,那么rpm文件就可以被安装到linux系统上了。安装完成后相关的信息会被写入 /var/lib/rpm

rpm包的命名格式:

zsh-5.0.27.e17_1.2.x86_64.rpm

name-version-arch.src.rpm

name:一般为软件的名称,比如上例的zsh

version:主版本.次版本.修订号-发布版本号 5.0.27-e17, el*  :表示这个软件包的发行商版本,el7表示这个软件包是在RHEL 7.x/CentOS 7.x下使用。

arch:支持的平台 x86表示平台

src.rpm或rpm: .rpm是已经编译好的二进制包,可以用rpm命令直接安装的。  src.rpm是源码,需要进行编译以后才能安装

2、devel:表示这个包是开发包。

3、noarch:表示这样的软件包可以在任何平台上安装,在任何硬件平台上都可以运。

4、manual 手册文档。

rpm安装:

rpm {-i|--install} [install-options] PACKAGE_FILE ...

-i: 表明rpm安装

-v   查看安装过程的进度

-vv 更加详细的查看安装过程的进去

-h  显示出安装过程的进度条

[[email protected] mnt]# rpm -ivh zsh-5.0.2-14.el7.x86_64.rpm 
warning: zsh-5.0.2-14.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
	package zsh-5.0.2-14.el7.x86_64 is already installed

rpm安装时的其他选项:

--nodeps:表示忽略依赖关系,当发生软 件相互依赖而无法安装的时候却要执 意安装的选项,最好不要使用,可能 导致安装后的软件不能正常使用

--test:表示并不是真的安装,而是检测否 能正确安装是否存在软件依赖的问题。

--replacepkgs:表表示重新安装这个程序

--prefix 路径

表示要将软件安装到某个路径下

--nosignature:不检查包的来源合法性和签名

--nodeigest :不检查包的完整性

[[email protected] mnt]# rpm -ivh --nodeps --test  --nosignature --nodigest zsh-5.0.2-14.el7.x86_64.rpm 
Preparing...                          ################################# [100%]

rpm升级和更新

rpm -Uvh PACKAGE_FILE

如果PACKAGE FILE没有被安装会直接安装;如果存在PACKAGE_FILE的旧文件就会升级

rpm  -Fvh PACKAGE_FILE ...

如果PACKAGE FILE没有被安装不会直接安装;如果存在PACKAGE_FILE的旧文件就会升级。

rpm升级的更新也可以使用 --nodeps --nosignature

注意:(1)不能对内核进行升级,需要直接安装新 版本的内核

(2)如果原程序包的配置文件被修改,升级的时候不会覆盖配置文件,而是把新版本的文件进行重命名。

rpm卸载:

rpm -e

rpm -e --test

rpm -e --nodeps

[[email protected] mnt]# rpm -evh --nodeps --test zsh 
Preparing...                          ################################# [100%]

rpm查询

rpm-qa 查看搜有已经安装过的包

[[email protected] mnt]# rpm -qa zsh
zsh-5.0.2-14.el7.x86_64

rpm-qf:查询指定的文件由哪个程序包安装的

[[email protected] mnt]# rpm -qf  /etc/passwd
setup-2.8.71-6.el7.noarch

rpm-qp backage:查看未安装的RPM包信息

[[email protected] mnt]# rpm -qp bc-1.06.95-13.el7.x86_64.rpm 
warning: bc-1.06.95-13.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
bc-1.06.95-13.el7.x86_64

rpm -q --whatprovides <功能 >:查询所有需要<功能>才能正常运行的包

[[email protected] mnt]# rpm -q --whatprovides /etc/passwd
setup-2.8.71-6.el7.noarch

rpm -q --whatequires  <功能> 查询所有<功能>的软件包

[[email protected] mnt]# rpm -q --whatrequires /sbin/nologin 
openssh-6.6.1p1-22.el7.x86_64
gdm-3.14.2-12.el7.x86_64

rpm-ql:查看程序安装后产生的文件

[[email protected] mnt]# rpm -ql bc
/usr/bin/bc
/usr/bin/dc
/usr/share/doc/bc-1.06.95
/usr/share/doc/bc-1.06.95/AUTHORS
/usr/share/doc/bc-1.06.95/COPYING
......

rpm-qi:查询程序包的相关信息

[[email protected] mnt]# rpm -qi zsh
Name        : zsh
Version     : 5.0.2
Release     : 14.el7
Architecture: x86_64
Install Date: Sun 20 Mar 2016 10:15:27 PM CST
Group       : System Environment/Shells
Size        : 5834871
License     : MIT
Signature   : RSA/SHA256, Thu 26 Nov 2015 12:07:38 AM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : zsh-5.0.2-14.el7.src.rpm
Build Date  : Fri 20 Nov 2015 09:11:36 PM CST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://zsh.sourceforge.net/
Summary     : Powerful interactive shell
Description :
The zsh shell is a command interpreter usable as an interactive login
shell and as a shell script command processor.  Zsh resembles the ksh
shell (the Korn shell), but includes many enhancements.  Zsh supports
command line editing, built-in spelling correction, programmable
command completion, shell functions (with autoloading), a history
mechanism, and more.

rpm-qc:查看程序的配置文件

[[email protected] mnt]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc

rpm-qd:查看程序的说明文档

[[email protected] mnt]# rpm -qd zsh
/usr/share/doc/zsh-5.0.2/BUGS
/usr/share/doc/zsh-5.0.2/CONTRIBUTORS
/usr/share/doc/zsh-5.0.2/FAQ
/usr/share/doc/zsh-5.0.2/FEATURES
/usr/share/doc/zsh-5.0.2/LICENCE
/usr/share/doc/zsh-5.0.2/MACHINES
/usr/share/doc/zsh-5.0.2/NEWS
/usr/share/doc/zsh-5.0.2/README
/usr/share/doc/zsh-5.0.2/completion-style-guide
/usr/share/doc/zsh-5.0.2/zsh-development-guide

rpm --provides :程序包提供哪些功能

[[email protected] mnt]# rpm -q --provides zsh 
config(zsh) = 5.0.2-14.el7
zsh = 5.0.2-14.el7
zsh(x86-64) = 5.0.2-14.el7

rpm -requires 查看程序依赖关系

[[email protected] mnt]# rpm -q  --requires  zsh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/zsh
/sbin/install-info

rpm校验

rpm -V :校验文件

[[email protected]]/mnt# vim /etc/zshrc 
[[email protected]]/mnt# rpm -V zsh                         
S.5....T.  c /etc/zshrc

rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]

--initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;

     [[email protected]]/tmp# rpm --initdb --dbpath=/tmp/db
[[email protected]]/tmp# cd /tmp/db         
[[email protected]]/tmp/db# ls
Basenames     __db.002  Group       Obsoletename  Requirename  Triggername
Conflictname  __db.003  Installtid  Packages      Sha1header
__db.001      Dirnames  Name        Providename   Sigmd5

--rebuilddb:重新构建,通过读取当前系统上所有已经安装过的程序包进行重新创建;

包合法性和完整性验证:

先获取包作者的公钥到本地然后用rpm
--import 公钥路径

对于CentOS7:rpm
--import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

时间: 2024-10-13 21:25:40

RPM管理工具的相关文章

包管理工具rpm和yum的用法

包管理工具rpm和yum的用法 一.rpm的用法 rpm原本是Rde Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐收到其他发行版的采用,RPM套件管理方式的出现,让Linux易于安装.升级,间接提升了Linux的适用性. rpm用法:rpm [OPTION...] 1.rpm安装软件包,后面需要跟上程序包文件的绝对路径或相对路径 常用选项: -v:显示指令的执行过程 -vv:详细显示指令执行过程,便于排错 -h:以#号显示程

13个演示实例搞定RPM包管理工具

写在前面:如果此文有幸被某位朋友看见并发现有错的地方,希望批评指正.如有不明白的地方,愿可一起探讨. RPM是个什么东西? RPM以前是"RedHat Package Manager"的简称,现改为"RPM is Package Manager".在Linux/Unix操作系统上,RPM包管理工具允许系统管理员安装.更新.卸载.查询.验证和管理RPM包.下图为RPM包管理工具所具备的基本功能. 准备工作 为了更好的演示RPM包管理工具,我们需要将光盘镜像挂载到文件系

RPM(RPM Package Manager)程序包管理工具的常见使用方法

软件包有两种: 二进制格式的软件包和源码程序包. 如何选择适合自己的二进制格式的软件包? 1.根据CPU架构选择软件包 二进制格式的软件包就是已经把源程序转化为CPU所支持的指令集,它可以直接运行的.因为不同架构的CPU指令集不完全一样的.所以二进制格式的 软件包通常会标识适用于那种架构的CPU. CPU 常见平台arch:     1).Power  造价高.性能强劲     2).简化板的 PowerPC     3).UItraSparc     4).x86 功耗低,性能接近服务器级架构

16、Linux软件管理工具rpm详解

1 Linux软件安装概述 安装程序的方式: 软件包概述 RPM RPM的缺点 RPM包 RPM分包 RPM命令的使用 rpm 包管理 升级注意项 如何安装rpm软件包 如何卸载rpm软件包 如何升级rpm软件包 如何查询rpm软件包 如何查看与rpm包相关的文件和其他信息 如何校验rpm包 RPM的数据库 1 Linux软件安装概述 安装程序的方式: 通用二进制格式:直接解压压缩文件,就可以使用.但一定要注意安装平台. 软件包管理器:如RPM. 软件包管理器的前端工具:如YUM. 源代码编译.

rpm——软件包管理工具

  一.软件包管理简介 1.软件包组成 我们都在windows系统中安装过软件,基本就是用鼠标点击下一步,因而有些人认为安装软件是一件非常容易的事,无论是在何种操作系统上.然而,事实并非如此.在Linux系统上安装软件的方法完全不同于在Windows上安装,至少不会是简单的用鼠标点击下一步就行了.要想在Linux系统上安装软件包,首先要了解软件包的组成. 软件包由二进制程序.库文件.配置文件.帮助文件等重要部分组成. 软件包的安装目录如下: 二进制程序: 默认:/bin, /sbin, /usr

Linux包管理工具(rpm/dpkg,yum/apt,alien)

概括: rpm/yum  redhat dpkg/apt  debian alien 转换 在 GNU/Linux( 以下简称 Linux) 操作系统中,RPM 和 DPKG 为最常见的两类软件包管理工具,他们分别应用于基于 RPM 软件包的 Linux 发行版本和 DEB 软件包的 Linux 发行版本.软件包管理工具的作用是提供在操作系统中安装,升级,卸载需要的软件的方法,并提供对系统中所有软件状态信息的查询.RPM 全称为 Redhat Package Manager,最早由 Red Ha

linux软件包的安装之----rpm软件包管理工具

程序语言开发的程序:系统调用:库,动态库(开发时指向的库) 程序:只要Windows上开的程序所指向的库遵循POSIX规范将源码拿到linux上编译时没问题的,运行应该也没有问题,能否运行还要看依赖的库文件是否存在:因为linux.Windows的ABI不同,Windows上编译好的程序无法在linux上正常运行,即使程序源码遵循POSIX规范. API:POSIX(可移植os规范) ABI:应用二进制接口 linux发行商:32bit:i386,预先编译好以后提供给用户二进制程序 64bit:

RPM是RedHat Package Manager(RedHat软件包管理工具)

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

rpm命令是RPM软件包的管理工具

rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度. 语法 rpm(选项)(参数) 选项 -a:查询所有套件: -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称: -c:只列出