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

#應(yīng)用程序編譯選項

WANT_HUGE_STACK_SIZE=yes
## 為Python代碼的應(yīng)用程序提供巨大的Stack。

WITH_GDM=yes
## 為某些窗口管理器提供GDM鏈接。

WITHOUT_MAILNEWS=yes
## 取消Mozilla的郵件新聞功能,加快編譯時間。

WITHOUT_COMPOSER=yes
## 取消Mozilla的網(wǎng)頁編輯功能,加快編譯時間。

WITHOUT_LDAP=yes
## 取消Mozilla的LDAP功能,加快編譯時間。

WITHOUT_CHATZILLA=yes
## 取消Mozilla的IRC聊天功能,加快編譯時間。

WITHOUT_XMLTERM=yes
## 取消Mozilla的XML終端功能,加快編譯時間。

#WITH_RTC=yes
## 為某些應(yīng)用程序提供實時時鐘支持,但可能會造成某些多媒體程序不穩(wěn)定。

WITH_GLX=yes
## 為某些應(yīng)用程序提供GLX加速繪圖支持。

WITH_TTF_BYTECODE_ENABLED=yes
## 為某些應(yīng)用程序提供雙字節(jié)支持。

WITH_OPTIMIZED_CFLAGS=yes
WITH_OPTIMIZED_CXXFLAGS=yes
WITH_OPTIMIZE=yes
## 盡量使用更高級編譯優(yōu)化

 

4.3 更新 /etc 里邊的文件
  某些“make installworld”的安裝需要特定的用戶名或用戶組存在。在升級時,有可能這些用戶或組不存在,會在升級過程中出錯。解決辦法是檢查 /usr/src/etc/group 并把它的組列表與您的進行比較。如果在新文件里有而您的文件里沒有的,把它們復(fù)制過來。同樣地,您把 /etc/group 里的任何這樣的組進行更名---與 /usr/src/etc/group 中有相同 GID,但不同名的那些。

4.3.1備份 /etc里的文件
  將該目錄備份到其他目錄如/home/root,以便升級遇到問題時恢復(fù)系統(tǒng)配置。

4.3.2 用mergemaster 比較、合并、編輯配置文件
  mergemaster是升級你的配置文件用的,它幫助你把新系統(tǒng)的配置文件與你原來的(舊的)配置文件合并,或替換,或不改變原配置文件。升級完系統(tǒng)后應(yīng)該用mergemaster升級配置文件的,要不然可能會引發(fā)問題。當然你可以不用mergemaster,自己手工搞定這些配子文件。 在第一次使用時,如果早期的 mergemaster 版本不支持 -p 的話,使用源碼樹中的新版本:
# cd /usr/src/usr.sbin/mergemaster
# ./mergemaster.sh -p

mergemaster的用法:
#mergemaster -p
#make installworld
#mergemaster -i

  -i是安裝新文件而不詢問。是說如果舊系統(tǒng)中沒有該文件話的,直接安裝而不詢問?鏡ELEASE升級的時候非常有用。
