您的位置:軟件測試 > 開源軟件測試 > 開源配置管理工具 > cvs
用cvsup同步源代碼并更新系統(tǒng)
作者:網(wǎng)絡轉(zhuǎn)載 發(fā)布時間:[ 2012/12/28 14:05:51 ] 推薦標簽:

用cvsup同步源代碼并更新系統(tǒng)
(以FREEBSD5_3 STABLE版為例)

  我們隨時都可以用cvsup與中央cvsup服務器,或它的某個鏡像同步自己FreeBSD機器上的全部源代碼。cvsup允許您一次獲取整個源碼集合,以后只取更改過的部分。許多人從cron運行cvsup,以保持他們的源碼自動更新。源代碼更新包含兩個部分,一是系統(tǒng)源代碼,二是ports樹的源代碼。
  對于系統(tǒng)源代碼,CVS(并行版本控制系統(tǒng))包含CURRENT版和STABLE版兩個樹。FreeBSD STABLE版系統(tǒng)源代碼的 cvsup配置文件是/usr/share/examples/cvsup/stable-supfile,該文件默認是升級所有的系統(tǒng)源代碼,一般情況只需改*default host項,讓cvsup到離我們近的cvsup鏡像服務器下載源代碼。ports樹的源代碼的cvsup配置文件是 /usr/share/examples/cvsup/ports-supfile,可根據(jù)自己的需要指定更新那些分支的源代碼。ports樹只有一個版本,不象系統(tǒng)源代碼有CURRENT版和STABLE版之分。為了保證源碼之間的依賴性好采用src-all和ports-all方式更新所有源碼。

1. 復制配置文件到/etc目錄(便于管理)

# cp /usr/share/examples/cvsup/ports-supfile /etc
# cp /usr/share/examples/cvsup/stable-supfile /etc
# chmod 755 /etc/ports-supfile
# chmod 755 /etc/stable-supfile

注:chmod 數(shù)字前加0代表目錄,不加0代表文件

2. 編輯配置文件

# vi /etc/stable-supfile
-------------------------------------------------
*default host=cvsup.FreeBSDchina.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_5_3
*default delete use-rel-suffix
*default compress
src-all
-------------------------------------------------


# vi /etc/ports-supfile
-------------------------------------------------
*default host=cvsup.FreeBSDChina.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
ports-all
-------------------------------------------------
 
注:
①default host=
  用來指定離我們近的cvsup鏡像服務器
②prefix=告訴 cvsup
  把接收的文件放在哪里,一般在/usr/src目錄里。
③*default base=/var/dbCVSup
  客戶端在被叫做 “base” 的目錄里維護了幾個狀態(tài)文件。這些文件幫助 CVSup 更有效的工作,通過跟蹤您已經(jīng)接收到哪些更新的方式。如果 base 目錄不存在,cvsup 客戶端會拒絕工作。
④tag=用來指定版本含義如下:
  tag=RELENG_3指定版本為:FreeBSD 3-STABLE
  tag=RELENG_4指定版本為:FreeBSD 4-STABLE
  tag=RELENG_5_3指定版本為:FreeBSD 5_3-STABLE
⑤*default release=cvs delete use-rel-suffix compress
  release=cvs 顯示服務器應該從 FreeBSD 的主 CVS 倉庫中獲取信??
  delete 給 CVSup 權(quán)限刪除文件。您應該總是指定它,這樣 CVSup 可以保證您的源代碼樹完全更新。CVSup 很小心的只刪除那些不再依賴的文件。您擁有的任何額外的文件會被嚴格的保留。
  use-rel-suffix 是 ... 不可思議的。 如果您真的想了解它,查看 cvsup(1) 手冊頁。否則,指定而不用擔心這個。
  compress 啟用 gzip 風格的信道壓縮。

⑥CVSup 文件 collection
  CVSup 可用的文件 collection 是分級組織的。有幾個大的 collection,然后它們有分成更小的子 collection。接收一個大的 collection 等同于接收它的每一個子 collection。 collection 的等級關(guān)系在下面列表中通過縮進的使用反映出來。常用的 collection 是 src-all,和 ports-all。其它的 collection 只被有著特定目的的小部分人使用,有些站點可能不全部支持。

