今天我们来讲linux软件包管理,因为linux版本的不同,软件包的管理稍有区别。在redhat系列里,我们二进制软件包的管理比较倾向于
RPM和YUM。而在debian系列中,我们广泛使用
APT的管理方式。
软件包的管理一般分为三种:二进制软件包管理、源代码包管理、脚本安装(shell或java)。其中我们的重点是二进制软件包的管理,其他的两种用案例来说明。
一、RPM包管理
由上面RPM例子可知关于软件包的名字。注意,安装的时候需要使用的是软件包的全称,而卸载的时候只需要使用软件的名称。接下来介绍rpm使用命令:
(1)rpm卸载
从例子可以看出,是使用
rpm -m 软件名 来卸载一个软件的,但是在卸载samba的时候却被告知,因为samba被另外一个软件依赖而卸载失败。两种办法,一就是把依赖samba的先卸载再来卸载samba,二就是通过--nodeps选择来强行卸载。
(2)rpm安装
既然我们之前卸载了sudo软件,那我们现在就来安装sudo.软件包的获取要么是从网站下载的或者是从光盘获得安装。sudo就在系统安装盘里就有。那么要用光盘进行安装之前,我们要对光盘进行
挂载(光盘挂载),也就是通过系统文件的方法访问光盘。通常我们系统在/mnt目录中创建文件进行挂载,通过monut指令就可以进行挂载了,记得把光盘放入光驱,不然会提示找不到介质。
在挂载成功后,我们访问/mnt/cdrom就相当于访问光盘了。进入光盘,再进入CentOS目录,我们可以发现所有的RPM软件安装包都在这个目录里面,通过ls | grep sudo 我们可以发现有我们需要的sudo软件安装包。然后通过
rpm -ivh 软件包全名 就可以安装软件包。其中-i就是安装的install,-v是查看安装过程信息,-h是显示安装进度。
(3)rpm查询
通过
rpm -q 软件名 来查询该软件包是否已经安装,但当你对软件名记不清或者与某些关键词相关的软件感兴趣时,可以通过
rpm -qa | grep 软件关键字 来查已安装的软件包。-qa是表示查询所有软件包。
(4)rpm校验
使用rpm -V 软件名 可以对这个软件的所有文件进行校验,如果校验没有问题会没有任何提示,如果出现问题,会以字母的方式告知。
(5)
rpm提取(修复时常用命令) 当有些软件的某个文件或者配置文件顺坏或者丢失的时候,我们需要从rpm软件安装包中把所需的文件提取出来来修复软件。我们可以使用rpm2cpio命令来实现。
(6)附加参数
--excludedocs 不安装软件包中的文档文件
--prefix=Path 将软件包安装到由path指定的路径下(注:大多rpm都不允许改变安装目录),下例中predix等号后面即path。
--test 只对安装
进行测试,并不实际安装。--replaceplgs 进行覆盖安装,当软件包已安装了,可以
使用该命令进行覆盖安装。--repalcefiles 如果正在安装的软件包中的某一个文件在其他已安装过的软件包中安装了,那么就会出现文件冲突的错误,通过该参数忽略错误,继续安装。
--nodeps 这个参数在卸载时候有用。在安装时候也有用,有时候在安装软件包时候,所依赖的软件包没有,就会安装不了,那么如果仍想安装就只有用nodeps参数。
-U 对软件包进行升级。
二、YUM包管理
正是因为rpm对于软件包的互相依赖关系的支持差劲,所以yum应运而生。yum的两个好处就是:自动解决软件包间的依赖关系和方便升级。yum应用需要联网才能发挥价值。
(1)yun安装与检测升级
通过
yum install 软件名 来联网进入下载安装,它会为你自动下载所有所需的依
赖软件包。通过yum check-update 软件名 来联网检测是否有需要跟新软件。在检测
升级以后,通过yum update 软件名 来升级。
(2)其他命令yum list 查询yum源的所有软件包。通过yum list | grep 软件名 可以查询当前软件是否安装等信息。
yum info 软件名 查询yum源中软件包里的信息
yum remove 软件名 卸载软件
三、源代码包安装
源代码安装分几个步骤:首先下载源代码包,通常是.gz或者.bz2结尾的;或者源代码包以
后通过tar -xzvfjc 等命令进行解压;解压完成以后进入解压目录会看见一个confing的文件,然后通过./confing命令运行该配置,当然这个配置的过程通常都是收集一些环境信息和生成一些必要的文件,如果一些依赖的软件没有当然需要装好(用yum吧。。各种快);然后再执行make命令进行编译;编译结束以后执行make install进行安装,这个过程一般是一些拷贝到不同目录和一些配置文件生成。这样一个标准的源代码包就安装完成了。
可以参考这篇博文:
http://criss.blog.51cto.com/1048459/464581四、脚本安装
当你下载tar包里面没有config这个文件时,很可能就是用脚本的方式安装了。也是先解压,然后查看下README或INSTALL这类说明,然后找到安装脚本运行即可。
五、APT包管理