システム管理ガイド


Red Hat Enterprise Linux 4

For Red Hat Enterprise Linux 4

概要

システム管理者のガイド では、Red Hat Enterprise Linux 4 のデプロイメント、設定、および管理に関する関連情報を説明します。本書は、システムに関する基本的な理解があるシステム管理者を対象としています。

はじめに

『 『システム管理者のガイド』』 にようこそ。
『システム 『管理者ガイド』』 には、必要に応じて Red Hat Enterprise Linux システムをカスタマイズする方法が記載されています。ステップバイステップの、システムの設定およびカスタマイズのためのタスク指向のガイドが必要な場合には、これは手動で行います。このマニュアルでは、以下のような中間トピックを多数説明します。
  • ネットワークインターフェースカード(NIC)の設定
  • キックスタートインストールの実行
  • Samba 共有の設定
  • RPM を使用したソフトウェアの管理
  • システムに関する情報の決定
  • カーネルのアップグレード
このマニュアルは、以下の主要なカテゴリーに分類されます。
  • インストール関連のリファレンス
  • ファイルシステムのリファレンス
  • パッケージ管理
  • Network Configuration
  • システム設定
  • システムモニタリング
本書は、Red Hat Enterprise Linux システムに関する基本的な理解があることを前提としています。Red Hat Enterprise Linux のインストールに関するヘルプが必要な場合は、『インストール 『ガイド』』 を参照してください。システム管理に関する一般的な情報は、『システム管理者の 『概要』を参照し』 てください。ファイルシステムの概要など、より高度なドキュメントが必要な場合は、『『リファレンスガイド』』 を参照してください。セキュリティー情報が必要な場合は『セキュリティー 『ガイド』を参照し』 てください。

1. この手動の変更

このマニュアルは明確にするために変更されており、Red Hat Enterprise Linux 4 の最新機能で更新されています。変更には以下が含まれます。
カーネルモジュール』 の更新および 『カーネルの』 章の手動更新
カーネル 『モジュールおよびカーネル』 の 『手動アップグレード』 には、2.6 カーネルに関して更新された情報が含まれています。本章を完了するのに役立つハード作業のために Arjan van de Ven に特化しました。
更新され 『たネットワークファイルシステム(NFS)』 の章
ネットワークファイルシステム(NFS)』 の章が修正され、NFSv4 を組み込むように再編成されました。本章を完了するのに役立つハード作業のために Steve Dickson に特化しました。
Update Update 『OProfile』 の章
OProfile』 の章が修正され、2.6 カーネルに関して更新された情報を組み込むように修正および再編成されました。本章を完了するのに役立つハード作業についての Will Cohen に特化しました。
Update Update 『X Window System』 の章
X Window System の』 章が修正され、X.Org チームが開発した X11R6.8 リリースに関する情報が追加されています。
本ガイドを読む前に、インストールの問題、基本的な管理概念のための 『システム管理の概要』、一般的なカスタマイズ手順のための 『システム管理者ガイド』、セキュリティー関連の手順については 『』 セキュリティーガイド』を参照してください。『』本ガイドでは、上級ユーザーのトピックについて説明します。

2. 本書の表記慣例

本ガイドでは、いくつかの規則を使用して特定の単語やフレーズを強調表示し、特定の情報への注意を促しています。

2.1. 誤字規則

特定の単語や句への注意を促すために 4 つの表記慣習を使用しています。これらの規則や、これらが適用される状況は以下のとおりです。
等幅ボールド
シェルコマンド、ファイル名、パスなど、システム入力を強調表示するために使用されます。キーとキーの組み合わせを強調表示するためにも使用されます。以下に例を示します。
現在の作業ディレクトリーのファイル my_next_bestselling_novel の内容を表示するには、シェルプロンプトで cat my_next_bestselling_novel コマンドを入力し、Enter を押してコマンドを実行します。
上記には、ファイル名、シェルコマンドおよびキーが含まれます。これはすべて等幅ボールドで表示され、コンテキストにより区別可能なものになります。
キーの組み合わせは、キーの組み合わせの各パーツをつなげるプラス記号によって個別のキーと区別できます。以下に例を示します。
Enter を押してコマンドを実行します。
Ctrl+Alt+F2 を押して、仮想ターミナルに切り替えます。
最初の例では、押す特定のキーを強調表示しています。2 つ目の例は、同時に押す 3 つのキーのセットというキーの組み合わせを強調表示しています。
ソースコードの場合、段落内で記述されるクラス名、メソッド、関数、変数名、および戻り値は、上記のように 等幅ボールド で示されます。以下に例を示します。
ファイル関連のクラスには、ファイルシステムの filesystem、ファイルの file、ディレクトリーの dir が含まれます。各クラスには、独自の関連付けられたパーミッションセットがあります。
プロポーショナルボールド
これは、アプリケーション名、ダイアログボックステキスト、ラベルが付いたボタン、チェックボックスおよびラジオボタン、メニュータイトルおよびサブメニュータイトルなど、システムで発生した単語またはフレーズを示します。以下に例を示します。
メインメニューバーから SystemPreferencesMouse を選択し、Mouse Preferences を起動します。Buttons タブで、Left-handed mouse チェックボックスを選択し、Close をクリックしてメインのマウスボタンを左から右に切り替えます (マウスを左手で使い易くします)。
特殊文字を gedit ファイルに挿入するには、メインメニューバーから ApplicationsAccessoriesCharacter Map を選択します。次に、Character Map メニューバーから SearchFind… を選択し、Search フィールドに文字の名前を入力して Next をクリックします。目的の文字が Character Table で強調表示されます。この強調表示した文字をダブルクリックして Text to copy フィールドに配置し、Copy ボタンをクリックします。ここでドキュメントに戻り、gedit メニューバーから EditPaste を選択します。
上記のテキストにはアプリケーション名、システム全体のメニュー名および項目、アプリケーション固有のメニュー名、GUI インターフェース内のボタンおよびテキストなどがあります。すべては proportional bold で示され、コンテキストと区別できます。
等幅ボールドイタリック または プロポーショナルボールドイタリック
等幅ボールドまたはプロポーショナルボールドのいずれでも、イタリックが追加されると、置換または変数テキストを意味します。イタリックは、状況に応じて変化するテキストや、文字を入力しないテキストを表します。以下に例を示します。
ssh を使用してリモートマシンに接続するには、シェルプロンプトで ssh username@domain.name を入力します。リモートマシンが example.com で、そのマシンのユーザー名が john の場合は、ssh john@example.com と入力します。
mount -o remount file-system コマンドは、指定したファイルシステムを再マウントします。たとえば、/home ファイルシステムを再マウントする場合には、コマンドは mount -o remount /home です。
現在インストールされているパッケージのバージョンを表示するには、rpm -q package コマンドを使用します。その結果が package-version-release のように返されます。
上記の太字のイタリック体の用語、username、domain.name、file-system、package、version、および release に注意してください。各単語はプレースホルダーで、コマンドの発行時に入力するテキストまたはシステムによって表示されるテキストのどちらかになります。
作業のタイトルを示す標準的な使用法のほかに、イタリックは新用語と重要な用語の最初の使用を示します。以下に例を示します。
Publican は DocBook 公開システムです。

2.2. 引用規則

端末の出力およびソースコードの一覧は、周りのテキストから視覚的に表示されます。
端末に送信される出力は、mono-spaced roman に設定され、次のように表示されます。
books        Desktop   documentation  drafts  mss    photos   stuff  svn
books_tests  Desktop1  downloads      images  notes  scripts  svgs
ソースコードの一覧も mono-spaced roman に設定されますが、構文強調表示を以下のように追加します。
static int kvm_vm_ioctl_deassign_device(struct kvm *kvm,
                 struct kvm_assigned_pci_dev *assigned_dev)
{
         int r = 0;
         struct kvm_assigned_dev_kernel *match;

         mutex_lock(&kvm->lock);

         match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head,
                                       assigned_dev->assigned_dev_id);
         if (!match) {
                 printk(KERN_INFO "%s: device hasn't been assigned before, "
                   "so cannot be deassigned\n", __func__);
                 r = -EINVAL;
                 goto out;
         }

         kvm_deassign_device(kvm, match);

         kvm_free_assigned_device(kvm, match);

out:
         mutex_unlock(&kvm->lock);
         return r;
}

2.3. 注記および警告

最後に、3 つの視覚的スタイルを使用して、見落とす可能性のある情報に注意を促します。
注記
注記とは、タスクへのヒント、ショートカット、または代替アプローチです。注意を無視しても悪い結果を招くことはありませんが、便利なヒントを見逃してしまう可能性があります。
重要
見落としやすい詳細のある重要なボックス: 現行セッションにのみ適用される設定変更や、更新を適用する前に再起動が必要なサービスなどです。「Important」というラベルが付いたボックスを無視しても、データが失われることはありませんが、スムーズな操作が行えないことがあります。
警告
警告は無視すべきではありません。警告を無視すると、データが失われる可能性があります。

3. 詳細情報

『 『システム管理者ガイド』』 は、Red Hat Enterprise Linux ユーザーに有用で時間上のサポートを提供するために、Red Hat, Inc's 増加の取り組みの一部です。新しいツールおよびアプリケーションがリリースされると、本書は拡張され、それを組み込むように拡張されます。

3.1. フィードバックをお寄せください

