如何用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-get update
(2)检查本地软件依赖关系合法性,由于rpm系统的问题,很多系统会存在一些依赖问题,用下面命令检查依赖关系,同时apt-get会提供一些修复方案,只有本机没有依赖关系问题了才能良好地使用apt-rpm。一个新安装的干净系统不会有依赖关系问题。
[root@linux root]# apt-get check
(3)安装或升级一个新软件
[root@linux root]# apt-get install package-name
package-name是rpm包的名字的前面部分,不包含版本号,如果选择不同的处理器类型,可以在后面添加@i686等标识。
(4)升级所有系统软件
[root@linux root]# apt-get upgrade
(5)全面升级,比upgrade更加智能化的升级,同时解决升级时的一些依赖关系
[root@linux root]# apt-get dist-upgrade
(6)卸载软件,同时卸载依赖软件
[root@linux root]# apt-get remove package-name
(7)清除本地下载的rpm包,rpm包下载后保存在/var/cache/apt/archieves下面,本命令清除已下载安装过的rpm文件
[root@linux root]# apt-get clean
以上所有命令都可以通过图形界面的前端软件Synaptic完成,图形化的软件使用起来更加直观,理解了前面几个主要命令,就可以毫无困难地使用Synaptic了,所以本文不再赘述Synaptic的使用方法了。
   #apt-get update //更新软件列表
   #apt-get upgrade //升级所有系统软件
   #apt-get check    //检查依赖性
   #apt-get -f install  // 解决依赖性问题
   #apt-cache showpkg   //显示软件包的一些常规信息
      #apt-cache show      //显示指定软件包的记录信息。类似于rpm -qi
      #apt-cache depends   //显示软件包的依赖性关系
      #apt-cache pkgnames  //列出所有的软件包
      #apt-config dump     //显示目前的配置信息。
如果要安装某工具,比如说iftop,可以这样:
#apt-cache search iftop
#apt-get install iftop  
apt自动解决依赖性问题,方便得很。
要注意的是需要导入相应资料库的签名。在相关站点下载GPG key之后,用如下命令导入即可:
#rpm --import TheKey_youDownload
如果有耐心看到这里的话,可以发现盗版的用户或者是用RHEL进行测试的朋友可以通过这个进行升级了--要不然RHEL的up2date 总是要你输入认证信息的。
参考信息
APT-howto
- http://www.debian.org/doc/manuals/apt-howto/index.en.html
其他版本的APT使用问题和一些使用技巧请参考这里:
http://dag.wieers.com/home-made/apt/FAQ.php
http://www2.uni-klu.ac.at/support/Redhat
http://linuxwiki.de/apt/RedHat
http://apt4rpm.sourceforge.net/
ftp://rpmfind.net/linux/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm
[root@mailman src]# rpm -ivh apt-0.5.5cnc6-fr1.i386.rpm


本文来自ChinaUnix博客,如果查看原文请点: http://blog.chinaunix.net/u/25799/showart_195675.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值