はじめに

このドキュメントには以下の課題の説明があります:

  • インストール関連の注記

  • 技術プレビュー

  • 既知の問題

  • 全般情報

  • 国際化

  • カーネル情報

Red Hat Enterprise Linux 4.92 に関して、このリリースノートに間に合わなかった最新情報については、以下の URL にある Red Hat Knowledgebase を参照して下さい:

http://kbase.redhat.com/faq/topten_105_0.shtm

インストール関連の注記

次のセクションでは、Red Hat Enterprise Linux のインストール及び Anaconda インストールプログラムに特定の情報を説明します。

注記

既にインストール済みの Red Hat Enterprise Linux をアップグレードするには、Red Hat Network を使用して変更のあったパッケージを更新する必要があります。

Anaconda (アナコンダ)を使用して Red Hat Enterprise Linux 4.92 の新規インストールをするか、又は、Red Hat Enterprise Linux 4 の最新の更新バージョンから Red Hat Enterprise Linux 4.92 へとアップグレードを実行することもできます。

Red Hat Enterprise Linux 4.92 CD-ROM の内容をコピーしている場合(例えば、ネットワークベースのインストールの準備をしている場合等)、オペレーティングシステム用の CD-ROM のみをコピーすることに注意して下さい。補助ディスク(Supplementary CD-ROM)やレイヤード製品(layered product)の CD-ROM はコピーしないで 下さい。これらの CD-ROM は Anaconda の正常な動作に必要なファイルを上書きしてしまいます。これらの CD-ROM は Red Hat Enterprise Linux をインストールした 後に インストールして下さい

Note that the minimum RAM required to install Red Hat Enterprise Linux 4.92 has been raised to 1GB; the recommended RAM is 2GB. If a machine has less than 1GB RAM, the installation process may hang.

ISO コンテンツと登録

Red Hat Enterprise Linux 4.92 内のメディアキットのアーキテクチャは、Red Hat Enterprise Linux の以前のバージョン以降に 変更されています。その互換種と ISO イメージの数は二つに減少しました:

  • Red Hat Enterprise Linux 4.92 サーバー

  • Red Hat Enterprise Linux 4.92 クライアント

このツリーには、コアディストリビューション上に追加の機能を提供する数多くのオプション用のレポジトリが含まれています:

Red Hat Enterprise Linux 4.92 サーバー

  • Red Hat Enterprise Linux — デフォルトの多目的サーバーオペレーティングシステムであり、最大 4 台までの 仮想インスタンスのサポートを持つ仮想化を含んでいます。

  • Red Hat Enterprise Linux 仮想化プラットフォーム — クラスタリングとクラスタストレージを含んだ データセンターの仮想化オペレーティングシステム

Red Hat Enterprise Linux 4.92 クライアント

  • Red Hat Enterprise Linux デスクトップ — 知識業種用デスクトップ製品

  • ワークステーションオプション — エンジニアリング/開発ワークステーション用の 追加オプション

  • Virtualization Option — add-on option for virtualization support

同じツリー、又は ISO イメージ内にオプションコンテンツがあるため、インストール用に 提供されているコンポーネンツとサブスクリプション(購読)に含まれるコンポーネンツの 不一致を避けることが大切です。そのような不一致は、バグへの露呈や脆弱性リスクを 増大してしまいます。

提供されているコンポーネンツが購読と同期していることを確認する為に、Red Hat Enterprise Linux 4.92 は、 正しいパッケージセットを提供する為のインストーラ設定に使うインストール番号 の入力を要求します。

インストール番号の入力を無視すると、コアサーバー又は、デスクトップのインストールに なります。その場合、追加の機能は後で、手動で追加することができます。

使用できるデフォルトの番号は :

サーバー

  • Red Hat Enterprise Linux (Server ): 31cfdaf1358c25da

  • Red Hat Enterprise Linux (Server + Virtualization): 2515dd4e215225dd

  • Red Hat Enterprise Linux 仮想化プラットフォーム: 49af89414d147589

クライアント

  • Red Hat Enterprise Linux デスクトップ: 660266e267419c67

  • Red Hat Enterprise Linux Desktop / Virtualization Option: fed67649ff918c77

  • Red Hat Enterprise Linux デスクトップ / ワークステーションオプション: da3122afdb7edd23

  • Red Hat Enterprise Linux Desktop / Workstation / Virtualization Option: 7fcc43557e9bbc42

Subversion

