Get Gentoo Linux!

Gentoo Linux 2006.1 released, from LWN.

這次的比較大的改變是:

  • gcc 3.4.6 -> gcc 4.1.1
  • glibc 2.3.6 -> glibc 2.4
  • 安裝光碟現在支援 Sun T1000 和 T2000 用的 UltraSPARC T1 processor 和 PPC 的 dual-core G5 processor

如果已經裝 Gentoo 2006.0 以前的話, 那升級主要就是升 gcc 和 glibc. 要小心的是, 安裝 glibc 的過程一但出狀況, 事情會很複雜, 可能絕大部份的指令都不能用 (ls, bash, emerge and so on). 要特別注意.

glibc 2.4 預設已經 enable NPTL only, 所以 Gentoo 的 glibc 也不會採 NPTLLinuxThread 雙行的模式了, 因此沒有在 /etc/make.conf 中設 nptlonly 的 USE flag, 是沒辦法裝 glibc 2.4 的. 因為我之前就有設 nptlonly, 所以無法知道沒設的話 migration 會有甚麼問題.

根據 GWN 08/28/2006, 說要升級 gcc 要參考這篇 GCC Upgrading Guide. 那我的步驟大致如下:

(Do upgrade new version of gcc)
# emerge --sync
# emerge -uav gcc

(Select new version of gcc in current shell session)
# gcc-config i686-pc-linux-gnu-4.1.1
# source /etc/profile

(Very important Step!!)
# fix_libtool_files.sh 3.4.6
* Scanning libtool files for hardcoded gcc library paths...

* [1/4] Scanning /lib …
* [2/4] Scanning /usr/lib …
* FIXING: /usr/lib/libasprintf.la …[vl]
* FIXING: /usr/lib/libMagick++.la …[vl]
* FIXING: /usr/lib/libusbpp.la …[vl]
* FIXING: /usr/lib/libpcrecpp.la …[vl]
* FIXING: /usr/lib/libdb_cxx-4.2.la …[vl]
* [3/4] Scanning /usr/i686-pc-linux-gnu/lib …
* [4/4] Scanning /usr/local/lib …

(Rebuilding libtool)
# emerge --oneshot -av libtool

(Upgrade glibc to 2.4 and so on)
# emerge -eav system
# emerge -eav world

(remove the older gcc version)
# emerge -Ca `equery l gcc | grep 3.4`

這樣就可以把 gcc 從 gcc-3.4.6-r1 升到 sys-devel/gcc-4.1.1 (PS: I remove gcc-3.4.6-r1 here), sys-libs/2.3.6-r4 升到 sys-libs/glibc-2.4-r3 了.

題外話, 根據 DesktopLinux.com2006 Desktop Linux Market survey 訪問一萬五千個 Linux User 票選 most popular desktop of Linux 的結果如下:

  1. (29.2%) Ubuntu
  2. (12.2%) Debian
  3. (13.0%) openSUSE + SLED
  4. ( 9.6%) Gentoo
  5. ( 7.0%) Fedora
  6. ( 4.8%) Mandriva

God, Gentoo 竟然打敗 Fedora?! :p

Popularity: 30% [?]