Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

導入ガイド

Red Hat Enterprise Linux 6

デプロイメント、設定、および管理

概要

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

パート I. システムの基本設定

ここでは、キーボード設定、日付と時刻の設定、ユーザーとグループの管理、権限の取得など基本的なシステム管理タスクを取り上げます。

第1章 キーボードの設定

本章では、キーボードレイアウトを変更する方法と、パネルに Keyboard Indicator アプレットを追加する方法を説明します。また、強制的に休憩を設定するオプション、それによるメリットとデメリットについても取り上げます。

1.1. キーボードレイアウトの変更

インストールプログラムにより、ご使用のシステム用にキーボードのレイアウトが設定されています。しかし、デフォルト設定が必ずしも現在のニーズに合うとは限りません。インストール後に別のキーボードレイアウトを設定するには、キーボード設定 ツール を使用 します。
Keyboard Layout Preferences を開くには、パネルから SystemPreferencesKeyboard を選択し、Layouts タブをクリックします。

図1.1 キーボードのレイアウト設定

キーボードのレイアウト設定
使用できるレイアウトの一覧が表示されます。新規レイアウトを追加するには、一覧の下の 追加 ボタンをクリックします。追加したいレイアウトを選択する画面が表示されます。

図1.2 レイアウトの選択

レイアウトの選択
現時点では、キーボードのレイアウトを選択する方法は 2 つあります。関連する国から見つけるか(By country (国別) タブ、言語から選択するか(By language (言語別) タブ) のどちらかです。いずれの場合も、最初に または 言語 のプルダウンメニューから希望する国か言語を選択します。次に、Variants (系列) メニューから系列を指定します。選択したら、レイアウトのプレビューは直ちに変更されます。選択を決定するには、追加 をクリックします。

図1.3 デフォルトレイアウトの選択

デフォルトレイアウトの選択
選択したレイアウトが一覧に表示されるはずです。それをデフォルト設定にするには、名前の横にあるラジオボタンを選択して下さい。変更はすぐに有効になります。ウィンドウの最下部にはテキストを入力できるフィールドがあるため、そこで安心して設定を試すことができます。選択したレイアウトでよければ、閉じる をクリックしてウィンドウを閉じます。

図1.4 レイアウトのテスト

レイアウトのテスト
ウィンドウごとに個別のレイアウトを無効化
デフォルトでは、キーボードのレイアウトを変更するとアクティブなウィンドウのみで変更が反映されるようになっています。つまり、レイアウトを変更した後に別のウィンドウに切り替えると、この別のウィンドウでは前のレイアウトが適用されるため、混乱する場合があります。この機能をオフにするには、ウィンドウ毎にグループ化する チェックボックスからチェックマークを外して下さい。
ただこれには、図1.3「デフォルトレイアウトの選択」 で示されたようにラジオボタンを選択することで、デフォルトのレイアウトを選択できなくなるという欠点があります。選択したレイアウトをデフォルトにするには、一覧の冒頭へドラッグするだけで可能です。

1.2. キーボードレイアウト表示器の追加

現在使用しているキーボードレイアウトを表示する場合や、1 つのマウスクリックで異なるレイアウトを切り替える場合は、キーボード インダクレーターアプレットをパネルに追加します。そのためには、メインパネルの空いているスペースで右クリックし、プルダウンメニューから Add to Panel... (パネルへ追加...) オプションを選択します。

図1.5 新規アプレットの追加

新規アプレットの追加
利用可能なアプレットの一覧が表示されます。一覧をスクロールし (またはウィンドウの最上部にある検索フィールドに 「キーボード」 と入力し始める)、キーボード表示器 を選択して、追加 ボタンをクリックします。

図1.6 キーボードインダク レーターの選択

キーボードインダク レーターの選択
アプレットは直ちに表示され、現在のレイアウトと関連する短縮された国名が表示されます。実際の系列名を表示するには、アプレットのアイコン上にポインターを移動します。

図1.7 Keyboard Indicator アプレット

Keyboard Indicator アプレット

1.3. 一休みの設定

長時間タイプし続けることは疲れるだけでなく、手根管症候群など深刻な健康問題のリスクを高める恐れもあります。これを防ぐ方法として、強制的に入力を休憩するようにシステムを設定することができます。設定方法は、パネルから システム設定キーボードの順に選択し、一休み タブをクリックし、一休みに入ったら強制的に画面をロックする のチェックボックスにチェックマークを入れます。

図1.8 一休みの設定

一休みの設定
一休みの機能が強制実行されるまでの時間を調整するには、一休みの警告を出すまでの時間 ラベルの横にある上向き/下向きボタンをクリックします。休憩時間の長さを変更するには、一休みする時間 の設定を同じように変更します。最後に、作業を終わらせたい場合など休憩を先送りしたい場合には、一休みの延長を許可する チェックボックスにチェックマークを入れます。変更は直ちに反映されます。

図1.9 休憩中

休憩中
設定した制限時間に達すると、休憩するよう画面に通知が表示され、残りの休憩時間を表示した時計が現れます。 一休みの延長許可を有効にした場合は、Postpone Break (中断を延長する) ボタンが画面の右下隅に表示されます。

第2章 日付と時刻の設定

本章では、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux でのシステムの日付と時刻(手動使用および Network Time Protocol(NTP))の設定と、適切なタイムゾーンの設定について説明します。Date/Time Properties ツールを使用して日時を設定する方法と、コマンドラインで行う 2 つの方法があります。

2.1. 日付/時刻のプロパティのツール

Date/Time Properties ツールを使用すると、ユーザーはシステムの日付と時刻を変更し、システムが使用するタイムゾーンを設定し、システムクロックをタイムサーバーと同期するように Network Time Protocol デーモンを設定できます。このアプリケーションを使用するには、X Window System (このトピックの詳細については 付録C X ウィンドウシステム を参照) を実行している必要がある点に注意して下さい。
ツールを起動するには、パネルから SystemAdministrationDate & Time を選択するか、シェルプロンプトで system-config-date コマンド( xtermGNOME ターミナルなど)を入力します。すでに認証されてない限りは、スーパーユーザーのパスワードを入力するよう求められます。

図2.1 認証クエリ

認証クエリ

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

図2.2「日付と時刻のプロパティ」 のように、Date/Time Properties ツールは、2 つの別々のタブに分類されます。デフォルトでは、現在の日時設定があるタブが表示されます。

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

日付と時刻のプロパティ
手動でシステムを設定するには、以下の手順に従って下さい:
  1. 現在の日付を変更する。月と年の左右にある矢印を使って、それぞれ変更します。次に、カレンダーの中で日付を選択します。
  2. 現在の時刻を変更する。の横にある上下の矢印ボタンを使用するか、数字を直接変更します。
OK ボタンをクリックして変更を適用し、アプリケーションを終了します。

2.1.2. ネットワーク時刻プロトコルのプロパティ

自動設定にしたい場合は、 Synchronize date and time over the network (ネットワーク上で日付と時刻を同期化します) というチェックボックスにチェックマークを入れて下さい。そうすると、利用可能な NTP サーバーの一覧が 図2.3「ネットワーク時刻プロトコルのプロパティ」 のように表示されます。

図2.3 ネットワーク時刻プロトコルのプロパティ

ネットワーク時刻プロトコルのプロパティ
ここで、事前定義済みのサーバーから 1 つ選択し、編集 ボタンをクリックして編集するか、追加 をクリックして新規サーバー名を追加することも可能です。Advanced Options (高度なオプション) では、サービスを開始する前にシステムクロックを同期したいか、ローカルタイムソースを使用したいかどうかを選択することもできます。
注記
ウィンドウの最下部にある OK ボタンをクリックして変更を確定するまで、システムは NTP サーバーとの同期を開始しません。
OK ボタンをクリックして、日付と時刻の設定への変更を適用して、アプリケーションを終了します。

2.1.3. タイムゾーンのプロパティ

システムのタイムゾーンを設定するには、図2.4「タイムゾーンのプロパティ」 のように Time Zone (タイムゾーン) タブをクリックします。

図2.4 タイムゾーンのプロパティ

タイムゾーンのプロパティ
タイムゾーンを選択する一般的な方法としては、以下の 2 つがあります。
  1. インタラクティブマップを使用する。 マップの横にある “拡大”/“縮小” ボタンをクリックします。あるいは、マップ上でクリックして、選択した地域を拡大します。次に、希望するタイムゾーンに合う都市を選択します。赤い X が表示され、マップの下にある一覧内のタイムゾーンの選択肢が変更します。
  2. マップの下にある一覧を使用する。 選択しやすいように特定の大陸内で都市と国がグループ化されています。科学界のニーズに合うように、地理的ではないタイムゾーンも追加されている点に注意して下さい。
ご使用のシステムクロックが UTC を使用するよう設定するには、System clock uses UTC (システムクロックで UTC を使用) オプションを選択します。UTC は Universal Time, Coordinated (協定世界時) の略で、GMT(グリニッジ標準時)とも呼ばれます。他のタイムゾーンは UTC 時間にプラス/マイナスすることで割り出されます。
OK をクリックし変更を適用して、プログラムを終了します。

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

システムに Date/Time Properties ツールがインストールされていない場合や、X Window Server が実行されていない場合は、コマンドラインでシステムの日時を変更する必要があります。本項で説明する操作を行うには、スーパーユーザーとしてログインする必要がある点にご注意下さい:
~]$ su -
Password:

2.2.1. 日付と時刻の設定

date コマンドを使用すると、スーパーユーザーはシステムの日時を手動で設定できます。
  1. 現在の日付を変更する。ためには、シェルプロンプトで次の形式でコマンドを入力します。YYYY は 4 桁の年、MM は 2 桁の月、DD は 2 桁の日付に置き換えて下さい:
    ~]# date +%D -s YYYY-MM-DD
    例えば 2010 年 6 月 2 日と設定するには、以下のように入力します:
    ~]# date +%D -s 2010-06-02
  2. 現在の時刻を変更する。ためには、次のコマンドを使用します。HH は時間、MM は分、SSは秒を表し、すべて 2 桁で入力します:
    ~]# date +%T -s HH:MM:SS
    システムクロックが UTC を使用するように設定するには、次のオプションを追加します:
    ~]# date +%T -s HH:MM:SS -u
    例えば UTC を使用してシステムクロックを 11:26 PM に設定するには、以下のように入力します:
    ~]# date +%T -s 23:26:00 -u
現在の設定を確認するには、date を引数を付けずに入力します。

例2.1 システムの現在日時の表示

~]$ date
Wed Jun  2 11:58:48 CEST 2010

2.2.2. ネットワーク時刻プロトコルの設定

前述した手動設定とは対照的に、ネットワーク時刻プロトコル (NTP) でリモートサーバーとシステムクロックを同期することもできます。1 回限りの同期のみの場合は、ntpdate コマンドを使用します。
  1. 最初に、選択した NTP サーバーがアクセス可能か確認します:
    ~]# ntpdate -q server_address
    以下に例を示します。
    ~]# ntpdate -q 0.rhel.pool.ntp.org
  2. satisfactory サーバーを見つけたら、ntpdate コマンドの後に 1 つ以上のサーバーアドレスを指定して実行します。
    ~]# ntpdate server_address...
    たとえば、以下のようになります。
    ~]# ntpdate 0.rhel.pool.ntp.org 1.rhel.pool.ntp.org
    エラーメッセージが表示されない限り、システムの時刻は設定されているはずです。現在確認するには、「日付と時刻の設定」 に記載されているように、追加の引数を指定せずに date を入力します。
  3. ほとんどの場合、上記のステップで十分です。常に適切な時間を使用するためにシステムサービスが 1 つ以上必要な場合に限り、システムの起動時に ntpdate を実行できます。
    ~]# chkconfig ntpdate on
    システムサービスとその設定の詳細については、12章サービスおよびデーモン を参照して下さい。
    注記
    システムの起動時にタイムサーバーとの同期に失敗し続ける場合( /var/log/boot.log システムログに関連するエラーメッセージ)は、以下の行を /etc/sysconfig/network に追加します。
    NETWORKWAIT=1
ただし、ntpd デーモンを、システムの起動時に時刻を自動的に同期するように設定すると便利な方法です。
  1. vinano などのテキストエディターで NTP 設定ファイル /etc/ntp.conf を開くか、存在しない場合は新規のファイルを作成します。
    ~]# nano /etc/ntp.conf
  2. 次に、パブリック NTP サーバーの一覧を追加/編集します。Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 を使用している場合、このファイルには以下の行がすでに含まれているはずですが、必要に応じてそれらを自由に変更または拡張してください。
    server 0.rhel.pool.ntp.org iburst
    server 1.rhel.pool.ntp.org iburst
    server 2.rhel.pool.ntp.org iburst
    server 3.rhel.pool.ntp.org iburst
    
    各行の最後にある iburst ディレクティブは、初期同期を迅速化します。Red Hat Enterprise Linux 6.5 では、デフォルトで追加されます。以前のマイナーリリースからアップグレードし、/etc/ntp.conf ファイルを変更した場合には、Red Hat Enterprise Linux 6.5 へのアップグレードで新しいファイル /etc/ntp.conf.rpmnew が作成され、既存の /etc/ntp.conf ファイルは変更されません。
  3. サーバーの一覧での作業が完了したら、同じファイルで適切なパーミッションを設定し、ローカルホストのみに無制限アクセスを付与します:
    restrict default kod nomodify notrap nopeer noquery
    restrict -6 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict -6 ::1
  4. すべての変更を保存してエディターを終了し、NTP デーモンを再起動します。
    ~]# service ntpd restart
  5. ntpd が起動時に起動されていることを確認します。
    ~]# chkconfig ntpd on

第3章 ユーザーとグループの管理

3.1. ユーザーとグループの概要

ユーザーおよびグループの制御は、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux システム管理の中核となる要素です。システムのユーザーは、人間がいるか、ユーザー ID(UID)と呼ばれる一意の数値 ID で識別される特定のアプリケーションによって使用されるアカウントになります。グループ内のユーザーは、そのグループが所有するファイルの読み取り/書き込みパーミッション、実行パーミッション、実行パーミッション、読み取り/書き込み、実行パーミッション、または任意の組み合わせを指定できます。
Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux は、ファイルおよびディレクトリーの アクセス制御リスト (ACL)をサポートします。これにより、所有者外の特定ユーザーのパーミッションを設定できます。この機能の詳細は、『Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;Linux Red Hat Enterprise Linux 6nbsp;Linux Red Hat Enterprise Linux 6nbsp;6 ストレージ管理ガイド』 の「 アクセス制御リスト 」の章を参照してください。
グループは、共通の目的でユーザーをまとめる組織単位です。これは、そのグループが所有するファイルのパーミッションの読み取り、パーミッションの書き込み、またはパーミッションの実行が可能です。UID と同様に、各グループはグループ ID(GID)に関連付けられています。
注記
Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux は、システムユーザーおよびグループ用に 500 未満のユーザー ID とグループ ID を確保します。デフォルトでは、User Manager にはシステムユーザーは表示されません。予約されているユーザー ID およびグループ ID は、setup パッケージに記載されています。このドキュメントを表示するには、以下のコマンドを実行します。
cat /usr/share/doc/setup-2.8.14/uidgid
予約済みの ID は将来的に増大するため、予約されていない ID を 5,000 から削除することが推奨されます。新規ユーザーに割り当てる ID を 5,000 から始まるようにするには、/etc/login.defs ファイルの UID_MIN ディレクティブおよび GID_MIN ディレクティブを変更します。
[file contents truncated]
UID_MIN                  5000
[file contents truncated]
GID_MIN                  5000
[file contents truncated]
新規ユーザーおよびグループの ID を 5,000 から始まるようにした場合でも、システムが予約する ID は 500 を超えることは推奨されません。これにより、500 の制限を保持するシステムとの競合を避けることができます。
各ユーザーは、正確に 1 つのプライマリーグループのメンバーで、ゼロまたは複数の補助グループになります。デフォルトでは、ファイルが作成される場合、ファイルの所有者は作成者であり、ファイルのグループは作成者のプライマリーグループです。ユーザーは、新しいグループによって所有された後に、newgrp コマンドを使用してプライマリーグループであるグループを一時的に変更できます。補助グループは、このグループが所有する特定のユーザーセットとそのメンバーに対し、特定のファイルセットへのアクセスを付与します。
ファイルには、所有者、グループ、その他に対して読み取り、書き込み、実行のパーミッションが別々に割り当てられます。ファイルの所有者は root でのみ変更でき、アクセスパーミッションは root ユーザーとファイル所有者の両方が変更できます。
デフォルトでは、ファイルまたはディレクトリーは、その作成者によってのみ変更できます。新規に作成するファイルまたはディレクトリーに適用される権限を判断する設定は umask と呼ばれ、すべてのユーザーの場合は /etc/bashrc ファイル、または各ユーザーの ~/.bashrc で個別に設定できます。~/.bashrc の設定は、/etc/bashrc の設定を上書きします。また、umask コマンドは、シェルセッションの期間のデフォルトパーミッションを上書きします。
認証するには、ユーザーはパスワードを入力します。ハッシュ合計は、入力した文字列から生成され、ユーザーのパスワードのハッシュ合計と比較されます。ハッシュ合計が一致すると、ユーザーは正常に認証されます。
ユーザーパスワードのハッシュ合計は、/etc/shadow ファイルに保存されます。このファイルは root ユーザーのみが読み取り可能です。このファイルには、特定のアカウントのパスワードの変更およびポリシーに関する情報も保存されます。新規作成されたアカウントのデフォルト値は、/etc/login.defs ファイルおよび /etc/default/useradd ファイルに保存されます。Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 セキュリティーガイド では、ユーザーとグループのセキュリティー関連情報が説明されています。

3.2. ユーザーマネージャーアプリケーションを使用したユーザーの管理

User Manager アプリケーションを使用すると、グラフィカルユーザーインターフェースでローカルのユーザーおよびグループを表示、変更、追加、削除できます。

User Manager アプリケーションを起動するには、以下を実行します。

  • パネルから システム 管理ユーザーとグループ の順にクリックします。
  • または、シェルプロンプトで system-config-users を入力します。
注記
スーパーユーザー特権がない場合は、root で認証するよう求められます。

3.2.1. ユーザーの表示

ユーザーを表示する User Manager のメインウィンドウを表示するには、User Manager のツールバーから EditPreferences を選択します。システムユーザーを含む すべて のユーザーを表示するには、Hide system users and groups チェックボックスの選択を解除します。
ユーザー タブ では、ローカルユーザーの一覧と、ユーザー ID、プライマリーグループ、ホームディレクトリー、ログインシェル、およびフルネームに関する追加情報が表示されます。

図3.1 ユーザーの表示

ユーザーの表示
特定のユーザーやグループを検索したい場合は、フィルターの探索 フィールドに検索したい名前の最初の数文字を入力します。そして、 Enter を押すか フィルターの適用 ボタンをクリックします。また、いずれかのカラムのヘッダーをクリックするとそのカラムに従って項目を並び替えることもできます。

3.2.2. 新規ユーザーの追加

システムに追加する必要のある新規ユーザーがある場合は、以下の手順に従います。
  1. Add User ボタンをクリックします。
  2. 適切なフィールドにユーザー名とフル名を入力します。
  3. Password フィールドおよび Confirm Password フィールドにユーザーのパスワードを入力します。パスワードは 6 文字以上でなくてはなりません。
    注記
    安全上の理由から、辞書用語に基づかない長いパスワードを選択し、文字、数字、および特殊文字の組み合わせを使用します。
  4. Login Shell ドロップダウンリストからユーザーのログインシェルを選択するか、デフォルト値の /bin/bash を受け入れます。
  5. / home/ ユーザー / に新しいユーザーのホームディレクトリー を作成したくない場合は、ホームディレクトリーの作成 チェックボックスの選択を解除します。
    Home Directory テキストボックスに内容を編集して、このホームディレクトリーを変更することもできます。ホームディレクトリーが作成されると、デフォルトの設定ファイルが /etc/skel/ ディレクトリーからコピーされることに注意してください。
  6. 作成するユーザーと同じ名前の一意のグループが必要ない場合には、ユーザーのプライベート グループの作成 チェックボックスの選択を解除します。ユーザープライベートグループ(UPG)は、そのユーザーのみが属するユーザーアカウントに割り当てられたグループで、個別ユーザーのファイルパーミッションの管理に使用されます。
  7. Specify user ID manually を選択して、ユーザーのユーザー ID を指定します。このオプションが選択されていない場合は、次に 500 を超える利用可能なユーザー ID が新規ユーザーに割り当てられます。
  8. OK ボタンをクリックしてプロセスを完了します。
Add New User ダイアログボックスの設定内容を確認します。
パスワードの有効期限などの高度なユーザープロパティーを設定するには、ユーザーを追加した後にユーザーのプロパティーを変更します。

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

  1. ユーザー名をクリックして、ユーザーリストからユーザーを選択します。
  2. ツールバーから Properties をクリックするか、ドロップダウンメニューから FileProperties を選択します。

    図3.2 ユーザープロパティ

    ユーザープロパティ
  3. 設定に更新できるタブは 4 つあります。完了したら、OK ボタンをクリックして変更を保存します。

3.3. ユーザーマネージャーアプリケーションを使用したグループの管理

3.3.1. グループの表示

User Manager のメインウィンドウを表示してグループを表示するには、ツールバーから EditPreferences を選択します。すべて のグループを表示するには、Hide system users and groups チェックボックスの選択を解除します。
Groups タブには、以下の図に示すように、グループ ID とグループメンバーに関する情報を含むローカルグループの一覧が表示されます。

図3.3 グループの表示

グループの表示
特定のグループを検索するには、Search filter フィールドに名前の最初の数文字を 入力 し、Enter を押すか、Apply filter ボタンをクリックします。また、いずれかのカラムのヘッダーをクリックするとそのカラムに従って項目を並び替えることもできます。

3.3.2. 新規グループの追加

システムに追加する必要のある新しいグループがある場合は、以下の手順に従います。
  1. User Manager ツールバーから Add Group を選択します。

    図3.4 新規グループ

    新規グループ
  2. 新規グループの名前を入力します。
  3. 指定したグループ ID を手作業 でチェックして、新しいグループのグループ ID(GID)を指定 します。
  4. GID を選択します。Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux は、システムグループ用に 500 未満のグループ ID を確保することに注意してください。
  5. OK をクリックしてグループを作成します。新しいグループがグループ一覧に表示されます。

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

  1. 名前をクリックして、グループリストからグループを選択します。
  2. ツールバーから Properties をクリックするか、ドロップダウンメニューから FileProperties を選択します。

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

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

3.4. コマンドラインツールを使用したユーザーの管理

コマンドラインでユーザーを管理する場合は、useraddusermoduserdel、または passwd のコマンドが使用されます。影響を受けるファイルには、ユーザーアカウント情報を格納する /etc/passwd と、セキュアなユーザーアカウント情報を格納する /etc/shadow が含まれます。

3.4.1. ユーザーの作成

useradd ユーティリティーは、新しいユーザーを作成して、システムに追加します。以下の短い手順に従って、UID でデフォルトのユーザーアカウントを作成し、デフォルトユーザー設定を保存するホームディレクトリー( /home/username/ )を作成し、デフォルトのシェルを /bin/bash に設定します。
  1. ユーザー 名を任意の名前で置き換える root として、シェルプロンプトで以下のコマンドを実行します。
    useradd username
  2. パスワードのロック解除を行い、アカウントのロックを解除します。プログラムが要求されたら、パスワードを 2 回入力します。
    passwd

例3.1 デフォルト設定を使用したユーザーの作成

~]# useradd robert
~]# passwd robert
Changing password for user robert
New password: 
Re-type new password:
passwd: all authentication tokens updated successfully.
useradd robert コマンドを実行すると、robert という名前のアカウントが作成されます。cat /etc/passwd を実行して /etc/passwd ファイルの内容を表示する場合は、表示された行から新規ユーザーの詳細を確認できます。
robert:x:502:502::/home/robert:/bin/bash
robert には 502 という UID が割り当てられました。これは、0 から 499 までのデフォルトの UID 値がシステムアカウント用に予約されるルールを反映しています。GID、User Private Group のグループ ID は UID に等しくなります。ホームディレクトリーは /home/robert に、ログインシェルを /bin/bash に設定します。X の文字 、シャドウパスワードが使用され、ハッシュ化されたパスワードが /etc/shadow に保存されることを示唆します。
アカウントの作成時にユーザーの基本デフォルト設定を変更する場合は、useradd の動作を変更するコマンドラインオプションのリストから選択できます(オプションの一覧は、man ページの useradd(8)を参照してください)。コマンドの基本的な構文で分かるように、オプションを 1 つ以上追加できます。
useradd [option(s)] username
システム管理者は、-c オプションを使用して、作成時にユーザーのフルネームなどを指定できます。-c の後に文字列を付けて、ユーザーにコメントを追加します。
useradd -c "string" username

例3.2 ユーザー作成時のユーザーのフルネームの指定

~]# useradd -c "Robert Smith" robert
~]# cat /etc/passwd
robert:x:502:502:Robert Smith:/home/robert:/bin/bash
ユーザー名 robert でユーザーアカウントが作成されている。ログイン名およびフルネーム Robert Smith で作成されていること。
ユーザーアカウントにデフォルトの /home/ ユーザー/ ディレクトリーを作成したくない場合は、その代わりに別のユーザー名を設定します。以下のコマンドを実行します。
useradd -d home_directory

例3.3 デフォルト以外のホームディレクトリーでのユーザーの追加

~]# useradd -d /home/dir_1 robert
robert のホームディレクトリーはデフォルトの /home/robert ではなく、/home/dir_1/ です
ユーザーのホームディレクトリーを作成したくない場合は、useradd-M オプションを指定して実行できます。ただし、このようなユーザーが起動したばかりのシステムにログインし、ホームディレクトリーが存在しない場合は、ログインディレクトリーは root ディレクトリーになります。このようなユーザーが su コマンドを使用してシステムにログインすると、ログインディレクトリーは以前のユーザーの現在のディレクトリーになります。
useradd -M username
新規ユーザーの作成時にディレクトリーコンテンツを /home ディレクトリーにコピーする必要がある場合は、-m オプションと -k オプションの後にパスを指定して実行します。

例3.4 ホームディレクトリーへのコンテンツのコピー時のユーザーの作成

以下のコマンドは、/dir_1 という名前のディレクトリーの内容を /home/jane にコピーします。これは、新しいユーザー jane のデフォルトのホームディレクトリーです。
~]# useradd -m -k /dir_1 jane
システム管理者は、一時的なアカウントを作成する必要がある場合があります。useradd コマンドを使用すると、特定の期間だけアカウントを作成し、特定日に無効にすることができます。特定のアカウントの削除にセキュリティー上のリスクがあるため、これは特に便利な設定です。このため、-e オプションは、YYYY-MM-DD 形式で指定された expire_date とともに使用されます。
注記
アカウントの有効期限とパスワードの有効期限を混同しないようにしてください。アカウントの有効期限は特定の日付で、アカウントが存在しなくなったため、アカウントにログインできなくなります。パスワードの有効期限、パスワード作成またはパスワード変更の最大有効期間と日付は、パスワードを使用してログインできない場合は日付になります(ただし、SSH キーを使用してログインする場合など)。
useradd -e YYYY-MM-DD username

