您的位置:首页 > 产品设计 > 产品经理

RPM管理工具

2016-03-20 23:36 459 查看
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 显示出安装过程的进度条
[root@bogon 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 :不检查包的完整性
[root@bogon 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
[root@bogon mnt]# rpm -evh --nodeps --test zsh
Preparing...                          ################################# [100%]
rpm查询
rpm-qa 查看搜有已经安装过的包
[root@bogon mnt]# rpm -qa zsh
zsh-5.0.2-14.el7.x86_64
rpm-qf:查询指定的文件由哪个程序包安装的
[root@bogon mnt]# rpm -qf  /etc/passwd
setup-2.8.71-6.el7.noarch
rpm-qp backage:查看未安装的RPM包信息
[root@bogon 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 <功能 >:查询所有需要<功能>才能正常运行的包
[root@bogon mnt]# rpm -q --whatprovides /etc/passwd
setup-2.8.71-6.el7.noarch
rpm -q --whatequires <功能> 查询所有<功能>的软件包
[root@bogon mnt]# rpm -q --whatrequires /sbin/nologin
openssh-6.6.1p1-22.el7.x86_64
gdm-3.14.2-12.el7.x86_64
rpm-ql:查看程序安装后产生的文件
[root@bogon 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:查询程序包的相关信息
[root@bogon 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:查看程序的配置文件
[root@bogon mnt]# rpm -qc zsh
/etc/skel/.zshrc
/etc/zlogin
/etc/zlogout
/etc/zprofile
/etc/zshenv
/etc/zshrc
rpm-qd:查看程序的说明文档
[root@bogon 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 :程序包提供哪些功能
[root@bogon 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 查看程序依赖关系
[root@bogon mnt]# rpm -q  --requires  zsh
/bin/sh
/bin/sh
/bin/sh
/bin/sh
/bin/zsh
/sbin/install-info
rpm校验
rpm -V :校验文件
[root@bogon]/mnt# vim /etc/zshrc
[root@bogon]/mnt# rpm -V zsh
S.5....T.  c /etc/zshrc


rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]
--initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;
[root@bogon]/tmp# rpm --initdb --dbpath=/tmp/db
[root@bogon]/tmp# cd /tmp/db
[root@bogon]/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: