Upgrade FreeBSD from 9.2 to 10.0

剛剛在翻FreeBSD Man Pages的時候意外發現10.0開始的uname多了不同的參數

  • -K Write the FreeBSD version of the kernel.
  • -U Write the FreeBSD version of the user environment.

剛好手上有份程式需要取一些環境資訊,所以想來試試看加上這兩個參數實際的輸出結果,順便紀錄一下升級過程

確認目前系統已經升級到最新的狀態
# freebsd-update fetch install
開始進行升級動作
# freebsd-update upgrade -r 10.0-RELEASE
沒想到…

Looking up update.tw.FreeBSD.org mirrors… none found.
Fetching metadata signature for 9.2-RELEASE from update.tw.FreeBSD.org… done.
Fetching metadata index… done.
Inspecting system… done.

The following components of FreeBSD seem to be installed:
kernel/generic src/src world/base world/doc world/games world/lib32

The following components of FreeBSD do not seem to be installed:

Does this look reasonable (y/n)? y

Fetching metadata signature for 10.0-RELEASE from update.tw.FreeBSD.org… done.
Fetching metadata index… fetch: http://update.tw.FreeBSD.org/10.0-RELEASE/amd64/t/22ddc0a585da6d2e29a6745f3c8182f9e987049aa120a0d28bd0ae57aa3b5126: Not Found
failed.

試了兩三次還是一樣,本來以為台灣freebsd mirror沒有提供完整的鏡像,不過開瀏覽器連上http://update.tw.freebsd.org/10.0-RELEASE/amd64/t/看起來卻能連的到,不知道問題在哪~之前patch升級也都沒問題呀! 只好先把update server改回預設的設定(參考“設定FreeBSD update&ports&package使用local mirror server”),然後就可以了@@”

#freebsd-update upgrade -r 10.0-RELEASE
Looking up update.FreeBSD.org mirrors… 5 mirrors found.
Fetching metadata signature for 9.2-RELEASE from update2.freebsd.org… done.
Fetching metadata index… done.
Inspecting system… done.

The following components of FreeBSD seem to be installed:
kernel/generic src/src world/base world/doc world/games world/lib32

The following components of FreeBSD do not seem to be installed:

Does this look reasonable (y/n)? y

Fetching metadata signature for 10.0-RELEASE from update2.freebsd.org… done.
Fetching metadata index… done.
Fetching 1 metadata patches. done.
Applying metadata patches… done.
Fetching 1 metadata files… done.
Inspecting system… done.
Fetching files from 9.2-RELEASE for merging… done.
Preparing to download files… done.
Fetching 38462 patches…..10….20….30….40….50….60….70….80….90….100….110….120….130….140..
..150….160….170….180….190….200….210….220….230….240….250….260….270….280….290….

上面過程要等滿久的,可能一方面站台在國外的關係,總之等了很久,所以跑到一半就去吃飯了…

過程中可能會出現一些無法自動合併的更新,其實大部分都是comments的部分,很快就能處理好了

等這一段跑完就會出現提示訊息要跑一次freebsd-update install,這次跑完就可以做第一次重開機了

重開機後就重複最後兩個動作…再跑一次freebsd-update install,重開機…

開好之後檢查一下各service有正常起來,功能沒問題就可以先收工了~ (如果之前沒改用pkgng來館套件的話還要進行轉換就是了)

reference:
FreeBSD 10.0-RELEASE Installation Instructions