例3.5 アカウントの有効期限の設定

~]# useradd -e 2015-11-05 emily
このアカウントは今後作成され、2015 年 11 月 5 日に自動的に無効になります。
ユーザーのログインシェルのデフォルトは /bin/bash ですが、-s オプションで bash、ksh、csh、tsh とは異なるシェルに変更できます。
useradd -s login_shell username

例3.6 デフォルト以外のシェルでユーザーの追加

~]# useradd -s /bin/ksh robert
このコマンドは、/bin/ksh シェルを持つ robert ユーザーを作成します。
-r オプションは、一部の root 権限ではなく、管理者が使用するアカウントとなるシステムアカウントを作成します。このようなアカウントは、/etc/login.defs で定義された UID_MIN の値よりも低い値を持ちます(通常は通常のユーザーの場合 500 以上)。
useradd -r username

3.4.2. 新規ユーザーのグループへの割り当て

useradd コマンドは、新しいユーザーがシステムに追加され、ユーザーの名前の後にグループに名前を付けるたびに、ユーザー プライベート グループ(UPG、ユーザーのみが属するユーザーアカウントに割り当てられたグループ)を作成します。たとえば、アカウントの robert が作成されると、robert という名前の UPG が同時に作成されます。そのメンバーは、ユーザー robert だけです。
何らかの理由でユーザープライベートグループ を作成し たくない場合は、useradd コマンドに以下のオプションを付けて実行します。
useradd -N username
UPG を自動的に作成したり、何も作成したりするのではなく、-g オプションおよび -G オプションでユーザーのグループメンバーシップを指定できます。-g オプションはプライマリーグループメンバーシップを指定しますが、-G はユーザーも含まれる補助グループを参照します。指定するグループ名がシステムにすでに存在している必要があります。

例3.7 グループへのユーザーの追加

~]# useradd -g "friends" -G "family,schoolmates" emily
useradd -g "friends" -G "family,schoolmates" emily コマンドは、ユーザーを作成しますが、's primary group は、-g オプションで指定したように friends に設定されます。Emily は、 補助グループ ファミリー授業におけるグループメンバーでもあります
ユーザーがすでに存在し、特定の補助グループに追加する場合は、-G オプションを指定して usermod コマンドを使用し、コンマで区切られたグループの一覧(スペースなし)を使用します。
usermod -G group_1,group_2,group_3

3.4.3. ユーザーの認証の更新

基本的な useradd username コマンドを実行すると、パスワードは自動的に期限切れになりません( /etc/shadow ファイルを参照)。
これを変更する場合は、passwd を使用して /etc/passwd ファイルを管理する標準ユーティリティーを使用します。passwd コマンドの構文は、以下のようになります。
passwd option(s) username
たとえば、指定したアカウントをロックできます。このロックは、暗号化された文字列を感嘆符(!)のプレフィックスを付けて無効な文字列にレンダリングすることで、暗号化されたパスワードを無効な文字列にレンダリングすることで実行されます。後でアカウントのロックを解除する理由を見つけた場合は、passwd にロックのためのリバース操作があります。これらの 2 つの操作を実行できるのは root のみです。
passwd -l username
passwd -u username

例3.8 ユーザーパスワードのロック解除

~]# passwd -l robert
Locking password for user robert.
passwd: Success
~]# passwd -u robert
passwd: Warning: unlocked password would be empty
passwd: Unsafe operation (use -f to force)
最初は、-l オプションが robert のアカウントパスワードを正常にロックします。ただし、 passwd -u コマンドを実行すると、パスワードレスアカウントの作成を拒否するため、パスワードのロックを解除しません。
アカウントのパスワードの有効期限が切れるようにするには、-e オプションを指定して passwd を実行します。ユーザーは、次回のログイン時にパスワードの変更を強制します。
passwd -e username
パスワードの有効期間が重要であるため、パスワードの変更の最小時間を設定することは、ユーザーが実際にパスワードを変更するのに便利です。システム管理者は、最小( -n オプション)および最大( -x オプション)の有効期間を設定できます。パスワードの有効期限についてユーザーに通知するには、-w オプションを使用します。これらのオプションはすべて日数とともに指定する必要があり、root でのみ実行できます。

例3.9 ユーザーパスワードのデータの調整

~]# passwd -n 10 -x 60 -w 3 jane
上記のコマンドでは、最小パスワード有効期間を 10 日間、パスワードの最大有効期間を 60 日に設定し、自分のパスワードが 3 日後に期限切れになる前に警告を受信し始めます。
後で、パスワード設定を記憶できない場合は、-S オプションを使用して、特定のアカウントのパスワードステータスを把握するための短い情報を出力します。
~]# passwd -S jane
jane LK 2014-07-22 10 60 3 -1 (Password locked.)
また、useradd コマンドを使用して、パスワードの期限が切れるまでの日数を設定することもできます。これにより、アカウントが完全に無効になります。値が 0 の場合は、パスワードの期限が切れるとすぐにアカウントが無効になり、値が - 1 の場合はこの機能が無効になります。つまり、ユーザーはパスワードの期限が切れたときにパスワードを変更する必要があります。-f オプションは、アカウントが無効になるまで、パスワードの期限が切れてから日数を指定するために使用されます(ただし、システム管理者がブロック解除することもできます)。
useradd -f number-of-days username
passwd コマンドの詳細は、man ページの passwd(1)を参照してください。

3.4.4. ユーザー設定の変更

ユーザーがすでに存在し、現在のオプションのいずれかを指定する必要がある場合は、usermod コマンドを使用します。usermod を使用するロジックは、useradd と、その構文と同じです。
usermod option(s) username
ユーザーのユーザー名を変更する必要がある場合は、-l オプションを新しいユーザー名(または login)で使用します。

例3.10 ユーザーのログインの変更

~]# usermod -l "emily-smith" emily
-l オプションは、ユーザー名をログインから新しいログインに変更します( emily -smith )。それ以外は何も変更しません。特に、新しいユーザー名を反映するために手動で変更した場合を除き、ホームディレクトリー名(/home/emily)は変わりません。
同様に、ユーザーの UID またはユーザーのホームディレクトリーを変更できます。以下に例を示します。
注記
システムの指定された UID が所有するすべてのファイルを検索して、所有者を変更します。UID を参照するアクセス制御リスト(ACL)で同じことを行います。古い UID で実行中のプロセスがないことを確認することが推奨されます。

例3.11 ユーザーの UID およびホームディレクトリーの変更

~]# usermod -a -u 699 -d /home/dir_2 robert
-a -u オプションおよび -d オプションを指定すると、ユーザー robert の設定が変更されます。これで、ID は 501 ではなく 699 で、ホームディレクトリーは /home/robert ではなくなりましたが、/home/dir_2 はなくなりました。
usermod コマンドを使用すると、ユーザーのホームディレクトリーの内容を新しい場所に移動するか、パスワードをロックしてアカウントをロックすることもできます。

例3.12 ユーザーの変更

~]# usermod -m -d /home/jane -L jane
このサンプルコマンドでは、一緒に使用する -m オプションおよび -d オプションは、jane のホームディレクトリーのコンテンツを /home/dir_3 ディレクトリーに移動します。-L オプションは、パスワードをロックして jane のアカウントへのアクセスをロックします。
usermod コマンドで使用するオプションの一覧は、man ページの usermod (8)か、コマンドラインで usermod --help を実行します。

3.4.5. ユーザーの削除

システムからユーザーアカウントを削除するには、root でコマンドラインで userdel コマンドを使用します。
userdel username
userdel-r オプションを組み合わせると、ユーザーのホームディレクトリー内にあるファイルがホームディレクトリー自体と、ユーザーのメールスプールと共に削除されます。他のファイルシステムにあるファイルは、手動で検索して削除する必要があります。
userdel -r username
注記
-r オプションは比較的安全であるため、-f と比較すると、ユーザーがログインしている場合でもユーザーアカウントを強制的に削除することが推奨されます。

3.4.6. 機密ユーザー情報の表示

システムでユーザーとグループを管理する場合は、システム上の設定とアクティビティーを監視するための適切なツールが必要です。Red Hat Enterprise Linux 6 は、lslogins コマンドラインユーティリティーを提供します。このユーティリティーは、ユーザーまたはグループの包括的な概要を提供します。これは、ユーザーまたはグループの設定だけでなく、システム上のアクティビティーも対象です。
lslogins の一般的な構文は以下のとおりです。
lslogins [OPTIONS]
OPTIONS は、1 つ以上の利用可能なオプションとその関連パラメーターになります。利用可能なオプションとその使用の完全なリストは、lslogins(1)の man ページ、または lslogins --help コマンドの出力を参照してください。
lslogins ユーティリティーは、選択したオプションに基づいて、さまざまな形式で汎用情報を提供します。以下の例では、最も基本的な組み合わせと、最も便利な組み合わせを紹介します。
オプションを指定せずに lslogins コマンドを実行すると、システム上のすべてのシステムおよびユーザーアカウントのデフォルト情報が表示されます。具体的には、UID、ユーザー名、および GECOS 情報、およびシステムへの最後にログインしたユーザーの情報、およびパスワードによるロックまたはログインが無効になっているかどうかなどです。

例3.13 システムにあるすべてのアカウントに関する基本情報の表示

~]# lslogins
  UID USER          PWD-LOCK PWD-DENY  LAST-LOGIN GECOS
    0 root                 0        0             root
    1 bin                  0        1             bin
    2 daemon               0        1             daemon
    3 adm                  0        1             adm
    4 lp                   0        1             lp
    5 sync                 0        1             sync
    6 shutdown             0        1 Jul21/16:20 shutdown
    7 halt                 0        1             halt
    8 mail                 0        1             mail
   10 uucp                 0        1             uucp
   11 operator             0        1             operator
   12 games                0        1             games
   13 gopher               0        1             gopher
   14 ftp                  0        1             FTP User
   29 rpcuser              0        1             RPC Service User
   32 rpc                  0        1             Rpcbind Daemon
   38 ntp                  0        1             
   42 gdm                  0        1             
   48 apache               0        1             Apache
   68 haldaemon            0        1             HAL daemon
   69 vcsa                 0        1             virtual console memory owner
   72 tcpdump              0        1             
   74 sshd                 0        1             Privilege-separated SSH
   81 dbus                 0        1             System message bus
   89 postfix              0        1             
   99 nobody               0        1             Nobody
  113 usbmuxd              0        1             usbmuxd user
  170 avahi-autoipd        0        1             Avahi IPv4LL Stack
  173 abrt                 0        1             
  497 pulse                0        1             PulseAudio System Daemon
  498 saslauth             0        1             Saslauthd user
  499 rtkit                0        1             RealtimeKit
  500 jsmith               0        0    10:56:12 John Smith
  501 jdoe                 0        0    12:13:53 John Doe
  502 esmith               0        0    12:59:05 Emily Smith
  503 jeyre                0        0    12:22:14 Jane Eyre
65534 nfsnobody            0        1             Anonymous NFS User
単一ユーザーに関する詳細情報を表示するには、lslogins LOGIN コマンドを実行します。ここで、LOGIN は UID またはユーザー名になります。以下の例は、John Doe のアカウントと、システム上のアクティビティーに関する詳細情報を表示します。

例3.14 1 つのアカウントに関する詳細情報の表示

~]# lslogins jdoe
Username:                           jdoe                                
UID:                                501                                 
Gecos field:                        John Doe                            
Home directory:                     /home/jdoe                          
Shell:                              /bin/bash                           
No login:                           no                                  
Password is locked:                 no                                  
Password no required:               no                                  
Login by password disabled:         no                                  
Primary group:                      jdoe                                
GID:                                501                                 
Supplementary groups:               users                               
Supplementary group IDs:            100                                 
Last login:                         12:13:53                            
Last terminal:                      pts/3                               
Last hostname:                      192.168.100.1                       
Hushed:                             no                                  
Password expiration warn interval:  7                                   
Password changed:                   Aug01/02:00                            
Maximal change time:                99999                               
Password expiration:                Sep01/02:00                         
Selinux context:                    unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
--logins=LOGIN オプションを使用すると、UID またはユーザー名の一覧として指定されたアカウントのグループに関する情報を表示できます。--output=COLUMNS オプションの指定。COLUMNS は利用可能な出力パラメーターのリストであるため、lslogins コマンドの出力をカスタマイズできます。たとえば、以下のコマンドは、ユーザー root、jsmith、jdoe、および esmith のログインアクティビティーを表示します。

例3.15 ユーザーのグループに関する特定情報の表示

~]# lslogins --logins=0,500,jdoe,esmith \
> --output=UID,USER,LAST-LOGIN,LAST-TTY,FAILED-LOGIN,FAILED-TTY
UID USER   LAST-LOGIN LAST-TTY FAILED-LOGIN FAILED-TTY
  0 root                                    
500 jsmith   10:56:12 pts/2                 
501 jdoe     12:13:53 pts/3                 
502 esmith   15:46:16 pts/3    15:46:09     ssh:notty
lslogins ユーティリティーは、システムとユーザーアカウントを区別します。クエリー内のシステムアカウントに対応するには、--system-accs オプションを使用します。ユーザーアカウントに対応するには、--user-accs を使用します。たとえば、以下のコマンドは、すべてのユーザーアカウントの補助グループとパスワードの有効期限に関する情報を表示します。

例3.16 すべてのユーザーアカウントの補助グループとパスワードの有効期限に関する情報の表示

~]# lslogins --user-accs --supp-groups --acc-expiration
  UID USER        GID GROUP     SUPP-GIDS SUPP-GROUPS PWD-WARN PWD-MIN PWD-MAX PWD-CHANGE
PWD-EXPIR
    0 root          0 root                                   7           99999 Jul21/02:00
  500 jsmith      500 jsmith    1000,100  staff,users        7           99999 Jul21/02:00
  501 jdoe        501 jdoe      100       users              7           99999 Aug01/02:00
Sep01/02:00
  502 esmith      502 esmith    100       users              7           99999 Aug01/02:00
  503 jeyre       503 jeyre     1000,100  staff,users        7           99999 Jul28/02:00
Sep01/02:00
65534 nfsnobody 65534 nfsnobody                                                Jul21/02:00
ユーザーのニーズに従って lslogins コマンドの出力をフォーマットする機能により、lslogins はスクリプトでの使用や自動処理に理想的なツールになります。たとえば、以下のコマンドは最後のログインの日時を表す単一の文字列を返します。この文字列は、さらなる処理のために別のユーティリティーへの入力として渡すことができます。

例3.17 見出しのない単一の情報の表示

~]# lslogins --logins=jsmith --output=LAST-LOGIN --time-format=iso | tail -1
2014-08-06T10:56:12+0200

3.5. コマンドラインツールを使用したグループの管理

グループは、異なるユーザー間で連携できるようにする便利なツールです。groupaddgroupmodgroupdelgpasswd などのグループを操作するコマンドのセットがあります。影響を受けるファイルには、グループのアカウント情報を保存する /etc/group と、セキュアなグループのアカウント情報を格納する /etc/gshadow が含まれます。

3.5.1. グループの作成

デフォルト設定で新しいグループをシステムに追加するには、rootgroupadd コマンドを実行します。
groupadd group_name

例3.18 デフォルト設定を使用したグループの作成

~]# groupadd friends
groupadd コマンドは、friends という新しいグループを作成します。グループの詳細は、/etc/group ファイルの新たに作成された行を参照してください。
classmates:x:30005:
自動的に、グループ friends は一意の GID(グループ ID)が 30005 にアタッチされ、どのユーザーも接続されません。必要に応じて、gpasswd groupname を実行してグループのパスワードを設定できます。
または、特定の設定でコマンドオプションを追加することもできます。
groupadd option(s) groupname
たとえば、グループの作成時にグループの ID(GID)の数値を指定する場合は、-g オプションを指定して groupadd コマンドを実行します。この値は固有で( -o オプションを使用しない限り)一意でなければならず、値は負の値ではない必要があることに注意してください。
groupadd -g GID

例3.19 GID が指定されたグループの作成

以下のコマンドは schoolmates という名前のグループを作成し、そのグループに 60002 の GID を設定します。
~]# groupadd -g 60002 schoolmates
-g および GID がすでに存在する場合、groupadd は、既存の GID を持つ別のグループの作成を拒否します。回避策として、groupadd-f オプションを使用してグループが作成されますが、別の GID を使用します。
groupadd -f GID
-r オプションを groupadd コマンドにアタッチして、システムグループを作成することもできます。システムグループは、実際には 999 の範囲内で 1 から 499 に割り当てられることを意味します。
groupadd -r group_name
groupadd の詳細は、man ページの groupadd (8)を参照してください。

3.5.2. グループへのユーザーのアタッチ

既存ユーザーを named グループに追加する場合は、gpasswd コマンドを使用できます。
gpasswd -a username which_group_to_edit
named グループからユーザーを削除するには、次のコマンドを実行します。
gpasswd -d username which_group_to_edit
グループメンバーの一覧を設定するには、--members オプションの後にユーザー名をコンマで区切って指定します。
gpasswd --members username_1,username_2 which_group_to_edit

3.5.3. グループ認証の更新

gpasswd コマンドは、/etc/group ファイルおよび /etc/gshadow ファイルを管理します。このコマンドは、グループ管理者が実行した場合に限り機能することに注意してください。
グループ管理者のユーザーグループ管理者は、ユーザーを追加および削除したり、グループパスワードを設定したり、削除したりすることができます。グループには、複数のグループ管理者を指定できます。root ユーザーは、gpasswd -A users groupname を使用してグループ管理者を追加できます。ここで、ユーザー は、グループ管理者にしたい既存ユーザーのコンマ区切りの一覧です(コンマの間にスペースは一切ありません)。
グループのパスワードを変更する場合は、関連するグループ名を指定して gpasswd コマンドを実行します。グループの新しいパスワードを入力するように求められます。
gpasswd groupname

例3.20 グループパスワードの変更

~]# gpasswd crowd
Changing password for group crowd
New password:
Re-enter new password:
グループ crowd のパスワードが変更されました。
-r オプションを使用して、named グループからパスワードを削除することもできます。
gpasswd -r schoolmates

3.5.4. グループ設定の変更

グループが存在し、現在のオプションのいずれかを指定する必要がある場合は、groupmod コマンドを使用します。groupmod を使用するロジックは groupadd と、その構文と同じです。
groupmod option(s) groupname
指定したグループのグループ ID を変更するには、以下のように groupmod コマンドを使用します。
groupmod -g GID_NEW which_group_to_edit
注記
システムで指定の GID が所有するすべてのファイルを検索して、所有者を変更します。GID を参照するアクセス制御リスト(ACL)で同じことを行います。古い GID で実行しているため、実行中のプロセスを確認することが推奨されます。
グループの名前を変更するには、コマンドラインで次のコマンドを実行します。グループの名前は、GROUP_NAME から NEW_ GROUP_NAME 名に変更されます。
groupmod -n new_groupname groupname

例3.21 グループ名の変更

以下のコマンドは、グループ schoolmates の名前を crowd に変更します。
~]# groupmod -n crowd schoolmates

3.5.5. グループの削除

groupdel コマンドは、システムアカウントファイルを変更し、グループを表示するすべてのエントリーを削除します。このコマンドを実行すると、名前付きグループが存在する必要があります。
groupdel groupname

3.6. その他のリソース

ユーザーとグループの管理に関する詳細情報については、以下のリソースを参照して下さい。

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

ユーザーおよびグループの管理に使用する各種ユーティリティーの詳細情報は、以下の man ページを参照してください。
  • chage(1) — パスワードエージングのポリシーとアカウントの有効期限を修正するコマンドです。
  • gpasswd(1)- /etc/group ファイルを管理するコマンドです。
  • groupadd(8) — グループを追加するコマンドです。
  • grpck(8): /etc/group ファイルを検証するコマンドです。
  • groupdel(8) — グループを削除するコマンドです。
  • groupmod(8) — グループのメンバーシップを修正するコマンドです。
  • pwck(8): /etc/passwd ファイルおよび /etc/shadow ファイルを検証するコマンド。
  • pwconv(8) — 通常のパスワードをシャドウパスワードに変換するツールです。
  • pwunconv(8) — シャドウパスワードを通常のパスワードに変換するツールです。
  • useradd(8) — ユーザーを追加するコマンドです。
  • userdel(8) — ユーザーを削除するコマンドです。
  • usermod(8) — ユーザーを修正するコマンドです。
関連する設定ファイルの詳細は、以下をご覧ください。
  • group(5) — システムのグループ情報を含むファイルです。
  • passwd(5) — システムのユーザー情報を含むファイルです。
  • shadow(5) — システムのパスワードとアカウントの有効期限に関する情報を含むファイルです。ワードおよびアカウントの有効期限情報を含むファイル。
  • login.defs(5): シャドウパスワードスイート設定を含むファイルです。
  • useradd(8): /etc/default/useradd の場合は、man ページの「Changing the default values」セクションを参照してください。

第4章 権限の取得

システム管理者は (ユーザーも時には) 管理者アクセスでタスクを実行する必要があります。システムに root としてアクセスすることは危険を伴う可能性があり、システムおよびデータの著しい破損につながる場合もあります。本章では、su および sudo プログラムを使用して管理者権限を取得する方法を説明します。これらのプログラムを使うと、特定のユーザーが高レベルの制御およびシステムセキュリティーを維持しつつ、通常は root ユーザーしかできないタスクを実行することができます。
管理コントロール、潜在的な危険、および権限アクセスの不適切な使用を防ぐ方法についての詳細は、『Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 セキュリティーガイド』 を参照してください。

4.1. su コマンド

ユーザーが su コマンドを実行すると、root パスワードが要求されます。認証されると root シェルプロンプトが表示されます。
su コマンドでログインすると、そのユーザーは root ユーザーと なり、システムへの絶対管理アクセスを持つことになります。[1].さらに、ユーザーが root になったら、パスワードを求められることなく、su コマンドを使用してシステム上の他のユーザーに変更を加えることができます。
このプログラムは非常に強力なので、組織内の管理者はこのコマンドにアクセスできるユーザーを制限してください。
最も簡単な方法は、wheel と呼ばれる特別な管理グループにユーザーを追加することです。これを実行するには、以下のコマンドを root で入力します。
~]# usermod -a -G wheel username
このコマンドで、username を、wheel グループに追加するユーザー名に置き換えます。
また、User Manager を使用して以下のようにグループメンバーシップを変更することもできます。この手順を実行するには、管理者権限が必要なことに注意してください。
  1. パネル上の システム メニューをクリックして 管理 から ユーザーとグループ をクリックして User Manager を表示させます。または、シェルプロンプトで system-config-users コマンドを入力します。
  2. ユーザー タブをクリックして、ユーザーリストの中から必要なユーザーを選択します。
  3. ツールバーの 設定 をクリックして、ユーザー設定のダイアログボックスを表示させます (または ファイル メニューで 設定 を選択します) 。
  4. グループ タブをクリックし、wheel グループのチェックボックスにチェックマークを付けて OK をクリックします。
ユーザーマネージャーの詳細は、「ユーザーマネージャーアプリケーションを使用したユーザーの管理」 を参照 てください。
wheel グループにユーザーを追加したら、この特定のユーザーにのみ su コマンドの使用を許可することが推奨されます。これを行うには、su:/etc/pam.d/su の PAM 設定ファイルを編集する必要があります。このファイルをテキストエディターで開き、以下の行からコメント (#) を削除します。
#auth           required        pam_wheel.so use_uid
この変更により、wheel の管理グループのメンバーのみが、su コマンドを使用して別のユーザーに切り換えることができるようになります。
注記
root ユーザーは、デフォルトで wheel グループに含まれます。

4.2. sudo コマンド

ユーザーに管理アクセスを付与する別のアプローチとして sudo コマンドを利用できます。信頼されたユーザーが、管理コマンドの前に sudo を付けると、それらは 独自 のパスワードを要求します。ユーザーが認証され、コマンドが許可されると、管理コマンドは root 権限で実行されているかのように実行されます。
sudo コマンドの基本的なフォーマットは、以下のとおりです。
sudo <command>
上記の例では、& lt;command& gt; は、通常、mount などの root ユーザー用に予約されているコマンドに置き換えられます。
sudo コマンドでは、ハイレベルの柔軟性が可能になります。たとえば、/etc/sudoers 設定ファイルに一覧表示されているユーザーのみが sudo コマンドを使用することができ、root シェルではなく、その ユーザーの シェルでコマンドが実行されます。これは、Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;Linux 『Red Hat Enterprise Linux 6nbsp;6 セキュリティーガイド』 に示されるように、root シェルを完全に無効にできることを意味します。
sudo を使用した正常な認証のログはすべて /var/log/messages ファイルに記録され、このコマンドを実行したユーザー名で実行されたコマンドは /var/log/secure ファイルに記録されます。追加のロギングが必要な場合は、以下の行を /etc/pam.d/system-auth ファイルに追加して、pam_tty_audit モジュールを使用して、指定したユーザーの TTY 監査を有効にします。
session required pam_tty_audit.so disable=<pattern> enable=<pattern>
pattern は、オプションでグロブを使用し、ユーザーのコンマ区切りリストを表します。例えば、以下の設定は、root ユーザーのTTY 監査を有効にし、その他のユーザーについては無効にします。
session required pam_tty_audit.so disable=* enable=root
sudo コマンドのもう 1 つの利点は、管理者がそれぞれのニーズに応じて特定のコマンドへのアクセスを管理者が許可できることです。
管理者が sudo 設定ファイル /etc/sudoers を編集する場合は、visudo コマンドを使用する必要があります。
他のユーザーに完全な管理権限を付与するには、visudo と入力し、ユーザー権限の指定セクションに以下のような行を追加します。
juan ALL=(ALL) ALL
この例では、ユーザー juan は、任意のホストから sudo を使用し、任意のコマンドを実行できます。
以下の例では、sudo を設定する際に可能な粒度を示しています。
%users localhost=/sbin/shutdown -h now
この例では、コンソールから実行した限り、すべてのユーザーがコマンド /sbin/shutdown -h now を実行できることを示しています。
sudoers の man ページには、このファイルのオプションの詳細なリストが記載されています。
重要
sudo コマンドの使用時には、潜在的なリスクがいくつか存在することを覚えておく必要があります。上記のように visudo を使用して /etc/sudoers 設定ファイルを編集することで回避できます。/etc/sudoers ファイルをデフォルトの状態にしておくと、wheel グループのすべてのユーザーが無制限の root アクセスを許可します。
  • デフォルトでは、sudo は sudoer のパスワードを 5 分間保存します。この間はコマンドを続けて使用しても、ユーザーはパスワードを要求されません。このため、ユーザーがログイン状態のままワークステーションを離れたりロックしない状態にしておくと、攻撃者に悪用されかねません。この動作は、以下の行を /etc/sudoers ファイルに追加することで変更できます。
    Defaults    timestamp_timeout=<value>
    <value> には、指定するタイムアウトの分数を入れます。< value> を 0 に設定すると、sudo は毎回パスワードを要求します。
  • sudoer のアカウントが侵害されると、攻撃者は sudo を使用して管理権限のある新たなシェルを開くことができます。
    sudo /bin/bash
    この方法や同様の方法で root として新しいシェルを開くと、/etc/sudoers ファイルで指定されたタイムアウト時間を無視し、新たに開かれたセッションが閉じられるまで攻撃者に sudo のパスワード入力を要求することがありません。

4.3. その他のリソース

ユーザーに管理者権限を与えるプログラムは潜在的なセキュリティーリスクでありますが、セキュリティーの説明は本ガイドの対象外となります。このため、セキュリティーや権限のアクセスに関する情報に関しては、以下に挙げるリソースを参照してください。

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

  • su(1)- su の man ページには、このコマンドで利用可能なオプションの情報があります。
  • sudo (8): sudo の man ページには、このコマンドの動作をカスタマイズするためのオプションの一覧と、このコマンドの詳細な説明が含まれています。
  • pam(8) - man ページでは、 Linux 向け Pluggable Authentication Modules の使用方法が説明されています。

オンラインドキュメント



[1] このアクセスは、SELinux の制限が有効な場合は、この制限対象となります。

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

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

5.1. root 以外のユーザーのコンソールプログラムアクセスの無効化

root 以外のユーザーは、/etc/security/console.apps/ ディレクトリー内のプログラムへのコンソールアクセスを拒否することができます。これらのプログラムを一覧表示するには、以下のコマンドを実行します。
~]$ ls /etc/security/console.apps
abrt-cli-root
config-util
eject
halt
poweroff
reboot
rhn_register
setup
subscription-manager
subscription-manager-gui
system-config-network
system-config-network-cmd
xserver
これらのプログラムごとに、プログラムの PAM( Pluggable Authentication Module )設定ファイルを使用してコンソールアクセス拒否を設定できます。PAM とその使用方法は、『Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;Linux Red Hat Enterprise Linux 6nbsp;6 『Managing Single Sign-On and Smart Cards』 』の「 Pluggable Authentication Modules 」の章を参照してください。
/etc/security/console.apps/ 内の各プログラムの PAM 設定ファイルは、/etc/pam.d/ ディレクトリーにあり、プログラムと同じ名前が付けられます。このファイルを使用して、ユーザーが root でない場合、プログラムへのアクセスを拒否するように PAM を設定できます。これを行うには、最初にコメント解除された行 auth requisite pam_deny.so の直後に auth sufficient pam_rootok.so 行を挿入します。

例5.1 再起動プログラムへのアクセスの無効化

/etc/security/console.apps/reboot への root 以外のコンソールアクセスを無効にするには、auth requisite pam_deny.so 行 を /etc/pam.d/reboot PAM 設定ファイルに挿入します。
#%PAM-1.0
auth       sufficient   pam_rootok.so
auth        requisite   pam_deny.so
auth       required     pam_console.so
#auth       include     system-auth
account    required     pam_permit.so
この設定では、reboot ユーティリティーへの root 以外のアクセスがすべて無効になります。
さらに、/etc/security/console.apps/ の複数のプログラムは、/etc/pam.d/config-util 設定ファイルから PAM 設定を部分的に派生します。これにより、/etc/pam.d/config-util を編集して、これらすべてのプログラムの設定を一度に変更できます。これらのプログラムをすべて検索するには、config-util ファイルを参照する PAM 設定ファイルを検索します。
~]# grep -l "config-util" /etc/pam.d/*
/etc/pam.d/abrt-cli-root
/etc/pam.d/rhn_register
/etc/pam.d/subscription-manager
/etc/pam.d/subscription-manager-gui
/etc/pam.d/system-config-network
/etc/pam.d/system-config-network-cmd
上記のようにコンソールプログラムアクセスを無効にすると、コンソールがセキュリティー保護されている環境では便利です。セキュリティー対策には、BIOS およびブートローダーのパスワード保護、Ctrl+Alt+Delete の操作で再起動の無効化、電源およびリセットスイッチの無効化などが含まれる場合があります。このような場合、デフォルトでコンソールからアクセス可能なプログラム、電源オフ、 起動 など のプログラムへの通常のユーザーのアクセス権を制限することができます。

5.2. Ctrl+Alt+Del を使用した再起動の無効化

コンソールで Ctrl+Alt+Del を押す応答として発生するアクションは、/etc/init/control-alt-delete.conf ファイルに指定されます。デフォルトでは、-r オプションを指定した shutdown ユーティリティーが、システムのシャットダウンおよび再起動に使用されます。
このアクションを無効にするには、exec true コマンドを指定するオーバーライド設定ファイルを作成します。これを実行するには、root で以下のコマンドを実行します。
~]# echo "exec true" >> /etc/init/control-alt-delete.override

パート II. サブスクリプションおよびサポート

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux システムのソフトウェアへの更新を受け取るには、Red Hat コンテンツ配信ネットワーク (CDN)にサブスクライブし、適切なリポジトリーを有効にする必要があります。ここでは、システムを Red Hat コンテンツ配信ネットワークにサブスクライブする方法を説明します。
Red Hat は カスタマーポータル からサポートを提供します。このサポートは、Red Hat Support Tool を使用してコマンドラインから直接アクセスできます。ここでは、そのコマンドラインツールの使用方法を説明します。

第6章 システム登録およびサブスクリプション管理

サブスクリプションサービスは、Red Hat ソフトウェアインベントリーを処理するメカニズムを提供し、yum または PackageKit パッケージマネージャーを使用して、追加のソフトウェアをインストールしたり、インストールされているプログラムを新しいバージョンに更新したりできます。Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 では、システムを登録し、サブスクリプションを割り当てる方法として、Red Hat Subscription Management を使用することが推奨されます。
注記
また、初回起動プロセス中にインストール後にシステムを登録し、サブスクリプションを割り当てることもできます。firstboot の詳細は、Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 の 『インストールガイド』 の「先起動」の章を参照してください。firstboot は、グラフィカルインストール後、またはデスクトップと X ウィンドウシステムがインストールされ、グラフィカルログインが有効になっているキックスタートのインストール後にのみ使用できることに注意してください。

6.1. システム登録およびサブスクリプションの割り当て

Red Hat Subscription Management を使用してシステムを登録し、1 つ以上のサブスクリプションを割り当てる手順を完了してください。subscription-manager コマンドはすべて root で実行することに注意してください。
  1. 以下のコマンドを実行してシステムを登録します。ユーザー名とパスワードを入力するように求められます。ユーザー名とパスワードは、Red Hat カスタマーポータルのログイン認証情報と同じであることに注意してください。
    subscription-manager register
  2. 必要なサブスクリプションのプール ID を確認します。これを行うには、シェルプロンプトで以下のコマンドを入力し、システムで利用できるサブスクリプションの一覧を表示します。
    subscription-manager list --available
    このコマンドは、利用可能な各サブスクリプションの名前、固有 ID、有効期限、およびそのサブスクリプションに関連するその他の詳細情報を表示します。すべてのアーキテクチャーのサブスクリプションを一覧表示するには、--all オプションを追加します。プール ID は、Pool ID で始まる行に一覧表示されます。
  3. 以下のコマンドを実行して、該当するサブスクリプションをシステムに割り当てます。
    subscription-manager attach --pool=pool_id
    pool_id を、直前のステップで確認したプール ID に置き換えます。
    システムに割り当てているサブスクリプションの一覧を随時確認するには、以下を実行します。
    subscription-manager list --consumed
注記
ファイアウォールまたはプロキシーを使用する場合は、yum および subscription-manager が正常に機能するように追加の設定が必要になる場合があります。ファイアウォールを使用し、プロキシーを使用する場合は、『Red Hat Enterprise Linux 6 サブスクリプション管理の管理』の 「コンテンツ配信ネットワーク( Firewall Access for Content Delivery)の設定 」 セクションを参照してください。
Red Hat Subscription Management を使用してシステムを登録し、サブスクリプションに関連付ける方法は、指定された ソリューションの記事 を参照してください。サブスクリプションに関する包括的な情報は、Red Hat Subscription Management のガイドを参照してください。

6.2. ソフトウェアリポジトリーの管理

Red Hat コンテンツ配信ネットワークにシステムをサブスクライブすると、/etc/yum.repos.d/ ディレクトリーにリポジトリーファイルが作成されます。これを確認するには、yum を使用して有効なリポジトリーの一覧を表示します。
yum repolist
Red Hat Subscription Management を使用すると、Red Hat が提供するソフトウェアリポジトリーを手動で有効または無効にすることもできます。利用可能なリポジトリーの一覧を表示するには、以下のコマンドを実行します。
subscription-manager repos --list
リポジトリー名は、使用している Red Hat Enterprise Linux のバージョンによって異なり、以下のフォーマットに基づいています。
rhel-variant-rhscl-version-rpms
rhel-variant-rhscl-version-debug-rpms
rhel-variant-rhscl-version-source-rpms
variant は Red Hat Enterprise Linux システムのバリアント(サーバー または ワークステーション)で、version は Red Hat Enterprise Linux システムのバージョン(6 または 7)を示します。以下に例を示します。
rhel-server-rhscl-6-eus-rpms
rhel-server-rhscl-6-eus-source-rpms
rhel-server-rhscl-6-eus-debug-rpms
リポジトリーを有効にするには、以下のコマンドを入力します。
subscription-manager repos --enable repository
repository を、有効にするリポジトリーの名前に置き換えます。
同様に、リポジトリーを無効にするには以下のコマンドを使用します。
subscription-manager repos --disable repository
「Yum と Yum リポジトリーの設定」 では、yum を使用したソフトウェアリポジトリー管理の詳細情報を説明します。

6.3. サブスクリプションの削除

特定のサブスクリプションを削除するには、以下の手順を行います。
  1. すでに割り当てられているサブスクリプションの情報を一覧表示し、削除する必要があるサブスクリプションのシリアル番号を確認します。
    subscription-manager list --consumed
    シリアル番号は、serial に記載されている番号です。たとえば、以下の例では 744993814251016831 になります。
    SKU:               ES0113909
    Contract:          01234567
    Account:           1234567
    Serial:            744993814251016831
    Pool ID:           8a85f9894bba16dc014bccdd905a5e23
    Active:            False
    Quantity Used:     1
    Service Level:     SELF-SUPPORT
    Service Type:      L1-L3
    Status Details:    
    Subscription Type: Standard
    Starts:            02/27/2015
    Ends:              02/27/2016
    System Type:       Virtual
  2. 以下のコマンドを実行して、選択したサブスクリプションを削除します。
    subscription-manager remove --serial=serial_number
    serial_number を、直前の手順で確認したシリアル番号に置き換えます。
システムに割り当てられているすべてのサブスクリプションを削除するには、以下のコマンドを実行します。
subscription-manager remove --all

6.4. その他のリソース

Red Hat Subscription Management を使用してシステムを登録し、サブスクリプションに関連付ける方法は、以下の資料を参照してください。

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

  • subscription-manager(8): Red Hat Subscription Management の man ページでは、サポートされるオプションおよびコマンドの完全なリストが提供されます。

オンラインリソース

  • Red Hat Access Labs: Red Hat Access Labs には Registration Assistant が含まれています。

その他の参考資料

  • 4章権限の取得 では、su および sudo コマンドを使用して管理者権限を取得する方法を説明しています。
  • 8章Yum では、yum パッケージマネージャーを使用したソフトウェアのインストールおよび更新に関する情報を提供します。
  • 9章PackageKit PackageKit パッケージマネージャーを使用してソフトウェアをインストールおよび更新する方法を提供します。

第7章 Red Hat Support Tool を使用したサポートへのアクセス

redhat-support-tool パッケージの Red Hat Support Tool は、インタラクティブシェルおよび単一実行プログラムの両方として機能します。SSH または任意のターミナルで実行できます。また、コマンドラインから Red Hat ナレッジベースを検索したり、コマンドラインでソリューションを直接コピーしたり、サポートケースを作成または更新したり、分析のために Red Hat にファイルを送信したりできます。

7.1. Red Hat Support Tool のインストール

Red Hat Support Tool は、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux にデフォルトでインストールされます。必要な場合は、確実にインストールするために root で以下のコマンドを入力します。
~]# yum install redhat-support-tool

7.2. コマンドラインを使用した Red Hat Support Tool の登録

コマンドラインを使用して Red Hat Support Tool をカスタマーポータルに登録するには、以下の手順を実行します。
  1. ~]# redhat-support-tool config user username
    username は、Red Hat カスタマーポータルアカウントのユーザー名に置き換えます。
  2. ~]# redhat-support-tool config password
    Please enter the password for username:

7.3. インタラクティブシェルモードでの Red Hat Support Tool の使用

インタラクティブモードでツールを起動するには、以下のコマンドを入力します。
~]$ redhat-support-tool
Welcome to the Red Hat Support Tool.
Command (? for help):
ツールは、非特権ユーザーまたは root として実行できます。
? 文字を入力するとコマンドの一覧を表示できます。プログラムまたはメニューの選択は、q または e の文字を入力して終了できます。ナレッジベースまたはサポートケースを初めて検索する場合は、Red Hat カスタマーポータルのユーザー名とパスワードを入力するよう求められます。また、インタラクティブモードで Red Hat カスタマーポータルアカウントのユーザー名とパスワードを設定し、オプションで設定ファイルに保存することもできます。

7.4. Red Hat Support Tool の設定

インタラクティブモードの場合は、コマンド config --help を入力して設定オプションの一覧を表示できます。
~]# redhat-support-tool
Welcome to the Red Hat Support Tool.
Command (? for help): config --help

Usage: config [options] config.option <new option value>

Use the 'config' command to set or get configuration file values.
Options:
  -h, --help    show this help message and exit
  -g, --global  Save configuration option in /etc/redhat-support-tool.conf.
  -u, --unset   Unset configuration option.

The configuration file options which can be set are:
 user      : The Red Hat Customer Portal user.
 password  : The Red Hat Customer Portal password.
 debug     : CRITICAL, ERROR, WARNING, INFO, or DEBUG
 url       : The support services URL.  Default=https://api.access.redhat.com
 proxy_url : A proxy server URL.
 proxy_user: A proxy server user.
 proxy_password: A password for the proxy server user.
 ssl_ca    : Path to certificate authorities to trust during communication.
 kern_debug_dir: Path to the directory where kernel debug symbols should be downloaded and cached. Default=/var/lib/redhat-support-tool/debugkernels

Examples:
- config user
- config user my-rhn-username
- config --unset user

手順7.1 インタラクティブモードでの Red Hat Support Tool の登録

インタラクティブモードを使用して Red Hat Support Tool をカスタマーポータルに登録するには、以下のコマンドを実行します。
  1. 以下のコマンドを入力してツールを起動します。
    ~]# redhat-support-tool
  2. Red Hat カスタマーポータルのユーザー名を入力します。
    Command (? for help): config user username
    ユーザー名をグローバル設定ファイルに保存するには、-g オプションを追加します。
  3. Red Hat カスタマーポータルのパスワードを入力します。
    Command (? for help): config password
    Please enter the password for username:

7.4.1. 設定ファイルへの設定の保存

Red Hat Support Tool は、(他の方法が設定されていない場合に) ~/.redhat-support-tool/redhat-support-tool.conf 設定ファイルを使用して現在のユーザーのホームディレクトリーに値とオプションをローカルで保存します。必要に応じて、パスワードをこのファイルに保存することが推奨されます。ツールが起動すると、グローバル設定ファイル /etc/redhat-support-tool.conf とローカル設定ファイルから値が読み取られます。ローカルに保存された値とオプションは、グローバルに保存された設定よりも優先されます。
警告
パスワードは base64 でエンコードされ簡単にデコードできるため、グローバルな /etc/redhat-support-tool.conf 設定ファイルにパスワードを保存することは推奨され ませ ん。また、ファイルは誰でも読み取り可能です。
値またはオプションをグローバル設定ファイルに保存するには、以下のように -g, --global オプションを追加します。
Command (? for help): config setting -g value
注記
-g, --global オプションを使用して設定をグローバルで保存できるようにするには、Red Hat Support Toolroot で実行する必要があります。これは、通常のユーザーには /etc/redhat-support-tool.conf への書き込みに必要なパーミッションがないためです。
値またはオプションをローカル設定ファイルから削除するには、以下のように -u, --unset オプションを追加します。
Command (? for help): config setting -u value
これにより、ツールからパラメーターが削除および設定解除され、(利用可能な場合は) グローバル設定ファイルにある同等の設定が使用されます。
注記
非特権ユーザーとして実行している場合は、 -u, --unset オプションでグローバル設定ファイルに保存される値は削除できませんが、-g, --global オプションと -u, --unset オプションを同時に使用して、ツールの現在の実行中のインスタンスから、設定を解除することができます。root として実行している場合は、-g, --global-u, --unset オプションを同時に使用してグローバル設定ファイルから値とオプションを削除できます。

7.5. インタラクティブモードでのサポートケースの作成および更新

手順7.2 インタラクティブモードでの新しいサポートケースの作成

インタラクティブモードで新しいサポートケースを作成するには、以下の手順を実行します。
  1. 以下のコマンドを入力してツールを起動します。
    ~]# redhat-support-tool
  2. opencase コマンドを入力します。
    Command (? for help): opencase
  3. 画面に表示されたプロンプトに従って製品とバージョンを選択します。
  4. ケースの要約を入力します。
  5. ケースの説明を入力し、完了したら空の行で Ctrl+D を押します。
  6. ケースの重大度を選択します。
  7. オプションで、サポートケースを作成する前に、この問題のソリューションが存在するかどうかを確認することを選択します。
  8. サポートケースを作成することを確定します。
    Support case 0123456789 has successfully been opened
  9. オプションで、SOS レポートを添付することを選択します。
  10. オプションで、ファイルを添付することを選択します。

手順7.3 インタラクティブモードでの既存のサポートケースの表示および更新

インタラクティブモードで既存のサポートケースを表示および更新するには、以下の手順を実行します。
  1. 以下のコマンドを入力してツールを起動します。
    ~]# redhat-support-tool
  2. getcase コマンドを入力します。
    Command (? for help): getcase case-number
    case-number は、表示および更新するケースの番号です。
  3. 画面に表示されたプロンプトに従ってケースを表示し、コメントを変更または追加して、添付ファイルを取得または追加します。

手順7.4 インタラクティブモードでの既存のサポートケースの変更

インタラクティブモードで既存のサポートケースの属性を変更するには、以下の手順を実行します。
  1. 以下のコマンドを入力してツールを起動します。
    ~]# redhat-support-tool
  2. modifycase コマンドを入力します。
    Command (? for help): modifycase case-number
    case-number は、表示および更新するケースの番号です。
  3. 変更の選択リストが表示されます。
    Type the number of the attribute to modify or 'e' to return to the previous menu.
     1 Modify Type
     2 Modify Severity
     3 Modify Status
     4 Modify Alternative-ID
     5 Modify Product
     6 Modify Version
    End of options.
    画面に表示されたプロンプトに従って 1 つまたは複数のオプションを変更します。
  4. たとえば、ステータスを変更する場合は、3 と入力します。
    Selection: 3
     1   Waiting on Customer                                                        
     2   Waiting on Red Hat                                                         
     3   Closed                                                                     
    Please select a status (or 'q' to exit):

7.6. コマンドラインでのサポートケースの表示

コマンドラインでケースの内容を表示すると、コマンドラインからソリューションを素早く簡単に適用できます。
コマンドラインで既存のサポートケースを表示するには、以下のようにコマンドを入力します。
~]# redhat-support-tool getcase case-number
case-number は、ダウンロードするケースの番号です。

7.7. その他のリソース

Red Hat ナレッジベースの記事 『Red Hat Support Tool』 には、追加情報、例、および動画チュートリアルが含まれます。

パート III. ソフトウェアのインストールおよび管理

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux システムのソフトウェアはすべて RPM パッケージに分割され、インストール、アップグレード、または削除が可能です。ここでは、製品のサブスクリプションとエンタイトルメントに重点を置いており、Yum と、グラフィカルパッケージ管理ツールの PackageKit スイートを使用して、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux でパッケージを管理する方法を説明します。

第8章 Yum

yum は Red Hatnbsp;Hat パッケージマネージャーで、利用可能なパッケージに関する情報のクエリー、リポジトリーからのパッケージのフェッチ、パッケージのインストールおよびアンインストール、さらに利用可能な最新バージョンへのシステム全体の更新が可能です。Yum は、更新/インストール/削除を実行しているパッケージで依存関係の自動解決を行います。そのため、利用可能なすべての依存パッケージを自動的に決定/フェッチ/インストールすることができます。
yum は、新しいリポジトリー、追加リポジトリー、または パッケージソース で設定でき、その機能を強化し、拡張するプラグインを多数提供します。yum は、RPM が実行できる同じタスクを多数実行できます。さらに、多くのコマンドラインオプションも似ています。Yum を使用することで、1 つのマシンまたはマシンのグループ上でのパッケージ管理を簡単かつシンプルに行うことができます。
以下のセクションでは、『Red Hat Enterprise Linux 6 インストールガイド』で説明されているように、インストール時にシステムが Red Hat Subscription Management に登録されていることを前提としています。システムがサブスクライブされていない場合は、6章システム登録およびサブスクリプション管理 を参照してください。
GPG 署名パッケージによるセキュアなパッケージ管理
yum は、GPG(Gnu Privacy Guard(別名 GnuPG))の署名検証をすべてのパッケージリポジトリー(パッケージソースなど)または個々のリポジトリーで有効にすることで、セキュアなパッケージ管理を提供します。署名の検証を有効にすると、Yum はリポジトリーの正しいキーで GPG 署名されていないパッケージのインストールを拒否します。つまり、お使いのシステムにダウンロードしてインストールする RPM パッケージが Red Hatnbsp;Hat などの信頼できるソースからいることを信頼でき、転送中に変更されなかったことを意味します。Yum での署名確認を有効にする方法は 「Yum と Yum リポジトリーの設定」 または 「パッケージの署名の確認」 で一般的な GPG 署名 RPM パッケージを使用および検証する方法についての詳細は、を参照してください。
Yum を使用すると、他のマシンへダウンロードし、インストールするための RPM パッケージのリポジトリーを簡単に設定することができます。
Yum の学習は、システム管理タスクを実行する最も高速な方法であり、PackageKit グラフィカルパッケージ管理ツールが提供する以上の機能を提供します。PackageKit の使用方法は、9章PackageKit を参照してください。
yum および superuser の特権
yum を使用して、システムにパッケージをインストール、更新、または削除するにはスーパーユーザー権限が必要です。本章のすべての例では、su または sudo コマンドを使用することでスーパーユーザー権限をすでに持っていると仮定しています。

8.1. パッケージの確認と更新

8.1.1. 更新の確認

使用しているシステムに利用可能な更新があるインストール済みのパッケージを確認するには、以下のコマンドを実行します。
yum check-update
以下に例を示します。
~]# yum check-update
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
PackageKit.x86_64                  0.5.8-2.el6                rhel
PackageKit-glib.x86_64             0.5.8-2.el6                rhel
PackageKit-yum.x86_64              0.5.8-2.el6                rhel
PackageKit-yum-plugin.x86_64       0.5.8-2.el6                rhel
glibc.x86_64                       2.11.90-20.el6             rhel
glibc-common.x86_64                2.10.90-22                 rhel
kernel.x86_64                      2.6.31-14.el6              rhel
kernel-firmware.noarch             2.6.31-14.el6              rhel
rpm.x86_64                         4.7.1-5.el6                rhel
rpm-libs.x86_64                    4.7.1-5.el6                rhel
rpm-python.x86_64                  4.7.1-5.el6                rhel
udev.x86_64                        147-2.15.el6               rhel
yum.noarch                         3.2.24-4.el6               rhel
上記の出力に表示されているパッケージには利用可能な更新があります。一覧の最初のパッケージは、グラフィカルパッケージマネージャーである PackageKit です。出力例の行は、以下のようになります。
  • PackageKit - パッケージの名前
  • x86_64 - パッケージがビルドされた CPU アーキテクチャー
  • 0.5.8 - インストールする更新パッケージのバージョン
  • rhel - 更新パッケージが置かれているリポジトリー
この出力では、yum を使用してカーネル( kernel パッケージ)、Yum および RPM( yum パッケージ)、およびその依存関係( rpmkernel-firmware、および rpm-libs パッケージ)をすべて更新できることも示しています。rpm-python

8.1.2. パッケージの更新

一度に更新するパッケージ数を 1 つ、複数、または全てのパッケージから選択できます。更新するパッケージの依存関係(またはパッケージ)に利用可能な更新がある場合は、更新も更新されます。

単一パッケージの更新

1 つのパッケージを更新するには、root で以下のコマンドを実行します。
yum update package_name
たとえば、udev パッケージを更新するには、以下を入力します。
~]# yum update udev
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package udev.x86_64 0:147-2.15.el6 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================
 Package       Arch            Version                 Repository     Size
===========================================================================
Updating:
 udev          x86_64          147-2.15.el6            rhel          337 k

Transaction Summary
===========================================================================
Install       0 Package(s)
Upgrade       1 Package(s)

Total download size: 337 k
Is this ok [y/N]:
この出力で重要となる項目がいくつかあります。
  1. Loaded plugins: product-id, refresh-packagekit, subscription-manager - yum は常に、どの Yum プラグインがインストールされ、有効になっているかを通知します。Yum プラグインに関する一般的な情報は、「yum のプラグイン」 を参照してください。特定のプラグインの説明は、「プラグインの説明」 を参照してください。
  2. udev.x86_64 - 新しい udev パッケージをダウンロードしてインストールできます。
  3. yum は更新情報を表示し、更新を実行するかどうかを尋ねられます。yum はデフォルトで対話的に実行されます。yum コマンドが実行する予定のトランザクションがすでに分かっている場合は、-y オプションを使用して、yum が質問する質問(この場合は非対話的に実行)に対して、自動的に yes と回答できます。ただし、発生する可能性のある問題を簡単にトラブルシューティングできるように、yum がシステムに加える変更を必ず確認する必要があります。
    トランザクションが到着する場合は、「トランザクション履歴の活用」 で説明されているように yum history コマンドを使用して Yum のトランザクション履歴を表示できます。
Yum を使用したカーネルの更新とインストール
yum は、rpm -i kernel コマンドを使用する際に RPM が新しいカーネルをインストールするのと同様に、新しいカーネルを常にインストールします。したがって、yum を使用する際に、カーネルパッケージの インストールアップグレード の違いを考慮する必要はありません。 yum update コマンドまたは yum install コマンドを使用しているかどうかに関わらず、適切な操作を行います。
一方、RPM を使用する場合は、rpm -u kernel (現在のカーネルを 置き換える )の代わりに rpm -i kernel コマンド(新しいカーネルをインストール)を使用することが重要です。RPM を使用したカーネルのインストール/アップグレードの詳細は、「インストールおよび設定ガイド」 を参照してください。

