不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2013-04-26 11:44  分类:Linux基础  编辑

RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理,似Windows里面的“添加/删除程序”,在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。

RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除了.exe文件以外,也有其它的文件。

一个RPM 包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件包的依赖关系;依赖关系并不是Linux特有的,Windows操作系统中也是同样存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提示,要安装Direct 9 ,Linux和Windows原理是差不多的。

RPM 执行安装包

二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

常用命令组合:

-ivh:安装显示安装进度--install--verbose--hash

-Uvh:升级软件包--Update;

-qpl:列出RPM软件包内的文件信息[Query Package list];

-qpi:列出RPM软件包的描述信息[Query Package install package(s)];

-qf:查找指定文件属于哪个RPM软件包[Query File];

-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];

-e:删除包

rpm -q samba //查询程序是否安装

rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm   // 按路径安装并显示进度

rpm -ivh --relocate  /=/opt/gaim  gaim-1.3.0-1.fc4.i386.rpm   // 指定安装目录

rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm    // 用来检查依赖关系;并不是真正的安装;

rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm   // 新版本降级为旧版本

rpm -qa | grep httpd         #[搜索指定rpm包是否安装]--all搜索*httpd*

rpm -ql httpd          #[搜索rpm包]--list所有文件安装目录

rpm -qpi Linux-1.4-6.i368.rpm   #[查看rpm包]--query--package--install package信息

rpm -qpf Linux-1.4-6.i368.rpm   #[查看rpm包]--file

rpm -qpR file.rpm       #[查看包]依赖关系

rpm2cpio file.rpm |cpio -div  #[抽出文件]

rpm -ivh file.rpm  #[安装新的rpm]--install--verbose--hash

rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

rpm -Uvh file.rpm #[升级一个rpm]--upgrade

rpm -e file.rpm     #[删除一个rpm包]--erase

常用参数:

Install/Upgrade/Erase options:

-i, --install install package(s)

-v, --verbose provide more detailed output

-h, --hash print hash marks as package installs (good with -v)

-e, --erase erase (uninstall) package

-U, --upgrade=<packagefile>+ upgrade package(s)

--replacepkge 无论软件包是否已被安装,都强行安装软件包

--test 安装测试,并不实际安装

--nodeps 忽略软件包的依赖关系强行安装

--force 忽略软件包及文件的冲突

Query options (with -q or --query):

-a, --all query/verify all packages

-p, --package query/verify a package file

-l, --list list files in package

-d, --docfiles list all documentation files

-f, --file query/verify package(s) owning file

RPM 源代码包装安装

src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安装这类RPM软件包,必须使用命令:

rpm --recompile vim-4.6-4.src.rpm   #这个命令会把源代码解包并编译、安装它,如果用户使用命令:

rpm --rebuild vim-4.6-4.src.rpm  #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM软件包。

 

 

rpm包安装时如何更新安装路径?