RPM包管理-rpm命令管理

RPM包管理-rpm命令管理

1、RPM包命名原则

httpd-2.2.15-15.el6.centos.1.i686.rpm
  • httpd 软件包名   注意包全名是httpd-2.2.15-15.el6.centos.1.i686.rpm
  • 2.2.15 软件版本
  • 15 软件发布的次数
  • el6.centos 适合的Linux平台el6和CentOS
  • i686 适合的硬件平台
  • rpm rpm包扩展名(必须这样写,方便管理员查看)

2、RPM包依赖性
树形依赖: abc
环形依赖: abca    有一条命令将abcd同时装

模块依赖: 模块依赖查询网站: www.rpmfind.net


3、包全名与包名
包全名:操作的包是没有安装的软件包时, 使用包全名。而且要注意路径

包名:操作已经安装的软件包时,使用包名。 是搜索/var/lib/rpm/中的数据库


4、RPM安装
rpm –ivh 包全名
选项:

  • -i(install) 安装
  • -v(verbose) 显示详细信息
  • -h(hash) 显示进度
  • --nodeps 不检测依赖性  (安装时必须要,否则功能不全或者不能使用)

5、RPM包升级
rpm -Uvh 包全名
选项:

-U(upgrade) 升级


6、卸载
rpm -e 包名
选项:
-e(erase) 卸载
--nodeps 不检查依赖


7、查询是否安装 (在任何位置都可)

[root@localhost ~]# rpm -q  包名
#查询包是否安装
选项:
-q 查询(query)
[root@localhost ~]# rpm –qa
#查询所有已经安装的RPM包
选项:

-a 所有(all)


8、查询软件包详细信息
[root@localhost ~]# rpm –qi 包名
选项:
-i 查询软件信息(information)
-p 查询未安装包信息(package)


9、查询包中文件安装位置
[root@localhost ~]# rpm –ql 包名
选项:
-l 列表(list)

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


10、查询系统文件属于哪个RPM包
[root@localhost ~]# rpm –qf 系统文件名
选项:
-f 查询系统文件属于哪个软件包(file)


11、查询软件包的依赖性
[root@localhost ~]# rpm –qR 包名
选项:
-qR 查询软件包的依赖性(requires) 包名
-qRp 查询未安装包(package)依赖性   包全名


12、RPM包校验

[root@localhost ~]# rpm –V 已安装的包名
选项:
-V 校验指定RPM包中的文件(verify)

验证内容中的8个信息的具体内容如下:
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)


13、RPM包中文件提取

[root@localhost ~]# rpm2cpio 包全名 | \                      (\是换行符)
cpio -idv . 文件绝对路径
rpm2cpio       #将rpm包转换为cpio格式的命令
cpio               #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

[root@localhost ~]# cpio 选项 < [文件|设备]
选项:
-i:copy-in模式,还原

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

-v:显示还原过程


[root@localhost ~]# rpm -qf /bin/ls
#查询ls命令属于哪个软件包
[root@localhost ~]# mv /bin/ls  /tmp/
#造成ls命令误删除假象
[root@localhost ~]# rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm  | cpio  -idv   ./bin/ls
#提取RPM包中ls命令到当前目录的/bin/ls下
[root@localhost bin]# cp  ls   /bin/ls
#把ls命令复制会/bin/目录,修复文件丢失






你可能感兴趣的:(Linux学习)