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

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

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

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

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

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

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

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

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

#WITH_RTC=yes
## 為某些應(yīng)用程序提供實(shí)時(shí)時(shí)鐘支持,但可能會(huì)造成某些多媒體程序不穩(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
## 盡量使用更高級(jí)編譯優(yōu)化

 

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

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

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

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

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

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


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

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

4.6 保存編譯輸出
  把執(zhí)行 make(1) 后得到的輸出存成一個(gè)文件。如果什么地方出了錯(cuò),您會(huì)有個(gè)錯(cuò)誤信息的備份。簡(jiǎn)單的辦法是使用 script(1) 命令,同是帶上參數(shù)指定存放輸出的文件名。您應(yīng)在重建系統(tǒng)之前立即這樣做,然后在過(guò)程完成時(shí)輸入 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個(gè)進(jìn)程在同一時(shí)刻執(zhí)行,加快編譯速度。多CPU機(jī)器可用6到10之間的值。
buildworld:編譯源碼,在 /usr/obj 下邊建立了一個(gè)全新的樹(shù)。

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

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

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


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

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

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