すべてのパッケージとそれらの依存関係の更新

パッケージとその依存関係をすべて更新するには、引数なしで yum update を入力します。
yum update
どのパッケージでセキュリティー更新が利用可能かを検出し、それらのパッケージを迅速かつ簡単に更新することが重要になります。yum は、この目的のためにプラグインを提供します。security プラグインは、yum コマンドを、高度なセキュリティー中心のコマンド、サブコマンド、およびオプションのセットで拡張します。具体的な情報については、「プラグインの説明」 を参照してください。

パッケージの自動更新

パッケージに定期的な自動更新を設定することもできます。このため、Red Hat Enterprise Linux 6 では yum-cron パッケージを使用します。これは cron デーモンの Yum インターフェースを提供し、パッケージリポジトリーからメタデータをダウンロードします。yum-cron サービスを有効にすると、ユーザーは毎日自動的に Yum の更新を cron ジョブとしてスケジュールできます。
注記
yum-cron パッケージは、Optional サブスクリプションチャンネルで提供されます。Red Hat 追加チャンネルの詳細は、「Optional および Supplementary リポジトリーの追加」 を参照してください。
yum-cron をインストールするには、以下のコマンドを実行します。
~]# yum install yum-cron
デフォルトでは、yum-cron サービスは無効になっており、手動でアクティブ化して起動する必要があります。
~]# chkconfig yum-cron on
~]# service yum-cron start
サービスのステータスを確認するには、以下のコマンドを実行します。
~]# service yum-cron status
yum-cron パッケージに含まれるスクリプトは、更新のエクステントと頻度を変更し、通知をメールに送信するように設定できます。yum-cron をカスタマイズするには、/etc/sysconfig/yum-cron ファイルを編集します。
yum-cron の詳細は、/etc/sysconfig/yum-cron 内のコメントと yum-cron(8)man ページを参照してください。

8.1.3. 設定ファイルの変更の保存

Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux システムの使用時に、パッケージによりインストールされた設定ファイルに変更を加えます。Yum がシステムの変更の実行に使用する RPM は、整合性を確保するメカニズムを提供します。パッケージアップグレード全体で設定ファイルへの変更を管理する方法は、「インストールおよび設定ガイド」 を参照してください。

8.1.4. ISO と Yum を使用してシステムをオフラインでアップグレード

インターネットまたは Red Hat Network から切断されたシステムの場合は、yum update コマンドと Red Hat Enterprise Linux インストール ISO イメージを使用すると、システムを最新のマイナーバージョンに簡単かつ迅速にアップグレードできます。以下の手順はアップグレードプロセスを示しています。
  1. ISO イメージをマウントするターゲットディレクトリーを作成します。このディレクトリーは、マウント時に自動的に作成されません。root で以下のコマンドを実行します。
    mkdir mount_dir
    mount_dir をマウントディレクトリーへのパスに置き換えます。通常、ユーザーは /media ディレクトリーのサブディレクトリーとして作成します。
  2. 以前に作成したターゲットディレクトリーに Red Hat Enterprise Linux 6 インストール ISO イメージをマウントします。root で以下のコマンドを実行します。
    mount -o loop iso_name mount_dir
    iso_name は ISO イメージへのパスに、mount_dir はターゲットディレクトリーへのパスに置き換えます。ブロックデバイスとしてファイルをマウントするには、-o loop オプションが必要です。
  3. media.repo ファイルをマウントディレクトリーから /etc/yum.repos.d/ ディレクトリーにコピーします。正常に機能するために、このディレクトリーの設定ファイルの拡張子は .repo である必要があります。
    cp mount_dir/media.repo /etc/yum.repos.d/new.repo
    これにより、yum リポジトリーの設定ファイルが作成されます。new.repo をファイル名に置き換えます(例: rhel6.repo )。
  4. Red Hat Enterprise Linux インストール ISO を参照するように新しい設定ファイルを編集します。/etc/yum.repos.d/new.repoファイルに以下の行を追加します。
    baseurl=file:///mount_dir
    mount_dir は、マウントポイントへのパスに置き換えます。
  5. 前の手順で作成された /etc/yum.repos.d/new.repo を含む、yum リポジトリーをすべて更新します。root で以下のコマンドを実行します。
    yum update
    これにより、システムはマウントされた ISO イメージで提供されたバージョンにアップグレードされます。
  6. アップグレードに成功したら、ISO イメージをアンマウントできます。root で以下のコマンドを実行します。
    umount mount_dir
    mount_dir はマウントディレクトリーへのパスです。また、最初の手順で作成されたマウントディレクトリーを削除することもできます。root で以下のコマンドを実行します。
    rmdir mount_dir
  7. 以前に作成された設定ファイルを別のインストールまたは更新に使用しない場合は、その設定ファイルを削除できます。root で以下のコマンドを実行します。
    rm /etc/yum.repos.d/new.repo

例8.1 Red Hat Enterprise Linux 6.3 から 6.4 へのアップグレード

インターネットにアクセスせずにシステムをアップグレードする必要があるとします。これを行うには、新しいバージョンのシステムとともに ISO イメージを使用します(例: RHEL6.4-Server-20130130.0-x86_64-DVD1.iso )。マウント用に作成されたターゲットディレクトリーは /media/rhel6/ です。root で ISO イメージがあるディレクトリーに移動し、以下のコマンドを入力します。
~]# mount -o loop RHEL6.4-Server-20130130.0-x86_64-DVD1.iso /media/rhel6/
次に、マウントディレクトリーから media.repo ファイルをコピーして、イメージ用の yum リポジトリーをセットアップします。
~]# cp /media/rhel6/media.repo /etc/yum.repos.d/rhel6.repo
yum にマウントポイントをリポジトリーとして認識させるには、前の手順でコピーした /etc/yum.repos.d/rhel6.repo に以下の行を追加します。
baseurl=file:///media/rhel6/
この時点で、yum リポジトリーを更新すると、RHEL6.4-Server-20130130.0-x86_64-DVD1.iso により提供されたバージョンにシステムがアップグレードされます。root で以下を実行します。
~]# yum update
システムが正常にアップグレードされたら、イメージをアンマウントし、ターゲットディレクトリーと設定ファイルを削除できます。
~]# umount /media/rhel6/
~]# rmdir /media/rhel6/
~]# rm /etc/yum.repos.d/rhel6.repo

8.2. パッケージおよびパッケージグループ

8.2.1. パッケージの検索

以下のコマンドを使用して、すべての RPM パッケージ名、説明、サマリーを検索できます。
yum search term
term を、検索するパッケージ名に置き換えます。

例8.2 特定の文字列に一致するパッケージの検索

vimgvim、または emacs に一致するパッケージの一覧を表示するには、以下を入力します。
~]$ yum search vim gvim emacs
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
============================= N/S matched: vim ==============================
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
[output truncated]

============================ N/S matched: emacs =============================
emacs.x86_64 : GNU Emacs text editor
emacs-auctex.noarch : Enhanced TeX modes for Emacs
[output truncated]

  Name and summary matches mostly, use "search all" for everything.
Warning: No matches found for: gvim
yum search コマンドは、パッケージ名は分からないものの、関連用語を知っている場合にパッケージを検索する際に役立ちます。デフォルトでは、yum search はパッケージ名とサマリーが一致したものを返すため、検索には時間がかかりません。yum search all コマンドを使用して、より詳細な検索を行いますが、検索は遅くなります。

8.2.2. パッケージの一覧表示

yum list および関連コマンドは、パッケージ、パッケージグループ、リポジトリーに関する情報を提供します。
Yum の list コマンドはすべて 1 つ以上の glob 表現 を引数として追加することで、結果をフィルタリングできます。glob 表現は、1 つ以上のワイルドカード文字 * (任意の文字を複数回一致するように拡張)と ? (任意の文字に拡張)を含む通常の文字列です。
glob 表現を使用した結果のフィルタリング
yum コマンドに glob 表現を引数として渡す場合には、glob 表現をエスケープするように注意してください。エスケープしないと、bash シェルはこの表現を パス名の展開 と解釈し、glob に一致する現在のディレクトリー内の全ファイルを yum に渡す可能性があります。確実に glob 表現を yum に渡すには、以下のいずれかを行います。
  • ワイルドカード文字の前にバックスラッシュ記号を入力して、ワイルドカード文字をエスケープする
  • glob 表現全体を二重引用符または単一引用符でくくる
yum list glob_expression
すべての glob 表現に一致するインストール済み および 利用可能なパッケージに関する情報を一覧表示します。

例8.3 glob 表現を使用した ABRT アドオンおよびプラグインの一覧表示

さまざまな ABRT アドオンとプラグインを含むパッケージは abrt-addon- または abrt-plugin- で始まります。これらのパッケージを一覧表示するには、シェルプロンプトで以下を入力します。
~]# yum list abrt-addon\* abrt-plugin\*
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Installed Packages
abrt-addon-ccpp.x86_64                        1.0.7-5.el6             @rhel
abrt-addon-kerneloops.x86_64                  1.0.7-5.el6             @rhel
abrt-addon-python.x86_64                      1.0.7-5.el6             @rhel
abrt-plugin-bugzilla.x86_64                   1.0.7-5.el6             @rhel
abrt-plugin-logger.x86_64                     1.0.7-5.el6             @rhel
abrt-plugin-sosreport.x86_64                  1.0.7-5.el6             @rhel
abrt-plugin-ticketuploader.x86_64             1.0.7-5.el6             @rhel
yum list all
インストール済み および 利用可能なパッケージの一覧を表示します。
yum list installed
システムにインストールされているパッケージの一覧を表示します。出力の右端の列には、パッケージを取得したリポジトリーが表示されます。

例8.4 二重引用符表現を使用したインストール済みパッケージの一覧表示

krb で始まり、1 文字とハイフンが続くインストール済みパッケージを一覧表示するには、以下を入力します。
~]# yum list installed "krb?-*"
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Installed Packages
krb5-libs.x86_64                         1.8.1-3.el6                  @rhel
krb5-workstation.x86_64                  1.8.1-3.el6                  @rhel
yum list available
有効なすべてのリポジトリーで利用可能なパッケージの一覧を表示します。

例8.5 エスケープされたワイルドカード文字を含む 1 つの glob 式を使用した利用可能なパッケージの一覧表示

gstreamerプラグイン を含む名前で利用可能なパッケージを一覧表示するには、以下のコマンドを実行します。
~]# yum list available gstreamer\*plugin\*
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Available Packages
gstreamer-plugins-bad-free.i686               0.10.17-4.el6            rhel
gstreamer-plugins-base.i686                   0.10.26-1.el6            rhel
gstreamer-plugins-base-devel.i686             0.10.26-1.el6            rhel
gstreamer-plugins-base-devel.x86_64           0.10.26-1.el6            rhel
gstreamer-plugins-good.i686                   0.10.18-1.el6            rhel
yum grouplist
パッケージグループの一覧を表示します。
yum repolist
有効 なリポジトリーごとにリポジトリー ID、名前、提供するパッケージ数を一覧表示します。

8.2.3. パッケージ情報の表示

1 つ以上のパッケージに関する情報(ここでは glob 表現も有効)を表示するには、以下のコマンドを使用します。
yum info package_name
たとえば、abrt パッケージに関する情報を表示するには、以下を入力します。
~]# yum info abrt
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Installed Packages
Name       : abrt
Arch       : x86_64
Version    : 1.0.7
Release    : 5.el6
Size       : 578 k
Repo       : installed
From repo  : rhel
Summary    : Automatic bug detection and reporting tool
URL        : https://fedorahosted.org/abrt/
License    : GPLv2+
Description: abrt is a tool to help users to detect defects in applications
           : and to create a bug report with all informations needed by
           : maintainer to fix it. It uses plugin system to extend its
           : functionality.
yum info package_name コマンドは rpm -q --info package_name コマンドに似ていますが、追加情報として、RPM パッケージが見つかる Yum リポジトリーの ID です(出力の From repo: 行を参照)。
Yum データベースに対して、次のコマンドを使用してパッケージに関する代替情報や有用な情報をクエリーすることもできます。
yumdb info package_name
このコマンドは、パッケージのチェックサム(および SHA-256 などのチェックサムを算出するために使用されるアルゴリズム)、パッケージのインストール開始に使用されたコマンドラインのコマンド(存在する場合)、パッケージがシステムにインストールされた理由( user はユーザーがインストールしたことを、dep は依存関係として取り入れたことを意味します)などのパッケージに関する追加情報を提供します。たとえば、yum パッケージに関する追加情報を表示するには、以下を入力します。
~]# yumdb info yum
Loaded plugins: product-id, refresh-packagekit, subscription-manager
yum-3.2.27-4.el6.noarch
     checksum_data = 23d337ed51a9757bbfbdceb82c4eaca9808ff1009b51e9626d540f44fe95f771
     checksum_type = sha256
     from_repo = rhel
     from_repo_revision = 1298613159
     from_repo_timestamp = 1298614288
     installed_by = 4294967295
     reason = user
     releasever = 6.1
yumdb コマンドの詳細は、man ページの yumdb(8)を参照してください。

パッケージに含まれるファイルの一覧表示

repoquery は、rpm クエリーと同様に yum リポジトリーから情報をクエリーするプログラムです。パッケージグループと個々のパッケージの両方をクエリーできます。特定のパッケージに含まれるファイルの一覧を表示するには、以下を入力します。
repoquery --list package_name
package_name を、検査するパッケージ名に置き換えます。repoquery コマンドの詳細は、man ページの repoquery を参照してください。
特定のファイルを提供するパッケージを確認するには、で説明している yum provides コマンドを使用できます。 ファイルを所有するパッケージの検索

8.2.4. パッケージのインストール

yum を使用すると、1 つのパッケージと複数のパッケージ、および選択したパッケージグループの両方をインストールできます。

個別パッケージのインストール

1 つのパッケージと、そのパッケージの依存関係でインストールされていないものをすべてインストールするには、以下の形式のコマンドを入力します。
yum install package_name
複数のパッケージを同時にインストールするには、その名前を引数として追加します。
yum install package_name package_name
AMD64 マシンや Intel 64 マシンなどの multilib システムにパッケージをインストールする場合は、パッケージ名に .arch を追加して、(有効なリポジトリーで利用可能な限り)パッケージのアーキテクチャーを指定できます。たとえば、i686sqlite パッケージをインストールするには、以下を入力します。
~]# yum install sqlite.i686
glob 表現を使用すると、名前が似ている複数のパッケージを迅速にインストールできます。
~]# yum install perl-Crypt-\*
パッケージ名と glob 表現に加えて、yum install にはファイル名も追加できます。インストールするバイナリー名が分かっていて、パッケージ名が分からない場合は、yum install にパス名を付けて実行します。
~]# yum install /usr/sbin/named
yum はパッケージ一覧で検索を行い、/usr/sbin/named を提供するパッケージを探します。パッケージが存在すると、yum により、そのパッケージをインストールするかどうかを尋ねられます。
ファイルを所有するパッケージの検索
named バイナリーを含むパッケージをインストールする場合は、どの bin ディレクトリーまたは sbin ディレクトリーがインストールされているかわからない場合は、glob 表現を付けて yum provides コマンドを実行します。
~]# yum provides "*bin/named"
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
32:bind-9.7.0-4.P1.el6.x86_64 : The Berkeley Internet Name Domain (BIND)
                              : DNS (Domain Name System) server
Repo        : rhel
Matched from:
Filename    : /usr/sbin/named
yum は「*/file_name"」を提供 します。これは、file_name を含むパッケージを検索するのに一般的かつ便利な方法です。

パッケージグループのインストール

パッケージグループはパッケージと似ています。それ自体は役に立ちませんが、共通の目的に対応する依存パッケージのグループを 1 つプルします。パッケージグループには、名前と groupid があります。yum grouplist -v コマンドはすべてのパッケージグループの名前を表示し、各パッケージグループの横に groupid を括弧で表示します。groupid は、以下の例のように、括弧の最後のペアで使用される用語です(以下の例のように kde-desktop )。
~]# yum -v grouplist kde\*
Loading "product-id" plugin
Loading "refresh-packagekit" plugin
Loading "subscription-manager" plugin
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Config time: 0.123
Yum Version: 3.2.29
Setting up Group Process
Looking for repo options for [rhel]
rpmdb time: 0.001
group time: 1.291
Available Groups:
   KDE Desktop (kde-desktop)
Done
パッケージグループをインストールするには、(groupid 部分なしで)完全なグループ名を groupinstall に渡します。
yum groupinstall group_name
groupid でインストールすることもできます。
yum groupinstall groupid
groupid(または引用付き名前)に @記号を追加しても( groupinstallと同じように yum に指示)、install コマンドに groupid(または引用付き名前)を渡すこともできます。
yum install @group
たとえば、以下は代替ですが、KATK Desktop グループをインストールする方法と同じです。
~]# yum groupinstall "KDE Desktop"
~]# yum groupinstall kde-desktop
~]# yum install @kde-desktop

8.2.5. パッケージの削除

パッケージのインストールと同様に、Yum では個別のパッケージとパッケージグループの両方をアンインストール( RPM と Yum の用語で削除)できます。

個々のパッケージの削除

特定のパッケージと、そのパッケージの依存関係パッケージをすべてアンインストールするには、root で以下のコマンドを実行します。
yum remove package_name
複数のパッケージをインストールする場合と同様、コマンドに複数のパッケージ名を追加すると、一度に複数のパッケージを削除できます。たとえば、totemrhythmbox、および sound-juicer を削除するには、シェルプロンプトで以下を入力します。
~]# yum remove totem rhythmbox sound-juicer
インストール と同様に、remove では、以下の引数を使用できます。
  • パッケージ名
  • glob 表現
  • ファイル一覧
  • パッケージが提供する機能
他のパッケージがそれに依存している場合にパッケージを削除
Yum では、パッケージを削除して、その依存パッケージを残すことはできません。このタイプの操作は RPM によってのみ実行でき、推奨されません。システムが機能しなくなるか、アプリケーションに誤作動したり、クラッシュしたりする可能性があります。詳細は、RPM の章の 「アンインストール」 を参照してください。

パッケージグループの削除

install 構文で構文 congruent を使用すると、パッケージグループを削除できます。
yum groupremove group
yum remove @group
以下は代替方法になりますが、KK Desktop グループを削除する方法と同等の方法になります。
~]# yum groupremove "KDE Desktop"
~]# yum groupremove kde-desktop
~]# yum remove @kde-desktop
インテリジェントなパッケージグループの削除
パッケージグループを削除するように yum に指示すると、そのパッケージが他のパッケージグループのメンバーである場合でも、そのグループ内の全パッケージが削除されます。ただし、group remove_leaf_only=1 ディレクティブを /etc/ yum.conf 設定ファイルの [main] セクションに追加すると、他のパッケージやグループで必要のないパッケージのみ を削除するように yum に指示することができます。このディレクティブの詳細は、「[main] オプションの設定」 を参照してください。

8.3. トランザクション履歴の活用

yum history コマンドを使用すると、Yum トランザクションのタイムライン、トランザクションの発生日時、影響を受けたパッケージ数、トランザクション成功の有無、RPM データベースがトランザクション間で変更されたかどうかなどに関する情報を確認できます。さらに、このコマンドを使用すると、特定のトランザクションを元に戻す、またはやり直すことが可能です。

8.3.1. トランザクションの一覧表示

最近発生した 20 件のトランザクションを一覧表示するには、root で引数なしで yum history を実行するか、シェルプロンプトで以下を入力します。
yum history list
すべてのトランザクションを表示するには、all のキーワードを追加します。
yum history list all
特定の範囲内のトランザクションのみを表示したい場合は、以下の形式でコマンドを使用します。
yum history list start_id..end_id
特定のパッケージに関するトランザクションのみを一覧表示することもできます。そのためには、パッケージ名か glob 表現を付けてコマンドを実行します。
yum history list glob_expression
たとえば、最初の 5 つのトランザクションのリストは以下のようになります。
~]# yum history list 1..5
Loaded plugins: product-id, refresh-packagekit, subscription-manager
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     5 | Jaromir ... <jhradilek>  | 2011-07-29 15:33 | Install        |    1
     4 | Jaromir ... <jhradilek>  | 2011-07-21 15:10 | Install        |    1
     3 | Jaromir ... <jhradilek>  | 2011-07-16 15:27 | I, U           |   73
     2 | System <unset>           | 2011-07-16 15:19 | Update         |    1
     1 | System <unset>           | 2011-07-16 14:38 | Install        | 1106
history list
yum history list コマンドのすべての形式で、以下のコラムで構成される各行を含む表形式出力を生成します。
  • ID - 特定のトランザクションを識別する整数値です。
  • Login user - トランザクションが開始したログインセッションのユーザー名。この情報は、通常 Full Name <username> 形式で表示されます。ユーザーが実行しなかったトランザクション(システムの自動更新など)については、代わりに System <unset> が使用されます。
  • Date and time - トランザクションが発生した日時。
  • Action(s) - 表8.1「Action フィールドの値」 の説明通りに、トランザクション中に実行されたアクションのリスト。
  • Altered - トランザクションによって影響を受けるパッケージの数。場合によっては 表8.2「Altered フィールドの値」 で説明されているように、追加情報が続きます。

表8.1 Action フィールドの値

Action 省略形 詳細
Downgrade D 1 つ以上のパッケージが旧バージョンにダウングレードされました。
Erase E 1 つ以上のパッケージが削除されました。
Install I 1 つ以上の新しいパッケージがインストールされました。
Obsoleting O 1 つ以上のパッケージが廃止として記録されました。
Reinstall -R 1 つ以上のパッケージが再インストールされました。
Update U 1 つ以上のパッケージが新しいバージョンに更新されました。

表8.2 Altered フィールドの値

記号 詳細
< トランザクションが終了する前に、rpmdb データベースが Yum 以外で変更されました。
> トランザクションが終了した後に、rpmdb データベースが Yum 以外で変更されました。
* トランザクションは失敗して終了しました。
# トランザクションは正常に終了しましたが、yum はゼロ以外の終了コードを返しました。
E トランザクションは正常に終了しましたが、エラーまたは警告が表示されました。
%P トランザクションは正常に終了しましたが、rpmdb データベースに問題がすでに存在します。
s トランザクションは正常に終了しましたが、--skip-broken コマンドラインオプションが指定され、特定のパッケージが省略されました。
Yum を使用すると、過去に発生したすべてのトランザクションのサマリーを表示できます。これを行うには、root で以下の形式のコマンドを実行します。
yum history summary
特定の範囲内でのトランザクションのみを表示するには、以下を入力します。
yum history summary start_id..end_id
yum history list コマンドと同様に、パッケージ名または glob 表現を指定することで、特定のパッケージに関するトランザクションのサマリーを表示できます。
yum history summary glob_expression
たとえば、上記で表示されるトランザクション履歴の概要は以下のようになります。
~]# yum history summary 1..5
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Login user                 | Time                | Action(s)        | Altered
-------------------------------------------------------------------------------
Jaromir ... <jhradilek>    | Last day            | Install          |        1
Jaromir ... <jhradilek>    | Last week           | Install          |        1
Jaromir ... <jhradilek>    | Last 2 weeks        | I, U             |       73
System <unset>             | Last 2 weeks        | I, U             |     1107
history summary
yum history summary コマンドのすべての形式で、yum history list の出力に似た、簡略化された表形式出力を生成します。
上記のように、yum history list および yum history summary の両方がトランザクション向けに設計されていますが、特定のパッケージに関連するトランザクションのみを表示できますが、パッケージバージョンなどの重要な詳細は表示されません。パッケージに関連するトランザクションを一覧表示するには、root で以下のコマンドを実行します。
yum history package-list glob_expression
たとえば、subscription-manager および関連するパッケージの履歴を追跡するには、シェルプロンプトで以下を入力します。
~]# yum history package-list subscription-manager\*
Loaded plugins: product-id, refresh-packagekit, subscription-manager
ID     | Action(s)      | Package
-------------------------------------------------------------------------------
     3 | Updated        | subscription-manager-0.95.11-1.el6.x86_64
     3 | Update         |                      0.95.17-1.el6_1.x86_64
     3 | Updated        | subscription-manager-firstboot-0.95.11-1.el6.x86_64
     3 | Update         |                                0.95.17-1.el6_1.x86_64
     3 | Updated        | subscription-manager-gnome-0.95.11-1.el6.x86_64
     3 | Update         |                            0.95.17-1.el6_1.x86_64
     1 | Install        | subscription-manager-0.95.11-1.el6.x86_64
     1 | Install        | subscription-manager-firstboot-0.95.11-1.el6.x86_64
     1 | Install        | subscription-manager-gnome-0.95.11-1.el6.x86_64
history package-list
この例では、初期システムのインストール時に、subscription-managersubscription-manager-firstboot、および subscription-manager-gnome の 3 つのパッケージがインストールされています。3 つ目のトランザクションでは、これらのパッケージはすべてバージョン 0.95.11 からバージョン 0.95.17 に更新されました。

8.3.2. トランザクションの検証

単一のトランザクションのサマリーを表示するには、root で以下の形式で yum history summary コマンドを使用します。
yum history summary id
特定のトランザクションを詳しく調べる場合は、root で以下のコマンドを実行します。
yum history info id
id の引数は任意であり、省略すると、yum は自動的に最後のトランザクションを使用します。複数のトランザクションを指定する場合は、範囲を指定することもできます。
yum history info start_id..end_id
以下は、2 つのトランザクションに関する出力のサンプルです。それぞれ新しいパッケージを 1 つインストールしています。
~]# yum history info 4..5
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Transaction ID : 4..5
Begin time     : Thu Jul 21 15:10:46 2011
Begin rpmdb    : 1107:0c67c32219c199f92ed8da7572b4c6df64eacd3a
End time       :            15:33:15 2011 (22 minutes)
End rpmdb      : 1109:1171025bd9b6b5f8db30d063598f590f1c1f3242
User           : Jaromir Hradilek <jhradilek>
Return-Code    : Success
Command Line   : install screen
Command Line   : install yum-plugin-security
Transaction performed with:
    Installed     rpm-4.8.0-16.el6.x86_64
    Installed     yum-3.2.29-17.el6.noarch
    Installed     yum-metadata-parser-1.1.2-16.el6.x86_64
Packages Altered:
    Install screen-4.0.3-16.el6.x86_64
    Install yum-plugin-security-1.1.30-17.el6.noarch
history info
また、トランザクション時に使用された設定オプション、特定のパッケージをインストールしたリポジトリー、その理由などの追加情報も閲覧できます。特定のトランザクションに関して入手可能な追加情報を表示する場合は、root で次のコマンドを実行します。
yum history addon-info id
yum history info と同様に、id を指定しないと、yum は自動的に最新のトランザクションを使用します。最新のトランザクションを確認する別の方法として、last キーワードを使用することもできます。
yum history addon-info last
たとえば、前述の例の最初のトランザクションでは、yum history addon-info コマンドは以下の出力を提供します。
~]# yum history addon-info 4
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Transaction ID: 4
Available additional history information:
  config-main
  config-repos
  saved_tx