Red Hat Enterprise Linux 4.92 では、Subversion バージョンコントロールシステムが Berkeley DB 4.3 にリンクされています。Red Hat Enterprise Linux 4 からのアップグレードで、Subversion のいずれかのレポジトリが、Berkeley DB backend "BDB" (純粋なファイルシステムベースの"FSFS" バックエンドではなく)を使用するシステム上に作成された場合には、特別な注意を払ってそのレポジトリがアップグレード後にアクセス可能であることを確実にする必要があります。このプロセスは Red Hat Enterprise Linux 4.92 にアップグレードする 前に、Red Hat Enterprise Linux 4 システム上で実行しなければなりません:

  1. 実行中のプロセスは全て停止して、いかなるプロセスもレポジトリにアクセスできないことを確認します(例えば、httpdsvnserve;又は、直接アクセスを持つローカルユーザー)。

  2. レポジトリのバックアップを作成します;例えば次のようにします:

    
    svnadmin dump /path/to/repository | gzip 
    > repository-backup.gz
                                    
  3. レポジトリで svnadmin recover コマンドを実行します:

    
    svnadmin recover /path/to/repository
                                    
  4. レポジトリ内の使用しないログファイルを全て削除します:

    
    svnadmin list-unused-dblogs /path/to/repository | xargs rm -vf
                                    
  5. レポジトリ内の残りの共有メモリファイルを全て削除します:

    
    rm -f /path/to/repository/db/__db.0*
                                    

技術プレビュー

技術プレビューとは現在サポートのない機能です。しかし、将来のリリースで利用可能になります。その説明にある機能はテストすることができますが、技術プレビューで提供されているサポートは最優先のセキュリティ問題に関する errata だけです。

開発の全期間を通じて、技術プレビューへの追加の部分がテスト用に公開されるようになるでしょう。Red Hat の意図は、将来のマイナー及びメジャーなリリース内で技術プレビューを完全にサポートすることです。

Stateless Linux (ステートレス Linux)

Red Hat Enterprise Linux 4.92 のこのベータバージョンに含まれているのは、ステートレス Linux 用のインフラストラクチャを有効にする機能です。ステートレス Linux はシステムがいかに実行され、管理されるべきかに関する新しい考え方です。大規模システムの交換を簡潔化することにより、その provisioning(供給) と management(管理) を簡単にするようにデザインされています。これは基本的には、多数のステートレスシステムに渡って複製と管理を得るように準備されたシステムイメージを確立することにより、 達成できるものであり、オペレーティングシステムを読み込み専用で実行します。

現在の開発状態では、ステートレス機能は意図する目標のサブセットです。その意味で、その能力は「技術プレビュー」としてのラベル付き状態です。

以下に Red Hat Enterprise Linux 4.92 のベータ版に含まれている初期機能のリストを示します:

  • NFS 上でステートレスイメージを実行

  • loopback over NFS を経由してステートレスイメージを実行

  • iSCSI 上で実行

変更がマスターサーバから同期化されているローカルファイルシステム上でのステートレス Linux の実行は、現時点ではカーネルの変更が必要になる為、可能ではありません。

ステートレスコードのテストに興味のある方は、http://fedoraproject.org/wiki/StatelessLinuxHOWTO にある HOWTO を読まれ、そして stateless-list@redhat.com に参加されるよう推奨されます。

GFS2

GFS2 は GFS ファイルシステムをベースにした発展的な改訂を遂げています。完全に機能するのですが、GFS2 はまだ製造準備が出来ていない状態です。このリリースでは、五年間製造されていた GFS が提供されており、非クラスターデータファイルシステム用(root と 起動は除く)と、そしてクラスターインフラストラクチャが存在する場合に、共有ストレージ上でのクラスターファイルシステム設定内で完全サポートがあります。 GFS2 は今後の Red Hat Enterprise Linux 4.92 の更新で完全なサポート付きのステータスになるように目標設定されています。また、臨時の変換ユーティリティ gfs2_convert が存在しており、これが GFS ファイルシステムのメタデータを更新して、GFS2 ファイルシステムに変換するようにします。

FS-Cache

FS-Cacheは、リモートファイルシステム用のローカル キャッシング機能です。これにより、ユーザーはローカルでマウントされたデスクの NFS データをキャッシュすることが可能になります。FS-Cache 機能を設定するには、 cachefilesd RPM をインストールして、/usr/share/doc/cachefilesd-<version>/README にある案内を参照して下さい。

<version>を、インストール済みの cachefilesd の該当するバージョンで入れ換えます。

Compiz

Compiz は OpenGL ベースの合成ウィンドウマネージャです。通常のウィンドウ管理に加えて、compiz は、合成マネージャとしても動作します。この役目では、compiz はデスクトップの全体的な再描写を統合して同期化し、ちらつきの少ない安定感のあるスムーズなデスクトップを提供します。

Compizは、3D ハードウェアアクセラレーションを使用して、ライブサムネイルウィンドウやウィンドウドロップシャドウや、更には仮想デスクトップ間のアニメ化したウィンドウ最小化と移動などの効果を描写します。

現在の描写アーキテクチャの限界のため、compizは、直接的に描写用 OpenGL アプリケーションや Xv 拡張を使用するアプリケーションでは正しく動作できません。このようなアプリケーションは、無害な誤描写を提示するでしょう。この理由でこの機能には現在完全なサポートはありません。

Ext3 用の拡張

