站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

CVSUP-更新 Security Patch

前言

[CVSUP] 為一套維持軟體原始碼和開發團隊的更新工具簡單來說就是套件管理工具,本篇為說明利用 [CVSUP] 來更新 Ports Tree。本篇為說明利用 [CVSUP] 更新系統安全性更新 (Security Patch)

下列為更新系統安全性更新 (Security Patch) 操作步驟,其中第二、三步驟指令可簡化為 make kernel (配合/etc/make.conf) 即可。

  1. 編譯所有的系統程式 (make buildworld)
  2. 編譯新的系統核心 (make buildkernel)
  3. 安裝新的系統核心 (make installkernel)
  4. 安裝新的系統程式 (make installworld)

實作環境

安裝及設定

步驟1.安裝 cvsup 套件

切換至 Ports Tree 路徑安裝 cvsup 套件

 #cd  /usr/ports/net/cvsup-without-gui/    //切換到安裝路徑 
 #make install clean                       //安裝套件並清除安裝過程中產生不必要檔案

步驟2.Ports Tree 相關檔案說明

以下是更新相關檔案所需使用到的 Ports Tree 檔案說明

 #cd /usr/share/examples/cvsup/     //路徑
 cvs-supfile                        //更新 Main source tree and ports collection
 doc-supfile                        //更新 Document
 gnats-supfile                      //更新 FreeBSD bug database
 ports-supfile                      //更新 Ports collection
 stable-supfile                     //更新 Main source tree
 standard-supfile                   //更新 Main source tree
 www-supfile                        //更新 FreeBSD 官方網頁 

步驟3.修改 Main Source Tree 更新設定檔 (stable-supfile)

修改 stable-supfile 內容

 #cd /usr/share/examples/cvsup            //路徑
 #vi stable-supfile                       //修改原更新站台位置內容如下
 *default host=CHANGE_THIS.FreeBSD.org    //官方站台 (預設值)
 *default host=cvsup.tw.freebsd.org       //改為國內站台交大資工如此下載速度較快 (還有cvsup1 ~ 13 都可使用)      
 *default release=cvs tag=RELENG_5        //預設值
 *default release=cvs tag=RELENG_5_4      //修改後,(FreeBSD 5.4 Release) 只有安全性更新會進入這個 Branch 的 Source Code

步驟4.下載 Security Patch

在更新 Security Patch 以前為了避免因為系統時間不準確而造成之後執行 make 指令時可能會失敗?我們先以 ntpdate 指令來進行網路對時

 #ntpdate -s watch.stdtime.gov.tw

更新 Security Patch 方式有二種 (隨個人喜好擇一即可):更改 stable-supfile、更改 /etc/make.conf

 #cd /usr/share/examples/cvsup                     //切換路徑
 #rehash                                           //才不會出現指令無效訊息 (cvsup: Command not found.)
 #csup -L 2 stable-supfile                         //開始更新 
 #vi /etc/make.conf
 KERNCONF=XEON                                     //指定要編譯的核心設定檔名稱
 SUP_UPDATE=yes                                    //自動呼叫 csup 更新
 SUP=/usr/local/bin/csup                           //指定 csup 的程式路徑
 SUPFLAGS=-L 2                                     //採用的 csup 參數
 SUPHOST=cvsup.tw.FreeBSD.org                      //指定 csup 的主機網址
 SUPFILE=/usr/share/examples/cvsup/stable-supfile  //指定使用哪一個 supfile 範本

修改完 /etc/make.conf 後即可鍵入如下指令來執行更新 Security Patch

 #cd /usr/src ; make update

步驟5.下載 Security Patch 訊息

執行更新 Security Patch 指令後可以看到更新的站台及 Security Patch 版本及哪些檔案被更新、刪除,更新 Security Patch 完成後可查看 /usr/src/UPDATING 檔案了解更新 /usr/src/UPDATING 編號 (-px) 及相關資訊 (例如: 修正哪些安全性更新...等)

若看到下列訊息則代表更新 Security Patch 途中因為某些因素中斷了更新,再執行一次指令更新 Security Patch 吧

 Suspended

若看到以下訊息則代表 Ports Tree 更新完畢

 Shutting down connection to server
 Finished successfully

步驟5.更新 Security Patch

若您的系統為 FreeBSD 4.x 或 FreeBSD 5.1、5.2 那麼您只要執行如下一行指令即可打完收功 (也就是一行指令搞定編輯 / 安裝系統程式、系統核心)

  1. 編譯所有的系統程式 (make buildworld)
  2. 編譯新的系統核心 (make buildkernel)
  3. 安裝新的系統核心 (make installkernel)
  4. 安裝新的系統程式 (make installworld)
 #cd /usr/src 
 #make world kernel    //適用於 FreeBSD 4.x
 #make kernel world    //適用於 FreeBSD 5.1、5.2
 #reboot 

若您的系統為 FreeBSD 5.3 或之後的版本則因為 make world 必須分開執行 (否則將出現錯誤訊息),所以請執行如下指令 (詳細內容請參考 /usr/src/Makefile)

 #cd /usr/src
 #make buildworld kernel             //等於 make buildworld + make buildkernel + make installkernel
 #reboot
 #make installworld
 #reboot

編輯 / 安裝系統程式及系統核心後,當系統重新開機完成後請鍵入如下指令即可發現 FreeBSD 之後多出了 -px

 #uname -a
 FreeBSD 5.4-RELEASE-p8

參考

[FreeBSD Handbook - A.6 Using CVSup]

[chinsan - FreeBSD 版號後面的 p 與 # 意思]

[ chinsan - 新式的更新方式 csup]

[FreeBSD 使用手冊 - 21.4 重新編譯 world]

[雄的 FreeBSD 筆記‧系統升級 make world]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com