我在这里介绍两种二进制软件包管理,分别是rpm和yum。
RPM实例
举一个rpm软件包的例子:jdk-7u80-linux-x64.rpm,其中包括软件名(jdk),版本号(7u80),适用平台(linux-x64)。
在安装rpm软件包之前一般会查看平台内是否有该软件,用命令#rpm -qa jdk 查看。
如果有,并且不是你想要的,可以使用命令卸载:#rpm -e jdk 。注意:如果其他软件包有依赖关系,卸载时会产生提示信息,可以使用--nodeps强行卸载。
下载命令:#rpm -ivh jdk
其中,-i表示安装rpm软件包,-v在安装过程中显示正在安装的文件信息,-h在安装过程中显示安装进度。
查询是否安装用命令:#rpm -q jdk 。附加查询命令包括:a(查询所有已经安装的包),i(显示安装包的信息),I(显示安装包中的所有文件被安装到哪些目录下),p(查询的是安装包的信息),f(查询的是已安装的某文件的信息)。
其他命令选项:
--excludedocs 不安装软件包中的文档文件
--prefix path 将软件包安装到由path指定的路径下
将jdk安装到指定路径 /usr/local/linshi 下。
--test 只对安装进行测试,并不实际安装
安装过程中,还会有以下情况:
1、已经安装,想重新安装覆盖掉之前安装的内容:
#rpm -ivh --replacepkgs jdk-7u80-linux-x64.rpm
2、文件冲突,如果想让rpm忽略该错误信息,可以在命令行上使用--replacefiles,即:
#rpm -ivh --replacefiles jdk-7u80-linux-x64.rpm
3、未解决依赖关系。rpm软件包可能要依赖于其他软件包,也就是必须在安装了特定的软件包之后才能安装该软件包。这种情况下,如果想强制安装,可以使用--nodeps选项。
#rpm -ivh --nodeps jdk-7u80-linux-x64.rpm
4、软件包升级
#rpm -Uvh jdk-7u80-linux-x64.rpm
YUM实例
应用yum的优势:
1)自动解决软件包的依赖关系
2)方便软件包升级
3)命令管理:
A.安装 yum install
B.检测升级 yum check-update
C.升级 yum update
D.软件包查询 yum list
E.软件包信息 yum info
F.卸载 yum remove
G.帮助 yum -help / man yum
4)查询
选项:
-a | 查询所有已安装的软件包 |
-f | 查询文件所属软件包 |
-p | 查询软件包 |
-i | 显示软件包信息 |
-l | 显示软件包中的文件列表 |
-d | 显示被标注为文档的文件列表 |
-c | 显示被标注为配置文件的文件列表 |
- rpm查询应用案例
- 1 查询文件隶属的软件包: rpm -qf
- 2 查询软件包信息: rpm -qi、rpm -qip
- 3 查询软件包安装文件: rpm -ql、rpm -qlp
- 4 查询软件包帮助文件: rpm -qd
- 5 查询软件包配置文件: rpm -qc
软件包文件的提取
解压所有文件到当前目录
Rpm2cpio 软件包 | rpio -idv
解压指定文件到当前目录
Rpm2cpio 软件包 | cpio -idv ./etc/inittab