history addon-info
この例では、3 種類の情報が表示されます。
  • config-main - トランザクション中に使用された yum のグローバルオプション。グローバルオプションの変更方法は 「[main] オプションの設定」 を参照してください。
  • config-repos - 個々の Yum リポジトリー用のオプション。個々のリポジトリー用のオプションを変更する方法は 「[repository] オプションの設定」 を参照してください。
  • saved_tx - 別のマシンでトランザクションを繰り返すために yum load-transaction コマンドで使用できるデータ(以下を参照)。
選択した種類の追加情報を表示するには、root で以下のコマンドを実行します。
yum history addon-info id information

8.3.3. トランザクションを元に戻す/繰り返す

トランザクション履歴の確認以外に、yum history コマンドは、選択したトランザクションを元に戻す、または繰り返す方法を提供します。トランザクションを元に戻すには、root で次のコマンドを実行します。
yum history undo id
特定のトランザクションを繰り返すには、root で次のコマンドを実行します。
yum history redo id
どちらのコマンドでも last キーワードを使用して、最新のトランザクションを元に戻す、または繰り返すことができます。
yum history undo コマンドおよび yum history redo コマンドはいずれも、トランザクション中に実行されたステップのみを元に戻すか、繰り返すことに注意してください。トランザクションで新しいパッケージがインストールされた場合に、yum history undo コマンドを実行すると、そのパッケージがアンインストールされ、トランザクションでパッケージがアンインストールされた場合は、このコマンドにより再度インストールされます。またこのコマンドは、(古いパッケージが引き続き利用可能な場合に) 更新済みパッケージをすべて以前のバージョンにダウングレードする試みも行います。
複数の同一システムを管理する場合、Yum はいずれかのシステムでトランザクションを実行し、トランザクションの詳細をファイルに格納し、テスト期間後に残りのシステムで同じトランザクションを繰り返すこともできます。トランザクションの詳細をファイルに保存するには、root で次のコマンドを実行します。
yum -q history addon-info id saved_tx > file_name
このファイルを目的のシステムにコピーしたら、root で以下のコマンドを使用してトランザクションを繰り返すことができます。
yum load-transaction file_name
ただし、ファイルに保存されている rpmdb バージョンは、ターゲットシステムのバージョンと同じである必要があります。yum version nogroups コマンドを使用すると、rpmdb バージョンを確認できます。

8.3.4. トランザクションの完了

電源損失やシステムクラッシュなどの予期しない状況では、yum トランザクションを完了できない場合があります。このようなイベントがトランザクションの途中で発生する場合は、root で以下のコマンドを使用して、後で再開できます。
yum-complete-transaction
yum-complete-transaction ツールは、システムで不完全な yum トランザクションまたは中断した yum トランザクションを検索し、それらを完了しようとします。デフォルトでは、これらのトランザクションは /var/lib/yum/transaction-all ファイルおよび /var/lib/yum/transaction-done ファイルに一覧表示されます。未完了のトランザクションが多い場合、yum-complete-transaction は最新のトランザクションを最初に完了しようとします。
中止したトランザクションを再開せずにトランザクションジャーナルファイルを消去するには、--cleanup-only オプションを使用します。
yum-complete-transaction --cleanup-only

8.3.5. 新しいトランザクション履歴の開始

Yum は単一の SQLite データベースファイルにトランザクション履歴を保存します。新しいトランザクションの履歴を開始するには、root で以下のコマンドを実行します。
yum history new
これにより、/var/lib/yum/history/ ディレクトリーに新しい空のデータベースファイルが作成されます。古いトランザクション履歴は保存されますが、新しいデータベースファイルがディレクトリーにある限りアクセスすることはできません。

8.4. Yum と Yum リポジトリーの設定

yum および関連ユーティリティー用の設定ファイルは /etc/yum.conf にあります。このファイルには、必須の [main] セクションが 1 つあり、ここで全体に影響を与える Yum オプションを設定できます。また、[repository] セクションを 1 つ以上追加して、リポジトリー固有のオプションを設定することもできます。ただし、/etc/yum.repos.d/ ディレクトリーにある、新規または既存の .repo ファイルに個々のリポジトリーを定義することが推奨されます。/etc/yum.conf ファイルの個別の [repository] セクションで定義した値は、[main] セクションに設定した値をオーバーライドします。
このセクションでは以下の方法を紹介します。
  • /etc/yum.conf 設定ファイルの [main] セクションを編集して、yum のグローバルオプションを設定します。
  • /etc/yum.conf ファイルおよび .repo ファイルの [repository] セクションを編集して、個々のリポジトリーにオプション を設定します。
  • 動的バージョンとアーキテクチャーの値が正しく処理されるように、/etc/yum.conf 内の Yum 変数と /etc/yum.repos.d/ ディレクトリーのファイルを使用します。
  • コマンドラインで Yum リポジトリーを追加、有効化、および無効化します。
  • 独自のカスタム Yum リポジトリーを設定します。

8.4.1. [main] オプションの設定

/etc/yum.conf 設定ファイルには [main] セクションが 1 つだけ含まれます。本セクションにあるキー値ペアの中には、yum の動作に影響を与えるものもあれば、Yum がリポジトリーを処理する方法に影響を与えるものもあります。/etc/yum.conf[main] セクションの下に、オプションを多数追加できます。
/etc/yum.conf 設定ファイルの例を以下に示します。
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3

[comments abridged]

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
以下は、[main] セクションで最も一般的に使用されるオプションです。
assumeyes=value
ここで、value は以下のいずれかになります。
0: yum は、実行する重要な動作の確認を求めるプロンプトを出します。これはデフォルトです。
1: yum は、重要な動作の確認を行いません。assumeyes=1 を 設定すると、yum はコマンドラインオプション -y が行うのと同じ方法で動作します。
cachedir=directory
directory は、Yum がキャッシュとデータベースファイルを保存するディレクトリーへの絶対パスです。デフォルトでは、Yum のキャッシュディレクトリーは /var/cache/yum/$basearch/$releasever です。
「yum 変数の使用」 および $basearch Yum 変数の説明は、$releasever を参照してください。
debuglevel=value
value は、1 から 10 までの整数になります。debuglevel 値を高く設定すると、yum はより詳細なデバッグ出力を表示します。debuglevel=0 はデバッグ出力を無効にしますが、debuglevel=2 がデフォルトです。
exactarch=value
ここで、value は以下のいずれかになります。
0: パッケージの更新時には正しいアーキテクチャーを考慮に入れて実行しません。
1: パッケージの更新時に正しいアーキテクチャーを考慮します。この設定では、yum は、システムにインストールされている i386 パッケージを更新する i686 パッケージをインストールしません。これはデフォルトです。
exclude=package_name [more_package_names]
このオプションを使用すると、インストール/更新時にキーワードでパッケージを除外できます。除外する複数のパッケージの一覧を表示するには、スペースで区切ったパッケージの一覧を引用符で囲みます。ワイルドカードを使用したシェルグロブ( *?など)を使用できます。
gpgcheck=value
ここで、value は以下のいずれかになります。
0: インストールされるローカルパッケージなど、全リポジトリー内のパッケージでの GPG 署名確認を無効にします。
1 - インストールされるローカルパッケージなど、全リポジトリー内の全パッケージで GPG 署名確認を有効にします。gpgcheck=1 がデフォルトであるため、すべてのパッケージ署名が確認されます。
このオプションが /etc/yum.conf ファイルの [main] セクションで設定されている場合は、全リポジトリーに対して GPG チェックルールが設定されます。ただし、個々のリポジトリーに gpgcheck= を設定することもできます。つまり、あるリポジトリーで GPG チェックを有効にしつつ、別のリポジトリーで無効にすることができます。対応する .repo ファイルの個々のリポジトリーに gpgcheck= を設定すると、/etc/yum.conf に存在する場合にはデフォルトが上書きされます。
GPG 署名の確認に関する詳細は、「パッケージの署名の確認」 を参照してください。
groupremove_leaf_only=value
ここで、value は以下のいずれかになります。
0: パッケージグループを削除するときに、yum は各パッケージの依存関係を確認し ない でください。この設定では、yum は、他のパッケージまたはグループで必要なパッケージが必要であるかどうかに関わらず、パッケージグループ内の全パッケージを削除します。groupremove_leaf_only=0 がデフォルトです。
1: yum はパッケージグループを削除するときに各パッケージの依存関係を確認し、他のパッケージやグループを必要としないパッケージのみを削除します。
パッケージの削除に関する詳細は、インテリジェントなパッケージグループの削除 を参照してください。
installonlypkgs=space separated list of packages
ここでは、yumインストール できるものの、更新 を行わないパッケージの一覧をスペースで区切って提供できます。デフォルトでインストールのみに設定されているパッケージの一覧は、yum.conf(5)man ページを参照してください。
installonlypkgs ディレクティブを /etc/yum.conf に追加する場合は、yum.conf(5)の installonlypkgs セクションに一覧表示されているものを含め、インストールのみのパッケージを すべて 一覧表示する必要があります。特に、(デフォルトで)カーネルパッケージを常に installonlypkgs に一覧表示し、installonly_limit を常に 2 よりも大きな値に設定し、デフォルトが起動に失敗した場合にバックアップカーネルを常に利用可能にできるようにする必要があります。
installonly_limit=value
value は、installonlypkgs ディレクティブに記載されている単一パッケージに同時にインストールできるバージョンの最大数を示す整数です。
installonlypkgs ディレクティブのデフォルトには複数のカーネルパッケージが含まれるため、installonly_limit の値を変更すると、インストール済みの単一のカーネルパッケージのバージョンの最大数にも影響することに注意してください。/etc/yum.conf に一覧表示されるデフォルト値は installonly_limit=3 です。この値は特に 2 未満で減らすことは推奨されません。
keepcache=value
ここで、value は以下のいずれかになります。
0: インストールの成功後は、ヘッダーとパッケージのキャッシュを保持しません。これはデフォルトです。
1: インストールの成功後も、キャッシュを保持します。
logfile=file_name
file_name は、yum がログ出力を書き込むファイルへの絶対パスです。デフォルトでは、yum/var/log/yum.log にログを記録します。
multilib_policy=value
ここで、value は以下のいずれかになります。
best: このシステムに最適なアーキテクチャーをインストールします。たとえば、AMD64 システムに multilib_policy=best を設定すると、yum は全パッケージの 64 ビットバージョンをインストールします。
all: 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。たとえば、AMD64 システムで multilib_policyall に設定すると、yum は i686 および AMD64 のパッケージが利用可能であれば、両方をインストールします。
obsoletes=value
ここで、value は以下のいずれかになります。
0: 更新の実行時に yum の廃止処理ロジックを無効にします。
1: 更新の実行時に yum の廃止処理ロジックを有効にします。あるパッケージが仕様ファイルで別のパッケージを 廃止 することを宣言すると、廃止されたパッケージのインストール時に、廃止後のパッケージが former パッケージに置き換えられます。たとえば、パッケージ名が変更された場合などに廃止が宣言されます。デフォルトは obsoletes=1 です。
plugins=value
ここで、value は以下のいずれかになります。
0: すべての Yum プラグインをグローバルに無効にします。
プラグインをすべて無効にすることは推奨されません。
一部のプラグインは重要な Yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、rhnpluginRHN Classic に対応しており、product-id プラグインおよび subscription-manager プラグインは、証明書ベースの コンテンツ配信ネットワーク (CDN)のサポートを提供します。グローバルにプラグインを無効にすることは便利なオプションとして提供されますが、通常は Yum の潜在的な問題を診断する場合にのみ推奨されます。
1: すべての Yum プラグインをグローバルに有効にします。plugins=1 で は、そのプラグインの設定ファイルに enabled=0 を設定して、特定の Yum プラグインを無効にすることができます。
Yum のさまざまなプラグインの詳細は、「yum のプラグイン」 を参照してください。プラグインの制御に関する詳細は 「yum プラグインを有効、設定、および無効にする方法」 を参照してください。
reposdir=directory
directory は、.repo ファイルがあるディレクトリーへの絶対パスです。すべての .repo ファイルにはリポジトリー情報が含まれています( /etc/yum.conf[repository] セクションと同様)。yum は、/etc/yum.conf ファイルの .repo ファイルおよび [repository] セクションからすべてのリポジトリー情報を収集し、トランザクションに使用するリポジトリーのマスター一覧を作成します。reposdir が設定されていない場合、yum はデフォルトのディレクトリー /etc/yum.repos.d/ を使用します。
retries=value
value は、整数 0 以上です。この値は、エラーを返す前に yum がファイルの取得を試行する回数を設定します。これを 0 に設定すると、yum はその試行を何度も続けます。デフォルト値は 10 です。
利用可能な [main] オプションの完全なリストは、yum.conf(5)man ページの [main] OPTIONS セクションを参照してください。

8.4.2. [repository] オプションの設定

[ repository ] セクションは、個別の Yum リポジトリーの定義を可能にする my_personal_repo (スペースは使用不可)などの一意のリポジトリー ID です。競合を回避するために、カスタムリポジトリーには、Red Hat リポジトリーで使用されている名前を使用しないでください。
以下は、[repository] セクションの形式が最小限の例です。
[repository]
name=repository_name
baseurl=repository_url
すべての [repository] セクションには、以下のディレクティブを含める必要があります。
name=repository_name
repository_name は、人間が判読できる文字列で、リポジトリーを記述します。
baseurl=repository_url
repository_url は、リポジトリーの repodata ディレクトリーが置かれているディレクトリーの URL に置き換えます。
  • リポジトリーが HTTP にある場合は、http://path/to/repoを使用します。
  • リポジトリーが FTP にある場合は、ftp://path/to/repoを使用します。
  • リポジトリーがマシンのローカルにある場合は、file:///path/to/local/repoを使用します。
  • 特定のオンラインリポジトリーでベーシック HTTP 認証が必要な場合は、username: password @link として URL の前に付けてユーザー名とパスワードを指定できます。たとえば、http://www.example.com/repo/ にあるリポジトリーでユーザー名とパスワードのパスワードが必要な場合、baseurl リンクは http://user:password@www.example.com/repo/ として指定できます。
通常この URL は以下のような HTTP リンクになります。
baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
Yum は常に URL の $releasever$arch、および $basearch 変数を展開することに注意してください。Yum 変数の詳細は、「yum 変数の使用」 を参照してください。
もう 1 つの便利な [repository] ディレクティブを以下に示します。
enabled=value
ここで、value は以下のいずれかになります。
0: 更新およびインストールの実行時には、パッケージソースとしてこのリポジトリーを含めません。これはリポジトリーを迅速に有効または無効にする簡単な方法です。更新またはインストールには無効にしているリポジトリーから、単一パッケージが欲しい場合に便利です。
1: パッケージソースとしてこのリポジトリーを含めます。
リポジトリーのオンとオフは、--enablerepo=repo_nameオプションまたは --disablerepo=repo_name オプションを yum に渡すか、PackageKit ユーティリティーのソフトウェアの 追加/削除 ウィンドウから実行できます。
他にも多くの [repository] オプションが存在します。完全な一覧は、yum.conf(5)man ページの [repository] OPTIONS セクションを参照してください。

例8.6 /etc/yum.repos.d/redhat.repo ファイルのサンプル

以下は、/etc/yum.repos.d/redhat.repo ファイルの例です。
#
# Red Hat Repositories
# Managed by (rhsm) subscription-manager
#

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/os
enabled = 1
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-source-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Source RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/source/SRPMS
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

[red-hat-enterprise-linux-scalable-file-system-for-rhel-6-entitlement-debug-rpms]
name = Red Hat Enterprise Linux Scalable File System (for RHEL 6 Entitlement) (Debug RPMs)
baseurl = https://cdn.redhat.com/content/dist/rhel/entitlement-6/releases/$releasever/$basearch/scalablefilesystem/debug
enabled = 0
gpgcheck = 1
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
sslverify = 1
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientkey = /etc/pki/entitlement/key.pem
sslclientcert = /etc/pki/entitlement/11300387955690106.pem

8.4.3. yum 変数の使用

yum コマンドおよびすべての Yum 設定ファイル( /etc/ yum.conf および /etc/yum.repos.d/ ディレクトリー内のすべての .repo ファイル)で、以下の組み込み変数を使用および参照できます。
$releasever
この変数を使用して、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux のリリースバージョンを参照できます。yum は、/etc/yum.conf 設定ファイルの distroverpkg= 行から $releasever の値を取得します。/etc/yum.conf にそのような行がない場合、yumredhat-release-server パッケージからバージョン番号を取得することで正しい値を推測します。$releasever の値は、通常、メジャーリリース番号と Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linuxnbsp;Linux のバリアント(例: 6Client6Server )で構成されます。
$arch
この変数を使用して、Python の os.uname() 関数を呼び出す際に返り値としてシステムの CPU アーキテクチャーを参照できます。$arch の有効な値には、i686 および x86_64 が含まれます。
$basearch
$basearch を使用して、システムのベースアーキテクチャーを参照できます。たとえば、i686 マシンには i386 のベースアーキテクチャーがあり、AMD64 および Intel 64 のマシンには x86_ 64 のベースアーキテクチャーがあります。
$YUM0-9
これら 10 個の変数は、それぞれ同じ名前を持つシェル環境変数の値に置換されます。これらの変数の 1 つが(たとえば /etc/yum.conf で)参照され、同じ名前のシェル環境変数が存在しない場合、設定ファイルの変数は置換されません。
カスタム変数の定義、既存の変数値の上書きを行うには、/etc/yum/vars/ ディレクトリーに変数と同じ名前を持つファイルを作成して( $ 記号なし)、必要な値を 1 行目に追加します。
たとえば多くの場合、リポジトリーの詳細にはオペレーティングシステムの名前が含まれます。$osname と呼ばれる新しい変数を定義するには、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux の新規ファイルを 1 行目に作成し、/etc/yum/vars/osname として保存します。
~]# echo "Red Hat Enterprise Linux" > /etc/yum/vars/osname
Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 の代わりに、.repo ファイルで以下を使用できるようになりました。
name=$osname $releasever

8.4.4. 現在の設定の表示

yum グローバルオプションの現在の値( /etc/yum.conf ファイルの [main] セクションで指定されているオプション)を表示するには、コマンドラインオプションなしで yum-config-manager を実行します。
yum-config-manager
別の設定セクションの内容を一覧表示するには、以下の形式でコマンドを実行します。
yum-config-manager section
glob 表現を使用して、適合する全セクションの設定を表示することもできます。
yum-config-manager glob_expression
たとえば、設定オプションとその対応する値を一覧表示するには、シェルプロンプトで以下を入力します。
~]$ yum-config-manager main \*
Loaded plugins: product-id, refresh-packagekit, subscription-manager
================================== main ===================================
[main]
alwaysprompt = True
assumeyes = False
bandwith = 0
bugtracker_url = https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%206&component=yum
cache = 0
[output truncated]

8.4.5. yum リポジトリーの追加、有効化、および無効化

「[repository] オプションの設定」 Yum リポジトリーの定義に使用できる各種のオプションを説明しました。本セクションでは、yum-config-manager コマンドを使用してリポジトリーを追加、有効化、および無効化する方法を説明します。
/etc/yum.repos.d/redhat.repo ファイル
システムが証明書ベースの Red Hat Network に登録されると、Red Hat サブスクリプションマネージャーツールを使用して、/etc/yum.repos.d/redhat.repo ファイル内のリポジトリーを管理します。Red Hat Network にシステムを登録する方法や、Red Hat Subscription Manager ツールを使用してサブスクリプションを管理する方法は、6章システム登録およびサブスクリプション管理 を参照してください。

yum リポジトリーの追加

新しいリポジトリーを定義するには、[repository] セクションを /etc/yum.conf ファイル、または /etc/yum.repos.d/ ディレクトリーの .repo ファイルに追加します。このディレクトリーにある .repo ファイル拡張子が付いたすべてのファイルは、yum が読み取ります。リポジトリーは、/etc/yum.conf ではなく、ここに定義することが推奨されます。
信頼できないソフトウェアソースを使用する場合は注意してください。
ソフトウェアパッケージを、Red Hat Network 以外の未検証または信頼できないソフトウェアソースから取得してインストールする場合には、セキュリティー上のリスクが伴います。セキュリティー、安定性、互換性、保全性の問題が発生する可能性があります。
yum リポジトリーは、一般的に .repo ファイルを提供します。このようなリポジトリーをシステムに追加して有効にするには、root で以下のコマンドを実行します。
yum-config-manager --add-repo repository_url
repository_url は、.repo ファイルへのリンクになります。たとえば、http://www.example.com/example.repo にあるリポジトリーを追加するには、シェルプロンプトで以下を入力します。
~]# yum-config-manager --add-repo http://www.example.com/example.repo
Loaded plugins: product-id, refresh-packagekit, subscription-manager
adding repo from: http://www.example.com/example.repo
grabbing file http://www.example.com/example.repo to /etc/yum.repos.d/example.repo
example.repo                                             |  413 B     00:00
repo saved to /etc/yum.repos.d/example.repo

yum リポジトリーの有効化

特定のリポジトリーを有効にするには、root で次のコマンドを実行します。
yum-config-manager --enable repository
repository は一意のリポジトリー ID です( yum repolist all を使用して、利用可能なリポジトリー ID を一覧表示します)。別の方法では、glob 表現を使用すると、一致するすべてのリポジトリーを有効にできます。
yum-config-manager --enable glob_expression
たとえば、[example] セクション、[example-debuginfo] セクション、および [example-source]セクションで定義されたリポジトリーを有効にするには、以下を入力します。
~]# yum-config-manager --enable example\*
Loaded plugins: product-id, refresh-packagekit, subscription-manager
============================== repo: example ==============================
[example]
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/6Server
baseurl = http://www.example.com/repo/6Server/x86_64/
cache = 0
cachedir = /var/cache/yum/x86_64/6Server/example
[output truncated]
成功すると、yum-config-manager --enable コマンドは現在のリポジトリー設定を表示します。

yum リポジトリーの無効化

Yum リポジトリーを無効にするには、root で以下のコマンドを実行します。
yum-config-manager --disable repository
repository は一意のリポジトリー ID です( yum repolist all を使用して、利用可能なリポジトリー ID を一覧表示します)。yum-config-manager --enable と同様に、glob 表現を使用して、一致するすべてのリポジトリーを同時に無効にできます。
yum-config-manager --disable glob_expression
成功すると、yum-config-manager --disable コマンドは現在の設定を表示します。

8.4.6. yum リポジトリーの作成

Yum リポジトリーを設定するには、以下の手順に従います。
  1. createrepo パッケージをインストールします。これを行うには、root で次のコマンドを実行します。
    yum install createrepo
  2. リポジトリー内に存在させるパッケージをすべて 1 つのディレクトリー( /mnt/local_repo/ など)にコピーします。
  3. このディレクトリーに移動し、以下のコマンドを実行します。
    createrepo --database /mnt/local_repo
    これにより、yum リポジトリーに必要なメタデータと、yum 操作を迅速化する sqlite データベースが作成されます。
    Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 5 での createrepo コマンドの使用
    Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 5 と比較すると、Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 の RPM パッケージは、XZ の損失なしのデータ圧縮形式で圧縮され、SHA-256 などの新しいハッシュアルゴリズムで署名できます。したがって、Red Hat Enterprise Linuxnbsp;Hat Enterprise Red Hat Enterprise Linux 6nbsp;Linux 5 で createrepo コマンドを使用して Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;Linux Red Hat Enterprise Linux 6nbsp;Linux Red Hat Enterprise Linux 6nbsp;6 のパッケージメタデータを作成することは推奨されません。

8.4.7. yum キャッシュの使用

デフォルトでは、操作が正常に実行されると、yum はダウンロードしたデータファイルを削除します。これにより、yum が使用するストレージ容量が最小限に抑えられます。ただし、yum がダウンロードしたパッケージファイルがキャッシュディレクトリーに残るように、キャッシュを有効にできます。キャッシュされたデータを使用して、ネットワーク接続なしで特定の操作を実行できます。また、キャッシュに保存されているパッケージをコピーして別の場所で再利用することもできます。
yum は、/var/cache/yum/$basearch/$releasever/ ディレクトリーに一時ファイルを保存します。$basearch および $releasever は、システムのベースアーキテクチャーと Red Hat Enterprise Linux のリリースバージョンを参照する Yum 変数です。設定した各リポジトリーには 1 つのサブディレクトリーがあります。たとえば、/var/cache/yum/$basearch/$releasever/development/packages/ ディレクトリーには、開発リポジトリーからダウンロードしたパッケージを保持します。yum version コマンドの出力で、$basearch 変数および $releasever 変数の値を確認できます。
デフォルトのキャッシュの場所を変更するには、/etc/yum.conf 設定ファイルの [main] セクションの cachedir オプションを変更します。yum の設定に関する詳細は、「Yum と Yum リポジトリーの設定」 を参照してください。

キャッシュの有効化

インストールに成功するとパッケージのキャッシュを保持するには、/etc/yum.conf[main] セクションに以下のテキストを追加します。
keepcache = 1
キャッシュを有効にすると、yum 操作はすべて、設定したリポジトリーからパッケージデータをダウンロードできます。
現在有効な yum リポジトリーのメタデータをダウンロードして利用できるようにするには、以下を入力します。
yum makecache
これは、キャッシュがすべてのメタデータで完全に最新の状態である場合に便利です。メタデータの有効期限を設定するには、/etc/yum.confmetadata-expire 設定を使用します。

キャッシュ専用モードでの yum の使用

ネットワーク接続なしで yum コマンドを実行するには、コマンドラインオプション -C または --cacheonly を追加します。このオプションを使用すると、yum はネットワークリポジトリーを確認せずに続行し、キャッシュされたファイルのみを使用します。このモードでは、yum は以前の操作によってダウンロードおよびキャッシュされているパッケージのみをインストールできます。
たとえば、gstreamer が含まれる名前で現在キャッシュされたデータを使用するパッケージを一覧表示するには、以下のコマンドを入力します。
yum -C list gstreamer*

yum キャッシュの消去

多くの場合、/var/cache/yum/ ディレクトリーに累積したエントリーを削除すると便利です。キャッシュからパッケージを削除すると、システムにインストールされているソフトウェアのコピーには影響を及ぼしません。現在有効なリポジトリーのエントリーをキャッシュから削除するには、root で以下を入力します。
yum clean all
削除するキャッシュデータのタイプに応じて、yumclean モードで起動する方法は複数あります。利用可能な設定オプションの一覧は、表8.3「利用可能な yum clean オプション」 を参照してください。

表8.3 利用可能な yum clean オプション