Red Hat Enterprise Linux 4.92 では、EXT3 ファイルシステムの容量は 8TB から最大 16TB まで 拡張されました。この機能は技術プレビューとして含まれており、将来の Red Hat Enterprise Linux 4.92 では完全サポートを目標としています。

既知の問題

  • bind アップグレードエラー:bind をアップグレードしている時に、No such file or directory と言う エラーが出る可能性があります。これは、インストール順序のバグであり、GA 前には対処される 予定です。回避策は、root としてログインし、/usr/sbin/bind-chroot-admin --enable (bind-chroot パッケージをインストールしている場合)、または /usr/sbin/bind-chroot-admin --sync(caching-nameserver パッケージをインストールしている場合)を実行します。

  • caching-nameserver アップグレードエラー:caching-nameserver をアップグレードする時に、ログが invalid context エラーを表示する可能性があります。これは、 selinux-policy パッケージの依存関係問題が原因であり、GA 前には対処される予定です。回避策は、root としてログインし、/usr/sbin/bind-chroot-admin --sync を実行します。

  • カーネルモジュールパッケージ(kmods) は、kernel-devel とその対応するカーネルパッケージの両方がインストールされているシステム上に構築される場合に、kABI 依存関係を持ってのみ構築可能です。その為、現在はアンインストールしたカーネルに対して kABI 強化の kmods を構築することは出来ません。この制限は GA 以前に対応されることになります。

  • MegaRAID ドライバーを使用するホストバスアダプターは、"I2O"エミュレーションモードではなく、 "Mass Storage"エミュレーションモードで稼動する必要があります。これを実現するには、以下のステップを実行します:

    1. MegaRAID BIOS 設定ユーティリティに入ります。

    2. アダプター設定メニューに入ります。

    3. 他のアダプターオプションの下で、エミュレーションを選択して、それを Mass Storage にセットします。

    アダプターが間違えて"I2O" エミュレーションにセットされている場合、システムは i2o ドライバーをロードしようと試みます。これは失敗して、アダプターは操作不能になります。

    以前の Red Hat Enterprise Linux リリースは全般的に、MegaRAID ドライバーの前に I20 ドライバーを ロードしようとはしません。それでも、Linux で使用する場合にはハードウェアは、 常に "Mass Storage" エミュレーションモードにセットすべきです。

  • ext3 / jbd カーネルパニック : ブロックサイズがページサイズよりも小さいファイルへの 重い I/O は jbd がクラッシュする原因になる可能性があります。

    この問題については今、調査中です。GA では解決されているでしょう。

  • 仮想化ゲストインストールエラー; eth1 上でデフォルトのイーサネット接続をもつシステムに paravirt ゲストをインストールすると、No Driver Found の エラーが出ます。これの回避策は、eth0 をデフォルトのイーサネット接続としてセットすることです。

    この問題については今、調査中です。GA では解決されているでしょう。

  • Anaconda incorrectly selects vesa driver: when Red Hat Enterprise Linux 4.92 is installed in text-only mode on a system with a geforce 5200-based video card, the vesa driver will be selected. This is incorrect, and will cause the screen to go blank once you run system-config-display. This issue will be resolved in GA.

    To work around this, open xorg.conf and change the line Driver "vesa" to Driver "nv".

  • Virtualization paravirt guest installation failure: attempting to install a paravirt guest on a system where SELinux is enabled will fail. This issue is being investigated and will be resolved in GA.

    To work around this, turn off SELinux before installing a paravirt guest.

  • Virtualization guest boot bug: when you install a fully virtualized guest configured with vcpus=2, the fully virtualized guest may take an unreasonably long time to boot up. This issue is being investigated and will be resolved in GA.

    To work around this, disable the guest ACPI by using the kernel parameters acpi=strict or acpi=static for the virtualized kernel during grub boot.

  • X Display Server crashes with virtualized kernel: when booting with the virtualized kernel, the X server will crash upon startup. This issue is being investigated and will be resolved in GA.

    To work around this, edit /etc/X11/xorg.conf by adding the following line in the ServerLayout section:

    
    Option        "Int10Backend"        "<mode>"        
                    

    Replace <mode> with either vm86 (the default when running a bare Linux kernel) or x86emu (when running a virtualized kernel). This will allow runtime selection of the int10 execution method.

全般情報

このセクションでは、本リリースノートの他のセクションに特定しない全般事項について説明します。

Virtualization (仮想化)

Red Hat Enterprise Linux 4.92 には、仮想化環境を管理する為に必要なソフトウェアインフラストラクチャと 共に i686 及び x86-64 用の 仮想化機能が統合されています。

Red Hat Enterprise Linux 4.92 での仮想化の実装は hypervisor を基にしています。 これは paravirtualization を通じて極めてオーバーヘッドの低い仮想化を実現します。Intel Virtualization Technology 又は、 AMD AMD-V 対応のプロセッサと共に、Red Hat Enterprise Linux 4.92 の仮想化により、オペレーティングシステムは未修正のまま完全仮想モードで 実行することができます。

