cos-软件管理-rpm命令管理
- RPM包命令原则
- httpd-2.2.15-15.e16.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布次数
e16.centos 适合的liunx平台
i686 适合的硬件平台
rpm rpm包的扩展名
缺点:
① 安装步骤过多,较大软件安装时容易出现拼写错误
② 编译时间过长
③ 一旦报错,新手难以解决
RPM包依赖性
① 树形依赖:a>b>c
② 环形依赖:a>b>c>d>a
③ 模块依赖:模块依赖查询网址:www.rpmfind.netRPM包安装过程:
① 挂载光盘:mout -t iso9660 /dev/sr0 /mnt/cdrom/
(因为所有的安装包都在光盘中)
② 进入安装包目录:cd /mnt/cdrom/packages
③ 安装命令:rpm -ivh mysql-connector-odbc-5.1.5r1144-7.e16.i686.rpm
(安装mysql)
- RPM安装命令:
- [root@localhost~]#
rpm -选项[ ivh ] 包全名
选项:
-i (install) 安装-v (verbosel) 显示详细信息
-h (hash) 安装
–nodeps 不检测依赖性
- RPM升级命令:
- [root@localhost~]#
rpm -Uvh 包全名
- 选项:
-U (upgrade) 升级
- 选项:
- RPM卸载命令:
- [root@localhost~]#
rpm -e 包名
选项:
-e
(erase) 卸载--nodeps
不检查依赖性 (a>b>c,安装先安c,卸载先卸载a)
- RPM查询是否安装:
[root@localhost~]#
rpm -q 包名
- 选项:
-q
(query) 查询
- 选项:
[root@localhost~]#
rpm -qa 包名
(查询所有已经安装的rpm包)- 选项:
-a (all) 所有
- 选项:
- RPM查询软件包详细信息:
- [root@localhost~]#
rpm -qi 包名
选项:
-i (information) 查询软件信息-p (package) 查询未安装包信息
- RPM查询包中文件安装位置:
- [root@localhost~]
# rpm -ql 包名
选项:
-l (list) 列表-p (package) 查询未安装包(默认安装位置)信息
- RPM查询系统文件属于哪个rpm包:
- [root@localhost~]#
rpm -qf 包名
- 选项:
-f (file) 查询系统文件属于哪个软件包
- 选项:
- RPM查询软件的依赖性:
- [root@localhost~]#
rpm -qR 包名
选项:
-R (requires) 查询软件包的依赖性-p (package) 查询未安装包信息
- RPM包检验:
- [root@localhost~]#
rpm -V 已安装的包名
查询是否安装- 选项:
-V (verify) 校验指定的rpm包中的文件
- 选项:
- 8个信息标识内容: | S | 文件大小是否改变 | |---|-------------------------------------------------| | M | 文件类型或权限(rwx)是否改变 | | 5 | 文件MD5校验是否改变(可以查看文件内容是否改变) | | D | 设备中的从代码是否改变 | | L | 文件路径是否改变 | | U | 文件的所有者是否改变 | | G | 文件的所有组是否改变 | | T | 文件的修改时间是否改变 |
- 校验文件类型:
c 配置文件 config file d 普通文档 documentation g “鬼”文件 ghost file l 授权文件 license file r 描述文件 read me
- RPM包中文件提取:
[root@localhost~]#
rpm2cpio 包全名 | cpio -idv .文件绝对路径
[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.e16.i686.rpm | cpio -idv ./bin/
#提取 rpm 包中的 ls 命令到当前目录的 bin/ls 下[root@localhost~]#
cp /root/bin/ls /bin/
#把 ls 命令复制到 /bin/ 目录,修复丢失文件