CVSUP - 更新 Port Tree

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、參考






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 指令即可。