Red Hat Enterprise Linux 4.92 の仮想化は以下のような特長も持ちます:

  • Libvirt: 仮想マシン用の一定したポータブル API を提供するライブラリです。

  • 仮想マシンマネージャ: 仮想マシンの監視と管理用のグラフィカル ユーティリティ。

  • 仮想マシンをキックスタートできる能力を含むインストーラでの仮想マシンサポートをします。

Red Hat Network では、仮想マシンもサポートしています。

ウェブサーバパッケージへの変更

Red Hat Enterprise Linux 4.92 には今回、Apache HTTP サーバのバージョン 2.2 が格納されています。このリリースは、2.0 シリーズに対して以下を含む数多くの改善をもたらします:

  • キャッシングモジュールの改善 (mod_cachemod_disk_cachemod_mem_cache)

  • 認証と権限サポート用の新しい構造で、以前のバージョンで提供されていた認証モジュールと入れ換えになります。

  • プロキシロードバランシング (mod_proxy_balancer) 用サポート

  • 32-bit プラットフォームでの大容量のファイル処理サポート(2GB 以上)

デフォルトの httpd 設定に以下の変更がなされました:

  • mod_cern_metamod_asis modulesは現在デフォルトではロードされません。

  • mod_ext_filter モジュールが今回、デフォルトでロードされます。

以前のリリースの Red Hat Enterprise Linux からアップグレードをしている場合は、 httpd 設定を httpd 2.2 用に更新する必要があります。その詳細情報に関しては、 http://httpd.apache.org/docs/2.2/upgrading.html を参照して下さい。

サードパーティモジュール

httpd 2.0 用にコンパイルされたサードパーティのモジュールはいずれも、httpd 2.2 用に 再度ビルドし直す必要があります。

php

PHP のバージョン 5.1 は今回 Red Hat Enterprise Linux 4.92 に収納されており、かなりのパフォーマンス向上と共に言語への数種の変更が含まれています。この新しいバージョンを使用する際には、幾つかのスクリプトを修正する必要があるかも知れません。PHP 4.3 から PHP 5.1 への移行に関する詳細情報については以下のリンクを参照して下さい:

http://www.php.net/manual/en/migration5.php

/usr/bin/php 実行ファイルは今回は CGI SAPI ではなく、 CLI command-line SAPI を使用してビルドされています。CGI SAPI には /usr/bin/php-cgi を使用して下さい。php-cgi 実行ファイルは、FastCGI サポートも 含んでいます。

以下の拡張モジュールが追加されています:

  • MySQL 4.1 用に特別にデザインされた新しいインターフェイス、mysqli 拡張。これは、php-mysql パッケージ内に含まれています。

  • date, hash, Reflection, SPL 及び SimpleXML (php パッケージ内に埋め込み)

  • pdo 及び pdo_psqlite (php-pdo パッケージ内)

  • pdo_mysql (php-mysqlパッケージ内)

  • pdo_pgsql (php-pgsqlパッケージ内)

  • pdo_odbc (php-odbc パッケージ内)

  • soap (php-soap パッケージ内)

  • xmlreaderxmlwriter (php-xml パッケージ内)

  • dom (php-xmlパッケージ内の domxml 拡張の入れ換え)

以下の拡張モジュールは今回から含まれていません:

  • dbx

  • dio

  • yp

  • overload

  • domxml

PEAR Framework

PEAR framework は、今回 php-pear パッケージ内に収納されています。 以下の PEAR コンポーネントのみが Red Hat Enterprise Linux 4.92 に含まれています:

  • Archive_Tar

  • Console_Getopt

  • XML_RPC

カーネル ABI 依存関係追跡を持つ kmod カーネルモジュールパッケージを構築

Red Hat Enterprise Linux 4.92 では、現在のカーネル ABI バージョンに依存し、特定のカーネル リリース番号に依存しない、更新したカーネルモジュールパッケージを構築することが できます。これにより、単独リリースにではなく、幅広い Red Hat Enterprise Linux 4.92 カーネルに対して、 使用できるカーネルモジュール構築を可能にします。http://www.kerneldrivers.org/にあるプロジェクトのウェブサイトには、 数種の例を挙げたパッケージプロセスに関する詳細情報が含まれています。

暗合化したスワップパーティションと非 root ファイルシステム

Red Hat Enterprise Linux 4.92 は今回、暗号化したスワップパーティションと非-root ファイルシステム用の基本サポートを提供します。この機能を使用するには、/etc/crypttab に適切なエントリを追加して、/etc/fstab に作成されたデバイスを参照するようにします。

以下にサンプルの /etc/crypttab エントリを示します:

my_swap /dev/hdb1 /dev/urandom swap,cipher=aes-cbc-essiv:sha256
                        

これは暗合化したブロックデバイス /dev/mapper/my_swap を作成し、それは /etc/fstab の中で参照できます。

