您的位置:首页 > 运维架构 > Linux

Linux基础学习之软件包管理

2012-10-12 10:28 405 查看
哇咔咔,好几天没写了(呵呵,这几天比较懒),这篇博客我打算写一些有关Linux软件包管理的内容。通常我们用的Linux版本可以分为两大类,一类是RedHat系列,另一类是Debian系列。这里我们针对这两类Linux的软件包管理做一些分析,我自己用的是CentOS,这里主要介绍RedHat系列Linux软件包管理,Debian系列Linux软件包管理我们大概提一些。

一、RedHat系列Linux软件包管理

我们分三方面介绍RedHat系列Linux软件包管理:二进制软件包管理(RPM,YUM);源代码包管理;脚本管理(Shell或Java脚本)。

1、二进制软件包管理

在RedHat系列中管理二进制软件包通常有RMP和YUM两种方式。下面分别来看看这两种软件包管理方式。

a、RPM

在介绍RPM管理方式之前,我们先看一个rpm软件包的例子:sudo-1.7.2p1-5.el5.i386.rpm,是个sudo的rpm包名。其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5)和硬件平台(i386)。接下来我们就以这个sudo软件为例子来说明rpm的管理。

卸载:rpm -e sudo。如果有其它软件包的依赖关系,卸载时会产生提示信息,可使用--nodeps强行卸载。

安装:rpm -ivh(必选项是i) sudo-1.7.2p1-5.el5.i386.rpm。安装中还有一些其它的选项:

--excludedocs 不安装软件包中的文档文件

--prefix=PATH 将软件包安装到由PATH指定的路径下(这个用处不大,因为二进制软件包的安装路径一般都不允许被改变)

--test 只对安装进行测试,并不实际安装

--replacepkgs覆盖安装

查询选项:

查询软件包是否安装:rpm -q sudo

查询所有已安装的软件包:rpm -qa

-a查询所有已安装的软件包

-f查询文件所属软件包

-p查询软件包

-i显示软件包信息

-l显示软件包中的文件列表

-d显示被标注为文档的文件列表

-c显示被标注为配置文件的文件列表

校验:rpm -V sudo,如果软件安装被改变,则执行该命令会有相应的提示信息。校验提示信息解析:

5:文件的md5校验值

S:文件大小

L:连接文件

T:文件的创建时间

D:设备文件

U:文件的用户

G:文件的用户组

M:文件的权限

升级软件包:rpm -Uvh sudo-1.8.2p1-5.el5.i386.rpm(假设我之前的sudo软件包是1.7版本的,现在将它升级为1.8版本,升级的前提是指定的升级软件包名是存在的)

b、YUM

yum相对于rpm来说,用起来比较方便。假如我要用rpm来安装一款软件,如果这软件有其他的依赖软件,那必须一一装上依赖软件才能安装这个软件。对于这个问题,yum就能很好地解决。使用yum来管理软件包有两点好处:其一就是自动解决软件包依赖关系;其二就是方便软件包的升级。

安装:yum install

检测升级:yum check-update

yum check-update sudo,检测sudo软件升级

升级:yum update

软件包查询:yum list(这个查询会把yum源的所有软件包都列出来,一般我们需要指定查询哪个软件包)

软件包信息:yum info

卸载:yum remove

帮助:yum -help、man yum

通过上面的介绍,我们知道yum比rpm好用太多了。那我们还需要rpm干嘛,都用yum不就完了嘛。这里需要提醒下,在查询方面rpm比ynm有优势,其效率高。大家可以试试。呵呵,两者结合才是王道!

2、源代码包安装

应用举例(proftpd):

tar -xzvf proftpd-1.3.3d.tar.gz(解压解包)

cd proftpd-1.3.3d

./configure --prefix=/usr/local/proftpd(配置,源代码包最好用prefix指定安装目录)

make(编译)

make install(安装)

3、脚本安装

应用举例(webmin)

tar -xzvf webmin-1.530.tar.gz

cd webmin-1.530

vi README(查看帮助文档,找出安装文件,一般的帮助文档都是README,当然也有其他的。由帮助文档我们了解到,安装webmin脚本,只需要执行setup.sh脚本就OK)

./setup.sh

二、Debian系列Linux软件包管理

这里就稍微介绍下Debian的二进制软件包管理,而源代码包和脚本的安装方式与RedHat系列是一样的。在Debian系列Linux(如Ubuntu)中,我们通常使用apt包管理,apt包管理也比较简单方便,有点类似于上面介绍的yum。

apt-cache search搜索软件包

apt-cache show软件包信息

apt-get install 安装

apt-get remove 删除

apt-get update 更新软件源

apt-get upgrade更新软件包

OK,这篇的软件包管理就是这些。嘎嘎,上班时间偷偷写博客,感觉真爽!

PS:本人菜鸟一只,如上述内容有误,欢迎指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: