linux12——rpm管理

#包全名:操作的包是尚未安装的包,则需要使用包全名;使用包全名要注意绝对路径

#包名:操作的包是已经安装的包,则使用包名

#源码包通常采用手动指定路径安装

#在centos中,安装软件除了用rpm命令外,还可以用yum命令;在实际应用中,常使用yum,因为yum自解决包依赖问题;但是查询软件包的相关命令只能用rpm

#rpm的查询格式为:rpm 选项 查询对象

# \ 代表一条命令没有输完,换行

1.RPM包命名规则

    包名-版本号-发布次数-发行商-Linux平台-适合的硬件平台-包扩展名

    例如,RPM 包的名称是httpd-2.2.15-15.el6.centos.1.i686.rpm,其中:

    httpd:软件包名。这里需要注意,httpd 是包名,而 httpd-2.2.15-15.el6.centos.1.i686.rpm 通常称为包全名,包名和包全名是不同的,在某些 Linux 命令中,有些命令(如包的安装和升级)使用的是包全名,而有些命令(包的查询和卸载)使用的是包名,一不小心就会弄错。

    2.2.15:包的版本号,版本号的格式通常为主版本号.次版本号.修正号。

    15:二进制包发布的次数,表示此 RPM 包是第几次编程生成的。

    el*:软件发行商,el6 表示此包是由 Red Hat 公司发布,适合在 RHEL 6.x (Red Hat Enterprise Unux) 和 CentOS 6.x 上使用。

    centos:表示此包适用于 CentOS 系统。

    i686:表示此包使用的硬件平台,目前的 RPM 包支持的平台如图 1 所示:

图1.RPM包适用平台

2.RPM包依赖性

图2.RPM包的依赖性

3.RPM包默认安装路径

图3.rpm包默认安装路径

    除此之外,RPM 包也支持手动指定安装路径,但此方式并不推荐。因为一旦手动指定安装路径,所有的安装文件会集中安装到指定位置,且系统中用来查询安装路径的命令也无法使用(需要进行手工配置才能被系统识别),得不偿失。

4.RPM包安装

    安装命令:rpm -ivh 包全名

    注意安装时使用的是包全名;涉及到包全名的命令一定要准确写出绝对路径和相对路径。

    在输入包全名的的时候可用Tab来补全包全名。

    -i: install安装

    -h: harsh显示安装进度

    -v: verbose显示更详细的信息

    -nodeps: 不检测依赖性安装

5.RPM包升级

    升级命令:rpm -Uvh 包全名

    -U:若该软件包没有安装,则直接安装;若该软件包已经安装,则升级至最新版本

    -F:若该软件包没有安装,则不安装;若该软件包已经安装,则升级至最新版本

6.RPM包卸载

    卸责时需要注意包的依赖性,否则会报错

    卸载命令:rpm -e 包名

7.查询软件包是否安装

    命令:rpm -q 包名

    功能:查询软件包是否安装

    -q:qury表示查询;注意这里是包名而不是包全名,若使用包全名无法识别

8.查询系统中所有安装的软件包

    命令:rpm -qa

    功能:查询系统中所有软件包

    管道符命令:rpm -qa | grep 包名    #功能:查找含有包名的所有软件包

9.查询软件包的详细信息

    命令:rpm -qi 包名

    功能:查询已安装软件包的详细信息

    -i:information查询软件信息

    命令:rpm -qip 包全名(绝对路径+包全名)    #功能:查询未安装软件包的详细信息

    -p:查询未安装软件包

10.查询软件包的文件列表

    命令:rpm -ql 包名

    功能:查询已安装软件包中包含的所有文件及各自安装路径

    -l:列出软件包所有文件的安装目录

    命令:rpm -qlp 包全名(绝对路径+包全名)    #功能:查询未安装软件包中包含的所有文件及准备安装路径

11.查询系统文件属于哪个rpm包

    命令:rpm -qf 系统文件名

    功能:查询系统文件属于哪个rpm包

    -f:file查询系统文件属于哪个rpm包

12.查询软件包的依赖性

    命令:rpm -qR 包名

    功能:查询已安装软件包的依赖性

    -R:require查询软件包的依赖性

    命令:rpm -qRp 包全名(绝对路径+包全名)    #功能:查询未安装软件包的依赖性

13.rpm包校验

    命令:rpm -V 已安装的包名

     -V:校验指定rpm包中的文件(verify)

图4.修改过httpd的状态

    最前面的 8 个字符(S.5....T)都属于验证信息,各字符的具体含义如下:

    S:文件大小是否改变

    M:文件的类型或文件的权限(rwx)是否改变

    5:文件MD5校验和是否改变(可以看成文件内容是否改变)

    D:设备的主从代码是否改变

    L:文件路径是否改变

    U:文件的属主(所有者)是否改变

    G:文件的属组是否改变

    T:文件的修改时间是否改变

    .:若相关项没发生改变,用 . 表示

    被修改文件类型,大致分为以下几类:

    c:配置文件(configuration file)

    d:普通文档(documentation)

    g:"鬼"文件(ghost file),很少见,就是该文件不应该被这个 RPM 包包含

     l:授权文件(license file)

     r:描述文件(read me)

14.rpm包中文件提取

    命令:rpm2cpio 包全名 | cpio -idv .文件绝对路径

    2:to

    rpm2cpio:将rpm包转换为cpio格式命令

    cpio:标准工具,用于创建软件档案文件和从档案文件中提取文件

    cpio 选项 < [文件|设备]

    -i:copy-in模式,还原

     -d:还原时自动新建目录

     -v:显示还原过程

图5

你可能感兴趣的:(linux12——rpm管理)