1、前言
Csup - a rewrite of CVSup in C,csup 為 mux@FreeBSD.org 利用 C 語言重新改寫原本以 Modula-3 語言寫的 CVSup,作者目前進度寫到客戶端來更新階段 (相信滿足大多數人的需要) 此外 csup 計劃日後可望也會跟 portsnap 一樣進入 Base System 內,而 csup 使用方法大致與原先的 cvsup-without-gui 一樣並且 csup 更新速度快,不用像原本的 cvsup 需要較久的等待,而且安裝 cvsup 時還需要安裝 ezm3 (相依關係) 且操作方式跟使用 cvsup 一樣,本篇為說明利用 csup 來更新 Ports Tree。本篇為說明利用 csup 更新系統安全性更新 (Security Patch)。下列為更新系統安全性更新 (Security Patch) 操作步驟,其中第二、三步驟指令可簡化為 make kernel (配合/etc/make.conf) 即可。
- 編譯所有的系統程式 (make buildworld)
- 編譯新的系統核心 (make buildkernel)
- 安裝新的系統核心 (make installkernel)
- 安裝新的系統程式 (make installworld)
文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.安裝 csup 套件
步驟2.Ports Tree 相關檔案說明
步驟3.修改 Main Source Tree 更新設定檔 (stable-supfile)
步驟4.下載 Security Patch
步驟5.下載 Security Patch 更新訊息
步驟6.更新 Security Patch
4、參考
2、實作環境
- FreeBSD 6.x-RELEASE
- csup-20060223_1
3、安裝及設定
若您使用的是 FreeBSD 6.2-RELEASE 或之後的版本可直接跳到步驟三,因為 csup 在這些版本中已進入 Base System (內建於系統) 所以不用進行步驟1及步驟2來另外安裝。步驟1.安裝 csup 套件
切換至 Ports Tree 路徑安裝 csup 套件。# cd /usr/ports/net/csup //切換到安裝路徑
# make install clean //安裝套件並清除暫存檔案
步驟2.Ports Tree 相關檔案說明
以下是更新相關檔案所需使用到的 Ports Tree 檔案說明 (/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 //改為國內站台
*default release=cvs tag=RELENG_6 //預設值
*default release=cvs tag=RELENG_6_0 //修改後
步驟4.下載 Security Patch
在更新 Security Patch 以前為了避免因為系統時間不準確而造成之後執行 make 指令時可能會失敗?我們先以 ntpdate 指令來進行網路對時。# ntpdate -s watch.stdtime.gov.tw
更新 Security Patch 方式有二種 (隨個人喜好擇一即可):修改 stable-supfile、修改 /etc/make.conf
方式一、修改 stable-supfile 其更新 Security Patch 方式如下:
# cd /usr/share/examples/cvsup //切換路徑
# csup -L 2 stable-supfile //開始更新
方式二、修改 /etc/make.conf 其更新 Security Patch 方式如下:
# 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
步驟6.更新 Security Patch
若您的系統為 FreeBSD 4.x 或 FreeBSD 5.1、5.2 那麼您只要執行如下一行指令即可打完收功 (也就是一行指令搞定編輯 / 安裝系統程式、系統核心)。- 編譯所有的系統程式 (make buildworld)
- 編譯新的系統核心 (make buildkernel)
- 安裝新的系統核心 (make installkernel)
- 安裝新的系統程式 (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 6.0-RELEASE-p7