Product SiteDocumentation Site

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

2.1. インストール

2.1.1. docdir のバージョンがなくなりました

パッケージごとのドキュメントは、バージョン番号のない/usr/share/doc/packagename ディレクトリにインストールされるようになりました。以前は、ディレクトリ名にパッケージの名前とバージョン番号が含まれました。

2.2. セキュリティ

2.2.1. FreeIPA が、推移的信用をサポートしました

FreeIPA 3.3.2では、複数のドメインを含む、複雑な Active Directory フォレストがサポートされました。複数の AD ドメインのユーザーは、 FreeIPA のリソースをアクセスできます。 FreeIPA 管理者は、 AD ドメインごとにアクセスをブロックできます。

2.2.2. SSSD により、 CIFS 共有のための ID マッピングが提供されます

Fedora 20 System Security Services Daemon では、 Windows SID と POSIX ID のマッピングのサポートがされました。ご自分のネットワークで SSSD を使われる管理者は、2つの新しいユティリティ、setcifsaclgetcifsacl を使って、アクセス制御を設定できます。
詳しくは、アップストリームの設計文書 https://fedorahosted.org/sssd/wiki/DesignDocs/IntegrateSSSDWithCIFSClient や、setcifsacl, getcifsacl そして、関連する SSSD パッケージのマニュアルページを参照下さい。

2.2.3. 共用システム証明書ツール

Fedora の、共用システム証明書機能は、このリリースでは、p11-kit-trust アプリケーションの追加によって強化されました。このパッケージは、トラストアンカーと、ブラックリストキーと証明書の変更を可能とします。管理者は1つのコマンドでシステムの証明書データベースが変更できます。ファイルを特別のディレクトリにおいて、特別のコマンドをたたく必要はありません。この新しいツールは、共用システム証明書機能の開発を継続するものです。

2.3. ファイルシステム

2.3.1. ブロックデバイスの SSD キャッシュ

Fedora 20 では、ソリッドステートドライブ (SSD) を、伝統的な回転するストレージ (HDD)への高速で透過的なキャッシュとする実験的なサポートが提供されます。SSD にキャッシュされたブロックデバイス上のファイルシステムは、 SSD のスピードと、 HDD の容量の両方を提供します。伝統的なパーティショニングスキーマも、 LVM も、この機能を利用できます。

事前にバックアップして下さい!

bcache デバイスへ移行するなどの、低レベルの変更をする前には、あなたのデータを必ずバックアップして下さい。blocks のようなツールが Fedora にパッケージされるまでは、ユーザーの方々は、まず、クリーンな bcache デバイスを作って、それに最新のバックアップからファイルシステムにデータを書き戻すという使い方をお勧めします。

2.4. 仮想化

2.4.1. x86 ホストでの ARM エミュレーション

x86 ホストで、virsh, virt-managervirt-install などの標準的な libvirt ツールを使って、ARM ゲスト仮想マシンをよりスムーズにエミュレーションするために変更がありました。qemu には、良好な ARM エミュレータがあり、Fedora ARM 成果でもアクティブに使われています。しかし、 libvirtvirt-manager には問題があり、 qemu-system-arm 仮想マシンを開始できませんでした。これはほぼ、生成されたコマンドラインに、 x86 の前提がエンコードされているのが原因で、そのために qemu-system-arm が開始に失敗します。この問題を解決するための変更がされました。詳しくは、https://fedoraproject.org/wiki/Changes/Virt_ARM_on_x86 を参照下さい。

2.4.2. Libvirt クライアントのアクセス制御

libvirt クライアントにパーミッションの規則を設定することができます。それは、すべての管理されるオブジェクトと API 操作に適用されます。これによって、すべてのクライアントコネクションを、最小限の規則と権限のセットに制限することができます。3つのアクセスレベルがアサインできます。
最初は、Unauthenticated アクセスがすべてのコネクションで使われます。この状態は、認証を完了するために必要なすべての API 操作を可能とします。認証が成功した後は、さらに2つのレベルをアサインすることができます。Unrestricted は、すべての API 操作に完全なアクセスを提供します。Restricted は、リードオンリーアクセスだけが可能です。
システム管理者は、認証されたコネクションに対して、パーミッションの規則を設定できます。libvirt のすべての API コールは、それが使うオブジェクトに対して評価されるパーミッションのセットを持ちます。例えば、ユーザー A がドメインオブジェクトのパラメーターを変えたいとします。ユーザーが変更をセーブしようとしたとき、virDomainSetSchedulerParametersFlags メソッドはクライアントがドメインオブジェクトに書き込み権限を持っているかチェックします。追加のチェックやパーミッションの設定も同じように処理されます。フィルタリングを使って、どのクライアントがどのオブジェクトに権限を持っているかを見ることができ、パーミッションの管理がスムーズにできます。polkit アクセス制御についてのドキュメントは、 http://libvirt.org/aclpolkit.html にあります。
libvirtd.conf 設定ファイルにより、アクセスパーミッションを設定します。この操作を有効にするには、 access_drivers パラメーターを使います。1つ以上のアクセスドライバーが要求された時、権限が許可されるためには、すべてが成功しなくてはいけないことに注意下さい。

