本节主要介绍基于Red Had的系统(测试系统centos)node
1.3 安装位置不一样带来的影响web
若是你的光驱中还有系统安装盘的话,你能够经过”mount /dev/cdrom /mnt”命令把光驱挂载到/mnt目录下,那么你会在/mnt/Packages目录下看到不少.rpm的文件,这就是RPM包。数据库
2.1 rpm包的组成apache
name-version-release.arch.rpmcentos
yum-utils-1.1.31-45.el7.noarch.rpm网络
zziplib-0.13.62-5.el7.x86_64.rpm函数
2.2 RPM包管理的用途工具
2.3 RPM 的使用权限测试
2.4 RPM命令管理
参数 | 参数解释 | 举例 | |
安装命令 | -i | 安装 | |
-v|-vv|-vvv | 显示详细信息 | ||
-h | 以#显示安装进度一个#2表示%的进度 | ||
--nodeps | 忽略依赖关系 | ||
--test | 测试安装 | ||
--replacepkgs | 从新安装(以前安装包已经安装了) | ||
升级命令 | -U -Uvh | 升级+安装 | |
-F -Fvh | 升级(以前已经安装包了) | ||
--force | 有冲突强制升级 | ||
--nodeps | 忽略包依赖性关系 | ||
卸载命令 | -e | 卸载 | rpm -e 包名 |
--nodeps | 忽略包依赖性关系 | ||
查询命令 | -q |--query | rpm -q|--query 包名 | |
-qa | 查看全部已经安装的包 | rpm -qa 查看全部包名 |
|
-qi | 查看包的摘要信息 | ||
-qf | 查看文件是有那个包安装的 | rpm -qf /path/to/file | |
-ql | 查看包安装生成的文件清单 | ||
-qc | 查看包安装生成的配置文件 | ||
-qd | 查看包安装生成的帮助文档 | ||
-q --scripts | 查看相关的脚本 | rpm -q--script 包名 | |
-qp[i|l|d|c] | 查看还没有安装包的详细信息 | rpm -qpi /path/to/rpm_file | |
校验 | -V | rpm -V 包名 | |
数据库管理 | --initdb | 新建 | rpm --initdb |
--rebuilddb | 重建 | rpm --rebuilddb |
rpm -ivh package_name01 #安装package_name01,并显示详细安装信息及安装进度
rpm -ivh package_name01 package_name02 #同时安装两个package_name01 package_name02 ,并显示详细安装信息及安装进度
rpm -ivh http://websites.name/path/pkgname.rpm #直接由网络上面的某个文件安装,以网址安装
依赖性问题举例:
rpm -qa | grep dhcp # 查询是否讯在DHCP包
[root@localhost Packages]# rpm -e dhcp-common # 删除dhcp包报错 error: Failed dependencies: dhcp-common = 12:4.2.5-68.el7.centos is needed by (installed) dhclient-12:4.2.5-68.el7.centos.x86_64 [root@localhost Packages]# rpm -e dhcp-common --force #删除时不能使用强制--force rpm: only installation and upgrading may be forced [root@localhost Packages]# rpm -e dhcp-common --nodeps #删除时使用忽略强制 --nodeps [root@localhost Packages]# rpm -e dhcp-libs --nodeps [root@localhost Packages]# rpm -qa | grep dhcp # 删除后查询不到dhcp包 [root@localhost Packages]#
[root@localhost Packages]# rpm -ivh dhcp-common-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-common-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY error: Failed dependencies: dhcp-libs(x86-64) = 12:4.2.5-68.el7.centos is needed by dhcp-common-12:4.2.5-68.el7.centos.x86_64 # 若是先安装dhcp-common,依赖于dhcp-libs,因此要先安装dhcp-libs
[root@localhost Packages]# rpm -ivh dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:dhcp-libs-12:4.2.5-68.el7.centos ################################# [100%] [root@localhost Packages]# rpm -ivh dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-libs-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] package dhcp-libs-12:4.2.5-68.el7.centos.x86_64 is already installed [root@localhost Packages]# rpm -ivh dhcp-common-4.2.5-68.el7.centos.x86_64.rpm warning: dhcp-common-4.2.5-68.el7.centos.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Preparing... ################################# [100%] Updating / installing... 1:dhcp-common-12:4.2.5-68.el7.cento################################# [100%] [root@localhost Packages]#
Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,每每是你要安装A软件,可是编译的时候告诉你X软件安装以前须要B软件,而当你安装Y软件的时候,又告诉你须要Z库了,好不容易安装好Z库,发现版本还有问题等。
因为历史缘由,RPM软件包管理系统对软件之间的依存关系没有内部定义,形成安装RPM软件时常常出现使人没法理解的软件依赖问题。其实开源社区早就对这个问题尝试进行解决了,不一样的发行版推出了各自的工具,好比Yellow Dog的YUM,Debian的APT等。开发这些工具的目的都是为了要解决安装RPM时的依赖性问题,而不是额外再创建一套安装模式。这些软件也被开源软件爱好者们逐渐移植到别的发行版上。目前,APT和YUM均可以运行在Red Hat系统上。目前yum是Red Hat/Fedora系统上默认安装的更新系统。
........