日期:2014-05-16  浏览次数:20783 次

如何用APT维护Red Hat Enterprise Linux 4.0 (RHEL)

用APT维护Red Hat Enterprise Linux 4.0 (RHEL)

内容简介
  如何用APT(Advanced Packaging Tool)维护Red Hat Enterprise Linux (RHEL),提供对个别RHEL的用户无法升级的问题的解决办法。关键词:APT,Linux,升级,Red Hat Enterprise Linux,RHEL,YUM,RPM,依赖性
几句前言
  redhat采用了RPM软件包管理系统,RPM软件包管理系统具有强大的编译安装功能,但是由于历史原因,RPM软件包管理系统对软件之间的依存关系没有内部定义,造成安装RPM软件时经常出现令人无法理解的软件依赖问题。Linux系统维护中令管理员很头疼的就是软件包之间的依赖性了,往往是你要安装A软件,但是编译的时候告诉你X软件安装之前需要B软件,而当你安装Y软件的时候,又告诉你需要Z库了--好不容易安装好Z库,发现版本还有问题......可能很多朋友都有过这个经历。debian系统则基于apt(Advanced Packaging Tool)工具进行软件包管理,可以自动解决并安装倚赖软件包,因此debian linux被认为是最容易管理和升级的系统,apt工具也被认为是目前最好的软件包管理工具之一。为了解决redhat包管理系统的致命问题,Conectiva Linux将apt系统移植到了使用rpm软件包管理系统的Linux系统下,使得基于RPM软件包的系统可以利用apt工具提供的自动解决倚赖关系的能力。
  目前已经有很多为redhat linux提供apt方式升级管理软件包的站点,如http://freshrpms.net , http://apt.unl.edu等等,使得redhat也成为可以利用apt工具的发行版之一,本文介绍如何在redhat linux系统安装和使用apt软件包管理工具。其实开源社区早就对这个问题尝试进行解决了,不同的发行版推出了各自的工具,比如
Yellow
Dog的YUM ,
Debian
的APT(Advanced Packaging Tool)等。而这些软件也被开源软件爱好者们逐渐移植到别的发行版上。
  Redhat企业版Linux的的升级往往给管理员们带来不少问题:网站下载速度太慢,不够安全,当然了,更多的人是无法更新的--版权问题。经过一段时间的比较 ,感觉使用APT维护RHEL有着特殊的便利性。 (有的朋友可能会说,yum 也不错阿!是的,yum在很多时候表现的确不错,不过如果使用的Linux是RHEL的话,很难找到适合yum的资料库,"巧妇难为无米之炊"。) 现在把具体方法介绍给大家作为参考。
APT基本介绍
? ? Debian GNU/Linux 是APT的缔造者。初衷是利用工具来解决软件安装时候的依赖性问题。其工作原理大致为:用户安装APT客户端工具,查寻APT服务器端的资料库(repositories)上的RPM软件包信息,并分析软件包之间的依赖性然后下载并进行安装。
? ? APT和其他软件管理工具的比较。在基于RPM的Linux平台上,有很多其他的软件包管理工具,如:autorpm、rpmfind、up2date/RHUN、urpmi/rpmdrake/Mandrake Update等等。我们下面就对这些工具进行比较。

  • 依赖性发现只在某些情况下有效。
  • 一般来说所有工具都需要服务器上有一个特殊的软件包索引文件。该文件包含有软件包信息。但是它们是一般文件,可以从其他的镜象服务器上下载。
  • ?软件包验证用来验证下载的软件包的正确性;镜象服务器验证实现验证镜象服务器和正式服务器的内容是否一致。
  • 这些特性是ATP-RPM所独有的,而Debian的APT则不具有这些特性。
  • 当升级软件包时显示升级的原因。这样管理员就可以了解升级软件包是由于安全原因或功能升级。
    ? ? 从上面的表中可以看到ATP和其他工具相比较具有更好的功能优势。因此对于基于RPM软件包管理的平台,如:Redhat、TurboLinux、SuSe、Mandrake等等,APT是一个非常优秀的软件管理工具。
    安装与配置
    ? ? 首先让我们安装APT工具及freshrpms,freshrpms.net同时提供了一个图形界面的apt-rpm接口Synaptic,使用图形界面的apt更加方便,安装了apt后,可以直接利用apt安装Synaptic:
       # wget http://redhat.uni-klu.ac.at/el3/apt.i386.rpm
       # rpm -Uvh apt.i386.rpm
       [root@linux root]# apt-get update
       [root@linux root]# apt-get install synaptic
    安装够简单吧? 我们要编辑配置文件:
    #vi /etc/apt/sources.list.d/dag.list??
    添加如下内容(资料库相关的信息):
    rpm http://afs.caspur.it/ afs/italia/project/linux/cern/slc302/i386/apt os updates extras
    rpm http://redhat.uni-klu.ac.at redhat/dag/el3/i386 dag
    rpm-src http://redhat.uni-klu.ac.at redhat/dag/el3/i386 dag
    rpm http://apt.sw.be redhat/el3/en/i386 dag
    rpm-src http://apt.sw.be redhat/el3/en/i386 dag
    ? ? 注: 第一条http://afs.caspur.it/ 的资料库几乎就是Redhat官方站点的内容。在写这篇文章的时候还是有效的。如果要尝试更新Kernel,还可以在第一条后面添加 kernel26 .
    如果需要更多Java相关软件,则:
    #vi /etc/apt/sources.list.d/jpackage.list??
    (这一步是可选的)添加如下内容:
    rpm http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/i386 free devel
    rpm-src http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/i386 free devel
    rpm http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/generic free devel
    rpm-src http://redhat.uni-klu.ac.at redhat/jpackage/redhat-es-3/generic free devel

    如果要更新KDE的话(这一步可选的):
    #vi /etc/apt/sources.list.d/kde.list??
    考虑添加如何内容:
    rpm http://apt.kde-redhat.org apt/fedora/3.0 stable
    rpm http://apt.kde-redhat.org apt/fedora/all stable
    rpm http://apt.kde-redhat.org apt/kde-redhat/3.0 stable unstable
    rpm http://apt.kde-redhat.org apt/kde-redhat/all stable unstable
    ? ? 当然,这些内容是经过笔者验证的,都是可用的。从一些站点上下载的list 似乎都多多少少有点问题。
    注: 如果您发现上述的资料库失效或者是有什么更好的资料库。烦请通知我: DBAnotes@gmail.com .
    使用简介
    ? ? 使用相对来说比较简单: 在redhat上面使用apt和在debian下面使用几乎完全一样,配置文件在/etc/apt/,按照前面介绍安装好apt之后就可以使用并可以更新redhat提供的RPM更新以及freshrpms.net提供的更新了。主要运行命令如下:
    (1)更新软件列表,获取远程rpm服务器上的软件列表和相互依赖关系列表,所有可用软件的下载地址都在/etc/apt/sources.list里面定义,下面的多数下载操作地址也是在这里定义的。
    [root@linux root]# apt-