ファイルシステムボリューム用のサンプル /etc/crypttab エントリを以下に示します:

my_volume /dev/hda5 /etc/volume_key cipher=aes-cbc-essiv:sha256
                        

/etc/volume_key ファイルには、平文の暗号鍵が含まれています。鍵のファイル名として none を指定することもできます。そうすると、システムは、代わりに起動時に暗号鍵を要求してきます。

ファイルシステムボリュームの設定には LUKS の使用が推奨されます。これを行なうには次のステップに従います:

  1. cryptsetup luksFormat を使用して暗合化したボリュームを作成します。

  2. /etc/crypttabに必要なエントリを追加します。

  3. cryptsetup luksOpen(又は、再起動)を使用して、手動で ボリュームをセットアップします。

  4. 暗合化したボリューム上にファイルシステムを作成します。

  5. /etc/fstabへ必要なエントリを追加します。

mount と umount

mountコマンドとumountコマンドは、今では 直接には NFS をサポートしません。埋め込みの NFS クライアントがもう存在しないからです。 この為、/sbin/mount.nfs/sbin/umount.nfsの両ヘルパーを提供する独立した nfs-utils パッケージをインストールする 必要があります。

CUPS プリンターの閲覧

ローカルサブネット上での CUPS プリンターの閲覧は、グラフィカルツール system-config-printer を使用して設定できます。これは、CUPS ウェブインターフェイスである http://localhost:631/ を使用しても実行できます。

サブネット間でのプリンターの閲覧用に方向指定ブロードキャストを使用するには、クライアントで /etc/cups/cupsd.conf を開き、BrowseAllow @LOCALBrowseAllow ALL に変更します。

国際化

このセクションには Red Hat Enterprise Linux 4.92 にある言語サポートに関する情報が含まれています。

入力方法

SCIM (Smart Common Input Method) が、このリリースではアジア言語とその他の言語用に入力メソッドシステムとして IIIMF に入れ換わります。デフォルトの SCIM 用 GTK 入力メソッドモジュールは、scim-bridgeで提供されており、Qt では、scim-qtimmで提供されています。