2.4.3. 仮想マシンマネージャーでのスナップショット

仮想マシンマネージャー (virt-manager) により、KVM 仮想マシンのスナップショットを簡単に管理および確認できます。仮想マシンマネージャーは、スナップショットを取得する間、数秒だけ仮想マシンを一時停止することに注意してください。詳細は以下を参照してください。
http://fedoraproject.org/wiki/Changes/Virt_Manager_Snapshots
http://fedoraproject.org/wiki/Features/Virt_Live_Snapshots
http://libvirt.org/formatsnapshot.html
man 1 virsh のスナップショットのセクション
http://fedoraproject.org/wiki/QA:Testcase_Virt_Snapshot_UI

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

2.5.1. MongoDB

MongoDB がバージョン 2.4 にアップデートされ、全文検索、地理空間インデックスのより大きな配列サポート、セキュリティ強化が追加されました。この新バージョンについて詳しくは、http://docs.mongodb.org/manual/release-notes/2.4/ のリリースノートをご参照下さい。

2.5.2. Hadoop

Fedora 20 には、人気の Hadoop プラットフォームのコアと多くの関連パッケージが含まれます。 Fedora で提供される Hadoop の詳細な情報は、 https://fedoraproject.org/wiki/Changes/Hadoop を参照下さい。
Hadoop プラットフォームのパッケージ化は、 Fedora Big Data SIG の最近の作業によるものです。この Special Interest Group については、 https://fedoraproject.org/wiki/SIGs/bigdata を参照下さい。あなたがこの成果を使い、これに参加するためのゲートウエイとなるはずです。

2.6. メールサーバー

2.6.1. sendmail の非標準化

Fedora 20 は標準でメールサーバー (MTA) を含まなくなりました。Fedora の以前のリリースは sendmail を含みました。しかし、手動設定しなければ、わずかな有用性しかありません。

2.7. Samba

2.7.1. SSSD により、 CIFS 共有のための ID マッピングが提供されます

この機能について詳しくは、 Security セクションを参照下さい。

2.8. システムデーモン

2.8.1. Syslog はデフォルトインストールから除かれました

syslog が標準でインストールされなくなりました。syslogd より高機能な、journald が多くの使用法でロギングを処理します。
/var/log/messages でシステムログをチェックしてきたユーザーの方々は、代わりに journalctl を使って下さい。
journalctl のコマンド例
新しい journalctl古い messages
journalctlless /var/log/messages
journalctl -ftail -f /var/log/messages
journalctl --unit named.servicegrep named /var/log/messages
journalctl -b現在のブートのログを見る。単純な代替となるものはありません。

2.8.2. systemd