オプション説明
expire-cache各リポジトリーのメタデータおよびミラーリストのダウンロードの時間レコードを取り除きます。これにより、yum は次回の使用時に各リポジトリーのキャッシュを再無効にします。
packagesキャッシュされたパッケージをシステムから削除
ヘッダー以前のバージョンの yum が依存関係解決に使用したヘッダーファイルをすべて削除します。
metadataパッケージのリモートの可用性を決定するために yum が使用するファイルをすべて削除します。これらのメタデータは、次回 yum の実行時にダウンロードされます。
dbcacheメタデータへの迅速なアクセスに使用する sqlite キャッシュを削除します。このオプションを使用すると、yum が、次回実行時に sqlite メタデータをダウンロードするように強制します。これは、.xml データのみが含まれるリポジトリーには適用されません。この場合、sqlite データは削除されますが、後続のダウンロードはありません。
rpmdbローカルの rpmdb からキャッシュされたデータを削除します。
pluginsキャッシュされたデータを取り除くために有効なプラグインは強制的に実行されます。
all上記をすべて削除します。
expire-cache オプションは、上記の一覧から最も推奨されます。多くの場合、クリーン 状態にするには不十分です。

8.4.8. Optional および Supplementary リポジトリーの追加

オプションおよび Supplementary サブスクリプションチャンネルは、オープンソースのライセンス付きソフトウェア(Optional チャンネル)および商用ライセンス付きソフトウェア(Supplementary チャンネル)に対応する Red Hat Enterprise Linux 用の追加ソフトウェアパッケージを提供します。
Optional および Supplementary チャンネルをサブスクライブする前に、「 対象範囲の詳細 」を参照してください。これらのチャンネルからパッケージをインストールする場合は、Red Hat カスタマーポータルの記事「 How to access Optional and Supplementary channel, and -devel packages using Red Hat Subscription Manager(RHSM)? 」に記載されている手順に従います。

8.5. yum のプラグイン

yum は、その操作を拡張し、強化するプラグインを提供します。特定のプラグインが、デフォルトでインストールされています。yum コマンドを呼び出すたびに、読み込まれ、アクティブになっているプラグインがあれば、yum がそれを通知します。以下に例を示します。
~]# yum info yum
Loaded plugins: product-id, refresh-packagekit, subscription-manager
[output truncated]
Loaded plugins に続くプラグイン名は、--disableplugins=plugin_nameオプションに指定できる名前 です。

8.5.1. yum プラグインを有効、設定、および無効にする方法

Yum プラグインを有効にするには、/etc/yum.conf[main] セクションに plugins= で始まる行を追加し、その値が 1 であることを確認します。
plugins=1
すべてのプラグインを無効にするには、この行を plugins=0 に変更します
プラグインをすべて無効にすることは推奨されません。
一部のプラグインは重要な Yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、rhnpluginRHN Classic に対応しており、product-id プラグインおよび subscription-manager プラグインは、証明書ベースの コンテンツ配信ネットワーク (CDN)のサポートを提供します。グローバルにプラグインを無効にすることは便利なオプションとして提供されますが、通常は Yum の潜在的な問題を診断する場合にのみ推奨されます。
インストールされたすべてのプラグインには、/etc/yum/pluginconf.d/ ディレクトリーに独自の設定ファイルがあります。このファイルに、プラグイン固有のオプションを設定できます。たとえば、以下のように refresh-packagekit プラグインの refresh-packagekit.conf 設定ファイルがあるとします。
[main]
enabled=1
プラグイン設定ファイルには、[main] セクション(Yum の /etc/yum.conf ファイルと同様)が常に含まれます(または存在しない場合は配置可能)、yum コマンドの実行時にプラグインを有効にするかどうかを制御する enabled= オプションを使用できます。
/etc/yum.confenabled=0 を設定してすべてのプラグインを無効にすると、個々の設定ファイルで有効かどうかに関わらず、すべてのプラグインが無効になります。
1 つの yum コマンドで Yum プラグインをすべて無効にする場合は、--noplugins オプションを使用します。
1 つの yum コマンドで yum プラグインを無効にする場合は、--disableplugin=plugin_name オプションをコマンドに追加します。たとえば、システムの更新中に presto プラグインを無効にするには、以下を入力します。
~]# yum update --disableplugin=presto
--disableplugin= オプションに指定したプラグイン名は、yum コマンドの出力の Loaded プラグ イン 行の後に一覧表示される名前と同じです。名前をコンマで区切ることにより、複数のプラグインを無効にすることができます。さらに、glob 表現を使用して、複数のプラグイン名に一致したり、長いプラグイン名を短くすることができます。
~]# yum update --disableplugin=presto,refresh-pack*

8.5.2. 追加の Yum プラグインのインストール

yum プラグインは通常、yum-plugin-plugin_name package-naming 規則に従いますが、常に presto プラグインを提供するパッケージの名前は yum-presto です。Yum プラグインは、他のパッケージをインストールするのと同じ方法でインストールできます。たとえば、セキュリティー プラグインをインストールするには、シェルプロンプトで以下を入力します。
~]# yum install yum-plugin-security

8.5.3. プラグインの説明

以下では、便利な yum プラグインの説明と使用方法を紹介しています。プラグインは名前で表示されており、括弧内はパッケージ名になります。
search-disabled-repos (subscription-manager)
search-disabled-repos プラグインを使用すると、依存関係の解決に役立つ無効なリポジトリーを一時的または永続的に有効にすることができます。このプラグインが有効な場合は、依存関係の解決に失敗して Yum がパッケージのインストールに失敗したときに、無効なリポジトリーを一時的に有効し、再試行することが提示されます。インストールが成功した場合、Yum は使用されているリポジトリーを永久的に有効にすることも提示します。プラグインは subscription-manager で管理されるリポジトリーとのみ機能し、カスタムリポジトリーとは機能しないことに注意してください。
重要
yum--assumeyes または -y オプションで実行されるか、/etc/yum.confassumeyes ディレクティブが有効になっている場合、プラグインは、確認を求めるプロンプトなしに、一時的に、かつ永続的に無効なリポジトリーを有効にします。この結果、有効にしたくないリポジトリーが有効になるといった問題が発生することがあります。
search-disabled-repos プラグインを設定するには、/etc/yum/pluginconf.d/search-disabled-repos.conf にある設定ファイルを編集します。[main] セクションで使用できるディレクティブのリストについては、以下の表を参照してください。

表8.4 サポートされている search-disabled-repos.conf ディレクティブ

ディレクティブ 詳細
enabled=value プラグインを有効または無効にできます。1 (有効)または 0 (無効)のいずれかにする必要があります。プラグインはデフォルトで有効です。
notify_only=value プラグインの動作を通知のみに制限できます。1 (Yum の動作の変更なしで通知のみ)または 0 (Yum の動作の変更)のいずれかにする必要があります。デフォルトでは、プラグインはユーザーへの通知のみを行います。
ignored_repos=repositories プラグインで有効でないリポジトリーを指定できます。
kabi (kabi-yum-plugins)
kabi プラグインは、ドライバー更新パッケージが公式の Red Hatnbsp;Hat kernel Application Binary Interface (kABI)に準拠するかどうかを確認します。このプラグインが有効な状態で、ユーザーがホワイトリストにないカーネルシンボルを使用するパッケージのインストールを試行する場合は、警告メッセージがシステムログに書き込まれます。さらには、プラグインを enforcing モードで実行するように設定すると、そうしたパッケージがインストールされないようにできます。
kabi プラグインを設定するには、/etc/yum/pluginconf.d/kabi.conf にある設定ファイルを編集します。[main] セクションに使用できるディレクティブの一覧は、表8.5「サポートされる kabi.conf ディレクティブ」 を参照してください。

表8.5 サポートされる kabi.conf ディレクティブ

ディレクティブ 詳細
enabled=value プラグインを有効または無効にできます。1 (有効)または 0 (無効)のいずれかにする必要があります。インストール時には、プラグインはデフォルトで有効です。
whitelists=directory サポートされるカーネルシンボルを持つファイルがある ディレクトリー を指定できます。デフォルトでは、kabi プラグインは kernel-abi-whitelists パッケージ( /lib/modules/kabi/ ディレクトリー)が提供するファイルを使用します。
enforce=value enforcing モードを有効または無効にできます。1 (有効)または 0 (無効)のいずれかにする必要があります。デフォルトでは、このオプションはコメントアウトされ、kabi プラグインは警告メッセージのみを表示します。
presto (yum-presto)
presto プラグインは、更新中に delta RPM パッケージをダウンロードする Yum へのサポートを、事前メタデータが有効になっているリポジトリーから追加します。デルタ RPM には、RPM パッケージを要求するクライアントにインストールされているパッケージのバージョンと、リポジトリーの更新バージョンの違いのみが含まれます。
デルタ RPM のダウンロードは、更新されたパッケージ全体をダウンロードするよりもはるかに高速であり、更新を大幅に高速化できます。デルタ RPM をダウンロードしたら、現在インストールされているパッケージに違いを適用して完全に更新されたパッケージを作成するために再構築する必要があります。このプロセスは、インストールマシンで CPU 時間を使用します。したがって、デルタ RPM の使用は、ネットワーク接続に依存する time-to-download と、CPU をバインドしている time-to-rebuild 間の危険性があります。presto プラグインの使用は、ネットワーク接続が遅い高速マシンやシステムに推奨されますが、非常に高速の接続では、通常の RPM パッケージをダウンロードすることで、非常に高速のマシン( presto )を無効にすることで多くの利点があります。
product-id (subscription-manager)
product-id プラグインは、コンテンツ配信ネットワークからインストールされた製品の製品アイデンティティー証明書を管理します。product-id プラグインはデフォルトでインストールされています。
refresh-packagekit (PackageKit-yum-plugin)
refresh-packagekit プラグインは、yum が実行されるたびに PackageKit のメタデータを更新します。refresh-packagekit プラグインはデフォルトでインストールされます。
rhnplugin (yum-rhn-plugin)
rhnplugin は、RHN Classic への接続に対応します。これにより、RHN Classic に登録されたシステムは、このシステムからパッケージを更新し、インストールできます。RHN Classic は、以前の Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux システム(Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 4.x、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;)に対してのみ提供されます。 Linux 5.x および Satellite 5.x は、それらを Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux 6 に移行するためのものです。rhnplugin はデフォルトでインストールされます。
プラグインの詳細は、man ページの rhnplugin(8)を参照してください。
セキュリティー (yum-plugin-security)
セキュリティー更新に関する情報を検出し、これらを適用することは、すべてのシステム管理者にとって重要です。このため、Yum は セキュリティー プラグインを提供します。これは、高度なセキュリティー関連コマンド、サブコマンド、およびオプションのセットで yum を拡張します。
セキュリティー関連の更新は、以下のように確認できます。
~]# yum check-update --security
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
Limiting package lists to security relevant ones
Needed 3 of 7 packages, for security
elinks.x86_64                   0.12-0.13.el6               rhel
kernel.x86_64                   2.6.30.8-64.el6             rhel
kernel-headers.x86_64           2.6.30.8-64.el6             rhel
その後、yum update --security または yum update-minimal --security のいずれかを使用して、セキュリティーアドバイザリーの影響を受けるパッケージを更新できます。これらのコマンドはいずれも、セキュリティーアドバイザリーが発行されたシステムのパッケージをすべて更新します。yum update-minimal --security は、セキュリティーアドバイザリーの一部としてリリースされた最新パッケージに更新されます。一方、yum update --security は、セキュリティーアドバイザリーの影響を受けるすべてのパッケージ を、利用可能なパッケージの最新バージョンに 更新します。
言い換えると、以下のようになります。
  • kernel-2.6.30.8-16 パッケージがシステムにインストールされている。
  • kernel-2.6.30.8-32 パッケージがセキュリティー更新としてリリースされました。
  • 次に、kernel-2.6.30.8-64 がバグ修正の更新としてリリースされました。
...then yum update-minimal --security により kernel-2.6.30.8-32 に更新され、yum update --security により kernel-2.6.30.8-64 が更新されます。システム管理者は、可能な限りパッケージを更新することで、update-minimal を使用してリスクを低減します。
yum に追加されたセキュリティープラグインの拡張に関する詳細は、yum- security (8)man ページを参照してください。
subscription-manager (subscription-manager)
subscription-manager プラグインは、Red Hat Network への接続をサポートします。これにより、Red Hat Network に登録したシステムが、証明書ベースのコンテンツ配信ネットワークからパッケージを更新およびインストールできます。subscription-manager プラグインはデフォルトでインストールされています。
製品のサブスクリプションとエンタイトルメントを管理する方法は、6章システム登録およびサブスクリプション管理 を参照してください。
yum-downloadonly (yum-plugin-downloadonly)
yum-downloadonly プラグインは、--downloadonly コマンドラインオプションを提供します。このオプションを使用すると、パッケージをインストールせずに Red Hat Network または設定済みの Yum リポジトリーからパッケージをダウンロードできます。
パッケージをインストールするには、「追加の Yum プラグインのインストール」 に記載の手順に従います。インストール後に、/etc/yum/pluginconf.d/downloadonly.conf ファイルの内容を確認し、プラグインが有効であることを確認します。
~]$ cat /etc/yum/pluginconf.d/downloadonly.conf
[main]
enabled=1
以下の例では、yum install --downloadonly コマンドを実行して、インストールせずに最新バージョンの httpd パッケージをダウンロードします。
~]# yum install httpd --downloadonly
Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin,
              : subscription-manager
Updating Red Hat repositories.
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package httpd.x86_64 0:2.2.15-9.el6_1.2 will be updated
---> Package httpd.x86_64 0:2.2.15-15.el6_2.1 will be an update
--> Processing Dependency: httpd-tools = 2.2.15-15.el6_2.1 for package: httpd-2.2.15-15.el6_2.1.x86_64
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.2.15-9.el6_1.2 will be updated
---> Package httpd-tools.x86_64 0:2.2.15-15.el6_2.1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package        Arch      Version                 Repository               Size
================================================================================
Updating:
 httpd          x86_64    2.2.15-15.el6_2.1       rhel-x86_64-server-6    812 k
Updating for dependencies:
 httpd-tools    x86_64    2.2.15-15.el6_2.1       rhel-x86_64-server-6     70 k

Transaction Summary
================================================================================
Upgrade       2 Package(s)

Total download size: 882 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): httpd-2.2.15-15.el6_2.1.x86_64.rpm                | 812 kB     00:00
(2/2): httpd-tools-2.2.15-15.el6_2.1.x86_64.rpm          |  70 kB     00:00
--------------------------------------------------------------------------------
Total                                           301 kB/s | 882 kB     00:02


exiting because --downloadonly specified
デフォルトでは、Red Hat Enterprise Linux のバリアントおよびアーキテクチャーに応じて、--downloadonly オプションを使用してダウンロードしたパッケージは、/var/cache/yum ディレクトリーのサブディレクトリーのいずれかに保存されます。
パッケージを保存する代替ディレクトリーを指定する場合は、--downloaddir オプションを --downloadonly とともに渡します。
~]# yum install --downloadonly --downloaddir=/path/to/directory httpd
注記
yum-downloadonly プラグインの代わりに、パッケージをインストールせずにパッケージをダウンロードする代わりに、yum-utils パッケージが提供する yumdownloader ユーティリティーを使用できます。

8.6. その他のリソース

Red Hat Enterprise Linux でソフトウェアパッケージを管理する方法は、以下の資料を参照してください。

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

  • yum(8): yum コマンドラインユーティリティーの man ページには、サポートされるオプションおよびコマンドの完全なリストを提供します。
  • yumdb(8): yumdb コマンドラインユーティリティーの man ページでは、このツールを使用してクエリーを行い、必要な場合は yum データベースを変更する方法が説明されています。
  • yum.conf (5): yum.conf の man ページでは、利用可能な yum 設定オプションが説明されています。
  • yum-utils (1): yum-utils の man ページでは、yum 設定の管理、リポジトリーの操作、yum データベースでの作業を行う追加ユーティリティーの一覧表示と簡単な説明が提供されます。

オンラインリソース

  • yum Guides: プロジェクトのホームページの 『Yum Guides』 ページには、追加のドキュメントへのリンクがあります。
  • Red Hat Access Labs: Red Hat Access Labs に Yum Repository Configuration Helper が含まれています。

その他の参考資料

  • 4章権限の取得 では、su および sudo コマンドを使用して管理者権限を取得する方法を説明しています。
  • 付録B RPM では、Red Hat Enterprise Linux で使用されるパッケージ化システムである RPM パッケージマネージャー(RPM)を説明します。

第9章 PackageKit

Red Hat は、お使いのシステムと互換性のあるパッケージを表示、管理、更新、インストール、およびアンインストールする PackageKit を提供します。PackageKit は、GNOME パネルメニューから開くことができる複数のグラフィカルインターフェース、または PackageKit が更新が利用可能であることを通知エリアから開くことができます。PackageKit のアーキテクチャーおよび利用可能なフロントエンドの 詳細は、「PackageKit Architecture」 を参照してください。

9.1. ソフトウェア更新によるパッケージの更新

システムにインストールできる更新が利用できる場合には、Kugo は通知エリアに星のバーストアイコンを表示します。

図9.1 通知エリアの PackageKit's アイコン

通知エリアの PackageKit's アイコン
通知アイコンをクリックすると、Software Update ウィンドウが開きます。また、GNOME パネルから SystemAdministration Software Update をクリックするか、シェルプロンプトで gpk-update-viewer コマンドを実行すると、ソフトウェアの更新を開くことができます。ソフトウェア 更新 ウィンドウでは、利用可能な更新はすべて、更新中のパッケージ名( .rpm 接尾辞を引いたもの(CPU アーキテクチャーを含む)、パッケージの短い説明)とともに表示されます。通常、更新が提供する変更の短い説明です。インストールしたくない更新は、更新に対応するチェックボックスの選択を解除して、ここで選択解除できます。

図9.2 ソフトウェア更新による更新のインストール

