1、前言
CVSUP 為一套維持軟體原始碼和開發團隊的更新工具簡單來說就是套件管理工具,本篇為說明利用 CVSUP 來更新 Ports Tree。文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.安裝 cvsup 套件
步驟2.Ports Tree 相關檔案說明
步驟3.修改 Ports Tree 更新設定檔 (ports-supfile or make.conf)
步驟4.更新 Ports Tree
步驟5.更新 Ports Tree 訊息
步驟6.更新 Ports Tree Index
4、參考
5、Me FAQ
Q1.更新 Ports Tree 到一半出現錯誤訊息?
2、實作環境
- FreeBSD 5.3-RELEASE
- cvsup-without-gui-16.1h
3、安裝及設定
步驟1.安裝 cvsup 套件
切換至 Ports Tree 路徑安裝 cvsup套件。# cd /usr/ports/net/cvsup-without-gui/ //切換到安裝路徑
# 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.修改 Ports Tree 更新設定檔 (ports-supfile or make.conf)
修改 Ports Tree 更新設定檔方式有二種 (隨個人喜好擇一即可):修改 ports-supfile、修改 /etc/make.conf。方式一、修改 port-supfile
# cd /usr/share/examples/cvsup //路徑
# cp ports-supfile /usr/ //放到 /usr 下 (看你高興要放哪)
# cd /usr
# vi ports-supfile //修改原更新站台位置內容如下
default host CHANGE_THIS.FreeBSD.org //官方站台 (預設值)
default host cvsup.tw.freebsd.org //改為國內站台
方式二、修改 /etc/make.conf
#vi /etc/make.conf
SUP_UPDATE=yes
SUP=/usr/local/bin/cvsup
SUP=/usr/bin/csup
SUPFLAGS=-L 2
SUPHOST=cvsup.tw.FreeBSD.org
PORTSSUPFILE=/usr/share/examples/cvsup/ports-supfile
步驟4.更新 Ports Tree
方式一、配合修改 port-supfile 其更新 Ports Tree 方式如下:# cd /usr //切換路徑
# rehash //才不會出現指令無效訊息 (csup: Command not found.)
# csup -L 2 ports-supfile //開始更新 Ports Tree
方式二、配合修改 /etc/make.conf 其更新 Ports Tree 方式如下:
# cd /usr/ports //切換路徑
# make update //開始更新 Ports Tree
步驟5.更新 Ports Tree 訊息
執行更新 Ports Tree 指令後可以看到更新的站台及 Ports Tree 版本及哪些檔案被更新、刪除,更新 Ports Tree 完成後可查看 /usr/ports/UPDATING 檔案了解更新 Ports Tree 日期即相關資訊 (例如: 升級某套件需注意的事項...等)。若看到下列訊息則代表更新 Ports Tree 途中因為某些因素中斷了更新,再執行一次指令更新 Ports Tree 吧。
Suspended
若看到以下訊息則代表 Ports Tree 更新完畢。
Shutting down connection to server
Finished successfully
步驟6.更新 Ports Tree Index
更新 Ports Tree 完畢之後請執行下列指令 (隨個人喜好擇一即可) 來更新 Ports Tree 的 Index 檔 (索引檔)。# cd /usr/ports ; make fetchindex //方法一
# portsdb -Uu //方法二
4、參考
- FreeBSD Handbook - A.6 Using CVSup
- FreeBSD Chinese HOWTO-保持最新的 Ports Tree
- FreeBSD CVSUP servers in Taiwan updating status report
5、Me FAQ
Q1.更新 Ports Tree 到一半出現錯誤訊息?
Error Message:更新 Ports Tree 到一半時出現如下錯誤訊息?
TreeList failed: Error in "/usr/sup/ports-all/checkouts.cvs:.": 155109: Missing "#" in mode.
Delete it and try again.
Ans:
將 checkouts.cvs 這個檔刪除後在執行一次更新 Ports Tree 指令即可。