Product SiteDocumentation Site

2. Fedora の変更点 - システム管理者向け

2.1. カーネル

Fedora 17 はカーネル 3.3.4 を特徴とします。

2.2. インストール

カーネル直接ブートへの変更

PXE のようなカーネル直接ブート経由でインストールするときに重要な変更があります。インストールメディアからの通常のインストールは影響を受けません。
高度なユーザーは、一般的にインストールを実行するために最小のカーネル環境をセットアップすることに関連した、さまざまな種類のネットワークインストールを実行するかもしれません。Fedora 17 では大幅な変更を行いました。
Fedora 16 では、一般的にカーネルおよび initrd の場所を指定することのみが必要とされます。そして、インストーラーが動作します - kernel/initrdstage1 を取得して、stage1stage2 を取得します。
ローダーを用いない場合、これは当てはまりません: カーネル直接ブートを実行するとき、stage2 の場所を指定する必要があります。言い換えると: リポジトリーを指示するために、repo= または stage2= (もしくは、現在はこちらのほうが好ましい、 inst.repo= または inst.stage2=) を渡す必要があります。stage2 イメージが一つのサーバーにあるが、インストールパッケージが複数のサーバーにあれば、stage2= を使用する必要があります: インストールのために必要となるものすべて (stage2 イメージ および インストールするパッケージすべて) が一つのサーバーに含まれるならば、repo= のみを使用すべきです。stage2= はリポジトリーのツリーを参照することが期待されていることに注意してください。squashfs.img ファイルへの直接のパスを渡すことはできません (Fedora 15 およびそれ以前において存在するとき stage2= が動作するためです) 。
例:
label linux
kernel vmlinuz
append initrd=initrd.img
これはもう有効ではありません。repo を指定する必要があります:
label linux
kernel vmlinuz
append initrd=initrd.img repo=http://dl.fedoraproject.org/pub/fedora/linux/development/17/x86_64/os/
もしくは stage2 オプションで指定します。
label linux
kernel vmlinuz
append initrd=initrd.img stage2=http://my.internal.server/17/x86_64/os/
(または、他の有効なミラー)。

2.3. セキュリティ

2.3.1. パスワード品質チェック

Fedora は現在、システムアカウントのために使用される新しいパスワードの品質をチェックするために、設定可能な単一ライブラリー libpwquality があります。このライブラリーにより提供される、システム全体にわたるパスワード品質チェックは /etc/security/pwquality.conf 設定ファイルを編集することにより設定されます。
自身のアプリケーションからこの API を呼び出したい開発者は、libpwquality-devel パッケージにより提供される pwquality.h ファイルにおいて API の説明を見つけられます。python ラッパーの python-pwquality も提供されます。

2.3.2. SELinux Deny Ptrace

新しい SELinux 論理値 deny_ptrace が追加されました。自身のマシンにおいてアプリケーションをデバッグする予定がないユーザーは、この論理値をオンにすることが推奨されます。この論理値により、悪意あるプロセスが、ptracegdb を含むデバッグアプリケーションを使用して、他のプロセスのメモリーを読んだり、その他の攻撃をすることができなくなります。
そのような攻撃は、悪意あるプロセスが root として実行されている、または同じ SELinux コンテキストとラベルで実行中のプロセスを攻撃している場合でも防ぐことができます。deny_ptrace 論理値により提供される保護を永続的に有効化するには、以下のコマンドを root として実行します:
# setsebool -P deny_ptrace 1
deny_ptrace 論理値により提供される保護を一時的に無効にするには、以下のコマンドを root として実行します:
# setsebool deny_ptrace 0

2.3.3. サービス個別の /tmp

systemd により管理される多くのサービスが、それが提供するプライベート /tmp ディレクトリー機能を使用するように変更されました。/tmp および /var/tmp を使用する特権サービスは、非特権ユーザーによって、潜在的に権限昇格を引き起こす干渉を受ける可能性があることが以前からわかっていました。プライベート /tmp ディレクトリーを使用することにより、この種のエクスプロイトを防ぎます。
変更されたサービスに対する systemd ユニットファイルに追加されたディレクティブは次のとおりです:
[Service]
PrivateTmp=true

2.3.4. セキュアーコンテナー

新規ツール sandbox が、セキュアな libvirt コンテナーの作成を簡素化するために作成されました。sandbox は、実行可能ファイルが与えられると、コンテナー内部でアプリケーションを実行するために必要なマウントポイントおよびlibvirt コンテナーの情報を決定します。そしてコンテナーは、libvirt により、システムデータを共有しながら、他のコンテナーを含む、システム上の他のプロセスと相互作用することができないような SELinux コンテキストを持って起動されます。
システム管理者はこれにより複数のサービスのインスタンスを同時に実行できます。ここで root として実行しているときさえ、それらがホストマシンやシステムの他のプロセスを壊すことができません。sandbox を使用するには、libvirt-sandbox パッケージをインストールします。
2.3.4.1. krb5-workstation
Fedora 17 は Kerberos 認証システムがバージョン 1.10 に更新されました。これにより、NAT 経由のパスワード変更のサポート、および地域化のサポートが追加されます。kswitch コマンドはクレディンシャルキャッシュ間で切り替えるために追加されました。追加のキャッシュサポートが他のコマンドに追加されました。クレディンシャルの選択は $HOME/.k5identity により制御できます。

