Linux RPM包管理-rpm命令

1、全名解释:

软件包全名:httpd-2.2.15-15.e16.centos.1.i686.rpm

包名:httpd

版本:2.2.15

发布的次数:15

适合的Linux平台:e16.centos

硬件平台:i686

说明:如noarch或没写,说明适合所有硬件平台

rpm包扩展名:rpm

注意:软件全名和包名不是一回事


2、RPM包依赖性

树形依赖:a->b->c 

安装:先c,b,a

 卸载:先a,b,c


环形依赖:a->b->c->a  

需要同时用一条命令安装和卸载


模块依赖:查询网址:www.rpm.net


3、包全名与包名

包全名:安装一个全新的包,使用包全名并且需要注意路径

包名:安装一个已经装过的软件包,使用包名,是搜索/var/lib/rpm中的数据库


4、RPM安装

包全名:rpm -ivh

安装:-i(install)

显示详细信息:-v(verbose)

显示进度:-h(hash)

不检测依赖:--nodeps(只有做实验时使用)


5、RPM包升级

包全名:rpm -Uvh

升级:-U

其它与安装操作一样


6、RPM卸载

包名:rpm -e

卸载:-e(erase)

不检测依赖:--nodeps


7、RPM查询

是否安装:

包名:rpm -q  包名

查询:-q(query)

所有:-a(all)


软件包详情:rpm -qi 包名

查询软件信息:-i(information)

查询未安装包信息:-p(package)


查询包中文件安装位置:rpm -ql 包名

列表:-l(list)

查询未安装包信息:-p(package)


查询系统文件属于哪个RPM包:rpm -qf 系统文件名

查询系统文件属于哪个软件包:-f(file)


查询软件包的依赖性:rpm -qR 包名

查询软件包的依赖性:-R(requires)

查询未安装包信息:-p(package)


8、RPM校验:rpm -V 已装包名

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

验证信息表示:

S 文件大小是否改变

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

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

D 设备中,从代码是否改变

L 文件路径是否改变

U 文件的熟悉(所有者)是否改变

G 文件的属组是否改变

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

文件类型:

c(config file)配置文件

d(documentation)普通文档

g(ghost file)“鬼”文件,很少见,就是该文件不应该被RPM包包含

l(license file)授权文件

r(read me)描述文件


9、RPM包中文件提取:rpm2cpio 包全名  |\ (连接符)cpio -idv .(当前)文件绝对路径

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

提取文件标准工具:cpio  选项<[文件|设备]

说明: -i copy-in模式,还原

-d 还原时自动新建目录

-v 显示还原过程


还原操作过程:以ls为例

查询命令属于哪个软件包: rpm -qf /bin/ls

造成误删除假象:mv /bin/ls  /tmp/

提取ls命令道当前目录:rpm2cpio /mnt/cdrom/Package/coreutils-8.4-19.e16.i686.rpm | cpio -idv ./bin/ls

复制回原目录,修复:cp  /root/bin/ls  /bin/

注意:在家目录下进行操作命令







posted @ 2022-05-29 08:31  田领群  阅读(9)  评论(0编辑  收藏  举报