Linux rpm 下令参数使用详解

Linux rpm 命令参数使用详解

?Linux rpm 命令参数使用详解

0. RPM简介

?? RPM是RedHat Package Manager(RedHat软件包管理工具),类似Windows

?? 里面的“添加/删除程序”。rpm 执行的安装包分二进制包(Binary)以及

?? 源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码

?? 包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。

???

?? RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,

?? 顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、

?? SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发

?? 行版采用;RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序

?? 和Windows的软件包中的.exe文件类似是可执行的;RPM包中还包括程序运行

?? 时所需要的文件,这也和Windows的软件包类似,Windows的程序的运行,除

?? 了.exe文件以外,也有其它的文件;一个RPM 包中的应用程序,有时除了自

?? 身所带的附加文件保证其正常以外,还需要其它特定版本文件,这就是软件

?? 包的依赖关系;依赖关系并不是Linux特有的, Windows操作系统中也是同样

?? 存在的;比如我们在Windows系统中运行3D游戏,在安装的时候,他可能会提

?? 示,要安装Direct 9 ;Linux和Windows原理是差不多的。

?
1. 常用命令组合:

?? -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 -qpf Linux-1.4-6.i368.rpm #[查看rpm包]–file?

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

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

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

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

2. 常用参数:

?? 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

3. RPM源代码包装安装

?? .src.rpm结尾的文件,这些文件是由软件的源代码包装而成的,用户要安

?? 装这类RPM软件包,必须使用命令:

?? rpm –recompile vim-4.6-4.src.rpm???

?? #这个命令会把源代码解包并编译、安装它,如果用户使用命令:

?? rpm –rebuild vim-4.6-4.src.rpm  

?? #在安装完成后,还会把编译生成的可执行文件重新包装成i386.rpm的RPM

?? 软件包。?

4. RPM 的使用权限

?? RPM软件的安装、删除、更新只有root权限才能使用;对于查询功能任何用

?? 户都可以操作;如果普通用户拥有安装目录的权限,也可以进行安装.

5. rpm 的一点简单用法;

?? 除了软件包管理器以外,还能通过rpm 命令来安装;是不是所有的软件包都

?? 能通过rpm 命令来安装呢?不是的,文件以.rpm 后缀结尾的才行;有时在

?? 一些网站上找到file.rpm ,都要用 rpm 来安装.

?? 初始化rpm 数据库;

?? 通过rpm 命令查询一个rpm 包是否安装了,也是要通过rpm 数据库来完成的;

?? 所以要经常用下面的两个命令来初始化rpm 数据库;

?? [root@localhost kevin]# rpm –initdb

?? [root@localhost kevin]# rpm –rebuilddb //这个要花好长时间;

?? 说明:这两个参数是极为有用,有时rpm 系统出了问题,不能安装和查询,

?? 大多是这里出了问题;

6. RPM软件包管理的查询功能:

?? 命令格式:

?? rpm {-q|–query} [select-options] [query-options]

?? RPM的查询功能是极为强大,是极为重要的功能之一;举几个常用的例子,

?? 更为详细的具体的,请参考#man rpm

? (1)查询系统已安装的软件;

?? 语法:rpm -q 软件名

?? [root@localho

Linux rpm 下令参数使用详解

相关文章:

你感兴趣的文章:

标签云: