Fedora 10

2008年11月25日にFedora 10 正式版がリリースされました。
Fedora 10 Preview版(Fedora 9.93)での不具合がほとんどそのままの状態での時間切れリリースとなりました。
理由はともあれ(新機能開発に重点が置かれ?)、仮想化機能の不完全さ、XDMCPが動作しない等の諸問題がユーザを困惑させているようです。
※逆に言うと開発志向者にはいい教材になっているとも言えます。

ここでは主に以下の点について紹介してみます。

尚、今回使用したPCのハードウェア構成は以下の通りです。
・CPU:Core 2 Duo E6600
・メモリ:3GB
・VGAカード:nVIDIA GeForce 7600 GT


  1. 豊富なパッケージ
    Fedora 10をDVDから言語以外をフルインストールすると約4000パッケージがインストールされます。
    インストールだけでディスク容量が約20GB程消費されます。

  2. GDMでのrootログイン
    従来通りデスクトップのデフォルトはGNOMEですがgdm関連の考え方や実装方式が従来と異なっています。
    GDMではrootのログインが許可されていません(従来のgdmsetupもありません)。
    そこで以下のように設定ファイル(/etc/pam.d/gdm)を変更します(/etc/pam.d/loginは変更不要です)。
    $ su - root
    # vi /etc/pam.d/gdm
    「auth required pam_succeed_if.so user != root quiet」行を「auth required pam_succeed_if.so」に変更します。
    これでGDMでのrootログインが可能となります。

  3. XDMCPの利用
    Fedora 10では/etc/gdm/custom.confの[xdmcp]セクションでEnable=trueを指定してもXDMCP接続ができません。
    ※「netstat -lp|grep udp」での一覧にxdmcpが表示されません。
    暫定対策は以下の通りです。
    # wget http://ftp.riken.jp/Linux/fedora/development/source/SRPMS/gdm-2.24.0-12.fc10.src.rpm
    ※ダウンロードサイトは適当に読み替えます。
    # rpm -ivh gdm-2.24.0-12.fc10.src.rpm
    ※/root/rpmbuild/SOURCESに、gdmパッケージのベースとなるソース(gdm-2.24.0.tar.bz2)とそのパッチファイル群が展開されます。
    # vi /root/rpmbuild/SOURCES/xxx.patch ※パッチファイルの追加(xxx部分は適当な名称でOKです)。
    xxx.patchはgdm-manager.cとgdm-xdmcp-display-factory.cのパッチファイルです。
    その内容はhttp://bugzilla.gnome.org/show_bug.cgi?id=561396で公開されています。
    # vi /root/rpmbuild/SPECS/gdm.spec
    gdm.specにxxx.patchというパッチを適用することを追加指定します。
    # yum install audit-libs-devel PolicyKit-gnome-devel check-devel iso-codes-devel libxklavier-devel ※gdmのコンパイルに必要です。
    # rpmbuild -bb /root/rpmbuild/SPECS/gdm.spec
    ※本コマンドはパッチを適用してコンパイルし、バイナリパッケージファイルを作成し直すものです。
    # rpm -Uvh --force --nodeps /root/rpmbuild/RPMS/i386/gdm-2.24.0-12.fc10.i386.rpm /root/rpmbuild/RPMS/i386/gdm-user-switch-applet-2.24.0-12.fc10.i386.rpm
    # vi /etc/gdm/custom.conf
    [xdmcp]セクションに以下の1行を追加します(/etc/gdm/gdm.schemasのxdmcp/Enableの値はfalseのままでOKです)。
    Enable=true
    ここでリブートします。
    リブート後、「netstat -lp|grep udp」での一覧にxdmcpが表示されることを確認してXDMCP接続してみます。


  4. Compiz Fusion(0.7.6)
    (1)NVIDIAカーネルドライバの組み込み
    NVIDIAカーネルドライバはNVIDIAのサイトからNVIDIA-Linux-x86-vvv.pkg1.runをダウンロードして組み込みます(vvv部分はバージョン番号)。
    コンソールで以下のコマンドを実行してインストールを行います(カーネルモジュールとしてコンパイルしてnvidia.koを作成)。
    # sh NVIDIA-Linux-x86-vvv.pkg1.run
    ※/etc/X11/xorg.confが存在しなくてもNVIDIAカーネルドライバインストール中にxorg.confを自動生成できます。

    (2)Compiz Fusion関連パッケージのインストール
    # yum remove compiz-gnome compiz
    # yum install compiz-fusion compiz-fusion-gnome
    # yum install compiz-fusion-extras
    # yum install compiz-manager
    # yum install ccsm fusion-icon emerald emerald-themes
    # yum install compiz-devel
    # yum install compiz-bcop
    # yum install git

    (3)gridengineパッケージのアンインストール
    gridengineパッケージがインストールされているとそのパッケージに含まれる/usr/lib/libcore.soがCompiz Fusionの起動を阻害します。
    この現象はfusion-iconコマンドで確認できます。
    # fusion-icon &
    * Detected Session: gnome
    * Searching for installed applications...
    * NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING
    * Using the GTK Interface
    * Interface not installed
    ... Trying another interface
    * Using the Qt4 Interface
    * Starting Compiz
    ... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp
    compiz (core) - Error: dlsym: /usr/lib/libcore.so: undefined symbol: getCompPluginInfo20070830
    compiz (core) - Error: Couldn't load plugin 'core'
    compiz (core) - Fatal: Couldn't load core plugin
    Compiz Fusionを利用するためにはgridengineパッケージをアンインストールします。
    # yum remove gridengine

    (4)Compiz Fusion利用例
    (5)補足
    後述のPAEカーネルをネーティブ利用した環境でもkernel-PAE-develパッケージをしておくとPAE環境用NVIDIAカーネルドライバをビルドできます。
    更にそのPAE環境でもCompiz Fusionを利用できます。

  5. 仮想化機能
    Fedora 10標準のXen機能ではFedora 9同様にDomain0として動作させることはできません。
    またFedora 10のPVゲストカーネルもDomainUとして完全ブートできないという制限があります。