天天看点

linux软件包安装

在linux中分为rpm包和二进制包安装,yum安装也属于rpm包安装的一种。

rpm包名原则

linux软件包安装

rpm包依赖性

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

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

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

模块依赖的实例报错:(实验机器为 centos6.3 x64)

通过挂载第一张光盘后,进入光盘中的package目录,安装 mysql-connector-odbc 这个包,报错如下

报错中说的很清楚,缺少libltdl.so.7这个软件包。

先解释一下libltdl.so.7 这个是啥?在linux中以 ".so.数字" 结尾的文件都是软件包组,这是某一个软件包中的一个软件,如要解决这个依赖,

需要在 www.rpmfind.net 中查找对应的软件包安装。

linux软件包安装

在命令行模式中,rpm包还有包名和包全名之分,在不同的情况下用不同的名字。

包名:以最上面的rpm包名原则那张图为例:包名就是 httpd

包全名:从头到尾就是包全名了~

当操作对象为已安装的软件那么接包名,若操作对象为未安装软件时则需要接包全名,除了安装和升级是需要用包全名,大多数时候使用包名即可。

rpm安装

# rpm   ivh 包全名

选项:  -i (install)     安装

             -v (verbose) 显示详细信息

             -h(hash)       显示进度

             --nodeps            不检测依赖性

rpm包升级

# rpm   uvh  包全名

选项: -u  (upgrade)    升级

rpm卸载

# rpm   e  包名

选项:-e  (erase)    卸载

查询是否安装rpm包

# rpm  q   包名       查询该包是否安装

# rpm   -qa  包名       查询所有已经安装的rpm包

            -q         查询

            -a          所有

查询软件包详细信息

# rpm  qi  包名

选项:  -i   查询软件信息

              -l    列表(查询软件包的安装位置)

              -p  查新未安装包信息

# rpm -qip zip-3.0-1.el6.x86_64.rpm 查询未安装软件的软件包的详细信息,因为操作对象是未安装的软件,所以接包全名

# rpm -qlp zlib-devel-1.2.3-27.el6.x86_64.rpm        查询未安装软件准备安装的位置

查询系统文件属于哪个rpm包

# rpm   qf   系统文件名

选项:  -f   查询系统文件属于哪个软件包

查询软件包的依赖性

# rpm  qf   系统文件名

选项:-r  查询软件包的依赖性

         -p  查询未安装包信息

rpm包校验

# rpm v 已安装的包名

选项:-v  校验指定rpm包中的文件

rpm包中文件提取

# rpm2cpio 包全名 | cpio idv   .文件绝对路径

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

cpio是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件

提取文件实例

[root@nfs-server ~]# rpm -qf /bin/ls       首先查看 ls 命令属于哪个软件包

coreutils-8.4-19.el6.x86_64

[root@nfs-server ~]# mv /bin/ls /tmp       造成ls命令误删除

[root@nfs-server ~]# ls           ls命令失效

-bash: /bin/ls: no such file or directory

[root@nfs-server ~]# rpm2cpio /mnt/packages/coreutils-8.4-19.el6.x86_64.rpm  | cpio -idv ./bin/ls    

./bin/ls                  提取rpm包中ls命令到当前目录的 /bin/ls下

25190 blocks

[root@nfs-server ~]# cp /root/bin/ls /bin    把ls命令复制到 /bin/ls 目录,修复文件丢失

[root@nfs-server ~]# ls       ls命令恢复

anaconda-ks.cfg  bin  install.log  install.log.syslog

继续阅读