cvs-all release=cvs (FreeBSD 主 CVS 倉庫,包含密碼系統(tǒng)的代碼)
 distrib release=cvs (FreeBSD 發(fā)行版本和鏡像相關(guān)的文件)
 doc-all release=cvs (FreeBSD 使用手冊和其它文檔的源代碼。其中不包含 FreeBSD web 站點的文件)
 ports-all release=cvs (FreeBSD Ports Collection)

  如果您不想升級全部的 ports-all(整個 ports 樹),而只是使用下面列出的一個子集,請確保您總是升級了 ports-base子collection!無論何時在 ports 構(gòu)建下層構(gòu)造有所改變的時候都會通過 ports-base 表現(xiàn)出來,因此,如果您只升級了“實際的”ports 而他們使用了一些新的特性,有極大的可能會因一些神秘的錯誤信息而編譯失敗。這種情況下,首先要做的事情是確保您的 ports-base 子 collection 更新到新。
  ports-archivers release=cvs (存檔工具)
  ports-astro release=cvs (天文相關(guān)的 ports)
  ports-audio release=cvs (聲音支持)
  ports-base release=cvs (Ports Collection 構(gòu)建下部構(gòu)造)
  位于 /usr/ports 的 Mk/ 和 Tools/ 子目錄的各種各樣的文件。無論您更新 Ports Collection 的任何部分的時候,您都應該同時更新這個子 collection。
  ports-benchmarks release=cvs (基準)
  ports-biology release=cvs (生物學)
  ports-cad release=cvs (計算機輔助設計工具)
  ports-chinese release=cvs (中文語言支持)
  ports-comms release=cvs (通信軟件)
  ports-converters release=cvs (字符編碼轉(zhuǎn)換)
  ports-databases release=cvs (數(shù)據(jù)庫)
  ports-deskutils release=cvs (計算機發(fā)明前常出現(xiàn)在桌面上的東西)
  ports-devel release=cvs (開發(fā)工具)
  ports-dns release=cvs (DNS 相關(guān)軟件)
  ports-editors release=cvs (編輯器)
  ports-emulators release=cvs (其它操作系統(tǒng)的模擬器)
  ports-finance release=cvs (貨幣,金融相關(guān)應用程序)
  ports-ftp release=cvs (FTP 客戶端和服務器端工具)
  ports-games release=cvs (游戲)
  ports-german release=cvs (德語支持)
  ports-graphics release=cvs (圖形圖像工具)
  ports-hungarian release=cvs (匈牙利語言支持)
  ports-irc release=cvs (Internet 多線交談(IRC)工具)
  ports-japanese release=cvs (日語支持)
  ports-java release=cvs (Java 工具)
  ports-korean release=cvs (韓國語言支持)
  ports-lang release=cvs (編程語言)
  ports-mail release=cvs (郵件軟件)
  ports-math release=cvs (數(shù)值計算軟件)
  ports-mbone release=cvs (MBone 應用程序)
  ports-misc release=cvs (雜樣工具)
  ports-multimedia release=cvs (多媒體軟件)
  ports-net release=cvs (網(wǎng)絡軟件)
  ports-news release=cvs (USENET 新聞軟件)
  ports-palm release=cvs (Palm? 系列軟件支持)
  ports-polish release=cvs (波蘭語支持)
  ports-portuguese release=cvs (葡萄牙語支持)
  ports-print release=cvs (打印軟件)
  ports-russian release=cvs (俄語支持)
  ports-security release=cvs (安全工具)
  ports-shells release=cvs (命令行 shell)
  ports-sysutils release=cvs (系統(tǒng)實用工具)
  ports-textproc release=cvs (文本處理工具(不包含桌面出版)。
  ports-vietnamese release=cvs (越南語支持)
  ports-www release=cvs (萬維網(wǎng)(WWW)相關(guān)軟件)
  ports-x11 release=cvs (支持 X window 系統(tǒng)的 ports)
  ports-x11-clocks release=cvs (X11 時鐘)
  ports-x11-fm release=cvs (X11 文件管理器)
  ports-x11-fonts release=cvs (X11 字體和字體工具)
  ports-x11-toolkits release=cvs (X11 工具包)
  ports-x11-servers (X11 服務器)
  ports-x11-wm X11 (窗口管理器)
 src-all release=cvs (FreeBSD 主代碼,包含密碼系統(tǒng)的代碼)
  src-base release=cvs (/usr/src 頂層的各式各樣的文件)
  src-bin release=cvs (單用戶模式下可能用到的用戶工具 (/usr/src/bin))
  src-contrib release=cvs (FreeBSD 項目之外的工具和庫,通常在 FreeBSD 中不作修改 (/usr/src/contrib))
  src-crypto release=cvs (FreeBSD 項目之外的 密碼系統(tǒng)工具和庫,通常在 FreeBSD 中不作修改 (/usr/src/crypto))
  src-eBones release=cvs (Kerberos 和 DES (/usr/src/eBones)。 沒有在當前的 FreeBSD 發(fā)行中使用)
  src-etc release=cvs (系統(tǒng)配置文件 (/usr/src/etc))
  src-games release=cvs (游戲 (/usr/src/games))
  src-gnu release=cvs (GNU 公共許可協(xié)議的工具 (/usr/src/gnu))
  src-include release=cvs (頭文件 (/usr/src/include))
  src-kerberos5 release=cvs (Kerberos5 安全包 (/usr/src/kerberos5))
  src-kerberosIV release=cvs (KerberosIV 安全包 (/usr/src/kerberosIV))
  src-lib release=cvs (庫文件 (/usr/src/lib))
  src-libexec release=cvs (通常被其它程序調(diào)用的系統(tǒng)程序 (/usr/src/libexec))
  src-release release=cvs (生成 FreeBSD 版本必需的文件 (/usr/src/release))
  src-sbin release=cvs (但用戶模式的系統(tǒng)工具 (/usr/src/sbin))
  src-secure release=cvs (密碼相關(guān)庫和命令 (/usr/src/secure))
  src-share release=cvs (跨多個平臺的共享的文件 (/usr/src/share))
  src-sys release=cvs (內(nèi)核 (/usr/src/sys))
  src-sys-crypto release=cvs (內(nèi)核密碼系統(tǒng)代碼 (/usr/src/sys/crypto))
  src-tools release=cvs (維護 FreeBSD 的各種各樣的工具 (/usr/src/tools))
  src-usrbin release=cvs (用戶工具 (/usr/src/usr.bin))
  src-usrsbin release=cvs (系統(tǒng)工具 (/usr/src/usr.sbin))
 www release=cvs (FreeBSD WWW 站點的源代碼)
distrib release=self (CVSup 服務器的配置文件,用于 CVSup 鏡像站點)
gnats release=current (GNATS bug 跟蹤數(shù)據(jù)庫)
mail-archive release=current (FreeBSD 郵件列表存檔)
www release=current (預處理過的 FreeBSD WWW 站點文件(不是源文件),用于WWW 鏡像站點。)

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd