鸟哥的 Linux ADSL 私房菜


Linux 网络套件升级
最近更新日期:2003/08/22
 
在现在的 Internet 上面,Cracker 实在是太多了!这些 Cracker 利用已知道的 Linux 上面的套件漏洞,来进行侦测、入侵您的主机,因此,除了未来架设防火墙之外,最重要的 Linux 日常管理工作,莫过于套件的升级了!不过,经由每日观察网络安全通报所告知的套件漏洞,以及等待各大 distribution 针对这些漏洞来提供 RPM 档案,以使 Client 来升级的过程中,实在是有点缓慢啊!因此,目前就有很多在线直接更新的机制出现了!有了这些在线直接更新 RPM 的手段与方法,我们系统管理员在管理主机系统上面,可就轻松的多啰!赶紧来看看吧!
 
为何我的 Linux 要升级
以 up2date 进行 Linux 网络套件升级
  安装
  注册
  使用
  结语
Mandrake 的 urpmi 升级
  :urpmi 的套件结构
  :选择 RPM 档案的媒体urpmi.addmedia, urpmi.removemedia
  :进行升级urpmi.update, urpmi
  :每日自动升级
APT 的使用
VBird 的自动更新程序
重点回顾
参考资源
课后练习

为何我的 Linux 要升级?
以 up2date 进行 Linux 网络套件升级
Mandrake 的 urpmi 升级
APT 的使用
    除了 up2date 与 urpmi 之外,其实我们也可以透过 APT 来进行套件的升级喔。事实上, APT 主机的动作与 urpmi 有点类似的,我们要以 APT 服务器提供的功能来自我套件升级时,同样的需要透过 Server 与我们 Linux 主机的套件比对之后,才能够进行套件的安装与升级!我以我的 Red Hat 9 作为范例,要以 APT 网络升级套件时,我们应该这么做:
     
    1. 先寻找适合我们 Linux 系统的 apt 套件,并且安装:

    2. 如果是 Red Hat 系统,可以使用底下的网站提供的 RPM 档案来安装喔:
      http://apt.freshrpms.net/
      以我的 Red Hat 9 为例,要安装的动作为:
      [root@test root]# rpm -ivh \
      > http://ftp.freshrpms.net/pub/freshrpms/redhat/9/apt/apt-0.5.5cnc6-fr1.i386.rpm
      [root@test root]# rpm --import \
      > ftp://linux.sinica.edu.tw/redhat/redhat-9/en/os/i386/RPM-GPG-KEY
      [root@test root]# rpm --import http://ftp.freshrpms.net/pub/freshrpms/RPM-GPG-KEY
      这样就可以直接网络上安装该套件了!一般来说,我们在安装了 RPM 之后,为了要信任来源网站,所以要将该网站提供的 Public Key 读进我们的 linux 系统当中,那就是上面为何需要 import 的原因了!
       
    3. 寻找合适的更新主机:sources.list

    4. 既然 APT 是去到 APT Server 来下载我们 Client 端所需要的套件,所以当然就要寻找我们所需要的 APT 主机啦!如果您是以上面的 APT 套件来安装您的 APT 的话,那么预设的 APT 主机设定在 /etc/apt/sources.list 里面,内容有点像这样:
      [root@test root]# vi /etc/apt/sources.list
      # Red Hat Linux 9
      rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
      #rpm-src http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
      # 里面料的格式为:
      # rpm <APT服务器地址> <相对于服务器的路径> <目录一> <目录二> <目录三> ...
      # 以上面的例子来说,事实上 RPM 放置的目录在:
      # http://ayo.freshrpms.net/redhat/9/i386/RPMS.os
      # http://ayo.freshrpms.net/redhat/9/i386/RPMS.updates
      # http://ayo.freshrpms.net/redhat/9/i386/RPMS.freshrpms
      我们使用预设的路径即可!当然,您可以自行去 Internet 上面搜寻最靠近我们的 APT 服务器,这样可以让我们的 RPM 下载速度比较快啦!
       
    5. 更新 Client 与 APT Server 的对应清单:

    6. 在每次更新之前,请务必将您的主机上面的 RPM 属性清单与 APT 服务器上面同步更新,这样才能下载到最新的套件啊!更新的方式很简单:
      [root@test root]# apt-get update
       
    7. 开始更新与每日更新:

    8. 要安装与更新来自 APT 主机的 RPM 档案真的很简单,只要一个指令 apt-get 即可!工作的方法如下:
      [root@test root]# apt-get <options> <更新项目> <套件名称>
      参数说明:
      options:关于参数有底下几个较常见的:
        -q 不要输出讯息,安静一点比较好吗?! ^_^
        -y 如果 apt-get 在工作过程中需要使用者响应,这个参数可以直接回答 yes 
      更新项目:更新的动作有底下几个:
        update:就是刚刚我们上个动作说的,要更新 Client 与 Server 的清单对应
        install:安装某个套件,后面接套件名称
        dist-upgrade:自动升级我们系统上面已经安装的所有 RPM 套件喔
        clean:将下载自 APT 主机的的 RPM 档案删除哩!
      范例:
      [root@test root]# apt-get install tcpdump  # 安装 tcpdump 这个套件
      [root@test root]# apt-get -y dist-upgrade  # 升级我们系统上面的所有 RPM 套件
      [root@test root]# apt-get clean 
       
      # 至于每日更新的话,可以写入 /etc/crontab 喔
      [root@test root]# vi /etc/crontab
      40 5 * * * root apt-get update; apt-get -y dist-upgrade ; apt-get clean
       
    呵呵!这么简单的方法就可以自动的更新我们的 Linux 啰!当然啦,我这里是以 Red Hat 系统为范例,如果您的系统并非为 Red Hat ,那么您就得要自行到 Internet 上面去搜寻您的 distributions 的 APT Server 咯!至于如果您想要自行架设 APT 主机的话,请参考后续章节的 APT 服务器架设

VBird 的自动更新程序
重点回顾
参考资源
课后练习
Linux 网络套件升级

2002/08/02:第一次完成日期!
2003/06/29:加入自己写的自动更新 RPM 的 bash scripts 功能!
2003/07/01:重新编写一些内容介绍,此外,由于 Red Hat 6.x 有点老旧了,已经将 up2date 关于 Red Hat 6.x 以前的数据消除了!
2003/08/22:加入 Mandrake 的 urpmi 以及 APT Client 的设定方法


2002/08/02 以来统计人数


Designed by VBird during 2001-2004.  Aerosol Lab.