以下に異る言語に対するデフォルトのホットキー設定を示します:

  • 全ての言語: Ctrl-Space

  • 日本語: 全角-半角 又は Alt-`

  • 韓国語: Shift-Space

SCIM がインストールされている場合、全てのユーザーに対してデフォルトで実行されます。

言語インストール

SCIM は殆んどのアジア系インストールにはデフォルトでインストールされます。そうでない場合は、パッケージマネージャ (pirut)を使用して、"Languages"コンポーネントを使用するか、又は次のコマンドを使用して追加の言語サポートをインストールすることができます:


su -c 'yum groupinstall <language>-support'
                        

上記のコマンドでは、 <language>Assamese, Bengali, Chinese, Gujarati, Hindi, Japanese, Kannada, Korean, Malayalam, Marathi, Oriya,Punjabi, Sinhala, Tamil, Thai, あるいは Teluguの いずれかになります。

im-chooser

im-chooser と呼ばれる新しいユーザー設定が追加されています。これにより、デスクトップの入力メソッドの使用を簡単に有効/無効に出来るようになります。そのため、SCIM がインストールされていても、それをデスクトップで実行したくない場合は、im-chooser を使用して無効にできます。

xinputrc

X の起動時に、xinput.sh は、今回は ~/.xinput.d//etc/xinit/xinput.d/ の下で設定ファイルを捜すのではなく、~/.xinputrc/etc/X11/xinit/xinputrc を供給源にします。

Firefox 内の Pango サポート

Red Hat Enterprise Linux 4.92 の Firefox は Pango でビルドされています。これは、インド系や CJK (日本、中国、韓国)言語スクリプトなどのような特定のスクリプトにより良いサポートを提供します。

Pango の使用を無効にするには、Firefox を起動する前に使用中の環境で MOZ_DISABLE_PANGO=1 をセットします。

フォント

今回、太字フェースを持たない太字合成(synthetic emboldening)の太字用サポートが使用できます。

中国語用の新しいフォントが追加されました:AR PL ShanHeiSun Uni (uming.ttf) と AR PL ZenKai Uni (ukai.ttf) です。デフォルトのフォントは AR PL ShanHeiSun Uni で、これには、埋め込み型のビットマップが含まれています。アウトライン glyphs を好む場合は、~/.font.conf ファイルに以下セクションを追加すると使用できます :

<fontconfig>
 <match target="font">
   <test name="family" compare="eq">
     <string>AR PL ShanHeiSun Uni</string>
   </test>
   <edit name="embeddedbitmap" mode="assign">
     <bool>false</bool>
   </edit>
 </match>
</fontconfig>                                
                        

gtk2 IM サブメニュー

Gtk2 コンテキストメニュー IM サブメニューは、今回からデフォルトでは出て来ません。 コマンドラインで以下のコマンドを発行してそれを有効にできます:


gconftool-2 --type bool --set '/desktop/gnome/interface/show_input_method_menu' true
                        

CJK 言語でのテキストインストールへのサポート

CJK (中国語、日本語、韓国語)描写サポートは Anaconda テキストインストールから 削除されています。GUI インストール、VNC 及びキックスタート手法の優先により、 テキストインストール法は無視されることになりました。

gtk2 スタック

以下のパッケージは無用となり、Red Hat Enterprise Linux では削除の予定です:

  • gtk+

  • gdk-pixbuf

  • glib

これらのパッケージが無用になるのは、国際化とフォント処理に関して、特により良い機能を提供する gtk2 が優先されるからです。

CJK input on console

If you need to display Chinese, Japanese, or Korean on the console, you need to setup a framebuffer. To do this, install bogl and bogl-bterm, and run bterm on the framebuffer. Note that the kernel framebuffer module depends on the graphics chipset in your machine.

カーネル情報

このセクションでは、2006年7月12日時点に於ける 2.6.9 (Red Hat Enterprise Linux 4 が準処)と 2.6.18 (Red Hat Enterprise Linux 4.92 が継承)の相異について記述しています。現在アップストリームで作業していて、その後 2.6.18 又は 2.6.19 に出現する追加の特性 (例:仮想化)はここでは、明示していません。言い換えると、このリストはアップストリームの Linus ツリーに既に含まれているものを示すのみで、開発中のものは示していません。そのため、期待できる物の充分な総評を与えていますが、このリストは新しい Red Hat Enterprise Linux 4.92 特性の最終版とか、完全版ではありません。また、このセクションはアップストリームでの変更のハイライトを抽出していると言う意味では、これは総括的でもありません。幾つかの低レベルハードウェアサポート拡張やデバイスドライバ情報は言及していません。

以下により詳しい説明を表示するためのソースを示します:

http://kernelnewbies.org/LinuxChanges

パフォーマンス/スケーラビリティ
  • Big Kernel Lock preemption (2.6.10)

  • Voluntary preemption patches (2.6.13) (Red Hat Enterprise Linux 4 内のサブセット)

  • futexes 用の軽量ユーザースペース優先度継承 (priority inheritance)(PI)のサポート。リアルタイムアプリケーションに役立ちます (2.6.18)

  • 新しい 'mutex' locking primitive (2.6.16)

  • 高解像度タイマー (2.6.16)

    • kernel/timer.c に実装されている低解像度タイムアウト API と対照的に、hrtimers は システム設定とその能力によっては、更にきめ細かい解像度と正確性を提供します。これらの タイマーは、現在、itimers、POSIX timers、nanosleep、precise in-kernel timing など に使用されています。

  • モジュラー、オンザフライスイッチ切り替え I/O スケジューラ (2.6.10)

    • これは、Red Hat Enterprise Linux 4 内でのブートオプションでのみ調節可能でした。(そして、キュー単位ではなく、システム全域でした)。

  • 新しいパイプ実装 (2.6.11)

    • パイプバンド幅内での 30-90% のパフォーマンス向上

    • 巡回バッファ(circular buffer)により、書き込みをブロックするよりも多くのバッファリングが可能です。

  • "Big Kernel Semaphore": Big Kernel Lock を semaphore に 転換

    • 長いロック維持時間を破ること、及び随意のプリエンプション(preemption)で遅延を低減

  • X86 "SMP 代替物"

    • 利用可能なプラットフォームに従い、ランタイム時にシングルカーネルイメージを最適化

    • 参照: http://lwn.net/Articles/164121/

  • カーネルヘッダーパッケージ

    • glibc-kernheadersパッケージを入れ換えます

    • 2.6.18 カーネルの新しい headers_install 機能で、より良い適合性を提供します。

    • 注目すべきカーネルヘッダー関連の変更:

      • <linux/compiler.h> ヘッダーファイルの削除。役割が終了しました。

      • _syscallX() マクロの削除: ユーザースペースは、代わりに C ライブラリの syscall() を使用する必要があります。

      • <asm/atomic.h> 及び <asm/bitops.h>ヘッダーファイルは削除されています。C コンパイラーが ユーザースペースにはより適したそれ自身の埋め込み atomic 機能を持っています。

      • 以前に #ifdef __KERNEL__ で保護されていたコンテンツは今回、 unifdef ツールで完全に削除されました。ユーザースペースに可視であってはいけない部分を表示する為の__KERNEL___の定義はもはや効果がありません。

      • ページサイズの変化の為に PAGE_SIZE マクロが幾つかの アーキテクチャから削除されています。ユーザースペースは sysconf (_SC_PAGE_SIZE)getpagesize() を使用する 必要があります。

    • ユーザースペースにより良い適合性を与えるため、幾つかのヘッダーファイルとヘッダーコンテンツを 削除しています。

汎用特性の追加

  • kexec と kdump (2.6.13)

    • netdump は、kexeckdump に入れ換わっており、これで速い起動と診断の為の 信頼でるカーネル vmcores の作成を確実にします。詳細情報と設定法案内には、usr/share/doc/kexec-tools-<version> /kexec-kdump-howto.txt を参照して下さい。(<version> はインストールしている kexec-tools パッケージの該当するバージョン番号で入れ換えます)

  • inotify (2.6.13)

    • この為のユーザーインターフェイスは以下の syscall を経由して行なわれます: sys_inotify_initsys_inotify_add_watch、及び sys_inotify_rm_watch

  • Process Events Connector (2.6.15)

    • forkexec、 id 変更を報告してから、 ユーザースペースの全てのプロセス用のイベントを終了します。

    • これらのイベントが役立つと思われるアプリケーションには、経理/監査(例:ELSA)、システム活動監視(例:top)、セキュリティ、リソース管理(例:CKRM) などがあります。Semantics は per-user-namespace、"files as directories"、そして versioned filesystems のような特性の為にその土台を提供します。

  • 汎用 RTC (RealTime Clock) サブシステム (2.6.17)

  • splice (2.6.17)

    • 新しい I/O メカニズムであり、アプリケーション間でデータを転送している時にデータの複製を防止します。(2.6.17)

    • 参照: http://lwn.net/Articles/178199/

  • Block queue IO tracing (blktrace) サポート。これにより、ユーザーはブロックデバイスキューで発生しているトラフィックを表示することができます。これで、使用中のディスクが実行していることの詳細統計を表示することができます。(2.6.17)

ファイルシステム / LVM

  • EXT3

    • ext3 ブロック予約 (2.6.10) (Red Hat Enterprise Linux 4 内)

    • ext3 オンラインサイズ変更パッチ (2.6.10) (Red Hat Enterprise Linux 4 内)

    • ext3 で、大容量の inode の本体内で拡張属性の為のサポート: スペースを節減し 幾つかのケースではパフォーマンスを向上します。(2.6.11)

  • デバイスマッパーマルチパスサポート (Red Hat Enterprise Linux 4)

  • NFSv3 と NFSv4 用 ACL サポート (2.6.13)

  • NFS: ワイヤー上で大量読み込みと書き込みをサポート (2.6.16)

    • Linux NFS クライアントは今回、1MB までの転送サイズをサポートします。

  • FUSE (2.6.14)

    • ユーザースペースプログラムで、完全に機能するファイルシステムの実装を可能に します

  • VFS 変更

  • Big CIFS 更新 (2.6.15)

    • Kerberos と CIFS ACL のサポートに加えて、幾つかのパフォーマンス向上を特長とします。

  • autofs4 ユーザースペース utofs 用のダイレクトマウントサポートを提供する更新(2.6.18)

  • cachefs core enablers (2.6.18)

セキュリティ

  • アドレス空間のランダム化

    • これらのパッチが適用されると、各プロセスのスタックはランダムな場所で開始して、mmap() 用に使用されているメモリの先頭部分(共有ライブラリ、その他が行く場所)もランダム化されます(2.6.12)

  • SELinux (2.6.12) 用 マルチレベルセキュリティの実装

  • 監査サブシステム

    • プロセスコンテキストベースフィルタリング用のサポート (2.6.17)

    • より多い filter rule comparators (2.6.17)

  • TCP/UDP getpeersec: セキュリティ認知のアプリケーションを有効にして、特定の TCP か UDP ソケットが使用している IPSec セキュリティ関連付けのセキュリティコンテキストを取り込みます (2.6.17)

ネットワーキング

  • 数種の TCP congestion モジュール (2.6.13) の追加

  • IPv6: 数種の新規 sockopt をサポート / Advanced API 内の附随データ (2.6.14)

  • IPv4/IPv6 UFO (UDP Fragmentation Offload) Scatter-gather アプローチ (2.6.15)

    • UFO は、Linux カーネルネットワークスタックが大容量 UDP データグラムの IP 断片化機能をハードウェアにオフロードする機能です。これは、大容量 UDP データグラムの断片化でのスタックのオーバーヘッドを MTU サイズのパケットに減少します。

  • nf_conntrack サブシステム (2.6.15) の追加

    • netfilter 内に既存の接続追跡サブシステムは ipv4 しか処理できません。ipv6 用の接続追跡サポートを追加するには二つの選択肢がありました。ipv4 の接続追跡コードの全てを ipv6 の対応物に複製すること、又は、ipv4 と ipv6 の両方を処理できる汎用レイヤーをデザインして、1つのサブプロトコル(TCP、UDP など)接続追跡ヘルパーモジュールの書き込みだけが必要になるようにすることです(これらのパッチでの選択肢)。実際、 nf_conntrack はどんなレイヤー3 プロトコルとでも機能する能力をもっています。

  • IPV6

    • RFC 3484 準処ソースアドレス選択 (2.6.15)

    • ルータ参照 (RFC4191) 用サポートの追加 (2.6.17)

    • Router Reachability Probing (RFC4191) の追加 (2.6.17)

  • Wireless の更新

    • Hardware crypto と fragmentation offload のサポート

    • QoS (WME) サポート、 "wireless spy サポート"

    • 混合 PTK/GTK

    • CCMP/TKIP サポート及び WE-19 HostAP サポート

    • BCM43xx wireless ドライバ

    • ZD1211 wireless ドライバ

    • WE-20、Wireless Extensions (2.6.17)のバージョン 20

    • ハードウェア非依存ソフトウェア MAC レイヤー、 "Soft MAC" (2.6.17)の追加

    • LEAP 認証タイプの追加

  • generic segmentation offload (GSO) (2.6.18)の追加

    • ethtoolを通じて有効にする必要がありますが、幾つかのケースでは、 パフォーマンスが向上します。

  • 旧式のパケットコントロールに入れ換わる、SELinux への追加のパケット別アクセス コントロールです。

  • コアネットワーキングへ secmark サポートが追加されて、セキュリティサブシステムはネットワークパケット上にセキュリティマークを配置することが出来るようになります。(2.6.18)

  • DCCPv6 (2.6.16)

追加のハードウェアサポート

注記

このセクションでは、殆んどの汎用機能とその他を多く枚挙しています。

  • x86-64 clustered APIC サポート (2.6.10)

  • Infiniband サポート (2.6.11) (大部分は Red Hat Enterprise Linux 4 内)

  • ホットプラグ

    • 汎用メモリの追加/削除とメモリホットプラグ(2.6.15)用のサポート機能の追加

    • 新しいプロセッサの物理的追加用のホットプラグ CPU サポート(既存の CPU に対するホットプラグの無効/有効機能はすでにサポートがあります)。

  • ハードウェアサポートの追加: SATA/libata (Red Hat Enterprise Linux 4 内)

    • libata エラー処理が完全に再構成されました。この再構成の結果として、より強健な SATA サブシステムとなり、幅広いエラーからの回復が期待できます。

    • ネイティブコマンドキューイング:Native Command Queuing (NCQ)。タグ付きコマンドキューイングの SATA バージョンです。 - これは同時に 1つのドライブに対する複数の I/O 要求を待機させる機能です。 (2.6.18)。

    • Hotplug サポート (2.6.18)

  • EDAC サポート (2.6.16) (Red Hat Enterprise Linux 4 内)

    • EDAC の目的は、コンピュータシステム内で発生するエラーを検出して報告することです。

  • Intel(R) I/OAT DMA engine (2.6.18) 用の新しい ioatdma ドライバが追加されます

NUMA (Non-Uniform Memory Access) / マルチコア

  • Cpusets (2.6.12)

    • Cpusets は今回、CPU の集合体とメモリノードの集合体をタスクの集合に割り当てるメカニズムを提供します。Cpusets は タスクの CPU とメモリの配置をタスクの現在の cpuset 内のリソースのみに制限します。大規模システム上で動的作業配置を管理するには、 この様な設定が基本となります。

  • NUMA-aware slab allocator (2.6.14)

    • これは、複数ノード上にスラブ(slab)を作成して、割り当てる場所が最適化できるようにスラブを管理します。各ノードは、部分スラブ、開放スラブ、そして完全スラブのリストを個別に持ちます。各ノード用の全てのオブジェクト割り当ては、ノード特定のスラブリストから出されます。

  • Swap migration (2.6.16)

    • Swap migration により、物理的なページ位置をプロセスの実行中に NUMA システムのノード間で移動することが可能になります。

  • Huge pages (2.6.16)

    • 大容量ページ用の NUMA ポリシーサポートが追加されました: メモリポリシーレイヤー内の huge_zonelist() 機能は NUMA 距離によって順序のついたゾーンの リストを提供します。hugetlb レイヤーはそのリストを見て廻り、利用できる大容量ページを持ち、且つ現在の cpuset の nodeset 内にあるゾーンを探します。

    • Huge pages は今回、cpusets に従います

  • ゾーン別 VM カウンター

    • ゾーンベースの VM 統計値を提供します。これはメモリーゾーンの状態を決定するために 必要となります。

  • Netfilter ip_tables: NUMA-aware allocation. (2.6.16)

  • マルチコア

    • コア間共有キャッシュを持つマルチコアを担当する新規のスケジューラドメインが追加されました。これにより、より賢明な cpu スケジュールが可能となり、そのようなシステムではいくつかのケースでパフォーマンスがかなり向上します。(2.6.17)

    • CPU スケジューラ用節電ポリシー: multicore/smt cpu に於ては、すべての CPU に タスクを分散するのではなく、一部のパッケージが稼動中に他のパッケージを休止させることにより電力消費を改善することができます。

( x86 )



[1] この資料はhttp://www.opencontent.org/openpub/で閲覧可能な Open Publication License, v1.0 に設定してある規定と条件に準処してのみ配布されます。