去小惡魔學園沒找到, 只好自己翻譯一下, 和原版有些出入, 加上一些自己的理解, 有誤還請指出
英文原版file:///usr/share/doc/en/books/handbook/makeworld.html
注意事項
* 備份系統, 備份一下總不至於吃虧
* 訂閱對應郵件列表, 希望你的英文不至於太差, 在對應郵件列表上貼上你問題的描述, 描述清楚出現的問題及受影響的系統
STABLE: [email protected]
CURRENT: [email protected]
升級步驟(假設你已經同步到要升級的代碼)
1. 讀一下/usr/src/UPDATING, 上面由一些你可能需要注意的事項, 一定要讀一下, 但並不代表這一定比從郵件列表上得到的信息有用, 所以推薦訂閱郵件列表
2. 檢查/etc/make.conf, 查看/etc/make.conf和/etc/default/make.conf的不同之處, /etc/default/make.conf中包含一些缺省定義, 不過大部分都被註釋掉了, 可以考慮把它們加入到/etc/make.conf中, 不過要記得/etc/make.conf所有的make命令都起作用
3. 更新/etc下的文件, /etc下存放配置和啓動腳本, 有些文件在不同的版本中是不同的, 所以需要進行更新, 從FreeBSD 開始可以在編譯前使用命令 mergemaster 加上 -p 選項. 它將檢查爲了正常運行buildworld和installworld而需要更新的文件, 命令如下:
# cd /usr/src/usr.sbin/mergemaster
# ./mergemaster.sh -p
4. 進入單用戶模式, 避免多用戶系統帶來的文件升級不成功問題, 還有一種方法就是在多用戶模式下編譯, 單用戶下升級安裝, 命令如下
# shutdown now
重啓後使用boot -s 進入單用戶模式
# fsck -p
# mount -u /
# mount -a -t ufs
# swapon -a
加入升級前系統使用本地時間而沒有使用GMT, 必須打入命令
# adjkerntz -i
調整時區等設置, 保證系統的正常安裝
5. 移除/usr/obj
# cd /usr/obj
# chflags -R noschg *
# rm -rf *
6. 編譯
a 保存編譯輸出, 注意不要存在/tmp目錄下, /tmp下的文件可能在重啓後被清除
# script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
# make TARGET
... compile, compile, compile ...
# exit
Script done, ...
b 編譯
# cd /usr/src
# make -j4 -DNOPROFILE buildworld #或者在/etc/make.conf加上NOPROFILE=true
FreeBSD 2.2.5後make world分成make buildworld和make installworld, 注意這裏只作make buildworld
c 耗時: PIII500/128M RAM大約需要2個鐘頭左右
7. 編譯安裝新內核
# cd /usr/src
# make buildkernel
# make installkernel
編譯使用GENERIC配置的內核, 推薦編譯一個, 以免以後編譯內核後無法使用新內核啓動沒有make installworld前定製編譯新內核使用下面的命令
# /usr/obj/usr/src/usr.sbin/config/config KERNELNAME
8. 以新內核重啓到單用戶模式
9. 升級系統, 注意要使用和make buildworld使用的-D選項, 並且絕對不能使用-j選項
# cd /usr/src
# make installworld
假如編譯時:
# make -DNOPROFILE=true buildworld
安裝時就應該:
# make -DNOPROFILE=true installworld
10. 升級那些沒有被make world升級的文件, 如/etc下的文件, 可以使用mergemaster或者手工升級, 這一點請參見mergemaster的手冊, 在升級前建議備份/etc目錄.
11. 更新/dev 通常使用mergemaster, 就會重建/dev, 或使用命令 sh MAKEDEV 建立
12. 更新/stand
# cd /usr/src/release/sysinstall
# make all install
13. 再次重啓
# fastboot
14. 結束升級, 加入有些程序無法運行的話可以重新編譯安裝, 例如
# cd /usr/src/usr.bin/file
# make all install
FreeBSD makeworld的過程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
開源協議許可證 區分圖
因CooCox用戶數及影響力越來越大,CooCox團隊也逐漸提高了對軟件及代碼協議的重視。在收集整理的過程中,一些歸納好的信息和大家分享一下
平淡中的乐趣
2020-07-04 02:11:42
使用Jail虛擬多個服務器主機
使用FreeBSD已經很多年了,這麼久FreeBSD總是在不斷的給我驚喜。就如這裏我們所要談到的Jail,正是FreeBSD在4.x版本中開始提供的一
freebyu
2020-06-27 00:33:19
將FreeBSD移到一個新的硬盤
freebyu
2020-06-27 00:33:19
openbsd+pf配置
freebyu
2020-06-27 00:33:19
Using the Ports Collection
123
2020-06-26 10:18:12
理解幾個Linux版本概念:BSD、SunOS、Mach、TOPS-20
Quant_Learner
2020-06-16 07:22:59
BSD/Linux, machine time affect network program
Yew1168
2020-05-17 01:56:58
FreeBSD+XFCE4+Paper-Theme
Yew1168
2020-05-07 01:52:43
用rdesktop鏈接windows的遠程桌面
enjoyo
2020-02-25 23:33:34
FreeBSD國內FTP,CVSUP,WWW鏡像
enjoyo
2020-02-25 23:33:34
爲NetBSD添加新硬盤
enjoyo
2020-02-25 23:33:34
smbftpd 使用 MySQL 進行虛擬使用者的身份認證
123
2020-02-25 22:35:58
第二部分:防病毒、垃圾郵件:clamav+amavisd-new+spam
freebyu
2020-02-25 21:26:49