ソフトウェア更新による更新のインストール
ソフトウェア 更新 画面に表示される更新は、更新が利用可能なシステムで現在インストールされているパッケージのみを表します。パッケージの依存関係(システムの既存パッケージであるか、新しいパッケージであるかにかかわらず、更新の インストールをクリックするまで表示されません
PackageKit は、システムに変更を加えるように要求するたびに、PolicyKit ツールキットが提供する粒度の細かいユーザー認証機能を使用します。PackageKit にパッケージを更新、インストール、または削除するように指示すると、システムへの変更が加えられる前にスーパーユーザーパスワードを入力するように求められます。
PackageKit により、kernel パッケージが更新されると、インストール後に求められ、システムを再起動して、新たにインストールしたカーネルを起動するかどうかを尋ねられます。

更新間隔の設定

PackageKit の Notification Area アイコンを右クリックし、Preferences をクリックすると、Software Update Preferences ウィンドウが表示されます。ここで、PackageKit がパッケージの更新をチェックする間隔や、すべての更新を自動的にインストールするか、セキュリティー更新のみを自動的にインストールするかを定義できます。モバイルブロードバンドボックスを使用する場合 は、ダウンロードデータの量に対して課金するワイヤレス接続を使用する際に、不要な帯域幅の使用を回避するために、チェックを外します。

図9.3 PackageKit の更新チェック間隔の設定

PackageKit の更新チェック間隔の設定

9.2. ソフトウェアの追加/削除

新しいパッケージを見つけてインストールするには、GNOME パネルで SystemAdministrationAdd/Remove Software をクリックするか、シェルプロンプトで gpk-application コマンドを実行します。

図9.4 PackageKit's Add/Remove Software ウィンドウ

PackageKit's Add/Remove Software ウィンドウ

9.2.1. ソフトウェアソースの更新(Yum リポジトリー)

PackageKit は Yum リポジトリーをソフトウェアソースとして参照します。有効なソフトウェアソースからすべてのパッケージを取得します。ソフトウェアの 追加/削除を開き、SystemSoftware をクリックすると、設定され たすべての Yum リポジトリーおよびフィルターが適用されていない(以下を参照)Yum リポジトリーの一覧を表示できます。Software Sources ダイアログでは、/etc/yum.conf 設定ファイルのすべての [repository] セクション、および /etc/yum.repos.d/ ディレクトリーにあるすべての リポジトリー.repo ファイルで作成されるリポジトリー名が表示されます。name=<My Repository Name>
有効 コラムでチェックされるエントリーは、対応するリポジトリーを使用して更新およびインストール要求すべてを満たすパッケージを特定するために使用されます(依存関係解決を含む)。一覧表示された Yum リポジトリーのいずれかを有効または無効にするには、チェックボックスを選択または選択解除できます。これを実行すると、PolicyKit によりスーパーユーザー認証が要求されます。
Enabled 列は、[repository] セクションの enabled=<1 or 0> フィールドに対応します。チェックボックスをクリックすると、PackageKit は enabled= <1 または 0 > 行を正しい [repository] セクションに挿入します。存在しない場合は値を変更します。つまり、Software Sources ウィンドウでリポジトリーを有効または無効にすると、ウィンドウを閉じるか、またはシステムを再起動した後に変更が維持されます。
PackageKit から Yum リポジトリーを追加または削除できないことに注意してください。
ソース RPM、テスト、および debuginfo リポジトリーの表示
Software Sources ウィンドウの下部にあるボックスを選択すると、PackageKit がソース RPM、テスト、および debuginfo リポジトリーも表示します。デフォルトでは、このボックスのチェックは解除されます。
利用可能な Yum リポジトリーに変更を加えたら、システム更新 パッケージ一覧 をクリックして、パッケージリストが最新であることを確認します。

9.2.2. フィルターを使用したパッケージの検索

ソフトウェアソースが更新されると、PackageKit が Find クエリーの結果をより迅速に取得できるようにフィルターを適用すると便利です。これは、多くのパッケージ検索を実行する場合に特に便利です。Filters ドロップダウンメニューのフィルターの 4 つを使用して、単一の基準に一致させたり、一致させたりして結果を分割したりします。デフォルトでは、PackageKit が開始すると、これらのフィルターはすべて適用されない(フィルターなし)されますが、そのフィルターは変更するか、PackageKit を閉じるまで、そのフィルターが設定されます。
通常、システムにインストールされて いない 利用可能なパッケージを検索するため、FiltersInstalled をクリックし、利用可能なラジオボタンのみ を選択します。

図9.5 インストール済みのパッケージのフィルタリング

インストール済みのパッケージのフィルタリング
また、C ヘッダーファイルなどの開発ファイルが必要でない限り、Filterd Development+クリック して、Only end user files ラジオボタンを選択します。このフィルターは、興味のない & lt;package_name&gt; -devel パッケージをすべて除外します。

図9.6 Find results 一覧から開発パッケージのフィルタリング

Find results 一覧から開発パッケージのフィルタリング
サブメニューの残りの 2 つのフィルターは以下のとおりです。
graphical
GUI インターフェースを提供するアプリケーション(グラフィカルのみ)か、そうでないアプリケーションに検索を絞り込みます。このフィルターは、特定の機能を実行する GUI アプリケーションを確認する場合に便利です。
Free
空きソフトウェアとして考慮されるパッケージを検索します。承認されたライセンスの詳細は、「 Fedora Licensing List 」を参照してください。
残りのフィルターを有効にするには、そのフィルターの横にあるチェックボックスを選択します。
サブパッケージの非表示
Hide サブ パッケージ チェックボックスを確認すると、通常、必要な他のパッケージの依存関係のみであるパッケージにフィルターが除外されます。たとえば、Hide サブ パッケージを確認し、<package&gt; を検索すると、以下の関連パッケージが 検索 結果から除外されます(存在する場合)。
  • & lt;package&gt; -devel
  • & lt;package&gt; -libs
  • <package>-libs-devel
  • <package>-debuginfo
最新のパッケージのみ
最新の パッケージのみ を確認すると、結果のリストから同じパッケージの全古いバージョンがフィルタリングされます。通常、これは必要なものです。多くの場合、このフィルターは唯一の利用可能なフィルターと組み合わせて、利用可能な 新バージョン(インストールされていない)パッケージの最新バージョンを検索することに注意してください。
ネイティブパッケージのみ
multilib システムで 唯一のネイティブパッケージ ボックスを確認すると、互換性モード で実行されるアーキテクチャー用にコンパイルしたパッケージの結果の一覧表示が PackageKit が省略されます。たとえば、AMD64 CPU を備えた 64 ビットシステムでこのフィルターを有効にすると、AMD64 マシン上で実行できても、32 ビットの x86 CPU アーキテクチャー用に構築されたパッケージがすべて、結果の一覧に表示されなくなります。アーキテクチャーに依存しないパッケージ( crontabs-1 . 10-32.1.el6.noarch.rpm などの noarchパッケージ)は、ネイティブパッケージのみ をチェックして除外されません。このフィルターは、x86 マシンなど、multilib 以外のシステムでは影響を受けません。

9.2.3. パッケージ(および依存関係)のインストールおよび削除

2 つのフィルターが選択さ れて おり、エンドユーザーファイル のみを選択し、画面 ウィンドウマネージャーでコマンドラインを検索し、パッケージを強調表示します。これで、プロジェクトのホームページへのクリック可能なリンク、パッケージのライセンス、アプリケーションが開くことのできる GNOME メニューロケーションへのポインター、およびダウンロードとインストール時に関連するパッケージのサイズなど、プロジェクトのホームページに関する非常に便利な情報にアクセスできます。

図9.7 PackageKit's Add/Remove Software ウィンドウを使用したパッケージの表示およびインストール

PackageKit's Add/Remove Software ウィンドウを使用したパッケージの表示およびインストール
パッケージまたはグループの横にあるチェックボックスを選択すると、そのアイテムがシステムにインストールされていることになります。チェックボックスにチェックを入れるとインストールの マーク が付けられ、適用 ボタンをクリックするとのみ発生します。これにより、実際のインストールトランザクションを実行する前に、複数のパッケージまたはパッケージグループを検索して選択できます。さらに、チェックボックスの選択を解除して、インストールしたパッケージを削除することもできます。また、適用 が押される際に保留中のインストールと共に削除が行われます。インストールまたは削除する追加パッケージを追加する依存関係の解決は、Apply を押した後 に実行します。PackageKit は、インストールまたは削除する追加パッケージを一覧表示するウィンドウを表示し、確認を求めるプロンプトを表示します。
screen を選択し、Apply ボタンをクリックします。その後スーパーユーザーパスワードの入力が求められます。入力すると PackageKit により 画面 がインストールされます。インストールが完了すると、PackageKit が新たにインストールしたアプリケーションの一覧を表示し、すぐに実行を選択できる場合があります。または、パッケージを検索して ソフトウェアの追加ウィンドウで選択すると、GNOME メニューのアプリケーションショートカットが置かれている 場所 が表示されます。これは、実行したい場合に便利です。
インストールしたら、シェルプロンプトに screen を入力して、1 つのターミナルで複数のログインを可能にする 画面 マネージャーを実行できます。
screen は非常に便利なユーティリティーですが、これは必要ありませんが、アンインストールしたいと判断します。最近 利用可能な フィルターのみを変更して FiltersInstalled にインストールした だけ に変更する必要があります。再度 画面 を検索して選択解除します。プログラムが独自の依存関係をインストールしませんでした。これがあった場合、これらのパッケージも自動的に削除されます。他のパッケージの依存関係もシステムにインストールされている限り、そのプログラムは自動的に削除されます。
他のパッケージがそれに依存している場合にパッケージを削除
PackageKit は、パッケージのインストールおよび削除時に依存関係を自動的に解決しますが、そのパッケージに依存するパッケージを削除せずにパッケージを削除することはできません。このタイプの操作は RPM によってのみ実行でき、推奨されません。システムが機能しなくなるか、アプリケーションが誤作動したり、クラッシュしたりする可能性があります。

図9.8 PackageKit のソフトウェアの追加/削除ウィンドウでパッケージの削除

PackageKit のソフトウェアの追加/削除ウィンドウでパッケージの削除

9.2.4. パッケージグループのインストールおよび削除

PackageKit には、パッケージ コレクション を呼び出す Yum パッケージグループをインストールする機能もあります。Software Updates ウィンドウにあるカテゴリーの左上にある Package collections をクリックすると、スクロールして、インストールするパッケージグループを検索できます。この場合、Czech 言語サポート( Czech サポート グループ)をインストールします。このボックスをチェックして apply をクリックすると、パッケージグループの依存関係を満たすために、インストールする必要のある 追加 パッケージの数が表示されます。

図9.9 Czech サポートパッケージグループのインストール

Czech サポートパッケージグループのインストール
同様に、インストールされているパッケージグループをアンインストールするには、Package collections を選択し、適切なチェックボックスの選択を解除して適用します。

9.2.5. トランザクションログの表示

PackageKit は、実行するトランザクションのログを維持します。ログを表示するには、Add/Remove Software ウィンドウから SystemSoftware log をクリックするか、シェルプロンプトで gpk-log コマンドを実行します。
Software Log Viewer には、以下の情報が表示されます。
  • date : トランザクションが実行された日付。
  • アクション - トランザクション中に実行されたアクション( 更新パッケージや インストール されたパッケージ など)。
  • 詳細: 更新され た、Installed、またRemoved などのトランザクションタイプと、影響を受けるパッケージの一覧が続きます。
  • username: アクションを実行するユーザーの名前。
  • アプリケーション: Update System などのアクションの実行に使用したフロントエンドアプリケーション。
上部のテキスト入力フィールドにパッケージの名前を入力すると、そのパッケージに影響するトランザクションのリストをフィルタリングします。

図9.10 Software Log Viewer を使用したパッケージ管理トランザクションのログの表示

Software Log Viewer を使用したパッケージ管理トランザクションのログの表示

9.3. PackageKit Architecture

Red Hat は、お使いのシステムと互換性のあるパッケージおよびパッケージグループを表示、更新、インストール、およびアンインストールするアプリケーションの PackageKit スイートを提供します。アーキテクチャーの観点的には、Packagekit d デーモンバックエンドと通信する複数のグラフィカルフロントエンドで構成されます。これは、Yum を使用してパッケージのインストールや削除などの実際のトランザクションを実行するパッケージマネージャー固有のバックエンドと通信します。
表9.1「PackageKit GUI ウィンドウ、メニューの場所、およびシェルプロンプトコマンド」 GUI ウィンドウの名前、GNOME デスクトップからウィンドウを開始する方法、または ソフトウェアの追加/削除 ウィンドウからウィンドウを開始する方法と、そのウィンドウを開くコマンドラインアプリケーションの名前を表示します。

表9.1 PackageKit GUI ウィンドウ、メニューの場所、およびシェルプロンプトコマンド

ウィンドウタイトル 関数 開く方法 shell コマンド
ソフトウェアの追加/削除 パッケージ情報をインストール、削除、または表示します。
GNOME パネルの使用: SystemAdministrationAdd/Remove Software
gpk-application
ソフトウェアの更新 パッケージの更新の実行
GNOME パネルの使用: SystemAdministrationSoftware Update
gpk-update-viewer
ソフトウェアソース Yum リポジトリーの有効化および無効化
ソフトウェアの 追加/削除:システムソフトウェアソース
gpk-repo
Software Log Viewer トランザクションログの表示
ソフトウェアの 追加/削除:システムログの追加/ 削除
gpk-log
ソフトウェア更新の設定 PackageKit 設定の設定 gpk-prefs
(通知エリアアラート) 更新が利用可能になるとのアラート
GNOME パネルから - SystemPreferencesStartup ApplicationsStartup Programs タブ
gpk-update-icon
packagekitd デーモンは、ユーザーセッションの外部で実行され、さまざまなグラフィカルフロントエンドと通信します。packagekitd デーモン[2] Yum の Python API を使用してクエリーを実行し、システムに変更を加えている別のバックエンドで DBus システムメッセージバスを介して通信します。Red Hat Enterprise Linux や Fedora 以外の Linux システムでは、packagekitd は、そのシステムにネイティブパッケージマネージャーを使用できる他のバックエンドと通信できます。このモジュラーアーキテクチャーは、グラフィカルインターフェースと多くの異なるパッケージマネージャーが動作するために必要な抽象化を提供し、基本的に同じタイプのパッケージ管理タスクを実行します。PackageKit フロントエンドの使用方法を理解すると、Yum 以外のネイティブパッケージマネージャーを使用する場合でも、多くの異なる Linux ディストリビューションで同じグラフィカルインターフェースを使用できます。
さらに、PackageKit は、GUI ウィンドウの 1 つをクラッシュさせる、またはユーザーの X Window セッションもクラッシュさせることで、ユーザーセッション外で実行される packagekitd デーモンによって監視されているパッケージ管理タスクに影響を与えないという信頼性を提供します。
本章で説明するフロントエンドのグラフィカルアプリケーションはすべて、PackageKit およびその依存関係ではなく、gnome-packagekit パッケージで提供されます。
最後に、PackageKit には pkcon と呼ばれるコンソールベースのフロントエンドが同梱されます。


[2] システムデーモンは通常、ユーザーまたは他のプログラムにサービスを提供する長時間実行されるプロセスであり、多くの場合は、特別な初期化スクリプト( init スクリプトに短縮)により起動時に起動されます。デーモンは サービス コマンドに応答し、chkconfig on コマンドまたは chkconfig off コマンドを使用して永続的にオンまたはオフにすることができます。通常、これらは packagekit d デーモンなど、d に追加される名前で認識できます。システムサービスに関する情報は、12章サービスおよびデーモン を参照してください。

9.4. その他のリソース

PackageKit の詳細は、以下に記載のドキュメントを参照してください。

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

  • gpk-application(1): gpk-application コマンドに関する情報が含まれる man ページです。
  • gpk-backend-status(1): gpk-backend-status コマンドに関する情報が含まれる man ページです。
  • gpk-install-local-file(1): gpk-install-local-file コマンドに関する情報が含まれる man ページです。
  • gpk-install-mime-type(1): gpk-install-mime-type コマンドについての情報が含まれる man ページです。
  • gpk-install-package-name(1): qpk-install-package-name コマンドに関する情報が含まれる man ページです。
  • gpk-install-package-name(1): gpk-install-package-name コマンドに関する情報が含まれる man ページです。
  • gpk-prefs(1): gpk-prefs コマンドについての情報が含まれる man ページです。
  • gpk-repo(1): gpk-repo コマンドに関する情報が含まれる man ページです。
  • gpk-update-icon(1): gpk-update-icon コマンドについての情報が含まれる man ページです。
  • gpk-update-viewer(1): gpk-update-viewer コマンドについての情報が含まれる man ページです。
  • pkcon(1) および pkmon(1): PackageKit コンソールクライアントに関する情報が含まれる man ページ。
  • pkgenpack(1): PackageKit Pack Generator に関する情報が含まれる man ページです。

オンラインドキュメント

  • PackageKit ホームページ - PackageKit ホームページで、PackageKit ソフトウェアスイートに関する詳細情報が記載されます。
  • PackageKit FAQ - PackageKit ソフトウェアスイートに関する Frequently Asked Questions に関する情報一覧。

その他の参考資料

  • 8章Yum Yum(Red Hat パッケージマネージャー)について説明しています。

パート IV. ネットワーク

ここでは、Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux でネットワークを設定する方法を説明します。

第10章 NetworkManager

NetworkManager は、動的ネットワーク制御および構成システムで、利用可能なときにネットワークデバイスと接続が起動してアクティブな状態を維持しようとします。NetworkManager は、ネットワークステータス情報を提供する GNOME Notification Area アプレットであるコアデーモンと、接続およびインターフェースの作成、編集、削除が可能なグラフィカル設定ツールで構成されます。NetworkManager は、Ethernet、ワイヤレス、モバイルブロードバンド(cellular 3G)、DSL および PPPoE (イーサネット経由のPoint-to-Point over Ethernet)などの接続の種類を設定できます。また、NetworkManager は、ネットワークエイリアス、静的ルート、DNS 情報、VPN 接続、および多くの接続固有のパラメーターの設定を可能にします。最後に、NetworkManager は、D-Bus を介して豊富な API を提供します。これにより、アプリケーションはネットワーク設定と状態をクエリーし、制御できます。
以前のバージョンの Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux には、コマンドラインの呼び出し後に system-config-network と呼ばれるネットワーク 管理ツール が含まれていました。Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 では、NetworkManager は former Network Administration Tool を置き換え、ユーザー固有やモバイルブロードバンド設定などの強化された機能を提供します。インターフェース設定ファイルを編集して、Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 でネットワークを設定することもできます。詳細は、11章Network Interfaces を参照してください。
NetworkManager は、お使いの Red Hat Enterprise Linuxnbsp;Hat Enterprise Linuxnbsp;Linux バージョンにデフォルトでインストールできます。インストールされていることを確認するには、root で以下のコマンドを実行します。
~]# yum install NetworkManager

10.1. NetworkManager デーモン

NetworkManager デーモンは root 権限で実行され、通常起動時に起動するように設定されています。NetworkManager デーモンが実行しているかどうかを確認するには、root で次のコマンドを実行します。
~]# service NetworkManager status
    NetworkManager (pid  1527) is running...
service コマンドは、NetworkManager サービスが実行していない場合は NetworkManager is stopped を報告します。現行セッションで開始するには、以下を実行します。
~]# service NetworkManager start
chkconfig コマンドを実行して、システムが起動するたびに NetworkManager が起動していることを確認します。
~]# chkconfig NetworkManager on
サービスおよびランレベルの開始、停止、および管理の詳細は、12章サービスおよびデーモン を参照してください。

10.2. NetworkManager との対話

ユーザーは、NetworkManager システムサービスを直接対話しません。代わりに、NetworkManager の Notification Area アプレットを介してネットワーク設定タスクを実行できます。アプレットには、現在使用している接続タイプの視覚的なインジケーターとして機能する複数の状態があります。現在の接続状態に関するツールチップ情報のアプレットアイコンにポインターを合わせます。

図10.1 NetworkManager アプレットの状態

NetworkManager アプレットの状態
GNOME パネルに NetworkManager アプレットが表示されておらず、NetworkManager パッケージがシステムにインストールされていることを仮定すると、以下のコマンドを通常のユーザーとして( rootではなく)実行してアプレットを起動できます。
~]$ nm-applet &
このコマンドを実行すると、アプレットが Notification Area に表示されます。SystemPreferencesStartup Applications+Startup Applications Preferences ウィンドウを開くことで、アプレットがログインするたびに実行されることを確認できます。次に、Startup Programs タブを選択し、NetworkManager の横にあるチェックボックスを選択します。

10.2.1. ネットワークへの接続

アプレットアイコンをクリックすると、以下が表示されます。
  • 現在接続している分類されたネットワークの一覧(Wire redWirelessなど)
  • NetworkManager が検出した 利用可能なネットワーク の一覧
  • 設定済みの仮想プライベートネットワーク(VPN)への接続オプション、および
  • 非表示ネットワークまたは新しいワイヤレスネットワークに接続するためのオプション。
ネットワークに接続している場合は、その名前は、WiredWireless などのネットワークタイプの下に太字の型エリアで表示されます。ワイヤレスアクセスポイントなど、多くのネットワークが利用可能な場合には、その他のネットワーク 拡張可能なメニューエントリーが表示されます。

図10.2 NetworkManager アプレットの左側のメニューで、利用可能かつ接続されたネットワークをすべて表示します。

NetworkManager アプレットの左側のメニューで、利用可能かつ接続されたネットワークをすべて表示します。

10.2.2. 既存接続の設定および編集

次に、NetworkManager アプレットを右クリックしてコンテキストメニューを開きます。コンテキストメニューは、NetworkManager と対話して接続を設定するための主要なエントリーポイントです。

図10.3 NetworkManager アプレットのコンテキストメニュー

NetworkManager アプレットのコンテキストメニュー
Enable Networking ボックスにチェックマークが付いていることを確認します。システムがワイヤレスカードを検出した場合は、Enable Wireless メニューオプションも表示されます。Enable Wireless チェックボックスもチェックします。通知の 有効化 ボックスにチェックを入れると、NetworkManager によりネットワーク接続のステータスの変更が通知 されます。Connection Information エントリーをクリックすると、接続タイプおよびインターフェース、IP アドレス、ルーティングの詳細などを一覧表示する参考 Connection Information ウィンドウが表示されます。
最後に、Edit Connections をクリックすると、ネットワーク設定タスクのほとんどを実行できる Network Connections ウィンドウが開きます。このウィンドウは、通常のユーザーとして実行して開くこともできます。
~]$ nm-connection-editor &

図10.4 ネットワーク接続ウィンドウを使用したネットワークの設定

ネットワーク接続ウィンドウを使用したネットワークの設定
左に矢印記号があり、クリックしてエントリーを非表示にし、必要に応じてエントリーを表示します。新しい接続を作成するには、Add ボタンをクリックして選択一覧を表示し、接続タイプを選択して Create ボタンをクリックします。既存の接続を編集するには、一覧からインターフェース名を選択し、編集 ボタンをクリックします。
そして、以下のいずれかの設定をします。

10.2.3. ネットワークの自動接続

追加や設定を行うすべての接続で、ネットワークが利用可能な時に NetworkManager が自動的に接続を試行するかどうか選択することができます。

手順10.1 検出時にネットワークに自動的に接続する NetworkManager の設定

  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 必要に応じて矢印ヘッドをクリックして、接続の一覧を表示します。
  3. 設定する特定のコネクションを選択し、Edit をクリックします。
  4. Connect を自動的 にチェックすると、NetworkManager が接続が利用可能であることを NetworkManager が検出されるたびに、NetworkManager が接続に自動接続できるようにします。NetworkManager が自動的に接続しない場合は、チェックボックスの選択を解除します。ボックスのチェックを外す場合は、NetworkManager アプレットの左側のメニューでその接続を手動で選択して、接続できるようにする必要があります。

10.2.4. ユーザーおよびシステム接続

NetworkManager 接続は常に、ユーザー接続または システム接続 のいずれかです。管理者が設定したシステム固有のポリシーによっては、システム接続の作成および変更には root 権限が必要になる場合があります。NetworkManager のデフォルトポリシーを使用すると、ユーザーはユーザー接続を作成および変更できますが、システム接続を追加、変更、または削除するには root 権限が必要になります。
ユーザー接続は、作成するユーザーに固有のため、この接続と呼ばれます。システムの接続とは対照的に、設定が /etc/sysconfig/network-scripts/ ディレクトリー(主に ifcfg- <network_type > インターフェース設定ファイル)に保存され、ユーザー接続設定は GConf 設定データベースと GNOME キーリングに保存され、作成したユーザーのログインセッションにのみ利用できます。したがって、デスクトップセッションからログアウトすると、ユーザー固有の接続が利用できなくなります。
ユーザー固有の VPN 接続を作成してセキュリティーを強化する
NetworkManager は GConf および GNOME キーリングアプリケーションを使用してユーザー接続設定を保存します。これらの設定はデスクトップセッションに固有のため、ユーザー接続として個人の VPN 接続を設定することを強く推奨します。これを行うと、システム上の他のroot 以外のユーザーは、これらの接続を表示したり、アクセスしたりできません。
一方、システム接続は起動時に利用可能になり、デスクトップセッションに最初にログインせずにシステム上の他のユーザーが使用できます。
NetworkManager は、システム接続に迅速かつ便利に変換できます。また、その逆も同様です。ユーザー接続をシステム接続に変換すると、NetworkManager/etc/sysconfig/network-scripts/ ディレクトリーに関連するインターフェース設定ファイルを作成し、ユーザーのセッションから GConf 設定を削除します。逆に、システムをユーザー固有の接続に変換すると、NetworkManager はシステム全体の設定ファイルを削除し、対応する GConf/GNOME キーリング設定を作成します。

図10.5 すべてのユーザーが使用できる チェックボックスは、接続がユーザー固有か、またはシステム全体であるかを制御します。

すべてのユーザーが使用できる チェックボックスは、接続がユーザー固有か、またはシステム全体であるかを制御します。

手順10.2 System-Wide または Vice-Versa の代わりに接続をユーザー固有のものに変更

root 権限が必要になる場合があります。
システムのポリシーによっては、接続がユーザー固有か、またはシステム全体であるかを変更するために、システムで root 権限が必要になる場合があります。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 必要に応じて、矢印ヘッド(左側上)を選択して非表示にし、利用可能なネットワーク接続の種類を表示します。
  3. 設定する特定のコネクションを選択し、Edit をクリックします。
  4. Available to all users チェックボックスをチェックして、NetworkManager にシステム全体の接続させるように要求します。システムポリシーによっては、PolicyKit アプリケーションによって root パスワードの入力が求められます。その場合は、root パスワードを入力して変更の最終処理を行います。
    逆に、Available to all users チェックボックスの選択を解除して、接続ユーザー固有のものにします。

10.3. 接続の確立

10.3.1. Wired(イーサネット)接続の確立

有線ネットワーク接続を確立するには、NetworkManager アプレットを右クリックしてコンテキストメニューを開き、Enable Networking ボックスをチェックして Edit Connections をクリックします。これにより、Network Connections ウィンドウが開きます。このウィンドウは、通常のユーザーとして実行して開くこともできます。
~]$ nm-connection-editor &
矢印ヘッドをクリックして、必要に応じて接続の一覧を表示し、非表示にすることができます。

図10.6 新規作成したシステム eth0 接続を示す Network Connections ウィンドウ

新規作成したシステム eth0 接続を示す Network Connections ウィンドウ
システム起動スクリプトは、デフォルトですべてのシステムで System eth0 という名前の単一の有線接続を作成して設定します。System eth0 を編集できますが、カスタム設定に新しい有線接続を作成することが推奨されます。新しい有線接続を作成するには、Add ボタンをクリックして、表示される一覧から Wired エントリーを選択してから Create ボタンをクリックします。

図10.7 「Choose a Connection Type」リストから新しい接続タイプの選択

「Choose a Connection Type」リストから新しい接続タイプの選択
接続を追加および編集するダイアログは同じです。
Add ボタンをクリックして新しい接続を追加すると、接続タイプの一覧が表示されます。選択を作成して Create ボタンをクリックすると、NetworkManager により、その接続用の新しい設定ファイルが作成され、既存の接続の編集に使用するのと同じダイアログが表示されます。このダイアログには違いがありません。実際、接続は常に編集されます。相違点は、接続がすでに存在しているか、Create をクリックして NetworkManager作成 した場合にのみ、相違点になります。

図10.8 新規作成した Wired 接続システム eth0 の編集

新規作成した Wired 接続システム eth0 の編集

接続名、自動接続の動作、可用性の設定

編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
  • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの Wired セクションでこの接続を一覧表示するために使用されます。
  • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
  • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。

Wired タブの設定

最後の 3 つの設定可能な設定は Wired タブ自体にあります。1 つ目は、MAC(Media Access Control)アドレスを指定でき、2 つ目はクローンされた MAC アドレスを指定でき、3 つ目は MTU(Maximum Transmission Unit)値を指定できます。通常、MAC アドレス フィールドを空白のままにし、MTUautomatic に設定できます。有線接続を 2 つまたは特定の NIC に関連付けるか、または高度なネットワークを実行していない限り、これらのデフォルト設定で十分です。このような場合は、以下の説明を参照してください。
MAC Address
ネットワークインターフェースカード(NIC)などのネットワークハードウェアには、システムを識別する一意の MAC アドレス(Media Access Control とも呼ばれる)があります。ip addr コマンドを実行すると、各インターフェースに関連付けられた MAC アドレスが表示されます。たとえば、以下の ip addr 出力では、eth0 インターフェースの MAC アドレス( 52:54:00:26:9e:f1)は即座に link/ether キーワードに従います。
~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 52:54:00:26:9e:f1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.251/24 brd 192.168.122.255 scope global eth0
    inet6 fe80::5054:ff:fe26:9ef1/64 scope link
       valid_lft forever preferred_lft forever
1 つのシステムに 1 つ以上の NIC をインストールできます。したがって、MAC アドレス フィールドを使用すると、特定の NIC を特定の接続(または接続)に関連付けることができます。説明したように、ip addr コマンドを使用して MAC アドレスを判別し、その値を MAC アドレス の text-entry フィールドにコピーして貼り付けます。
このような状況で使用するクローンされた MAC アドレスフィールドは、ネットワークサービスが特定の MAC アドレスに制限されているため、その MAC アドレスをエミュレートする必要があります。
MTU
MTU(Maximum Transmission Unit)の値は、接続が送信に使用する最大パケットのサイズ(バイト単位)を表します。IPv6 に IPv4 または変数名 1500 以上を使用する場合、この値はデフォルトで 1280 に設定されるため、通常は指定したり変更したりする必要はありません。

新規 (または修正した) 接続を保存して他の設定を行う

有線接続の編集が終了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

10.3.2. ワイヤレス接続の確立

本セクションでは、NetworkManager を使用して、アクセスポイントへのワイヤレス(Wi-Fi または 802.11a/b/g/n)接続を設定する方法を説明します。
モバイルブロードバンド(3G など)接続を設定するには、「モバイルブロードバンド接続の確立」 を参照してください。

利用可能なアクセスポイントへの迅速な接続

利用可能なアクセスポイントに接続する最も簡単な方法は、NetworkManager アプレットで、利用 可能な ネットワーク一覧のアクセスポイントの Service Set Identifier (SSID)を特定することです。アクセスポイントが保護されると、認証を求めるダイアログが表示されます。

図10.9 ワイヤレスアクセスポイントへの認証

ワイヤレスアクセスポイントへの認証
NetworkManager は、アクセスポイントが使用するセキュリティーの出塁を自動検出しようとします。複数の可能性がある場合、NetworkManager はセキュリティータイプを推測し、ワイヤレスセキュリティー ドロップダウンメニューで表示します。複数の選択肢があるかどうかを確認するには、ワイヤレスセキュリティー ドロップダウンメニューをクリックし、アクセスポイントが使用するセキュリティーのタイプを選択します。不明な場合は、各タイプに順次接続を試みます。最後に、パスワード フィールドにキーまたはパスフレーズを 入力 します。40 ビットの WEP キーまたは 128 ビットの WPA キーは、必要な長さがないと無効になります。選択したセキュリティーの種類に必要な分だけ鍵を入力するまで、Connect ボタンは無効になります。ワイヤレスセキュリティーの詳細は、「ワイヤレスセキュリティーの設定」 を参照してください。
同じアクセスポイント上でのリング防止
WPA および WPA2(Personal と Enterprise)の場合、Auto、WPA、および WPA2 間で選択するオプションが追加されました。このオプションは、WPA と WPA2 の両方を提供するアクセスポイントでの使用を目的としています。2 つのプロトコル間でローミングされないようにする場合は、いずれかのプロトコルを選択します。同じアクセスポイントの WPA と WPA2 をローミングすると、サービスが失われる可能性があります。
NetworkManager がアクセスポイントに正常に接続すると、アプレットアイコンがワイヤレス接続のシグナル強度のグラフィックインジケーターに変更されます。

図10.10 ワイヤレス接続シグナルの強度が 75% を示すアプレットアイコン

ワイヤレス接続シグナルの強度が 75% を示すアプレットアイコン
また、自動作成されたアクセスポイント接続の設定を、あたかも自分で追加したように編集することもできます。Network Connections ウィンドウの Wireless タブには、接続を試みた接続がすべて表示されます。NetworkManager の名前は Auto <SSID> です。SSID はアクセスポイント のサービスセット識別子 です。

図10.11 以前に接続されていたアクセスポイントの例

以前に接続されていたアクセスポイントの例

非表示のネットワークへの接続

すべてのアクセスポイントには、識別用の SSID( Service Set Identifier )があります。ただし、アクセスポイントはその SSID をブロードキャストしないように設定されていることがあります。この場合は非表示となり、NetworkManager利用可能なネットワーク一覧には表示されなくなります。ただし、その SSID と認証方法と秘密情報が分かっていれば、SSID を非表示としているワイヤレスアクセスポイントに接続することは可能です。
非表示のワイヤレスネットワークに接続するには、NetworkManager のアプレットアイコンの左側にある Connect to Hidden Wireless Network を選択するとダイアログが表示されます。非表示のネットワークに接続している場合は、Connection ドロップダウンを使用して選択し、Connect をクリックします。作成していない場合は、Connection ドロップダウンを New のままにし、非表示ネットワークの SSID を入力し、ワイヤレスセキュリティー メソッドを選択して正しい認証シークレットを入力して Connect をクリックします。
ワイヤレスセキュリティーの設定に関する詳細は、「ワイヤレスセキュリティーの設定」 を参照してください。

接続の編集または新規作成

ネットワーク 接続を試みた、または過去に接続した既存の接続を編集するには、ネットワーク接続の ワイヤレス タブを開き、名前で接続を選択します( Auto に続くキーワードはアクセスポイントの SSID を参照)、Edit をクリックします。
Network Connections ウィンドウを開き、Add ボタンをクリックして ワイヤレス を選択し、Create ボタンをクリックします。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. Add ボタンをクリックします。
  3. 一覧から Wireless エントリーを選択します。
  4. 作成 ボタンをクリックします。

図10.12 新規作成されたワイヤレス接続 1 の編集

新規作成されたワイヤレス接続 1 の編集

接続名、自動接続の動作、可用性の設定

編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
  • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの Wireless セクションでこの接続を一覧表示するために使用されます。デフォルトでは、ワイヤレス接続の名前はワイヤレスアクセスポイントの SSID と同じです。接続機能に影響を与えることなくワイヤレス接続の名前を変更できますが、SSID 名を保持することが推奨されます。
  • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
  • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。

ワイヤレスタブの設定

