现在的位置: 首页 > 综合 > 正文

redhat-linux包管理器-rpm

2013年10月12日 ⁄ 综合 ⁄ 共 2629字 ⁄ 字号 评论关闭
redhat-linux包管理器-rpm
---------------------------------------------------------------------------------------------------
title:linux-rpm package manager
author:chinayaosir
blog:http://blog.csdn.net/chinayaosir
qq:44633197
email:chinayaosir@126.com
---------------------------------------------------------------------------------------------------
文章目录
1.1rpm简介
1.2rpm语法
1.3rpm命令
1.4rpm打包

---------------------------------------------------------------------------------------------------
1.1rpm简介
RPM包管理器(简称RPM,全称为The RPM Package Manager)
是在Linux下广泛使用的软件包管理器。
RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。
最早由Red Hat研制,现在也由开源社区开发。
RPM通常随附于Linux发行版,但也有单独将RPM作为应用软件发行的发行版(例如Gentoo)。
RPM仅适用于安装用RPM来打包的软件,目前是GNU/Linux下软件包资源最丰富的软件包类型。
RPM软件包分为二进制包(Binary)、源代码包(Source)和Delta包三种。
二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。
源代码包经常以src.rpm作为后缀名。
---------------------------------------------------------------------------------------------------
1.2rpm语法
语法:rmp[-qvuie] <file>
-q=query option
-v=verifty
-u=upgrade
-e=erase
Query options list
-q query all packages
-c query list al configuration files
-d list all documentation files
-l list files in package
-p query list patches or patched files
-f query list packages owning files

Verify options list
-v verify all packages
-k verify packages signatures
-t only package can wor or not
install options list
-i install packages

upgrade options list
-u upgrade packages
--repackage replace old package with new packages

other option list
--initdb initialize rpm database file
--rebuilddb rebuild database list from instal package headers

---------------------------------------------------------------------------------------------------
1.3rpm命令
rpm有5种操作模式:q查询,v验证,i安装、e卸载、u升级,O其它。
查询一个rpm包是否安装
rpm -qa | xxxx.rpm
测试和验证一个rpm包
rpm -vt xxxxx.rpm
安装一个rpm包
rpm -i xxxxx.rpm
卸载一个rpm包
rpm -e xxxxx.rpm
升级一个rpm包
rpm -u xxxxx.rpm
------------------------------------------------------------------
1.4rpmbuild命令
1.4.1语法:rpmbuild [option] [ <specfile> | <tarball> | <source package> ]
option list
-bp 只作准备 (解压与打补丁)
-bc 准备并编译
-bi 编译并安装
-bl 检验文件是否齐全
-ba 编译后做成*.rpm和src.rpm
-bb 编译后做成*.rpm
-bs 只做成*.src.rpm
-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。

1.4.2制作rpm包文件
#下载rp-pppoe-3.10.tar.gz
#解压rp-pppoe-3.10.tar.gz
tar zxvf rp-pppoe-3.10.tar.gz
#复制.spec和gz文件
cp /home/rp-pppoe-3.10/rp-pppoe.spec /usr/src/redhat/SOURCES/
cp /home/rp-pppoe-3.10.tar.gz /usr/src/redhat/SOURCES/
#制作rpm包
cd /usr/src/redhat/SOURCES/
rpmbuild -bb rp-pppoe.spec <==仅编译成 RPM 档案
rpmbuild -ba rp-pppoe.spec <==编译并同时产生 RPM 与 SRPM 档案
如果编译成功,就已经制作好rp-pppoe的rpm包了,查看一下
[root@localhost i386]# pwd
/usr/src/redhat/RPMS/i386
[root@localhost i386]# ll
total 420
-rw-r--r-- 1 root root 186322 01-06 11:09 rp-pppoe-3.10-1.i386.rpm
-rw-r--r-- 1 root root 150356 01-06 11:09 rp-pppoe-debuginfo-3.10-1.i386.rpm
-rw-r--r-- 1 root root 63319 01-06 11:09 rp-pppoe-gui-3.10-1.i386.rpm

抱歉!评论已关闭.