系統安全這個課題似乎是網管這塊時常討論的問題,而統計數據
顯示多半的攻擊,來自於內部以及程式本身的漏洞造成,也就是
為什麼大家慣於更新套件,畢竟沒有人能保證系統的絕對安全。



使用 Linux並不代表完全沒有被攻擊的可能,管理者建制完成放
讓不管,還是有可能遭到入侵的,現在研究各平台入侵技巧的高
手也越來越厲害,而所有作業系統都是由大大小小的軟體組成,
假若恰好套件導致的漏洞未被修復,都有可能導致系統產生問題
,要排除問題也會更加辛苦。所以千萬別認為架設防火牆就沒問
題了,要是剛好防火牆這個套件出現了漏洞,又未更新套件,不
就擺明開著門讓別人進來嗎?所以各種平台的系統,還是得注意
維持套件一定的更新,特別是來自內部的攻擊。

當然,各位一定會問,及時更新套件就沒有問題嗎?在下不能說
沒有,至少會比沒有更新來得好,所以更新套件時,一定要特別
注意更新了哪些東西,套件會不會因相依性的關係,得安裝其他
rpm 的套件,進而影響了您在伺服器上 tarball套件的運作,這
些都得特別去小心注意。曾碰過更新完服務無法啟動,才發現更
新的同時,將設定檔一併清空瞬間停止服務的狀態,要是又沒定
期備份,肯定欲哭無淚。在下曾經的慘痛經驗,可是讓人吃足了
苦頭,值得各位再三注意,特別是那些非常重要且無法停機的伺
服器套件更新!

熟悉 RedHat Enterprise應該知道,若要更新企業版內的套件,
就得使用 up2date更新。自從 CentOS 推出後,yum 套件更新似
乎也為此提供解套方案,至於什麼是 CentOS 就請各位自行翻閱
此篇簡介,應該就能略知一二,以下介紹就是透過相同架構的作
業系統,進行套件的更新。

如果想用 up2date 更新套件,請參考這篇文章,Huckly 兄教學
寫得相當的清楚,相信也會對您有相當大的助益。


常有人問 yum 是怎樣的服務?簡單來說,排除了 RPM 屬性相依
的問題,能方便使用者自行執行套件安裝、升級的工作,套用各
位常用的 WindowsUpdate,就能明白說明這服務在做些什麼囉?


官方簡短的簡介更簡單說明了這項服務所帶來的便利性:

Yum is an automatic updater and package installer/remover for rpm systems.

It automatically computes dependencies and figures out what things should occur to install packages.
It makes it easier to maintain groups of machines without having to manually update each one using rpm.

Features include:

 * Multiple Repositories
 * Simple config file
 * Correct dependency calculation
 * Fast operation
 * rpm-consistent behavior
 * comps.xml group support, including multiple repository groups
 * Simple interface


重點提示:

提醒各位,如果各位按照以下步驟更新,重開機之後部分套件會
更新為 CentOS 的套件版本,這點請在更新前找台機器先行測試
,若無問題再轉至其他服務的伺服器上,避免發生不可預期的狀
況。雖說 RHEL4發布套件更新時 CentOS 也會同步更新,但還是
建議各位在安裝前評估過再執行,會比較恰當。



【透過 CentOS 輔助更新 RHEL AS4 Update 套件實做步驟】


◎ 請注意!以下安裝範例系統為 RHEL AS4 32 位元版本的作業系統 ◎


§ 匯入 RPM-GPG-KEY:

# rpm -import http://ftp2.tnc.edu.tw/pub1/centos/4/os/i386/RPM-GPG-KEY-centos4


§ 下載 yum 套件:

# wget http://ftp2.tnc.edu.tw/pub1/centos/4/os/i386/CentOS/RPMS/yum-2.4.3-3.el4.centos.noarch.rpm


§ 新增 yum 套件:

# rpm -ivh yum-2.4.3-3.el4.centos.noarch.rpm

