现在的位置: 首页 > 综合 > 正文

linux软件包管理

2017年08月04日 ⁄ 综合 ⁄ 共 2119字 ⁄ 字号 评论关闭

通常我们用的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更新软件包

【上篇】
【下篇】

抱歉!评论已关闭.