『 『システム管理者ガイド』』 にエラーが見つかった場合や、このマニュアルを改善する方法を検討している場合は、ご連絡ください。コンポーネント rh-sag に対して Bugzilla(http://bugzilla.redhat.com/bugzilla/)でレポートを送信してください。
手動識別子を必ず言及してください。
rh-sag
このマニュアルの識別子について言及することで、どのバージョンのガイドがどのバージョンのものかを正確に知っています。
本ガイドを改善するためのご意見やご提案をお寄せいただく場合は、できるだけ具体的にご説明ください。エラーが見つかった場合は、簡単に確認できるように、セクション番号と前後のテキストを含めてください。

パート II. ファイルシステム

ファイルシステム は、コンピューターに保存されているファイルおよびディレクトリーを参照します。ファイルシステムには、ファイルシステムタイプ と呼ばれる形式が異なる場合があります。これらの形式は、情報がファイルおよびディレクトリーとして保存される方法を決定します。ファイルシステムタイプによっては、データの冗長コピーが格納されているものもありますが、ファイルシステムタイプによってはハードドライブへのアクセスが速くなります。ここでは、ext3、swap、RAID、LVM ファイルシステムの種類を説明します。また、パーティションおよびアクセス制御リスト(ACL)を管理し、ファイルパーミッションをカスタマイズする parted ユーティリティーについても説明します。

第6章 Ext3 ファイルシステム。

デフォルトのファイルシステムはジャーナリング ext3 ファイルシステムです。

6.1. ext3 の機能

ext3 ファイルシステムは、基本的に、ext2 ファイルシステムが拡張されたバージョンです。さまざまな改善点により、以下のような利点が提供されます。
可用性
予期しない停電やシステムクラッシュ (クリーンでないシステムシャットダウン とも言われる) が発生すると、マシンにマウントしている各 ext2 ファイルシステムは、e2fsck プログラムで整合性をチェックする必要があります。これは時間を浪費するプロセスであり、大量のファイルを含む大型ボリュームでは、システムの起動時間を著しく遅らせます。このプロセスの間、そのボリュームにあるデータは使用できません。
ext3 ファイルシステムで提供されるジャーナリングは、クリーンでないシステムシャットダウンが発生してもこの種のファイルシステムのチェックが不要であることを意味します。ext3 の使用していても整合性チェックが必要になる唯一の場面は、ハードドライブの障害が発生した場合など、ごく稀なハードウェア障害のケースのみです。クリーンでないシャットダウンの発生後に ext3 ファイルシステムを復元する時間は、ファイルシステムのサイズやファイルの数量ではなく、一貫性を維持するために使用される ジャーナル のサイズに依存します。デフォルトのジャーナルサイズは、ハードウェアの速度に応じて、復旧するのに約 1 秒かかります
データの整合性
ext3 ファイルシステムは、クリーンでないシステムのシャットダウンが発生した場合に、より強力なデータ整合性を提供します。ext3 ファイルシステムにより、データが受けることのできる保護のタイプとレベルを選択できるようになります。デフォルトでは、ext3 ボリュームは、ファイルシステムの状態に関して、高いレベルのデータの整合性を維持するように設定されています。
速度
一部のデータを複数回書き込みますが、ext3 のジャーナリングにより、ハードドライブのヘッドモーションが最適化されるため、ほとんどの場合、ext3 のスループットは ext2 よりも高くなります。3 つのジャーナリングモードを選択して速度を最適化できますが、データの整合性に関してトレードオフが生じます。
簡単なトランジション
ext2 から ext3 に簡単に移行でき、再フォーマットをせずに、堅牢なジャーナリングファイルシステムの恩恵を受けることができます。このタスクの実行方法は、「ext3 ファイルシステムへの変換」 を参照してください。
以下のセクションでは、ext3 パーティションの作成およびチューニングの手順を説明します。ext2 パーティションの場合は、以下のパーティションパーティションおよびフォーマットセクションを省略し、「ext3 ファイルシステムへの変換」 に直接移動します。

6.2. Ext3 ファイルシステムの作成

インストール後、ext3 ファイルシステムを新たに作成しないといけない場合があります。たとえば、システムに新しいディスクドライブを追加する場合は、ドライブを分割して ext3 ファイルシステムを使用できます。
ext3 ファイルシステムを作成する手順は次のとおりです。
  1. parted または netstat を使用してパーティションを作成 ます。
  2. mkfs を使用して、ext3 ファイルシステムでパーティションをフォーマットします。
  3. e2label を使用してパーティションにラベルを付けます。
  4. マウントポイントを作成します。
  5. /etc/fstab ファイルにパーティションを追加します。

6.3. ext3 ファイルシステムへの変換

tune2fs プログラムは、パーティション上にあるデータを変更せずに、既存の ext2 ファイルシステムにジャーナルを追加できます。ファイルシステムが移行中にすでにマウントされている場合は、ジャーナルがファイルシステムのルートディレクトリーにある .journal ファイルとして表示されます。ファイルシステムがマウントされていない場合、ジャーナルは非表示になり、ファイルシステムには全く表示されません。
備考
Red Hat Enterprise Linux のデフォルトのインストールでは、すべてのファイルシステムに ext3 を使用します。
ext2 ファイルシステムを ext3 に変換するには、root としてログインし、以下を入力します。
/sbin/tune2fs -j <file_system>
ここで 、<file_system > は適切な LVM2 ファイルシステムです。
有効な LVM2 ファイルシステムは、以下の 2 つのタイプのエントリーのいずれかになります。
  • マップされたデバイス - ボリュームグループの論理ボリューム(例: /dev/mapper/VolGroup00-LogVol02 )。
  • 静的デバイス - 従来のストレージボリューム(例: /dev/hdbX )。hdb はストレージデバイス名に、X はパーティション番号になります。
df コマンドを実行して、マウントされたファイルシステムを表示します。LVM ファイルシステムの詳細は、8章LVM の設定 を参照してください。
これ以降の例では、サンプルコマンドは以下の値を使用します。
 /dev/mapper/VolGroup00-LogVol02 
これを行ったら、/etc/fstab ファイルでパーティションの種類を ext2 から ext3 に変更してください。
root ファイルシステムを移行する場合は、initrd イメージ(または RAM ディスク)を使用して起動する必要があります。これを作成するには、mkinitrd プログラムを実行します。mkinitrd コマンドの使用方法は、man mkinitrd と入力します。また、GRUB 設定が initrd を読み込むことを確認します。
この変更を加えても、システムは起動したままですが、ファイルシステムが ext3 ではなく ext2 としてマウントされます。

6.4. ext2 ファイルシステムに戻す

ext3 は比較的新しいため、一部のディスクユーティリティーはまだサポートされていません。たとえば、resize2fs でパーティションを縮小する必要がありますが、ext3 はまだサポートされていません。このような状況では、ファイルシステムを一時的に ext2 に戻す必要がある場合があります。
パーティションを復元するには、まず root としてログインしてパーティションをアンマウントします。
umount /dev/mapper/VolGroup00-LogVol02
次に、root で以下のコマンドを入力して、ファイルシステムタイプを ext2 に変更します。
 /sbin/tune2fs -O ^has_journal /dev/mapper/VolGroup00-LogVol02
root で以下のコマンドを入力して、パーティションにエラーの有無を確認します。
/sbin/e2fsck -y /dev/mapper/VolGroup00-LogVol02
次に、以下を入力して ext2 ファイルシステムとしてパーティションを再度マウントします。
mount -t ext2 /dev/mapper/VolGroup00-LogVol02/mount/point
上記のコマンドで、/mount/point をパーティションのマウントポイントに置き換えます。
次に、マウントしたディレクトリーに移動して、パーティションのルートレベルで .journal ファイルを削除します。
rm -f .journal
これで、ext2 パーティションが作成されます。
パーティションを ext2 に永続的に変更する場合は、必ず /etc/fstab ファイルを更新するようにしてください。
ヒント
ext2online を使用して、ext3 ファイルシステムのサイズを増やすことができます。ext2online を使用すると、ext3 ファイルシステムのマウント(オンライン)およびリズル可能な論理ボリュームで、ext3 ファイルシステムのサイズを拡大できます。root ファイルシステムは、インストール時に LVM2 論理ボリュームにデフォルトで設定されます。
ext2online は、ext3 ファイルシステムでのみ機能することに注意してください。詳細は、man ext2online を参照してください。

第7章 論理ボリュームマネージャー (LVM)

7.1. LVM とは

LVM は、ハードドライブの領域を論理ボリュームに割り当て、パーティションの代わりに簡単にサイズ変更できる方法です。
LVM では、ハードドライブまたはハードドライブのセットが 1 つ以上の 物理ボリューム に割り当てられます。物理ボリュームは、複数のドライブにまたがることができません。
物理ボリュームは、/boot/ パーティションを除く 論理ボリュームグループ に統合されます。/boot/ パーティションは、ブートローダーが読み取ることができないため、論理ボリュームグループ上に存在できません。root (/) パーティションが論理ボリューム上にある場合、ボリュームグループに属さない別の /boot/ パーティションを作成します。
物理ボリュームは複数のドライブにまたがることができないため、複数のドライブにまたがるには、ドライブごとに 1 つ以上の物理ボリュームを作成します。

図7.1 論理ボリュームグループ

論理ボリュームグループ
論理ボリュームグループは、論理ボリュームに分割されます。このボリューム には、/home/ m、ファイルシステムタイプ(ext2、ext3 など)が割り当てられます。「パーティション」がフル容量に到達すると、論理ボリュームグループの空き容量を追加して、パーティションのサイズを増やすことができます。システムに新しいハードドライブを追加すると、そのドライブを論理ボリュームグループに追加できます。また、論理ボリュームであるパーティションを拡張することができます。

図7.2 論理ボリューム

論理ボリューム
一方、システムが ext3 ファイルシステムでパーティション設定されている場合、ハードドライブは定義されたサイズのパーティションに分割されます。パーティションがいっぱいになると、パーティションのサイズを拡張するのは簡単ではありません。パーティションを別のハードドライブに移動した場合でも、元のハードドライブのスペースを別のパーティションとして再割り当てするか、使用しないようにする必要があります。
LVM サポートはカーネルにコンパイルする必要があり、デフォルトの Red Hat カーネルは LVM サポートでコンパイルされます。
インストールプロセス中に LVM を設定する方法は、8章LVM の設定 を参照してください。

7.2. LVM2 とは

LVM バージョン 2 または LVM2 は、2.6 カーネルに含まれるデバイスマッパードライバーを使用する Red Hat Enterprise Linux のデフォルトです。LVM2 は、以前の LVM1 バージョンとほぼ完全に互換性があり、2.4 カーネルを実行する Red Hat Enterprise Linux のバージョンからアップグレードできます。
通常、LVM1 から LVM2 へのアップグレードはシームレスに行われますが、より複雑な要件とアップグレードのシナリオの詳細については、「関連情報」 を参照してください。

7.3. 関連情報

これらのソースを使用して、LVM の詳細を確認してください。

7.3.1. インストールされているドキュメント

  • rpm -qd lvm - このコマンドは、man ページなど、lvm パッケージで利用可能なすべてのドキュメントを表示します。
  • lvm help —このコマンドは、使用可能なすべての LVM コマンドを表示します。

7.3.2. 便利な Web サイト

第8章 LVM の設定

LVM は、グラフィカルインストールプロセス、テキストベースのインストールプロセス、またはキックスタートインストール中に設定できます。lvm パッケージのユーティリティーを使用して、インストール後に独自の LVM 設定を作成できますが、この手順では、インストール時に ディスク Druid を使用してこのタスクを完了できます。
LVM について理解するには、まず 7章論理ボリュームマネージャー (LVM) を参照してください。LVM の設定に必要な手順の概要を以下に示します。
  • ハードドライブから 物理ボリューム を作成する。
  • 物理 ボリュームからのボリュームグループ の作成
  • ボリュームグループから 論理ボリューム を作成し、論理ボリュームのマウントポイントを割り当てます。
備考
以下の手順は、GUI のインストール時に示していますが、テキストベースのインストールで同じことができます。
2 9.1 GB の SCSI ドライブ(/dev/sda および /dev/sdb)が以下の例で使用されています。インストール時に、1 つの LVM ボリュームグループと関連する論理ボリュームを使用して、単純な設定を作成する方法が詳細に説明されています。

8.1. 自動パーティション設定

ディスクパーティションセットアップ 画面で、自動パーティション を選択し ます。
Red Hat Enterprise Linux の場合は、LVM がディスクパーティション化のデフォルト方法です。LVM を実装しない、または RAID のパーティション設定が必要な場合は、disk Druid で手動でディスクパーティションを設定 する必要があります。
以下のプロパティーは、自動作成された設定を構成します。
  • /boot/ パーティションは、独自の非 LVM パーティションにあります。以下の例では、最初のドライブ(/dev/sda1)の最初のパーティションです。起動可能なパーティションは LVM 論理ボリュームには存在 できません
  • 1 つの LVM ボリュームグループ(VolGroup00)が作成され、選択されたすべてのドライブと利用可能な残りのすべての領域を分割します。以下の例では、最初のドライブ(/dev/sda2)の残りのドライブと、2 番目のドライブ全体(/dev/sdb1)がボリュームグループに割り当てられます。
  • 新規作成したボリュームグループから、LVM 論理ボリューム(LogVol00 および LogVol01)が作成されます。以下の例では、推奨されるスワップ領域は自動的に計算され、LogVol01 に割り当てられ、残りのスワップ領域は root ファイルシステム LogVol00 に割り当てられます。

図8.1 2 つの SCSI ドライブを使用した LVM の自動設定

2 つの SCSI ドライブを使用した LVM の自動設定
備考
クォータを有効にする場合は、/home//var/ などの他のマウントポイントを含めるように自動設定を変更することが推奨されます。これにより、各ファイルシステムに独自の独立したクォータ設定制限を持たせることができます。
多くの場合、デフォルトの LVM パーティションの自動パーティションで十分ですが、高度な実装では LVM パーティションテーブルの変更や手動の設定が必要となる可能性があります。
備考
将来のメモリーアップグレードを想定している場合は、ボリュームグループに空き領域の一部を残すことで、システム上のスワップ領域の論理ボリュームを簡単に拡張できます。この場合、LVM の自動設定を変更して、将来の拡張のために利用可能な領域を確保する必要があります。

8.2. 手動での LVM パーティション設定

次のセクションでは、Red Hat Enterprise Linux 用に LVM を手動で設定する方法を説明します。LVM でシステムを手動で設定する方法は多数ありますが、以下の例では 「自動パーティション設定」 で行ったデフォルト設定と似ています。
ディスクパーティションセットアップ 画面で、ディスク Druid を使用した手動パーティション を 選択します。

8.2.1. /boot/ パーティションの作成

一般的な状況では、ディスクドライブが新しく、またはフォーマットされたクリーニングです。以下の図の 図8.2「2 つの Blank Drives(構成に Ready)」 は、パーティションが設定されていない raw デバイスとして、両方のドライブを示しています。

図8.2 2 つの Blank Drives(構成に Ready)

2 つの Blank Drives(構成に Ready)
Warning
GRUB ブートローダーは読み取れないため、/boot/ パーティションを LVM ボリュームグループに置くことはできません。
  1. New を選択します。
  2. マウントポイント プルダウンメニューから /boot を選択します。
  3. File System Type プルダウンメニューから ext3 を選択します。
  4. Allowable Drives エリアから sda チェックボックスを選択します。
  5. Size(MB) メニューの 100 (デフォルト)のままにします。
  6. Additional Size Options エリアで Fixed size (デフォルト)ラジオボタンを選択したままにします。
  7. Force to a primary partition を選択して、パーティションをプライマリーパーティションにします。プライマリーパーティションは、ハードドライブの最初の 4 つのパーティションの 1 つです。選択しないと、パーティションが論理パーティションとして作成されます。他のオペレーティングシステムがすでにシステムにインストールされている場合は、このオプションの選択を解除することを検討する必要があります。プライマリーパーティションと論理的/拡張パーティションの詳細は、『『インストールガイド』』 の付録セクションを参照してください。
入力した値を確認するには、図8.3「ブートパーティションの作成」 を参照してください。

図8.3 ブートパーティションの作成

ブートパーティションの作成
OK をクリックしてメイン画面に戻ります。以下の図は、ブートパーティションが正しく設定されていることを確認します。

図8.4 /boot/ パーティションの表示

/boot/ パーティションの表示

8.2.2. LVM 物理ボリュームの作成

ブートパーティションを作成したら、残りのディスク領域を LVM パーティションに割り当てることができます。LVM の実装を正常に作成するための最初の手順は、物理ボリュームの作成です。
  1. New を選択します。
  2. 図8.5「物理ボリュームの作成」 に示されるように、File System Type プルダウンメニューから 物理ボリューム(LVM) を選択します。

    図8.5 物理ボリュームの作成

    物理ボリュームの作成
  3. マウントポイントは、まだ入力できません(すべての物理ボリュームを作成した後にすべてのボリュームグループを作成すると可能になります)。
  4. 物理ボリュームは、1 つのドライブに制限する必要があります。Allowable Drives には、物理ボリュームを作成するドライブを選択します。複数のドライブがある場合は、すべてのドライブが選択され、1 つのドライブからすべての選択を解除する必要があります。
  5. 物理ボリュームのサイズを入力します。
  6. Fixed size を選択して、指定したサイズに物理ボリュームを作成し、Fill all space up to(MB) を選択し、物理ボリュームサイズの範囲を MB 単位で入力 するか、最大許容サイズ を選択してハードディスク上の利用可能な領域をすべて埋めます。複数の拡張を可能にすると、ディスクの空き容量を共有します。
  7. パーティションを プライマリーパーティションにするには、Force to a primary partition を選択します。
  8. OK をクリックしてメイン画面に戻ります。
これらの手順を繰り返して、LVM 設定に必要な物理ボリュームをいくつでも作成します。たとえば、ボリュームグループを複数のドライブにまたがるようにするには、ドライブごとに物理ボリュームを作成します。以下の図は、反復プロセス後に完了した両方のドライブを示しています。

図8.6 2 つの物理ボリュームが作成される

2 つの物理ボリュームが作成される

8.2.3. LVM ボリュームグループの作成

すべての物理ボリュームを作成したら、ボリュームグループを作成できます。
  1. LVM ボタンをクリックして、物理ボリュームをボリュームグループに収集します。ボリュームグループは、基本的には物理ボリュームの集合です。複数の論理ボリュームグループを設定できますが、物理ボリュームは 1 つのボリュームグループにしか存在できません。
    備考
    論理ボリュームグループに、オーバーヘッドのディスク領域が予約されています。物理ボリュームの合計はボリュームグループのサイズと同じではない場合がありますが、表示される論理ボリュームのサイズは正しくありません。

    図8.7 LVM ボリュームグループの作成

    LVM ボリュームグループの作成
  2. 必要に応じて ボリュームグループ名 を変更します。
  3. ボリュームグループ内の論理ボリュームはすべて、物理エクステント 単位で割り当てる必要があります。デフォルトでは、物理エクステントは 32 MB に設定されています。そのため、論理ボリュームのサイズは 32 MB で除算する必要があります。32 MB の単位ではないサイズを入力すると、インストールプログラムは、32 MB の単位で最も近いサイズを自動的に選択します。この設定を変更することは推奨されません。
  4. ボリュームグループに使用する物理ボリュームを選択します。

8.2.4. LVM 論理ボリュームの作成

/、/home / 、swap 領域などのマウントポイントで論理ボリュームを作成します。/boot は論理ボリュームにすることはできないことに注意してください。論理ボリュームを追加するには、論理ボリューム セクションの 追加 ボタンをクリックします。図8.8「論理ボリュームの作成」 に示されているようにダイアログウィンドウが表示されます。

図8.8 論理ボリュームの作成

論理ボリュームの作成
作成するボリュームグループごとに、この手順を繰り返します。
ヒント
論理ボリュームを後で拡張できるように、論理ボリュームグループに空き領域の一部を残すこともできます。デフォルトの自動設定はこれを行いませんが、この手動設定の例は今後の拡張用に約 1 GB の空き領域として残されます。

図8.9 保留中の論理ボリューム

保留中の論理ボリューム
OK をクリックして、ボリュームグループと、関連するすべての論理ボリュームを適用します。
以下の図は、最終的な手動設定を示しています。

図8.10 最終の手動設定

最終の手動設定

第9章 RAID (Redundant Array of Independent Disks)

9.1. RAID とは

RAID の登場した背景には、容量が小さく手頃なディスクドライブを複数集めてアレイに結合させ、容量が大きく高価なドライブに負けないパフォーマンスと冗長性を実現しようとする動きがありました。この複数のデバイスからなるアレイは、コンピューター上では単一の論理ストレージユニットまたはドライブとして表されます。
RAID は、情報が複数のディスクに分散される方法です。RAID は、ディスクストライピング (RAID レベル 0)、ディスクミラーリング (RAID レベル 1)、および パリティー(RAID レベル 5)でのディスクストライピング などの技術を使用して、冗長性、レイテンシーの短縮、ディスクの読み取りや書き込みのための帯域幅の向上、ハードディスクのクラッシュから復旧する機能を最大化します。
RAID の基本的な概念は、アレイ内の各ドライブにデータを一貫した方法で分散できることです。これを実行するには、データを最初に一貫して使用する チャンク に分割する必要があります(サイズが 32K または 64K のサイズは異なります)。各チャンクは、使用される RAID レベルに従って、RAID アレイのハードドライブに書き込まれます。データを読み取る場合、プロセスは逆になり、アレイ内の複数のドライブが実際には 1 つの大きなドライブであることを確認できます。

9.2. RAID を使用するユーザー

大量のデータを維持する必要がある場合(システム管理者など)は、RAID テクノロジーを使用して利点があります。RAID を使用する主な理由は次のとおりです。
  • 改善された速度
  • 1 つの仮想ディスクを使用したストレージ容量の拡張
  • ディスク障害の影響を軽減

9.3. ハードウェア RAID とソフトウェア RAID の比較

考えられる RAID アプローチには、ハードウェア RAID とソフトウェア RAID の 2 つがあります。

9.3.1. ハードウェア RAID

ハードウェアベースのアレイは、ホストから RAID サブシステムを管理し、RAID アレイごとに 1 つのディスクのみを提示します。
ハードウェア RAID デバイスの例は、SCSI コントローラーに接続し、RAID アレイを 1 つの SCSI ドライブとして表示するものです。外部 RAID システムは、「intelligence」のすべての RAID 処理を、外部ディスクサブシステムにあるコントローラーに移動します。サブシステム全体が通常の SCSI コントローラーを介してホストに接続され、1 つのディスクとしてホストに表示されます。
RAID コントローラーは、オペレーティングシステムへの SCSI コントローラーのように 動作 し、実際のドライブ通信自体すべてを処理するカードの形式にも提供されます。このような場合は、SCSI コントローラーと同様にドライブを RAID コントローラーにプラグインしますが、RAID コントローラーの設定に追加し、オペレーティングシステムは違いを認識しません。

9.3.2. ソフトウェア RAID

ソフトウェア RAID では、カーネルディスク (ブロックデバイス) コード内に各種の RAID レベルを実装しています。高価ディスクコントローラーカードやホットスワップシャーシなど、最優先的な解決策を提供します。 [2] 必須ではありません。ソフトウェア RAID は、SCSI ディスクだけでなく安価な IDE ディスクでも機能します。現在高速な CPU により、ソフトウェア RAID のパフォーマンスは、ハードウェア RAID に対して調査できます。
Linux カーネルの MD ドライバーは、完全にハードウェアに依存しない RAID ソリューションの例です。ソフトウェアベースのアレイのパフォーマンスは、サーバーの CPU パフォーマンスと負荷によって異なります。
インストール時にソフトウェア RAID を設定する方法は、10章ソフトウェア RAID の設定 を参照してください。
ソフトウェア RAID が提供する詳細を知るには、以下に最も重要な機能を紹介します。
  • スレッド再構築プロセス
  • カーネルベースの設定
  • 再構築なしで Linux マシン間でのアレイの移植性
  • アイドルシステムリソースを使用したバックグラウンドのアレイ再構築
  • ホットスワップ可能なドライブのサポート
  • 特定の CPU 最適化を利用する自動 CPU 検出


[2] ホットスワップシャーシを使用すると、システムの電源を切らずにハードドライブを削除できます。

9.4. RAID レベルとリニアサポート

RAID は、レベル 0、1、4、5、リニアなどのさまざまな設定に対応します。これらの RAID タイプは以下のように定義されます。
  • レベル 0: RAID レベル 0 は、多くの場合「ストライプ化」と呼ばれ、パフォーマンス指向のストライプ化データマッピング技術です。これは、アレイに書き込まれるデータがストライプに分割され、アレイのメンバーディスク全体に書き込まれることを意味します。これにより低い固有コストで高い I/O パフォーマンスを実現できますが、冗長性は提供されません。レベル 0 アレイのストレージ容量は、ハードウェア RAID 内のメンバーディスクの合計容量、またはソフトウェア RAID 内のメンバーパーティションの合計容量と同じになります。
  • レベル 1: RAID レベル 1 または「ミラーリング」は、他の RAID 形式よりも長く使用されています。レベル 1 は、アレイ内の各メンバーディスクに同一データを書き込むことで冗長性を提供し、各ディスクに対して「ミラーリング」コピーをそのまま残します。ミラーリングは、データの可用性の単純化と高レベルにより、いまでも人気があります。レベル 1 は、2 つ以上のディスクで動作します。このディスクは、読み取り時に、データ転送率が高いのに並列アクセスを使用できるものの、一般的には独立して動作し、高い I/O トランザクションレートを提供します。レベル 1 は、非常に優れたデータの信頼性を提供し、読み取り集中型アプリケーションのパフォーマンスを向上しますが、比較的コストが高くなります。[3] レベル 1 アレイのストレージ容量は、ハードウェア RAID でミラーリングされたハードディスクのいずれかの容量と同じか、またはソフトウェア RAID にミラーリングされたパーティションの 1 つと等しくなります。
  • レベル 4: レベル 4 でパリティーを使用 [4] データを保護するため、1 つのディスクドライブで連結します。これは、大きなファイル転送ではなく、トランザクション I/O に適しています。専用のパリティーディスクは固有のボトルネックを表すため、レベル 4 は、ライトバックキャッシングなどの付随するテクノロジーを使用せずに使用されます。RAID レベル 4 は、一部の RAID パーティションスキームではオプションですが、Red Hat Enterprise Linux RAID インストールではオプションは使用できません。[5] ハードウェア RAID レベル 4 のストレージ容量はメンバーディスクの容量と同じで、1 つのメンバーディスクの容量を引いたことができます。ソフトウェア RAID レベル 4 のストレージ容量は、メンバーパーティションの容量と同じで、パーティションのサイズを等しい場合は、パーティションの 1 つを減算します。
  • レベル 5: これは RAID の最も一般的なタイプです。RAID レベル 5 は、アレイのメンバーディスクドライブの一部またはすべてにパリティーを分散することで、レベル 4 に固有の書き込みボトルネックを排除します。パリティー計算プロセスのみがパフォーマンスのボトルネックです。最新の CPU とソフトウェア RAID では、通常非常に大きな問題ではありません。レベル 4 と同様に、読み取りは書き込みを大幅に上回ります。レベル 5 は、多くの場合、ライトバックキャッシングで使用され、アクレメトリーを削減します。ハードウェア RAID レベル 5 のストレージ容量はメンバーディスクの容量と同じで、1 つのメンバーディスクの容量を引いたことができます。ソフトウェア RAID レベル 5 のストレージ容量は、メンバーパーティションの容量と同じで、パーティションのサイズを等しい場合は、パーティションの 1 つを減算します。
  • リニア RAID - リニア RAID は、より大きな仮想ドライブを作成するためのドライブを簡単にグループ化したものです。リニア RAID では、あるメンバードライブからチャンクが順次割り当てられます。最初のドライブが完全に満杯になったときにのみ次のドライブに移動します。これにより、メンバードライブ間の I/O 操作が分割される可能性はないため、パフォーマンスの向上は見られません。リニア RAID には冗長性がなく、実際に、信頼性は低下します。いずれかのメンバードライブに障害が発生した場合は、アレイ全体を使用することができません。容量はすべてのメンバーディスクの合計になります。


[3] RAID レベル 1 は、ドライブ領域を無駄にするアレイ内のすべてのディスクに同じ情報を書き込むため、高価になります。たとえば、root(/)パーティションが 2 つの 40G ドライブに存在するように RAID レベル 1 が設定されている場合は、合計 80G があり、その 80G の 40G のみにアクセスできます。他の 40G は最初の 40G のミラーのように動作します。
[4] パリティー情報は、アレイ内の残りのメンバーディスクのコンテンツに基づいて計算されます。この情報は、アレイ内のいずれかのディスクに障害が発生した場合にデータの再構築に使用できます。その後、再構築されたデータを使用して、交換前に失敗したディスクに I/O 要求に対応でき、交換後に失敗したディスクを接続します。
[5] RAID レベル 4 は、RAID レベル 5 と同じ領域を使用しますが、レベル 5 の方が利点があります。このため、レベル 4 はサポートされません。

第10章 ソフトウェア RAID の設定

ソフトウェア RAID は、グラフィカルインストールプロセス、テキストベースのインストールプロセス、またはキックスタートインストール中に設定できます。本章では、ディスク Druid インターフェースを使用して、インストール時にソフトウェア RAID を設定する方法を説明します。
9章RAID (Redundant Array of Independent Disks) は、最初に RAID、ハードウェアおよびソフトウェア RAID の相違点、および RAID 0、1、および 5 の相違点を参照してください。RAID の設定に必要な手順の概要を以下に示します。
  • ソフトウェア RAID パーティション を物理ハードドライブに適用する。
    起動パーティション(/boot/)が RAID 分割に存在する場合は、RAID 1 パーティション上にある 必要 があります。
  • ソフトウェア RAID パーティションから RAID デバイス を作成する。
  • 必要に 応じ て、RAID デバイスから LVM を設定します。RAID の設定後に LVM を設定する方法は、8章LVM の設定 を参照してください。
  • RAID デバイスから ファイルシステム を作成する。
備考
以下の手順は、GUI のインストール時に示していますが、テキストベースのインストールで同じことができます。
ソフトウェア RAID の設定は、インストールプロセス時に ディスク Druid で手動で行う必要があります。
2 9.1 GB の SCSI ドライブ(/dev/sda および /dev/sdb)が以下の例で使用されています。複数の RAID デバイスを実装して、シンプルな RAID 1 設定を作成する方法について詳しく説明します。
ディスクパーティションセットアップ 画面で、ディスク Druid を使用した手動パーティション を 選択します。

10.1. RAID パーティションの作成

一般的な状況では、ディスクドライブが新規またはフォーマットされます。両方のドライブは、図10.1「2 つの Blank Drives(構成に Ready)」 にパーティション設定のない raw デバイスとして表示されます。

図10.1 2 つの Blank Drives(構成に Ready)

2 つの Blank Drives(構成に Ready)
  1. Disk Druid で RAID を選択し、ソフトウェア RAID の作成画面を入力します。
  2. 図10.2「RAID パーティションオプション」 にあるよう に、ソフトウェア RAID パーティションの作成 を 選択して、RAID パーティションを作成します。RAID パーティションと RAID デバイスが作成されるまで、その他の RAID オプション(マウントポイントの入力など)はできません。

    図10.2 RAID パーティションオプション

    RAID パーティションオプション
  3. ソフトウェア RAID パーティションは、1 つのドライブに制限する必要があります。Allowable Drives には、RAID を作成するドライブを選択します。複数のドライブがある場合は、すべてのドライブが選択され、1 つのドライブからすべての選択を解除する必要があります。

    図10.3 RAID パーティションの追加

    RAID パーティションの追加
  4. パーティションを設定するサイズを入力します。
  5. Fixed size を選択してパーティションの指定サイズを作成し、Fill all space up to(MB) を選択し、パーティションサイズの範囲を MB 単位で入力 するか、Fill を選択して、ハードディスクで利用可能な領域をすべて埋めます。複数のパーティションを拡大できる場合は、ディスクで利用可能な空き領域を共有します。
  6. パーティションを プライマリーパーティションにするには、Force to a primary partition を選択します。プライマリーパーティションは、ハードドライブの最初の 4 つのパーティションの 1 つです。選択しないと、パーティションが論理パーティションとして作成されます。他のオペレーティングシステムがすでにシステムにインストールされている場合は、このオプションの選択を解除することを検討する必要があります。プライマリーパーティションと論理的/拡張パーティションの詳細は、『『インストールガイド』』 の付録セクションを参照してください。
  7. OK をクリックしてメイン画面に戻ります。
この手順を繰り返して、RAID 設定に必要なパーティションを多数作成します。すべてのパーティションを RAID パーティションにする必要はありません。たとえば、/boot/ パーティションのみをソフトウェア RAID デバイスとして設定し、root パーティション(/)、/home/、および swap を通常のファイルシステムとして残すことができます。図10.4「RAID 1 パーティションが Ready、Pre-Device、および Mount Point の作成」 RAID 1 設定( /boot/の場合)に正常に割り当てられた領域が表示されます。これは、RAID デバイスとマウントポイントの作成の準備が整いました。

図10.4 RAID 1 パーティションが Ready、Pre-Device、および Mount Point の作成

RAID 1 パーティションが Ready、Pre-Device、および Mount Point の作成

10.2. RAID デバイスとマウントポイントの作成

ソフトウェア RAID パーティションとしてパーティションをすべて作成したら、以下の手順で RAID デバイスとマウントポイントを作成します。
  1. Disk Druid main partitioning 画面で RAID ボタンを選択します( 図10.5「RAID オプション」を参照)。
  2. 図10.5「RAID オプション」 が表示されます。Create a RAID device を選択します。

    図10.5 RAID オプション

    RAID オプション
  3. 次に 図10.6「RAID デバイスの作成およびマウントポイントの割り当て」 が表示されます。ここでは、RAID デバイスを作成してマウントポイントを割り当てることができます。

    図10.6 RAID デバイスの作成およびマウントポイントの割り当て

    RAID デバイスの作成およびマウントポイントの割り当て
  4. マウントポイントを入力します。
  5. パーティションのファイルシステムタイプを選択します。この時点で、動的 LVM ファイルシステム、または従来の静的 ext2/ext3 ファイルシステムを設定できます。RAID デバイスに LVM を設定する方法は、物理ボリューム(LVM) を選択してから 8章LVM の設定 を参照してください。LVM が必要ない場合は、以下の手順に進んでください。
  6. RAID デバイスの md0 などのデバイス名を選択します。
  7. RAID レベルを選択します。RAID 0 RAID 1、および RAID 5 から選択できます。実装する RAID レベルの決定にサポートが必要な場合は、9章RAID (Redundant Array of Independent Disks) を参照してください。
    備考
    /boot/ の RAID パーティションを作成する場合は、RAID レベル 1 を選択する必要があります。また、最初の 2 つのドライブ(IDE 1、SCSI 2)のいずれかを使用する必要があります。/boot/ の RAID パーティションを作成しておらず、root ファイルシステム(/)用に RAID パーティションを作成している場合は、RAID レベル 1 にする必要があります。また、最初の 2 つのドライブ(IDE 1、SCSI 2)のいずれかを使用する必要があります。

    図10.7 /boot/ マウントエラー

    /boot/ マウントエラー
  8. 作成した RAID パーティションが RAID メンバー の一覧に表示されます。RAID デバイスの作成に使用するパーティションを選択します。
  9. RAID 1 または RAID 5 を設定する場合は、予備のパーティションの数を指定します。ソフトウェア RAID パーティションに障害が発生した場合、スペアは代替として自動的に使用されます。指定する各ペアについて、(RAID デバイスのパーティションに加えて)追加のソフトウェア RAID パーティションを作成する必要があります。RAID デバイスのパーティションと、予備のパーティションを選択します。
  10. OK をクリックすると、RAID デバイスがドライブの 概要一覧に表示 されます。
  11. この章では、root パーティション(/)、/home/、swap など、追加のパーティション、デバイス、マウントポイントを設定するプロセス全体を繰り返します。
設定全体が終わると、図10.8「RAID 設定のサンプル」 に示される図は、RAID の使用を除きデフォルト設定のようになります。

図10.8 RAID 設定のサンプル

RAID 設定のサンプル
図10.9「LVM 設定を使用した RAID の最終的なサンプル」 に示されている図は、RAID および LVM の設定例です。

図10.9 LVM 設定を使用した RAID の最終的なサンプル

LVM 設定を使用した RAID の最終的なサンプル
インストールプロセスを続行できます。その他の手順については、『『インストールガイド』』 を参照してください。

第11章 swap 領域

11.1. 変動スペースとは

Linux の スワップ領域 は、物理メモリー (RAM) が不足すると使用されます。システムに多くのメモリーリソースが必要で、RAM が不足すると、メモリーの非アクティブなページがスワップ領域に移動します。スワップ領域は、RAM が少ないマシンで役に立ちますが、RAM の代わりに使用しないようにしてください。スワップ領域はハードドライブにあり、そのアクセス速度は物理メモリーに比べると遅くなります。
スワップ領域の構成は、専用のスワップパーティション (推奨)、スワップファイル、またはスワップパーティションとスワップファイルの組み合せが考えられます。
swap のサイズは、最大 2 GB の物理メモリーに対して、コンピューターの物理メモリーの 2 倍以上である必要があります。物理 RAM が 2 GB を超える場合、スワップのサイズは 2 GB を超える物理メモリーの容量と同じである必要があります。swap のサイズは、32 MB 未満にしないでください。
この基本的な式を使用すると、2 GB の物理メモリーを持つシステムには 4 GB の swap が設定されます。また、3 GB の物理メモリーを持つシステムの swap は 5 GB です。
備考
ただし、Red Hat Enterprise Linux に割り当てるスワップ量を決定することは、人数よりも多くあるため、ハードルールはできません。スワップサイズを決定するときは、各システムの最も使用されているアプリケーションを考慮する必要があります。
重要な影響
スワップ領域として割り当てたファイルシステムおよび LVM2 ボリュームは、変更時に使用 できません。たとえば、システムプロセスに swap 領域が割り当てられず、カーネルにより割り当てて使用するスワップはできません。free コマンドおよび cat /proc/swaps コマンドを使用して、スワップの使用量と、使用中の場所を確認します。
スワップ領域の変更を実現する最適な方法は、システムをレスキューモードで起動してから、本章の残りの手順(各シナリオ用)に従うことです。レスキューモードで起動する方法は、5章基本的なシステムの復元 を参照してください。ファイルシステムをマウントするように指示されたら、スキップ を選択します。

11.2. スワップ領域の追加

場合によっては、インスト-ルした後にさらに swap 領域の追加が必要になることもあります。たとえば、システムの RAM 容量を 128 MB から 256 MB にアップグレードできますが、swap 領域は 256 MB のみになります。メモリーを大幅に消費する操作を実行している場合や、大量のメモリーを必要とするアプリケーションを実行する場合には、スワップ領域を 512 MB に増やすと有益となる可能性があります。
選択肢が3つあります: 新規の swap パーティションの作成、新規の swap ファイルの作成、あるいは既存の LVM2 論理ボリューム上で swap の拡張。この中では、既存論理ボリュームを拡張することが推奨されます。

11.2.1. LVM2 論理ボリュームでのスワップ領域の拡張

LVM2 スワップ論理ボリュームを拡張するには( /dev/VolGroup00/LogVol01 が拡張するボリュームと想定します)。
  1. 関連付けられている論理ボリュームのスワップ機能を無効にします。
     # swapoff -v /dev/VolGroup00/LogVol01 
  2. LVM2 論理ボリュームのサイズを 256 MB に変更します。
     # lvm lvresize /dev/VolGroup00/LogVol01 -L +256M 
  3. 新しいスワップ領域をフォーマットします。
     # mkswap /dev/VolGroup00/LogVol01 
  4. 拡張論理ボリュームを有効にします。
     # swapon -va 
  5. 論理ボリュームが適切に拡張されていることを確認します。
     # cat /proc/swaps # free 

11.2.2. スワップの LVM2 論理ボリュームの作成

スワップボリュームグループを追加するには (/dev/VolGroup00/LogVol02 が追加するスワップボリュームであると想定)、以下を実行します。
  1. サイズが 256 MB の LVM2 論理ボリュームを作成します。
     # lvm lvcreate VolGroup00 -n LogVol02 -L 256M 
  2. 新しいスワップ領域をフォーマットします。
     # mkswap /dev/VolGroup00/LogVol02 
  3. 次のエントリーを /etc/fstab ファイルに追加します。
     /dev/VolGroup00/LogVol02 swap swap defaults 0 0 
  4. 拡張論理ボリュームを有効にします。
     # swapon -va 
  5. 論理ボリュームが適切に拡張されていることを確認します。
     # cat /proc/swaps # free 

11.2.3. スワップファイルの作成

swap ファイルを追加します。
  1. 新しいスワップファイルのサイズをメガバイト単位で指定してから、そのサイズに 1024 をかけてブロック数を指定します。たとえばスワップファイルのサイズが 64 MB の場合は、ブロック数が 65536 になります。
  2. root としてシェルプロンプトで、必要なブロックサイズと同じ カウント を持つ以下のコマンドを入力します。
    dd if=/dev/zero of=/swapfile bs=1024 count=65536
  3. 次のコマンドでスワップファイルをセットアップします。
    mkswap /swapfile
  4. スワップファイルを起動時に自動的にではなく、すぐに有効にする場合は、以下を実行します。
    swapon /swapfile
  5. 起動時に有効にするには、/etc/fstab を編集して以下のエントリーを含めます。
    /swapfile          swap            swap    defaults        0 0
    
    次にシステムが起動すると、新しいスワップファイルが有効になります。
  6. 新しいスワップファイルを追加して有効にしたら、cat /proc/swaps または free のコマンドの出力を表示してこれが有効であることを確認します。

11.3. スワップ領域の削除

インスト-ルの後に swap 領域を減らすことが賢明な場合もあります。たとえば、システムの RAM 容量を 1 GB から 512 MB にダウングレードするとします。しかし、依然として 2 GB のスワップスペースが割り当てられています。ディスク領域が大きくなる (2 GB など) と無駄になる可能性があるため、スワップ領域を 1 GB に減らすことでメリットを得られることがあります。
ここでも選択肢が3つあります: swap 用に使用していた LVM2 論理ボリューム全体を削除、swap ファイルの削除、あるいは既存の LVM2 論理ボリューム上の swap 領域の低減。

11.3.1. LVM2 論理ボリュームでのスワップ領域の縮小

LVM2 スワップ論理ボリュームを減らします( /dev/VolGroup00/LogVol01 が拡張するボリュームを想定)。
  1. 関連付けられている論理ボリュームのスワップ機能を無効にします。
     # swapoff -v /dev/VolGroup00/LogVol01 
  2. LVM2 論理ボリュームのサイズを変更して 512 MB 削減します。
     # lvm lvreduce /dev/VolGroup00/LogVol01 -L -512M 
  3. 新しいスワップ領域をフォーマットします。
     # mkswap /dev/VolGroup00/LogVol01 
  4. 拡張論理ボリュームを有効にします。
     # swapon -va 
  5. 論理ボリュームが適切に縮小されたことをテストします。
     # cat /proc/swaps # free 

11.3.2. スワップの LVM2 論理ボリュームの削除

swap 論理ボリュームは使用できません(ボリュームのシステムロックやプロセスはありません)。最も簡単にこれを実現する方法は、システムをレスキューモードで起動することです。レスキューモードで起動する方法は、5章基本的なシステムの復元 を参照してください。ファイルシステムをマウントするように指示されたら、スキップ を選択します。
swap ボリュームグループを削除します (/dev/VolGroup00/LogVol02 が削除するボリュームであるとします)。
  1. 関連付けられている論理ボリュームのスワップ機能を無効にします。
     # swapoff -v /dev/VolGroup00/LogVol02 
  2. サイズ 512MB の LVM2 論理ボリュームを削除します。
     # lvm lvremove /dev/VolGroup00/LogVol02 
  3. /etc/fstab ファイルから次のエントリーを削除します。
     /dev/VolGroup00/LogVol02 swap swap defaults 0 0 
  4. 論理ボリュームが適切に拡張されていることを確認します。
     # cat /proc/swaps # free 

11.3.3. スワップファイルの削除

swap ファイルを削除します。
  1. root としてシェルプロンプトで以下のコマンドを実行してスワップファイルを無効にします( /swapfile はスワップファイル)。
     # swapoff -v /swapfile 
  2. /etc/fstab ファイルから該当するエントリーを削除します。
  3. 実際のファイルを削除します。
     # rm /swapfile 

11.4. Swap 領域の移動

スワップスペースをある場所から別の場所に移動するには、スワップスペースを削除する手順を実行してから、スワップスペースを追加する手順を実行します。

第12章 ディスクストレージの管理

さまざまなメソッドの概要...

12.1. partedで標準パーティション

多くのユーザーは、既存のパーティションテーブルの表示、パーティションのサイズの変更、パーティションの削除、空き領域からのパーティションの追加、またはハードドライブの追加が必要になります。ユーティリティー parted を使用すると、ユーザーはこれらのタスクを実行することができます。本章では、parted を使用してファイルシステムタスクを実行する方法を説明します。
システムのディスク領域の使用状況を表示したり、ディスク領域の使用量を監視する場合は、「ファイルシステム」 を参照してください。
parted ユーティリティーを使用するには、parted パッケージがインストールされている。parted を起動するには、root としてシェルプロンプトで parted /dev/sda コマンドを入力します。/dev/sda は、設定するドライブのデバイス名です。(parted) プロンプトが表示されます。利用可能なコマンドの一覧を表示するには、help と入力します。
パーティションを作成、削除、またはサイズ変更する場合は、デバイスを使用できなくなります(パーティションをマウントできず、swap 領域を有効化できません)。カーネルが変更を適切に認識しないため、パーティションテーブルは使用中の間変更しないでください。データは、パーティションテーブルとマウントされたパーティションが一致しないため、誤ったパーティションに書き込むことで上書きされる可能性があります。最も簡単にこれを実現する方法は、システムをレスキューモードで起動することです。レスキューモードで起動する方法は、5章基本的なシステムの復元 を参照してください。ファイルシステムをマウントするように指示されたら、スキップ を選択します。
または、ドライブに使用中のパーティション (ファイルシステムがアンマウントされないように使用またはロックしているシステムプロセス) がない場合、umount コマンドでパーティションをアンマウントし、swapoff コマンドで、ハードドライブのすべてのスワップ領域を無効にできます。
表12.1「parted コマンド」 一般的に使用される parted コマンドの一覧が含まれています。以下のセクションでは、その一部について詳細に説明します。
表12.1 parted コマンド
コマンド 説明
check minor-num ファイルシステムの簡単なチェックを実行します。
cp fromto ファイルシステムをあるパーティションから別のパーティションにコピーします。fromto はパーティションのマイナー番号です。
help 利用可能なコマンドの一覧を表示します。
mklabel label パーティションテーブル用のディスクラベルを作成します。
mkfs minor-numfile-system-type タイプ file-system-type のファイルシステムを作成します。
mkpart part-typefs-typestart-mbend-mb 新しいファイルシステムを作成せずに、パーティションを作成します。
mkpartfs part-typefs-typestart-mbend-mb パーティションを作成し、指定されたファイルシステムを作成します。
move minor-numstart-mbend-mb パーティションを移動します。
name minor-numname Mac と PC98 のディスクラベル用のみのパーティションに名前を付けます。
print パーティションテーブルを表示します。
quit parted を終了します。
rescuestart-mbend-mb start-mb から end-mb へ、消失したパーティションを復旧します。
resize minor-numstart-mbend-mb パーティションのサイズを start-mb から end-mb に変更します。
rm minor-num パーティションを削除します。
select device 設定する別のデバイスを選択します。
set minor-numflagstate パーティションにフラグを設定します。state はオンまたはオフのいずれかになります。

12.1.1. パーティションテーブルの表示

parted を起動したら、以下のコマンドを入力してパーティションテーブルを表示します。
print
以下のようなテーブルが表示されます。
Disk geometry for /dev/sda: 0.000-8678.789 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031    101.975  primary   ext3        boot
2        101.975   5098.754  primary   ext3
3       5098.755   6361.677  primary   linux-swap
4       6361.677   8675.727  extended
5       6361.708   7357.895  logical   ext3


Disk geometry for /dev/hda: 0.000-9765.492 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031    101.975  primary   ext3        boot
2        101.975    611.850  primary   linux-swap  
3        611.851    760.891  primary   ext3        
4        760.891   9758.232  extended              lba
5        760.922   9758.232  logical   ext3
最初の行はディスクのサイズを表示し、2 番目の行にはディスクラベルのタイプが表示され、残りの出力にはパーティションテーブルが表示されます。
パーティションテーブルでは、最小番号 パーティション番号になります。たとえば、マイナー番号 1 のパーティションは、/dev/sda1 に対応します。Start および End の値はメガバイト単位です。Type は primary、extended、または logical のいずれかです。Filesystem はファイルシステムタイプで、ext2、ext3、fat16、fat32、hfs、jfs、linux-swap、ntfs、reiserfs、hp-ufs、sun-ufs、または xfs のいずれかです。Flags は、パーティションに設定したフラグを一覧表示しています。利用可能なフラグは、boot、root、swap、hidden、raid、lvm、または lba です。
この例では、マイナー番号 1 は /boot/ ファイルシステムを指し、マイナー番号 2 は root ファイルシステム(/)を指し、マイナー番号 3 はスワップを参照し、マイナー番号 5 は /home/ ファイルシステムを指します。
ヒント
parted を再起動せずに別のデバイスを選択するには、select コマンドで、/dev/sda などのデバイス名を指定します。次に、パーティションテーブルを表示したり、設定できます。

12.1.2. パーティションの作成

警告
使用中のデバイスに、パーティションを作成しないようにしてください。
パーティションを作成する前に、レスキューモードで起動します (または、デバイス上のパーティションをアンマウントして、デバイス上の swap 領域をすべてオフにします)。
parted を起動します。/dev/sda は、パーティションを作成するデバイスです。
parted /dev/sda
現在のパーティションテーブルを表示し、十分な空き領域があるかどうかを確認します。
print
十分な空き容量がない場合は、既存のパーティションのサイズを変更できます。詳細は、「パーティションのサイズ変更」 を参照してください。
12.1.2.1. パーティションの作成
パーティションテーブルから、新しいパーティションの開始点と終了点、およびパーティションのタイプを決定します。プライマリーパーティションは、1 つのデバイス上に 4 つまで保有できます (この場合は拡張パーティションは含みません)。パーティションが 5 つ以上必要な場合は、プライマリーパーティションを 3 つ、拡張パーティションを 1 つにし、その拡張パーティションの中に複数の論理パーティションを追加します。ディスクパーティションの概要 『は、『『インストールガイド』』 の付録「ディスクパーティションの概要」を』 参照してください。
たとえば、ハードドライブの 1024 メガバイトから 2048 メガバイトに ext3 ファイルシステムのプライマリーパーティションを作成するには、以下のコマンドを入力します。
mkpart primary ext3 1024 2048
ヒント
代わりに mkpartfs コマンドを使用すると、パーティションが作成されてからファイルシステムが作成されます。ただし、parted では、ext3 ファイルシステムの作成に対応していません。そのため、ext3 ファイルシステムを作成する場合は、mkpart を使用して、後述のように mkfs コマンドを実行してファイルシステムを作成します。mkpartfs は、ファイルシステムタイプ linux-swap で動作します。
Enter を押すと変更が反映されるため、押す前に再度確認してください。
パーティションを作成したら、print コマンドを使用して、パーティションが正しいパーティションタイプ、ファイルシステムタイプ、およびサイズでパーティションテーブルにあることを確認します。また、ラベル付けできるように、新しいパーティションのマイナー番号も覚えておいてください。以下の出力も表示されるはずです。
cat /proc/partitions
カーネルが新しいパーティションを認識していることを確認します。
12.1.2.2. パーティションのフォーマット
パーティションにはまだファイルシステムがありません。ファイルシステムを作成します。
/sbin/mkfs -t ext3 /dev/sda6
Warning
パーティションをフォーマットすると、そのパーティションに現存するすべてのデータが永久に抹消されます。
12.1.2.3. パーティションのラベル付け
次に、パーティションにラベルを指定します。たとえば、新しいパーティションが /dev/sda6 で、/work にラベルを付ける場合は、次のコマンドを実行します。
e2label /dev/sda6 /work
デフォルトでは、インストールプログラムはパーティションのマウントポイントをラベルとして使用して、ラベルが固有なものとなるようにします。ユーザーは使用するラベルを選択できます。
12.1.2.4. マウントポイントの作成
root でマウントポイントを作成します。
mkdir /work
12.1.2.5. /etc/fstab への追加
root で /etc/fstab ファイルを編集して、新しいパーティションを追加します。新しい行は以下のようになります。
LABEL=/work           /work                 ext3    defaults        1 2
最初の列には、LABEL= の後にパーティションを付けたラベルが含まれるはずです。2 番目の列には、新しいパーティションのマウントポイントが含まれている必要があり、その次の列はファイルシステムタイプ (たとえば、ext3 または swap) である必要があります。フォーマットの詳細が必要な場合は、コマンド man fstab を使用して man ページを参照してください。
4 列目がデフォルトである場合 パーティションは起動時にマウントされます。再起動せずにパーティションをマウントするには、root で次のコマンドを入力します。
mount /work

12.1.3. パーティションの削除

警告
パーティションが設定されているデバイスが使用中の場合は、削除しないでください。
パーティションを削除する前に、レスキューモードで起動します (または、デバイス上のパーティションをアンマウントして、デバイス上の swap 領域をすべてオフにします)。
parted を起動します。/dev/sda は、パーティションを削除するデバイスです。
parted /dev/sda
現在のパーティションテーブルを表示して、削除するパーティションのマイナー番号を確認します。
print
rm コマンドでパーティションを削除します。例えば、マイナー番号 3 のパーティションを削除するのは以下のコマンドです。
rm 3
変更は Enter を押すと変更が反映されるため、押す前にコマンドを再度確認してください。
パーティションを削除したら、print コマンドを使用して、パーティションテーブルから削除されていることを確認します。以下の出力も表示されるはずです。
cat /proc/partitions
カーネルがパーティションが削除されていることを確認します。
最後の手順は、/etc/fstab ファイルからそれを削除することです。削除したパーティションを宣言している行を見つけ、ファイルから削除します。

12.1.4. パーティションのサイズ変更

警告
パーティションが設定されているデバイスが使用中の場合は、サイズを変更しないでください。
パーティションのサイズを変更する前に、レスキューモードで起動します (または、デバイス上のパーティションをアンマウントして、デバイス上の swap 領域をすべてオフにします)。
parted を起動します。/dev/sda は、パーティションのサイズを変更するデバイスです。
parted /dev/sda
現在のパーティションテーブルを表示して、サイズを変更するパーティションのマイナー番号と、パーティションの開始点と終了点を決定します。
print
Warning
サイズを変更するパーティションに使用される領域は、新しいサイズよりも大きくすることはできません。
パーティションのサイズを変更するには、resize コマンドの後に、パーティションのマイナー番号、、開始位置 (メガバイト単位)、終了位置 (メガバイト単位) を使用します。以下に例を示します。
resize 3 1024 2048
パーティションのサイズを変更した後、print コマンドを使用して、パーティションのサイズが正しく変更され、正しいパーティションタイプであり、正しいファイルシステムタイプであることを確認します。
システムを通常モードに再起動した後、df コマンドを使用して、パーティションがマウントされ、新しいサイズで認識されていることを確認します。

12.2. LVM パーティション管理

以下のコマンドを確認するには、コマンドプロンプトで lvm help を実行します。
表12.2 lvm コマンド
コマンド Description
dumpconfig アクティブな設定をダンプします。
formats 利用可能なメタデータ形式を一覧表示します。
help ヘルプコマンドの表示
lvchange 論理ボリュームの属性の変更
lvcreate 論理ボリュームを作成します。
lvdisplay 論理ボリュームに関する情報を表示します。
lvextend 論理ボリュームに領域を追加する
lvmchange デバイスマッパーの使用により、このコマンドは非推奨になっています。
lvmdiskscan 物理ボリュームとして使用できるデバイスを一覧表示します。
lvmsadc アクティビティーデータの収集
lvmsar Create activity report
lvreduce 論理ボリュームのサイズ縮小
lvremove システムから論理ボリュームを削除する
lvrename 論理ボリュームの名前変更
lvresize 論理ボリュームのサイズ変更
lvs 論理ボリュームに関する情報を表示する
lvscan すべてのボリュームグループの論理ボリュームを一覧表示します。
pvchange 物理ボリュームの属性の変更
pvcreate LVM で使用する物理ボリュームの初期化
pvdata 物理ボリュームのディスク上のメタデータを表示します。
pvdisplay 物理ボリュームの各種属性の表示
pvmove エクステントをある物理ボリュームから別の物理ボリュームに移動する
pvremove 物理ボリュームから LVM ラベルを削除する
pvresize ボリュームグループにより使用されている物理ボリュームのサイズ変更
pvs 物理ボリュームに関する情報の表示
pvscan 物理ボリュームの一覧を表示します。
segtypes 利用可能なセグメントタイプの一覧を表示します。
vgcfgbackup バックアップのボリュームグループの設定
vgcfgrestore ボリュームグループ設定の復元
vgchange ボリュームグループ属性の変更
vgck ボリュームグループの一貫性の確認
vgconvert ボリュームグループのメタデータ形式の変更
vgcreate ボリュームグループの作成
vgdisplay ボリュームグループ情報の表示
vgexport システムからボリュームグループの登録解除
vgextend ボリュームグループへの物理ボリュームの追加
vgimport エクスポートしたボリュームグループをシステムに登録します。
vgmerge ボリュームグループのマージ
vgmknodes ボリュームグループデバイス用の特殊ファイルを /dev/ に作成します。
vgreduce ボリュームグループから物理ボリュームの削除
vgremove ボリュームグループの削除
vgrename ボリュームグループの名前変更
vgs ボリュームグループに関する情報を表示します。
vgscan すべてのボリュームグループの検索
vgsplit 物理ボリュームを新しいボリュームグループに移動
version ソフトウェアとドライバーのバージョン情報を表示します。

第13章 ディスククォータの実装

ディスク領域はディスククォータによって制限できます。ディスククォータは、ユーザーが過度のディスク領域を消費するか、パーティションが満杯になる前にシステム管理者に警告をします。
ディスククォータは、ユーザーグループにも個別のユーザーにも設定できます。このような柔軟性により、各ユーザーに小規模のクォータを指定して(電子メールやレポートなどの)「成り」ファイル(電子メールやレポートなど)を処理し、作業するプロジェクトにより多くのサイジング可能なクォータを持たせることができます(プロジェクトに独自のグループが割り当てられていることを前提とします)。
さらにクォータは、消費されるディスクブロックの数の制御だけでなく、inode (UNIX ファイルシステム内のファイルに関する情報を含むデータ構造) の数も制御するように設定できます。inode はファイル関連の情報を組み込むように使用されるため、これが作成されるファイルの数を制御することも可能にします。
ディスククォータを実装するには、quota RPM をインストールしておく必要があります。

13.1. ディスククォータの設定

ディスククォータを実装するには、以下の手順を行います。
  1. /etc/fstab を修正することで、ファイルシステムごとのクォータを有効にします。
  2. ファイルシステムを再マウントします。
  3. クォータデータベースファイルを作成して、ディスク使用状況テーブルを生成します。
  4. クォータポリシーを割り当てます。
この各手順は、以下のセクションで詳しく説明します。

13.1.1. クォータの有効化

root として、テキストエディターを使用して、/etc/fstab ファイルを編集します。クォータを必要とするファイルシステムに usrquota オプションや grpquota オプションを追加します。
/dev/VolGroup00/LogVol00 /         ext3    defaults        1 1
LABEL=/boot              /boot     ext3    defaults        1 2
none                     /dev/pts  devpts  gid=5,mode=620  0 0
none                     /dev/shm  tmpfs   defaults        0 0
none                     /proc     proc    defaults        0 0
none                     /sys      sysfs   defaults        0 0
/dev/VolGroup00/LogVol02 /home     ext3    defaults,usrquota,grpquota  1 2
/dev/VolGroup00/LogVol01 swap      swap    defaults        0 0
.
.
.
この例では、/home ファイルシステムがユーザーとグループの両方のクォータを有効にしています。
備考
以下の例では、Red Hat Enterprise Linux のインストール時に別の/home パーティションが作成されたことを前提としています。理想的ではありませんが、root(/)パーティション(インストールのデフォルト作成されたパーティション)は、/etc/fstab ファイルでクォータポリシーを設定するのに使用できます。

13.1.2. ファイルシステムの再マウント

usrquota オプションや grpquota オプションを追加した後、fstab エントリーが変更された各ファイルシステムを再マウントします。ファイルシステムがどのプロセスでも使用されていない場合は、以下のいずれかの方法を使用します。
  • umount コマンドを実行してから mount コマンドを実行し、ファイルシステムを再 マウント します。
  • mount -o remount /home コマンドを実行して、ファイルシステムを再マウントします。
ファイルシステムが現在使用中の場合、そのファイルシステムを再マウントする最も簡単な方法は、システムを再起動することです。

13.1.3. クォータデータベースファイルの作成

クォータが有効な各ファイルシステムを再マウントすると、システムはディスククォータを操作できます。ただし、ファイルシステム自体がクォータに対応するようにするには、追加の設定が必要です。次のステップとして、quotacheck コマンドを実行します。
quotacheck コマンドは、クォータが有効なファイルシステムを検証し、現在のディスク使用状況のテーブルをファイルシステムごとに構築します。このテーブルは、ディスク使用状況のオペレーティングシステム用コピーを更新するのに使用されます。また、ファイルシステムのディスククォータが更新されます。
ファイルシステムにクォータファイル (aquota.user および aquota.group) を作成するには、quotacheck コマンドの -c オプションを使用します。たとえば、/home ファイルシステムでユーザーとグループのクォータが有効になっている場合は、/home ディレクトリーにファイルを作成します。
quotacheck -cug /home
-c オプションは、クォータが有効になっているファイルシステムごとにクォータファイルを作成することを指定し、-u オプションは、ユーザークォータをチェックすることを指定し、-g オプションは、グループクォータをチェックすることを指定します。
-u オプションまたは -g オプションのいずれも指定しない場合は、ユーザークォータファイルのみが作成されます。-g のみを指定すると、グループクォータファイルのみが作成されます。
ファイルの作成後、以下のコマンドを実行し、クォータを有効にしたファイルシステムごとの現在のディスク使用量のテーブルを生成します。
quotacheck -avug
使用されるオプションは次のとおりです。
  • a: クォータが有効になっているすべてのファイルシステムを確認し、ローカルにマウントされたファイルシステムを確認します。
  • v: クォータチェックが進む際に詳細なステータス情報を表示します。
  • u: ユーザーディスククォータ情報の確認
  • g: グループのディスククォータ情報の確認
quotacheck の実行が終了すると、有効なクォータ (ユーザーやグループ) に対応するクォータファイルに、/home などの、クォータが有効になっているローカルにマウントされた各ファイルシステムのデータが取り込まれます。

13.1.4. ユーザーごとのクォータ割り当て

最後の手順は、edquota コマンドを使用したディスククォータ割り当てです。
ユーザーにクォータを設定するには、シェルプロンプトで、root で次のコマンドを実行します。
 edquota username
クォータが必要な各ユーザーに対して、この手順を実行します。たとえば、クォータが /etc/fstab/home パーティション(/dev/VolGroup00/LogVol02)で有効になり、edquota testuser コマンドを実行すると、システムのデフォルトとして設定されたエディターに以下が表示されます。
Disk quotas for user testuser (uid 501):
  Filesystem                blocks     soft     hard    inodes   soft   hard
  /dev/VolGroup00/LogVol02  440436        0        0     37418      0      0
備考
EDITOR 環境変数により定義されたテキストエディターは、edquota により使用されます。エディターを変更するには、~/.bash_profile ファイルの EDITOR 環境変数を、使用するエディターのフルパスに設定します。
最初の列は、クォータが有効になっているファイルシステムの名前です。2 列目には、ユーザーが現在使用しているブロック数が示されます。その次の 2 列は、ファイルシステム上のユーザーのソフトブロック制限およびハードブロック制限を設定するのに使用されます。inodes 列は、ユーザーが現在使用している inode の数を示します。最後の 2 列は、ファイルシステムのユーザーに対するソフトおよびハードの inode 制限を設定するのに使用されます。
ハード制限は、ユーザーまたはグループが使用できる最大ディスク容量(絶対量)です。この制限に達すると、それ以上のディスク領域は使用できなくなります。
ソフト制限は、使用可能な最大ディスク容量を定義します。ただし、ハード制限とは異なり、ソフト制限は一定時間超過する可能性があります。この時間は 猶予期間 として知られています。猶予期間の単位は、秒、分、時間、日、週、または月で表されます。
いずれかの値が 0 に設定されていると、その制限は設定されません。テキストエディターで必要な制限に変更します。以下に例を示します。
Disk quotas for user testuser (uid 501):
  Filesystem                blocks     soft     hard   inodes   soft   hard
  /dev/VolGroup00/LogVol02  440436   500000   550000    37418      0      0
ユーザーのクォータが設定されていることを確認するには、以下のコマンドを使用します。
quota testuser

13.1.5. グループごとのクォータ割り当て

クォータは、グループごとに割り当てることもできます。たとえば、devel グループのグループクォータを設定するには(グループはグループクォータを設定する前に存在している必要があります)、以下のコマンドを使用します。
 edquota -g devel 
このコマンドにより、グループの既存クォータがテキストエディターに表示されます。
Disk quotas for group devel (gid 505):
  Filesystem                blocks    soft     hard    inodes    soft    hard
  /dev/VolGroup00/LogVol02  440400       0        0     37418       0       0
制限を変更し、ファイルを保存してからクォータを設定します。
グループクォータが設定されたことを確認するには、次のコマンドを使用します。
quota -g devel

13.1.6. ファイルシステムごとのクォータの割り当て

クォータに有効な各ファイルシステムに基づいてクォータを割り当てるには、次のコマンドを使用します。
 edquota -t 
他の edquota コマンドと同様に、これにより、テキストエディターでファイルシステムの現在のクォータが開きます。
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem                       Block grace period  Inode grace period
  /dev/mapper/VolGroup00-LogVol02       7days                7days
ブロックの猶予期間または inode の猶予期間を変更し、変更をファイルに保存してテキストエディターを終了します。

13.2. ディスククォータの管理

クォータが実装されている場合には、若干の保守が必要となります — 大半は、クォータの超過監視および精度確認という形となります。当然ながら、ユーザーが繰り返しクォータを超過したり、常にソフト制限に到達すると、システム管理者には、ユーザーのタイプや作業に影響を与えるディスク領域のサイズに応じていくつかの選択肢があります。管理者は、ユーザーがディスク容量を少なくなるか、または必要に応じてユーザーのディスククォータを増やす方法を判別するのに役立ちます。

13.2.1. 有効化と無効化

クォータは、0 に設定しなくても無効にできます。すべてのユーザーとグループのクォータをオフにするには、以下のコマンドを使用します。
quotaoff -vaug
-u オプションまたは -g オプションのいずれも指定しない場合は、ユーザークォータのみが無効になります。-g のみを指定すると、グループクォータのみが無効になります。
クォータを再度有効にするには、同じオプションを指定して quotaon コマンドを使用します。
たとえば、すべてのファイルシステムに対してユーザーとグループのクォータを有効にするには、次のコマンドを使用します。
quotaon -vaug
/home などの特定のファイルシステムにクォータを有効にするには、以下のコマンドを使用します。
quotaon -vug /home
-u オプションまたは -g オプションのいずれも指定しない場合は、ユーザクォータのみが有効になります。-g のみが指定されている場合は、グループのクォータのみが有効になります。

13.2.2. ディスククォータに関するレポート

ディスク使用状況のレポートを作成するには、repquota ユーティリティーの実行が必要になります。たとえば、コマンド repquota /home により、以下のような出力が表示されます。
*** Report for user quotas on device /dev/mapper/VolGroup00-LogVol02
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      36       0       0              4     0     0
kristin   --     540       0       0            125     0     0
testuser  --  440400  500000  550000          37418     0     0
クォータが有効なすべてのファイルシステム (オプション -a) のディスク使用状況レポートを表示するには、次のコマンドを使用します。
repquota -a
レポートは読みやすいですが、いくつか説明しておくべき点があります。各ユーザーの後に表示される--を利用すると、ブロック制限または inode 制限を超えたかどうかをすばやく判断できます。いずれかのソフト制限を超えると、対応する - の代わりに + が表示されます。最初の - はブロックの制限を表し、2 つ目は inode の制限を表します。
grace 列は通常空白です。ソフト制限が超過した場合、その列には猶予期間に残り時間量に相当する時間指定が含まれます。猶予期間が過ぎると、代わりに none が表示されます。

13.2.3. クォータの精度維持

(システムクラッシュなどにより)ファイルシステムのマウントが正しく解除されない場合は、quotacheck を実行する必要があります。ただし、システムがクラッシュしていないとしても、quotacheck は定期的に実行できます。以下のコマンドを定期的に実行すると、クォータがより正確になります(使用するオプションは 「クォータの有効化」で説明されています)。
quotacheck -avug
これを定期的に実行する最も簡単な方法は、cron を使用することです。root で crontab -e コマンドを使用して定期的な クォータチェック をスケジュールするか、以下のディレクトリーのいずれかで quotacheck を実行するスクリプトを配置します(任意に最も適した間隔を使用します)。
  • /etc/cron.hourly
  • /etc/cron.daily
  • /etc/cron.weekly
  • /etc/cron.monthly
ファイルシステムがアクティブで使用されていない場合は、最も正確なクォータ統計を取得できます。そのため、ファイルシステムが最も少ない時間に cron タスクをスケジュールする必要があります。この時間がクォータを含む異なるファイルシステムで異なる場合は、複数の cron タスクを指定して、各ファイルシステムの クォータチェック を異なるタイミングで実行します。
cron の設定に関する詳細は、34章自動タスク を参照してください。

13.3. 関連情報

ディスククォータの詳細は、以下のリソースを参照してください。

13.3.1. インストールされているドキュメント

  • quotacheckedquotarepquotaquotaquotaon、および quotaoff の man ページ

第14章 アクセス制御リスト

ファイルとディレクトリーには、ファイルの所有者、そのファイルに関連したグループ、およびシステムを使用する他のすべてのユーザーの権限セットが設定されます。しかし、これらの権限には制限があります。たとえば、ユーザーごとに異なる権限を設定することはできません。そのため アクセス制御リスト (ACL) が実装されています。
Red Hat Enterprise Linux 4 カーネルは、ext3 ファイルシステムと NFS エクスポートのファイルシステムに対する ACL サポートを提供します。ACL は、Samba 経由でアクセスする ext3 ファイルシステムでも認識されます。
ACL の実装には、カーネルでのサポートと acl パッケージが必要になります。このパッケージには、ACL 情報の追加、修正、削除および、取得のためのユーティリティーが同梱されています。
cp コマンドと mv コマンドは、ファイルとディレクトリーに関連するすべての ACL のコピーまたは移動を実行します。

14.1. ファイルシステムのマウント

ファイルやディレクトリー用に ACL を使用する前に、そのファイルまたはディレクトリーのパーティションを ACL サポートでマウントする必要があります。ローカルの ext3 ファイルシステムの場合は、以下のコマンドでマウントできます。
 mount -t ext3 -o acl <device-name><partition>
以下に例を示します。
 mount -t ext3 -o acl /dev/VolGroup00/LogVol02 /work 
パーティションが /etc/fstab ファイルにリストされている場合は、パーティションのエントリーに acl オプションを含めることができます。
LABEL=/work      /work       ext3    acl        1 2
Samba 経由で ext3 ファイルシステムにアクセスし、そのアクセスに対して ACL が有効になっている場合は、ACL が認識されます。これは、--with-acl-support オプションでコンパイルされているためです。Samba 共有のアクセス時またはマウント時に特別なフラグは必要ありません。

14.1.1. NFS

デフォルトでは、NFS サーバーでエクスポートされているファイルシステムが ACL をサポートし、NFS クライアントが ACL を読み込める場合は、クライアントシステムで ACL が使用されています。
サーバーを設定する際に NFS 共有上の ACL を無効にするには、/etc/exports ファイルに no_acl オプションを追加します。クライアントに NFS 共有をマウントする際に ACL を無効にするには、コマンドラインまたは /etc/fstab ファイルに no_acl オプションを指定してマウントします。

14.2. アクセス ACL の設定

ACL には、アクセス ACLデフォルト ACL と 2 つのタイプがあります。アクセス ACL は、特定のファイルまたはディレクトリーに対するアクセス制御リストです。デフォルト ACL は、ディレクトリーにのみ適用されます。ディレクトリー内のファイルにアクセス ACL が設定されていない場合は、そのディレクトリーにデフォルト ACL のルールが適用されます。デフォルト ACL は任意です。
ACL は以下のように設定できます。
  1. 各ユーザー
  2. 各グループ
  3. 実効権マスクを使用して
  4. ファイルのユーザーグループに属さないユーザーに対して
setfacl ユーティリティーは、ファイルとディレクトリー用の ACL を設定します。-m オプションを使用して、ファイルまたはディレクトリーの ACL を追加または変更します。
 setfacl -m <rules><files>
ルール(<rules&gt;)は、以下の形式で指定する必要があります。複数のルールをコンマで区切って同じコマンドに指定することもできます。
U: <uid>: &lt;perms>
ユーザーにアクセス ACL を設定します。ユーザー名または UID を指定できます。システムで有効な任意のユーザーを指定できます。
g:<gid>:<perms>
グループにアクセス ACL を設定します。グループ名または GID を指定できます。システムで有効な任意のグループを指定できます。
m:<perms>
実効権マスクを設定します。このマスクは、所有グループの全権限と、ユーザーおよびグループの全エントリーを結合したものです。
o:<perms>
ファイルのグループに属さないユーザーにアクセス ACL を設定します。
空白は無視されます。パーミッション(&lt;perms&gt;)は、読み取り、書き込み、および実行を表す rw、および x の文字の組み合わせである必要があります。
ファイルまたはディレクトリーにすでに ACL が設定されている状態で、setfacl コマンドを使用した場合は、設定するルールが既存の ACL に追加されるか、既存のルールが修正されます。
たとえば、ユーザー「andrius」に読み取りと書き込みの権限を付与するには以下を実行します。
setfacl -m u:andrius:rw /project/somefile
ユーザー、グループ、またはその他のユーザーからすべての権限を削除するには、-x オプションにいずれの権限も指定せずに指定します。
 setfacl -x <rules><files>
たとえば、UID 500 のユーザーからすべての権限を削除するには以下を実行します。
setfacl -x u:500 /project/somefile

14.3. デフォルト ACL の設定

デフォルトの ACL を設定するには、d: をルールの前に追加してから、ファイル名ではなくディレクトリーを指定します。
たとえば、/share/ ディレクトリーにデフォルト ACL を設定し、ユーザーグループに属さないユーザーの読み取りと実行を設定するには、以下のコマンドを実行します (これにより、個別ファイルのアクセス ACL が上書きされます)。
setfacl -m d:o:rx /share

14.4. ACL の取り込み

ファイルまたはディレクトリーに設定されている ACL を確認するには、getfacl コマンドを使用します。
getfacl <filename>
以下のような出力を返します。
# file: file
# owner: andrius
# group: andrius
user::rw-
user:smoore:r--
group::r--
mask::r--
other::r--
ディレクトリーが指定され、デフォルトの ACL がある場合は、以下のようにデフォルトの ACL も表示されます。
# file: file
# owner: andrius
# group: andrius
user::rw-
user:smoore:r--
group::r--
mask::r--
other::r--
default:user::rwx
default:user:andrius:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

14.5. ACL が設定されているファイルシステムのアーカイブ作成

Warning
tar コマンドおよび dump コマンドは ACL をバックアップし ませ ん。
star ユーティリティーは、ファイルのアーカイブ生成に使用される点で tar ユーティリティーと似ています。しかし、一部のオプションは異なります。より一般的に使用されるオプションの一覧は、表14.1「star のコマンドラインオプション」 を参照してください。利用可能なすべてのオプションは star の man ページを参照してください。このユーティリティーを使用するには star パッケージが必要になります。
表14.1 star のコマンドラインオプション
オプション 説明
-c アーカイブファイルを作成します。
-n ファイルを抽出しません。-x と併用すると、ファイルが行う抽出を表示します。
-r アーカイブ内のファイルを入れ替えます。パスとファイル名が同じファイルが置き換えられ、アーカイブファイルの末尾に書き込まれます。
-t アーカイブファイルのコンテンツを表示します。
-u アーカイブファイルを更新します。アーカイブにファイルが存在しない場合や、アーカイブ内の同じ名前のファイルよりも新しい場合は、そのファイルがアーカイブの末尾に書き込まれます。このオプションは、アーカイブがファイルであるか、またはバックスペース可能な非ブロックテープの場合にのみ機能します。
-x アーカイブからファイルを抽出します。-U と併用すると、アーカイブ内のファイルがファイルシステムにあるファイルよりも古い場合、そのファイルは抽出されません。
-help 最も重要なオプションを表示します。
-xhelp 最も重要ではないオプションを表示します。
-/ アーカイブからファイルを抽出する際に、ファイル名から先頭のスラッシュを削除します。デフォルトでは、ファイルの抽出時にストライプ化されます。
-acl 作成時または抽出時に、ファイルおよびディレクトリーに関連付けられた ACL をアーカイブまたは復元します。

14.6. 旧システムとの互換性

指定したファイルシステムのいずかのファイルに ACL が設定されている場合、そのファイルシステムには ext_attr 属性があります。この属性は、以下のコマンドを使用すると確認できます。
tune2fs -l <filesystem-device>
ext_attr 属性を持つファイルシステムは古いカーネルでマウントできますが、それらのカーネルは設定されている ACL を強制しません。
バージョン 1.22 以降の e2fsprogs パッケージ (Red Hat Enterprise Linux 2.1 および 4 のバージョンも含む) に含まれている e2fsck ユーティリティーのバージョンは、ext_attr 属性を使用してファイルシステムを確認できます。古いバージョンではこの確認が拒否されます。

14.7. 関連情報

詳細は、以下のリソースを参照してください。

14.7.1. インストールされているドキュメント

  • ACL man ページ: ACL の説明
  • man ページ - ファイルアクセス制御リストの取得方法
  • man ページ - ファイルアクセス制御リストの設定方法
  • star man ページ: star ユーティリティーとそのオプションの詳細

14.7.2. 便利な Web サイト

パート III. パッケージ管理

Red Hat Enterprise Linux システムのすべてのソフトウェアは、RPM パッケージに分類されます。このパッケージは、インストール、アップグレード、または削除が可能です。ここでは、グラフィカルおよびコマンドラインツールを使用して、Red Hat Enterprise Linux システムで RPM パッケージを管理する方法を説明します。

第15章 RPM でのパッケージ管理

RPM Package Manager(RPM)は、誰でも使用できるオープンパッケージシステムであり、Red Hat Enterprise Linux や他の Linux システムや UNIX システムで実行できます。Red Hat, Inc は、他のベンダーが独自の製品に RPM を使用することを推奨しています。RPM は、GPL の用語で配布可能です。
RPM を使用すると、エンドユーザーはシステムの更新を簡素化します。RPM パッケージのインストール、アンインストール、およびアップグレードは、短いコマンドで実行できます。RPM はインストールされたパッケージとそのファイルのデータベースを維持するため、システムで強力なクエリーと検証を呼び出すことができます。グラフィカルインターフェースを使用する場合は、Package Management Tool を使用して多くの RPM コマンドを実行できます。
アップグレード中、RPM は設定ファイルを誤って処理するため、カスタマイズを失うことはありません。通常の .tar.gz ファイルで実行できません。
開発者は、RPM を使用して、ソフトウェアソースコードを取り、エンドユーザー向けのソースパッケージとバイナリーパッケージにパッケージ化できます。このプロセスは非常にシンプルで、単一のファイルと作成するオプションのパッチから実行されます。ビルド命令とともに、 のソースとパッチの区別が明確になり、新しいバージョンのソフトウェアがリリースされると、パッケージのメンテナンスが容易になります。
備考
RPM はシステムに変更を加えるため、RPM パッケージのインストール、削除、またはアップグレードを行う root でなければなりません。

15.1. RPM 設計ゴール

RPM の使用方法を理解するには、RPM の設計目標を理解すると便利です。
アップグレード可能性
RPM を使用すると、完全に再インストールせずにシステムの個々のコンポーネントをアップグレードできます。RPM(Red Hat Enterprise Linux など)をベースとしたオペレーティングシステムの新しいリリースを取得する場合は、マシンに再インストールする必要はありません(他のパッケージシステムに基づいたオペレーティングシステムと同様)。RPM は、システムのインテリジェントな完全自動インプレースアップグレードを可能にします。パッケージの設定ファイルはアップグレード後も保持されるため、カスタマイズは失われません。パッケージのアップグレードに必要な特別なアップグレードファイルはありません。システムのパッケージのインストールとアップグレードに同じ RPM ファイルが使用されるためです。
強力なクエリ
RPM は、強力なクエリーオプションを提供するように設計されています。パッケージや特定のファイルのみをデータベース全体で検索できます。また、ファイルが属するパッケージや、パッケージの出所を簡単に見つけることもできます。RPM パッケージに含まれるファイルは圧縮アーカイブにあり、カスタムバイナリーヘッダーにはパッケージとそのコンテンツに関する有用な情報が含まれており、個々のパッケージを素早く簡単にクエリーできます。
システムの検証
別の強力な機能は、パッケージを検証する機能です。一部のパッケージで重要なファイルを削除した場合には、パッケージを検証します。異常が通知されます。この時点で、必要に応じてパッケージを再インストールできます。変更した設定ファイルは再インストール時に保持されます。
純粋なソース
重要な設計目的は、ソフトウェアの元の作成者によって配布される「元の」ソフトウェアソースを使用できるようにしたことでした。RPM では、元のソースと、使用されたパッチ、完全なビルド命令があります。これは、いくつかの理由で重要な利点です。たとえば、新しいバージョンのプログラムが除外している場合には、コンパイルを行うために必ずしもゼロから開始する必要はありません。パッチを確認して、必要 内容を確認できます。コンパイルされたすべてのデフォルトと、ソフトウェアが適切にビルドできるように加えられたすべての変更は、この手法を使用して簡単に表示できます。
ソースを純粋に保つことの目的は開発者にとってのみ重要だと思われますが、エンドユーザーにとっても品質の高いソフトウェアになります。

15.2. RPM の使用

RPM には基本的な動作モードが 5 つあります(パッケージの構築をカウントしません): インストール、アンインストール、アップグレード、クエリー、および検証を行います。このセクションでは、各モードの概要について説明します。完全な詳細情報およびオプションについては、rpm --help を試行するか、RPM に関する詳細情報は 「関連情報」 を参照してください。

15.2.1. RPM パッケージの検索

RPM を使用する前に、その RPM を見つける場所を知っている必要があります。インターネット検索は多くの RPM リポジトリーを返しますが、Red Hat, Inc が構築した RPM パッケージを探す場合は、以下の場所にあります。

15.2.2. インストール

RPM パッケージには、通常 foo-1.0-1.i386.rpm などのファイル名があります。ファイル名には、パッケージ名(foo)、バージョン(1.0)、リリース(1)、アーキテクチャー(i386)が含まれます。パッケージをインストールするには、root としてログインし、シェルプロンプトで以下のコマンドを入力します。
rpm -Uvh foo-1.0-1.i386.rpm
インストールに成功すると、以下の出力が表示されます。
Preparing...                ########################################### [100%]
   1:foo                    ########################################### [100%]
ご覧のとおり、RPM はパッケージ名を出力し、パッケージが進捗メーターとしてインストールされているため、ハッシュマークの連続して出力します。
パッケージのインストールまたはアップグレード時に、パッケージの署名が自動的にチェックされます。署名は、パッケージが承認されたパーティーによって署名されていることを確認します。たとえば、署名の検証に失敗した場合、以下のようなエラーメッセージが表示されます。
error: V3 DSA signature: BAD, key ID 0352860f
新しいヘッダーのみの署名の場合は、以下のようなエラーメッセージが表示されます。
error: Header V3 DSA signature: BAD, key ID 0352860f
署名を検証するために適切なキーがインストールされていない場合、メッセージには以下のように NOKEY という単語が含まれます。
warning: V3 DSA signature: NOKEY, key ID 0352860f
パッケージの署名の確認に関する詳細は、「パッケージの署名の確認」 を参照してください。
Warning
カーネルパッケージをインストールする場合は、代わりに rpm -ivh を使用する必要があります。詳細は、36章カーネルの手動によるアップグレード を参照してください。
パッケージのインストールはシンプルとなるように設計されていますが、エラーが発生することがあります。
15.2.2.1. インストールされているパッケージ
同じバージョンのパッケージがすでにインストールされている場合は、以下が表示されます。
Preparing...                ########################################### [100%]
package foo-1.0-1 is already installed
インストールしようとしているバージョンと同じバージョンがすでにインストールされ、パッケージをインストールする場合は、--replacepkgs オプションを使用できます。これにより、RPM にエラーを無視するように指示します。
rpm -ivh --replacepkgs foo-1.0-1.i386.rpm
このオプションは、RPM からインストールされたファイルが削除された場合や、RPM から元の設定ファイルをインストールする場合に便利です。
15.2.2.2. 競合するファイル
別のパッケージまたはそれ以前のバージョンですでにインストールされているファイルを含むパッケージのインストールを試みると、以下が表示されます。
Preparing...                ########################################### [100%]
file /usr/bin/foo from install of foo-1.0-1 conflicts with file from package bar-2.0.20
RPM がこのエラーを無視するようにするには、--replacefiles オプションを使用します。
rpm -ivh --replacefiles foo-1.0-1.i386.rpm
15.2.2.3. 解決できない依存関係
RPM パッケージは基本的に、他のパッケージに依存します。つまり、適切に実行するために他のパッケージをインストールする必要があります。未解決の依存関係があるパッケージをインストールしようとすると、以下のような出力が表示されます。
error: Failed dependencies:
        bar.so.2 is needed by foo-1.0-1
    Suggested resolutions:
        bar-2.0.20-3.i386.rpm
Red Hat Enterprise Linux CD-ROM セットからパッケージをインストールする場合は、通常、依存関係の解決に必要なパッケージを提案します。Red Hat Enterprise Linux CD-ROM または Red Hat FTP サイト(またはミラー)で推奨されるパッケージを見つけ、これをコマンドに追加します。
rpm -ivh foo-1.0-1.i386.rpm bar-2.0.20-3.i386.rpm
両方のパッケージのインストールに成功すると、以下のような出力が表示されます。
Preparing...                ########################################### [100%]
   1:foo                    ########################################### [ 50%]
   2:bar                    ########################################### [100%]
依存関係を解決するパッケージを提案していない場合は、--redhatprovides オプションを試して、必要なファイルを含むパッケージを判断してください。このオプションを使用するには、rpmdb-redhat パッケージがインストールされている必要があります。
rpm -q --redhatprovides bar.so.2
bar.so.2 が含まれるパッケージが、rpmdb-redhat パッケージからインストールされたデータベースにある場合は、パッケージ名が表示されます。
bar-2.0.20-3.i386.rpm
(パッケージが正しく実行されない可能性があるため)インストールを強制的に実行するには、--nodeps オプションを使用します。

15.2.3. アンインストール

パッケージのアンインストールは、パッケージのインストールと同様に簡単です。シェルプロンプトで以下のコマンドを入力します。
rpm -e foo
備考
元のパッケージ ファイルfoo -1.0-1.i386.rpm の名前ではなく、パッケージ名 foo を 使用していました。パッケージをアンインストールするには、foo を元のパッケージの実際のパッケージ名に置き換えます。
別のインストール済みパッケージが削除しようとしているパッケージに依存する場合は、パッケージをアンインストールする際に依存関係エラーが発生する可能性があります。以下に例を示します。
error: Failed dependencies:
        foo is needed by (installed) bar-2.0.20-3.i386.rpm
RPM がこのエラーを無視し、パッケージの依存関係を中断する可能性があるパッケージをアンインストールする場合は、--nodeps オプションを使用します。

15.2.4. アップグレード

パッケージのアップグレードは、パッケージのインストールに似ています。シェルプロンプトで以下のコマンドを入力します。
rpm -Uvh foo-2.0-1.i386.rpm
パッケージのアップグレードの一環として、RPM は古いバージョンの foo パッケージを自動的にアンインストールします。実際、以前のバージョンがインストールされていない場合でも、-U を使用して、機能するパッケージをインストールしたい場合があります。
ヒント
RPM は以前のカーネルパッケージに置き換わるため、カーネルパッケージのインストールに -U オプションを使用したくありません。これは実行中のシステムには影響しませんが、次回の再起動時に新しいカーネルが起動できない場合は、代わりに他のカーネルが起動できません。
-i オプションを使用すると、カーネルを GRUB 起動メニュー(/etc/grub.conf)に追加します。同様に、不要な古いカーネルを削除すると、GRUB からカーネルが削除されます。
RPM は設定ファイルを使ってパッケージのインテリジェントなアップグレードを実行するので、以下のようなメッセージが表示されることがあります。
saving /etc/foo.conf as /etc/foo.conf.rpmsave
このメッセージは、設定ファイルへの変更が、パッケージ内の新しい設定ファイルと後方 互換性 がない可能性があります。そのため、RPM は元のファイルを保存し、新しいファイルをインストールしてください。システムが適切に機能し続けるようにするには、2 つの設定ファイル間の違いを調べ、できるだけ早く解決する必要があります。
アップグレードはアンインストールとインストールの組み合わせであるため、RPM のアップグレード時に、アンインストールおよびインストールエラーが発生し、さらにエラーが 1 つ以上発生する可能性があります。RPM が 古い バージョン番号のパッケージにアップグレードしようとしていると考える場合、出力は以下のようになります。
package foo-2.0-1 (which is newer than foo-1.0-1) is already installed
RPM を強制的にアップグレードするには、--oldpackage オプションを使用します。
rpm -Uvh --oldpackage foo-1.0-1.i386.rpm

15.2.5. Freshening

パッケージの追加は、パッケージのアップグレードに似ています。シェルプロンプトで以下のコマンドを入力します。
rpm -Fvh foo-1.2-1.i386.rpm
RPM の新規オプションは、コマンドラインで指定したパッケージのバージョンと、システムにインストールされているパッケージのバージョンを確認します。すでにインストールされているパッケージの新規バージョンが RPM の新規オプションで処理されると、そのパッケージが新しいバージョンにアップグレードされます。ただし、同じ名前のパッケージが存在しない場合、RPM のnewen オプションはパッケージをインストールしません。これ 、以前のバージョンのパッケージがすでにインストールされているかどうかにかかわらず、アップグレードによってパッケージがインストールされるため、RPM のアップグレードオプションとは異なります。
RPM の新規オプションは、1 つのパッケージまたはパッケージグループで機能します。多数の異なるパッケージをダウンロードし、システムにすでにインストールされているパッケージのみをアップグレードする場合は、新たにジョブを行います。新しいパッケージを使用する場合は、RPM を使用する前にダウンロードしたグループから不要なパッケージを削除する必要はありません。
この場合は、以下のコマンドを実行します。
rpm -Fvh *.rpm
RPM は、すでにインストールされているパッケージのみを自動的にアップグレードします。

15.2.6. クエリ

rpm -q コマンドを使用して、インストール済みパッケージのデータベースにクエリーします。rpm -q foo コマンドは、インストール済みパッケージのパッケージ名、バージョン、リリース番号を表示します。
foo-2.0-1
備考
パッケージをクエリーするには、foo を実際のパッケージ名に置き換えます。
パッケージ名を指定する代わりに、-q で以下のオプションを使用して、問い合わせるパッケージを指定します。これらは パッケージの 選択 オプション と呼ばれます。
  • -a は、現在インストールされているすべてのパッケージをクエリーします。
  • -f < file> は、< file> を所有するパッケージをクエリーし ます。ファイルを指定する場合は、ファイルの完全パスを指定する必要があります(例: /bin/ls)。
  • -p &lt ;packagefile> は パッケージ < packagefile> をクエリーし ます。
クエリーされたパッケージに関する情報を表示する方法は複数あります。以下のオプションは、検索する情報のタイプを選択するために使用されます。これらは Information Query Options と呼ばれます。
  • -i は、名前、説明、リリース、サイズ、ビルド日、インストール日、ベンダー、その他のその他の情報など、パッケージ情報を表示します。
  • -l は、パッケージに含まれるファイルの一覧を表示します。
  • -s は、パッケージ内の全ファイルの状態を表示します。
  • -d は、ドキュメントとしてマークされているファイルの一覧を表示します(man ページ、情報ページ、README など)。
  • -c は、設定ファイルとしてマークされているファイルの一覧を表示します。これは、パッケージのインストール後に変更するファイルです(例: sendmail.cfpasswdinittab など)。
ファイルの一覧を表示するオプションについては、コマンドに -v を追加して、一般的な ls -l 形式でリストを表示します。

15.2.7. 検証

パッケージの検証は、パッケージからインストールしたファイルに関する情報と、元のパッケージからの同じ情報を比較します。また、検証により、各ファイルのサイズ、MD5 合計、パーミッション、タイプ、所有者、およびグループを比較します。
コマンド rpm -V はパッケージを検証します。クエリーに一覧表示される パッケージ 検証 オプション のいずれかを使用して、検証するパッケージを指定できます。検証の簡単な使用方法は rpm -V foo です。これは、foo パッケージ内のすべてのファイルが、最初にインストールした時と同じであることを検証します。以下に例を示します。
  • 特定のファイルを含むパッケージを確認するには、次のコマンドを実行します。
    rpm -Vf /usr/bin/vim
  • インストールされているすべてのパッケージを確認するには、次のコマンドを実行します。
    rpm -Va
  • RPM パッケージファイルに対してインストール済みのパッケージを確認するには、次のコマンドを実行します。
    rpm -Vp foo-1.0-1.i386.rpm
    このコマンドは、RPM データベースが破損していると思われる場合に便利です。
すべてが適切に検証された場合、出力はありません。不一致がある場合は、それらが表示されます。出力の形式は、8 文字の文字列( c は設定ファイルを示します)、ファイル名です。8 文字はそれぞれ、ファイルの 1 つの属性と RPM データベースに記録された属性の値を比較した結果を示します。1 つのピリオド(.)は、テストに合格したことを意味します。以下の文字は、特定のテストの失敗を示しています。
  • 5 - MD5 checksum
  • s - ファイルサイズ
  • l - シンボリックリンク
  • T - ファイル変更時間
  • d - device
  • u - user
  • g - group
  • m: モード(パーミッションおよびファイルタイプを含む)
  • ? - 読み取り不可能なファイル
出力が表示された場合は、最善の判断を使用して、パッケージを削除または再インストールする必要があるかを判断するか、別の方法で問題を修正します。

15.3. パッケージの署名の確認

パッケージが破損していないか、改ざんされていないことを確認する場合は、シェルプロンプトで以下のコマンドを入力して md5sum のみを確認します(RPM パッケージのファイル名は <rpm- file> です)。
rpm -K --nosignature <rpm-file>
< rpm-file> : md 5 OK というメッセージが表示されます。この簡単なメッセージは、ファイルのダウンロードによって破損されなかったことを意味します。より詳細なメッセージを表示するには、コマンドの -K-Kvv に置き換えます。
一方、パッケージを作成した開発者だけに信頼する方法。パッケージが開発者の GnuPG キー署名 されている場合、開発者がそれらが本人であることがわかっていることが分かります。
RPM パッケージは、ダウンロードしたパッケージに信頼できるものにするために、Gnu Privacy Guard (または GnuPG)を使用して署名できます。
GnuPG は、安全な通信を行うためのツールです。これは、電子プライバシープログラムである PGP の暗号化テクノロジーの完全な置換です。GnuPG を使用すると、ドキュメントの有効性を認証し、他の受信者との間でデータを暗号化/復号化できます。GnuPG は PGP 5.x ファイルを復号および検証することもできます。
インストール時に、ART はデフォルトでインストールされます。これにより、Red Hat から受け取るパッケージを確認できるようにするために GnuPG の使用をすぐに開始できます。まず、Red Hat の公開鍵をインポートする必要があります。

15.3.1. キーのインポート

Red Hat パッケージを検証するには、Red Hat GPG キーをインポートする必要があります。これを行うには、シェルプロンプトで以下のコマンドを実行します。
rpm --import /usr/share/rhn/RPM-GPG-KEY
RPM 検証用にインストールされた鍵の一覧を表示するには、以下のコマンドを実行します。
rpm -qa gpg-pubkey*
Red Hat キーの出力には、以下が含まれます。
gpg-pubkey-db42a60e-37ea5438
特定のキーの詳細を表示するには、rpm -qi の後に直前のコマンドの出力を使用します。
rpm -qi gpg-pubkey-db42a60e-37ea5438

15.3.2. パッケージの署名の確認

ビルダーの GnuPG キーのインポート後に RPM ファイルの GnuPG 署名を確認するには、以下のコマンドを使用します(< rpm-file > を RPM パッケージのファイル名に置き換えます)。
rpm -K <rpm-file>
すべてが正常に行われると、md5 gpg OK メッセージが表示されます。つまり、パッケージの署名を検証し、破損していないことを意味します。

15.4. RPM で金を抑制する

RPM は、システムの管理と問題の診断と修正の両方に役立ちます。すべてのオプションを把握する最適な方法は、いくつかの例を参照してください。
  • 場合によっては、誤って一部のファイルを削除しましたが、削除内容を把握しているわけではありません。システム全体を検証し、足りないものを確認するには、以下のコマンドを実行します。
    rpm -Va
    一部のファイルが欠落しているか、破損している場合、パッケージを再インストールするか、またはアンインストールしてからパッケージを再インストールします。
  • 場合によっては、認識しないファイルが表示される場合があります。パッケージを所有するパッケージを確認するには、次のコマンドを実行します。
    rpm -qf /usr/bin/ggv
    出力は以下のようになります。
    ggv-2.6.0-2
    
  • 以下のシナリオにおいて、上記の 2 つの例を組み合わせることができます。/usr/bin/paste に問題があるとします。そのプログラムを所有するパッケージを確認しますが、どのパッケージが 貼り付ける かは分からません。以下のコマンドを入力します。
    rpm -Vf /usr/bin/paste
    また、適切なパッケージが検証されています。
  • 特定のプログラムに関する詳細情報を見つけてもよろしいですか?以下のコマンドを試し、そのプログラムを所有するパッケージに含まれるドキュメントを確認できます。
    rpm -qdf /usr/bin/free
    出力は以下のようになります。
    /usr/share/doc/procps-3.2.3/BUGS
    /usr/share/doc/procps-3.2.3/FAQ
    /usr/share/doc/procps-3.2.3/NEWS
    /usr/share/doc/procps-3.2.3/TODO
    /usr/share/man/man1/free.1.gz
    /usr/share/man/man1/pgrep.1.gz
    /usr/share/man/man1/pkill.1.gz
    /usr/share/man/man1/pmap.1.gz
    /usr/share/man/man1/ps.1.gz
    /usr/share/man/man1/skill.1.gz
    /usr/share/man/man1/slabtop.1.gz
    /usr/share/man/man1/snice.1.gz
    /usr/share/man/man1/tload.1.gz
    /usr/share/man/man1/top.1.gz
    /usr/share/man/man1/uptime.1.gz
    /usr/share/man/man1/w.1.gz
    /usr/share/man/man1/watch.1.gz
    /usr/share/man/man5/sysctl.conf.5.gz
    /usr/share/man/man8/sysctl.8.gz
    /usr/share/man/man8/vmstat.8.gz
    
  • 新しい RPM が見つかるかもしれませんが、何ができるのかは分かないでしょう。情報を確認するには、以下のコマンドを使用します。
    rpm -qip crontabs-1.10-7.noarch.rpm
    出力は以下のようになります。
    Name        : crontabs                     Relocations: (not relocatable)
    Version     : 1.10                              Vendor: Red Hat, Inc
    Release     : 7                             Build Date: Mon 20 Sep 2004 05:58:10 PM EDT
    Install Date: (not installed)               Build Host: tweety.build.redhat.com
    Group       : System Environment/Base       Source RPM: crontabs-1.10-7.src.rpm
    Size        : 1004                             License: Public Domain
    Signature   : DSA/SHA1, Wed 05 Jan 2005 06:05:25 PM EST, Key ID 219180cddb42a60e
    Packager    : Red Hat, Inc <http://bugzilla.redhat.com/bugzilla>
    Summary     : Root crontab files used to schedule the execution of programs.
    Description :
    The crontabs package contains root crontab files. Crontab is the
    program used to install, uninstall, or list the tables used to drive the
    cron daemon. The cron daemon checks the crontab files to see when
    particular commands are scheduled to be executed. If commands are
    scheduled, then it executes them.
    
  • 場合によっては、crontabs RPM がどのファイルをインストールするかを見てみましょう。以下を入力します。
    rpm -qlp crontabs-1.10-5.noarch.rpm
    出力は以下の例のようになります。
    /etc/cron.daily
    /etc/cron.hourly
    /etc/cron.monthly
    /etc/cron.weekly
    /etc/crontab
    /usr/bin/run-parts
    
これらはいくつかの例です。RPM に使用することが多くあります。

15.5. 関連情報

RPM は、パッケージのクエリー、インストール、アップグレード、および削除を行う数多くのオプションと、非常に複雑なユーティリティーです。RPM の詳細は、以下の資料を参照してください。

15.5.1. インストールされているドキュメント

  • rpm --help - このコマンドは、RPM パラメーターのクイックリファレンスを表示します。
  • man rpm - RPM の man ページには、rpm --help コマンドよりも RPM パラメーターに関する詳細が記載されています。

15.5.2. 便利な Web サイト

第16章 Red Hat Network

Red Hat Network は、1 つ以上の Red Hat Enterprise Linux システムを管理するためのインターネットソリューションです。すべてのセキュリティーアラート、バグ修正アラート(エラータアラートと総称される)は、Package Updater スタンドアロンアプリケーションを使用するか、https://rhn.redhat.com/ の RHN Web サイトを使用して Red Hat から直接ダウンロードできます。

図16.1 RHN

RHN
Red Hat Network は、更新されたパッケージがリリースされるとメールを受け取るので、時間を節約できます。Web で更新されたパッケージやセキュリティーアラートを検索する必要はありません。デフォルトでは、Red Hat Network はパッケージもインストールします。RPM の使用方法や、ソフトウェアパッケージの依存関係の解決について把握する必要はありません。RHN がこれらすべてを行います。
Red Hat Network の機能は以下のとおりです。
  • エラータアラート: ネットワーク内のすべてのシステムについて、セキュリティーアラート、バグ修正アラート、および機能拡張アラートが発行されるタイミングを確認します。

    図16.2 関連エラータ

    関連エラータ
  • 自動メール通知: システムに対してエラータ通知が発行されたときにメール通知を受け取ります。
  • スケジュールされたエラータ更新 - エラータ更新のスケジュール
  • パッケージのインストール - ボタンをクリックする、1 つ以上のシステムへのパッケージインストールのスケジュール
  • Package Updater - Package Updater を使用して、システムの最新ソフトウェアパッケージをダウンロードします(オプションのパッケージインストールを使用)。
  • Red Hat Network Web サイト: 複数のシステムの管理、個々のパッケージのダウンロード、およびコンピューターからの安全な Web ブラウザー接続によるエラータ更新などのスケジュールアクション
Warning
Red Hat Network にシステムを登録する前に、Red Hat Enterprise Linux 製品をアクティベートして、お使いのシステムが正しいサービスに割り当てられていることを確認してください。プロダクトを有効にするには、以下に移動します。
http://www.redhat.com/apps/activate/
製品をアクティベートしたら、Red Hat Network に登録してエラータ更新を受け取ります。登録プロセスは、更新の通知に必要なシステムに関する情報を収集します。たとえば、システムにインストールされているパッケージの一覧はコンパイルされるため、システムに関連する更新のみが通知されます。
システムを初めて起動すると、Software Update Setup Assistant により登録が求められます。登録していない場合は、デスクトップで Applications (パネルのメインメニュー)=> System Tools => Package Updater を選択して登録プロセスを開始します。または、シェルプロンプトから yum update コマンドを実行します。

図16.3 RHN への登録

RHN への登録
登録後は、以下のいずれかの方法を使用して更新の受信を開始します。
  • デスクトップで Applications (パネルのメインメニュー)=> System Tools => Package Updater を選択します。
  • シェルプロンプトから yum コマンドを実行します。
  • RHN の Web サイト( https://rhn.redhat.com/)を使用します。
  • パネルにパッケージアイコンをクリックして、Package Updater を起動します。
詳細については、以下のドキュメントを参照してください。
http://www.redhat.com/docs/manuals/RHNetwork/
ヒント
Red Hat Enterprise Linux には、Red Hat Enterprise Linux システムの更新がある場合に表示されるアラートを表示する便利なパネルアイコンが含まれています。利用可能な更新がない場合は、このパネルアイコンは表示されません。

パート V. システム設定

システム管理者のジョブには、さまざまなタスク、ユーザーの種類、およびハードウェア設定に対してシステムが設定されます。本セクションでは、Red Hat Enterprise Linux システムを設定する方法を説明します。

第27章 コンソールアクセス

通常(root 以外の)ユーザーがコンピューターにローカルでログインする場合は、以下の 2 種類の特別なパーミッションが付与されます。
  1. そうでないと実行できない特定のプログラムを実行できます。
  2. これらは、ディスクへのアクセスに使用される特定のファイル(通常は特別なデバイスファイル、CD-ROM など)にアクセスでき、それ以外はアクセスできません。
1 台のコンピューターには複数のコンソールがあり、複数のユーザーを同時にコンピューターにログインできるため、ユーザーの 1 つは基本的にファイルにアクセスするための競合を判断する必要があります。コンソールにログインする最初のユーザーはこれらのファイルを所有します。最初のユーザーがログアウトすると、ファイルを所有する次のユーザーが表示されます。
一方、コンソールにログインしている すべて のユーザーは、通常、root ユーザーに制限のあるタスクを実行するプログラムを実行できます。X を実行している場合は、グラフィカルユーザーインターフェースにメニュー項目としてこれらのアクションを追加できます。console-accessable プログラムには、haltpoweroffreboot が含まれます。

27.1. Shutdown Via Ctrl+Alt+Delの無効化

デフォルトでは、/etc/inittab は、コンソールで使用する Ctrl+Alt+Del のキーの組み合わせに対応して、システムを shutdown に設定し、再起動します。この機能を完全に無効にするには、ハッシュ記号(#)の前にハッシュ記号(#)を置くことで、/etc/inittab で以下の行をコメントアウトします。
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
または、特定の root 以外のユーザーが、Ctrl+Alt+Del を使用してコンソールからシステムのシャットダウンまたは再起動を許可できます。以下の手順を実行して、この特権を特定ユーザーに制限できます。
  1. 上記の /etc/inittab 行に -a オプションを追加して、読み込みます。
    ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now
    
    -a フラグは、シャットダウンに /etc/ shutdown.allow ファイルを検索するように指示します。
  2. /etcshutdown.allow という名前のファイルを作成します。shutdown.allow ファイルには、Ctrl+Alt+Del を使用してシステムをシャットダウンできるユーザーのユーザー名が一覧表示されます。shutdown.allow ファイルの形式は、以下のように、1 行に 1 つずつユーザー名の一覧です。
    stephen
    jack
    sophie
    
この shutdown.allow ファイルの例では、ユーザー stephen、jack、および sophie は、Ctrl+Alt+Del を使用してコンソールからシステムをシャットダウンできます。このキーの組み合わせを使用すると、/etc/inittabshutdown -a コマンドは、/etc/shutdown.allow (または root)のユーザーが仮想コンソールにログインしているかどうかを確認します。いずれかのシステムシャットダウンが続行されます。そうでない場合は、エラーメッセージがシステムコンソールに書き込まれます。
shutdown.allow の詳細は、man ページの shutdown を参照してください。

27.2. コンソールプログラムアクセスの無効化

ユーザーがコンソールプログラムへのアクセスを無効にするには、root で以下のコマンドを実行します。
rm -f /etc/security/console.apps/*
コンソールが保護されていない環境では(BIOS およびブートローダーのパスワードが設定されていないと、Ctrl+Alt+Delete が無効になり、電源とリセットスイッチが無効になるなど)、コンソールでのユーザーは電源オフ、停止、および 再起動 を実行できず、デフォルトではコンソールからアクセスできます。
これらの機能を削除するには、root で以下のコマンドを実行します。
rm -f /etc/security/console.apps/poweroffrm -f /etc/security/console.apps/haltrm -f /etc/security/console.apps/reboot

27.3. コンソールの定義

pam_console.so モジュールは、/etc/security/console.perms ファイルを使用して、システムコンソールのユーザーパーミッションを決定します。ファイルの構文は柔軟性が非常に高くなります。これらの命令が適用されないようにファイルを編集することができます。ただし、デフォルトのファイルには以下のような行があります。
<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9]
ユーザーがログインすると、何らかの名前付きターミナルに割り当てられ ます( : 0 や mymachine.example.com:1. 0 など、名前が指定された X サーバー、または /dev/ttyS0/dev/pts/2 などのデバイス)。デフォルトでは、ローカルの仮想コンソールとローカル X サーバーがローカルとみなされますが、/dev/ttyS1 ポートの横のシリアルターミナルをローカルとみなす場合は、その行を読み込むように変更できます。
<console>=tty[0-9][0-9]* vc/[0-9][0-9]* :[0-9]\.[0-9] :[0-9] /dev/ttyS1

27.4. コンソールからのファイルへのアクセス許可

/etc/security/console.perms には、以下のような行を含むセクションがあります。
<floppy>=/dev/fd[0-1]* \
         /dev/floppy/* /mnt/floppy*
<sound>=/dev/dsp* /dev/audio* /dev/midi* \
        /dev/mixer* /dev/sequencer \
        /dev/sound/* /dev/beep \
/dev/snd/*
<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom*
必要に応じて、このセクションに独自の行を追加できます。適切なデバイスを参照する行を必ず確認してください。たとえば、以下の行を追加できます。
<scanner>=/dev/scanner /dev/usb/scanner*
(当然ながら、/dev/scanner が実際のスキャナーであり、ハードドライブではないことを確認します。)
これは最初の手順です。2 つ目の手順では、これらのファイルを使用して何が起こるかを定義します。/etc/security/console.perms の最後のセクションで、以下のような行を確認します。
<console> 0660 <floppy> 0660 root.floppy
<console> 0600 <sound>  0640 root
<console> 0600 <cdrom>  0600 root.disk
そして、次のような行を追加します。
<console> 0600 <scanner> 0600 root
次に、コンソールでログインすると、/dev/scanner デバイスの所有者に 0600 のパーミッションが付与されます(ユーザーのみが読み取り、書き込み可能)。ログアウトすると、デバイスは root によって所有され、パーミッションが 0600 になります(現在は、root でのみ読み取り/書き込み可能)。

27.5. 他のアプリケーションのコンソールアクセスの有効化

コンソールユーザーが他のアプリケーションにアクセスできるようにするには、より多くの作業が必要になります。
まず、コンソールアクセスは、/sbin/ または /usr /sbin/ にあるアプリケーションに対して のみ 機能するので、実行するアプリケーションが存在する必要があります。これを確認したら、以下の手順を実施します。
  1. サンプル foo プログラムなどのアプリケーションの名前から /usr/bin/consolehelper アプリケーションへのリンクを作成します。
    cd /usr/binln -s consolehelper foo
  2. /etc/security/console.apps/foo ファイルを作成します。
    touch /etc/security/console.apps/foo
  3. /etc/pam.d/foo サービスの PAM 設定ファイルを作成します。これを簡単に行うには、halt サービスの PAM 設定ファイルのコピーから開始し、動作を変更する場合はファイルを変更します。
    cp /etc/pam.d/halt /etc/pam.d/foo
/usr/bin/foo を実行すると、consolehelper が呼び出され、/usr/sbin/userhelper を利用してユーザーを認証します。ユーザーを認証するために、/etc/pam.d/foo/etc/pam.d/halt のコピー(/etc/pam.d/halt のコピーの場合)が( /etc/pam.d/foo)のコピーであれば、consolehelper はユーザーのパスワードを要求します。その後、root 権限で /usr/sbin/foo を実行します。
PAM 設定ファイルで、アプリケーションが pam_timestamp モジュールを使用して認証に成功したことを記憶(またはキャッシュ)するように設定することができます。アプリケーションが起動し、適切な認証が提供され(root パスワード)、タイムスタンプファイルが作成されます。デフォルトでは、認証の成功は 5 分間キャッシュされます。この間、pam_timestamp を使用するように設定され、同じセッションから実行されるその他のアプリケーションが自動的に認証されます。ユーザーは root パスワードを再度入力する必要はありません。
このモジュールは pam パッケージに含まれています。この機能を有効にするには、etc/pam.d/ の PAM 設定ファイルに以下の行が含まれている必要があります。
auth sufficient /lib/security/pam_timestamp.so
session optional /lib/security/pam_timestamp.so
auth で始まる最初の行は、他の auth十分な 行の後に指定し、セッションで始まる行は他の セッション オプション の行後である必要があります。
pam_timestamp を使用するように設定されたアプリケーションが(Panel 上の) Main Menu Button から正常に認証されると、GNOME または KDE デスクトップ環境を実行している場合は、 アイコンがパネルの通知エリアに表示されます。認証の期限が切れると(デフォルトは 5 分)、アイコンが消えます。
ユーザーは、アイコンをクリックして認証を忘れてしまったオプションを選択して、キャッシュされた認証を忘れることを選択できます。

27.6. フロッピー グループ

何らかの理由でコンソールアクセスは適切ではなく、root 以外のユーザーがシステムのディスクチップドライブにアクセスする必要がある場合は、floppy グループを使用してこれを行うことができます。任意のツールを使用して floppy グループにユーザーを追加します。たとえば、gpasswd コマンドを使用して、fred を フロッピー グループに追加できます。
gpasswd -a fred floppy
これで、ユーザー fred がコンソールからシステムのディスクチップドライブにアクセスできるようになりました。

第28章 日付と時刻の設定

Time and Date Properties Tool を使用すると、ユーザーはシステムの日付と時刻を変更し、システムが使用するタイムゾーンを設定し、Network Time Protocol(NTP)デーモンを設定してシステムクロックをタイムサーバーに同期します。
このツールを使用するには、X Window System を実行し、root 権限を持っている必要があります。アプリケーションを起動するには、以下の 3 つの方法があります。
  • デスクトップから、Applications (パネルのメインメニュー)=> システム設定 =& gt; 日時に移動します。
  • デスクトップでツールバーの時間を右クリックし、Adjust Date and Time を選択します。
  • シェルプロンプトで system-config-datesystem-config-time、または dateconfig コマンド(例: XTerm または GNOME ターミナル)を入力します。

28.1. 日付と時刻のプロパティー

図28.1「日付と時刻のプロパティー」 にあるように、表示される最初のタブブウインドウで、システムの日時が設定されます。

図28.1 日付と時刻のプロパティー

日付と時刻のプロパティー
日付を変更するには、月の左と右の矢印を使用して月を変更し、矢印を年の左および右側の矢印を使用して年を変更し、曜日をクリックして曜日を変更します。
時間を変更するには、Time セクションの HourMinute、および Second の横にある上矢印ボタンおよび下矢印ボタンを使用します。
OK ボタンをクリックすると、日付と時刻、NTP デーモン設定、タイムゾーン設定に加えられた変更が適用されます。また、プログラムを終了します。

28.2. Network Time Protocol(NTP)プロパティー

図28.2「NTP プロパティー」 のように、表示される 2 番目のタブブウィンドウは NTP を設定します。

図28.2 NTP プロパティー

NTP プロパティー
Network Time Protocol(NTP)デーモンは、システムクロックをリモートタイムサーバーまたはタイムソースと同期します。このアプリケーションでは、システムクロックとリモートサーバーを同期するように NTP デーモンを設定できます。この機能を有効にするには、Enable Network Time Protocol を選択します。これにより、NTP サーバー リストおよびその他のオプションが有効になります。事前に定義されたサーバーの 1 つを選択し、Edit をクリックして事前定義されたサーバーを編集するか、Add をクリックして新しいサーバー名を追加できます。OK をクリックするまで、システムは NTP サーバーとの同期を開始しません。OK をクリックすると、設定が保存され、NTP デーモンが起動します(またはすでに実行中の場合は再起動します)。
OK ボタンをクリックすると、日付と時刻、NTP デーモン設定、タイムゾーン設定に加えられた変更が適用されます。また、プログラムを終了します。

28.3. タイムゾーンの設定

表示される 3 番目のタブ付きウィンドウは、システムのタイムゾーンの設定に使用します。
システムのタイムゾーンを設定するには、Time Zone タブをクリックします。タイムゾーンは、対話型マップを使用するか、マップの下の一覧から必要なタイムゾーンを選択して変更できます。マップを使用するには、該当するリージョンをクリックします。マップは選択した地域にズームします。その後、タイムゾーンに固有の都市を選択できます。赤い X が表示され、マップの下にある一覧内のタイムゾーンの選択肢が変更します。
または、マップの下の一覧を使用することもできます。マップで都市を選択する前に地域を選択できるのと同じ方法で、タイムゾーンのリストはツリーリストになり、特定の大まかにグループ化されて複数の国にグループ化されるようになりました。また、非地理的なタイムゾーンがコミュニティーでニーズに対応するためにも追加されました。
OK をクリックし変更を適用して、プログラムを終了します。
システムクロックが UTC を使用するように設定されている場合は、システム クロックが UTC オプションを使用 します。UTC は グリニッジ標準時(GMT)とも呼ばれる Universal Time Coordinated を表します。他のタイムゾーンは UTC 時間にプラス/マイナスすることで割り出されます。

第29章 キーボードの設定

インストールプログラムを使用すると、システムのキーボードレイアウトを設定できます。インストール後に異なるキーボードレイアウトを設定するには、キーボード 設定ツールを使用します
Keyboard Configuration Tool を起動するには、Applications (パネルのメインメニュー)=> System Settings => Keyboard を選択するか、シェルプロンプトで system-config-keyboard コマンドを入力します。

図29.1 キーボードの設定

キーボードの設定
一覧からキーボードレイアウトを選択します(例: U.S)。英語)をクリックし、OK をクリックします。変更を有効にするには、グラフィカルデスクトップセッションからログアウトし、再度ログインする必要があります。

第30章 マウス設定

インストールプログラムを使用すると、システムに接続されているマウスのタイプを選択できます。システムに異なるマウスタイプを設定するには、Mouse Configuration Tool を使用します。
Mouse Configuration Tool を起動するには、 コマンド system-config-mouse コマンドをシェルプロンプトで入力します(例: XTerm または GNOME ターミナル)。X Window System が実行されていない場合は、ツールのテキストベースのバージョンが起動します。

図30.1 マウス設定

マウス設定
システムの新しいマウスタイプを選択します。特定のマウスモデルが一覧にない場合は、マウスのボタンとそのインターフェースに基づいて、Generic エントリーから 1 つ選択します。完全一致がない場合は、システムとマウスと最も互換性のある一般的な一致を選択します。
ヒント
マウスポート 適切なマウスポートで Generic - Wheel Mouse エントリーを選択して、マウスのスクロールボタンを有効にします。
wheel マウスのスクロールボタンは、テキスト、過去のテキスト、およびその他のマウスボタン機能用の中間マウスボタンとして使用できます。マウスにボタンが 2 つしかない場合は、Emulate 3 ボタンを 選択して、3 ボタンのマウスで 2 つのボタンを使用します。このオプションを有効にすると、2 つのマウスボタンを同時にクリックすると、マウスボタンがクリックされます。
シリアルポートのマウスが選択された場合は、Serial devices ボタンをクリックして正しいシリアル番号番号を設定します(マウスは /dev/ttyS0 など)。
OK をクリックして、新しいマウスタイプを保存します。この選択は /etc/sysconfig/mouse ファイルに書き込まれ、コンソールのマウスサービスである gpm が再起動されます。変更は X Window System 設定ファイル /etc/X11/xorg.conf に書き込まれます が、マウスタイプの変更は現在の X セッションに自動的に適用されません。新しいマウスタイプを有効にするには、グラフィカルデスクトップからログアウトし、再度ログインします。
ヒント
左側のユーザーのマウスボタンの順序をリセットするには、Applications (パネルのメインメニュー)=> Preferences => Mouse に移動し、マウスの 左形のマウス を選択します。

第31章 X Window System の設定

インストール時に、システムのモニター、ビデオカード、および表示設定が設定されます。インストール後にこれらの設定を変更するには、X Configuration Tool を使用します。
X Configuration Tool を起動するには、Applications (パネルのメインメニュー)=> Administration => Display に移動するか、シェルプロンプトで system-config-display コマンド(XTerm や GNOME ターミナルなど)を入力します。X Window System が実行されていない場合は、小さいバージョンの X が開始され、プログラムが実行されます。
設定を変更したら、グラフィカルデスクトップからログアウトし、ログインし直して変更を有効にします。

31.1. 表示設定

Settings タブを使用すると、ユーザーは 解決 および 色深度 を変更できます。モニターの表示は、ピクセルと呼ばれる小さなドットで構成されてい ます。一度に表示されるピクセルの数は、解像度 と呼ばれます。たとえば、解像度 1024x768 は、1024 水平ピクセルと 768 の垂直ピクセルが使用されることを意味します。解像度の値が高いと、モニターが一度に表示できる複数のイメージがあります。
表示の色深度により、表示される色の数が決まります。色深度が高いことは、色間の対比を意味します。

図31.1 表示設定

表示設定

31.2. ハードウェア設定の表示

X Configuration Tool が起動すると、モニターとビデオカードがプローブされます。ハードウェアが適切にプローブされている場合は、図31.2「ハードウェア設定の表示」 に示されるように Hardware タブにその情報が表示されます。

図31.2 ハードウェア設定の表示

ハードウェア設定の表示
監視タイプまたはその設定のいずれかを変更するには、該当する Configure ボタンをクリックします。ビデオカードの種類やその設定を変更するには、設定の横にある Configure ボタンをクリックします。

31.3. デュアルヒューリスティックディスプレイの設定

システムに複数のビデオカードがインストールされている場合は、デュアルヘッドモニターのサポートが利用可能になり、図31.3「デュアルヒューリスティックディスプレイの設定」 に示されているように Dual head タブで設定されます。

図31.3 デュアルヒューリスティックディスプレイの設定

デュアルヒューリスティックディスプレイの設定
Dual head の使用を有効にするには、Use dual head チェックボックスを選択します。
2 つ目の監視タイプを設定するには、該当する Configure ボタンをクリックします。対応するドロップダウンリストを使用して、他の Dual head 設定を設定することもできます。
Desktop layout オプションの場合は、Spanning を選択すると、 両方のモニターで使用可能なワークスペースが拡大されます。個別選択を選択する と、ディスプレイ間でマウスとキーボードが共有されますが、ウィンドウを 1 つのディスプレイに制限します。

第32章 ユーザーとグループ

ユーザー および グループ の制御は、Red Hat Enterprise Linux システム管理の中核となる要素です。
ユーザー は、ユーザー(物理システムに関連するアカウント)または、使用する特定のアプリケーションに存在するアカウントのいずれかを指定できます。
グループ は組織の論理式で、共通の目的でユーザーをグループ化します。グループ内のユーザーは、そのグループが所有するファイルの読み取り、書き込み、実行が可能です。
各ユーザーおよびグループには、userid (UID)と groupid (GID)と呼ばれる一意の数値 ID 番号があります。
ファイルを作成するユーザーは、そのファイルの所有者であり、グループ所有者でもあります。ファイルには、所有者、グループ、その他に対して読み取り、書き込み、実行のパーミッションが別々に割り当てられます。ファイルの所有者は root ユーザーのみが変更できます。アクセスパーミッションは、root ユーザーとファイル所有者の両方が変更できます。

32.1. ユーザーおよびグループの設定

User Manager では、ローカルユーザーおよびグループの表示、変更、追加、削除が可能です。
ユーザー マネージャー を使用するには、X Window System を実行し、root 権限があり、system-config-users RPM パッケージがインストールされている必要があります。デスクトップから User Manager を起動するには、Applications (パネルのメインメニュー)=> Administration =& gt; Users & Groups の順に移動します。シェルプロンプトで system-config-users コマンドを入力することもできます(例: XTerm や GNOME ターミナル)。

図32.1 User Manager

User Manager
システムでローカルユーザーの一覧を表示するには、Users タブをクリックします。システムでローカルグループの一覧を表示するには、Groups タブをクリックします。
特定のユーザーまたはグループを検索するには、Search filter フィールドに名前の最初の数文字を入力します。Enter を押すか、Apply filter ボタンをクリックします。フィルターされたリストが表示されます。
ユーザーまたはグループを並べ替えるには、列名をクリックします。ユーザーまたはグループは、その列の値に従ってソートされます。
Red Hat Enterprise Linux は、システムユーザー用に 500 以下のユーザー ID を確保します。デフォルトでは、User Manager はシステムユーザーを表示しません。システムユーザーを含むすべてのユーザーを表示するには、Edit => Preferences の順に移動し、ダイアログボックスから Hide system users and groups の選択を解除します。

32.1.1. 新規ユーザーの追加

新規ユーザーを追加するには、ユーザーの 追加 ボタンをクリックします。図32.2「新規ユーザー」 に示されているウィンドウが表示されます。適切なフィールドに、新規ユーザーのユーザー名およびフル名を入力します。Password フィールドおよび Confirm Password フィールドにユーザーのパスワードを入力します。パスワードは 6 文字以上でなければなりません。
ヒント
これにより、侵入者が推測し、パーミッションなしでアカウントにアクセスするのがより困難になるため、より長いパスワードを使用することが推奨されます。また、辞書用語にベースではないパスワードも推奨し、文字、数字、および特殊文字の組み合わせを使用します。
ログインシェルを選択します。選択するシェルが不明な場合は、デフォルト値の /bin/bash を受け入れます。デフォルトのホームディレクトリーは /home/ <username>/ です。ユーザー用に作成したホームディレクトリーを変更するか、Create home directory の選択を解除してホームディレクトリーを作成しないよう選択することもできます。
ホームディレクトリーの作成を選択すると、デフォルトの設定ファイルが /etc/skel/ ディレクトリーから新しいホームディレクトリーにコピーされます。
Red Hat Enterprise Linux は、ユーザープライベートグループ (UPG)スキームを使用します。UPG スキームは、グループを処理する標準の UNIX 方法で追加または変更されません。新しい規則が提供されています。デフォルトでは、新規ユーザーを作成するたびに、そのユーザーと同じ名前を持つ一意のグループが作成されます。このグループを作成したくない場合は、その ユーザー用に「Create a private group」を選択し ます。
ユーザーのユーザー ID を指定するには、ユーザー ID を手動で指定 する を選択します。このオプションが選択されていない場合は、次に 500 を超える利用可能なユーザー ID が新規ユーザーに割り当てられます。Red Hat Enterprise Linux は、システムユーザー用に 500 未満のユーザー ID を確保するため、ユーザー ID 1 ~ 499 を手動で割り当てることは推奨されません。
OK をクリックしてユーザーを作成します。

図32.2 新規ユーザー

新規ユーザー
パスワードの有効期限などの高度なユーザープロパティーを設定するには、ユーザーを追加した後にユーザーのプロパティーを変更します。詳細は、「ユーザープロパティーの変更」 を参照してください。

32.1.2. ユーザープロパティーの変更

既存のユーザーのプロパティーを表示するには、Users タブをクリックして、ユーザーリストからユーザーを選択し、メニューから Properties をクリックします(または、プルダウンメニューから File => Properties と選択します)。図32.3「ユーザープロパティー」 のようなウィンドウが表示されます。

図32.3 ユーザープロパティー

ユーザープロパティー
ユーザープロパティーウィンドウ は、複数のタブ化されたページに分割されます。
  • User Data: ユーザーの追加時に設定された基本的なユーザー情報を表示します。このタブを使用して、ユーザーのフルネーム、パスワード、ホームディレクトリー、またはログインシェルを変更します。
  • アカウント情報 - 特定の日付でアカウントの有効期限が切れるようにするには、Enable account expiration を選択します。指定のフィールドに日付を入力します。 Local password is locked を選択して、ユーザーアカウントをロックし、ユーザーがシステムにログインできないようにします。
  • Password Info: ユーザーのパスワードが最後に変更した日付を表示します。特定の日数後にパスワードを変更するように強制するには、Enable password expiration を選択し、required: フィールドを変更する前に Days に必要な値を入力します。ユーザーのパスワードが期限切れになるまでの日数、パスワードの変更をユーザーに警告する日数、アカウントが非アクティブになる前の日数も変更可能です。
  • Groups: ユーザーの プライマリー グループと、ユーザーを所属させる他のグループを表示および設定できます。

32.1.3. 新規グループの追加

新規ユーザーグループを追加するには、グループの 追加 ボタンをクリックします。図32.4「新規グループ」 のようなウィンドウが表示されます。作成する新規グループの名前を入力します。新規グループのグループ ID を 指定するには、グループ ID を手動で 選択し、GID を選択します。Red Hat Enterprise Linux は、システムグループ用に 500 未満のグループ ID を確保することに注意してください。

図32.4 新規グループ

新規グループ
OK をクリックしてグループを作成します。新しいグループがグループ一覧に表示されます。

32.1.4. グループプロパティーの変更

既存のグループのプロパティーを表示するには、グループリストからグループを選択し、メニューから Properties をクリックします(または、プルダウンメニューから File => Properties を選択します)。図32.5「グループプロパティー」 のようなウィンドウが表示されます。

図32.5 グループプロパティー

グループプロパティー
Group Users タブには、グループのメンバーであるユーザーが表示されます。このタブを使用してグループに対してユーザーを追加または削除します。OK をクリックして変更を保存します。

32.2. ユーザーおよびグループ管理ツール

ユーザーおよびグループの管理は、多重なタスクになります。そのため、Red Hat Enterprise Linux はそれらを管理しやすくするためのツールおよび規則を提供しています。
ユーザーおよびグループを管理する最も簡単な方法は、グラフィカルアプリケーションの User Manager (system-config-users)を使用して行います。ユーザー マネージャーの詳細は、「ユーザーおよびグループの設定」 を参照してください。
以下のコマンドラインツールを使用して、ユーザーおよびグループを管理することもできます。
  • useraddusermod、および userdel: ユーザーアカウントを追加、削除、および変更するための業界標準の手法
  • groupaddgroupmod、および groupdel: ユーザーグループを追加、削除、変更するための業界標準の手法
  • gpasswd: /etc/group ファイルを管理する方法の業界標準
  • pwckgrpck - パスワード、グループ、および関連するシャドウファイルの検証に使用されるツール
  • pwconvpwunconv - シャドウパスワードへの変換および標準パスワードに戻るツール

32.2.1. コマンドラインからの設定

コマンドラインツールを使用する場合や、X Window System がインストールされていない場合は、本セクションを使用してユーザーとグループを設定します。

32.2.2. ユーザーの追加

システムをユーザーを追加するには、以下を実行します。
  1. useradd コマンドを実行して、ロックされたユーザーアカウントを作成します。
    useradd <username>
  2. passwd コマンドを実行してパスワードを割り当て、パスワードのパージガイドラインを設定してアカウントのロックを解除します。
    passwd <username>
useradd のコマンドラインオプションの詳細は、表32.1「useradd コマンドラインオプション」 を参照してください。
表32.1 useradd コマンドラインオプション
オプション Description
-c '<comment>' & lt;comment&gt; は任意の文字列に置き換えることができます。このオプションは、通常、ユーザーの氏名を指定するのに使用されます。
-d &lt ;home-dir> デフォルトの /home/ < username> / の代わりに使用するホームディレクトリー
-e <date> YYYY-MM-DD 形式でアカウントを無効にする日付
-f <days> パスワードが失効してからアカウントが無効になるまでの日数です。0 を指定すると、パスワードが失効した直後にアカウントが無効になります。-1 を指定すると、パスワードが失効してもアカウントは無効になりません。
-g <group-name> ユーザーのデフォルトグループ用のグループ名またはグループ番号。グループは、ここで指定するよりも前に作成されている必要があります。
-G <group-list> ユーザーがメンバーとなっている追加(デフォルト)のグループ名またはグループ番号の一覧(コンマで区切られた)。グループは、ここで指定する前に作成しておく必要があります。
-m ホームディレクトリーがない場合は、これを作成します。
-M ホームディレクトリーを作成しません。
-n ユーザー用のユーザープライベートグループを作成しません。
-r
-p <password>
-s
-u <uid>

32.2.3.

groupadd <group-name>
表32.2
オプション Description
-g <gid>
-r
-f

32.2.4.

重要な影響
表32.3
オプション Description
-M <days> このオプションで指定した日数と、-d オプションで指定した日数を足した日数が、現在の日数より少ない場合、ユーザーはアカウントを使用する前にパスワードを変更する必要があります。
-d <days>
-I <days> パスワードの有効期限後、アカウントをロックするまでの非アクティブ日数を指定します。
-E <date> アカウントがロックされる日付を YYYY-MM-DD のフォーマットで指定します。日付の代わりに、1970 年 1 月 1 日からの日数を使うこともできます。
-W <days> パスワードの有効期限の何日前にユーザーに警告を発するかを指定します。
ユーザーが初めてログインしたときにパスワードが失効するように設定することができます。
備考
  1. usermod -L username
  2. chage -d 0 username
    このコマンドは、パスワードが最後に変更された日付の値をエポック (1970 年 1 月 1 日) に設定します。この値は、パスワードエージングポリシーがある場合、それに関係なく、パスワードの即時期限切れを強制します。
  3. Warning
    • Python 2.4.3 (#1, Jul 21 2006, 08:46:09)
      [GCC 4.1.1 20060718 (Red Hat 4.1.1-9)] on linux2
      Type "help", "copyright", "credits" or "license" for more information.
      >>>
      
    • import crypt; print crypt.crypt("<password>","<salt>")
    • usermod -p "<encrypted-password>" <username>
    これを行うには、以下のコマンドを使用します。
    usermod -p "" username
    Warning

32.2.5. プロセスの説明

  1. この行には以下の特徴があります。
  2. この行には以下の特徴があります。
    • 備考
    • パスワードは有効期限なしで設定されています。
  3. この行には以下の特徴があります。
    • その他のフィールドはすべて空白です。
  4. その他のパーミッションは拒否されます。

32.3.

表32.4
User UID GID シェル
root 0 0 /root /bin/bash
1 1 /bin /sbin/nologin
daemon 2 2 /sbin /sbin/nologin
adm 3 4 /var/adm /sbin/nologin
lp 4 7 /var/spool/lpd /sbin/nologin
sync 5 0 /sbin /bin/sync
shutdown 6 0 /sbin /sbin/shutdown
halt 7 0 /sbin /sbin/halt
mail 8 12 /var/spool/mail /sbin/nologin
news 9 13 /etc/news
uucp 10 14 /var/spool/uucp /sbin/nologin
operator 11 0 /root /sbin/nologin
12 100 /usr/games /sbin/nologin
13 30 /var/gopher /sbin/nologin
ftp 14 50 /var/ftp /sbin/nologin
nobody 99 99 / /sbin/nologin
rpm 37 37 /var/lib/rpm /sbin/nologin
vcsa 69 69 /dev /sbin/nologin
dbus 81 81 / /sbin/nologin
ntp 38 38 /etc/ntp /sbin/nologin
39 39 /var/lib/canna /sbin/nologin
nscd 28 28 / /sbin/nologin
rpc 32 32 / /sbin/nologin
postfix 89 89 /var/spool/postfix /sbin/nologin
mailman 41 41 /var/mailman /sbin/nologin
named 25 25 /var/named /bin/false
amanda 33 6 var/lib/amanda/ /bin/bash
postgres 26 26 /var/lib/pgsql /bin/bash
exim 93 93 /var/spool/exim /sbin/nologin
sshd 74 74 /var/empty/sshd /sbin/nologin
rpcuser 29 29 /var/lib/nfs /sbin/nologin
nsfnobody 65534 65534 /var/lib/nfs /sbin/nologin
pvm 24 24 /usr/share/pvm3 /bin/bash
apache 48 48 /var/www /sbin/nologin
xfs 43 43 /etc/X11/fs /sbin/nologin
gdm 42 42 /var/gdm /sbin/nologin
htt 100 101 /usr/lib/im /sbin/nologin
mysql 27 27 /var/lib/mysql /bin/bash
webalizer 67 67 /var/www/usage /sbin/nologin
47 47 /var/spool/mqueue /sbin/nologin
smmsp 51 51 /var/spool/mqueue /sbin/nologin
squid 23 23 /var/spool/squid /sbin/nologin
ldap 55 55 /var/lib/ldap /bin/false
netdump 34 34 /var/crash/ /bin/bash
pcap 77 77 /var/arpwatch /sbin/nologin
95 95 / /bin/false
radvd 75 75 / /sbin/nologin
quagga 92 92 /var/run/quagga /sbin/login
49 49 /var/lib/wnn /sbin/nologin
dovecot 97 97 /usr/libexec/dovecot /sbin/nologin

32.4.

表32.5
Group GID Members
root 0 root
1
daemon 2
sys 3
adm 4
5
disk 6 root
lp 7
mem 8
9
ホイール 10 root
mail 12
news 13 news
uucp 14 uucp
man 15
20
30
40
ftp 50
lock 54
nobody 99
users 100
rpm 37
utmp 22
floppy 19
vcsa 69
dbus 81
ntp 38
39
nscd 28
rpc 32
postdrop 90
postfix 89
mailman 41
exim 93
named 25
postgres 26
sshd 74
rpcuser 29
nfsnobody 65534
pvm 24
apache 48
xfs 43
gdm 42
htt 101
mysql 27
webalizer 67
mailnull 47
smmsp 51
squid 23
ldap 55
netdump 34
pcap 77
quaggavt 102
quagga 92
radvd 75
Slocate 21
wnn 49
dovecot 97
radiusd 95

32.5. ユーザープライベートグループ

Red Hat Enterprise Linux では ユーザープライベートグループ (UPG)スキームが使用されているため、UNIX グループの管理が容易になります。
UPG は、新規ユーザーがシステムに追加されるたびに作成されます。UPG は、作成したユーザーと同じ名前で、そのユーザーが UPG の唯一のメンバーになります。
UPG を使用すると、新規に作成したファイルまたはディレクトリーに対して確実にデフォルトのパーミッションを設定できます。これにより、ユーザーと そのユーザーのグループ の両方がファイルまたはディレクトリーを修正できるようになります。
新規に作成するファイルまたはディレクトリーに適用される権限を決定する設定は umask と呼ばれ、/etc/bashrc ファイルで設定します。従来の UNIX システムでは、umask022 に設定されており、ファイルまたはディレクトリーを作成したユーザーしか変更できませんでした。このスキームでは、作成者の グループのメンバーなど、他の ユーザーは変更できません。ただし、UPG スキームでは、すべてのユーザーがそれぞれプライベートグループを持つため、この「グループ保護」は必須ではなくなりました。

32.5.1. グループディレクトリー

多くの IT 組織では、主要なプロジェクトに対してグループを作成し、そのプロジェクトのファイルにアクセスする必要がある場合に、そのユーザーをグループに割り当てます。この従来のスキームを使用すると、ファイルの管理は困難でした。ユーザーがファイルを作成すると、そのファイルが属するプライマリーグループに関連付けられます。1 人のユーザーが複数のプロジェクトで作業を行う場合は、正しいファイルを適切なグループに関連付けることは困難です。ただし、UPG スキームを使用すると、グループは setgid ビットセットを持つディレクトリーに作成されたファイルに自動的に割り当てられます。setgid ビットを使用すると、共通ディレクトリーを共有するグループプロジェクトを非常に簡単に管理できます。これは、ユーザーがディレクトリー内で作成するすべてのファイルは、そのディレクトリーを所有するグループによって所有されるためです。
たとえば、あるグループが /usr/share/emacs/site-lisp/ ディレクトリーのファイルで作業する必要があるとします。ディレクトリーの修正を信頼できる人もありますが、誰もが信頼されているわけではありません。まず、以下のコマンドのように emacs グループを作成します。
/usr/sbin/groupadd emacs
ディレクトリーの内容を emacs グループに関連付けるには、以下を入力します。
chown -R root.emacs /usr/share/emacs/site-lisp
gpasswd コマンドを使用して、適切なユーザーをグループに追加できるようになりました。
/usr/bin/gpasswd -a <username> emacs
ユーザーがディレクトリーにファイルを作成できるようにするには、次のコマンドを使用します。
chmod 775 /usr/share/emacs/site-lisp
ユーザーが新しいファイルを作成すると、そのユーザーのデフォルトプライベートグループのグループが割り当てられます。次に setgid ビットを設定します。このビットは、ディレクトリー自体と同じグループパーミッション(emacs)に作成されたものをすべて割り当てます。以下のコマンドを使用します。
chmod 2775 /usr/share/emacs/site-lisp
この時点で、各ユーザーのデフォルトの umask は 002 であるため、emacs グループのすべてのメンバーは、ユーザーが新しいファイルを書き込むたびにファイルを変更しなくても、/usr/share/emacs/site-lisp/ ディレクトリーにファイルを作成および編集できます。

32.6. シャドウパスワード

マルチユーザー環境では、シャドウパスワード を使用することが非常に重要です( shadow-utils パッケージで提供されます)。これにより、システム認証ファイルのセキュリティーを強化します。このため、インストールプログラムでは、デフォルト設定でシャドウパスワードを有効にしています。
以下は、UNIX ベースのシステムにパスワードを格納する従来の方法と比較して、pfd シャドウパスワードの利点を示しています。
  • 暗号化されたパスワードハッシュを、あらゆるユーザーが読み取り可能な /etc/passwd ファイルから、root ユーザーのみが読み取り可能な /etc/shadow に移動して、システムセキュリティーを向上させます。
  • パスワードのマージに関する情報を保存します。
  • /etc/login.defs ファイルを使用してセキュリティーポリシーを強制できるようにします。
shadow-utils パッケージが提供するほとんどのユーティリティーは、シャドウパスワードが有効かどうかに関わらず適切に機能します。ただし、パスワードの変更情報は /etc/shadow ファイルにのみ格納されるため、パスワードの変更情報を作成または変更するコマンドは機能しません。
シャドウパスワードを有効にしなくても機能しないコマンドのリストを以下に示します。
  • chage
  • gpasswd
  • /usr/sbin/usermod -e オプションまたは -f オプション
  • /usr/sbin/useradd -e オプションまたは -f オプション

32.7. 関連情報

ユーザーおよびグループ、およびそれらを管理するツールの詳細は、以下のリソースを参照してください。

32.7.1. インストールされているドキュメント

  • 関連する man ページ: ユーザーおよびグループの管理に関連するさまざまなアプリケーションや設定ファイルの man ページが多数あります。その他重要な man ページは、以下に挙げています。
    ユーザーおよびグループ管理アプリケーション
    • mangitops: パスワードのマージポリシーおよびアカウントの有効期限を変更するコマンド。
    • man gpasswd - /etc/group ファイルを管理するコマンドです。
    • man groupadd - グループを追加するコマンド
    • man grpck - /etc/group ファイルを確認するコマンド。
    • man groupdel: グループを削除するコマンド。
    • man groupmod - グループメンバーシップを変更するコマンド。
    • man pwck - /etc/passwd ファイルおよび /etc/shadow ファイルを検証するコマンド。
    • man pwconv: 標準パスワードをシャドウパスワードに変換するツール。
    • man pwunconv: シャドウパスワードを標準パスワードに変換するツール。
    • man useradd - ユーザーを追加するコマンド。
    • man userdel: ユーザーを削除するコマンド。
    • man usermod: ユーザーを変更するコマンド。
    設定ファイル
    • man 5 グループ: システムのグループ情報が含まれるファイル。
    • man 5 passwd - システムのユーザー情報を含むファイル。
    • man 5 shadow: システムのパスワードおよびアカウントの有効期限情報が含まれるファイル。

第33章 プリンターの設定

Printer Configuration Tool を使用すると、ユーザーはプリンターを設定できます。このツールは、プリンター設定ファイル、印刷スプールディレクトリー、印刷フィルター、プリンタークラスの維持に役立ちます。
Red Hat Enterprise Linux 4 は、Common Unix Printing System(CUPS)を使用します。CUPS を使用した以前の Red Hat Enterprise Linux バージョンからシステムをアップグレードすると、アップグレードプロセスにより、設定したキューが保持されます。
Printer Configuration Tool を使用するには、root 権限が必要です。アプリケーションを起動するには、Applications (パネルのメインメニュー)=> Administration => Printing を選択するか、シェルプロンプトで system-config-printer コマンドを入力します。

図33.1 プリンター設定ツール

プリンター設定ツール
以下のタイプの印刷キューを設定できます。
  • AppSocket/HP JetDirect - コンピューターの代わりに HP JetDirect インターフェースまたは Appsocket インターフェースを介してネットワークに直接接続されたプリンター。
  • IPP(Internet Printing Protocol) - Internet Printing Protocol を介して TCP/IP ネットワーク経由でアクセス可能なプリンター(たとえば、ネットワーク上の CUPS を実行している別の Red Hat Enterprise Linux システムに接続されているプリンターなど)。
  • LPD/LPR Host or Printer: TCP/IP ネットワーク上でアクセス可能な別の UNIX システムに接続されているプリンター(たとえば、ネットワーク上で LPD を実行している別の Red Hat Enterprise Linux システムに接続されているプリンターなど)。
  • ネットワーク Windows(SMB): SMB ネットワークでプリンターを共有する別のシステム(Microsoft Windows™ マシンに接続され ているプリンターなど)に接続されているプリンター。
  • Networked JetDirect - コンピューターの代わりに HP JetDirect を介してネットワークに直接接続されたプリンター。
重要な影響
新しい印刷キューを追加するか、または既存のキューを変更する場合は、変更を適用する必要があります。
Apply ボタンをクリックすると、設定した変更でプリンターデーモンが再起動するように求められます。
戻す ボタンをクリックすると、適用されていない変更は破棄されます。

33.1. ローカルプリンターの追加

並列ポート、コンピューターの USB ポートなどを介して接続しているローカルプリンターを追加するには、メインの Printer Configuration Tool ウィンドウで New Printer ボタンをクリックして、図33.2「プリンターの追加 にウィンドウを表示します。

図33.2 プリンターの追加

プリンターの追加
Forward をクリックして先に進みます。
Printer Name フィールドにプリンターの一意の名前を入力します。プリンター名には、文字、数字、ダッシュ(-)、およびアンダースコア(_)を使用できます。スペースを含めること はできません
また、説明 フィールドおよび Location フィールドを使用して、このプリンターと、システムに設定した可能性のある他のプリンターをさらに区別することもできます。これらのフィールドはいずれも任意で、スペースを含めることができます。
Forward をクリックして New Printer ダイアログを開きます( 図33.3「ローカルプリンターの追加」を参照)。プリンターが自動的に検出されると、プリンターのモデルが 接続の選択 に表示されます。プリンターモデルを選択し、進む をクリックして続行します。
デバイスが自動的に表示されない場合は、接続の選択 でプリンターを接続するデバイスを 選択 します( LPT # 1 や Serial Port #1など)。

図33.3 ローカルプリンターの追加

ローカルプリンターの追加
次に、プリンタータイプを選択します。詳細は、「プリンターモデルの選択と完了」 を参照してください。

33.2. IPP プリンターの追加

IPP プリンターは同じ TCP/IP ネットワークにある別のシステムに接続されているプリンターです。このプリンターがアタッチされているシステムは CUPS を実行しているか、または単に IPP を使用するように設定されているだけです。
プリンターサーバーでファイアウォールが有効な場合は、受信 UDP ポート 631 での送受信接続を許可するようにファイアウォールを設定する必要があります。クライアントでファイアウォールが有効になっている場合(出力要求を送信するシステム)、ファイアウォールがポート 631 を介して接続を許可および作成できるようにする必要があります。
メインの Printer Configuration Tool ウィンドウで New Printer ボタンをクリックして、図33.2「プリンターの追加 にウィンドウを表示して、ネットワーク IPP プリンターを追加できます。プリンター名(printer 名にはスペースを含めることができません)、文字、数字、ダッシュ(-)、アンダースコア(_)、説明場所 )を入力して、このプリンターをシステムで設定できる他の人と区別することができます。Forward をクリックして先に進みます。
図33.4「IPP プリンターの追加」 に表示されるウィンドウで、Hostname フィールドに IPP プリンターのホスト名と、Printername フィールドにプリンターの一意名を入力します。

図33.4 IPP プリンターの追加

IPP プリンターの追加
進む をクリックして続けます。
次に、プリンタータイプを選択します。詳細は、「プリンターモデルの選択と完了」 を参照してください。

33.3. Samba(SMB)プリンターの追加

メインの Printer Configuration Tool ウィンドウで New Printer ボタンをクリックして、図33.2「プリンターの追加 にウィンドウを表示して、Samba(SMB)ベースのプリンター共有を追加できます。Printer Name フィールドにプリンターの一意の名前を入力します。プリンター名には、文字、数字、ダッシュ(-)、およびアンダースコア(_)を使用できます。スペースを含めること はできません
また、説明 フィールドおよび Location フィールドを使用して、このプリンターと、システムに設定した可能性のある他のプリンターをさらに区別することもできます。これらのフィールドはいずれも任意で、スペースを含めることができます。

図33.5 SMB プリンターの追加

SMB プリンターの追加
図33.5「SMB プリンターの追加」 で示されているように、利用可能な SMB 共有は自動的に検出され、Share 列に表示されます。Workgroup の横にある矢印( )をクリックして展開します。拡張されたリストからプリンターを選択します。
検索するプリンターが一覧に表示されない場合は、smb:// フィールドに SMB アドレスを入力します。computer name/printer share の形式を使用します。図33.5「SMB プリンターの追加」 では、プリンター共有r2 で、コンピューター名dellbox になります。
ユーザー名 フィールドには、プリンターにアクセスするユーザー名を入力します。このユーザーは、SMB システムで存在している必要があり、ユーザーはプリンターへのアクセス権限を持っている必要があります。デフォルトのユーザー名は通常、Windows サーバーでは guest、または Samba サーバーの場合は nobody です。
ユーザー名 フィールドに指定したユーザーの パスワード (必要な場合)を 入力 します。
確認 をクリックすると、接続をテストできます。確認が成功すると、ダイアログボックスが表示され、プリンター共有のアクセスを確認します。
次に、プリンタータイプを選択します。詳細は、「プリンターモデルの選択と完了」 を参照してください。
Warning
Samba プリンターのユーザー名およびパスワードは、root および lpd が読み取り可能な暗号化されていないファイルとしてプリンターサーバーに保存されます。そのため、プリンターサーバーに root アクセスを持つ他のユーザーは、Samba プリンターへのアクセスに使用するユーザー名とパスワードを表示できます。
そのため、Samba プリンターにアクセスするためのユーザー名とパスワードを選択する場合は、ローカルの Red Hat Enterprise Linux システムへのアクセスに使用するパスワードとは異なるパスワードを選択することが推奨されます。
Samba プリンターサーバーで共有するファイルがある場合も、印刷キューで使用されるパスワードとは異なるパスワードを使用することが推奨されます。

33.4. JetDirect プリンターの追加

JetDirect または AppSocket の接続プリンター共有を追加するには、メインの Printer Configuration Tool ウィンドウで New Printer ボタンをクリックして、図33.2「プリンターの追加 でウィンドウを表示します。Printer Name フィールドにプリンターの一意の名前を入力します。プリンター名には、文字、数字、ダッシュ(-)、およびアンダースコア(_)を使用できます。スペースを含めること はできません
また、説明 フィールドおよび Location フィールドを使用して、このプリンターと、システムに設定した可能性のある他のプリンターをさらに区別することもできます。これらのフィールドはいずれも任意で、スペースを含めることができます。

図33.6 JetDirect プリンターの追加

JetDirect プリンターの追加
進む をクリックして続けます。
以下のオプションのテキストフィールドが表示されます。
  • hostname - JetDirect プリンターのホスト名または IP アドレス。
  • ポート 番号 - 印刷ジョブをリッスンする JetDirect プリンターのポートデフォルトのポートは 9100 です。
次に、プリンタータイプを選択します。詳細は、「プリンターモデルの選択と完了」 を参照してください。

33.5. プリンターモデルの選択と完了

プリンターキュータイプを適切に選択したら、以下のいずれかのオプションを選択できます。
  • データベースからプリンターを選択 - このオプションを選択すると、製造元 の一覧からプリンターの製造元を選択し ます。ご使用のプリンターの製造が一覧にない場合は、Generic を選択します。
  • PPD ファイルの提供: PPD(PPD)ファイルはプリンターでも指定できます。このファイルは、通常製造元によって提供されます。PPD ファイルで提供される場合は、このオプションを選択し、オプションの詳細の下にあるブラウザーバーを使用して PPD ファイルを選択できます。
図33.7「プリンターモデルの選択」 を参照してください。

図33.7 プリンターモデルの選択

プリンターモデルの選択
オプションの選択後に Forward をクリックして続行します。図33.7「プリンターモデルの選択」 が表示されます。プリンターの対応するモデルとドライバーを選択する必要があります。
推奨される印刷ドライバーは、選択したプリンターモデルに基づいて自動的に選択されます。ただし、別の利用可能なドライバーを選ぶことも可能です。ローカルプリンターはコンピューターに直接接続されているため、プリンターに送信されるデータを処理するにはプリンタードライバーが必要です。
デバイスの PPD ファイル(通常は製造元提供)がある場合は、Provide PPD file を選択して選択できます。その後、Browse をクリックして PPD ファイルのファイルシステムを参照できます。

33.5.1. プリンター設定の確認

最後の手順では、プリンター設定を確認します。設定が正しい場合は Apply をクリックし、印刷ジョブを追加します。戻る (Back) をクリックすると、プリンター設定を変更できます。
変更を適用した後、テストページを出力して設定が正しいことを確認します。詳細は、「テストページの印刷」 を参照してください。

33.6. テストページの印刷

プリンターを設定したら、テストページを印刷して、プリンターが適切に機能していることを確認する必要があります。テストページを印刷するには、プリンターの一覧から試行するプリンターを選択し、プリンターの Settings タブから テストページの 印刷 をクリックします。
印刷ドライバーを変更したりドライバーオプションを変更する場合は、テストページを印刷して別の設定をテストする必要があります。

33.7. 既存プリンターの修正

既存のプリンターを削除するには、プリンターを選択し、ツールバーの Delete ボタンをクリックします。プリンター設定の削除を確認すると、プリンターの一覧からプリンターが削除されます。
デフォルトのプリンターを設定するには、プリンターの一覧からプリンターを選択し、設定タブの Make Default Printer ボタンをクリック ます。

33.7.1. 設定 タブ

プリンターのドライバー設定を変更するには、プリンター リストで該当する名前をクリックして、設定 タブを クリック します。
製造元やモデルなどのプリンター設定を変更し、プリンターのデフォルトやテストページの印刷、デバイスの場所(URI)の変更などが可能です。

図33.8 Settings タブ

Settings タブ

33.7.2. ポリシー タブ

印刷出力の設定を変更するには、Policies タブをクリックします。
たとえば、バナーページ (送信元プリンター、ジョブを開始したユーザー名、印刷中のドキュメントのセキュリティーステータスなど)を説明するページを作成するには、Starting Banner ドロップまたは Ending Banner ドロップメニューをクリックし、印刷ジョブの性質に最適なオプションを選択します( トップシークレット分類 された 機密など)。

図33.9 Policies タブ

Policies タブ
ドロップダウンメニューからオプションを選択して、プリンターの エラーポリシー を設定することもできます。印刷ジョブを中止、再試行、または停止することを選択できます。

33.7.3. アクセス制御 タブ

アクセス 制御 タブをクリックして、設定したプリンターへ のユーザーレベルのアクセスを変更できます。
テキストボックスを使用してユーザーを追加し、その横の Add ボタンをクリックします。その後、そのユーザーのサブセットへのプリンターの使用のみを許可したり、それらのユーザーに使用を拒否するかを選択できます。

図33.10 アクセス制御タブ

アクセス制御タブ

33.7.4. プリンター および ジョブオプションタブ

プリンターオプション タブに は、プリンターのメディアと出力のさまざまな設定オプションが含まれます。

図33.11 プリンターオプションタブ

プリンターオプションタブ
  • ページサイズ: ビデオサイズを選択できます。オプションには、US Letter、米国、A3、および A4 が含まれます。
  • メディアソース: デフォルトで Automatic に設定されます。このオプションを変更して、別のトレイからのビデオを使用します。
  • メディアタイプ: ビデオタイプを変更できます。オプションには Plain、thick、bond、および透過性があります。
  • Resolution: printout の品質および詳細を設定します(デフォルトは、inch(dpi)ごとに 300 のドットです)。
  • Toner saving - リソース を節約するためにプリンターが短いトナーを使用するかどうかを選択します。
ジョブオプション タブを使用してプリンタージョブのオプションを設定することもできます。ドロップダウンメニューを使用して、Landscape モード(horizontal または vertical printout)、コピースケーリング (印刷可能領域のサイズを拡大または縮小)など、使用するジョブオプションを選択します。

33.8. 印刷ジョブの管理

Emacs からのテキストファイルの印刷、GIMP からの画像の印刷など、プリンターデーモンに印刷ジョブを送信すると、印刷ジョブは 印刷スプールキューに追加されます。印刷スプールキューはプリンターに送信された印刷ジョブの一覧であり、リクエストの状態、ジョブ番号など、各印刷要求に関する情報です。
印刷プロセス中に、Printer Status アイコンがパネルの Notification Area に表示されます。印刷ジョブのステータスを確認するには、図33.12「GNOME 印刷の状態」 のようなウィンドウを表示する Printer Status をダブルクリックします。

図33.12 GNOME 印刷の状態

GNOME 印刷の状態
GNOME Print Status に記載されている特定の印刷ジョブをキャンセルするには、一覧から選択し、プルダウンメニューから Edit => Cancel Documents を選択します。
シェルプロンプトから印刷スプールの印刷ジョブの一覧を表示するには、lpq コマンドを入力します。最後の数行は以下のようになります。

例33.1 lpq 出力例

Rank   Owner/ID              Class  Job Files       Size Time 
active user@localhost+902    A      902 sample.txt  2050 01:20:46
印刷ジョブをキャンセルするには、lpq コマンドで要求のジョブ番号を見つけ、lprm job number コマンドを使用します。たとえば、lprm 902例33.1「lpq 出力例」 で印刷ジョブをキャンセルします。印刷ジョブをキャンセルするには、適切なパーミッションが必要です。プリンターが接続しているマシンに root としてログインしていない限り、他のユーザーが開始された印刷ジョブはキャンセルできません。
シェルプロンプトから直接ファイルを印刷することもできます。たとえば、lpr sample.txt コマンドはテキストファイル sample.txt を出力します。印刷フィルターはファイルのタイプを決定し、プリンターが理解できる形式に変換します。

33.9. 関連情報

Red Hat Enterprise Linux での印刷の詳細は、以下の資料を参照してください。

33.9.1. インストールされているドキュメント

  • map lpr: コマンドラインからのファイルの印刷を可能にする lpr コマンドの man ページです。
  • man lprm: 印刷キューから印刷ジョブを削除するコマンドラインユーティリティーの man ページです。
  • man mpage: 1 枚の用紙に複数ページを印刷するためのコマンドラインユーティリティーの man ページです。
  • man cupsd: CUPS プリンターデーモンの man ページです。
  • man cupsd.conf: CUPS プリンターデーモンの設定ファイルの man ページです。
  • man classes.conf: CUPS のクラス設定ファイルの man ページです。

33.9.2. 便利な Web サイト

第34章 自動タスク

Linux では、タスクは、指定期間、指定された日付、またはシステムの負荷平均が指定された数を下回る場合に、自動的に実行するように設定できます。Red Hat Enterprise Linux は、システムの更新を維持するために重要なシステムタスクを実行するように事前設定されています。たとえば、locate コマンドで使用される s locate データベースが毎日更新されます。システム管理者は、自動化されたタスクを使用して定期的なバックアップの実行、システムの監視、カスタムスクリプトの実行などを実行できます。
Red Hat Enterprise Linux には、cronatbatch などの自動タスクユーティリティーが複数含まれています。

34.1. Cron

Cron は、時間、月、曜日の組み合わせ、タスクの繰り返し実行をスケジュールするために使用できるデーモンです。
crons は、システムが継続的にあることを前提としています。タスクがスケジュールされている時にシステムがオンになっていない場合は、実行されません。1 回限りのタスクをスケジュールするには、「at および Batch」 を参照してください。
cron サービスを使用するには、vixie-cron RPM パッケージがインストールされ、crond サービスが実行している必要があります。パッケージがインストールされているかどうかを確認するには、rpm -q vixie-cron コマンドを使用します。サービスが実行中かどうかを確認するには、/sbin/service crond status コマンドを使用します。

34.1.1. cron タスクの設定

cron( /etc/crontab )の主な設定ファイルには、以下の行が含まれます。
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
最初の 4 行は、cron タスクが実行される環境を設定するために使用される変数です。SHELL 変数は、使用するシェル環境(この例では bash シェル)をシステムに指示しますが、PATH 変数はコマンドの実行に使用されるパスを定義します。cron タスクの出力は、MAILTO 変数で定義したユーザー名にメールで送信されます。MAILTO 変数が空の文字列(MAILTO=""として定義されている場合)の場合、メールは送信されません。HOME 変数を使用すると、コマンドまたはスクリプトの実行時に使用するホームディレクトリーを設定できます。
/etc/crontab ファイルの各行はタスクを表し、以下の形式となっています。
minute   hour   day   month   dayofweek   command
  • minute: 0 から 59 までの任意の整数
  • hour: 0 から 23 までの任意の整数
  • day: 1 から 31 までの整数(月を指定する場合は有効な日付である必要があります)
  • month: 1 から 12 までの任意の整数(または jan や feb などの月の省略名)
  • dayOfWeek: 0 から 7 まで 任意の整数。0 または 7 は日曜日を表します(または sun または mon などの曜日の短縮名)。
  • command - 実行するコマンド(コマンドは ls /proc >> /tmp/proc などのコマンドか、またはカスタムスクリプトを実行するコマンドになります)。
上記のいずれの値でも、アスタリスク(*)を使用して有効な値をすべて指定できます。たとえば、month 値のアスタリスクは、他の値の制約内で毎回コマンドを実行します。
整数間のハイフン(-)は整数の範囲を指定します。たとえば、1-4 は整数の 1、2、3、および 4 を意味します。
コンマで区切られた値の一覧(,)はリストを指定します。たとえば、3, 4, 6, 8 は 4 つの特定の整数を示します。
スラッシュ(/)を使用して step の値を指定できます。整数の値は、/<integer> の範囲に従って範囲内をスキップできます。たとえば、0-59/2 を使用すると、1 分ごとの分を 1 分単位で定義できます。ステップ値はアスタリスクでも使用することができます。たとえば、*/3 の値を月フィールドで使用することで、3 カ月ごとにタスクを実行できます。
ハッシュマーク(#)で始まる行はすべてコメントで、処理されません。
/etc/crontab ファイルにあるように、run-parts スクリプトは、/etc/cron.hourly//etc/cron.daily//etc/cron.weekly/、および /etc/cron.monthly/ ディレクトリーのスクリプトを実行します。これらのディレクトリーのファイルはシェルスクリプトである必要があります。
cron タスクを hourly、daily、weekly、または monthly 以外のスケジュールで実行する必要がある場合は、/etc/cron.d/ ディレクトリーに追加できます。このディレクトリー内のすべてのファイルは、/etc/crontab と同じ構文を使用します。例については、例34.1「crontab の例」 を参照してください。

例34.1 crontab の例

# record the memory usage of the system every monday 
# at 3:30AM in the file /tmp/meminfo
30 3 * * mon cat /proc/meminfo >> /tmp/meminfo
# run custom script the first day of every month at 4:10AM
10 4 1 * * /root/scripts/backup.sh
root 以外のユーザーは、crontab ユーティリティーを使用して cron タスクを設定できます。ユーザー定義の crontabs は /var/spool/cron/ ディレクトリーに保存され、作成したユーザーのユーザー名を使用して実行されます。ユーザーとして crontab を作成するには、そのユーザーにログインし、crontab -e コマンドを入力して、VISUAL または EDITOR 環境変数が指定したエディターを使用してユーザーの crontab を編集します。このファイルは、/etc/crontab と同じ形式を使用します。crontab への変更が保存されると、crontab はユーザー名に従って保存され、/var/spool/cron/ユーザー名に書き込まれます
cron デーモンは、/etc/crontab ファイル、/etc/cron.d/ ディレクトリー、および /var/spool/cron/ ディレクトリーごとに変更の有無を確認します。変更が見つかった場合は、メモリーに読み込まれます。そのため、crontab ファイルを変更した場合でもデーモンを再起動する必要はありません。

34.1.2. cron へのアクセスの制御

cron へのアクセスを制限するには、/etc/cron.allow ファイルおよび /etc/cron.deny ファイルが使用されます。両方のアクセス制御ファイルの形式は、1 行に 1 つのユーザー名です。いずれのファイルでも空白は許可されません。アクセス制御ファイルを変更した場合、cron デーモン(crond)を再起動する必要はありません。アクセス制御ファイルは、ユーザーが cron タスクの追加または削除を試みるたびに読み込まれます。
root ユーザーは、アクセス制御ファイルに記載されているユーザー名に関係なく、常に cron を使用できます。
cron.allow ファイルが存在する場合は、それに一覧表示されているユーザーのみが cron を使用でき、cron.deny ファイルは無視されます。
cron.allow が存在しない場合は、cron.deny に一覧表示されているユーザーは cron を使用することができません。

34.1.3. サービスの起動と停止

cron サービスを起動するには、/sbin/service crond start のコマンドを使用します。サービスを停止するには、/sbin/service crond stop コマンドを使用します。システムの起動時にサービスを開始することが推奨されます。起動時に cron サービスを自動的に起動する方法は、19章 を参照してください。

34.2. at および Batch

cron は繰り返しのタスクをスケジュールするために使用されますが、at コマンドは 1 回限りのタスクを特定の時間にスケジュールするために使用されます。batch コマンドは、システムが 0.8 未満のシステムの平均ドロップ時に 1 回限りのタスクが実行されるようスケジュールするために使用されます。
at または batch を使用するには、at RPM パッケージがインストールされ、atd サービスが実行している必要があります。パッケージがインストールされているかどうかを確認するには、rpm -q コマンドを使用します。サービスが実行中かどうかを確認するには、/sbin/service atd status コマンドを使用します。

34.2.1. at ジョブの設定

特定の時間に 1 回限りのジョブをスケジュールするには、 度にコマンドを入力してください。 time はコマンドを実行する時間になります。
引数の 時間 は以下のいずれかになります。
  • HH:MM 形式 - たとえば、04:00 は 4:00 を指定します。時間がすでに過去の場合は、その時刻が次の日に指定のタイミングで実行されます。
  • midnight: 12:00 a.m を指定します。
  • noon - 12:00 p.m を指定します。
  • teatime - 4:00 p.m を指定します。
  • 月 1 日の年号の形式: たとえば、2002 年 1 月 15 日に 2002 年 1 月 15 日と指定しています。年はオプションです。
  • MMDDYY、MM/DD/YY、または MM.DD.YY 形式。たとえば、2002 年 1 月 15 日の場合は 011502 です。
  • now + time - 時間は分、時間、日、または週です。たとえば、現在は + 5 days はコマンドを同時に 5 日に実行するように指定しています。
最初に時間を指定し、その後にオプションの日付を指定する必要があります。時間形式の詳細は、/usr/share/doc/at- <version> /timespec テキストファイルを参照してください。
at コマンドに time 引数を入力すると、at> プロンプトが表示されます。実行するコマンドを入力し、Enter を押して、Ctrl+D と入力します。各コマンドの後に Enter キーを押し、複数のコマンドを指定できます。すべてのコマンドを入力したら、Enter を押して空白行に移動し、Ctrl+D と入力します。または、プロンプトでシェルスクリプトを入力し、スクリプトの各行の後に Enter を押して、空白行に Ctrl+D を入力して終了します。スクリプトを入力すると、使用するシェルは、ユーザーの SHELL 環境、ユーザーのログインシェル、または /bin/sh (最初に見つかったもの)に設定されるシェルになります。
コマンドまたはスクリプトセットが標準出力に情報を表示しようとする場合、出力はユーザーに電子メールで送信されます。
atq コマンドを使用して、保留中のジョブを表示します。詳細は、「保留中のジョブの表示」 を参照してください。
at コマンドの使用は制限できます。詳細は、「at と batch へのアクセスの制御」 を参照してください。

34.2.2. batch ジョブの設定

負荷平均が 0.8 未満のときに 1 回限りのタスクを実行するには、batch コマンドを使用します。
batch コマンドを入力すると、at> プロンプトが表示されます。実行するコマンドを入力し、Enter を押して、Ctrl+D と入力します。各コマンドの後に Enter キーを押し、複数のコマンドを指定できます。すべてのコマンドを入力したら、Enter を押して空白行に移動し、Ctrl+D と入力します。または、プロンプトでシェルスクリプトを入力し、スクリプトの各行の後に Enter を押して、空白行に Ctrl+D を入力して終了します。スクリプトを入力すると、使用するシェルは、ユーザーの SHELL 環境、ユーザーのログインシェル、または /bin/sh (最初に見つかったもの)に設定されるシェルになります。負荷平均が 0.8 未満になると、コマンドまたはスクリプトのセットが実行されます。
コマンドまたはスクリプトセットが標準出力に情報を表示しようとする場合、出力はユーザーに電子メールで送信されます。
atq コマンドを使用して、保留中のジョブを表示します。詳細は、「保留中のジョブの表示」 を参照してください。
batch コマンドの使用は制限できます。詳細は、「at と batch へのアクセスの制御」 を参照してください。

34.2.3. 保留中のジョブの表示

保留中の at および batch ジョブを表示するには、atq コマンドを使用します。atq コマンドは、保留中のジョブ一覧と、各ジョブが行に表示されます。各行は、ジョブ番号、日付、時間、ジョブクラス、ユーザー名形式に従います。ユーザーは独自のジョブのみを表示できます。root ユーザーが atq コマンドを実行すると、全ユーザーのジョブがすべて表示されます。

34.2.4. 追加のコマンドラインオプション

at および batch の追加コマンドラインオプションには以下が含まれます。
表34.1 at および batch のコマンドラインオプション
オプション Description
-f プロンプトで指定する代わりに、ファイルからコマンドまたはシェルスクリプトを読み取ります。
-m ジョブが完了したらユーザーにメールを送信します。
-v ジョブが実行される時間を表示します。

34.2.5. at と batch へのアクセスの制御

/etc/at.allow ファイルおよび /etc/at.deny ファイルを使用して、at コマンドおよび batch コマンドへのアクセスを制限できます。両方のアクセス制御ファイルの形式は、1 行に 1 つのユーザー名です。いずれのファイルでも空白は許可されません。アクセス制御ファイルを変更した場合でも、at デーモン(atd)を再起動する必要はありません。アクセス制御ファイルは、ユーザーが at または batch のコマンドの実行を試みるたびに読み込まれます。
root ユーザーは、アクセス制御ファイルに関係なく、常に at コマンドと batch コマンドを実行できます。
at.allow ファイルが存在する場合は、リストされているユーザーのみが at または batch を使用でき、at.deny ファイルは無視されます。
at.allow が存在しない場合は、at.deny に一覧表示されているユーザーは at または batch を使用できません。

34.2.6. サービスの起動と停止

at サービスを起動するには、起動時に /sbin/service コマンドを使用します。サービスを停止するには、/sbin/service atd stop コマンドを使用します。システムの起動時にサービスを開始することが推奨されます。起動時に cron サービスを自動的に起動する方法は、19章 を参照してください。

34.3. 関連情報

自動タスクの設定に関する詳細は、以下のリソースを参照してください。

34.3.1. インストールされているドキュメント

  • cron の man ページ: cron の概要
  • セクション 1 および 5 の crontab man ページ: セクション 1 の man ページには、crontab ファイルの概要が記載されています。セクション 5 の man ページには、ファイルの形式とエントリーの例が記載されています。
  • /usr/share/doc/at- <version> /timespec には、cron ジョブに指定できる時間に関する詳細情報が含まれています。
  • man ページ: at および batch の説明とそのコマンドラインオプション

第35章 ログファイル

ログファイル は、システム(カーネル、サービス、および実行中のアプリケーションなど)に関するメッセージが含まれるファイルです。各情報にはそれぞれ異なるログファイルがあります。例えば、デフォルトのシステムログファイル、セキュリティメッセージ専用のログファイル、cron タスク用のログファイルなどです。
ログファイルは、カーネルドライバーのロードを試みるシステムや、システムへの不正ログインを探す場合など、システムの問題のトラブルシューティングを行う場合に非常に便利です。本章では、ログファイルの場所、ログファイルの閲覧方法、ログファイルの注意すべき項目を説明します。
一部のログファイルは、syslogd と呼ばれるデーモンによって制御されます。syslogd が維持するログメッセージの一覧は、/etc/syslog.conf 設定ファイルにあります。

35.1. ログファイルの場所の特定

ほとんどのログファイルは /var/log/ ディレクトリーにあります。httpdsamba などの一部のアプリケーションでは、ログファイル用のディレクトリーが /var/log/ 内にあります。
ログファイルディレクトリーの複数のファイルの後に番号が付いたファイルがあることに気付くかもしれません。これらはログファイルがローテーションされる際に作成されます。ログファイルは、ファイルサイズが大きくなり過ぎないようにローテーションが行われます。logrotate パッケージには cron タスクが含まれており、/etc/logrotate.conf 設定ファイルと /etc/logrotate.d/ ディレクトリー内の設定ファイルに従って自動的にログファイルをローテーションします。デフォルトでは、週ごとにローテーションするように設定され、以前のログファイルの 4 週間分のままにします。

35.2. ログファイルの表示

ほとんどのログファイルはプレーンテキスト形式です。ViEmacs などのテキストエディターで表示できます。一部のログファイルは、システム上のすべてのユーザーが読み取り可能ですが、ほとんどのログファイルを読み取るには root 権限が必要になります。
インタラクティブなリアルタイムアプリケーションでシステムのログファイルを表示するには、Log Viewer を使用します。アプリケーションを起動するには、Applications (パネルのメインメニュー)=> System Tools => System Logs に移動するか、シェルプロンプトで system-logviewer コマンドを入力します。
アプリケーションは、存在するログファイルのみを表示します。そのため、図35.1「ログビューアー に記載されている一覧とは異なる場合があります。
キーワードのログファイルの内容をフィルタリングするには、Filter for text フィールドにキーワードを入力し、Filter をクリックします。Reset をクリックして、コンテンツをリセットします。

図35.1 ログビューアー

ログビューアー
デフォルトでは、現在表示可能なログファイルは 30 秒ごとに更新されます。更新レートを変更するには、プルダウンメニューから Edit => Preferences を選択します。図35.2「ログファイルの場所」 に表示されるウィンドウが表示されます。ログファイル タブで、更新レートの横にある上矢印および下矢印をクリックして変更します。閉じる をクリックして、メインのウィンドウに戻ります。更新レートはすぐに変更されます。現在表示可能なファイルを手動で更新するには、File => Refresh Now を選択するか、Ctrl+R を押します。
Preferences の ログファイル タブで、ログファイルの場所を変更できます。一覧からログファイルを選択し、編集 ボタンをクリックします。ログファイルの新しい場所を入力するか、参照 ボタンをクリックして、ファイル選択ダイアログを使用してファイルの場所を特定します。OK をクリックして設定に戻り、Close をクリックしてメインウィンドウに戻ります。

図35.2 ログファイルの場所

ログファイルの場所

35.3. ログファイルの追加

ログファイルをリストに追加するには、Edit => Preferences の順に選択し、Log Files タブの Add ボタンをクリックします。

図35.3 ログファイルの追加

ログファイルの追加
追加するログファイルの名前、説明、および場所を指定します。OK をクリックすると、ファイルが存在する場合は、表示領域にファイルがすぐに追加されます。

35.4. ログファイルの検証

ログビューアーは、主要なアラート単語を含む行の横にあるアラートアイコンと、キーの警告単語を含む行の横にある警告アイコンを表示するように設定できます。
アラートの単語を追加するには、プルダウンメニューから Edit => Preferences を選択し、Alerts タブをクリックします。Add ボタンをクリックしてアラート単語を追加します。アラート単語を削除するには、一覧から単語を選択して Delete をクリックします。
アラートアイコン は、アラート単語が含まれる行の左側に表示されます。

図35.4 アラート

アラート
警告の単語を追加するには、プルダウンメニューから Edit => Preferences を選択し、Warnings タブをクリックします。Add ボタンをクリックして警告単語を追加します。警告単語を削除するには、一覧から単語を選択して Delete をクリックします。
警告アイコン は、警告単語が含まれる行の左側に表示されます。

図35.5 Warning

Warning

第36章 カーネルの手動によるアップグレード

Red Hat Enterprise Linux カーネルは、サポートしているハードウェアとの整合性と互換性を確保するために、Red Hat カーネルチームがカスタムを構築します。リリースする前に、カーネルは Red Hat が定める厳格な品質保証テストセットをパスしなければなりません。
Red Hat Enterprise Linux カーネルは RPM 形式でパッケージ化されるため、Red Hat User Agent または up2date コマンドを使用したアップグレードと検証が容易になります。Red Hat User Agent は Red Hat Network サーバーを自動的にクエリーし、カーネルを含むマシンで更新する必要のあるパッケージを決定します。本章では、up2date コマンドを使用せずに、カーネルパッケージを手動で更新する必要がある個人に のみ 役立ちます。
Warning
カスタムカーネルの構築は Red Hat グローバルサービスサポートチームではサポートされていないため、このマニュアルでは検討されていません。
ヒント
Red Hat は、アップグレードしたカーネルをインストールする場合に、up2date の使用を 強く 推奨します。
Red Hat Network、Red Hat User Agent、および up2date の詳細は、16章Red Hat Network を参照してください。

36.1. カーネルパッケージの概要

Red Hat Enterprise Linux には、以下のカーネルパッケージが含まれています(アーキテクチャーに適用されないものもあります)。
  • kernel: カーネルと、以下の主な機能が含まれます。
    • x86 および Athlon システムの Uniprocessor サポート(マルチプロセッサーシステムで実行できますが、1 つのプロセッサーのみが使用される)
    • その他のすべてのアーキテクチャーのマルチプロセッサーサポート
    • x86 システムの場合は、最初の 4 GB の RAM のみが使用され、RAM が 4 GB を超える x86 システムに kernel-hugemem パッケージを使用します。
  • kernel-devel: kernel パッケージに対してモジュールを構築するのに十分な カーネル ヘッダーと makefiles が含まれます。
  • kernel-hugemem:(i686 システムのみ) カーネル パッケージに有効なオプションに加え、主な設定オプションは以下のとおりです。
    • 4 GB を超える RAM(x86 用最大 64 GB)のサポート
      備考
      kernel-hugemem は、16 GB を超えるメモリー設定に必要です。
    • PAE(物理アドレス拡張)または、PAE に対応する x86 プロセッサーに 3 レベルのページング
    • 複数のプロセッサーのサポート
    • 4GB/4GB の分割 - カーネル用の仮想アドレス空間および x86 システムのユーザープロセスごとに 4GB の仮想アドレス空間
  • kernel-hugemem -devel: kernel-hugemem パッケージに対してモジュールを構築するのに十分なカーネルヘッダーと makefiles が含まれます。
  • kernel-smp: マルチプロセッサーシステムのカーネルが含まれます。主な特長を以下に示します。
    • マルチプロセッサーのサポート
    • 4 GB を超える RAM のサポート(x86 用最大 16 GB)
    • PAE(物理アドレス拡張)または、PAE に対応する x86 プロセッサーに 3 レベルのページング
  • kernel-smp -devel: kernel-smp パッケージに対してモジュールを構築するのに十分なカーネルヘッダーと makefiles が含まれます。
  • kernel-utils: カーネルまたはシステムハードウェアを制御するのに使用できるユーティリティーが含まれます。
  • kernel-doc: カーネルソースからのドキュメントファイルが含まれます。これらのファイルには、同梱で配布される Linux カーネルとデバイスドライバーのさまざまな部分が文書化されています。このパッケージをインストールすると、オプションへの参照が提供され、読み込み時に Linux カーネルモジュールに渡すことができます。
    デフォルトでは、これらのファイルは /usr/share/doc/kernel-doc- <version> / ディレクトリーに配置されます。
備考
kernel-source パッケージが削除され、Red Hat Network からしか取得できない RPM に置き換えられています。*.src.rpm は、rpmbuild コマンドを使用してローカルに再構築する必要があります。カーネルソースパッケージの取得およびインストールに関する詳細は、すべての更新を含む最新のディストリビューションリリースノート( https://www.redhat.com/docs/manuals/enterprise/ )を参照してください。

36.2. アップグレードの準備

カーネルをアップグレードする前に、いくつかの予防的な手順を行います。最初のステップでは、問題が発生した場合にシステムに作業用メディアが存在することを確認します。ブートローダーが新しいカーネルを起動するように適切に設定されていない場合、起動用メディアを動作せずにシステムを Red Hat Enterprise Linux で起動できません。
たとえば、ブートディスクを作成し、root としてログインして、シェルプロンプトで以下のコマンドを入力します。
 /sbin/mkbootdisk `uname -r` 
ヒント
その他のオプションについては、man ページの mkbootdisk を参照してください。CD-R、CD-RWs、および USB フラッシュドライブを介した起動可能なメディアの作成も、システム BIOS がサポートしていることが前提となります。
ブートメディアでマシンを再起動し、それが機能することを確認してから続行します。
理想的には、メディアは不要ですが、単にケースで安全な場所に保存してください。
どのカーネルパッケージがインストールされているかを確認するには、シェルプロンプトで次のコマンドを実行します。
 rpm -qa | grep kernel 
出力には、システムのアーキテクチャーに応じて以下のパッケージの一部またはすべてが含まれます(バージョン番号とパッケージが異なる場合があります)。
 kernel-2.6.9-5.EL kernel-devel-2.6.9-5.EL kernel-utils-2.6.9-5.EL kernel-doc-2.6.9-5.EL kernel-smp-2.6.9-5.EL kernel-smp-devel-2.6.9-5.EL kernel-hugemem-devel-2.6.9-5.EL 
この出力から、カーネルのアップグレード用にダウンロードする必要のあるパッケージを判断します。単一のプロセッサーシステムの場合、必要なパッケージは kernel パッケージのみです。異なるパッケージの説明は、「カーネルパッケージの概要」 を参照してください。
ファイル名で、各カーネルパッケージには、パッケージがビルドされたアーキテクチャーが含まれます。形式は kernel- <variant> - <version > . <arch > .rpm です。< variant > は smputils などです。&lt ;arch&gt; は以下のいずれかです。
  • AMD64 アーキテクチャー: x86_ 64
  • Intel®Warehouse アーキテクチャー: ia64
  • IBM®eServerpSeries™ アーキテクチャー: ppc64
  • IBM®eServeriSeries™ アーキテクチャー: ppc64
  • IBM®S/® 390 アーキテクチャー: s390
  • IBM®eServerzSeries® アーキテクチャー: s390x
  • x86 バリアント: x86 カーネルは、異なる x86 バージョンに対して最適化されています。オプションは次のとおりです。
    • Intel Pentium II、Intel®Pentium® II、 Intel®®Pentium® ® 4、AMD Athlon®、および AMD Duron® システムの i686

36.3. アップグレードされたカーネルのダウンロード

システム用に更新されたカーネルが利用可能かを判定する手段は数種類あります。
  • セキュリティーエラータ - セキュリティー問題を修正するカーネルのアップグレードなど、セキュリティーエラータに関する情報は、以下の場所に移動します。
    http://www.redhat.com/apps/support/errata/
  • Quarterly Updates - 詳細は、以下の場所を参照してください。
    http://www.redhat.com/apps/support/errata/rhlas_errata_policy.html
  • Red Hat Network 経由: カーネル RPM パッケージをダウンロードしてインストールします。Red Hat Network は最新のカーネルをダウンロードし、システム上のカーネルをアップグレードし、必要に応じて初期 RAM ディスクイメージを作成し、ブートローダーを設定して新しいカーネルを起動できます。詳細は、 http://www.redhat.com/docs/manuals/RHNetwork/ を参照してください。
更新されたカーネルのダウンロードとインストールに Red Hat Network を使用している場合 「初期 RAM ディスクイメージの確認」 および 「ブートローダーの確認」 の指示に従い、カーネルをデフォルトで起動するだけです。Red Hat Network は、デフォルトのカーネルを最新バージョンに変更します。カーネルを手動でインストールするには、「アップグレードの実行」 に進みます。

36.4. アップグレードの実行

必要なパッケージをすべて取り込んだ後は、既存カーネルをアップグレードします。シェルプロンプトで、root でカーネル RPM パッケージが含まれるディレクトリーに切り替え、以下の手順を実行します。
重要な影響
新しいカーネルに問題がある場合は、古いカーネルを保持することが強く推奨されます。
rpm コマンドに -i 引数を使用して古いカーネルを残します。-U オプションは、現在インストールされているカーネルを上書きして、ブートローダーの問題を作成するため、使用し ない でください。以下のコマンドを実行します(カーネルバージョンは異なる場合があります)。
 rpm -ivh kernel-2.6.9-5.EL.<arch>.rpm 
システムがマルチプロセッサーシステムである場合は、kernel-smp パッケージもインストールします(カーネルバージョンは異なる場合があります)。
 rpm -ivh kernel-smp-2.6.9-5.EL.<arch>.rpm 
システムが i686-based で、4 GB 以上の RAM が含まれている場合には、i686 アーキテクチャー用に構築された kernel-hugemem パッケージをインストールします(カーネルバージョンは異なる場合があります)。
 rpm -ivh kernel-hugemem-2.6.9-5.EL.i686.rpm 
次の手順では、初期 RAM ディスクイメージが作成されていることを確認します。詳細は、「初期 RAM ディスクイメージの確認」 を参照してください。

36.5. 初期 RAM ディスクイメージの確認

システムで ext3 ファイルシステム、SCSI コントローラー、またはラベルを使用して /etc/fstab のパーティションを参照する場合は、初期 RAM ディスクが必要になります。初期 RAM ディスクにより、モジュールカーネルが、モジュールが通常存在するデバイスにアクセスする前に起動する必要がある場合があります。
IBM eServer iSeries 以外の Red Hat Enterprise Linux アーキテクチャーでは、mkinitrd コマンドで初期 RAM ディスクを作成できます。ただし、カーネルとその関連パッケージが Red Hat, Inc に同梱される RPM パッケージからインストールまたはアップグレードされると、このステップは自動的に実行されるので、手動で実行する必要はありません。これが作成されたことを確認するには、ls -l /boot コマンドを使用して initrd- <version > .img ファイルが作成されていることを確認します(バージョンはインストールされたカーネルのバージョンと一致する必要があります)。
iSeries システムでは、初期 RAM ディスクファイルと vmlinux ファイルが 1 つのファイルに統合され、このファイルは addRamDisk コマンドで作成されます。カーネルとその関連パッケージが Red Hat, Inc により配布される RPM パッケージからインストールまたはアップグレードされると、このステップは自動的に実行されるので、手動で実行する必要はありません。作成したことを確認するには、ls -l /boot コマンドを使用して、/ boot/vmlinitrd- <kernel-version > ファイルが作成されていることを確認します(バージョンはインストールされたカーネルのバージョンと一致する必要があります)。
次の手順では、ブートローダーが新しいカーネルを起動するように設定されていることを確認します。詳細は、「ブートローダーの確認」 を参照してください。

36.6. ブートローダーの確認

カーネル RPM パッケージは、新たにインストールしたカーネルを起動するようにブートローダーを設定します(IBM eServer iSeries システムを除く)。ただし、デフォルトで新しいカーネルを起動するようにブートローダーを設定しません。
ブートローダーが正しく設定されていることを確認するとよいでしょう。これは重要なステップです。ブートローダーが正しく設定されていない場合には、システムは Red Hat Enterprise Linux で適切に起動しません。この場合は、先に作成したブートメディアでシステムを起動し、ブートローダーを再び設定してみてください。

36.6.1. x86 システム

すべての x86 システムはブートローダーとして GRUB を使用します。これには、すべての AMD64 システムが含まれます。
36.6.1.1. GRUB
/boot/grub/grub.conf ファイルに、インストールした kernel パッケージと同じバージョンの title セクションが含まれていることを確認します( kernel -smp または kernel-hugemem パッケージがインストールされている場合は、このセクションも存在します)。
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/hda2
#          initrd /initrd-version.img
#boot=/dev/hda
default=1
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux (2.6.9-5.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-5.EL ro root=LABEL=/
        initrd /initrd-2.6.9-5.EL.img
title Red Hat Enterprise Linux (2.6.9-1.906_EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-1.906_EL ro root=LABEL=/
        initrd /initrd-2.6.9-1.906_EL.img
個別の /boot/ パーティションが作成されると、カーネルと initrd イメージへのパスは /boot/ との相対パスになります。
デフォルトでは新しいカーネルが設定されていないことに注意してください。デフォルトで新しいカーネルを起動するように GRUB を設定するには、新しいカーネルを含むタイトルセクションの title セクション番号に デフォルト 変数の値を変更します。数は 0 で始まります。たとえば、新しいカーネルが最初の title セクションである場合は、default0 に設定します。
コンピューターを再起動して新しいカーネルのテストを開始し、メッセージを監視してハードウェアが適切に検出されるようにします。

36.6.2. pidgin Systems

faillock システムは、設定ファイルとして /boot/efi/EFI/redhat/elilo.conf を使用するブートローダーとして ELILO を使用します。このファイルには、インストールした kernel パッケージと同じバージョンの image セクションが含まれていることを確認します。
prompt
timeout=50
default=old

image=vmlinuz-2.6.9-5.EL
        label=linux
        initrd=initrd-2.6.9-5.EL.img
        read-only
        append="root=LABEL=/"
image=vmlinuz-2.6.9-1.906_EL
        label=old
        initrd=initrd-2.6.9-1.906.img
        read-only
        append="root=LABEL=/"
デフォルトでは新しいカーネルが設定されていないことに注意してください。ELILO が新規カーネルを起動するように設定するには、デフォルト 変数の値を新規カーネルが含まれる image セクションの ラベル の値に変更します。
コンピューターを再起動して新しいカーネルのテストを開始し、メッセージを監視してハードウェアが適切に検出されるようにします。

36.6.3. IBM S/390 および IBM eServer zSeries Systems

IBM S/390 および IBM eServer zSeries システムは z/IPL をブートローダーとして使用します。このブートローダーは /etc/zipl.conf を設定ファイルとして使用します。ファイルに、インストールした kernel パッケージと同じバージョンのセクションが含まれていることを確認します。
[defaultboot]
default=old
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.9-5.EL
        ramdisk=/boot/initrd-2.6.9-5.EL.img
        parameters="root=LABEL=/"
[old]
        image=/boot/vmlinuz-2.6.9-1.906_EL
        ramdisk=/boot/initrd-2.6.9-1.906_EL.img
        parameters="root=LABEL=/"
デフォルトでは新しいカーネルが設定されていないことに注意してください。z/IPL を、デフォルトで新しいカーネルを起動するように設定するには、デフォルト 変数の値を新しいカーネルを含むセクションの名前に変更します。各セクションの最初の行には括弧内に名前が含まれています。
設定ファイルを変更したら、root で以下のコマンドを実行して、変更を有効にします。
/sbin/zipl
コンピューターを再起動して新しいカーネルのテストを開始し、メッセージを監視してハードウェアが適切に検出されるようにします。

36.6.4. IBM eServer iSeries Systems

/boot/vmlinitrd- <kernel-version> ファイル は、カーネルのアップグレード時にインストールされます。ただし、dd コマンドを使用して、新しいカーネルを起動するように設定する必要があります。
  1. root として、 cat /proc/iSeries/mf/side コマンドを実行してデフォルトのサイドを確認します(A、B、または C のいずれか)。
  2. root で、以下のコマンドを実行します。ここで、< kernel-version > は新しいカーネルのバージョンで、< side > は直前のコマンド側になります。
     dd if=/boot/vmlinitrd-<kernel-version> of=/proc/iSeries/mf/<side>/vmlinux bs=8k 
コンピューターを再起動して新しいカーネルのテストを開始し、メッセージを監視してハードウェアが適切に検出されるようにします。

36.6.5. IBM eServer pSeries Systems

IBM eServer pSeries システムは、設定ファイルとして /etc/aboot.conf を使用するブートローダーとして YABOOT を使用します。ファイルに、インストールした kernel パッケージと同じバージョンの image セクションが含まれていることを確認します。
boot=/dev/sda1
init-message=Welcome to Red Hat Enterprise Linux!
Hit <TAB> for boot options
 
partition=2
timeout=30
install=/usr/lib/yaboot/yaboot
delay=10
nonvram

image=/vmlinux--2.6.9-5.EL
        label=old
        read-only
        initrd=/initrd--2.6.9-5.EL.img
        append="root=LABEL=/"
 
image=/vmlinux-2.6.9-5.EL
        label=linux
        read-only
        initrd=/initrd-2.6.9-5.EL.img
        append="root=LABEL=/"
デフォルトでは新しいカーネルが設定されていないことに注意してください。最初のイメージ内のカーネルは、デフォルトで起動します。デフォルトのカーネルを変更して、そのイメージスタンザが一覧表示された最初のものになるように変更するか、ディレクティブの デフォルト を追加して、新しいカーネルを含むイメージスタンザの ラベル に設定します。
コンピューターを再起動して新しいカーネルのテストを開始し、メッセージを監視してハードウェアが適切に検出されるようにします。

第37章 カーネルモジュール

Linux カーネルにはモジュール設計があります。システムの起動時に、最小の常駐カーネルのみがメモリーに読み込まれます。その後、ユーザーが常駐カーネルに存在しない機能を要求すると、ドライバー と呼ばれる カーネルモジュール は動的にメモリーに読み込まれます。
インストール時に、システムのハードウェアがプローブされます。このプローブとユーザーが提供する情報に基づいて、インストールプログラムは起動時に読み込む必要があるモジュールを決定します。インストールプログラムは、透過的に動作する動的ロードメカニズムを設定します。
インストール後に新しいハードウェアを追加し、ハードウェアにカーネルモジュールが必要な場合は、新しいハードウェア用に適切なカーネルモジュールを読み込むようにシステムを設定する必要があります。システムが新しいハードウェアで起動すると、Kudu プログラムは実行 れ、サポートされている場合は新しいハードウェアを検出し、そのハードウェアに対するモジュールを設定します。モジュールは、モジュール設定ファイル /etc/modprobe.conf を編集して手動で指定することもできます。
備考
X Window System インターフェースの表示に使用されるビデオカードモジュールは、カーネルではなく xorg-X11 パッケージの一部であるため、本章は適用されません。
たとえば、システムに SMC EtherPower 10 PCI ネットワークアダプターが含まれている場合、モジュール設定ファイルには以下の行が含まれます。
alias eth0 tulip
2 つ目のネットワークカードがシステムに追加され、1 番目のカードと同じ場合は、以下の行を /etc/modprobe.conf に追加します。
alias eth1 tulip
カーネルモジュールのアルファベット順と、これらのモジュールでサポートされるハードウェアの一覧は、『『リファレンスガイド』』 を参照してください。

37.1. カーネルモジュールユーティリティー

module-init-tools パッケージがインストールされている場合は、カーネルモジュールを管理するためのコマンドのグループを利用できます。これらのコマンドを使用して、モジュールが正常に読み込まれているかどうか、または新しいハードウェアの一部で異なるモジュールを試行するかどうかを決定します。
/sbin/lsmod コマンドは、現在読み込まれているモジュールの一覧を表示します。以下に例を示します。
Module                  Size  Used by
nfs                   218437  1
lockd                  63977  2 nfs
parport_pc             24705  1
lp                     12077  0
parport                37129  2 parport_pc,lp
autofs4                23237  2
i2c_dev                11329  0
i2c_core               22081  1 i2c_dev
sunrpc                157093  5 nfs,lockd
button                  6481  0
battery                 8901  0
ac                      4805  0
md5                     4033  1
ipv6                  232833  16
ohci_hcd               21713  0
e100                   39493  0
mii                     4673  1 e100
floppy                 58481  0
sg                     33377  0
dm_snapshot            17029  0
dm_zero                 2369  0
dm_mirror              22957  2
ext3                  116809  2
jbd                    71257  1 ext3
dm_mod                 54741  6 dm_snapshot,dm_zero,dm_mirror
ips                    46173  2
aic7xxx               148121  0
sd_mod                 17217  3
scsi_mod              121421  4 sg,ips,aic7xxx,sd_mod
行ごとに 1 列目がモジュールの名前、2 列目はモジュールのサイズ、3 列目は使用カウントです。
/sbin/lsmod 出力は、/proc/modules の表示出力よりも詳細ではなく、読みやすくなります。
カーネルモジュールを読み込むには、/sbin/modprobe コマンドの後にカーネルモジュール名を使用します。デフォルトでは、modprobe/lib/modules/ <kernel-version> /kernel/drivers/ サブ ディレクトリーからモジュールを読み込もうとします。各タイプのモジュールには、ネットワークインターフェースドライバーの net/ サブディレクトリーなど、各タイプのモジュールにサブディレクトリーがあります。一部のカーネルモジュールにはモジュールの依存関係があります。つまり、ロードするために他のモジュールを最初に読み込む必要があります。/sbin/modprobe コマンドは、これらの依存関係を確認し、指定されたモジュールを読み込む前にモジュールの依存関係を読み込みます。
たとえば、コマンドは以下のようになります。
 /sbin/modprobe e100 
モジュール依存関係を読み込み、次に e100 モジュールを読み込みます。
/sbin/modprobe が実行したコマンドをすべて画面に表示するには、-v オプションを使用します。以下に例を示します。
 /sbin/modprobe -v e100 
以下のような出力が表示されます。
 /sbin/insmod /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Using /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Symbol version prefix 'smp_' 
/sbin/insmod コマンドもカーネルモジュールを読み込むため存在しますが、依存関係は解決されません。したがって、/sbin/modprobe コマンドの使用が推奨されます。
カーネルモジュールをアンロードするには、/sbin/rmmod コマンドの後にモジュール名を使用します。rmmod ユーティリティーは、使用されていないモジュールと、使用中の他のモジュールの依存関係ではないモジュールのみをアンロードします。
たとえば、コマンドは以下のようになります。
 /sbin/rmmod e100 
e100 カーネルモジュールをアンロードします。
もう 1 つの便利なカーネルモジュールユーティリティーは modinfo です。/sbin/modinfo コマンドを使用して、カーネルモジュールに関する情報を表示します。一般的な構文は以下のとおりです。
 /sbin/modinfo [options]<module>
オプションには -d が含まれます。これにより、モジュールの簡単な説明が表示されます。-p は、モジュールがサポートするパラメーターを一覧表示します。オプションの完全なリストは、modinfo の man ページ(man modinfo )を参照してください。

37.2. 永続的なモジュールの読み込み

カーネルモジュールは通常、/etc/modprobe.conf ファイルに正しい設定が提供されるように、必要なファシリティーによって直接読み込まれます。ただし、システムの起動時にモジュールを明示的に読み込む必要がある場合があります。
Red Hat Enterprise Linux は、起動時に /etc/rc.modules ファイルが存在するかどうかをチェックします。これには、モジュールを読み込むさまざまなコマンドが含まれます。rc.modules は起動プロセスの早い段階で実行されるため、rc.local では なく rc.modules を使用する必要があります。
たとえば、次のコマンドは、システムの起動時に foo モジュールの読み込みを設定します(root として)。
# echo modprobe foo >> /etc/rc.modules
# chmod +x /etc/rc.modules
ヒント
ネットワークや SCSI インターフェースには独自のメカニズムがあるため、このアプローチは必要ありません。

37.3. 関連情報

カーネルモジュールとそのユーティリティーの詳細は、以下のリソースを参照してください。

37.3.1. インストールされているドキュメント

  • lsmod man ページ: 出力の説明および説明
  • insmod man ページ - コマンドラインオプションの説明および一覧
  • modprobe の man ページ - コマンドラインオプションの説明および一覧
  • rmmod man ページ: コマンドラインオプションの説明および一覧。
  • modinfo の man ページ - コマンドラインオプションの説明および一覧
  • /usr/share/doc/kernel-doc- &lt;version&gt; /Documentation/kbuild/modules.txt: カーネルモジュールをコンパイルし、使用する方法。

37.3.2. 便利な Web サイト

第38章 メール転送エージェント (MTA) の設定

メール 転送エージェント (MTA)は電子メールの送信に不可欠です。メール ユーザーエージェント(MUA)EvolutionMozilla Mail、pidC)、および Mutt などのメールユーザーエージェント(MUA)は、電子メールの読み取りと構成に使用されます。ユーザーが MUA から電子メールを送信すると、メッセージは MTA に渡されます。MTA は一連の MTA を通じて、メッセージが送信先に届くまで送信します。
ユーザーがシステムから電子メールを送信する予定でなくても、一部の自動化されたタスクまたはシステムプログラムは、/bin/mail コマンドを使用して、ログメッセージを含む電子メールをローカルシステムの root ユーザーに送信する場合があります。
Red Hat Enterprise Linux 4 は、Sendmail、Postfix、および Exim の 3 つの MTA を提供します。3 つがすべてインストールされている場合は、sendmail がデフォルトの MTA になります。Mail Transport Agent Switcher を使用すると、sendmailpostfix、またはシステムのデフォルト MTA を選択できます。
Mail Transport Agent Switcher プログラムのテキストベースのバージョンを使用するには、system-switch-mail RPM パッケージをインストールする必要があります。グラフィカルバージョンを使用する場合は、system-switch-mail-gnome パッケージもインストールされている必要があります。
Mail Transport Agent Switcher を起動するには、Applications (パネルのメインメニュー)=> Preferences => More Preferences => Mail Transport Agent Switcher を選択するか、シェルプロンプトで system-switch-mail コマンド(XTerm や GNOME ターミナルなど)を入力します。
プログラムは、X Window System が実行しているかどうかを自動的に検出します。実行中である場合、プログラムは 図38.1「メール転送エージェントスイッチ に示されるようにグラフィカルモードで起動します。X が検出されないと、text-mode で起動します。Mail Transport Agent Switcher を text-mode で強制的に実行するには、system-switch-mail-nox コマンドを使用します。

図38.1 メール転送エージェントスイッチ

メール転送エージェントスイッチ
OK を選択して MTA を変更する場合、選択したメールデーモンは起動時に起動し、選択されていないメールデーモンは無効にされ、起動時に起動されないようにします。選択したメールデーモンが起動し、その他のメールデーモンは停止されるため、変更は即座に行われます。
メールプロトコルおよび MTA の詳細は、『『リファレンスガイド』』 を参照してください。

パート VI. システムモニタリング

システム管理者は、システムパフォーマンスも監視します。Red Hat Enterprise Linux には、管理者がこれらの作業を支援するツールが含まれています。

第39章 システム情報の収集

システムの設定方法を学習する前に、重要なシステム情報を収集する方法を学ぶ必要があります。たとえば、空きメモリー容量、利用可能なハードドライブの領域、ハードドライブのパーティション設定方法、実行中のプロセスを見つける方法を知っておく必要があります。本章では、簡単なコマンドと簡単なプログラムを使用して、この種類の情報を Red Hat Enterprise Linux システムから取得する方法を説明します。

39.1. システムプロセス

ps ax コマンドは、他のユーザーが所有しているプロセスを含め、現在のシステムプロセスの一覧を表示します。各プロセスと共に所有者を表示するには、ps aux コマンドを使用します。このリストは静的リストです。つまり、コマンドを呼び出したときに実行したもののスナップショットです。実行中のプロセスの一覧を常に更新する必要がある場合は、以下のように top を使用します。
ps 出力は長い可能性があります。画面をスクロールしてしまうのを防ぐために、パイプは少なくなります。
ps aux | less
ps コマンドを grep コマンドと組み合わせて使用して、プロセスが実行中かどうかを確認することができます。たとえば、Emacs が実行しているかどうかを確認するには、以下のコマンドを使用します。
ps ax | grep emacs
top コマンドは、現在実行中のプロセスと、メモリーや CPU の使用状況に関する重要な情報を表示します。この一覧は、リアルタイムとインタラクティブの両方になります。top コマンドの出力例を以下に示します。
top - 15:02:46 up 35 min,  4 users,  load average: 0.17, 0.65, 1.00
Tasks: 110 total,   1 running, 107 sleeping,   0 stopped,   2 zombie
Cpu(s): 41.1% us,  2.0% sy,  0.0% ni, 56.6% id,  0.0% wa,  0.3% hi,  0.0% si
Mem:    775024k total,   772028k used,     2996k free,    68468k buffers
Swap:  1048568k total,      176k used,  1048392k free,   441172k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 4624 root      15   0 40192  18m 7228 S 28.4  2.4   1:23.21 X
 4926 mhideo    15   0 55564  33m 9784 S 13.5  4.4   0:25.96 gnome-terminal
 6475 mhideo    16   0  3612  968  760 R  0.7  0.1   0:00.11 top
 4920 mhideo    15   0 20872  10m 7808 S  0.3  1.4   0:01.61 wnck-applet
    1 root      16   0  1732  548  472 S  0.0  0.1   0:00.23 init
    2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0
    3 root       5 -10     0    0    0 S  0.0  0.0   0:00.03 events/0
    4 root       6 -10     0    0    0 S  0.0  0.0   0:00.02 khelper
    5 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kacpid
   29 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kblockd/0
   47 root      16   0     0    0    0 S  0.0  0.0   0:01.74 pdflush
   50 root      11 -10     0    0    0 S  0.0  0.0   0:00.00 aio/0
   30 root      15   0     0    0    0 S  0.0  0.0   0:00.05 khubd
   49 root      16   0     0    0    0 S  0.0  0.0   0:01.44 kswapd0
top を終了するには、q キーを押します。
表39.1「対話型の top コマンド」 には、top で使用できる便利な対話型のコマンドが含まれています。詳細は、top(1)の man ページを参照してください。
表39.1 対話型の top コマンド
コマンド Description
スペース 表示を即時にリフレッシュします。
h ヘルプ画面の表示
k プロセスを強制終了します。プロセス ID およびプロセスに送信するシグナルがプロンプトされます。
-n 表示されるプロセス数を変更します。番号を入力するようプロンプトされます。
u ユーザー別に並べ替えます。
M メモリー使用量で並べ替えます。
%P CPU 使用率で並べ替えます。
上部 のグラフィカルインターフェースを使用する場合は、GNOME システムモニター を使用できます。デスクトップから起動するには、System => Administration => System Monitor を選択するか、シェルプロンプトで gnome-system-monitor を入力します(XTerm など)。Process Listing タブを選択します。
GNOME System Monitor を使用すると、実行中のプロセスの一覧でプロセスを検索できます。Gnome System Monitor を使用して、すべてのプロセス、プロセス、またはアクティブなプロセスを確認することもできます。
Edit メニュー項目を使用すると、以下が可能になります。
  • プロセスを停止します。
  • プロセスを続行または開始します。
  • プロセスを終了します。
  • プロセスを強制終了します。
  • 選択したプロセスの優先度を変更します。
  • システムモニターの設定を編集します。これには、一覧を更新する間隔(秒単位)の変更や、システムモニターウィンドウに表示されるプロセスフィールドの選択が含まれます。
View メニュー項目では、以下を行うことができます。
  • アクティブなプロセスのみを表示します。
  • すべてのプロセスを表示します。
  • プロセスを表示します。
  • プロセスの依存関係を表示します。
  • プロセスを非表示にします。
  • 非表示のプロセスを表示します。
  • メモリーマップを表示します。
  • 選択したプロセスで開いているファイルを表示します。
プロセスを停止するには、プロセスを選択し、プロセスの 終了 をクリックし ます。または、メニューから Edit をクリックし、 Stop Process を選択してプロセスを停止することもできます。
特定の列で情報を並べ替えるには、列の名前をクリックします。これにより、選択した列で情報を昇順でソートできます。列の名前を再度クリックして、昇順と降順のソートを切り替えます。

図39.1 GNOME システムモニター

GNOME システムモニター

39.2. Memory Usage

free コマンドは、システムの物理メモリーおよびスワップ領域の合計量と、カーネルバッファー内で使用、解放、共有、およびキャッシュされているメモリー量を表示します。
             total       used       free     shared    buffers     cached
 Mem:        645712     549720      95992          0     176248     224452
 -/+ buffers/cache:     149020     496692
 Swap:      1310712          0    1310712
free -m コマンドは、同じ情報をメガバイトで表示しますが、これは読みやすくなります。
             total       used       free     shared    buffers     cached 
Mem:           630        536         93          0        172        219 
-/+ buffers/cache:        145        485 
Swap:         1279          0       1279
フリー のグラフィカルインターフェースを使用する場合は、GNOME システムモニター を使用できます。デスクトップから起動するには、System => Administration => System Monitor に移動するか、シェルプロンプトで gnome-system-monitor を入力します(XTerm など)。Resources タブをクリックします。

図39.2 GNOME システムモニター - リソースタブ

GNOME システムモニター - リソースタブ

39.3. ファイルシステム

df コマンドは、システムのディスク領域の使用量を報告します。シェルプロンプトで df コマンドを入力すると、出力は以下のようになります。
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       11675568   6272120   4810348  57% / /dev/sda1
	                 100691      9281     86211  10% /boot
none                     322856         0    322856   0% /dev/shm
デフォルトでは、このユーティリティーは、1 キロバイトブロック単位でパーティションのサイズを、キロバイト単位で使用中および利用可能なディスク領域の容量を表示します。メガバイトおよびギガバイトで情報を表示するには、df -h コマンドを使用します。-h 引数は人間が判読できる形式を表します。出力は以下の例のようになります。
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                        12G  6.0G  4.6G  57% / /dev/sda1
			99M  9.1M   85M  10% /boot 
none 			316M     0  316M   0% /dev/shm
マウントされたパーティションの一覧には、/dev/shm のエントリーがあります。このエントリーは、システムの仮想メモリーファイルシステムを表します。
du コマンドはディレクトリー内のファイルが使用している領域を表示します。シェルプロンプトで du と入力しても、各サブディレクトリーのディスク使用量が一覧に表示されます。現在のディレクトリーおよびサブディレクトリーの合計量も、一覧の最後の行として表示されます。すべてのサブディレクトリーの合計を表示したくない場合は、du -hs コマンドを使用して、人間が判読可能な形式でディレクトリーの合計のみを表示します。その他のオプションを表示するには、du --help コマンドを使用します。
システムのパーティションとディスク領域の使用量をグラフィカル形式で表示するには、System => Administration => System Monitor をクリックして Gnome System Monitor を使用し、シェルプロンプトで gnome-system-monitor を入力します(XTerm など)。ファイルシステム タブを選択して、システムのパーティションを表示します。以下の図は、ファイルシステム タブを示しています。

図39.3 GNOME システムモニター - ファイルシステム

GNOME システムモニター - ファイルシステム

39.4. ハードウェア

ハードウェアの設定に問題がある場合や、システムにあるハードウェアを把握する必要がある場合は、Hardware Browser アプリケーションを使用してプローブできるハードウェアを表示できます。デスクトップからプログラムを起動するには、System (パネルのメインメニュー)=> Administration => Hardware を選択するか、またはシェルプロンプトで hwbrowser と入力します。図39.4「ハードウェアブラウザー で示されているように、CD-ROM デバイス、ディスクドライブ、ハードドライブ、パーティション、ネットワークデバイス、ポイントデバイス、システムデバイス、ビデオカードが表示されます。左側のメニューでカテゴリー名をクリックすると、情報が表示されます。

図39.4 ハードウェアブラウザー

ハードウェアブラウザー
Device Manager アプリケーションを使用して、システムハードウェアを表示することもできます。このアプリケーションを起動するには、System (パネルのメインメニュー)=> Administration => Hardware Browser のようなハードウェアを選択します。ターミナルからアプリケーションを起動するには、hal-device-manager と入力します。インストールの設定によっては、上記のグラフィカルメニューがこのアプリケーションを起動したり、クリックすると ハードウェアブラウザー を起動することがあります。以下の図は、Device Manager ウィンドウを示しています。

図39.5 デバイスマネージャー

デバイスマネージャー
lspci コマンドを使用して、すべての PCI デバイスを一覧表示することもできます。詳細情報については lspci -v コマンド、または非常に詳細な出力には lspci -vv コマンドを使用します。
たとえば、lspci を使用して、システムのビデオカードの製造元、モデル、およびメモリーサイズを判断できます。
00:00.0 Host bridge: ServerWorks CNB20LE Host Bridge (rev 06)
00:00.1 Host bridge: ServerWorks CNB20LE Host Bridge (rev 06) 
00:01.0 VGA compatible controller: S3 Inc. Savage 4 (rev 04) 
00:02.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08) 
00:0f.0 ISA bridge: ServerWorks OSB4 South Bridge (rev 50) 
00:0f.1 IDE interface: ServerWorks OSB4 IDE Controller 
00:0f.2 USB Controller: ServerWorks OSB4/CSB5 OHCI USB Controller (rev 04) 
01:03.0 SCSI storage controller: Adaptec AIC-7892P U160/m (rev 02) 
01:05.0 RAID bus controller: IBM ServeRAID Controller
lspci は、製造元またはモデル番号が分からない場合に、システムのネットワークカードを確認する際に役立ちます。

39.5. 関連情報

システム情報の収集の詳細は、以下のリソースを参照してください。

39.5.1. インストールされているドキュメント

  • ps --help - ps で使用できるオプションの一覧を表示します。
  • トップ man ページ: top およびそのオプションに関する詳細は、man top を参照してください。
  • フリー man ページ - man free と入力し、フリーオプションとその多くのオプションの詳細を確認してください。
  • df man ページ - man df と入力して、df コマンドとその多くのオプションの詳細を確認します。
  • du の man ページ - man du と入力して、du コマンドとその多くのオプションの詳細を確認します。
  • lspci man ページ: lspci コマンドとそのオプションの詳細を確認するには、man lspci と入力します。
  • /proc/ ディレクトリー: /proc/ ディレクトリーのコンテンツを使用して、より詳細なシステム情報を収集することもできます。

第40章 OProfile

OProfile は、オーバーヘッドが低い、システム全体のパフォーマンス監視ツールです。これはプロセッサー上のパフォーマンス監視ハードウェアを使用して、メモリーの参照時、L2 キャッシュ要求の数、受信したハードウェア割り込みの数など、システムのカーネルと実行可能ファイルに関する情報を取得します。Red Hat Enterprise Linux システムでは、このツールを使用するには oprofile RPM パッケージがインストールされている必要があります。
多くのプロセッサーには、専用のパフォーマンス監視ハードウェアが含まれます。このハードウェアを使用すると、特定のイベントの発生時(要求されたデータがキャッシュにないなど)を検出できます。ハードウェアは通常、イベントが実行されるたびにインクリメントされる 1 つ以上の カウンター の形式を取ります。カウンターの値が基本的にロールオーバーされると割り込みが生成され、パフォーマンス監視で生成される詳細(つまりオーバーヘッド)の量を制御できます。
OProfile はこのハードウェア(またはパフォーマンス監視ハードウェアが存在しない場合)を使用して、カウンターが割り込みを生成するたびにパフォーマンス関連のデータの サンプル を収集します。これらのサンプルは定期的にディスクに書き込まれます。その後、これらのサンプルに含まれるデータを使用して、システムレベルのパフォーマンスおよびアプリケーションレベルのパフォーマンスに関するレポートを生成できます。
OProfile は便利なツールですが、これを使用する場合にはいくつかの制限に注意してください。
  • 共有ライブラリー の使用: 共有ライブラリー のコードの Samples は、--separate=library オプションが使用されていない限り、特定のアプリケーションに属性されません。
  • パフォーマンス監視サンプルは正確に行われません。パフォーマンス監視レジスターがサンプルをトリガーすると、割り込み処理はゼロ例外による分割のように正確で はありません。プロセッサーによる命令の順不同な実行により、サンプルはほぼ近い命令に記録される場合があります。
  • opreport は、インライン関数のサンプルを適切に関連付けませんopreport は単純なアドレス範囲メカニズムを使用して、アドレスがどの関数にあるかを判断します。インライン関数のサンプルは、インライン関数には属性ではなく、インライン関数が挿入された関数に対して属性されません。
  • OProfile は複数の実行からのデータを累積 します。OProfile はシステム全体のプロファイラーであり、プロセスが複数回起動し、シャットダウンすることを想定します。そのため、複数の実行のサンプルが累積されました。opcontrol --reset コマンドを使用して、直前の実行からサンプルを消去します。
  • CPU の制限のないパフォーマンスの問題: OProfile は、CPU の制限のあるプロセスの問題を見つけるために使用されます。OProfile は、ロックを待機するか、または他のイベントが発生するため、sleep であるプロセスを特定しません(例: I/O デバイスで操作を終了するなど)。

40.1. ツールの概要

表40.1「OProfile コマンド」 では、oprofile パッケージで提供されるツールの概要を説明します。
表40.1 OProfile コマンド
コマンド Description
op_help
システムプロセッサーで使用可能なイベントとその簡単な説明を表示します。
op_import
サンプルデータベースファイルをシステム用に外部のバイナリー形式からネイティブの形式に変換します。異なるアーキテクチャーからのサンプルデータベースを解析する場合にのみこのオプションを使用してください。
opannotate アプリケーションがデバッグシンボルでコンパイルされている場合は、実行可能ファイルのアノテーション付きソースを作成します。詳細は、opannotateの使用」 を参照してください。
opcontrol
収集されるデータを設定します。詳細は、「OProfile の設定」 を参照してください。
opreport
プロファイリングデータを取得します。詳細は、opreportの使用」 を参照してください。
oprofiled
デーモンとして実行して定期的にサンプルデータをディスクに書き込みます。

40.2. OProfile の設定

OProfile を実行する前に、設定する必要があります。少なくとも、カーネルの監視(またはカーネルを監視しない選択)を選択することが必要です。次のセクションでは、opcontrol ユーティリティーを使用して OProfile を設定する方法を説明します。opcontrol コマンドを実行すると、設定オプションが /root/.oprofile/daemonrc ファイルに保存されます。

40.2.1. カーネルの指定

まず、OProfile がカーネルを監視するかどうかを設定します。これは、OProfile を起動する前に必要となる唯一の設定オプションです。その他はすべてオプションです。
カーネルを監視するには、root で以下のコマンドを実行します。
opcontrol --setup --vmlinux=/usr/lib/debug/lib/modules/`uname -r`/vmlinux
備考
カーネルを監視するために、debuginfo パッケージがインストールされている(非圧縮カーネルを含む)。
カーネルを監視しないように OProfile を設定するには、root で以下のコマンドを実行します。
opcontrol --setup --no-vmlinux
このコマンドは、oprofile カーネルモジュールもロードされていない場合は読み込み、/dev/oprofile/ ディレクトリーが存在しない場合は作成します。このディレクトリーの詳細は、/dev/oprofile/について」 を参照してください。
備考
OProfile がカーネルのプロファイル用に設定されていない場合でも、oprofile モジュールをファイルからロードできるように SMP カーネルを実行する必要があります。
カーネル内でサンプルを収集するべきかどうかを設定することにより、収集されるデータのみが変更され、収集したデータが保存される方法や場所は変更されません。カーネルライブラリーおよびアプリケーションライブラリーのさまざまなサンプルファイルを生成するには、「カーネルとユーザー空間プロファイルの分離」 を参照してください。

40.2.2. 監視するイベントの設定

ほとんどのプロセッサーには カウンター が含まれており、これは特定のイベントを監視するために OProfile によって使用されます。表40.2「OProfile Processors and Counters」 で示されているように、利用可能なカウンターの数はプロセッサーによって異なります。
表40.2 OProfile Processors and Counters
プロセッサー cpu_type カウンターの数
Pentium Pro i386/ppro 2
Pentium II i386/pii 2
Pentium336 i386/piii 2
Pentium 4(hy-hyper- thread) i386/p4 8
Pentium 4(ハイパースレッド) i386/p4-ht 4
Athlon i386/athlon 4
AMD64 x86-64/hammer 4
pidgin ia64/itanium 4
Itanium 2 ia64/itanium2 4
TIMER_INT timer 1
IBM eServer iSeries and pSeries timer 1
ppc64/power4 8
ppc64/power5 6
ppc64/970 8
IBM eServer S/390 および S/390x timer 1
IBM eServer zSeries timer 1
表40.2「OProfile Processors and Counters」 を使用して、正しいプロセッサータイプが検出され、同時に監視できるイベントの数を判断します。プロセッサーでパフォーマンス監視ハードウェアがサポートされていない場合は、タイマー がプロセッサータイプとして使用されます。
タイマー を使用する場合は、ハードウェアのパフォーマンスカウンターに対応していないため、どのプロセッサーにもイベントも設定できません。代わりに、タイマー割り込みがプロファイリングに使用されます。
タイマー がプロセッサータイプとして使用されていない場合は、監視されるイベントを変更し、プロセッサーのカウンター 0 はデフォルトで時間ベースのイベントに設定されます。プロセッサーに複数のカウンターが存在する場合は、カウンター 0 以外のカウンターはデフォルトでイベントには設定されません。監視されるデフォルトイベントは、表40.3「デフォルトイベント」 に表示されます。
表40.3 デフォルトイベント
プロセッサー カウンターのデフォルトイベント Description
Pentium Pro、Pentium II、Pentium II、Athlon、AMD64 CPU_CLK_UNHALTED プロセッサーのクロックが停止されていない
Pentium 4(HT および非 HT) GLOBAL_POWER_EVENTS プロセッサーが停止していない時間
Itanium 2 CPU_CYCLES CPU ライフサイクル
TIMER_INT (なし) 各タイマー割り込みの例
ppc64/power4 サイクル プロセッサーサイクル
ppc64/power5 サイクル プロセッサーサイクル
ppc64/970 サイクル プロセッサーサイクル
一度に監視できるイベントの数は、プロセッサーのカウンター数によって決定されます。ただし、1 対 1 の相関ではありません。一部のプロセッサーでは、特定のイベントを特定のカウンターにマップする必要があります。利用可能なカウンターの数を確認するには、以下のコマンドを実行します。
cat /dev/oprofile/cpu_type
利用可能なイベントはプロセッサーのタイプによって異なります。プロファイリングに使用できるイベントを確認するには、root で以下のコマンドを実行します(一覧はシステムのプロセッサータイプに固有のものです)。
op_help
各カウンターのイベントは、コマンドラインまたはグラフィカルインターフェースで設定できます。グラフィカルインターフェースの詳細は、「グラフィカルインターフェース」 を参照してください。カウンターを特定のイベントに設定しない場合は、エラーメッセージが表示されます。
コマンドラインで設定可能な各カウンターのイベントを設定するには、opcontrol を使用します。
 opcontrol --event=<event-name>:<sample-rate>
& lt;event-name& gt; を op_help のイベントの正確な名前に置き換え、< sample-rate> をサンプル間のイベント数に置き換えます。
40.2.2.1. サンプリングレート
デフォルトでは、時間ベースのイベントセットが選択されます。プロセッサーごとに 100,000 クロックサイクルごとにサンプルを作成します。タイマー割り込みを使用する場合は、タイマーは jiffy レートがどれでも設定され、ユーザー設定のテーブルではありません。cpu_typeタイマー でない場合、各イベントには サンプリングレート を設定できます。サンプリングレートは、各サンプルスナップショット間のイベント数です。
カウンターのイベントを設定する場合、サンプルレートを指定することもできます。
opcontrol --event=<event-name>:<sample-rate>
&lt ;sample-rate> を、再度サンプリングする前に待機するイベントの数に置き換えます。数値が小さいほど、サンプルが頻繁に使用されます。頻繁に発生しないイベントの場合、イベントインスタンスをキャプチャーするためにカウントが低くなることがあります。
Warning
サンプリングレートを設定する場合は十分に注意してください。サンプリングが頻繁にシステムをオーバーロードする可能性があります。これにより、システムがフリーズするか、システムが実際にフリーズするかのようにシステムが表示されます。
40.2.2.2. ユニットマスク
cpu_typeタイマー でない場合、イベントをさらに定義するためにユニットマスク が必要になる場合もあります。
各イベントのユニットマスクは、op_help コマンドで一覧表示されます。各ユニットマスクの値は 16 進数形式で一覧表示されます。複数のユニットマスクを指定するには、ビット単位の操作 または 操作を使用して 16 進数の値を組み合わせる必要があります。
opcontrol --event=<event-name>:<sample-rate>:<unit-mask>

40.2.3. カーネルとユーザー空間プロファイルの分離

デフォルトでは、カーネルモードおよびユーザーモード情報は、各イベントについて収集されます。特定のカウンターのカーネルモードでイベントをカウントしないように OProfile を設定するには、以下のコマンドを実行します。
opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:0
次のコマンドを実行して、カウンターのカーネルモードのプロファイリングを開始します。
opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:1
特定のカウンターのユーザーモードでイベントをカウントしないように OProfile を設定するには、以下のコマンドを実行します。
opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:<kernel>:0
次のコマンドを実行して、カウンターのユーザーモードを再度プロファイリングします。
opcontrol --event=<event-name>:<sample-rate>:<unit-mask>:<kernel>:1
OProfile デーモンがプロファイルデータをサンプルファイルに書き込むと、カーネルとライブラリープロファイルデータをサンプルファイルに分割できます。デーモンがサンプルファイルに書き込む方法を設定するには、root で以下のコマンドを実行します。
 opcontrol --separate=<choice>
& lt;choice& gt; は以下のいずれかになります。
  • none: プロファイルを分離しません(デフォルト)。
  • ライブラリー - ライブラリー のアプリケーションごとのプロファイルを生成します。
  • kernel - カーネルおよびカーネルモジュール用のアプリケーションごとのプロファイルを生成します。
  • all: カーネルおよびカーネルモジュールのライブラリーおよびアプリケーションごとのプロファイルを生成します。
--separate=library が使用される場合、サンプルファイル名には実行可能ファイルの名前およびライブラリーの名前が含まれます。

40.3. OProfile の起動および停止

OProfile を使用してシステムのモニタリングを開始するには、root で以下のコマンドを実行します。
opcontrol --start
以下のような出力が表示されます。
Using log file /var/lib/oprofile/oprofiled.log
Daemon started.
Profiler running.
/root/.oprofile/daemonrc の設定が使用されます。
OProfile デーモン oprofiled が起動し、定期的にサンプルデータを /var/lib/oprofile/samples/ ディレクトリーに書き込みます。デーモンのログファイルは /var/lib/oprofile/oprofiled.log にあります。
プロファイラーを停止するには、root で以下のコマンドを実行します。
opcontrol --shutdown

40.4. データの保存

特定の時間にサンプルを保存すると便利な場合もあります。たとえば、実行可能ファイルをプロファイリングする場合、異なる入力データセットに基づいて異なるサンプルを収集すると便利です。監視するイベントの数がプロセッサーで利用可能なカウンター数を超える場合は、OProfile の複数の実行を使用してデータを収集し、常にサンプルデータを異なるファイルに保存します。
サンプルファイルの現在のセットを保存するには、以下のコマンドを実行します。< name > は、現行セッションの一意記述名に置き換えてください。
opcontrol --save=<name>
/var/lib/oprofile/samples/ ディレクトリーが作成され、現在のサンプルファイルがコピーされます。

40.5. データの分析

OProfile デーモン oprofiled は定期的にサンプルを収集し、それらを /var/lib/oprofile/samples/ ディレクトリーに書き込みます。データを読み取る前に、root で以下のコマンドを実行して、すべてのデータがこのディレクトリーに書き込まれていることを確認します。
opcontrol --dump
各サンプルファイル名は、実行可能ファイルの名前に基づいています。たとえば、/bin/bash の Pentiumでのデフォルトイベントのサンプルは以下のようになります。
\{root\}/bin/bash/\{dep\}/\{root\}/bin/bash/CPU_CLK_UNHALTED.100000
以下のツールは、サンプルデータの収集後にサンプルデータのプロファイルに使用できます。
  • opreport
  • opannotate
これらのツールとバイナリープロファイルを使用して、さらに分析できるレポートを生成します。
Warning
プロファイルされる実行可能ファイルは、データを分析するためにこのツールと共に使用する必要があります。データの収集後に変更する必要がある場合は、サンプルファイルおよびサンプルファイルの作成に使用する実行ファイルをバックアップします。
各実行可能ファイルのサンプルは、1 つのサンプルファイルに書き込まれます。動的にリンクされた各ライブラリーからのサンプルも、1 つのサンプルファイルに書き込まれます。OProfile が実行中に、変更がモニタリングされ、実行可能ファイルのサンプルファイルが存在する場合、既存のサンプルファイルが自動的に削除されます。したがって、既存のサンプルファイルが必要な場合は、実行ファイルを新バージョンに置き換える前に、作成に使用する実行ファイルと共にバックアップする必要があります。サンプルファイルのバックアップ方法は、「データの保存」 を参照してください。

40.5.1. opreportの使用

opreport ツールは、プロファイルされるすべての実行可能ファイルの概要を提供します。
以下は出力例の一部です。
Profiling through timer interrupt
          TIMER:0|
  samples|      %|
------------------
    25926 97.5212 no-vmlinux
      359  1.3504 pi
       65  0.2445 Xorg
       62  0.2332 libvte.so.4.4.0
       56  0.2106 libc-2.3.4.so
       34  0.1279 libglib-2.0.so.0.400.7
       19  0.0715 libXft.so.2.1.2
       17  0.0639 bash
        8  0.0301 ld-2.3.4.so
        8  0.0301 libgdk-x11-2.0.so.0.400.13
        6  0.0226 libgobject-2.0.so.0.400.7
        5  0.0188 oprofiled
        4  0.0150 libpthread-2.3.4.so
        4  0.0150 libgtk-x11-2.0.so.0.400.13
        3  0.0113 libXrender.so.1.2.2
        3  0.0113 du
        1  0.0038 libcrypto.so.0.9.7a
        1  0.0038 libpam.so.0.77
        1  0.0038 libtermcap.so.2.0.8
        1  0.0038 libX11.so.6.2
        1  0.0038 libgthread-2.0.so.0.400.7
        1  0.0038 libwnck-1.so.4.9.0
各実行可能ファイルは各行に一覧表示されます。最初の列は、実行ファイル用に記録されたサンプル数です。2 列目は、サンプルの合計数に対するサンプルの割合です。3 列目は実行可能ファイルの名前です。
利用可能なコマンドラインオプションの一覧は、man ページの opreport を参照してください。たとえば、-r オプションでは、サンプルの最大数が最も少ない実行可能ファイルから、最大数のサンプルを持つ実行ファイルから出力をソートします。

40.5.2. 単一の実行可能ファイルでの opreport の使用

特定の実行ファイルに関するより詳細なプロファイル情報を取得するには、opreport を使用します。
 opreport <mode><executable>
分析する実行可能ファイルへの完全パスである <executable> 必要があります。& lt;mode&gt; は以下のいずれかでなければなりません。
-l
シンボルによるサンプルデータを一覧表示します。たとえば、以下は、opreport -l /lib/tls/libc- <version> .so コマンドを実行する際 の出力の一部です。
samples  %        symbol name
12       21.4286  __gconv_transform_utf8_internal
5         8.9286  _int_malloc
4         7.1429  malloc
3         5.3571  __i686.get_pc_thunk.bx
3         5.3571  _dl_mcount_wrapper_check
3         5.3571  mbrtowc
3         5.3571  memcpy
2         3.5714  _int_realloc
2         3.5714  _nl_intern_locale_data
2         3.5714  free
2         3.5714  strcmp
1         1.7857  __ctype_get_mb_cur_max
1         1.7857  __unregister_atfork
1         1.7857  __write_nocancel
1         1.7857  _dl_addr
1         1.7857  _int_free
1         1.7857  _itoa_word
1         1.7857  calc_eclosure_iter
1         1.7857  fopen@@GLIBC_2.1
1         1.7857  getpid
1         1.7857  memmove
1         1.7857  msort_with_tmp
1         1.7857  strcpy
1         1.7857  strlen
1         1.7857  vfprintf
1         1.7857  write
最初の列は、シンボルのサンプル数で、2 番目のコラムは、実行可能なサンプルに対するこのシンボルのサンプルの割合で、3 番目のコラムは記号名になります。
最大数のサンプルから最小(リバース順序)に出力を並べ替えるには、-l オプションとともに -r を使用します。
-i <symbol-name>
シンボル名に固有のサンプルデータを一覧表示します。たとえば、以下の出力では opreport -l -i __gconv_transform_utf8_internal /lib/tls/libc- <version> .so コマンドです。
samples  %        symbol name
12       100.000  __gconv_transform_utf8_internal
最初の行は、シンボル/実行可能ファイルの組み合わせの概要です。
最初の列は、メモリーシンボルのサンプル数です。2 列目は、シンボルのサンプルの合計数と相対的に、メモリーアドレスのサンプルの割合(パーセント)です。3 列はシンボル名です。
-d
-l よりも多くの詳細を含むシンボルによるサンプルデータを一覧表示します。たとえば、以下の出力は、opreport -l -d __gconv_transform_utf8_internal /lib/tls/libc- <version> .so コマンドです。
vma      samples  %        symbol name
00a98640 12       100.000  __gconv_transform_utf8_internal
00a98640 1         8.3333
00a9868c 2        16.6667
00a9869a 1         8.3333
00a986c1 1         8.3333
00a98720 1         8.3333
00a98749 1         8.3333
00a98753 1         8.3333
00a98789 1         8.3333
00a98864 1         8.3333
00a98869 1         8.3333
00a98b08 1         8.3333
データは -l オプションと同じですが、各シンボルで、使用される各仮想メモリーアドレスが表示されます。各仮想メモリーアドレスについて、シンボルのサンプル数と基準に対するサンプル数とパーセンテージが表示されます。
-x<symbol-name>
出力からシンボルのコンマ区切りリストを除外します。
セッション: &lt;name>
/var/lib/oprofile/samples/ ディレクトリーに対するセッションまたはディレクトリーへの完全パスを指定します。

40.5.3. opannotateの使用

opannotate ツールは、特定の手順のサンプルをソースコードの対応する行と照合しようとします。生成されたファイルには、左側の行のサンプルが必要です。また、関数の合計サンプルを一覧表示する各関数の最初のコメントに配置します。
このユーティリティーを機能させるには、実行ファイルを GCC の -g オプションでコンパイルする必要があります。デフォルトでは、Red Hat Enterprise Linux パッケージは、このオプションでコンパイルされません。
opannotate の一般的な構文は以下のとおりです。
 opannotate --search-dirs <src-dir> --source <executable>
ソースコードと分析対象の実行可能ファイルを含むディレクトリーを指定する必要があります。追加のコマンドラインオプションの一覧は、man ページの opannotate を参照してください。

40.6. /dev/oprofile/について

/dev/oprofile/ ディレクトリーには、OProfile のファイルシステムが含まれます。cat コマンドを使用して、このファイルシステムの仮想ファイルの値を表示します。たとえば、以下のコマンドは検出されたプロセッサー OProfile のタイプを表示します。
cat /dev/oprofile/cpu_type
カウンターごとにディレクトリーが /dev/oprofile/ に存在する。たとえば、カウンターが 2 つある場合は、/dev/oprofile/0 / ディレクトリーと dev/oprofile /1/ ディレクトリーが存在 します。
カウンターの各ディレクトリーには、以下のファイルが含まれます。
  • count: サンプルの間隔
  • enabled: 0 の場合、カウンターはオフになり、そのカウンターは収集されません。1 の場合は、カウンターがオンになり、サンプルが収集されます。
  • event: 監視するイベント。
  • kernel: 0 の場合は、プロセッサーが カーネル スペースにあるときにこのカウンターイベントのサンプルが収集されません。1 の場合は、プロセッサーがカーネルスペースにある場合でもサンプルが収集されます。
  • unit_mask: カウンターに対して有効なユニットマスクを定義します。
  • User: 0 の場合は、プロセッサーが ユーザー 空間にあるときにカウンターイベントのサンプルが収集されません。1 の場合は、プロセッサーがユーザー空間にある場合でもサンプルが収集されます。
このファイルの値は、cat コマンドで取得できます。以下に例を示します。
cat /dev/oprofile/0/count

40.7. 使用例

OProfile は開発者がアプリケーションのパフォーマンスを分析するのに使用できますが、システム管理者がシステム分析を実行するのに使用することもできます。以下に例を示します。
  • システムで使用されるアプリケーションとサービスを判別 します。opreport を使用して、アプリケーションやサービスが使用するプロセッサー時間を判別できます。システムが複数のサービスに使用されていても、実行中である場合は、最もプロセッサー時間を消費するサービスを専用のシステムに移動できます。
  • プロセッサーの使用量の決定: CPU_CLK_UNHALTED イベントを監視して、一定期間におけるプロセッサーの負荷を判断できます。このデータを使用して、追加のプロセッサーが追加または高速のプロセッサーがシステムパフォーマンスを向上させるかどうかを判断できます。

40.8. グラフィカルインターフェース

一部の OProfile 設定は、グラフィカルインターフェースで設定できます。これを起動するには、シェルプロンプトで root で oprof_start コマンドを実行します。
オプションのいずれかを変更したら、Save and quit ボタンをクリックして保存します。設定は /root/.oprofile/daemonrc に書き込まれ、アプリケーションが終了します。アプリケーションを終了しても OProfile がサンプリングから削除されません。
Setup タブでプロセッサーカウンターのイベントを設定するには、「監視するイベントの設定」 プルダウンメニューからカウンターを選択し、一覧からイベントを選択します。イベントの簡単な説明が、リストの下にあるテキストボックスに表示されます。特定のカウンターと特定のアーキテクチャーで利用可能なイベントのみが表示されます。また、このインターフェースは、プロファイラーが実行されているかどうかと、それに関する簡単な統計も表示します。

図40.1 OProfile のセットアップ

OProfile のセットアップ
タブの右側にある Profile kernel オプションを選択して、現在選択されているイベントのカーネルモードでイベントをカウントします。「カーネルとユーザー空間プロファイルの分離」 で説明されているように、カーネルモードでイベントをカウントします。このオプションが選択されていない場合、カーネルのサンプルは収集されません。
「カーネルとユーザー空間プロファイルの分離」 で説明されているように、Profile user binaries オプションを選択して、現在選択されているイベントのイベントをユーザーモードでカウントします。このオプションが選択されていない場合、ユーザーアプリケーションのサンプルは収集されません。
Count テキストフィールドを使用して、「サンプリングレート」 で説明されているように、現在選択されているイベントのサンプリングレートを設定します。
「ユニットマスク」 で説明されているように、現在選択されているイベントでユニットマスクが利用可能な場合は、Setup タブの右側の Unit Masks エリアに表示されます。ユニットマスクの横にあるチェックボックスを選択してイベントで有効にします。
設定 タブでカーネルのプロファイルを行うには、カーネル イメージ ファイルのテキストフィールドで監視するカーネルの vmlinux ファイルの名前と場所を入力します。OProfile がカーネルを監視しないように設定するには、No kernel image を選択します。

図40.2 OProfile の設定

OProfile の設定
Verbose オプションを選択すると、oprofiled デーモンログにより多くの情報が含まれます。
アプリケーション別のカーネルサンプルファイル が選択されている場合、OProfile は 「カーネルとユーザー空間プロファイルの分離」 で説明されているように、カーネルおよびカーネルモジュールのアプリケーションごとのプロファイルを生成します。これは opcontrol --separate=kernel コマンドと同じです。アプリケーション別の共有 libs サンプルファイル が選択されている場合、OProfile はライブラリーのアプリケーションごとのプロファイルを生成します。これは opcontrol --separate=library コマンドと同じです。
「データの分析」 で説明されているように、データがサンプルファイルに書き込まれるように強制するには、Flush profiler data ボタンをクリックします。これは opcontrol --dump コマンドと同じです。
グラフィカルインターフェースから OProfile を起動するには、Start profiler をクリックします。プロファイラーを停止するには、Stop profiler をクリックします。アプリケーションを終了しても OProfile がサンプリングから削除されません。

40.9. 関連情報

本章では、OProfile と設定、使用方法のみを取り上げています。詳細は、以下のリソースを参照してください。

40.9.1. Installed Docs

  • /usr/share/doc/oprofile- &lt;version&gt; /oprofile.html - 『OProfile Manual
  • OProfile man ページ: opcontrolopreportopannotate、および op_help

40.9.2. 便利な Web サイト

http://oprofile.sourceforge.net/ - 最新のドキュメント、メーリングリスト、IRC チャネルなどが含まれます。

パート VII. 付録

付録A 改訂履歴

改訂履歴
改訂 1.0-1.33.402Fri Oct 25 2013Rüdiger Landmann
Publican 4.0.0 用にリビルド
改訂 1.0-1.33July 24 2012Ruediger Landmann
Publican 3.0 の再ビルド
改訂 1.0-1Thu Sep 18 2008Don Domingo
新しい自動ビルドシステムに移行

索引

シンボル

/dev/oprofile/, /dev/oprofile/について
/dev/shm, ファイルシステム
/etc/auto.master,
/etc/exports, NFS ファイルシステムのエクスポート
/etc/fstab, ext3 ファイルシステムへの変換, /etc/fstab を使用した NFS ファイルシステムのマウント
/etc/fstab ファイル
ディスククォータの有効化, クォータの有効化
/etc/hosts, ホストの管理
/etc/httpd/conf/httpd.conf, Apache HTTP サーバーの設定
/etc/sysconfig/dhcpd, サーバーの起動と停止
/proc/ ディレクトリー, インストールされているドキュメント
/var/spool/cron, cron タスクの設定
アクセス制御リスト (参照 ACL)
インストール
kickstart (参照 キックスタートインストール)
LVM, LVM の設定
PXE (参照 PXE インストール)
ソフトウェア RAID, ソフトウェア RAID の設定
インターネット接続 (参照 ネットワーク設定)
イーサネット接続 (参照 ネットワーク設定)
カーネルモジュール
/etc/rc.modules, 永続的なモジュールの読み込み
アンロード, カーネルモジュールユーティリティー
リスト, カーネルモジュールユーティリティー
ロード中, カーネルモジュールユーティリティー
永続的なロード, 永続的なモジュールの読み込み
カーネルモジュールの読み込み, カーネルモジュール
キックスタートインストール, キックスタートを使ったインストール
CD-ROM ベース, キックスタートブートメディアの作成
diskette-based, キックスタートブートメディアの作成
flash-based, キックスタートブートメディアの作成
LVM, キックスタートオプション
インストールツリー, インストールツリーを利用可能にする
ネットワークベース, ネットワーク上でキックスタートファイルの準備, インストールツリーを利用可能にする
ファイルの場所, キックスタートファイルの準備
ファイルフォーマット, キックスタートファイルの作成
起動, キックスタートインストールの開始
From CD-ROM #1 with a diskette, キックスタートインストールの開始
ブート CD-ROM から, キックスタートインストールの開始
キックスタートファイル
%include, キックスタートオプション
%post, インストール後のスクリプト
%pre, インストール前のスクリプト
auth, キックスタートオプション
authconfig, キックスタートオプション
autopart, キックスタートオプション
autostep, キックスタートオプション
bootloader, キックスタートオプション
CD-ROM ベース, キックスタートブートメディアの作成
clearpart, キックスタートオプション
cmdline, キックスタートオプション
device, キックスタートオプション
diskette-based, キックスタートブートメディアの作成
driverdisk, キックスタートオプション
firewall, キックスタートオプション
firstboot, キックスタートオプション
flash-based, キックスタートブートメディアの作成
halt, キックスタートオプション
ignoredisk, キックスタートオプション
install, キックスタートオプション
interactive, キックスタートオプション
lang, キックスタートオプション
langsupport, キックスタートオプション
logvol, キックスタートオプション
mouse, キックスタートオプション
network, キックスタートオプション
options, キックスタートオプション
パーティショニングの例, 高度なパーティション設定の例
part, キックスタートオプション
poweroff, キックスタートオプション
raid, キックスタートオプション
reboot, キックスタートオプション
rootpw, キックスタートオプション
selinux, キックスタートオプション
shutdown, キックスタートオプション
skipx, キックスタートオプション
text, キックスタートオプション
timezone, キックスタートオプション
upgrade, キックスタートオプション
volgroup, キックスタートオプション
xconfig, キックスタートオプション
zerombr, キックスタートオプション
インストール前の設定, インストール前のスクリプト
インストール後の設定, インストール後のスクリプト
インストール方法, キックスタートオプション
キーボード, キックスタートオプション
ネットワークベース, ネットワーク上でキックスタートファイルの準備, インストールツリーを利用可能にする
パッケージ選択の指定, パッケージの選択
パーティション, キックスタートオプション
フォーマット, キックスタートファイルの作成
作成, キックスタートオプション
例, キックスタートファイルの作成
別のファイルのコンテンツを含める, キックスタートオプション
キーボード, キーボードの設定
設定, キーボードの設定
キーボード設定ツール, キーボードの設定
グループ設定
グループのユーザーの変更, グループプロパティーの変更
グループの追加, 新規グループの追加
グループプロパティーの変更, グループプロパティーの変更
グループ一覧のフィルタリング, ユーザーおよびグループの設定
グループ一覧の表示, ユーザーおよびグループの設定
コマンドラインオプション
印刷元, 印刷ジョブの管理
システムの復元, 基本的なシステムの復元
一般的な問題, 一般的な問題
Red Hat Enterprise Linux で起動できない, Red Hat Enterprise Linux で起動できない
root パスワードを取得する場合, root パスワード
ハードウェア/ソフトウェアの問題, ハードウェア/ソフトウェアの問題
ブートローダーの再インストール, ブートローダーの再インストール
システム分析
OProfile (参照 OProfile)
システム情報
gathering, システム情報の収集
processes, システムプロセス
現在実行中の, システムプロセス
ハードウェア, ハードウェア
ファイルシステム, ファイルシステム
/dev/shm, ファイルシステム
メモリー使用量, Memory Usage
シャドウパスワード, 認証
概要, シャドウパスワード
シングルユーザーモード, シングルユーザーモードで起動
ストライピング
RAID の基礎, RAID とは
スワップ領域, swap 領域
expanding, スワップ領域の追加
file
作成, スワップファイルの作成, スワップファイルの削除
LVM2
作成, スワップの LVM2 論理ボリュームの作成
削除中, スワップの LVM2 論理ボリュームの削除
拡張, LVM2 論理ボリュームでのスワップ領域の拡張
縮小, LVM2 論理ボリュームでのスワップ領域の縮小
作成, スワップ領域の追加
削除中, スワップ領域の削除
推奨サイズ, 変動スペースとは
移動, Swap 領域の移動
説明:, 変動スペースとは
セキュアなサーバー
certificate
authorities, 証明書の種類
CA の選択, 証明書の種類
アップグレード後の移動, 事前検証キーおよび証明書の使用
テスト, 証明書のテスト
テスト vs 自己署名型, 証明書の種類
リクエストの作成, CA に送信する証明書要求の生成
既存の機能, 事前検証キーおよび証明書の使用
自己署名, 自己署名証明書の作成
installing, Apache HTTP セキュアサーバー設定
key
生成, キーの生成
security
説明:, 証明書およびセキュリティーの概要
URL, サーバーへのアクセス
Web サイト, 便利な Web サイト
アクセス, サーバーへのアクセス
アップグレード元, 事前検証キーおよび証明書の使用
セキュリティーの説明, 証明書およびセキュリティーの概要
パッケージ, セキュリティー関連パッケージの概要
ポート番号, サーバーへのアクセス
接続先, サーバーへのアクセス
本, 関連書籍
証明書の指定, 証明書およびセキュリティーの概要
セキュリティーレベル (参照 Security Level Configuration Tool)
ソフトウェア RAID (参照 RAID)
タイムゾーンの設定, タイムゾーンの設定
ディスククォータ, ディスククォータの実装
グループごとに割り当て, グループごとのクォータ割り当て
ソフト制限, ユーザーごとのクォータ割り当て
ハード制限, ユーザーごとのクォータ割り当て
ファイルシステムごとの割り当て, ファイルシステムごとのクォータの割り当て
ユーザーごとに割り当て, ユーザーごとのクォータ割り当て
有効化, ディスククォータの設定, 有効化と無効化
/etc/fstab、変更, クォータの有効化
quotacheck、実行中, クォータデータベースファイルの作成
クォータファイルの作成, クォータデータベースファイルの作成
無効化, 有効化と無効化
猶予期間, ユーザーごとのクォータ割り当て
管理, ディスククォータの管理
quotacheck コマンド、確認, クォータの精度維持
レポート, ディスククォータに関するレポート
関連情報, 関連情報
ディスクストレージ (参照 ディスククォータ)
parted (参照 parted)
ディスクレス環境, ディスクレス環境
NFS の設定, NFS サーバーの設定
ネットワーク起動ツール, ディスクレス環境の設定の完了
ホストの追加, ホストの追加
概要, ディスクレス環境
デミライズされたゾーン, DMZ および IPTables
トークンリング接続 (参照 ネットワーク設定)
ドキュメント
インストール済みの検索, RPM で金を抑制する
ネットワークアドレス変換, FORWARD および NAT ルール
iptablesの使用, FORWARD および NAT ルール
ネットワークタイムプロトコル (参照 NTP)
ネットワークデバイスの制御, プロファイルの使用
ネットワークファイルシステム (参照 NFS)
ネットワーク管理ツール (参照 ネットワーク設定)
ネットワーク設定
DHCP, イーサネット接続の確立
DNS 設定の管理, DNS 設定の管理
ISDN 接続, ISDN 接続の確立
アクティベート中, ISDN 接続の確立
managing /etc/hosts, ホストの管理
PPoE 接続, xDSL 接続の確立
xDSL 接続, xDSL 接続の確立
アクティベート中, xDSL 接続の確立
イーサネット接続, イーサネット接続の確立
アクティベート中, イーサネット接続の確立
デバイスのエイリアス, デバイスエイリアス
トークンリング接続, トークンリング接続の確立
アクティベート中, トークンリング接続の確立
ファイルからの復元, ネットワーク設定の保存および復元
ファイルへの保存, ネットワーク設定の保存および復元
プロファイル, プロファイルの使用
アクティベート中, プロファイルの使用
ホストの管理, ホストの管理
モデム接続, モード接続の確立
アクティベート中, モード接続の確立
ワイヤレス接続, ワイヤレス接続の確立
アクティベート中, ワイヤレス接続の確立
概要, 概要
論理ネットワークデバイス, プロファイルの使用
静的 IP, イーサネット接続の確立
ネットワーク起動ツール, PXE ブート設定
PXE インストールでの使用, PXE ブート設定
pxeboot, コマンドラインからの設定
pxeos, コマンドラインからの設定
ディスクレス環境の使用, ディスクレス環境の設定の完了
ハードウェア
表示する, ハードウェア
ハードウェア RAID (参照 RAID)
ハードウェアブラウザー, ハードウェア
パスワード
shadow, シャドウパスワード
パッケージ
dependencies, 解決できない依存関係
installing, インストール
RPM でのリミネーション, Freshening
を使用したファイル所有権の決定, RPM で金を抑制する
アップグレード, アップグレード
アンインストールされたクエリー, RPM で金を抑制する
クエリー, クエリ
ドキュメントの検索, RPM で金を抑制する
ヒント, RPM で金を抑制する
ファイル一覧の取得, RPM で金を抑制する
削除されたファイルの検索, RPM で金を抑制する
削除中, アンインストール
検証, 検証
設定ファイルの保存, アップグレード
パーティション
サイズ変更, パーティションのサイズ変更
一覧表示, パーティションテーブルの表示
作成, パーティションの作成
mkpart, パーティションの作成
削除中, パーティションの削除
パーティションテーブル
表示する, パーティションテーブルの表示
ビデオカード
X の設定, ハードウェア設定の表示
デュアルヘッドの設定, デュアルヒューリスティックディスプレイの設定
ピクセル, 表示設定
ファイアウォール, ファイアウォール
iptables, allInOnes および IPTables
policies, 基本的なファイアウォールポリシー
stateful, iptables および接続の追跡
コネクションの追跡, iptables および接続の追跡
タイプ, ファイアウォール
悪意のあるソフトウェア, 悪意のあるソフトウェアおよび Spoofed IP アドレス
関連情報, 関連情報
ファイアウォールの種類, ファイアウォール
proxy, ファイアウォール
ネットワークアドレス変換(NAT), ファイアウォール
パケットフィルター, ファイアウォール
ファイアウォールの設定 (参照 Security Level Configuration Tool)
ファイルシステム, ファイルシステム
ext2 (参照 ext2)
ext3 (参照 ext3)
LVM (参照 LVM)
NFS (参照 NFS)
フィードバック, フィードバックをお寄せください
ブートメディア, アップグレードの準備
プリンターの設定, プリンターの設定
CUPS, プリンターの設定
IPP プリンター, IPP プリンターの追加
JetDirect プリンター, JetDirect プリンターの追加
Networked CUPS(IPP)プリンター, IPP プリンターの追加
Samba(SMB)プリンター, Samba(SMB)プリンターの追加
コマンドラインからの印刷, 印刷ジョブの管理
テストページ, テストページの印刷
デフォルトのプリンター, 既存プリンターの修正
ローカルプリンター, ローカルプリンターの追加
印刷ジョブの管理, 印刷ジョブの管理
印刷ジョブをキャンセルする, 印刷ジョブの管理
印刷スプール、コマンドラインの表示, 印刷ジョブの管理
既存のプリンターの削除, 既存プリンターの修正
追加
cups(IPP)プリンター, IPP プリンターの追加
IPP プリンター, IPP プリンターの追加
JetDirect プリンター, JetDirect プリンターの追加
Samba(SMB)プリンター, Samba(SMB)プリンターの追加
ローカルプリンター, ローカルプリンターの追加
プリンター設定ツール (参照 プリンターの設定)
ボリュームグループ, LVM とは, LVM ボリュームグループの作成
マウントする
,
マスターブートレコード, Red Hat Enterprise Linux で起動できない
再インストール, ブートローダーの再インストール
メモリー使用量, Memory Usage
メールユーザーエージェント, メール転送エージェント (MTA) の設定
メール転送エージェント (Mail Transport Agent) (参照 MTA)
メール転送エージェントスイッチ, メール転送エージェント (MTA) の設定
テキストモードで起動, メール転送エージェント (MTA) の設定
モデム接続 (参照 ネットワーク設定)
ユーザープライベートグループ (参照 groups)
共有ディレクトリー, グループディレクトリー
ユーザー設定
グループへのユーザーの追加, ユーザープロパティーの変更
コマンドラインの設定, コマンドラインからの設定
passwd, ユーザーの追加
useradd, ユーザーの追加
パスワードの変更, ユーザープロパティーの変更
パスワードの有効期限, ユーザープロパティーの変更
フルネームの変更, ユーザープロパティーの変更
ホームディレクトリーの変更, ユーザープロパティーの変更
ユーザーのグループの変更, ユーザープロパティーの変更
ユーザーの変更, ユーザープロパティーの変更
ユーザーの追加, 新規ユーザーの追加
ユーザーアカウントのロック, ユーザープロパティーの変更
ユーザーアカウントの有効期限の設定, ユーザープロパティーの変更
ユーザー一覧のフィルタリング, ユーザーおよびグループの設定
ユーザー一覧の表示, ユーザーおよびグループの設定
ログインシェルの変更, ユーザープロパティーの変更
ランレベル 1, シングルユーザーモードで起動
レスキューモード
利用可能なユーティリティー, レスキューモードでの起動
定義, レスキューモードでの起動
ログビューアー
alerts, ログファイルの検証
フィルタリング, ログファイルの表示
ログファイルの場所, ログファイルの表示
更新レート, ログファイルの表示
検索, ログファイルの表示
ログファイル, ログファイル
(参照 ログビューアー)
description, ログファイル
rotating, ログファイルの場所の特定
syslogd, ログファイル
検索, ログファイルの場所の特定
検証, ログファイルの検証
表示する, ログファイルの表示
動的ホスト設定プロトコル(Pu Dynamic Host Configuration Protocol) (参照 DHCP)
実行環境, PXE ネットワークインストール
情報
システムについて, システム情報の収集
日付の設定, 日付と時刻のプロパティー
時間設定, 日付と時刻のプロパティー
NTP サーバーとの同期, Network Time Protocol(NTP)プロパティー
概要, はじめに
物理エクステント, LVM ボリュームグループの作成
物理ボリューム, LVM とは, LVM 物理ボリュームの作成
緊急モード, 緊急モードでのブート
自動タスク, 自動タスク
色深度, 表示設定
解決方法, 表示設定
設定
console access, コンソールアクセス
NFS, Network File System (NFS)
論理ボリューム, LVM とは, LVM 論理ボリュームの作成
論理ボリュームグループ, LVM とは
論理ボリュームマネージャー (参照 LVM)
起動
シングルユーザーモード, シングルユーザーモードで起動
レスキューモード, レスキューモードでの起動
緊急モード, 緊急モードでのブート
起動パーティション, /boot/ パーティションの作成
追加
group,
user, コマンドラインからの設定

, , , ,
groupadd,
password
,
生成, , ,
関連情報, 関連情報

A

ACL
ext3 ファイルシステム上, アクセス制御リスト
getfacl, ACL の取り込み
NFS 共有のマウント:, NFS
setfacl, アクセス ACL の設定
with Samba, アクセス制御リスト
アクセス ACL, アクセス ACL の設定
アーカイブ:, ACL が設定されているファイルシステムのアーカイブ作成
デフォルト ACL, デフォルト ACL の設定
ファイルシステムのマウント:, ファイルシステムのマウント
取得, ACL の取り込み
設定
アクセス ACL, アクセス ACL の設定
関連情報, 関連情報
Apache HTTP サーバー (参照 HTTP 設定ツール)
保護, 証明書およびセキュリティーの概要
関連情報, 関連情報
関連書籍, 関連書籍
APXS, セキュリティー関連パッケージの概要
at, at および Batch
関連資料, 関連情報
authconfig (参照 Authentication Configuration Tool)
authentication, 認証設定
Authentication Configuration Tool, 認証設定
authentication, 認証
Kerberos サポート, 認証
LDAP サポート, 認証
MD5 パスワード, 認証
SMB サポート, 認証
Winbind, 認証
シャドウパスワード, 認証
コマンドラインのバージョン, コマンドラインのバージョン
ユーザー情報, ユーザー情報
cache, ユーザー情報
hesiod, ユーザー情報
LDAP, ユーザー情報
NIS, ユーザー情報
Winbind, ユーザー情報
autofs,
/etc/auto.master,

B

batch, at および Batch
関連情報, 関連情報

C

CA (参照 セキュアなサーバー)
chkconfig, chkconfig
console
ファイルへのアクセス権限, コンソールからのファイルへのアクセス許可
console access
定義, コンソールの定義
有効化, 他のアプリケーションのコンソールアクセスの有効化
無効化, コンソールプログラムアクセスの無効化
設定, コンソールアクセス
Cron, 自動タスク
cron
crontab の例, cron タスクの設定
ユーザー定義のタスク, cron タスクの設定
設定ファイル, cron タスクの設定
関連資料, 関連情報
crontab, cron タスクの設定
CtrlAltDel
shutdown, disabling, Shutdown Via Ctrl+Alt+Delの無効化
CUPS, プリンターの設定

D

dateconfig (参照 日付と時刻のプロパティーツール)
devel パッケージ, セキュリティー関連パッケージの概要
df, ファイルシステム
DHCP, Dynamic Host Configuration Protocol(DHCP)
dhcpd.conf, 設定ファイル
dhcpd.leases, サーバーの起動と停止
dhcrelay, DHCP リレーエージェント
group, 設定ファイル
options, 設定ファイル
shared-network, 設定ファイル
subnet, 設定ファイル
クライアント設定, DHCP クライアントの設定
グローバルパラメーター, 設定ファイル
コマンドラインオプション, サーバーの起動と停止
サーバーの停止, サーバーの起動と停止
サーバーの起動, サーバーの起動と停止
サーバー設定, DHCP サーバーの設定
リレーエージェント, DHCP リレーエージェント
使用する理由, DHCP を使用する理由
接続先, DHCP クライアントの設定
関連情報, 関連情報
dhcpd.conf, 設定ファイル
dhcpd.leases, サーバーの起動と停止
dhcrelay, DHCP リレーエージェント
display
X の設定, 表示設定
DMZ (参照 デミライズされたゾーン)
DSOs
ロード中, セキュリティー関連パッケージの概要
du, ファイルシステム

F

findsmb, コマンドライン
floppy グループ(以下を使用), フロッピー グループ
free, Memory Usage
ftp,

G

getfacl, ACL の取り込み
GNOME システムモニター, システムプロセス
gnome-system-monitor, システムプロセス
GnuPG
RPM パッケージ署名の確認, パッケージの署名の確認
groups (参照 グループ設定)
floppy(使用), フロッピー グループ
GID, ユーザーとグループ
standard,
ユーザープライベート, ユーザープライベートグループ
共有ディレクトリー, グループディレクトリー
概要, ユーザーとグループ
管理するツール
groupadd, ユーザーおよびグループ管理ツール, ユーザープライベートグループ
system-config-users, ユーザープライベートグループ
User Manager, ユーザーおよびグループ管理ツール
関連資料, 関連情報
インストールされているドキュメント, インストールされているドキュメント

H

hesiod, ユーザー情報
HTTP ディレクティブ
DirectoryIndex, サイトの設定
ErrorDocument, サイトの設定
ErrorLog, ロギング
Group, サーバー設定
HostnameLookups, ロギング
KeepAlive, パフォーマンスチューニング
KeepAliveTimeout, パフォーマンスチューニング
listen, 基本設定
LogFormat, ロギング
LogLevel, ロギング
MaxClients, パフォーマンスチューニング
MaxKeepAliveRequests, パフォーマンスチューニング
ServerAdmin, 基本設定
ServerName, 基本設定
TimeOut, パフォーマンスチューニング
TransferLog, ロギング
User, サーバー設定
オプション, サイトの設定
HTTP 設定ツール
modules, Apache HTTP サーバーの設定
エラーログ, ロギング
ディレクティブ (参照 HTTP ディレクティブ)
転送ログ, ロギング
httpd, Apache HTTP サーバーの設定
hwbrowser, ハードウェア

K

Kerberos, 認証
kernel
modules, カーネルモジュール
アップグレード, カーネルの手動によるアップグレード
ダウンロード中, アップグレードされたカーネルのダウンロード
大規模なメモリーのサポート, カーネルパッケージの概要
複数のプロセッサーのサポート, カーネルパッケージの概要
kickstart
ファイルの表示方法, キックスタートインストールの開始
Kickstart Configurator, Kickstart Configurator
%post スクリプト, インストール後のスクリプト
%pre スクリプト, インストール前のスクリプト
interactive, 基本設定
mouse, 基本設定
preview, Kickstart Configurator
reboot, 基本設定
root パスワード, 基本設定
encrypt, 基本設定
SELinux の設定, SELinux の設定
インストール方法の選択, インストール方法
キーボード, 基本設定
タイムゾーン, 基本設定
テキストモードのインストール, 基本設定
ネットワーク設定, Network Configuration
パッケージの選択, パッケージの選択
パーティション設定, パーティション情報
ソフトウェア RAID, ソフトウェア RAID パーティションの作成
ファイアウォールの設定, ファイアウォールの設定
ブートローダー, ブートローダーのオプション
ブートローダーのオプション, ブートローダーのオプション
保存中, ファイルの保存
基本オプション, 基本設定
言語, 基本設定
言語サポート, 基本設定
設定の表示, 設定の表示
認証オプション, 認証

L

LDAP, ユーザー情報, 認証
logrotate, ログファイルの場所の特定
lpd, プリンターの設定
lsmod, カーネルモジュールユーティリティー
lspci, ハードウェア
LVM, 論理ボリュームマネージャー (LVM)
installing
ブートパーティションの作成, /boot/ パーティションの作成
ボリュームグループの作成, LVM ボリュームグループの作成
物理ボリュームの作成, LVM 物理ボリュームの作成
自動パーティション設定, 自動パーティション設定, 手動での LVM パーティション設定
論理ボリュームの作成, LVM 論理ボリュームの作成
インストール時の LVM の設定, LVM の設定
キックスタートの使用, キックスタートオプション
ボリュームグループ, LVM ボリュームグループの作成
物理エクステント, LVM ボリュームグループの作成
物理ボリューム, LVM とは, LVM 物理ボリュームの作成
説明:, LVM とは
論理ボリューム, LVM とは, LVM 論理ボリュームの作成
論理ボリュームグループ, LVM とは
関連資料, 関連情報
lvm
LVM ツールおよびユーティリティー, LVM パーティション管理
LVM2
説明:, LVM2 とは

N

NAT (参照 ネットワークアドレス変換)
neat (参照 ネットワーク設定)
NFS
,
/etc/fstab, /etc/fstab を使用した NFS ファイルシステムのマウント
autofs (参照 autofs)
エクスポート, NFS ファイルシステムのエクスポート
コマンドラインの設定, コマンドラインからの設定
サーバーのステータス, サーバーの起動と停止
サーバーの停止, サーバーの起動と停止
サーバーの起動, サーバーの起動と停止
ディスクレス環境、設定, NFS サーバーの設定
ホスト名の形式, ホスト名の形式
マウントする,
設定, Network File System (NFS)
関連情報, 関連情報
NFS サーバー設定ツール, NFS ファイルシステムのエクスポート
NFS ファイルシステムのエクスポート, NFS ファイルシステムのエクスポート
NIS, ユーザー情報
NTP
ntpd, Network Time Protocol(NTP)プロパティー
設定, Network Time Protocol(NTP)プロパティー
ntpd, Network Time Protocol(NTP)プロパティー
ntsysv, ntsysv

O

O'Reilly & Associates, Inc., 関連書籍
O'Reilly &Associates, Inc., 関連書籍
opannotate (参照 OProfile)
opcontrol (参照 OProfile)
OpenLDAP, ユーザー情報, 認証
openldap-clients, ユーザー情報
OpenSSH, OpenSSH
client,
scp,
sftp,
ssh,
server,
/etc/ssh/sshd_config,
ssh-add,
ssh-agent,
, ,
ssh-keygen
,
DSA,
RSA,
関連資料, 関連情報
OpenSSL
関連情報, 関連情報
opreport (参照 OProfile)
OProfile, OProfile
/dev/oprofile/, /dev/oprofile/について
events
サンプリングレート, サンプリングレート
設定, 監視するイベントの設定
opannotate, opannotateの使用
opcontrol, OProfile の設定
--no-vmlinux, カーネルの指定
--start, OProfile の起動および停止
--vmlinux=, カーネルの指定
opreport, opreportの使用
1 つの実行可能ファイルで, 単一の実行可能ファイルでの opreport の使用
oprofiled, OProfile の起動および停止
ログファイル, OProfile の起動および停止
op_help, 監視するイベントの設定
カーネルの監視, カーネルの指定
ツールの概要, ツールの概要
データの保存, データの保存
データの読み取り, データの分析
ユニットマスク, ユニットマスク
設定, OProfile の設定
プロファイルの分離, カーネルとユーザー空間プロファイルの分離
起動, OProfile の起動および停止
関連資料, 関連情報
oprofiled (参照 OProfile)
oprof_start, グラフィカルインターフェース
op_help, 監視するイベントの設定

P

Package Updater, Red Hat Network
pam_smbpass, 暗号化パスワード
pam_timestamp, 他のアプリケーションのコンソールアクセスの有効化
parted, partedで標準パーティション
コマンドの表, partedで標準パーティション
デバイスの選択, パーティションテーブルの表示
パーティションのサイズ変更, パーティションのサイズ変更
パーティションの削除, パーティションの削除
パーティションを作成する, パーティションの作成
パーティションテーブルの表示, パーティションテーブルの表示
概要, partedで標準パーティション
partitions
フォーマット
mkfs, パーティションのフォーマット
ラベル付け
e2label, パーティションのラベル付け
password
,
PCI デバイス
リスト, ハードウェア
pidgin, allInOnes および IPTables
pidgin 6, IPv6
postfix, メール転送エージェント (MTA) の設定
PPPoE, xDSL 接続の確立
printconf (参照 プリンターの設定)
printtool (参照 プリンターの設定)
processes, システムプロセス
ps, システムプロセス
PXE, PXE ネットワークインストール
PXE インストール, PXE ネットワークインストール
ネットワークサーバーの設定, ネットワークサーバーの設定
ネットワーク起動ツール, PXE ブート設定
ブートメッセージ、カスタム, カスタムブートメッセージの追加
ホストの追加, PXE ホストの追加
実行中, PXE インストールの実行
概要, PXE ネットワークインストール
設定, PXE ブート設定
pxeboot, コマンドラインからの設定
pxeos, コマンドラインからの設定

Q

quotacheck, クォータデータベースファイルの作成
quotacheck コマンド
によるクォータ正確性の確認, クォータの精度維持
quotaoff, 有効化と無効化
quotaon, 有効化と無効化

R

RAID, RAID (Redundant Array of Independent Disks)
installing
RAID デバイスの作成, RAID デバイスとマウントポイントの作成
RAID パーティションの作成, RAID パーティションの作成
ブートパーティションの作成, RAID パーティションの作成
マウントポイントの作成, RAID デバイスとマウントポイントの作成
インストール時のソフトウェア RAID の設定, ソフトウェア RAID の設定
ソフトウェア RAID, ハードウェア RAID とソフトウェア RAID の比較
ハードウェア RAID, ハードウェア RAID とソフトウェア RAID の比較
レベル, RAID レベルとリニアサポート
レベル 0, RAID レベルとリニアサポート
レベル 1, RAID レベルとリニアサポート
レベル 4, RAID レベルとリニアサポート
レベル 5, RAID レベルとリニアサポート
使用理由, RAID を使用するユーザー
説明:, RAID とは
RAM, Memory Usage
rcp,
Red Hat Network, Red Hat Network
Red Hat Package Manager (参照 RPM)
Red Hat RPM ガイド, 関連書籍
resize2fs, ext2 ファイルシステムに戻す
RHN (参照 Red Hat Network)
rmmod, カーネルモジュールユーティリティー
RPM, RPM でのパッケージ管理
dependencies, 解決できない依存関係
freshen, Freshening
GnuPG, パッケージの署名の確認
installing, インストール
md5sum, パッケージの署名の確認
website, 便利な Web サイト
で削除されたファイルの検索, RPM で金を抑制する
を使用したファイル所有権の決定, RPM で金を抑制する
アップグレード, アップグレード
アンインストール, アンインストール
アンインストールされたパッケージのクエリー, RPM で金を抑制する
クエリー, クエリ
パッケージの新規化, Freshening
パッケージ署名の確認, パッケージの署名の確認
ヒント, RPM で金を抑制する
ファイルの競合
resolving, 競合するファイル
ファイル一覧のクエリー, RPM で金を抑制する
使用, RPM の使用
本ガイド, 関連書籍
検証, 検証
設定ファイルの保存, アップグレード
設計ゴール, RPM 設計ゴール
関連ドキュメント, RPM で金を抑制する
関連資料, 関連情報

S

Samba, Samba
findsmb, コマンドライン
pam_smbpass, 暗号化パスワード
share
nautilus を使用した接続, Samba 共有への接続
コマンドラインでの接続, コマンドライン
マウントする, 共有のマウント
smbclient, コマンドライン
Windows NT 4.0、2000、ME、および XP を使用する場合, 暗号化パスワード
アクティブな接続の一覧, サーバーの起動と停止
グラフィカル設定, グラフィカル設定
Samba ユーザーの管理, Samba ユーザーの管理
サーバー設定の構成, サーバーの設定
共有の追加, 共有の追加
サーバーのステータス, サーバーの起動と停止
サーバーの停止, サーバーの起動と停止
サーバーの起動, サーバーの起動と停止
パスワードとパスワードの 同期, 暗号化パスワード
使用する理由, Samba を使用する理由
暗号化されたパスワード, 暗号化パスワード
設定, Samba サーバーの設定, コマンドラインからの設定
default, Samba サーバーの設定
smb.conf, Samba
関連情報, 関連情報
scp (参照 OpenSSH)
security,
Security Level Configuration Tool
iptables サービス, IPTables サービスのアクティブ化
カスタムポートの設定, 他のポート
保存中, 設定の保存
信頼できるサービス, 信頼できるサービス
有効化および無効化, ファイアウォールの有効化および無効化
sendmail, メール転送エージェント (MTA) の設定
services
,
setfacl, アクセス ACL の設定
Setup Agent
キックスタート経由, キックスタートオプション
sftp (参照 OpenSSH)
shutdown
CtrlAltDelの無効化, Shutdown Via Ctrl+Alt+Delの無効化
SMB, Samba, 認証
smb.conf, Samba
smbclient, コマンドライン
smbstatus, サーバーの起動と停止
ssh (参照 OpenSSH)
ssh-add,
ssh-agent,
, ,
star, ACL が設定されているファイルシステムのアーカイブ作成
syslogd, ログファイル
system-config-authentication (参照 Authentication Configuration Tool)
system-config-date (参照 日付と時刻のプロパティーツール)
system-config-display (参照 X 設定ツール)
system-config-httpd (参照 HTTP 設定ツール)
system-config-keyboard, キーボードの設定
system-config-kickstart (参照 Kickstart Configurator)
system-config-mouse (参照 mouse Configuration Tool)
system-config-netboot, PXE ブート設定
system-config-network (参照 ネットワーク設定)
system-config-network-cmd, Network Configuration, プロファイルの使用, ネットワーク設定の保存および復元
system-config-printer (参照 プリンターの設定)
system-config-selinux (参照 Security Level Configuration Tool)
system-config-time (参照 日付と時刻のプロパティーツール)
system-config-users (参照 ユーザー設定およびグループの設定)
system-logviewer (参照 ログビューアー)
system-switch-mail (参照 メール転送エージェントスイッチ)
system-switch-mail-nox (参照 メール転送エージェントスイッチ)

T

telinit,
telnet,
tftp, PXE ネットワークインストール
timetool (参照 日付と時刻のプロパティーツール)
top, システムプロセス
tune2fs
ext2 への復元, ext2 ファイルシステムに戻す
ext3 への変換, ext3 ファイルシステムへの変換

U

User Manager (参照 ユーザー設定)
useradd コマンド
を使用したユーザーアカウントの作成, コマンドラインからの設定
users (参照 ユーザー設定)
/etc/passwd,
standard,
UID, ユーザーとグループ
概要, ユーザーとグループ
管理するツール
User Manager, ユーザーおよびグループ管理ツール
useradd, ユーザーおよびグループ管理ツール
関連情報, 関連情報
関連資料
インストールされているドキュメント, インストールされているドキュメント

V

VeriSign
既存の証明書の使用, 事前検証キーおよび証明書の使用

W

Windows
ファイルと印刷の共有, Samba
Windows 2000
Samba を使用した共有への接続, 暗号化パスワード
Windows 98
Samba を使用した共有への接続, 暗号化パスワード
Windows ME
Samba を使用した共有への接続, 暗号化パスワード
Windows NT 4.0
Samba を使用した共有への接続, 暗号化パスワード
Windows XP
Samba を使用した共有への接続, 暗号化パスワード

X

X Window System
設定, X Window System の設定
X 設定ツール
デュアルヘッド表示の設定, デュアルヒューリスティックディスプレイの設定
ハードウェア設定, ハードウェア設定の表示
設定の表示, 表示設定
xDSL 接続 (参照 ネットワーク設定)
xinetd, xinetd
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.