2.4. ファイルシステム

2.4.1. 大規模ファイルシステム

Fedora 17 はデフォルトのファイルシステム (ext4) において 16 TB より大きなファイルシステムをサポートします。e2fsprogs の最新バージョンを用いると、ext4 ファイルシステムは現在 100 TB まで使用できます。

2.4.2. 暗号化ファイルシステム

Fedora 17 は cryptsetup パッケージのバージョン 1.4.1 を使用します。これは推奨されない API コールを削除しています。さらに、分離されたデバイスに LUKS ヘッダーを置いておくこと、および単一のディスクにおいて共有の非オーバーラップ暗号化セグメントの作成をサポートします。

2.4.3. btrfs

btrfs はインストール中の対象ファイルシステムとして利用できません。これは一時的な状況で、Fedora 18 において解決される予定です。btrfs はインストール後に利用可能になります。

2.5. 仮想化

2.5.1. QEMU

QEMU オープンソース・マシンエミュレーターがバージョン 1.0 に更新されました。次の重要な機能が含まれます:
  • QEMU は実行中の仮想マシンのライブマイグレーションをサポートします。
  • KVM の利用者は KVM 仮想マシンの中で標準的な性能プロファイリングツールを実行できます。
  • QEMU および libvirt は現在イメージストリーミングをサポートします。イメージストリーミングにより、管理者は既存のイメージに基づいて素早く新しい仮想マシンを開始できるようになります。そして仮想マシンは実行するうちにバックグラウンドで完全にプロビジョニングされます。
  • QEMU および KVM は現在新しく高度な SCSI ベースのストレージスタック virtio-scsi をサポートします。この新しいストレージスタックは将来のリリースにおいて libvirt に追加されます。
このリリースに含まれる変更の完全な一覧は、アップストリームの http://wiki.qemu.org/ChangeLog/1.0 において入手可能です。

2.5.2. libvirt

さまざまなホストの仮想化機能を操作できる libvirt ツールキットがバージョン 0.9.10 に更新されました。このリリースに含まれる変更の完全な一覧は、アップストリームの http://libvirt.org/news.html において利用可能です。

2.5.3. 仮想マシンマネージャー (virt-manager)

仮想マシンマネージャーはバージョン 0.9.1 に更新されました。多くのバグ修正だけではなく、このリリースは以下のものが追加されました:
  • USB リダイレクトデバイスの追加機能のサポート
  • USB 2.0 をサポートするよう USB コントローラーを変更するオプション
  • 非 x86 仮想マシンのマシン形式を指定するオプション
このリリースに含まれる変更の完全な一覧は、アップストリームの http://virt-manager.org/download.html において参照可能です。

2.6. クラウド

2.6.1. CloudStack

Fedora 17 は CloudStack パッケージを含みます。これは成熟した Infrastructure as a Service (IaaS) プラットフォームを提供します。

2.6.2. OpenNebula

Fedora 17 は新しく OpenNebula を追加しました。OpenNebula はデータセンター仮想化に適合した IaaS プラットフォームを提供します。環境の管理はコマンドラインまたはグラフィカルインターフェースを通して実行できます。Amazon EC2 the Open Cloud Computing Interface (OCCI) との互換性が含まれます。

2.6.3. OpenStack

Fedora 17 は OpenStack スイートの最新バージョン、コードネーム "Essex" が含まれています。この新しいリリースに含まれるのは、最新バージョンのウェブ管理インターフェース ("Horizon") および仮想ネットワーク ("Quantum") です。AQMP バックエンドに対する RabbitMQ の代替として Qpid が新しく Fedora 17 において使用されます。さらに、複数の仮想ディスク形式をサポートする libguestfs の利用により、Fedora の OpenStack はより柔軟性を提供できます。

2.6.4. Open vSwitch

Fedora 17 は Open vSwitch を含みます。これは仮想マシンにネットワークサービスを提供するために使用されるソフトウェアによるネットワークスイッチです。Open vSwitch は管理しやすくするために OpenFlow をサポートします。

2.7. データベースサーバー

2.7.1. mysql

Fedora 17 は、Fedora 16 にあった 5.5.14 から更新された、mysql 5.5.20 が含まれます。

2.7.2. postgresql

postgresql が 9.1.2 に更新されました。

潜在的な非互換のある変更

information_schema.referential_constraints ビューに依存しているならば、または citext 形式のカラムがあるならば、特別な作業を行う必要があります。http://www.postgresql.org/docs/9.1/static/release-9-1-2.html を参照してください。
これは主にバグ修正のリリースです。

2.7.3. sqlite

sqlite が 3.7.9 に更新されました。

潜在的な非互換のある変更