-p檢測 /etc 和 /usr/src/etc 源碼樹里邊的配置文件的不同點。通過 -p 選項以預(yù)建 (pre-buildworld) 模式運行 mergemaster(Cool。 這樣只是比較那些對于成功執(zhí)行 buildworld 或installworld 起關(guān)鍵作用的文件。
  ?----是全部更新。
  merge是文件合并,將為您打開一個文本編輯器,里邊是兩個文件的內(nèi)容。您現(xiàn)在可以一邊合并它們,一邊在屏幕里查看,同時從兩者中選取部分生成終文件。當兩個文件一起比較時,l 鍵會選擇左邊的內(nèi)容, r 會選擇右邊的。終的輸出是由兩個部分組成的一個文件,用它可以安裝了。這個選項通常用于用戶修改了設(shè)置的文件。merge之后需要選左、右的內(nèi)容 (l, r),后按i安裝,當然如果搞錯了可以按r重來,但如果i錯了后果比較悲慘了。

  操作實例:
  原來存在文件1,現(xiàn)在升級后有一個新版本是文件2,問你如何操作?有三個選擇:安裝(i),刪除(d),合并(m)。
文件1的內(nèi)容:
第1 行
第2 行
第3 行
文件2的內(nèi)容:
第2 行
第3 行
第4 行
按i鍵即安裝,是不要文件1了,用新文件2覆蓋文件1;
按d鍵即刪除,是說刪除新的文件2,保留舊的文件1;
按m鍵即合并,合并是自己整合兩個文件,得到文件3。
文件3的內(nèi)容:
第1 行(直接取文件一)
第2 行(由用戶選取文件一或文件二中對應(yīng)的行)
第3 行(由用戶選取文件一或文件二中對應(yīng)的行)
第4 行(直接取文件二)


4.4 在單用戶模式下編譯安裝系統(tǒng)
  在單用戶模式下能處理的更快,并保證編譯重要的系統(tǒng)文件時不出錯。從運行的系統(tǒng)里,以超級用戶方式執(zhí)行:
# shutdown now
這樣會轉(zhuǎn)換到單用戶模式。
  另外也可以,重啟系統(tǒng),在啟動提示符處,輸入 -s 標識。系統(tǒng)會啟動單用戶。再在 shell 提示符處執(zhí)行:
# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
  這會檢查文件系統(tǒng),重新裝載 / 為讀/寫,參考 /etc/fstab 裝載其它所有的 UFS 文件系統(tǒng),然后打開交換 (swapping) 開關(guān)。
  Note: 如果您的 CMOS 時鐘是設(shè)置為本地時間,而不是 GMT (如果 date(1) 命令輸出不能顯示正確的時間和地區(qū)也有確有其事), 您可能也需要執(zhí)行下邊的命令:
# adjkerntz -i
  這樣可以確定您正確的本地時區(qū)設(shè)置--不這樣做,您以后可能會碰到一些問題。

4.5 刪除先前 build 留下的殘余(如果以前build過系統(tǒng))
# chflags -R noschg /usr/obj/usr
# rm -rf /usr/obj/usr
  刪除/usr/obj這個目錄,可以加快“make buildworld”的過程,并且省下與依賴關(guān)系有關(guān)的許多頭痛的事情。/usr/obj 下的有些文件可能設(shè)置了不可改 (immutable) 屬性(查看 chflags(1) 了解更多), 您必須用這個命令: # chflags -R noschg /usr/obj/usr 把這些標志去掉。
# cd /usr/src
# make cleandir
# make cleandir
不錯,make cleandir 要執(zhí)行兩次。

4.6 保存編譯輸出
  把執(zhí)行 make(1) 后得到的輸出存成一個文件。如果什么地方出了錯,您會有個錯誤信息的備份。簡單的辦法是使用 script(1) 命令,同是帶上參數(shù)指定存放輸出的文件名。您應(yīng)在重建系統(tǒng)之前立即這樣做,然后在過程完成時輸入 exit。
# script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
# make TARGET
... compile, compile, compile ...
# exit
Script done, ...

4.7 編譯基本系統(tǒng)
  在/usr/src目錄里邊
# cd /usr/src
# make -j4 buildworld

注:
-j4:有至多4個進程在同一時刻執(zhí)行,加快編譯速度。多CPU機器可用6到10之間的值。
buildworld:編譯源碼,在 /usr/obj 下邊建立了一個全新的樹。

4.8 編譯和安裝新內(nèi)核
  如果您想建立一個定制內(nèi)核,而且已經(jīng)有了配置文件,只需象這樣使用 KERNCONF=MYKERNEL:
# cd /usr/src
# make -j4 buildkernel KERNCONF=MYKERNEL
# make -j4 installkernel KERNCONF=MYKERNEL

4.9 重啟動系統(tǒng)
#shutdown -r now

4.10 安裝新系統(tǒng)
# make -j4 installworld


4.11 編譯安裝系統(tǒng)流程:(建議在單用戶模式下進行)
# make -j4 buildworld
# make -j4 buildkernel
# make -j4 installkernel
#mergemaster -p
#make -j4 installworld
#mergemaster -i
# reboot

  啟動到單用戶模式可用# shutdown now命令或重新啟動系統(tǒng),在提示符處使用 boot -s,進入單用戶模式。

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