error: Failed dependencies:
    python-elementtree is needed by yum-2.4.3-3.el4.centos.noarch
    python-sqlite is needed by yum-2.4.3-3.el4.centos.noarch
    urlgrabber is needed by yum-2.4.3-3.el4.centos.noarch
    yumconf is needed by yum-2.4.3-3.el4.centos.noarch


安裝 yum 套件時,會發現有些缺少一些必要性的相依套件,

此時順便將套件做些更新與安裝,即可順利使用 yum 作為更新套件工具。

Centos-yumconf 套件位置:
http://ftp2.tnc.edu.tw/pub1/centos/4/os/alpha/CentOS/RPMS/centos-yumconf-4-4.5.noarch.rpm

其餘套件至該連結即可取得:
http://ftp2.tnc.edu.tw/pub1/centos/4/os/i386/CentOS/RPMS/


§ 安裝 yum 所需的套件:

# rpm -ivh python-elementtree-1.2.6-5.el4.centos.i386.rpm
# rpm -ivh sqlite-3.3.6-2.i386.rpm
# rpm -ivh python-sqlite-1.1.7-1.2.1.i386.rpm
# rpm -ivh python-urlgrabber-2.9.8-2.noarch.rpm
# rpm -ivh centos-yumconf-4-4.5.noarch.rpm
# rpm -ivh yum-2.4.3-3.el4.centos.noarch.rpm


§ 先將 CentOS-Base.repo 備份

# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak


§ 編輯映射更新站台 (此範例是透過台南縣教育網路中心更新)

# vi /etc/yum.repos.d/CentOS-Base.repo

 [base]
 name=CentOS-$releasever - Base
 baseurl=http://ftp2.tnc.edu.tw/pub1/centos/4/os/$basearch/
 gpgcheck=1

 #released updates
 [update]
 name=CentOS-$releasever - Updates
 baseurl=http://ftp2.tnc.edu.tw/pub1/centos/4/updates/$basearch/
 gpgcheck=1

 #packages used/produced in the build but not released
 [addons]
 name=CentOS-$releasever - Addons
 baseurl=http://ftp2.tnc.edu.tw/pub1/centos/4/addons/$basearch/
 gpgcheck=1

 #additional packages that may be useful
 [extras]
 name=CentOS-$releasever - Extras
 baseurl=http://ftp2.tnc.edu.tw/pub1/centos/4/extras/$basearch/
 gpgcheck=1


§ 更新 RHEL AS 4

# yum update



【yum 指令列表】

 * 更新套件
  yum update

 * 安裝套件
  yum install

 * 升級套件
  yum upgrade

 * 移除套件
  yum remove

 * 清除暫存套件 /var/cache/yum
  yum clean

 * 列出所有套件
  yum list

 * 列出可更新套件
  yum list updates

 * 列出已安裝套件
  yum list installed

 * 檢查可更新套件名稱
  yum check-update

 * 列出所有套件資訊
  yum info

 * 列出可更新套件資訊
  yum info updates

 * 列出已安裝套件
  yum info installed

 * 列出已安裝但不在 Yum Repository 套件資訊
  yum info extras

 * 列出套件提供檔案清單
  yum provides

 * 某些套件不想透過 yum 更新

  # vi /etc/yum.conf

   於 [main] 加入不想更新的套件名稱

   exclude=kernel kernel-source


以上為在下實際安裝的經驗,重點步驟其實相當簡單,因而寫了
這篇筆記,希望往後碰到相同情形的朋友們,能更快取得各位的
需求,假如內部網路內有多台伺服器須更新,也建議您能在內部
架設 yum Server,減少對外網路頻寬的流量。


有任何經驗分享也歡迎各位一同討論、指教,謝謝!


※ 2008.04.12 問題排除補充說明:

    http://blog.pixnet.net/paul/post/16458237


※ 此篇文章同步發布於 Paul's Blog
            夢想的天空
            酷學園討論區
            鳥哥的 Linux 討論區


                          Paul

                       2007.11.17
arrow
arrow
    全站熱搜

    paul 發表在 痞客邦 留言(4) 人氣()