FTS4 の検索トークン (MATCH オペレーターの右側) が "^" で開始するときは、そのトークンがその文書のフィールドの中で最初でなくてはいけません。
多くの変更と改善点があります:
  • 巨大なテーブルでの CREATE INDEX を実行した時の性能が、1桁以上改善しました。
  • windows VFS は、ウイルス対策ソフトウエアからの干渉を、より受けにくくなりました。
  • DISTINCT キーワードがあるときの、クエリーの実行計画の最適化を改善しました。
  • chromium sandbox のサポートを改善するため、unix VFS においてより多くのシステムコールがオーバーライドできるようになりました。
  • 先読みキャッシュラインのデフォルト長が 100 から 128 バイトに増えました。
  • test_quota.c モジュールを改善して、既存のファイルを追跡できるようにしました。
  • SQLITE_DBSTATUS_CACHE_HITSQLITE_DBSTATUS_CACHE_MISS オプションを、sqlite3_db_status() インタフェースに追加しました。
  • SQLITE_ENABLE_STAT2 のサポートを取りやめ、より高機能な SQLITE_ENABLE_STAT3 オプションに代替しました。
  • sqlite3_analyzer ユティリティプログラムの改善。例えば、 --pageinfo--stats オプションは、マルチプレックスされたデータベースについてサポートされます
  • sqlite3_data_count() インタフェースを改善して、プリペア済みのステートメント中に、SQLITE_DONE があるかを判断できるようにしました。
  • SQLITE_FCNTL_OVERWRITE ファイルコントロールを追加して、SQLite コアが VFS に、現在のトランザクションはデータベースファイル全体を上書きするかを指示できるようにしました。
  • デフォルトの lookaside メモリーアロケーターの確保長が 100 から 128 バイトに増えました。
  • 問い合わせのプランナーを改善して、WHERE クローズの OR 式から項目を入れたり出したりすることで、よりよいインデックスを探せるようにしました。
  • SQLITE_DIRECT_OVERFLOW_READ コンパイル時オプションを追加し、オーバーフローページがページキャッシュをバイパスしてデータベースファイルから直接読まれることができるようにしました。
  • sqlite3_mprintf() ファミリーの文字列展開ルーチンのフォーマット指定子において、精度と表示幅の値の制限をなくしました。

2.8. システムデーモン

2.8.1. pciutils

pciutils パッケージ (PCI デバイスの検査および設定するツールを提供します) は、Fedora 17 においてバージョン 3.1.9 に更新されました。これにより、第 3 世代 PCI Express ハードウェアの通信速度およびリンク状態フィールドを読み込むことがサポートされます。

2.8.2. brltty

Fedora 17 は brltty (Braille ディスプレイデーモン) のバージョン 4.3 を含みます。バージョン 4.3 は、新しいロギングおよび設定オプション、さらなるデバイスのサポートが含まれます。

2.9. Xorg

2.9.1. GNOME シェルのソフトウェアレンダリング

GNOME シェルは、ソフトウェアレンダリングができるようになり、すべてのハードウェアで使用できるようになりました。まだ GNOME のフォールバックモードの使用を希望されるユーザーは、システム情報 制御パネルアプレットにアクセスしてから、グラフィクス を選択して、強制フォールバックモード オプションを ON にセットすることで手動でモードを有効にすることができます。

2.9.2. マルチタッチのサポート

Fedora 17 の X サーバーとライブラリは、XInput 拡張のバージョン 2.2 をサポートし、これにはマルチタッチサポートが含まれています。これを採用するアプリケーションは、今後 Fedora でのマルチタッチのサポートの恩恵を受けることができるでしょう。

2.9.3. スムーズスクロールのサポート

更新された X サーバーはまた、対応するドライバーとデバイスの為のスムーズスクロール機能も提供します。スクロールデータはレガシーなボタン押下イベントに加えて、軸ごとの値が提供されます。これにより、アプリケーションはスピードを考慮して、スムーズなスクロール動作を提供できるようになります。マルチタッチと同様に、スムーズスクロールの恩恵を得るには、クライアントアプリケーションそのものにそのサポートがあらわに書かれる必要があります。

2.9.4. DRI2 ドライバー

i810, mga, r128, savage, sis, tdfx, and unichrome DRI ドライバーは現在 Mesa に含まれないため、それらは提供されません。この影響を受けるハードウェアは以下のデバイス種別が含まれます:
  • Intel i810 および i815 マザーボードのチップセット
  • Matrox MGA G200, G400, G450 および G550 カード
  • ATI Rage 128 カード
  • S3 Savage 3D および Savage 4 カード
  • SiS 300, 540, 630, および 730 チップセット
  • 3dfx Voodoo 3, Voodoo 4, および Voodoo 5 カード
  • VIA Unichrome および Unichrome Pro チップセット
このハードウェアは今回、llvmpipe ソフトウェア 3D ドライバーによりサポートされていて、旧来の DRI ドライバーとは異なり、OpenGL 2.x 機能を表現します。