SSID
すべてのアクセスポイントには、サービスセット識別子 で特定できます。ただし、アクセスポイントはその SSID をブロードキャストしないように設定されていることがあります。この場合は非表示となり、NetworkManager利用可能なネットワーク一覧には表示されなくなります。SSID(および認証シークレット)を知っている限り、SSID を隠しているワイヤレスアクセスポイントに接続できます。
非表示のワイヤレスネットワークへの接続方法は、「非表示のネットワークへの接続」 を参照してください。
モード
infrastructure: 専用のワイヤレスアクセスポイントに接続する場合、またはルーターやスイッチなどのネットワークデバイスに構築されたインフラストラクチャーの場合は、Mode Infrastructure に設定します。
アドホック: 2 つ以上のモバイルデバイス間で直接通信するようにピアツーピアネットワークを作成する場合は、Mode Ad-hoc に設定します。802.11 標準で Independent Basic Service Set (IBSS)と呼ばれる アドホック モードを使用する場合は、参加するすべてのワイヤレスデバイスに同じ SSID を設定し、それらすべてが同じチャンネルで通信されるようにする必要があります。
BSSID
Basic Service Set Identifier(BSSID)は、インフラストラクチャー モードで接続する特定のワイヤレスアクセスポイントの MAC アドレスです。このフィールドはデフォルトで空白になっており、BSSID を指定せずに SSID でワイヤレスアクセスポイントに接続できます。BSSID を指定している場合は、システムによる特定のアクセスポイントのみへの関連付けが強制的に実行されます。
アドホックネットワークが作成されると、BSSID は、アドホックネットワークの作成時に mac80211 サブシステムによって無作為に生成されます。これは NetworkManager では表示されません。
MAC アドレス
イーサネットネットワークインターフェースカード(NIC)と同様に、ワイヤレスアダプターには、システムを識別する一意の MAC アドレス(Media Access Control、または ハードウェアアドレス)があります。ip addr コマンドを実行すると、各インターフェースに関連付けられた MAC アドレスが表示されます。たとえば、以下の ip addr 出力では、wlan0 インターフェースの MAC アドレス( 00:1c:bf:02:f8:70link/ether キーワードの直後)に従います。
~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 52:54:00:26:9e:f1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.251/24 brd 192.168.122.255 scope global eth0
    inet6 fe80::5054:ff:fe26:9ef1/64 scope link
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:1c:bf:02:f8:70 brd ff:ff:ff:ff:ff:ff
    inet 10.200.130.67/24 brd 10.200.130.255 scope global wlan0
    inet6 fe80::21c:bfff:fe02:f870/64 scope link
       valid_lft forever preferred_lft forever
単一システムには、1 つまたは複数のワイヤレスネットワークアダプターを接続することができます。そのため、MAC アドレス フィールドで、特定のワイヤレスアダプターと特定の接続 (単一または複数) の関連付けを可能にしています。説明したように、ip addr コマンドを使用して MAC アドレスを判別し、その値を MAC アドレス の text-entry フィールドにコピーして貼り付けます。
MTU
MTU(Maximum Transmission Unit)の値は、接続が送信に使用する最大パケットのサイズ(バイト単位)を表します。 ゼロ以外の数値を設定すると、指定されたサイズのパケットまたは小さいパケットのみが送信されます。より大きなパケットは複数のイーサネットフレームに分割されます。この設定は、自動 のままにすることが推奨されます。

新規 (または修正した) 接続を保存して他の設定を行う

ワイヤレス接続の編集が終了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットからこれを選択して、修正した接続に正常に接続できます。ネットワークの選択および接続の詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

10.3.3. モバイルブロードバンド接続の確立

NetworkManager のモバイルブロードバンド接続機能を使用すると、以下の 2G3G のサービスに接続することができます。
  • 2g - GPRS一般パケット通信サービス)または EDGEGSM Evolution 用のデータレートの強化
  • 3g - UMTS (Universal Mobile Telecommunications System)または HSPA (High Speed Packet Access)
接続を作成するには、使用中のシステムがすでに発見して認識しているモバイルブロードバンドのデバイス (モデム) をコンピューターが備えている必要があります。そのようなデバイスはコンピューターに内蔵されている場合 (多くのノートブックやネットブック) と、外付けまたは内蔵のハードウェアとして提供されている場合があります。たとえば、PC カードや USB モデム、ドングル、モデムとして機能する携帯電話などです。

手順10.3 新しいモバイルブロードバンド接続の追加

Network Connections ウィンドウを開き、Add をクリックして、一覧から Mobile Broadband を選択して、モバイルブロードバンド接続を設定できます。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. Add ボタンをクリックして選択リストを開きます。Mobile Broadband を選択し、Create クリックします。Set up a Mobile Broadband Connection Assistant が表示されます。
  3. このモバイルブロードバンドデバイス用の接続を作成 の下で、その接続で使用する 2G または 3G に対応したデバイスを選択します。ドロップダウンメニューが非アクティブの場合、これはシステムがモバイルブロードバンドが可能なデバイスを検出できなかったことを示します。この状況では、キャンセル をクリックして、モバイルブロードバンドの機能を持ったデバイスが接続されており、それがコンピューターに認識されていることを確認してください。Forward ボタンをクリックします。
  4. 一覧からサービスプロバイダーが置かれている国を選択し、forward ボタンをクリックします。
  5. 一覧からプロバイダーを選択するか、手動で入力します。Forward ボタンをクリックします。
  6. ドロップダウンメニューから支払い計画を選択し、Access Point Name (APN)が正しいことを確認します。Forward ボタンをクリックします。
  7. 設定を確認して、適用 ボタンをクリックします。
  8. の手順に従って、モバイルブロードバンド固有の設定を編集します。これには、の下の Mobile Broadband タブ の説明を参照し、モバイルブロードバンド固有の設定を編集します。

手順10.4 既存のモバイルブロードバンド接続を編集する

以下の手順に従って、既存のモバイルブロードバンド接続を編集します。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 編集する接続を選択して、編集 ボタンをクリックします。
  3. Mobile Broadband タブを選択します。
  4. 接続名、自動接続の動作、および可用性のセッティングを設定します。
    編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
    • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの Mobile Broadband セクションでこの接続を一覧表示するために使用されます。
    • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
    • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。
  5. の手順に従って、モバイルブロードバンド固有の設定を編集します。これには、の下の Mobile Broadband タブ の説明を参照し、モバイルブロードバンド固有の設定を編集します。

新規 (または修正した) 接続を保存して他の設定を行う

モバイルブロードバンド接続の編集が終了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

モバイルブロードバンドタブの設定

アシスタントを使用した新しいモバイルブロードバンド接続がすでに追加されている場合(指示については 手順10.3「新しいモバイルブロードバンド接続の追加」 を参照)、ホームページが利用できない場合に Mobile Broadband タブを編集してロミングを無効にするか、ネットワーク ID を割り当てるか、NetworkManager が接続を使用する際に特定のテクノロジー(3G または 2G など)を選択するように指示できます。
数値
GSM ベースのモバイルブロードバンドネットワークでの PPP 接続を確立するためにダイアルする番号です。このフィールドは、ブロードバンドデバイスの初期インストールの際に自動設定されている場合があります。通常、このフィールドは空白で残し、代わりに APN を記入します。
Username
ネットワークでの認証に使用するユーザー名を記入します。一部のプロバイダーは、ユーザー名を提供しないことや、ネットワーク接続の時点でユーザー名を受け付けたりすることがあります。
Password
ネットワークで認証に使用するパスワードを記入します。一部のプロバイダーはパスワードを提供しなかったり、またはすべてのパスワードを受け付けたりします。
APN
GSM ベースのネットワークとの接続を確立するために使用する Access Point Name (APN) を記入します。これは以下の項目を決定するので、正しい APN を記入することが重要になります。
  • ネットワーク使用率についてユーザーが請求する方法、またはその両方
  • ユーザーがインターネット、イントラネット、サブネットワークにアクセスできるかどうか。
ネットワーク ID
ネットワーク ID を記入すると、NetworkManager は強制的にデバイスが特定のネットワークのみに登録されるようにします。これにより、ローミングを直接に制御できない時に接続がローミングしないようにします。
Type
Any: デフォルト値の Any では、モデムが最速のネットワークを選択します。
3G (UMTS/HSPA): 接続が 3G ネットワーク技術のみを使用するように強制します。
2G (GPRS/EDGE): 接続が 2G ネットワーク技術のみを使用するように強制します。
Prefer 3G (UMTS/HSPA): 最初に HSPA または UMTS などの 3G 技術を使用した接続を試み、失敗した後にのみ GPRS または EDGE にフォールバックします。
Prefer 2G (GPRS/EDGE): 最初に GPRS または EDGE などの 2G 技術を使用した接続を試み、失敗した後にのみ HSPA または UMTS にフォールバックします。
ホームネットワークが使用できない場合にローミングを許可
ホームネットワークからローミングへの移行ではなく、NetworkManager が接続を終了するようにするには、このボックスからチェックを外します。これにより、ローミング料金を回避できます。ボックスにチェックが入っていると、NetworkManager はホームネットワークからローミングに、またはその逆に切り替えることで接続を維持しようとします。
PIN
デバイスの SIM (Subscriber Identity Module (購読者識別モジュール)) が PIN (Personal Identification Number (個人識別番号)) でロックされている場合は、その PIN を入力して NetworkManager がデバイスのロックを解除できるようにします。どんな目的でもデバイスの使用に PIN を必要とする場合は、NetworkManager は SIM をロック解除する必要があります。

10.3.4. VPN 接続の確立

暗号化された仮想プライベートネットワーク(VPN)を確立することで、ローカルエリアネットワーク(LAN)と、別のリモート LAN との間で安全に通信できます。VPN 接続を正常に確立した後、VPN ルーターまたはゲートウェイは送信したパケットに対して以下のアクションを実行します。
  1. ルーティングおよび認証目的で 認証ヘッダー を追加します。
  2. パケットデータを暗号化します。
  3. データを暗号化および処理手順を構成する Encapsulating Security Payload(ESP)で囲みます。
受信側の VPN ルーターはヘッダー情報を開いてデータを暗号化解読し、それを目的地 (ネットワーク上のワークステーションまたは他のノード) に送信します。ネットワーク対ネットワークの接続を使用すると、ローカルネットワーク上の受信側ノードはすでに暗号化解読されいてすぐに処理ができる状態のパケットを受信します。したがって、ネットワーク間 VPN 接続の暗号化/復号化プロセスは、クライアントに対して透過的になります。
VPN は認証と暗号化で複数のレイヤーを使用するため、複数のリモートノードを統合してひとつのイントラネットとして作動させる上で安全かつ効果的な手段となります。

手順10.5 新しい VPN 接続の追加

  1. Network Connections ウィンドウを開き、Add ボタンをクリックして、新しい接続リストの VPN セクションから VPN の種類を選択すると、新しい VPN 接続を設定できます。
  2. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  3. Add ボタンをクリックします。
  4. 接続の種類の選択 が表示されます。
  5. VPN プラグインが必要です。
    設定する VPN タイプに適した NetworkManager VPN プラグインがインストールされている必要があります(Red Hat Enterprise Linux 6nbsp;Hat Enterprise Linux 6nbsp;LinuxRed Hat Enterprise Linux 6nbsp;6 に新しいパッケージをインストールする方法は 「パッケージのインストール」 を参照してください)。
    適切なプラグインがインストールされてい ない 場合は、Choose a Connection Type リストの VPN セクションは表示されません。
  6. Choose a Connection Type リストから、接続しているゲートウェイの VPN プロトコルを選択します。一覧の選択に使用できる VPN プロトコルは、インストールされている NetworkManager VPN プラグインに対応します。たとえば、NetworkManager-openswan の場合、libreswan 用の NetworkManager VPN プラグインがインストールされていると、IPsec ベースの VPN は Choose a Connection Type 一覧から選択可能です。
    注記
    Red Hat Enterprise Linux 6.8 では、openswanlibreswan で廃止されました。NetworkManager-openswan openswanlibreswan の両方をサポートするように変更されました。
    正しいものを選択したら、Create ボタンを押します。
  7. Editing VPN Connection 1 ウインドウが表示されます。このウィンドウでは、ステップ 6 で選択した VPN 接続のタイプにカスタマイズされた設定が表示されます。

手順10.6 既存の VPN 接続を編集する

Network Connections ウィンドウを開き、一覧から接続の名前を選択して、既存の VPN 接続を設定できます。次に、編集 ボタンをクリックします。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 編集する接続を選択して、編集 ボタンをクリックします。

図10.13 新規作成された IPsec VPN 接続 1 の編集

新規作成された IPsec VPN 接続 1 の編集

接続名、自動接続の動作、可用性の設定

編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
  • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの VPN セクションでこの接続を一覧表示するために使用されます。
  • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
  • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。

VPN タブの設定

ゲートウェイ
リモート VPN ゲートウェイの名前または IP アドレス。
グループ名
リモートゲートウェイで設定された VPN グループ名です。
ユーザーパスワード
必要に応じて、VPN での認証に使用するパスワードを入力します。
グループパスワード
必要に応じて、VPN での認証に使用するパスワードを入力します。
ユーザー名
必要に応じて、VPN での認証に使用するユーザー名を入力します。
フェーズ1 アルゴリズム
必要な場合は、暗号化チャンネルの認証および設定で使用するアルゴリズムを入力します。
フェーズ2 アルゴリズム
必要な場合は、IPsec ネゴシエーションに使用するアルゴリズムを入力します。
ドメイン
必要な場合は、ドメイン名を入力します。
NAT トラバーサル
Cisco UDP(デフォルト): UDP 経由の IPsec
NAT-T - ESP のカプセル化と IKE 拡張機能は、NAT トラバーサルを処理するために使用されます。
disabled: 特別な NAT 計測値は必要ありません。
Disable Dead Peer Detection - プローブのリモートゲートウェイまたはエンドポイントへの送信を無効にします。

新規 (または修正した) 接続を保存して他の設定を行う

新しい VPN 接続の編集が終了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

10.3.5. DSL 接続の確立

このセクションでは、個人ユーザーや SOHO インストールでよくある DSL モデムルーターの外部の組み合わせではなく、ホスト内に DSL カードが組み込まれているインストールについて説明します。

手順10.7 新しい DSL 接続の追加

Network Connections ウィンドウを開き、Add ボタンをクリックして、新しい接続リストの Hardware セクションから DSL を選択して、新しい DSL 接続を設定できます。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. Add ボタンをクリックします。
  3. 接続の種類の選択 が表示されます。
  4. DSL を選択し、Create ボタンを押します。
  5. DSL 接続 1 の編集 ウィンドウが表示されます。

手順10.8 既存の DSL 接続を編集する

Network Connections ウィンドウを開き、一覧から接続の名前を選択して、既存の DSL 接続を設定できます。次に、編集 ボタンをクリックします。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 編集する接続を選択して、編集 ボタンをクリックします。

接続名、自動接続の動作、可用性の設定

編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
  • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの DSL セクションでこの接続を一覧表示するために使用されます。
  • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
  • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。

DSL タブの設定

Username
サービスプロバイダー認証で使用するユーザー名を入力します。
サービス
指示がない限り、空白のままにします。
パスワード
サービスプロバイダーから提供されたパスワードを入力します。

新規 (または修正した) 接続を保存して他の設定を行う

DSL 接続の編集が完了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

10.3.6. ボンド接続の確立

NetworkManager を使用して、2 つ以上の Wired 接続または Infiniband 接続からボンドを作成できます。最初にボンディングする接続を作成する必要はありません。それは、ボンディングを構成するためのプロセスで設定できます。設定プロセスを完了するには、利用可能なインターフェースの MAC アドレスが必要です。
注記
ボンディングに対する NetworkManager のサポートは、NMI _BOND_VLAN_ENABLED ディレクティブで有効にしてから、NetworkManager を再起動する必要があります。NM_CONTROLLED および NM_BOND_VLAN_ENABLED ディレクティブの説明は、「イーサネットインターフェース」 を参照してください。コマンドラインから NetworkManager などのサービスを再起動する方法は、「サービスの再開」 を参照してください。また、グラフィカルツールの場合は、「Service 設定ユーティリティーの使用」 を参照してください。

手順10.9 新しいボンド接続の追加

Bond 接続を設定するには、Network Connections ウィンドウを開き、Add をクリックして、一覧から Bond を選択します。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. Add ボタンをクリックして選択リストを開きます。Bond を選択し、Create をクリックします。ボンド接続 1 の編集 ウィンドウが表示されます。
  3. Bond タブで 追加 をクリックし、このボンド接続で使用するインターフェースのタイプを選択します。作成 ボタンをクリックします。スレーブタイプを選択するダイアログが表示されるのは、最初のスレーブを作成する時のみです。その後は、すべてのスレーブに同じタイプが自動的に使われます。
  4. bond0 スレーブ 1 の編集 ウィンドウが表示されます。ボンディングする最初のインターフェースの MAC アドレスを入力します。最初のスレーブの MAC アドレスがボンドインターフェース用の MAC アドレスとして使用されます。必要な場合は、ボンドの MAC アドレスとして使用するクローンした MAC アドレスを入力します。Apply ボタンをクリックします。
  5. Authenticate ウインドウが表示されます。続行するには root パスワードを入力します。認証 ボタンをクリックします。
  6. ボンディングスレーブの名前が Bonded Connections ウィンドウ に表示されます。追加 ボタンをクリックしてさらにスレーブ接続を追加します。
  7. 設定を確認して、適用 ボタンをクリックします。
  8. 以下の 「Bond タブの設定」 に移動して、ボンディング固有の設定を編集します。

図10.14 新規作成したボンディング接続 1 の編集

新規作成したボンディング接続 1 の編集

手順10.10 既存のボンド接続を編集する

既存のボンド接続を編集するには以下のステップに従います。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 編集する接続を選択して、編集 ボタンをクリックします。
  3. Bond タブを選択します。
  4. 接続名、自動接続の動作、および可用性のセッティングを設定します。
    編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
    • 接続名: ネットワーク接続の名前を入力します。この名前は、Network Connections ウィンドウの Bond セクションでこの接続を一覧表示するために使用されます。
    • Connect automatically - このチェックボックスを選択すると、NetworkManager が利用可能なときにこの接続に自動接続します。詳細は、「ネットワークの自動接続」 を参照してください。
    • Available to all users - このボックスを選択すると、システムですべてのユーザーが利用できる接続が作成されます。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。
  5. 以下の 「Bond タブの設定」 に移動して、ボンディング固有の設定を編集します。

新規 (または修正した) 接続を保存して他の設定を行う

ボンディング接続の編集が完了したら、適用 ボタンをクリックして、カスタマイズされた設定を保存します。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

Bond タブの設定

新しいボンディング接続がすでに追加されている場合(手順は 手順10.9「新しいボンド接続の追加」 を参照)、Bond タブで負荷共有モードと、スレーブ接続の失敗を検出するために使用するリンク監視の種別を設定できます。
モード
ボンドを構成するスレーブ接続でのトラフィック共有に使われるモード。デフォルトは、ラウンドロビン です。802.3ad などの他の負荷分散モードは、ドロップダウンリストから選択することができます。
リンク監視
ネットワークトラフィックを伝送するスレーブの能力を監視する方法。
以下の負荷分散モードが、モード のドロップダウンリストから選択できます。
ラウンドロビン
耐障害性とロードバランシングにラウンドロビンポリシーを設定します。利用可能な最初のインターフェースからそれぞれのボンディングされたスレーブインターフェースで送受信が順次行われます。このモードは、仮想マシンのブリッジの背後では追加のスイッチ設定がないと機能しない可能性があります。
アクティブバックアップ
耐障害性のためアクティブなバックアップポリシーを設定します。ボンディングインターフェースの中で最初に利用可能になったものから送受信が行われます。別のボンディングされたスレーブインターフェースは、アクティブなボンディングされたスレーブインターフェースが失敗した場合にのみ使用されます。これは、InfiniBand デバイスのボンドで利用可能な唯一のモードです。
XOR
XOR (排他的理論和) を設定します。送受信は選択されたハッシュポリシーに基づいて行われます。デフォルトでは、ハッシュはソースの XOR とスレーブインターフェース数による剰余で宛先 MAC アドレスを掛けて導き出します。このモードでは、宛先が特定のピアになっているトラフィックは常に同一インターフェースで送信されます。宛先は MAC アドレスで決められるので、この方法は同一リンクまたはローカルネットワーク上にあるピアが宛先のトラフィックに最適なものです。トラフィックが単一ルーターを通過する必要がある場合は、このトラフィックバランスのモードは最適ではなくなります。
ブロードキャスト
耐障害性にブロードキャストポリシーを設定します。すべての送信は、すべてのスレーブインターフェースで行われます。このモードは、仮想マシンのブリッジの背後では追加のスイッチ設定がないと機能しない可能性があります。
802.3ad
IEEE 802.3ad 動的リンクアグリゲーションのポリシーを設定します。同一の速度とデュプレックス設定を共有するアグリゲーショングループを作成します。アクティブなアグリゲーターのすべてのスレーブで送受信を行います。802.3ad に対応するネットワークスイッチが必要です。
適応送信のロードバランシング
耐障害性とロードバランシングのための適応型送信ロードバランシング (TLB) ポリシーを設定します。発信トラフィックは、各スレーブインターフェースの現在の負荷に従って分散されます。受信トラフィックは、現在のスレーブにより受信されます。受信しているスレーブが失敗すると、別のスレーブが失敗したスレーブの MAC アドレスを引き継ぎます。このモードは、カーネルボンディングモジュールが認識しているローカルアドレスにのみ、適したものになります。このため、仮想マシンのブリッジの背後では使用できません。
適応ロードバランス
耐障害性とロードバランシングに適応型ロードバランシング (ALB) ポリシーを設定します。IPv4 トラフィック用の送受信ロードバランシングが含まれます。ARP ネゴシエーションにより、受信ロードバランシングが可能です。このモードは、カーネルボンディングモジュールが認識しているローカルアドレスにのみ、適したものになります。このため、仮想マシンのブリッジの背後では使用できません。
以下のリンク監視のタイプは、リンク監視 ドロップダウンリストから選択できます。ボンディングされたインターフェースでどのチャンネルボンディングのモジュールパラメーターが最適な動作をするかテストするとよいでしょう。
MII (Media Independent Interface)
インターフェースのキャリア波の状態を監視します。実行方法は、ドライバーへのクエリー、MII レジスターへの直接クエリー、ethtool を使ったデバイスへのクエリーがあります。利用可能な 3 つのオプションは以下のとおりです。
監視周期
ドライバーもしくはMII レジスターへのクエリーの間隔時間 (ミリ秒単位)
接続遅延
up とレポートされたリンクの使用を試みるまでの待機時間 (ミリ秒単位)。リンクが up とレポートされてからすぐに余計な ARP リクエストが失われた場合に、この遅延は使用できます。これが発生するのは、たとえばスイッチ初期化などの間です。
接断遅延
これまでアクティブだったリンクがdownとレポートされた際に、別のリンクに変更するまでの待ち時間 (ミリ秒単位)。アタッチされたスイッチがバックアップモードに変更するまで比較的長い時間がかかる場合に、この遅延は使用できます。
ARP
アドレス解決プロトコル (ARP) は、1 つ以上のピアにプローブしてリンク層接続の動作具合を判断するために使用されます。これは、送信開始時間および最終受信時間を提供しているデバイスドライバーに依存しています。
以下の 2 つのオプションがあります。
監視周期
ARP リクエストを送信する間隔時間 (ミリ秒単位)。
ARP ターゲット
ARP リクエスト送信先の IP アドレスのコンマ区切り。

10.3.7. VLAN 接続の確立

NetworkManager を使用して、既存のインターフェースを使用して VLAN を作成できます。現在、作成時には、イーサネットデバイスの VLAN のみを作成できます。

手順10.11 新しい VLAN 接続の追加

VLAN 接続を設定するには、Network Connections ウィンドウを開き、Add をクリックして、一覧から VLAN を選択します。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. Add ボタンをクリックして選択リストを開きます。VLAN を選択し、Create をクリックします。VLAN Connection 1 編集 ウィンドウが表示されます。
  3. VLAN タブで、VLAN 接続に使用する親インターフェースをドロップダウンリストから選びます。
  4. VLAN ID を入力します。
  5. VLAN インターフェース名を入力します。これは、作成される VLAN インターフェースの名前です。たとえば、「eth0.1」または「vlan2"」などです。通常、これは親インターフェース名に「.」および VLAN ID を加えたか、または VLAN ID を加えた「vlan」のいずれかです。
  6. 設定を確認して、適用 ボタンをクリックします。
  7. の VLAN タブの説明を参照して、VLAN 固有の設定を 編集します。

手順10.12 既存の VLAN 接続を編集する

既存の VLAN 接続を編集するには以下の手順に従います。
  1. Notification Area の NetworkManager アプレットアイコンを右クリックし、Edit Connections をクリックします。ネットワーク接続 ウィンドウが表示されます。
  2. 編集する接続を選択して、編集 ボタンをクリックします。
  3. VLAN タブを選択します。
  4. 接続名、自動接続の動作、および可用性のセッティングを設定します。
    編集ダイアログの 3 つの設定は、すべての接続タイプに共通します。
    • 接続名: ネットワーク接続の名前を入力します。この名前は、ネットワーク 接続 ウィンドウの VLAN セクションでこの接続を一覧表示するために使用されます。
    • Connect automatically - NetworkManager が利用可能なときにこの接続に自動接続する場合は、このボックスにチェックを付けます。詳細は、「ネットワークの自動接続」 を参照してください。
    • すべてのユーザーが使用 - このボックスにチェックを入れて、システム上のすべてのユーザーが利用可能な接続を作成します。この設定を変更するには、root 権限が必要になる場合があります。詳しくは、「ユーザーおよびシステム接続」 を参照してください。
  5. の VLAN タブの説明を参照して、VLAN 固有の設定を 編集します。

新規 (または修正した) 接続を保存して他の設定を行う

VLAN 接続の編集が終了したら、適用 ボタンをクリックすると、NetworkManager により、カスタマイズされた設定がすぐに保存されます。正しい設定がある場合は、NetworkManager Notification Area アプレットから新しい接続またはカスタマイズされた接続を選択して接続できます。新しい接続または変更された接続の使用に関する詳細は、「ネットワークへの接続」 を参照してください。
既存の接続をさらに設定をするには、ネットワーク接続 ウィンドウ内でその接続を選択し、編集 をクリックして 編集 ダイアログに戻ります。
そして、以下のいずれかの設定をします。

VLAN タブの設定

新しい VLAN 接続がすでに追加されている場合(手順は 手順10.11「新しい VLAN 接続の追加」 を参照)、VLAN タブを編集して親インターフェースと VLAN ID を設定できます。
親インターフェース
ドロップダウンリストから以前に設定したインターフェースを選択できます。
VLAN ID
VLAN ネットワークのトラフィックのタグ付けに使用する ID 番号。
VLAN インターフェース名
作成される VLAN インターフェースの名前。たとえば、「eth0.1」または「vlan2"」などです。
クローンした MAC アドレス
VLAN インターフェースの特定に使用する別の MAC アドレスをオプションで設定します。このアドレスを使って、この VLAN 上で送信されたパケットのソース MAC アドレスを変更することができます。
MTU
VLAN 接続で送信されるパケットに使用する最大転送単位 (MTU) のサイズをオプションで設定します。