鳥哥的 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 的設定方法