2.8.2.1. 新しいユニットタイプ: Scope
Systemd に、新しいユニットタイプ scopeslice が加わりました。
scope ユニットは、既存のプロセスから、 systemd により自動的に作られます。プロセスとその子供を一緒にグループすることで、スコープユニットは、プロセスを仲間分けしたり、リソースユニットを適用したり、プロセスのグループをまとめて終了したりすることに使えます。ユーザーセッションは、スコープユニットに含まれるプロセスの例です。
slice ユニットは、プロセスを階層的に管理するユニットをグループに分けて、スライスごとのリソース配分を制御するために使われます。仮想マシンとコンテナのデフォルトスライスは、machine.slice で、システムサービスは system.slice、ユーザーセッションは user.slice です。これらのデフォルトスライスは自動的に内容が入ります。
getty@.service のような Instance units は、それぞれの設定ファイルで定義されるテンプレートを使って、オンデマンドで生成されます。テンプレートタイプには system slice のサブスライスが与えられ、インスタンスはそのスライスに含まれます。
あるスライスにアサインされたスコープとサービスユニットは、コントロールグループツリーにおけるそのスライスのノードの子孫になります。スライスの名前は、ルートスライスに対するその相対的位置を示します。以下の出力は、user-1000.slice が、user.slice の子であり、それはまた . 、ルートスライスの子であることを示します。それぞれのセッションは、さらにユーザーのスライスの中のスコープユニットに含まれます。
	    systemctl status user.slice

  Loaded: loaded (/usr/lib/systemd/system/user.slice; static)
  Active: active since Sun 2013-09-08 01:23:40 MDT; 18h ago
    Docs: man:systemd.special(7)
  CGroup: /user.slice
          ├─user-1000.slice
          │ ├─session-21.scope
          │ │ ├─9226 sshd: pete [priv]
          │ │ ├─9229 sshd: pete@pts/4
          │ │ ├─9230 -bash
          │ │ ├─9262 sudo su -
          │ │ ├─9270 su -
          │ │ ├─9271 -bash
          │ │ └─9509 screen -R
          │ ├─session-18.scope
          │ │ ├─ 7939 sshd: pete [priv]
          │ │ ├─ 7942 sshd: pete@pts/0
          │ │ ├─ 7943 -bash
          │ │ ├─ 7982 sudo su -
          │ │ ├─ 7988 su -
          │ │ ├─ 7989 -bash
          │ │ ├─ 8206 SCREEN
          │ │ ├─ 8207 /bin/bash
          │ │ ├─ 8237 /bin/bash
          │ │ ├─ 8486 less NEWS
          │ │ ├─ 8489 /bin/bash
          │ │ └─10637 systemctl status user.slice
          ## truncated ##

サービスは、そのユニット設定ファイルの、 Slice=slicename 指定によりスライスに加わります。スライスやサービスユニット内のリソース制限をするための引数は、 man systemd.directives に書いてあります。man systemd.sliceman systemd.cgroup もご参照下さい。
2.8.2.2. TrueCrypt のための systemd-cryptsetup
Fedora における TrueCrypt のサポートは、systemd-cryptsetup におけるその技術のサポートによって拡張されました。これにより、ブート中の簡単な認証が可能です。
2.8.2.3. systemctl で、ユニット状態によりフィルターする
systemctl は、ユニット一覧出力を、ロード状態によってフィルターすることができるようになりました。--state オプションには、任意の値かあるいは、LOAD, SUB, あるいは ACTIVE 状態のコンマ区切りのリストを与えることができます。例えば、
	   systemctl --state failed 

2.8.3. journald

2.8.3.1. 特定のブートのログを見る
journalctl は、特定のブートのログを見ることができるようになりました。例えば、現在のブートのログを見るには、
	  journalctl -b
前回のブートのログを見るには:
	  journalctl -b -1
相対的ブート番号に加え、journald がアサインする、128 ビットのブート ID を使うこともできます。例えば:
	  journalctl -b 38fd9c3303574ed38e822233457f6b77
2.8.3.2. カーソルでジャーナルを参照する
journalctl は、cursor と呼ばれるレコード識別子でジャーナルの内容を参照することができます。 git ハッシュのように、 cursor はジャーナル内のポイントをユニークに指定します。
journalctl 問い合わせに --show-cursor を加えると、出力の最後の行はカーソル値を含みます。
	  journalctl -b -u network --show-cursor --since 15:00
	  Sep 08 15:37:59 localhost.localdomain network[4074]: [FAILED]
	  Sep 08 15:37:59 localhost.localdomain systemd[1]: network.service: control process exited, code=exited status=1
	  Sep 08 15:37:59 localhost.localdomain systemd[1]: Failed to start LSB: Bring up/down networking.
	  Sep 08 15:37:59 localhost.localdomain systemd[1]: Unit network.service entered failed state.
	  -- cursor: s=13497722134642a2ac1544bada0c8836;i=1120d;b=8491c05dabd3444ca122e7069b5de0a9;m=db2118a46;t=4e5e7d81c7402;x=d177768ac95df831
カーソルは、より広い問い合わせにおいて、コンテキストを提供し、ジャーナル内のそのポイントを識別するために使うことができます。
	  journalctl -c "s=13497722134642a2ac1544bada0c8836;i=1120d;b=8491c05dabd3444ca122e7069b5de0a9;m=db2118a46;t=4e5e7d81c7402;x=d177768ac95df831"
journalctl の出力を解析するスクリプトは、カーソル値を格納し、次回、中断したところから再開することができます。
	  journalctl --after-cursor "s=13497722134642a2ac1544bada0c8836;i=1120d;b=8491c05dabd3444ca122e7069b5de0a9;m=db2118a46;t=4e5e7d81c7402;x=d177768ac95df831"