Menu Close
Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
導入ガイド
Red Hat Enterprise Linux 6 の導入、設定、管理
エディッション 4
John Ha
David O'Brien
Michael Hideo
Don Domingo
概要
前書き
- グラフィカルパッケージマネージャーの PackageKit とコマンドラインの Yum パッケージマネージャーを使用したパッケージのインストールと管理
- ネットワークの設定 — NetworkManager を使用したイーサネット接続の確立から、サーバー帯域幅を増加させるためのチャンネルボンディングインターフェースの設定
DHCP
、BIND、Apache HTTP サーバー、Postfix、Sendmail 及び他のエンタープライズクラスのサーバーとソフトウェアの設定- Automatic Bug Reporting Tool (自動バグ報告ツール) を使用したユーザー領域のクラッシュデータや
kdump
を使ったカーネル領域のクラッシュデータなど、システムに関する情報の収集 - 簡単なカーネルモジュールの使用とカーネルのアップグレード
1. 本書の対象読者
2. 本書を読むにあたって
- パートI「システムの基本設定」
- ここでは、キーボード設定、日付と時刻の設定、ユーザーとグループの管理、権限の取得など基本的なシステム管理タスクを取り上げます。1章キーボード設定 では、基本的なキーボード設定について説明しています。キーボードのレイアウト変更、パネルへの Keyboard Indicator (キーボード表示器) アプレットの追加、強制的に定期休憩を設定する方法については、本章を参照して下さい。2章日付と時刻の設定 では、システムの日付と時刻の設定について説明しています。日時設定を変更する場合や、リモートの NTP (Network Time Protocol: ネットワーク時刻プロトコル) サーバーを使って時計を同期するようにシステムを設定したい場合は、本章をお読み下さい。3章ユーザーとグループの管理 では、グラフィカルユーザーインターフェースとコマンドラインでのユーザーとグループの管理について取り上げています。システム上でのユーザーとグループの管理、パスワードエージングの有効方法については、本章をお読み下さい。
- パートII「パッケージ管理」
- ここでは、製品サブスクリプションとエンタイトルメントに焦点を置きながら、グラフィカルパッケージ管理ツールである Yum と PackageKit スイートを使用した Red Hat Enterprise Linux でのソフトウェアパッケージの管理方法について説明します。5章システム登録およびサブスクリプションの管理 は、Red Hat Enterprise Linux におけるサブスクリプション管理と利用可能な Red Hat サブスクリプションマネージャツールの概要を説明しています。システムの登録/登録解除、マシンのアクティベート、製品サブスクリプションとエンタイトルメントの処理方法について知りたい場合は、本章をお読み下さい。6章Yum では、Yum パッケージマネージャーについて説明しています。コマンドラインでパッケージを検索/インストール/更新/アンインストールする方法については、本章を参照して下さい。7章PackageKit は、グラフィカルパッケージ管理ツールの PackageKit スイートについて記載しています。グラフィカルユーザーインターフェースを使ってパッケージを検索/インストール/更新/アンインストールする方法を知りたい場合は、本章をお読み下さい。
- パートIII「ネットワーキング」
- ここでは、Red Hat Enterprise Linux でのネットワーク設定方法について紹介します。8章NetworkManager では、NetworkManager と呼ばれる、ネットワークデバイスと接続を利用可能時に常にアクティブに保つ動的ネットワーク制御及び設定システムに焦点を置いています。本章では、
NetworkManager
デーモンの実行方法と通知スペースの該当するアプレットを使用したやりとりの方法について説明しています。9章ネットワークインターフェース は、/etc/sysconfig/network-scripts/
ディレクトリにある様々なインターフェース設定ファイル、インターフェース制御スクリプト、ネットワーク機能ファイルについて取り上げます。ネットワークインターフェースを設定するためのこうしたファイルの使用方法については、本章を参照して下さい。 - パートIV「インフラストラクチャのサービス」
- ここでは、サービスとデーモンの設定、認証設定、リモートログインの有効方法について解説します。10章サービスとデーモン では、ランレベルの概念、そのデフォルトを設定する方法について説明しています。また、各ランレベルで実行するサービスの設定、サービスを開始/停止/再起動する方法についても取り上げています。ご使用のシステムでサービスを管理する方法を知りたい場合は、本章をお読み下さい。11章認証の設定 は、LDAP (Lightweight Directory Access Protocol: ライトウェイトディレクトリアクセスプロトコル)、NIS (Network Information Service: ネットワーク情報サービス) 及び Winbind のユーザーアカウントデータベースから取得したユーザー情報の設定方法を説明して、SSSD (System Security Services Daemon: システムセキュリティサービスデーモン) について紹介します。ご使用のシステムで認証設定が必要な場合は、本章をお読み下さい。12章OpenSSH では、SSH プロトコルによるリモートログインを有効にする方法について説明しています。
sshd
サービスの設定、さらにはssh
、scp
、sftp
クライアントユーティリティに関する基本的な使用方法も取り上げています。マシンにリモートアクセスが必要な場合は、本章をお読み下さい。 - パートV「サーバ−」
- ここでは、Web サーバーの設定方法やネットワーク上でのファイルとディレクトリの共有方法など、サーバーに関連する様々なトピックについて説明します。13章DHCP サーバー では、DHCP (Dynamic Host Configuration Protocol: 動的ホスト構成プロトコル) サーバーとクライアントのインストールについて説明しています。ご使用のシステムに DHCP を設定する必要がある場合は、本章をお読み下さい。14章DNS サーバー では、DNS (Domain Name System: ドメインネームシステム) について紹介し、BIND DNS サーバーをインストール/設定/実行/管理する方法について説明しています。ご使用のシステムに DNS サーバーを設定する必要がある場合は、本章をお読み下さい。15章Web サーバー では、Apache HTTP サーバー 2.2 と呼ばれる Apache Software Foundation が開発した、堅牢でフル装備のオープンソース Web サーバーについて重点を置き解説しています。ご使用のシステムに Web サーバーを設定したい場合は、本章をお読み下さい。16章メールサーバー では、現在使用している最新の電子メールプロトコルや Postfix、Sendmail、Fetchmail、Procmail など電子メールの送受信を行うプログラムについて説明しています。ご使用のシステムにメールサーバーを設定する場合は、本章をお読み下さい。17章ディレクトリサーバー では、LDAPv2 及び LDAPv3 プロトコルのオープンソース実装である OpenLDAP 2.4 をインストール/設定する方法について取り上げます。本章をお読みいただくと、ご使用のシステムにディレクトリサーバーを設定することができます。18章ファイルとプリントサーバー では、SMB (Server Message Block: サーバーメッセージブロック) プロトコルのオープンソース実装である Samba と Red Hat Enterprise Linux に同梱されているプライマリ FTP サーバーである vsftpd をインストール/設定する方法を紹介しています。加えて、プリンターを設定する Printer Configuration (プリンター設定) ツールの使用方法についても説明しています。ご使用のシステムにファイル/プリントサーバーを設定したい場合は、本章をお読み下さい。
- パートVI「監視と自動化」
- ここでは、システム管理者がシステムパフォーマンスのモニター、システムタスクの自動化、バグの報告を行うための各種ツールについて解説します。19章システムモニタリングツール では、システムに関する重要な情報を取得するために使用するアプリケーションとコマンドを説明しています。不可欠なシステム情報の取得方法については、本章をお読み下さい。20章ログファイルの表示と管理 では、
rsyslog
デーモンの設定の他、ログファイルを検索/表示/モニターする方法について説明しています。ログファイルの使用方法については、本章を参照して下さい。22章自動バグ報告ツール (ABRT) では、クラッシュデータを収集し、関連する問題トラッカーにレポートを送信する ABRT と呼ばれるシステムサービスとツールセットについて重点的に説明しています。ご使用のシステムで ABRT を使用する方法については、本章をお読み下さい。23章OProfile では、オーバーヘッドが低いシステム全体のパフォーマンスをモニターするツールである OProfile を取り上げます。ご使用のシステムでの OProfile の使用方法については、本章をお読み下さい。 - パートVII「カーネル、モジュール、及びドライバーの設定」
- ここでは、管理者がカーネルをカスタマイズする場合に役立つ様々なツールを取り上げます。24章手動のカーネルアップグレード は、
yum
の代わりにrpm
コマンドを使用してカーネルパッケージを手動で更新する方法に関する重要な情報を記載しています。Yum パッケージマネージャーでカーネルパッケージを更新できない場合は、本章をお読み下さい。25章カーネルモジュールでの作業 では、カーネルモジュール及びその依存関係を表示/クエリ/ロード/アンロードする方法の他、モジュールパラメーターの設定方法について説明しています。さらに、複数のイーサネットカードの使用やチャンネルボンディングの使用など、カーネルモジュール特有の機能についても取り上げています。カーネルモジュールを扱う場合は、本章をお読み下さい。26章kdump クラッシュリカバリーサービス では、Red Hat Enterprise Linux でkdump
サービスを設定/テスト/使用する方法について記載しています。また、それにより生じるコアダンプを crash デバッグユーティリティを使用して分析する方法の概要も示しています。ご使用のシステムでkdump
を有効にしたい場合は、本章をお読み下さい。 - 付録A 一貫したネットワークデバイスの命名
- 本付録は、ネットワークインターフェース用の一貫性のあるネットワークデバイスの命名、より簡単にインターフェースを検索/識別できるようにシステム上のネットワークインターフェースの名前を変更する機能について取り上げています。本機能を有効/無効にする方法など詳細を知りたい場合は、本付録をお読み下さい。
- 付録B RPM
- 本付録は、Red Hat Enterprise Linux で採用されているオープンパッケージングシステムである RPM (RPM パッケージマネージャー) と
rpm
ユーティリティの使用について主に説明しています。yum
の代わりにrpm
を使用する必要がある場合は、本付録をお読み下さい。 - 付録C X Window System
- 本付録では、Red Hat Enterprise Linux で採用されているグラフィカル環境の X Window System の設定について取り上げています。ご使用の X Window System の設定を調節する必要がある場合は、本付録をお読み下さい。
- 付録D sysconfig ディレクトリ
- 本付録では、
/etc/sysconfig/
ディレクトリにある一部のファイル及びディレクトリについて概説しています。これらのファイルとディレクトリの機能やコンテンツの詳細が知りたい場合は、本付録をお読み下さい。 - 付録E proc ファイルシステム
- 本付録では、仮想ファイルシステムの概念、
proc
ファイルシステム (/proc/
ディレクトリ) 内にある最上位のファイルとディレクトリについて説明しています。このファイルシステムの詳細については、本付録を参照して下さい。
3. 謝辞
パート I. システムの基本設定
第1章 キーボード設定
1.1. キーボードレイアウトの変更

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

図1.2 レイアウトの選択

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

図1.4 レイアウトのテスト
注記


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

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

図1.6 キーボード表示器 の選択

図1.7 キーボード表示器 アプレット
1.3. 一休みの設定

図1.8 一休みの設定

図1.9 休憩中
第2章 日付と時刻の設定
2.1. 日付/時刻のプロパティのツール
system-config-date
のコマンドを入力します。すでに認証されてない限りは、スーパーユーザーのパスワードを入力するよう求められます。

図2.1 認証クエリ
2.1.1. 日付と時刻のプロパティ

図2.2 日付と時刻のプロパティ
- 現在の日付を変更する。 月と年の左右にある矢印を使って、それぞれ変更します。次に、カレンダーの中で日付を選択します。
- 現在の時刻を変更する。 時、分、秒 の横にある上下の矢印ボタンを使用するか、数字を直接変更します。
2.1.2. ネットワーク時刻プロトコルのプロパティ

図2.3 ネットワーク時刻プロトコルのプロパティ
注記
2.1.3. タイムゾーンのプロパティ

図2.4 タイムゾーンのプロパティ
- インタラクティブマップを使用する。 マップの横にある “拡大”/“縮小” ボタンをクリックします。あるいは、マップ上でクリックして、選択した地域を拡大します。次に、希望するタイムゾーンに合う都市を選択します。赤い X が表示され、マップの下にある一覧内のタイムゾーンの選択肢が変更します。
- マップの下にある一覧を使用する。 選択しやすいように特定の大陸内で都市と国がグループ化されています。科学界のニーズに合うように、地理的ではないタイムゾーンも追加されている点に注意して下さい。
2.2. コマンドラインからの設定
~]$ su -
Password:
2.2.1. 日付と時刻の設定
date
コマンドを使ってシステムの日時を手動で設定できます。
- 現在の日付を変更する ためには、シェルプロンプトで次の形式でコマンドを入力します。YYYY は 4 桁の年、MM は 2 桁の月、DD は 2 桁の日付に置き換えて下さい:
~]#
date +%D -s YYYY-MM-DD
例えば 2010 年 6 月 2 日と設定するには、以下のように入力します:~]#
date +%D -s 2010-06-02
- 現在の時刻を変更する ためには、次のコマンドを使用します。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 サーバーがアクセス可能か確認します:
~]#
ntpdate -q server_address
例:~]#
ntpdate -q 0.rhel.pool.ntp.org
- 適切なサーバーが見つかったら、サーバーアドレスを 1 つ以上 ntpdate コマンドの後に付けて実行します:
~]#
ntpdate server_address...
例えば以下のようにします:~]#
ntpdate 0.rhel.pool.ntp.org 1.rhel.pool.ntp.org
エラーメッセージが表示されない限り、システムの時刻は設定されているはずです。「日付と時刻の設定」 のように追加の引数を付けずにdate
と入力すると、現在の設定を確認できます。 - ほとんどの場合、上記のステップで十分です。常に正確な時刻を使用するシステムサービスが 1 つ以上必要な場合にのみ、ブート時の ntpdate の実行を有効にします:
~]#
chkconfig ntpdate on
システムサービスとその設定の詳細については、10章サービスとデーモン を参照して下さい。注記
/var/log/boot.log
システムログに関連するエラーメッセージが出るなど、ブート時にタイムサーバーとの同期が失敗し続ける場合は、次の行を/etc/sysconfig/network
に追加してみて下さい:NETWORKWAIT=1
- vi や nano などのテキストエディターで NTP 設定ファイル
/etc/ntp.conf
を開きます。該当ファイルがない場合は、新しく作成して下さい:~]#
nano /etc/ntp.conf
- 次に、パブリック NTP サーバーの一覧を追加/編集します。Red Hat Enterprise Linux 6 を使用している場合は、次の行がファイルにすでに含まれているはずですが、ニーズに合うように自由に追加/変更して下さい:
server 0.rhel.pool.ntp.org server 1.rhel.pool.ntp.org server 2.rhel.pool.ntp.org
注記
初期同期を迅速にするには、サーバーの各行の最後にiburst
指示文を追加します:server 0.rhel.pool.ntp.org iburst server 1.rhel.pool.ntp.org iburst server 2.rhel.pool.ntp.org iburst
- サーバーの一覧での作業が完了したら、同じファイルで適切なパーミッションを設定し、ローカルホストのみに無制限アクセスを付与します:
restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1
- すべての変更を保存し、エディターを終了してから NTP デーモンを再起動します:
~]#
service ntpd restart
ntpd
デーモンがブート時に開始していることを確認して下さい:~]#
chkconfig ntpd on
第3章 ユーザーとグループの管理
3.1. ユーザーとグループの概要
root
のみ変更することができます。アクセスパーミッションは root
ユーザーとファイルの所有者とも変更できます。
3.1.1. ユーザープライベートグループ
/etc/bashrc
ファイルで設定されます。従来 UNIX システムでは、umask
は 022
に設定されており、ファイルやディレクトリを作成したユーザーのみが修正できるようになっています。このスキームでは、作成者のグループのメンバーを含め 他のどのユーザーも修正を行うことはできません。一方、UPG スキームではどのユーザーもそれぞれ独自のプライベートグループを持っているため、この 「グループ保護」 は必要ありません。
3.1.2. シャドウパスワード
- シャドウパスワードは、暗号化されたパスワードハッシュをあらゆるユーザーから読み取り可能な
/etc/passwd
ファイルからroot
ユーザーのみが読み取り可能な/etc/shadow
に移動することで、システムセキュリティを向上します。 - シャドウパスワードは、パスワードエージングに関する情報を保存します。
- シャドウパスワードを使用すると、
/etc/login.defs
ファイルはセキュリティポリシーを強制できます。
/etc/shadow
ファイルにのみ格納されているため、パスワードエージングの情報を作成/修正するコマンドはいずれも機能しません。以下は、最初にシャドウパスワードを有効にしなければ機能しないユーティリティとコマンドの一覧です。
chage
ユーティリティgpasswd
ユーティリティ-e
または-f
オプションを付けたusermod
コマンド-e
または-f
オプションを付けたuseradd
コマンド
3.2. ユーザー管理ツールの使用
system-config-users
と入力することも可能です。スーパーユーザー権限を持っていない場合は、アプリケーションは root
として認証するようプロンプトします。
3.2.1. ユーザーとグループの表示

図3.1 ユーザーとグループの表示
3.2.2. 新規ユーザーの追加

図3.2 新規ユーザーの追加
注記
/home/username/
内に作成します。ホームディレクトリを作成しないようにするには、ホームディレクトリの作成 チェックボックスのチェックを外すか、ホームディレクトリ テキストボックスの内容を編集してディレクトリを変更します。ホームディレクトリが作成されると、デフォルトの設定ファイルが /etc/skel/
ディレクトリからそこへコピーされます。
3.2.3. 新規グループの追加

図3.3 新規グループ
3.2.4. ユーザープロパティの変更

図3.4 ユーザープロパティ
- ユーザーデータ — ユーザーの追加時に設定する基本情報を示しています。このタブを使用すると、ユーザーの氏名、パスワード、ホームディレクトリ、ログインシェルを変更できます。
- アカウント情報 — 特定の日にアカウントを失効させたい場合は アカウント失効を有効にする を選択します。表示されたフィールドに日付を入力します。ユーザーアカウントをロックしてユーザーがシステムにログインできないようにするには、ローカルパスワードがロックされています にチェックマークを入れて下さい。
- パスワード情報 — ユーザーのパスワードが最後に変更された日を表示します。一定の日数が経過した後にユーザーがパスワードを変更するよう強制的に設定するには、パスワード失効を有効にする を選択して、変更が要求されるまでの日数 フィールドに希望する値を入力します。ユーザーのパスワードが失効するまでの日数、ユーザーがパスワードを変更するよう警告されるまでの日数、アカウントが無効になるまでの日数はすべて変更できます。
- グループ — ユーザーのプライマリグループ、さらにはユーザーをメンバーにしたい他のグループも表示/設定することができます。
3.2.5. グループプロパティの変更

図3.5 グループのプロパティ
3.3. コマンドラインツールの使用
表3.1 ユーザーとグループを管理するためのコマンドラインユーティリティ
ユーティリティ | 詳細 |
---|---|
useradd , usermod , userdel | ユーザーアカウントを追加/修正/削除するための標準ユーティリティです。 |
groupadd , groupmod , groupdel | グループを追加/修正/削除するための標準ユーティリティです。 |
gpasswd | /etc/group 設定ファイルを管理するための標準ユーティリティです。 |
pwck , grpck | パスワード、グループ、関連シャドウファイルを検証するためのユーティリティです。 |
pwconv , pwunconv | 通常のパスワードをシャドウパスワードに変換するため、または逆にシャドウパスワードから通常のパスワードに変換するためのユーティリティです。 |
3.3.1. 新規ユーザーの追加
root
としてシェルプロンプトで以下を入力します:
useradd
[options] username
useradd
コマンドはロックされたユーザーアカウントを作成します。アカウントのロックを解除するには、root
として以下のコマンドを実行して、パスワードを割り当てます:
passwd
username
表3.2 useradd のコマンドラインオプション
オプション | 詳細 |
---|---|
-c 'comment' | comment はあらゆる文字列と置換できます。このオプションは、通常ユーザーの氏名を指定するために使用されます。 |
-d home_directory | デフォルトの /home/username/ の代わりに使用するホームディレクトリです。 |
-e date | YYYY-MM-DD の形式でアカウントを無効にする日付です。 |
-f days | パスワードが失効してからアカウントが無効になるまでの日数です。0 を指定すると、パスワードが失効した直後にアカウントは無効になります。-1 を指定すると、パスワードが失効した後でもアカウントは無効になりません。 |
-g group_name | ユーザーのデフォルトグループ用のグループ名またはグループ番号です。グループはここで指定される以前から存在していなければなりません。 |
-G group_list | ユーザーがメンバーとなる追加 (デフォルト以外) のグループ名またはグループ番号の一覧で、カンマで区切られています。グループはここで指定される以前から存在していなければなりません。 |
-m | ホームディレクトリが存在しない場合は作成します。 |
-M | ホームディレクトリを作成しません。 |
-N | ユーザー用のユーザープライベートグループを作成しません。 |
-p password | crypt で暗号化されたパスワードです。 |
-r | UID が 500 より小さく、ホームディレクトリがないシステムアカウントを作成します。 |
-s | ユーザーのログインシェルです。デフォルトでは /bin/bash に設定されています。 |
-u uid | ユーザーのユーザー ID です。一意の番号で 499 より大きい数でなければなりません。 |
プロセスの説明
useradd juan
コマンドを実行したときに発生する内容を解説したものです:
/etc/passwd
にjuan
の新しい行が作成されます:juan:x:501:501::/home/juan:/bin/bash
この行には以下の特徴があります。- ユーザー名
juan
で始まります。 - パスワードフィールドには
x
があり、システムがシャドウパスワードを使用していることを示しています。 - 499 より大きい数字の UID が作成されます。Red Hat Enterprise Linux では、500 より小さい数字の UID はシステム使用のために保有されています。これらはユーザー用には割り当てないことをお勧めします。
- 499 より大きい数字の GID が作成されます。Red Hat Enterprise Linux では、500 より小さい数字の GID はシステム使用のために保有されています。これらはユーザー用には割り当てないことをお勧めします。
- オプションの GECOS 情報は空白のままです。GECOS フィールドは、氏名や電話番号などユーザーの追加情報を提供するために使用されます。
juan
のホームディレクトリは/home/juan/
に設定されています。- デフォルトのシェルは
/bin/bash
に設定されています。
juan
用の新しい行が/etc/shadow
に作成されます:juan:!!:14798:0:99999:7:::
この行には以下の特徴があります。- ユーザー名
juan
で始まります。 - 2 つの感嘆符 (
!!
) が/etc/shadow
ファイルのパスワードフィールドに表示され、アカウントがロックされます。注記
暗号化されたパスワードが-p
フラグを使用して渡される場合、/etc/shadow
ファイル内のユーザー用の新しい行に置かれます。 - パスワードは有効期限なしに設定されています。
juan
というグループ用の新しい行が/etc/group
に作成されます:juan:x:501:
ユーザーと同じ名前のグループは、ユーザープライベートグループ と呼ばれます。ユーザープライベートグループの詳細については 「ユーザープライベートグループ」 を参照して下さい。/etc/group
に作成された行には、以下の特徴があります。- グループ名
juan
で始まります。 - パスワードフィールドに
x
が表示され、システムがシャドウグループパスワードを使用していることを示しています。 - GID は
/etc/passwd
内に表示されているユーザーjuan
の GID と一致します。
juan
というグループ用の新しい行が/etc/gshadow
に作成されます:juan:!::
この行には以下の特徴があります。- グループ名
juan
で始まります。 - 1 つの感嘆符 (
!
) が/etc/gshadow
ファイルのパスワードフィールドに表示され、グループがロックされます。 - その他のフィールドはすべて空白です。
- ユーザー
juan
用のディレクトリが/home/
ディレクトリ内に作成されます:~]#
ls -l /home
total 4 drwx------. 4 juan juan 4096 Mar 3 18:23 juanこのディレクトリは、ユーザーjuan
とグループjuan
が所有しています。ユーザーjuan
に のみ 読み取り、書き込み 及び 実行 の権限が与えられています。その他のパーミッションはすべて拒否されます。 /etc/skel/
ディレクトリ (デフォルトのユーザー設定を含む) 内のファイルが、新しい/home/juan/
ディレクトリにコピーされます:~]#
ls -la /home/juan
total 28 drwx------. 4 juan juan 4096 Mar 3 18:23 . drwxr-xr-x. 5 root root 4096 Mar 3 18:23 .. -rw-r--r--. 1 juan juan 18 Jun 22 2010 .bash_logout -rw-r--r--. 1 juan juan 176 Jun 22 2010 .bash_profile -rw-r--r--. 1 juan juan 124 Jun 22 2010 .bashrc drwxr-xr-x. 2 juan juan 4096 Jul 14 2010 .gnome2 drwxr-xr-x. 4 juan juan 4096 Nov 23 15:09 .mozilla
juan
と呼ばれるロックされたアカウントがシステム上に存在します。管理者は、これをアクティベートするには passwd
コマンドを使用してアカウントにパスワードを割り当てる必要があります。パスワードエージングのガイドラインを設定するというオプションもあります。
3.3.2. 新規グループの追加
root
としてシェルプロンプトで以下を入力します:
groupadd
[options] group_name
表3.3 groupadd のコマンドラインオプション
オプション | 詳細 |
---|---|
-f , --force | -g gid と共に使用され gid がすでに存在している場合、groupadd はグループ用に別の一意の gid を選択します。 |
-g gid | グループのグループ ID です。一意の番号で 499 より大きい数でなければなりません。 |
-K , --key key=value | /etc/login.defs のデフォルトを上書きします。 |
-o , --non-unique | グループの複製を許可します。 |
-p , --password password | 新規グループ用にこの暗号化されたパスワードを使用します。 |
-r | GID が 500 より小さいシステムグループを作成します。 |
3.3.3. グループディレクトリの作成
/opt/myproject/
ディレクトリ内のファイルで作業する必要があるとします。グループの中にはこのディレクトリのコンテンツの修正を信頼して任せられる人もいますが、全員ではありません。
root
としてシェルプロンプトで以下を入力して、/opt/myproject/
ディレクトリを作成します:mkdir /opt/myproject
- システムに
myproject
グループを追加します:groupadd myproject
/opt/myproject/
ディレクトリのコンテンツとmyproject
グループを関連付けます:chown root:myproject /opt/myproject
- ユーザーがディレクトリ内のファイルを作成できるよう、setgid ビットを設定します:
chmod 2775 /opt/myproject
myproject
グループの全メンバーは /opt/myproject/
ディレクトリ内のファイルを作成/編集することができます。パーミッションが正しく設定されていることを確認するには、以下のコマンドを実行します:
~]# ls -l /opt
total 4
drwxrwsr-x. 3 root myproject 4096 Mar 3 18:31 myproject
3.4. その他のリソース
3.4.1. インストールされているドキュメント
- 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) — システムのパスワードとアカウントの有効期限に関する情報を含むファイルです。
第4章 権限の取得
root
でアクセスすることは危険を伴う場合やシステムおよびデータの大幅な破損につながる可能性もあります。この章では、su
や sudo
といった setuid プログラムを使用して管理者権限を取得する方法を説明します。これらのプログラムを使うと、特定のユーザーが高レベルの制御およびシステムセキュリティーを維持しつつ、通常は root ユーザーしかできないタスクを実行することができます。
4.1. su コマンド
su
を実行すると root パスワードを求められ、認証後に root shell プロンプトが表示されます。
su
コマンドでログインした後は、そのユーザーは root ユーザーとなり、システムへの絶対管理アクセスを持つことになります[1]。さらに、root になるとユーザーは su
コマンドを使って、パスワードを求められることなくシステム上の他のユーザーに変わることができます。
usermod
-G wheel
<username>
wheel
グループに追加したいユーザーに置き換えます。
- パネル上の システム メニューをクリックして 管理 から ユーザーとグループ をクリックして User Manager を表示させます。別の方法では、shell プロンプトで
system-config-users
のコマンドを入力します。 - ユーザー タブをクリックして、ユーザーリストの中から必要なユーザーを選択します。
- ツールバーの 設定 をクリックして、ユーザー設定のダイアログボックスを表示させます (または ファイル メニューで 設定 を選択します) 。
- グループ タブをクリックし、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>
mount
といったコマンドに置き換えます。
sudo
コマンドでは、ハイレベルの柔軟性が可能になります。例えば、/etc/sudoers
設定ファイルに記載されているユーザーのみが sudo
コマンドを使うことができ、root シェルではなく、ユーザーの シェルでコマンドが実行されます。つまり、『Red Hat Enterprise Linux 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>
session required pam_tty_audit.so disable=* enable=root
sudo
コマンドのもう一つの利点は、異なるユーザーのニーズに応じて特定のコマンドへのアクセスを管理者が許可できることです。
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
はデフォルトで、sudo コマンド使用者のパスワードをタイムアウトの 5 分間、保存します。この間にコマンドを続けて使うと、ユーザーはパスワードを要求されません。このため、ユーザーがログイン状態のままワークステーションを離れたりロックしない状態にしておくと、攻撃者に悪用されかねません。この動作は、以下の行を/etc/sudoers
に追加することで変更できます。Defaults timestamp_timeout=<value>
<value> には、指定するタイムアウトの分数を入れます。<value> を 0 にするとsudo
は毎回パスワードを要求します。- sudo 使用者のアカウントが侵害されると、攻撃者は
sudo
を使って管理権限のある新たな shell を開くことができます。sudo /bin/bash
この方法や同様の方法で root として新たな shell を開くと、/etc/sudoers
ファイルで指定されたタイムアウト時間を無視し、新たに開かれたセッションが閉じられるまで攻撃者にsudo
パスワード入力を要求することがなく、理論上は攻撃者に時間無制限の管理アクセスを与えることになります。
4.3. その他のリソース
インストールされているドキュメント
- su(1) -
su
の man ページにはこのコマンドで利用可能なオプションに関する情報があります。 - sudo(8) -
sudo
の man ページには、このコマンドに関する詳細な説明と、sudo
の動作のカスタマイズで利用可能なオプションのリストがあります。 - pam(8) - man ページでは、 Linux 向け Pluggable Authentication Modules の使用方法が説明されています。
オンラインのドキュメント
- Red Hat Enterprise Linux 6 セキュリティガイド - 『セキュリティガイド』 setuid プログラムに関する潜在的なセキュリティー問題をより深く掘り下げるとともに、これらのリスクを緩和するテクニックを提供します。
- Red Hat Enterprise Linux 6 Managing Single Sign-On and Smart Cards - このガイドは主に、 Pluggable Authentication Modules (PAM) とその設定、使用方法の詳細な説明を提供します。
パート II. パッケージ管理
第5章 システム登録およびサブスクリプションの管理
yum
と連動し、サブスクリプション管理とコンテンツ配信を結び付けます。サブスクリプションマネージャーが扱うのはサブスクリプションシステム関連のみです。yum
または他のパッケージ管理ツールは実際のコンテンツ配信を扱います。yum
の使用方法については、6章Yum で説明します。
5.1. Red Hat サブスクリプションマネージャーツールの使用
注記
root
で実行する必要があります。しかし、Red Hat サブスクリプションマネージャーは、サブスクリプションサービスのユーザーアカウントとしてサブスクリプションサービスに接続します。
5.1.1. Red Hat サブスクリプションマネージャー GUI の起動

図5.1 Red Hat サブスクリプションマネージャーメニューオプション
[root@server1 ~]# subscription-manager-gui
5.1.2. サブスクリプションマネージャーのコマンドラインツールの実行
subscription-manager
ツールを使用しても実行できます。このツールは以下のフォーマットになります。
[root@server1 ~]# subscription-manager command [options]
subscription-manager
のヘルプと man ページを参照して下さい。
表5.1 一般的な subscription-manager コマンド
コマンド | 詳細 |
---|---|
register | 新規システムをサブスクリプションサービスに対し登録または特定します。 |
unregister | マシンの登録解除を行います。サブスクリプションは解除され、サブスクリプションサービスからマシンが削除されます。 |
subscribe | マシンに特定のサブスクリプションをアタッチします。 |
redeem | ハードウェアおよび BIOS 情報に基づいて、ベンダーから購入した事前指定済みのサブスクリプションにマシンを自動的にアタッチします。 |
unsubscribe | マシンから特定のサブスクリプションまたはすべてのサブスクリプションを削除します。 |
list | マシンとの互換性があるすべてのサブスクリプションを一覧表示します。マシンに実際にアタッチされているサブスクリプションまたはマシンが利用可能な未使用のサブスクリプションのどちらかになります。 |
5.2. システムの登録および登録解除
5.2.1. GUI からの登録
- サブスクリプションマネージャーを起動します。
[root@server ~]# subscription-manager-gui
- システムが未登録の場合は、インストール済みの製品 タブの右上隅に 登録 ボタンが表示されます。
- 登録に使用するサブスクリプションサーバーを特定するには、サービスのホスト名を入力します。 デフォルトのサービスはカスタマーポータルによるサブスクリプション管理です。 ホスト名は subscription.rhn.redhat.com になります。 Subscription Asset Manager など、 別のサブスクリプションサービスを使用する場合は、ローカルサーバーのホスト名を入力します。証明書ベースのサブスクリプションを認識して使用する各種のサブスクリプションサービスがあります。初回起動時にこれらのサービスにシステムを登録できます。
- カスタマーポータルによるサブスクリプション管理、Red Hat でホストしているサービス (デフォルト) です。
- Subscription Asset Manager、オンプレミスのサブスクリプションサーバーで、 コンテンツ配信はプロキシでカスタマーポータルのサービスに戻します。
- CloudForms System Engine、オンプレミスのサービスでサブスクリプションサービスとコンテンツ配信の両方を処理します。
- ログインするサブスクリプションサービス のユーザー認証情報を入力します。使用するユーザー認証情報はサブスクリプションサービスによって異なります。カスタマーポータルに登録する場合は、管理者または企業アカウントの Red Hat Network 認証情報を使用します。ただし、 Subscription Asset Manager や CloudForms System engine の場合には、使用するユーザーアカウントはオンプレミスのサービス内で作成され、カスタマポータルのユーザーアカウントとは異なります。
- オプションで、登録の後に手動でサブスクリプションを割当て チェックボックスを選択することもできます。デフォルトでは、登録プロセスでシステムに最適なサブスクリプションが自動的にアタッチされます。「サブスクリプションのアタッチと削除」 にあるように、この機能をオフにしてサブスクリプションを手動で選択できるようにすることも可能です。
- 登録が始まると、サブスクリプションマネージャーはシステムを登録する組織および環境 (組織内のサブドメイン) をスキャンします。カスタマーポータルのサブスクリプション管理を使用する IT 環境には組織が 1 つしかないため、 これ以上の設定は必要ありません。Subscription Asset Manager などのローカルのサブスクリプションサービスを使用する IT インフラストラクチャーの場合、 複数の組織が設定されていることがあります。 また、 それらの組織内にさらに複数の環境が設定されている場合もあります。複数の組織が検出された場合は、サブスクリプションマネージャーは参加する組織を 1 つ選択するように促します。
- デフォルト設定では、サブスクリプションは自動的に選択され、システムにアタッチされます。システムにアタッチするサブスクリプションを確認して、確定します。
- プロンプトが表示された場合、検出されたサブスクリプションに使用するサービスレベルを選択します。
- サブスクリプションマネージャーは、選択されたサブスクリプションを表示します。ウィザードの サブスクライブ ボタンをクリックして、このサブスクリプションを確定します。
5.2.2. コマンドラインからの登録
register
コマンドで、認証に必要なユーザーアカウント情報をカスタマイズポータルのサブスクリプション管理にわたすことです。システムが正しく認証されると、新しく割り当てられたシステムインベントリ ID とそれを登録したユーザーのアカウント名がエコーバックされます。
register
のオプション一覧は、表5.2「register オプション」 に記載されています。
例5.1 カスタマーポータルへのシステム登録
[root@server1 ~]# subscription-manager register --username admin-example --password secret The system has been registered with id: 7d133d55-876f-4f47-83eb-0ee931cb0a97
例5.2 登録中の自動サブスクライブ
register
コマンドには --autosubscribe
というオプションがあります。これを使用すると、ワンステップでシステムをサブスクリプションサービスに登録し、そのシステムのアーキテクチャーに最適なサブスクリプションを即時にアタッチすることができます。
[root@server1 ~]# subscription-manager register --username admin-example --password secret --autosubscribe
例5.3 Subscription Asset Manager を使用したシステム登録
--org
オプションを使用します。ここで指定するユーザーには、その組織にシステムを追加するためのアクセスパーミッションも必要となります。
- サブスクリプションサービス内のユーザーアカウント のユーザー名およびパスワード
--serverurl
でサブスクリプションサービスのホスト名を指定--baseurl
でコンテンツ配信サービスのホスト名を指定 (CloudForms System Engine のみ)--org
でシステム登録する組織名を指定--environment
でシステムを追加する組織内の環境 (グループ) 名を指定。デフォルトの環境はすべての組織に設定されているため、これはオプションです。システムを環境に追加できるのは、登録中のみです。
[root@server1 ~]# subscription-manager register --username=admin-example --password=secret --org="IT Department" --environment="dev" --serverurl=sam-server.example.com
The system has been registered with id: 7d133d55-876f-4f47-83eb-0ee931cb0a97
注記
register
コマンドを実行すると Remote Server エラーが返されます。
表5.2 register オプション
オプション | 詳細 | 必須 |
---|---|---|
--username=name | コンテンツサーバーのユーザーアカウント名を指定します。 | 必須 |
--password=password | ユーザーアカウントのパスワードを指定します。 | 必須 |
--serverurl=hostname | 使用するサブスクリプションサービスのホスト名を指定します。デフォルトは、カスタマーポータルのサブスクリプション管理、subscription.rhn.redhat.com です。このオプションを使用しない場合、システムはカスタマーポータルのサブスクリプション管理に登録されます。 | Subscription Asset Manager または CloudForms System Engine で必須 |
--baseurl=URL | 更新を受信するためのコンテンツ配信サーバーのホスト名を指定します。カスタマーポータルのサブスクリプション管理と Subscription Asset Manager のいずれも Red Hat がホストするコンテンツ配信サービスを使用します。URL は https://cdn.redhat.com です。CloudForms System Engine は独自のコンテンツをホストしているため、System Engine に登録するシステムはこの URL を使用する必要があります。 | CloudForms System Engine で必須 |
--org=name | システムの参加先となる組織を指定します。 | ホスト型環境以外では必須 |
--environment=name | 1 つの組織内の 1 つの環境にシステムを登録します。 | オプション |
--name=machine_name | 登録するシステム名を設定します。デフォルトではホスト名と同じです。 | オプション |
--autosubscribe | 互換性がある最適なサブスクリプションを自動的にアタッチします。ワンステップでシステムを設定できるため、自動設定の操作に適しています。 | オプション |
--activationkey=key | 登録プロセスの一環として、既存のサブスクリプションをアタッチします。サブスクリプションは、ベンダーまたはシステム管理者が Subscription Asset Manager を使用して事前に割り当てています。 | オプション |
--servicelevel=None|Standard|Premium | マシン上でサブスクリプションに使用するサービスレベルを設定します。これは --autosubscribe オプションのみで使用されます。 | オプション |
--release=NUMBER | システムのサブスクリプションで使用するオペレーティングシステムのマイナーリリースを設定します。製品と更新は、この特定のマイナーリリースバージョンに限定されます。--autosubscribe オプションのみで使用されます。 | オプション |
--force | システムが既に登録済みの場合でも登録します。通常、マシンが登録済みの場合には、登録の操作は失敗します。 | オプション |
5.2.3. 登録解除
unregister
コマンドの実行のみです。これにより、サブスクリプションサービスから対象となるシステムのエントリーが削除され、サブスクリプションもすべて削除されます。また、そのシステムの ID とサブスクリプション証明書もローカルで削除されます。
unregister
コマンドのみが必要となります。
例5.4 システムの登録解除
[root@server1 ~]# subscription-manager unregister
- サブスクリプションマネージャー UI を開きます。
[root@server ~]# subscription-manager-gui
- システム メニューを開いて、登録解除 を選択します。
- システムの登録解除を確認します。
5.3. サブスクリプションのアタッチと削除
5.3.1. GUI を使用したサブスクリプションのアタッチと削除
5.3.1.1. サブスクリプションのアタッチ
- サブスクリプションマネージャーを起動します。
[root@server ~]# subscription-manager-gui
- すべての利用可能なサブスクリプション タブを開きます。
- オプションとして、日付の範囲を設定してから フィルター ボタンをクリックし、利用可能なサブスクリプションを検索します。サブスクリプションは、アクティブな日付や名前でフィルタリングできます。また、チェックボックスを使用すると、より詳細なフィルタリングが可能です。
- match my system (自分のシステムにマッチ) を選択すると、システムアーキテクチャーに適合するサブスクリプションのみが表示されます。
- match my installed products (自分のインストール済み製品にマッチ) を選択すると、システム上に現在インストール済みの製品と機能するサブスクリプションが表示されます。
- 既存のサブスクリプションとの重複をしない を選択すると、製品が重複しているサブスクリプションが除外されます。サブスクリプションがすでに特定の製品のシステムにアタッチされている場合や、複数のサブスクリプションが同じ製品を提供している場合は、サブスクリプションサービスがそれらのサブスクリプションをフィルタリングして、最適なサブスクリプションのみが表示されます。
- 次のテキストを含む は、サブスクリプションやプール内で製品名などの文字列を検索します。
日付とフィルターの設定後、更新 ボタンをクリックして適用します。 - 利用可能なサブスクリプションを 1 つ選択します。
- Subscribe (サブスクライブ) ボタンをクリックします。
5.3.2. コマンドラインを使用したサブスクリプションのアタッチと削除
5.3.2.1. サブスクリプションのアタッチ
--pool
オプションを使用して、個別の製品またはサブスクリプションを指定する必要があります。
[root@server1 ~]# subscription-manager subscribe --pool=XYZ01234567
subscribe
コマンドのオプション一覧は、表5.3「subscribe オプション」 に記載されています。
list
コマンドを実行すると確認できます。
[root@server1 ~]# subscription-manager list --available +-------------------------------------------+ Available Subscriptions +-------------------------------------------+ ProductName: RHEL for Physical Servers ProductId: MKT-rhel-serverPoolId:
ff8080812bc382e3012bc3845ca000cb
Quantity: 10 Expires: 2011-09-20
--auto
オプション (register
コマンドの --autosubscribe
オプションに類似) を使用して、サブスクリプションサービスが特定した最適なサブスクリプションをシステムにアタッチすることもできます。
[root@server1 ~]# subscription-manager subscribe --auto
表5.3 subscribe オプション
オプション | 詳細 | 必須 |
---|---|---|
--pool=pool-id | システムにアタッチするサブスクリプション ID を指定します。 | --auto の使用時以外は必須 |
--auto | システムを 1 つ以上の最適なサブスクリプションに自動的にアタッチします。 | オプション |
--quantity=number | 複数カウントのサブスクリプションをシステムにアタッチします。これは、カウント制限を定義するサブスクリプションを対象に使用されます (例: 2 ソケットサーバー用のサブスクリプションを 2 つ使用して、1 台の 4 ソケットマシンに適用)。 | オプション |
--servicelevel=None|Standard|Premium | マシン上でサブスクリプションに使用するサービスレベルを設定します。これが使われるのは、--auto オプションと一緒の時のみです。 | オプション |
5.3.2.2. コマンドラインを使用したサブスクリプションの削除
unsubscribe
コマンドを --all
オプションで実行すると、現在システムにアタッチされているすべての製品サブスクリプションおよびサブスクリプションプールが削除されます。
[root@server1 ~]# subscription-manager unsubscribe --all
unsubscribe
コマンドの X.509 証明書の ID 番号を参照して特定します。
- 製品サブスクリプションを削除する場合は、製品証明書のシリアル番号を取得してください。シリアル番号は subscription#
.pem
ファイル (例:392729555585697907.pem
) から、または以下のようにlist
コマンドを使って取得できます。[root@server1 ~]# subscription-manager list --consumed +-------------------------------------------+ Consumed Product Subscriptions +-------------------------------------------+ ProductName: High availability (cluster suite) ContractNumber: 0 SerialNumber: 11287514358600162 Active: True Begins: 2010-09-18 Expires: 2011-11-18
- subscription-manager ツールを
--serial
オプションで実行し、証明書を特定します。[root@server1 ~]# subscription-manager unsubscribe --serial=11287514358600162
5.4. ベンダーサブスクリプションの有効化
5.4.1. GUI を使用したサブスクリプションの有効化
注記
- サブスクリプションマネージャーを起動します。
[root@server ~]# subscription-manager-gui
- 必要に応じて 「GUI からの登録」 にあるとおり、システムを登録します。
- ウィンドウの左上隅にある システム メニューを開き、Redeem (有効化) 項目をクリックします。
- 有効化が完了した時点に送信する通知の宛先となる電子メールアドレスを、ダイアログウィンドウ内に入力します。有効化のプロセスは、ベンダーに連絡して事前定義されたサブスクリプションの情報を受信するのに数分かかる場合があるため、通知メッセージはサブスクリプションマネージャーのダイアログウィンドウではなく、電子メールで送られます。
- Redeem (有効化) ボタンをクリックします。
5.4.2. コマンドラインを使用したサブスクリプションの有効化
注記
redeem
コマンドで、プロセスが完了した時点で送信される有効化の通知メールの宛先となる電子メールアドレスを指定して実行します。
# subscription-manager redeem --email=jsmith@example.com
5.5. Subscription Asset Manager のアクティベーションキーを使用したサブスクリプションのアタッチ方法
# subscription-manager register --username=jsmith --password=secret --org="IT Dept" --activationkey=abcd1234
5.6. システムの詳細設定
- サブスクリプションのサービスレベル
- 使用するオペレーティングシステムのマイナーバージョン (X.Y)
5.6.1. UI での詳細設定
- サブスクリプションマネージャーを開きます。
- システム メニューを開きます。
- システムの設定 メニュー項目を選択します。
- ドロップダウンメニューから希望するサービスレベル同意書の設定を選択します。アクティブなサブスクリプションすべてに基づいて、Red Hat アカウントで利用可能なサービスレベルのみが表示されます。
- リリースバージョン ドロップダウンメニューでオペレーティングシステムのリリース設定を選択します。表示されるバージョンは、アカウントにアクティブなサブスクリプションがある Red Hat Enterprise Linux バージョンのみです。
- 設定が保存され、今後のサブスクリプションの操作に適用されます。閉じる をクリックしてダイアログを閉じます。
5.6.2. コマンドラインを使用したサービスレベルの設定
service-level --set
コマンドを使用して設定できます。
例5.5 サービスレベル詳細の設定
service-level
コマンドを --list
オプションで実行して、システムで利用可能なサービスレベルを表示します。
[root@server ~]# subscription-manager service-level --list +-------------------------------------------+ Available Service Levels +-------------------------------------------+ Standard None Premium Self-Support
[root@server ~]# subscription-manager service-level --set=self-support Service level set to: self-support
--show
オプションで表示できます。
[root#server ~]# subscription-manager service-level --show Current service level: self-support
register
と subscribe
のコマンドでは、--servicelevel
オプションで動作の詳細を設定できます。
例5.6 プレミアムサービスレベルでのサブスクリプションの自動アタッチ
[root#server ~]# subscription-manager subscribe --auto --servicelevel Premium Service level set to: Premium Installed Product Current Status: ProductName: RHEL 6 for Workstations Status: Subscribed
注記
--servicelevel
オプションには、--autosubscribe
オプション (登録用) または --auto
オプション (サブスクライブ用) が必要です。特定のプールのアタッチ時やサブスクリプションのインポート時には使用できません。
5.6.3. コマンドラインで希望するオペレーティングシステムのリリースバージョンを設定する
yum update
を実行して、あるバージョンから次のバージョンへと移動することはできません。
例5.7 登録中にオペレーティングシステムのリリースを設定する
register
コマンドを --release
オプションで実行することで設定できます。これによりこのリリース設定は、システム登録時に選択され自動的にアタッチされたサブスクリプションに適用されます。
--autosubscribe
オプションは、自動的にアタッチするサブスクリプションの選択に使用される基準の 1 つであるため、詳細設定時に必要となります。
[root#server ~]# subscription-manager register --autosubscribe --release=6.4
--username=admin@example.com...
注記
subscribe
コマンドでは指定できません。
例5.8 オペレーティングシステムのリリース詳細設定
release
コマンドは、アタッチされたサブスクリプションだけでなく、組織で利用可能な購入済みサブスクリプションに基づいて、利用可能なオペレーティングシステムのリリースを表示します。
[root#server ~]# subscription-manager release --list +-------------------------------------------+ Available Releases +-------------------------------------------+ 6.2 6.3
--set
で詳細設定を利用可能なリリースバージョンの 1 つに設定します。
[root#server ~]# subscription-manager release --set=6.3 Release version set to: 6.3
5.7. サブスクリプションの有効期限と通知の管理

図5.2 有効期限

図5.3 色分けされたステータス表示
[root@server ~]# subscription-manager list
+-------------------------------------------+
Installed Product Status
+-------------------------------------------+
ProductName: Red Hat Enterprise Linux Server
Status: Not Subscribed
Expires:
SerialNumber:
ContractNumber:
AccountNumber:

図5.4 サブスクリプション通知のアイコン

図5.5 サブスクリプション警告のメッセージ

図5.6 自動サブスクライブボタン

図5.7 システムのサブスクライブ
第6章 Yum
重要
注記
yum
を使用して、システムにパッケージをインストール/更新/削除するにはスーパーユーザー権限が必要です。本章のすべての例では、su
または sudo
コマンドを使用することでスーパーユーザー権限をすでに持っていると仮定しています。
6.1. パッケージの確認と更新
6.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
— パッケージの名前x86_64
— パッケージがビルドされた CPU アーキテクチャー0.5.8
— インストールされる更新済みパッケージのバージョンrhel
— 更新済みのパッケージがあるリポジトリ
yum
を使って更新できることも示しています。
6.1.2. パッケージの更新
単一パッケージの更新
root
で以下のコマンドを実行して下さい:
yum
update
package_name
~]# 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]:
Loaded plugins: product-id, refresh-packagekit, subscription-manager
—yum
は、どの Yum プラグインがインストールされ有効であるかを常に通知します。Yum プラグインに関する全般情報は 「Yum のプラグイン」 を参照してください。また、個別のプラグインに関する説明は 「プラグインの詳細」 を参照してください。udev.x86_64
— 新しい udev パッケージをダウンロードしてインストールできます。yum
は、更新情報を表示して、更新を実行したいかどうかを確認します。yum
はデフォルトではインタラクティブに実行します。yum
コマンドがどのトランザクションを実行するかが事前に分かっている場合は、-y
オプションを使用して、yum
が行うすべての質問にyes
と自動回答するように設定できます (この場合はノンインタラクティブに実行されます)。ただし、yum
がシステムに実行しようとしている変更を常に調べることをお勧めします。そうすることで、起こり得る問題を簡単に解決することができます。トランザクションが正しく行われなかった場合は、yum history
コマンドを使用して 「トランザクション履歴の活用」 にあるように Yum のトランザクション履歴を閲覧することができます。
重要
rpm -i kernel
のコマンドを使用すると、RPM が新しいカーネルをインストールするのと同じように、yum
は常に新しいカーネルを インストール します。そのため、yum
を使用する場合は、カーネルパッケージの インストール と アップグレード の区別について気にする必要はありません。つまり、yum update
か yum install
のコマンドどちらを使用するかに関わらず正しく実行します。
rpm -u kernel
(現在のカーネルと 置換) の代わりに、rpm -i kernel
コマンド (新しいカーネルのインストール) を使用することが重要です。RPM を使ったカーネルのインストール/アップグレードについての詳細は、「インストールとアップグレード」 を参照してください。
すべてのパッケージとそれらの依存関係の更新
yum update
と (引数なしで) 入力するだけです:
yum update
セキュリティ関連パッケージの更新
yum
コマンドを非常に便利なセキュリティ中心のコマンド、サブコマンド、オプションのセットにより拡張します。具体的な情報は 「プラグインの詳細」 を参照して下さい。
6.1.3. 設定ファイルの変更の保存
6.2. パッケージとパッケージグループ
6.2.1. パッケージの検索
yum
search
term…
~]# yum search meld kompare
Loaded plugins: product-id, refresh-packagekit, subscription-manager
Updating Red Hat repositories.
INFO:rhsm-app.repolib:repos updated: 0
============================ Matched: kompare =============================
kdesdk.x86_64 : The KDE Software Development Kit (SDK)
Warning: No matches found for: meld
yum search
のコマンドは、パッケージの名前は不明だがその関連用語を知っている場合の検索に役立ちます。
6.2.2. パッケージの一覧表示
yum list
と関連コマンドは、パッケージ、パッケージグループ、リポジトリに関する情報を提供します。
*
(任意の文字に複数回一致) と ?
(任意の 1 文字に一致) を含む通常の文字列です。
注記
yum
のコマンドに引数として glob 表現を渡す場合には、glob 表現をエスケープするように注意して下さい。そうしないと、bash シェルはこの表現を パス名の展開 と解釈してしまい、glob と適合する現在のディレクトリ内の全ファイルを yum
に渡す可能性があります。確実に glob 表現を yum
に正しく渡すためには、以下のいずれかの方法を実行します:
- ワイルドカード文字の前にバックスラッシュ記号を入力して、ワイルドカード文字をエスケープする
- glob 表現全体を二重引用符または単一引用符でくくる
yum list glob_expression…
- すべての glob 表現に一致する、インストール済みで利用可能なパッケージに関する情報を一覧表示します。
例6.1 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
- システムにインストール済みのすべてのパッケージを一覧表示します。出力の右端のカラムには、パッケージが取得されたリポジトリが一覧表示されています。
例6.2 二重引用符で囲まれた glob 表現を使ったインストール済みパッケージの一覧表示
「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
- すべての有効なリポジトリにある利用可能な全パッケージを一覧表示します。
例6.3 エスケープされたワイルドカード文字を含む単一の glob 表現を使った利用可能なパッケージの一覧表示
「gstreamer」 とその後に 「plugin」 を含む名前の利用可能なすべてのパッケージを一覧表示するには、以下のコマンドを実行します:~]#
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、名前、それぞれの 有効な リポジトリに提供するパッケージ数を一覧表示します。
6.2.3. パッケージ情報の表示
yum
info
package_name…
~]# 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
コマンドに似ていますが、yum info package_name
は RPM パッケージがある Yum リポジトリの ID を追加情報として提供します (出力の From repo:
の行を参照)。
yumdb
info
package_name
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
コマンドの詳細については、yumdb(8) の man ページを参照して下さい。
6.2.4. パッケージのインストール
個々のパッケージのインストール
yum
install
package_name
yum
install
package_name package_name…
i586
に sqlite2 パッケージをインストールするには、以下を入力します:
~]# yum install sqlite2.i586
~]# yum install audacious-plugins-\*
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 provides "*/file_name"
は file_name を含むパッケージを見つけるための一般的で便利な方法です。
パッケージグループのインストール
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
groupinstall
にグループ名全体 (groupid を含まず) を渡します:
yum
groupinstall
group_name
yum
groupinstall
groupid
install
コマンドに渡すことも可能です (これで groupinstall
を実行したいというメッセージを yum
に伝えます):
yum
install
@group
KDE Desktop
グループのインストールを同等の別の方法で示しています:
~]#yum groupinstall "KDE Desktop"
~]#yum groupinstall kde-desktop
~]#yum install @kde-desktop
6.2.5. パッケージの削除
個々のパッケージの削除
root
で以下のコマンドを実行して下さい:
yum
remove
package_name…
~]# yum remove totem rhythmbox sound-juicer
install
と同じように、remove
は以下の引数を取ることができます。
- パッケージ名
- glob 表現
- ファイル一覧
- パッケージが提供する機能
警告
パッケージグループの削除
install
構文と同じ形の構文を使用してパッケージグループを削除することができます:
yum
groupremove
group
yum
remove
@group
KDE Desktop
グループの削除を同等の別の方法で示しています:
~]#yum groupremove "KDE Desktop"
~]#yum groupremove kde-desktop
~]#yum remove @kde-desktop
重要
yum
に他のパッケージやグループから必要ないパッケージのみを削除するよう伝えたい場合は、/etc/yum.conf
設定ファイルの [main]
セクションに groupremove_leaf_only=1
指示文を追加します。この指示文の詳細については 「[main] オプションの設定」 を参照して下さい。
6.2.6. トランザクション履歴の活用
yum history
のコマンドを使用すると、ユーザーは Yum のトランザクションのタイムライン、トランザクションの発生日時、影響を受けたパッケージ数、トランザクション成功の有無、RPM データベースがトランザクション中に変更されたかどうかに関する情報を確認することができます。さらには、このコマンドを使うと、特定のトランザクションを元に戻す/やり直すことが可能です。
トランザクションの一覧表示
root
として引数なしで yum history
を実行するか、シェルプロンプトで以下を入力して下さい:
yum
history
list
all
のキーワードを追加します:
yum
history
list
all
yum
history
list
start_id..end_id
yum
history
list
glob_expression…
~]# 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)
— 表6.1「Action 欄の指定可能な値」 の説明のとおり、トランザクション中に実行された動作の一覧です。Altered
— 表6.2「Altered 欄の指定可能な値」 の説明のとおり、トランザクションにより影響を受けたパッケージ数、場合によっては追加情報も含まれます。
表6.1 Action 欄の指定可能な値
Action | 省略形 | 詳細 |
---|---|---|
Downgrade | D | 1 つ以上のパッケージが旧バージョンにダウングレードされました。 |
Erase | E | 1 つ以上のパッケージが削除されました。 |
Install | I | 1 つ以上の新しいパッケージがインストールされました。 |
Obsoleting | O | 1 つ以上のパッケージが廃止として記録されました。 |
Reinstall | R | 1 つ以上のパッケージが再インストールされました。 |
Update | U | 1 つ以上のパッケージが新しいバージョンに更新されました。 |
表6.2 Altered 欄の指定可能な値
記号 | 詳細 |
---|---|
< | トランザクションが終了する前に、rpmdb データベースが Yum 以外で変更されました。 |
> | トランザクションが終了した後に、rpmdb データベースが Yum 以外で変更されました。 |
* | トランザクションは失敗して終了しました。 |
# | トランザクションは正常に終了しましたが、yum はゼロ以外の終了コードを返しました。 |
E | トランザクションは正常に終了しましたが、エラーまたは警告が表示されました。 |
P | トランザクションは正常に終了しましたが、rpmdb データベースに問題がすでに存在していました。 |
s | トランザクションは正常に終了しましたが、--skip-broken コマンドラインオプションが使用され、特定のパッケージが省略されました。 |
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…
~]# 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
トランザクションの検証
root
として以下の形式で yum history summary
コマンドを使用します:
yum
history
summary
id
root
で以下のコマンドを実行して下さい:
yum
history
info
id…
yum
は自動的に最後のトランザクションを使用します。複数のトランザクションを指定する場合は、範囲を指定することもできます:
yum
history
info
start_id..end_id
~]# 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-fs-snapshot
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-fs-snapshot-1.1.30-6.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
config-main
— トランザクション時に使用された Yum のグローバルオプションです。グローバルオプションを変更する方法の詳細については、「[main] オプションの設定」 を参照して下さい。config-repos
— 個々の Yum リポジトリ用のオプションです。個々のリポジトリ用のオプションを変更する方法については、「[repository] オプションの設定」 を参照して下さい。saved_tx
— 別のマシンでトランザクションを繰り返すためにyum load-transaction
コマンドにより利用できるデータです (下記参照)。
root
で以下のコマンドを実行して下さい:
yum
history
addon-info
id information
トランザクションを元に戻す/繰り返す方法
yum history
コマンドは選択したトランザクションを元に戻す/繰り返す方法を提供します。トランザクションを元に戻すには、root
としてシェルプロンプトで以下を入力して下さい:
yum
history
undo
id
root
で以下のコマンドを実行します:
yum
history
redo
id
last
キーワードを使用して、最新のトランザクションを元に戻す/繰り返すことができます。
yum history undo
および yum history redo
コマンドともトランザクション中に実行された手順を元に戻す/繰り返すだけである点に注意してください。トランザクションにより新しいパッケージがインストールされた場合、yum history undo
コマンドはそれをアンインストールします。トランザクションによりパッケージがアンインストールされた場合、このコマンドは再度インストールします。また、このコマンドはすべての更新済みパッケージを以前のバージョンにダウングレードする試行も行います (古いパッケージが引き続き利用可能な場合)。システムを更新前の状態に復旧する必要がある場合は、「プラグインの詳細」 の説明のとおり fs-snapshot プラグインの使用を検討してください。
root
としてシェルプロンプトで以下を入力します:
yum
-q
history
addon-info
idsaved_tx
>file_name
root
で以下のコマンドを使用してトランザクションを繰り返すことができます:
yum
load-transaction
file_name
rpmdb
バージョンは目的のシステムのバージョンと同一でなければならない点に注意してください。rpmdb
のバージョンを調べるには、yum version nogroups
コマンドを使用します。
新しいトランザクション履歴の開始
root
で以下のコマンドを実行して下さい:
yum
history
new
/var/lib/yum/history/
ディレクトリ内に新しい空のデータベースファイルが作成されます。古いトランザクション履歴は保存されますが、新しいデータベースファイルがディレクトリにある限りアクセスすることはできません。
6.3. Yum と Yum リポジトリの設定
yum
および関連ユーティリティの設定ファイルは /etc/yum.conf
にあります。このファイルには、必須の [main]
セクションが 1 つあり、全体に影響を与える Yum オプションを設定できます。また、1 つ以上の [repository]
セクションを含むこともでき、リポジトリ固有のオプションを設定できます。ただし、/etc/yum.repos.d/
ディレクトリ内にある、新規または既存の .repo
ファイルで個々のリポジトリを定義することが推奨されます。/etc/yum.conf
ファイルの [main]
セクションで定義する値は、個々の [repository]
セクションで設定された値を上書きする場合があります。
/etc/yum.conf
設定ファイルの[main]
セクションを編集して Yum のグローバルオプションを設定する方法/etc/yum.conf
の[repository]
セクションと/etc/yum.repos.d/
ディレクトリ内の.repo
ファイルを編集することで、個々のリポジトリのオプションを設定する方法- 動的バージョンとアーキテクチャーの値が適切に処理されるように
/etc/yum.conf
の Yum 変数と/etc/yum.repos.d/
ディレクトリ内のファイルを使用する方法 - コマンドラインで Yum リポジトリを追加/有効/無効にする方法
- カスタムの Yum リポジトリを設定する方法
6.3.1. [main] オプションの設定
/etc/yum.conf
設定ファイルには、1 つの [main]
セクションが含まれます。このセクションにあるキー値ペアの中には 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
[コメントは省略されています ]
# 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
です。 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=value
を設定することもできます。つまり、あるリポジトリで GPG 照合を有効にしながら別のリポジトリでは無効にすることができます。個々のリポジトリに対して対応する.repo
ファイルでgpgcheck=value
を設定すると、/etc/yum.conf
にデフォルト値がある場合はそれを無効にします。GPG 署名照合の詳細については、「パッケージの署名確認」 を参照して下さい。 groupremove_leaf_only
=value- value は以下のいずれかです。
0
—yum
はパッケージグループの削除時に、各パッケージの依存関係を確認 しません。この設定により、yum
はパッケージが他のパッケージまたはグループにより必要とされているかどうかに関わらず、パッケージグループ内の全パッケージを削除します。デフォルトはgroupremove_leaf_only=0
です。1
—yum
はパッケージグループの削除時に、各パッケージの依存関係を確認して、他のパッケージやグループにより必要とされていないパッケージのみを削除します。パッケージの削除についての詳細は インテリジェントなパッケージグループの削除方法 を参照して下さい。 installonlypkgs
=space separated list of packagesyum
が インストール は可能だが 更新 はしない、空白で区切られたパッケージの一覧を表示することができます。デフォルトでインストールのみに設定されているパッケージの一覧については、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-bit バージョンをインストールします。all
— 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。例えば、AMD64 システムでmultilib_policy
をall
に設定すると、yum
はパッケージの i586 及び AMD64 が利用可能であれば両バージョンをインストールします。 obsoletes
=value- value は以下のいずれかです。
0
— 更新の実行時にyum
の obsoletes 処理ロジックを無効にします。1
— 更新の実行時にyum
の obsoletes 処理ロジックを有効にします。あるパッケージがスペックファイル内で別のパッケージを 廃止する ように宣言している場合、元のパッケージがインストールされた時に他のパッケージは元のパッケージによって置き換えられます。例えば、パッケージ名が変更された場合などに obsoletes は宣言されます。obsoletes=1
がデフォルトです。 plugins
=value- value は以下のいずれかです。
0
— Yum のプラグインを全体的に無効にします。重要
一部のプラグインは、重要なYum
サービスを提供するためすべてのプラグインを無効にすることは推奨されません。特に、rhnplugin はRHN Classic
へのサポートを、product-id 及び subscription-manager のプラグインは証明書ベースのContent Delivery Network
(CDN) へのサポートをそれぞれ提供します。プラグインを全体的に無効にする便利なオプションもありますが、通常はYum
の使用に潜在的な問題があると判断された場合にのみ使用することが推奨されます。1
— すべての Yum プラグインを全体的に有効にします。plugins=1
に設定した場合、ある Yum プラグインの設定ファイル内でenabled=0
を設定することでそのプラグインを無効にすることも可能です。Yum の各種プラグインの詳細については、「Yum のプラグイン」 を参照して下さい。プラグインの制御に関する詳細は、「Yum プラグインを有効/設定/無効にする方法」 を参照して下さい。 reposdir
=directory- directory は
.repo
ファイルがあるディレクトリへの絶対パスです。すべての.repo
ファイルには、リポジトリ情報 (/etc/yum.conf
の[repository]
セクションと類似) が含まれています。yum
は.repo
ファイル及び/etc/yum.conf
ファイルの[repository]
セクションからすべてのリポジトリ情報を収集し、トランザクションに使用するリポジトリのマスターの一覧を作成します。reposdir
が設定されていない場合は、yum
はデフォルトのディレクトリである/etc/yum.repos.d/
を使用します。 retries
=value- value は、整数
0
かそれより大きい数です。この値は、エラーを返す前にyum
がファイルの取得を試行する回数を設定します。これを0
に設定すると、yum
はその試行を何度も続けます。デフォルト値は10
です。
[main]
オプションの全一覧は、yum.conf(5) の man ページ の [main] OPTIONS
セクションを参照して下さい。
6.3.2. [repository] オプションの設定
[repository]
セクションでは、repository が my_personal_repo
(空白は使用できません) などの一意のリポジトリ ID であるため、個々の Yum リポジトリを定義することができます。
[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/ にあるリポジトリがユーザー名 「user」 とパスワード 「password」 が必要な場合、baseurl
のリンクは、http://
として指定できます。user
:password
@www.example.com/repo/
通常この URL は以下のような HTTP リンクです:baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
[repository]
指示文もあります。
enabled
=value- value は以下のいずれかです。
0
— 更新及びインストールの実行時には、パッケージソースとしてこのリポジトリを含めないで下さい。これはリポジトリを迅速に有効/無効にする簡単な方法です。また、更新/インストール用に有効にしたくないリポジトリから単一のパッケージを希望する時に役立ちます。1
— パッケージソースとしてこのリポジトリを含みます。リポジトリのオン/オフは、--enablerepo=repo_name
もしくは--disablerepo=repo_name
オプションをyum
に渡すか、PackageKit ユーティリティの ソフトウェアの追加/削除 ウィンドウから実行できます。
[repository]
オプションがあります。全一覧については、yum.conf(5) の man ページの [repository] OPTIONS
セクションを参照して下さい。
例6.4 /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
6.3.3. Yum 変数の使用
yum
コマンド及びすべての Yum 設定ファイル内にある以下の組み込み変数を使用/参照することができます (つまり /etc/yum.conf
及び /etc/yum.repos.d/
ディレクトリ内のすべての .repo
ファイル):
$releasever
- この変数を使用すると、Red Hat Enterprise Linux のリリースバージョンを参照することができます。Yum は
/etc/yum.conf
設定ファイルにあるdistroverpkg=value
の行より$releasever
の値を取得します。/etc/yum.conf
にそのような行がない場合は、yum
は redhat-release パッケージよりバージョン番号を取得することで、正しい値を導きます。 $arch
- この変数を使用して、Python の
os.uname()
機能を呼び出す時に返り値としてシステムの CPU アーキテクチャーを参照できます。$arch
の有効な値は、i586
、i686
、x86_64
です。 $basearch
$basearch
を使用すると、システムのベースアーキテクチャーを参照できます。例えば、i686 及び i586 両マシンはi386
のベースアーキテクチャーを持っており、AMD64 及び Intel64 マシンはx86_64
のベースアーキテクチャーを持っています。$YUM0-9
- これら 10 個の変数は、同じ名前を持つシェル環境変数の値とそれぞれ置換されます。これら変数のいずれかが (例えば
/etc/yum.conf
で) 参照され、同じ名前を持つシェル環境変数が存在しない場合は、設定ファイルの変数は置換されません。
/etc/yum/vars/
ディレクトリ内に変数と同じ名前を持つファイルを作成して (「$
」 記号はなし) 、1 行目に希望する値を追加します。
$osname
と呼ばれる新しい変数を定義するには、1 行目に 「Red Hat Enterprise Linux」 の名前を持つ新しいファイルを作成して、/etc/yum/vars/osname
として保存します:
~]# echo "Red Hat Enterprise Linux" > /etc/yum/vars/osname
.repo
ファイルでは、「Red Hat Enterprise Linux 6」 の代わりに以下を使用することができます:
name=$osname $releasever
6.3.4. 現在の設定の表示
/etc/yum.conf
ファイルの [main]
セクションで指定されたオプション) を表示するには、コマンドラインのオプションなしで yum-config-manager
を実行します:
yum-config-manager
yum-config-manager
section…
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
[出力は省略されています]
6.3.5. Yum リポジトリを有効/設定/無効にする方法
yum-config-manager
コマンドを使用してリポジトリを追加/有効/無効にする方法を説明します。
重要
Red Hat Network
に登録された場合、/etc/yum.repos.d/redhat.repo
ファイル内のリポジトリを管理するには Red Hat サブスクリプションマネージャ ツールを使用します。Red Hat Network
へのシステムの登録方法、サブスクリプションを管理するための Red Hat サブスクリプションマネージャ ツールの使用方法については、5章システム登録およびサブスクリプションの管理 を参照して下さい。
Yum リポジトリの追加
[repository]
セクションを /etc/yum.conf
ファイルか、/etc/yum.repos.d/
ディレクトリ内の .repo
ファイルに追加します。yum
は、このディレクトリ内にある .repo
ファイル拡張子が付いたすべてのファイルを読み取ることができます。/etc/yum.conf
内ではなくここにリポジトリを定義することを推奨します。
警告
.repo
ファイルがあります。あるリポジトリをシステムに追加して、有効にするには、root
で以下のコマンドを実行します:
yum-config-manager
--add-repo
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…
yum repolist all
を使用)。別の方法として、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
[出力は省略されています]
yum-config-manager --enable
コマンドは現在のリポジトリ設定を表示します。
Yum リポジトリの無効化
root
で以下のコマンドを実行して下さい:
yum-config-manager
--disable
repository…
yum repolist all
を使用)。yum-config-manager --enable
と同様に、glob 表現を使用して、一致するすべてのリポジトリを同時に無効にすることができます:
yum-config-manager
--disable
glob_expression…
yum-config-manager --disable
コマンドは現在の設定を表示します。
6.3.6. Yum リポジトリの作成
- シェルプロンプトで
root
として以下を入力し、createrepo パッケージをインストールします。yum install createrepo
- リポジトリーに配置するパッケージすべてを、
/mnt/local_repo/
などの一つのディレクトリーにコピーします。 - このディレクトリーに移動して、以下のコマンドを実行します。
createrepo --database /mnt/local_repo
これにより、Yum リポジトリに必要なメタデータ、さらには sqlite データベースが作成されるためyum
の動作が迅速化します。重要
Red Hat Enterprise Linux 5 と比較すると、Red Hat Enterprise Linux 6 の RPM パッケージは XZ 無損失データ圧縮形式で圧縮されていて、SHA-256 のような新しいハッシュアルゴリズムを使用して署名されることが可能です。このため、Red Hat Enterprise Linux 5 でcreaterepo
コマンドを使用して、Red Hat Enterprise Linux 6 のパッケージメタデータを作成することは推奨されません。それでもこのシステム上でcreaterepo
の使用を希望する場合は、EPEL (Extra Packages for Enterprise Linux) から python-hashlib パッケージをインストールして、レポデータも SHA-256 ハッシュアルゴリズムを使用できるようにします。
6.4. Yum のプラグイン
yum
コマンドを呼び出すといつでも、Yum はどのプラグインがロードされ、アクティブかを伝えます。例えば、以下のとおりです:
~]# yum info yum
Loaded plugins: product-id, refresh-packagekit, subscription-manager
[出力は省略されています]
Loaded plugins
に続くプラグインの名前は --disableplugins=plugin_name
オプションに渡す名前である点に注意して下さい。
6.4.1. Yum プラグインを有効/設定/無効にする方法
plugins=
で始まる行が /etc/yum.conf
の [main]
セクションにあり、値が 1
であるようにします。
plugins=1
plugins=0
に変更します。
重要
Yum
サービスを提供するためすべてのプラグインを無効にすることは推奨されません。特に、rhnplugin は RHN Classic
へのサポートを、product-id 及び subscription-manager のプラグインは証明書ベースの Content Delivery Network
(CDN) へのサポートをそれぞれ提供します。プラグインを全体的に無効にする便利なオプションもありますが、通常は Yum
の使用に潜在的な問題があると判断された場合にのみ使用することが推奨されます。
/etc/yum/pluginconf.d/
ディレクトリにそれぞれの設定ファイルを持っています。これらのファイルでプラグイン固有のオプションを設定できます。例えば、以下のように refresh-packagekit プラグインの refresh-packagekit.conf
設定ファイルがあるとします:
[main] enabled=1
[main]
セクション (Yum の /etc/yum.conf
ファイルに類似) があります。そこには、 yum
コマンドの実行時にプラグインが有効かどうかを制御する enabled=
オプションがあります (ない場合は設定可能)。
/etc/yum.conf
で enabled=0
に設定することですべてのプラグインを無効にする場合は、すべてのプラグインは個々の設定ファイルで有効かどうかに関わらず無効になります。
yum
コマンドですべての Yum プラグインを無効にしたいだけなら、--noplugins
オプションを使用します。
yum
コマンドで 1 つ以上の Yum プラグインを無効にしたい場合は、コマンドに --disableplugin=plugin_name
オプションを追加します。例えば、システムの更新中に presto プラグインを無効にするには、以下を入力します:
~]# yum update --disableplugin=presto
--disableplugin=
オプションに渡すプラグインの名前は、yum
コマンドの出力内にある Loaded plugins
の行の後に表示されている名前と同じです。複数のプラグインを無効にするには、名前をカンマで区切ります。さらに glob 表現を使用すると、複数のプラグイン名の適合や名前の短縮を行うことができます:
~]# yum update --disableplugin=presto,refresh-pack*
6.4.2. 追加の Yum プラグインのインストール
yum-plugin-plugin_name
パッケージの命名規則に準拠しますが、常にとは限りません。例として presto プラグインを提供するパッケージの名前は、yum-presto
です。Yum プラグインのインストールは、他のパッケージをインストールする場合と同じように実行できます。例えば、security プラグインをインストールするには、シェルプロンプトで以下を入力します:
~]# yum install yum-plugin-security
6.4.3. プラグインの詳細
- fs-snapshot (yum-plugin-fs-snapshot)
- fs-snapshot プラグインは、システムの更新やパッケージ削除などのトランザクションを続行する前に、Yum を拡張してファイルシステムのスナップショットを作成します。これにより、トランザクションにより加えられた変更が望ましくない場合は、ユーザーはスナップショットに格納された変更まで遡ることができます。プラグインが機能するには、root のファイルシステム (
/
) はLVM
(論理ボリュームマネージャー) かBtrfs
ボリュームにある必要があります。LVM ボリュームで fs-snapshot プラグインを使用するには、以下の手順を実行します。- root のファイルシステムがあるボリュームグループに十分な空きエクステントがあることを確認します。必要なサイズは、スナップショットの使用中に予想される元の論理ボリュームへ加わる変更の大きさの関数です。適当なデフォルトは、元の論理ボリュームサイズの 50–80 % です。特定のボリュームグループに関する詳しい情報を表示するには、以下の形式で
root
としてvgdisplay
コマンドを実行して下さい:vgdisplay
volume_group空きエクステントの数はFree PE / Size
の行に記載されています。 - root のファイルシステムがあるボリュームグループに十分な空きエクステントがない場合は、新しい物理ボリュームを追加します。
- 以下の形式で
root
でpvcreate
コマンドを実行して、論理ボリュームマネージャーで使用するために物理ボリュームを初期化します:pvcreate
device - 以下の形式で
root
でvgextend
コマンドを使用して、ボリュームグループに物理ボリュームを追加します:vgextend
volume_group physical_volume
/etc/yum/pluginconf.d/fs-snapshot.conf
にある設定ファイルを編集して、[lvm]
セクションに次の変更を加えます。enabled
オプションの値を1
に変更します:enabled = 1
lvcreate_size_args
の行の始めにあるハッシュ記号 (#
) を削除して、スナップショットに割り振る論理エクステントの数を調整します。例えば、元の論理ボリュームサイズの 80 % を割り振るには、以下のようにします。lvcreate_size_args = -l 80%ORIGIN
利用可能な設定オプションの全一覧については、表6.3「サポートされているfs-snapshot.conf
指示文」 を参照して下さい。- 変更を確認してトランザクションを続行する前に、希望する
yum
コマンドを実行して、fs-snapshot がロード済みプラグイン (Loaded plugins
の行) の一覧に含まれていることを確認して下さい。fs-snapshot プラグインは、それぞれ影響を受ける論理ボリュームに対して以下の形式で行を表示します:fs-snapshot: snapshotting file_system (/dev/volume_group/logical_volume): logical_volume_yum_timestamp
- システムが適切に機能していることを確認します。
- 変更を維持したい場合は、
root
でlvremove
コマンドを実行してスナップショットを削除します:lvremove
/dev/volume_group/logical_volume_yum_timestamp - 変更を元に戻してファイルシステムをスナップショットに保存した状態に復旧させたい場合は、以下の手順を実行します。
- 以下の形式で
root
としてコマンドを実行して、スナップショットを元の論理ボリュームにマージします:lvconvert
--merge
/dev/volume_group/logical_volume_yum_timestamplvconvert
コマンドは、変更を反映させるために再起動が必要であると通知します。 - 指示どおりにシステムを再起動します。
root
としてシェルプロンプトで以下を入力します:reboot
Btrfs ファイルシステムで fs-snapshot プラグインを使用するには、以下の手順を実行します。- 変更を確認してトランザクションを続行する前に、希望する
yum
コマンドを実行して、fs-snapshot がロード済みプラグイン (Loaded plugins
の行) の一覧に含まれていることを確認して下さい。fs-snapshot プラグインは、それぞれ影響を受けるファイルシステムに対して以下の形式で行を表示します:fs-snapshot: snapshotting file_system: file_system/yum_timestamp
- システムが適切に機能していることを確認します。
- 変更を保存する場合は、オプションとして必要ないスナップショットを削除することができます。Btrfs スナップショットを削除するには、
root
で以下の形式でコマンドを実行します:btrfs
subvolume
delete
file_system/yum_timestamp - 変更を元に戻してファイルシステムをスナップショットに保存した状態に復旧させたい場合は、以下の手順を実行します:
root
として以下のコマンドを使用して、特定のスナップショットの識別子を見つけ出します:btrfs
subvolume
list
file_system- デフォルト設定でこのスナップショットをマウントするよう
root
としてシステムを設定します:btrfs
subvolume
set-default
id file_system - システムを再起動します。
root
としてシェルプロンプトで以下を入力します:reboot
Red Hat Enterprise Linux 6 では、Btrfs がテクノロジープレビューとして含まれているため、このファイルシステムで試すことができます。Btrfs は 64-bit x86 アーキテクチャーでのみ利用可能です。重要なデータが含まれるパーティションや重要なシステム動作に不可欠なパーティションには Btrfs を使用しないで下さい。論理ボリュームの管理、Btrfs、ファイルシステムのスナップショットの詳細については、『Red Hat Enterprise Linux 6 Storage Administration Guide (ストレージ管理ガイド)』 を参照して下さい。プラグインとその設定の追加情報については、yum-fs-snapshot(1) 及び yum-fs-snapshot.conf(5) の man ページを参照して下さい。表6.3 サポートされている
fs-snapshot.conf
指示文セクション 指示文 詳細 [main]
enabled
=valueプラグインを有効/無効にできます。value は 1
(有効)/0
(無効) にする必要があります。インストール時には、プラグインはデフォルトで有効です。exclude
=list特定のファイルシステムを除外できます。値は、スナップショットの実行を 望まない 空白で区切られたマウントポイントの list でなければなりません (例えば /srv /mnt/backup
)。このオプションはデフォルトでは設定ファイルに含まれていません。[lvm]
enabled
=valueLVM ボリュームでのプラグインの使用を有効/無効にできます。value は 1
(有効)/0
(無効) にする必要があります。このオプションはデフォルトでは無効です。lvcreate_size_args
=value論理ボリュームスナップショットのサイズを指定できます。value は、lvcreate ユーティリティとそれに続く有効な引数に対する -l
または-L
コマンドラインのオプションである必要があります (例えば-l 80%ORIGIN
)。 - kabi (kabi-yum-plugins)
- kabi プラグインは、ドライバー更新パッケージが公式の Red Hat kernel Application Binary Interface (kABI) と適合するかどうかを確認します。このプラグインが有効な状態で、ユーザーがホワイトリストにないカーネルシンボルを使用するパッケージのインストールを試行する場合、警告メッセージがシステムログに書き込まれます。さらには、プラグインを enforcing モードで実行するよう設定すると、そうしたパッケージが決してインストールされないようにできます。kabi プラグインを設定するには、
/etc/yum/pluginconf.d/kabi.conf
にある設定ファイルを編集して下さい。[main]
セクションで使用できる指示文の一覧については、表6.4「サポートされているkabi.conf
指示文」 を参照して下さい。表6.4 サポートされている
kabi.conf
指示文指示文 詳細 enabled
=valueプラグインを有効/無効にできます。value は 1
(有効)/0
(無効) にする必要があります。インストール時には、プラグインはデフォルトで有効です。whitelists
=directoryサポートされているカーネルシンボルを持つファイルがある directory を指定できます。デフォルトでは、kabi プラグインは kabi-whitelists パッケージ ( /lib/modules/kabi/
ディレクトリ) により提供されるファイルを使用します。enforce
=valueenforcing モードを有効/無効にできます。value は 1
(有効)/0
(無効) にする必要があります。デフォルトでは、このオプションはコメントアウトされ kabi プラグインは警告メッセージのみを表示します。 - presto (yum-presto)
- presto プラグインは Yum を強化して、presto メタデータが有効なリポジトリから更新中に 差分 RPM パッケージをダウンロードします。差分 RPM に含まれるのは、RPM パッケージを要求するクライアントでインストールされたパッケージのバージョンとリポジトリにある更新済みバージョンの差分のみです。差分 RPM のダウンロードは、更新済みのパッケージ全体をダウンロードするよりもはるかに迅速で、更新を大幅にスピードアップできます。差分 RPM がダウンロードされたら、現在インストール済みのパッケージに差分を適用して、完全に更新されたパッケージを作成するために RPM をリビルドする必要があります。このプロセスはインストールされたマシンでの CPU の時間を消費します。よって、差分 RPM を使用することは、ネットワーク接続次第であるダウンロードの時間と、CPU バウンドなリビルドの時間とのトレードオフになります。遅いネットワーク接続を使用する高速なマシンとシステムには、presto プラグインを使用することが推奨されます。一方で、非常に高速な接続を使用する遅いマシンには、通常の RPM パッケージをダウンロードする、つまり presto を無効にすることでより利点があります。
- product-id (subscription-manager)
- product-id プラグインは、Content Delivery Network (コンテンツ配信ネットワーク) からインストールされた製品の製品識別証明書を管理します。product-id プラグインはデフォルトでインストールされています。
- protect-packages (yum-plugin-protect-packages)
- protect-packages プラグインは、yum パッケージとそれが依存するすべてのパッケージが故意にまたは誤って削除されないようにします。これで、システムを実行するために必要な多くの最重要パッケージが削除されないようにします。加えて、1 行につき 1 つずつパッケージを
/etc/sysconfig/protected-packages
ファイルに一覧表示できます[2] (そのファイルがなければ作成して下さい)。また、protect-packages はそうしたパッケージも削除されないようにします。パッケージの保護を一時的に無効にするには、該当するyum
コマンドに--override-protection
オプションを付けて使用します。 - refresh-packagekit (PackageKit-yum-plugin)
- refresh-packagekit プラグインは、
yum
を実行する時はいつでも PackageKit のメタデータを更新します。refresh-packagekit プラグインはデフォルトでインストールされています。 - rhnplugin (yum-rhn-plugin)
- rhnplugin を使用すると
RHN Classic
へ接続できます。これにより、RHN Classic
に登録しているシステムはこのシステムからパッケージの更新/インストールを行うことができます。Red Hat Enterprise Linux 6 への移行のため、RHN Classic
が備わっているのは 旧 Red Hat Enterprise Linux システム (Red Hat Enterprise Linux 4.x、Red Hat Enterprise Linux 5.x 及び Satellite 5.x) のみである点に注意して下さい。rhnplugin はデフォルトでインストールされています。プラグインの詳細については、rhnplugin(8) の man ページを参照してください。 - security (yum-plugin-security)
- セキュリティ更新に関する情報を見つけ出して、簡単かつ頻繁に適用することは、どのシステム管理者にとっても重要です。このため、Yum は security プラグインを提供します。このプラグインは、非常に有用なセキュリティ関連のコマンド、サブコマンド及びオプションのセットにより
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 rhelyum 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 がバグ修正の更新としてリリースされた場合は、
yum update-minimal --security
によって kernel-2.6.30.8-32 に更新され、yum update --security
により kernel-2.6.30.8-64 に更新されます。慎重なシステム管理者であれば、update-minimal
を使用して、パッケージを更新することで生じるリスクをできるだけ減らすとよいでしょう。security プラグインがyum
に追加する拡張機能の詳しい使用方法と説明については、yum-security(8) の man ページを参照して下さい。 - subscription-manager (subscription-manager)
- subscription-manager プラグインを使用すると、
Red Hat Network
へ接続できます。これでRed Hat Network
に登録されたシステムは、証明書ベースのコンテンツ配信ネットワークからパッケージの更新/インストールを行うことができます。subscription-manager プラグインは、デフォルトでインストールされています。製品のサブスクリプションとエンタイトルメントの管理方法については、5章システム登録およびサブスクリプションの管理 を参照して下さい。 - yum-downloadonly (yum-plugin-downloadonly)
- yum-downloadonly プラグインは、Red Hat Network または設定した Yum リポジトリからパッケージをインストールせずにダウンロードするのために使用する
--downloadonly
コマンドラインオプションを提供します。パッケージをインストールするには、「追加の 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デフォルトでは、--downloadonly
オプションを使用してダウンロードされたパッケージは、Red Hat Enterprise Linux のバリアントやアーキテクチャーに応じて/var/cache/yum
ディレクトリのサブディレクトリに保存されます。パッケージを保存する別のディレクトリを指定したい場合は、--downloadonly
とともに--downloaddir
オプションを渡します。~]#
yum install --donwloadonly --downloaddir=/path/to/direcotry httpd
注記
yum-downloadonly プラグインに代わるものとして、パッケージをインストールせずにダウンロードするために yum-utils パッケージにより提供される yumdownloader ユーティリティを使用することができます。
/etc/sysconfig/protected-packages.d/
ディレクトリに .list
の拡張子が付いたファイルを置くことも可能です (そのディレクトリがなければ作成して下さい)。また、これらのファイルに 1 行に 1 つずつパッケージを一覧表示することもできます。protect-packages はこれらも保護します。
第7章 PackageKit
7.1. ソフトウェア更新を使ったパッケージ更新

図7.1 通知スペースにある PackageKit のアイコン
gpk-update-viewer
コマンドを実行しても同様に ソフトウェア更新 を開くことができます。ソフトウェア更新 ウィンドウでは、更新されるパッケージの名前 (.rpm
の接尾辞なし、ただし CPU アーキテクチャは含む) 、パッケージの簡単なサマリ、及び通常は更新に伴う変更の簡単な説明と併せて、すべての利用可能な更新が表示されています。インストールしたくない更新がある場合は、該当する更新のチェックボックスからチェックマークを外してください。

図7.2 ソフトウェア更新を使用した更新のインストール
kernel
パッケージの更新を指示すると、インストール後にシステムを再起動して新しくインストールされたカーネルでのブートを希望するか確認します。
更新の確認頻度の設定

図7.3 PackageKit の更新の確認頻度の設定
7.2. ソフトウェアの追加/削除の使用
gpk-application
コマンドを実行します。

図7.4 PackageKit のソフトウェアの追加/削除ウィンドウ
7.2.1. ソフトウェアソースを最新の情報への更新 (yum リポジトリ)
/etc/yum.conf
設定ファイル内の [repository] セクションすべての name=<My Repository Name>
フィールドと、 /etc/yum.repos.d/
ディレクトリ内のすべての repository.repo
ファイルに記述されているリポジトリー名を表示します。
enabled=<1 or 0>
フィールドに該当します。チェックマークを選択すると、正しい [repository] セクションに enabled=<1 or 0>
行がない場合は PackageKit がこれを挿入し、ある場合は値を変更します。つまり、ソフトウェアソース ウィンドウでリポジトリを有効/無効にすると、ウィンドウを閉じた後やシステムを再起動した後でもその変更は保たれます。
注記
7.2.2. フィルターを使ったパッケージ検索

図7.5 すでにインストール済みのパッケージをフィルターにかけて除外する
<package_name>-devel
パッケージすべてを除外できます。

図7.6 検索結果の一覧から開発パッケージをフィルターにかけて除外する
- グラフィカル
- GUI インターフェースを提供するアプリケーション (グラフィカルのみ) か、提供しないアプリケーションかのどちらかに検索を絞り込みます。このフィルターは、特定の機能を実行する GUI アプリケーションを閲覧したい場合に役立ちます。
- 未使用
- フリーソフトウェアと考慮されているパッケージの検索をします。認定ライセンスの詳細については、Fedora Licensing List を参照して下さい。
- サブパッケージを隠す
- サブパッケージを隠す チェックボックスにチェックを入れると、必要となる他のパッケージに依存している典型的な関心の無いパッケージをフィルターで除外します。例えば、Hide subpackages(サブパッケージを隠す) にチェックを入れて、
<package>
を検索すると、以下のような関連したパッケージが Find (検索) 結果からフィルターで除外されます (存在する場合) :<package>-devel
<package>-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 でないシステムには影響はありません。
7.2.3. パッケージ (及び依存関係) のインストールと削除

図7.7 PackageKit のソフトウェアの追加/削除ウィンドウでのパッケージの表示とインストール
screen
を入力すると、1つのターミナルで複数のログインができるようにするスクリーンマネージャである screen
を実行できます。
警告

図7.8 PackageKit のソフトウェアの追加/削除ウィンドウでのパッケージの削除
7.2.4. パッケージグループのインストールと削除

図7.9 チェコ語のサポートのパッケージグループのインストール
7.2.5. トランザクションログの表示
gpk-log
コマンドを実行します。
- 日付 — トランザクションが実行された日付。
- アクション — トランザクション中に実行されたアクション。例としては、Updated packages (パッケージの更新) や Installed packages (パッケージのインストール) 。
- 詳細 — Updated (更新) や Installed (インストール) 、Removed (削除) などのトランザクションの種類の後に、対象となるパッケージ一覧を表示。
- ユーザー名 — アクションを実行したユーザーの名前。
- アプリケーション — アクションの実行に使用されたフロントエンドアプリケーション。例えば、Update System (システム更新) 。

図7.10 ソフトウェアログビューアを使ったパッケージ管理のトランザクションログの表示
7.3. PackageKit アーキテクチャ
packagekitd
デーモンと通信する数種のグラフィカルフロンドエンドで構成されています。バックエンドの packagekitd デーモンは、Yum を利用してパッケージのインストールや削除など実際のトランザクションを実行するパッケージマネージャ固有のバックエンドと通信します。
表7.1 PackageKit の GUI ウィンドウ、メニューの場所、シェルプロンプトのコマンド
ウィンドウのタイトル | 機能 | 開き方 | シェルコマンド |
---|---|---|---|
ソフトウェアの追加/削除 | パッケージ情報のインストール、削除、表示 |
GNOME パネルより、システム → 管理 → ソフトウェアの追加/削除 を選択
| gpk-application |
ソフトウェア更新 | パッケージの更新を実行 |
GNOME パネルより、システム → 管理 → ソフトウェア更新 を選択
| gpk-update-viewer |
ソフトウェアソース | Yum リポジトリーの有効/無効化 |
ソフトウェアの追加/削除 より、システム → ソフトウェアソース を選択
| gpk-repo |
ソフトウェアログビューア | トランザクションログの表示 |
ソフトウェアの追加/削除 より、システム → ソフトウェアログ を選択
| gpk-log |
ソフトウェア更新の詳細設定 | PackageKit の詳細設定 | gpk-prefs | |
(通知スペースでの警告) | 更新が利用可能時に通知 |
GNOME パネルより、システム → 詳細設定 → Startup Applications (自動起動するアプリ), Startup Programs (自動起動するプログラム) タブを選択
| gpk-update-icon |
packagekitd
デーモンは、ユーザーセッションの外で実行し、様々なグラフィカルなフロントエンドと通信します。packagekitd
デーモンは、[3] DBus システムメッセージバスを経由して、別のバックエンドと通信します。これは、Yum の Python API を利用してクエリを実行し、システムに変更を加えます。Red Hat と Fedora 以外の Linux システムでは、packagekitd
はそのシステムのネイティブのパッケージマネージャーの利用が可能な他のバックエンドと通信することができます。このモジュラーアーキテクチャは、グラフィカルインターフェースが多くの異なるパッケージマネージャーと共に動作して本質的に同じ種類のパッケージ管理タスクを実行するために必要な抽象化を提供します。PackageKit のフロンドエンドの使用方法を学ぶと、Yum 以外のネイティブのパッケージマネージャを利用している時でも、多くの様々な Linux ディストリビューションにわたって、なじみのある同じグラフィカルインターフェースを使用することができます。
packagekitd
デーモンが監視しているパッケージ管理タスクに影響を与えない、という信頼性を提供します。
gnome-packagekit
パッケージが提供します。
pkcon
と呼ばれるコンソールベースのフロンドエンドも付いてきます。
7.4. その他のリソース
- PackageKit のホームページ — http://www.packagekit.org/index.html
- PackageKit の情報とメーリングリストです。
- PackageKit のよくある質問 (FAQ) — http://www.packagekit.org/pk-faq.html
- PackageKit ソフトウェアスイートに関するよくある質問の一覧です。
- PackageKit 機能マトリクス — http://www.packagekit.org/pk-matrix.html
- PackageKit が提供する機能とパッケージマネージャのバックエンド一覧との相互参照表。
service
コマンドに応答し、chkconfig on
または chkconfig off
コマンドを使用することで永久にオン/オフにすることができます。それらは、通常 packagekitd
デーモンのように名前に 「d 」 を付けることによって認識できます。システムのサービスに関する情報は 10章サービスとデーモン を参照してください。
パート III. ネットワーキング
第8章 NetworkManager
DSL
や PPPoE
(Point-to-Point over Ethernet イーサネット経由のポイントツーポイントプロトコル) のようなタイプの接続を設定できます。さらに、 NetworkManager により、ネットワークエイリアス、静的ルート、DNS 情報、VPN 接続の他、多くの接続固有のパラメータの設定が可能になります。そして、NetworkManager は D-Bus により効果的な API を提供するため、アプリケーションはネットワークの設定と状態をクエリ、制御することができます。
system-config-network
として知られています。Red Hat Enterprise Linux 6 では、以前の Network Administration Tool がNetworkManager に代わり、ユーザー固有のモバイルブロードバンド設定など強化した機能を備えています。また、Red Hat Enterprise Linux 6 ではインターフェース設定ファイルを編集してネットワークを設定することも可能です。詳細は 9章ネットワークインターフェース を参照してください。
~]# yum install NetworkManager
8.1. NetworkManager デーモン
~]# service NetworkManager status
NetworkManager (pid 1527) is running...
service
コマンドは、NetworkManager サービスが実行していない場合には NetworkManager is stopped
(NetworkManager は停止しています) と報告します。現在のセッションで起動するには、以下のコマンドを入力します:
~]# service NetworkManager start
chkconfig
コマンドを実行して、システムがブートするたびに NetworkManager が確実に起動するようにします:
~]# chkconfig NetworkManager on
8.2. NetworkManager との対話

図8.1 NetworkManager アプレットの状態
~]$ nm-applet &
8.2.1. ネットワークへの接続
- 現在接続しているカテゴリ別になったネットワークの一覧 (Wired (有線) と Wireless (無線))
- NetworkManager が検出した Available Networks (利用可能なネットワーク) の全一覧
- 設定済みの VPN (Virtual Private Network 仮想プライベートネットワーク) への接続オプション
- 非表示または新しい無線ネットワークへの接続オプション

図8.2 NetworkManager アプレットの左クリックメニューで、利用可能及び接続しているネットワークがすべて表示されます。
8.2.2. 新規接続の設定と既存接続の編集

図8.3 NetworkManager アプレットのコンテキストメニュー
~]$ nm-connection-editor &

図8.4 ネットワーク接続ウィンドウを使用したネットワークの設定
- 有線イーサネット接続を設定します。「有線 (イーサネット) 接続の確立」 に進みます。
- 無線接続を設定します。「無線接続の確立」 に進みます。
- モバイルブロードバンド接続を設定します。「モバイルブロードバンド接続の確立」 に進みます。
- VPN 接続を設定します。「VPN 接続の確立」 に進みます。
8.2.3. ネットワークへの自動接続
手順8.1 ネットワークが検出されると、自動接続するよう NetworkManager を設定する
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 必要に応じて矢印をクリックして、接続リストを表示します。
- 設定したい接続を選択して、編集 をクリックします。
- Connect automatically (自動接続する) にチェックマークを入れると、NetworkManager は、そのネットワークが利用可能だと検出すると常に自動接続します。NetworkManager が自動接続しないようにするには、このチェックボックスからチェックマークを外してください。チェックマークが付いていない場合は、NetworkManager アプレットの左クリックメニューで手動で接続を選択して、接続する必要があります。
8.2.4. ユーザー接続とシステム接続
/etc/sysconfig/network-scripts/
ディレクトリ (主に ifcfg-<network_type>
インターフェース設定ファイル内) に保管されるのに対して、ユーザー接続の設定は GConf 設定データベースと GNOME キーリングに保管され、ユーザー接続の設定を作成したユーザーのログインセッション中のみに利用可能です。このため、デスクトップセッションをログアウトすると、ユーザー固有の接続は利用できなくなります。
注記
/etc/sysconfig/network-scripts/
ディレクトリの関連したインターフェース設定ファイルを作成し、ユーザーセッションから GConf 設定を削除します。逆に、システム接続をユーザー固有の接続に変換すると、 NetworkManager はシステム全体の設定ファイルを削除して、対応する GConf/GNOME キーリング設定を作成します。

図8.5 Available to all users (すべてのユーザーに利用可能) のチェックボックスで、接続をユーザー固有、またはシステム全体で有効にするかを制御します。
手順8.2 システム全体の接続からユーザー固有の接続への変更、またはその逆
注記
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 必要に応じて、左側の矢印をクリックし、利用可能なネットワーク接続のタイプを表示/非表示させます。
- 設定したい接続を選択して、編集 をクリックします。
- すべてのユーザーに利用可能 のチェックボックスにチェックマークを付けることで、NetworkManager は接続をシステム全体の接続にします。システムのポリシーによっては、PolicyKit アプリケーションが root パスワードの入力を求める場合があります。その場合には、root パスワードを入力して、変更を完了します。逆に、すべてのユーザーに利用可能 のチェックボックスからチェックマークを外すと、接続はユーザー固有となります。
8.3. 接続の確立
8.3.1. 有線 (イーサネット) 接続の確立
~]$ nm-connection-editor &

図8.6 新規作成の System eth0 接続を表示しているネットワーク接続ウィンドウ

図8.7 「接続のタイプを選択」から新規接続のタイプを選択
注記

図8.8 新規作成された有線接続 System eth0 の編集
接続名、自動接続の動作、及び可用性セッティングの設定
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの 有線 セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
有線タブの設定
自動
にしておきます。有線接続を 2 つ目または特定の NIC に関連付けたり、高度なネットワーキングを実行していない限り、これらのデフォルト値で十分です。特別な設定については以下の説明を参照して下さい。
- MAC アドレス
- ネットワークインターフェイスカード (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 forever1つのシステムに単独の、または複数の NIC をインスと-ルできます。ですから、MAC アドレス フィールドでは特定の接続 (または接続群) に対して特定の NIC を関連付けることができます。前述のようにip addr
コマンドを使用することで、MAC アドレスが判定できるため、その値をコピーして MAC アドレステキスト入力フィールドに貼り付けることができます。クローンした MAC アドレスフィールドは、ネットワークサービスが特定の MAC アドレスに限定され、その MAC アドレスをエミュレートする必要があるという状況で多く使用されます。 - MTU
- MTU (Maximum Transmission Unit) の値は、接続が転送に使用する最大パケット数のバイトサイズを示します。この値は、IPv4 の使用ではデフォルトで
1500
となり、IPv6 の使用では可変数1280
かそれ以上がデフォルトとなります。一般的に指定や変更をする必要はありません。
新規 (または修正した) 接続を保存して他の設定をする
- ポートベースネットワークアクセスコントロール (PNAC): 802.1x セキュリティ タブをクリックして「802.1x セキュリティの設定」 へ進みます;
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 へ進むか、または;
- 接続に対する IPv6 のセッティング: IPv6 のセッティング タブをクリックして 「IPv6 セッティングの設定」 に進みます。
8.3.2. 無線接続の確立
利用可能なアクセスポイントに迅速に接続

図8.9 無線アクセスポイントへの認証
注記

図8.10 無線接続信号の強度 75% を示しているアプレットアイコン
Auto <SSID>
形式で名付けます。ここでの SSID とはアクセスポイントの サービスセット識別子 のことです。

図8.11 以前に接続したことのあるアクセスポイントの例
非表示無線ネットワークに接続
接続の編集、または全く新しい接続を作成
Auto
の次に来る単語はアクセスポイントの SSID を参照) で接続を選択します。そして 編集 をクリックします。
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックします。
- リストから 無線 エントリを選択します。
- 作成ボタンをクリックします。

図8.12 新規作成した無線接続 1 の編集
接続名、自動接続の動作、及び可用性セッティングの設定
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの 無線 セクションでこの接続の表示に使用されます。デフォルトでは、無線接続は無線アクセスポイントの SSID と同じ名前になっています。無線接続の名前を変更しても接続機能に影響は与えませんが、SSID 名の維持が推奨されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
無線タブの設定
- SSID
- すべてのアクセスポイントは、それら自身の識別のために SSID (Service Set identifier) を持っています。しかし、あるアクセスポイントはその SSID を広報しないように設定されているかも知れません。その場合、それは非表示 となり、NetworkManager 内の使用可能 ネットワーク一覧に出現しないことになります。但し、その SSID と認証秘密情報が判明していれば、SSID 非表示の無線アクセスポイントにも接続することは可能です。\n非表示無線ネットワークへの接続については 「非表示無線ネットワークに接続」 を参照して下さい。
- モード
- インフラストラクチャ — 専用の無線アクセスポイントや、ルーターやスイッチなどのネットワークデバイスに構築されているアクセスポイントに接続している場合は、モード を インフラストラクチャ に設定します。アドホック — 2 つ以上のモバイルデバイス間での直接通信用のピアツーピアネットワークを作成している場合は、モード を アドホック に設定します。802.11 標準では Independent Basic Service Set (IBSS) と呼ばれる アドホック モードを使用する場合は、すべての参加無線デバイスで同一 SSID が設定され、それらすべてが同一チャンネル上で通信していることを確認する必要があります。
- BSSID
- BSSID (基本的サービスセット識別子) は、インフラストラクチャ モードで接続している際の特定の無線アクセスポイントの MAC アドレスです。このフィールドはデフォルトで空白になっており、BSSID を指定せずに、SSID で無線アクセスポイントに接続できます。BSSID が指定されると、システムは強制的に特定のアクセスポイントのみに関連付けられます。アドホックネットワークが生成される際に、mac80211 サブシステムがランダムに BSSID を生成します。これは NetworkManager では表示されません。
- MAC アドレス
- イーサネットのネットワークインターフェイスカード (NIC) と同様に、無線アダプタはそれ自身をシステムに対して識別する特有の MAC アドレス (Media Access Control; 別名 ハードウェアアドレス) を持っています。
ip addr
コマンドを実行すると、各インターフェイスに関連付けられた MAC アドレスが表示されます。例えば、以下のip addr
出力では、wlan0
インターフェイスの MAC アドレス(00:1c:bf:02:f8:70
) は、キーワード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 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 アドレス テキスト入力フィールドに貼り付けることができます。 - MTU
- MTU (Maximum Transmission Unit) (最大転送ユニット)の値は、接続が転送に使用する最大限パケットサイズをバイト単位で示すものです。ゼロ以外の数値でセットしてある場合は、その指定サイズか、それ以下のパケットのみが転送されます。それ以上のパケットサイズは複数のイーサネットフレームに分断されます。このセッティングは 自動 のままにしておくことが推奨されます。
新規 (または修正した) 接続を保存して他の設定をする
- 無線接続用のセキュリティ認証には、無線セキュリティ タブをクリックして 「無線セキュリティの設定」 へ進みます;
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 へ進むか、または;
- 接続に対する IPv6 のセッティング: IPv6 のセッティング タブをクリックして 「IPv6 セッティングの設定」 に進みます。
8.3.3. モバイルブロードバンド接続の確立
- 2G — GPRS (General Packet Radio Service) または EDGE (Enhanced Data Rates for GSM Evolution)
- 3G — UMTS (Universal Mobile Telecommunications System) または HSPA (High Speed Packet Access)
手順8.3 新規のモバイルブロードバンド接続の追加
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックして選択一覧を開きます。モバイルブロードバンド を選択し、作成 をクリックします。モバイルブロードバンド接続のセットアップアシスタントが表示されます。
- このモバイルブロードバンドデバイス用の接続を作成 の下で、その接続で使用する 2G または 3G 機能のデバイスを選択します。ドロップダウンメニューが使用できない場合は、システムがモバイルブロードバンドの機能を持つデバイスを検出できなかったことを示します。この状況では、キャンセル をクリックして、モバイルブロードバンド機能のデバイスが接続してあること、そしてそれがコンピュータに認識されていることを確認してください。それからこの手順を再試行します。進む ボタンをクリックします。
- 使用するサービスプロバイダーの国をリストから選んで 進む ボタンをクリックします。
- プロバイダーをリストから選ぶか手動で入力し、進む ボタンをクリックします。
- ドロップダウンメニューから請求書プランを選んで、Access Point Name (APN) が正しいか確認します。進む ボタンをクリックします。
- 設定を確認して、適用 ボタンをクリックします。
- モバイルブロードバンド特定の設定での編集は、以下の モバイルブロードバンドタブの設定 を参照してください。
手順8.4 既存のモバイルブロードバンド接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。
- モバイルブロードバンド タブを選択します。
- 接続名、自動接続の動作、及び可用性のセッティングを設定します。編集 ダイアログ内の3つのセッティングはすべての接続タイプに共通です:
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの モバイルブロードバンド セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
- モバイルブロードバンド特定の設定での編集は、以下の モバイルブロードバンドタブの設定 を参照してください。
新規 (または修正した) 接続を保存して他の設定をする
- 接続のポイントツーポイント (Point-to-point) セッティングには、PPP セッティング タブをクリックして、「PPP (Point-to-Point) セッティングの設定」 に進みます;
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 へ進むか、または;
- 接続に対する IPv6 のセッティング: IPv6 のセッティング タブをクリックして 「IPv6 セッティングの設定」 に進みます。
モバイルブロードバンドタブの設定
- 番号
- GSM ベースのモバイルブロードバンドネットワークでの PPP 接続を確立するためにダイアルする番号です。このフィールドは、ブロードバンドデバイスの初期インストールの際に自動設定されている場合があります。通常、このフィールドは空白で残し、代わりに APN を記入します。
- ユーザー名
- ネットワークでの認証に使用するユーザー名を記入します。一部のプロバイダーは、ユーザー名を提供しないことや、ネットワーク接続の時点でユーザー名を受け付けたりすることがあります。
- パスワード
- ネットワークで認証に使用するパスワードを記入します。一部のプロバイダーはパスワードを提供しなかったり、またはすべてのパスワードを受け付けたりします。
- APN
- GSM ベースのネットワークとの接続を確立するために使用する Access Point Name (APN) を記入します。これは以下の項目を決定するので、正しい APN を記入することが重要になります。
- ネットワーク使用量についてユーザーが請求される方法、及び/あるいは
- ユーザーがインターネット、イントラネット、サブネットワークにアクセスがあるかどうか。
- ネットワーク ID
- ネットワーク ID を記入すると、NetworkManager は強制的にデバイスが特定のネットワークのみに登録されるようにします。これにより、ローミングを直接に制御できない時に接続がローミングしないようにします。
- タイプ
- 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 をロック解除する必要があります。
8.3.4. VPN 接続の確立
- ルーティングと認証の目的で 認証ヘッダー を追加
- パケットデータを暗号化。及び
- 復号化と処理の方法から構成されている ESP (Encapsulating Security Payload) を使用してデータを包装
手順8.5 新規 VPN 接続の追加
- 新規 VPN 接続の設定は、ネットワーク接続 ウィンドウを開いてから、追加 をクリックし、新規接続リストの VPN セクションから VPN のタイプを選択します。
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックします。
- VPN 接続のタイプを選択 一覧が表示されます。
注記
設定する VPN タイプに適切な NetworkManager VPN プラグインをインストールする必要があります。(Red Hat Enterprise Linux 6 に新規パッケージをインストールする方法については、「パッケージのインストール」 を参照してください)。適切なプラグインがインストールされていないと、接続のタイプを選択 一覧のVPN セクションは表示 されません 。- 接続先のゲートウェイの VPN プロトコルを 接続のタイプを選択 一覧から選びます。リストで利用可能な VPN プロトコルは、インストール済みの NetworkManager VPN プラグインに対応します。例えば、NetworkManager VPN plug-in for openswan がインストールされていれば、IPsec ベースの VPN が 接続のタイプを選択 一覧から選べます。正しいプロトコルを選択した後、作成 ボタンをクリックします。
- そうすると、VPN 接続 1 の編集 ウィンドウが出てきます。このウィンドウは ステップ 6 で選択した VPN 接続のタイプ用にカスタマイズしたセッティングを表示します。
手順8.6 既存の VPN 接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。

図8.13 新規作成した VPN 接続 1 の編集
接続名、自動接続の動作、及び可用性セッティングの設定
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの VPN セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
VPN タブの設定
- ゲートウェイ
- リモート VPN ゲートウェイの名前または IP アドレスです。
- グループ名
- リモートゲートウェイで設定された VPN グループ名です。
- ユーザーパスワード
- 必要な場合は、VPN 認証で使用するパスワードを入力します。
- グループパスワード
- 必要な場合は、VPN 認証で使用するパスワードを入力します。
- ユーザー名
- 必要な場合は、VPN 認証で使用するユーザー名を入力します。
- Phase1 Algorithms
- 必要な場合は、暗号化チャンネルの認証および設定で使用するアルゴリズムを入力します。
- Phase2 Algorithms
- 必要な場合は、IPsec ネゴシエーションで使用するアルゴリズムを入力します。
- ドメイン
- 必要な場合は、ドメイン名を入力します。
- NAT トラバーサル
- Cisco UDP (デフォルト) — UDP を介した IPsecNAT-T — NAT トラバーサル処理に ESP カプセル化と IKE 拡張を使用無効 — 特別な NAT 措置は不要Disable Dead Peer Detection — リモートゲートウェイやエンドポイントへのプローブの送信を無効にします。
新規 (または修正した) 接続を保存して他の設定をする
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 に進みます。
8.3.5. DSL 接続の確立
手順8.7 新規 DSL 接続の追加
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックします。
- VPN 接続のタイプを選択 一覧が表示されます。
- DSL を選択し、作成 ボタンをクリックします。
- DSL 接続 1 の編集 ウィンドウが表示されます。
手順8.8 既存の DSL 接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。
接続名、自動接続の動作、及び可用性セッティングの設定
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの DSL セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
DSL タブの設定
- ユーザー名
- サービスプロバイダー認証で使用するユーザー名を入力します。
- サービス
- 特別な指示がない限り、空白のままにします。
- パスワード
- サービスプロバイダーから提供されたパスワードを入力します。
新規 (または修正した) 接続を保存して他の設定をする
- MAC アドレスおよび MTU 設定、有線 タブをクリックして 「有線タブの設定」 に進みます。
- 接続のポイントツーポイント (Point-to-point) セッティングには、PPP セッティング タブをクリックして、「PPP (Point-to-Point) セッティングの設定」 に進みます;
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 に進みます。
8.3.6. Bond 接続の確立
手順8.9 新規 Bond 接続の追加
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックして選択一覧を開きます。Bond を選択し、作成 をクリックします。Bond 接続 1 の編集 ウィンドウが表示されます。
- Bond タブで 追加 をクリックし、Bond 接続で使用するインターフェースのタイプを選択します。作成 ボタンをクリックします。スレーブタイプを選択するダイアログが表示されるは、最初のスレーブを作成する時のみです。その後は、すべてのスレーブに同じタイプが自動的に使われます。
- bond1 slave1 の編集 ウィンドウが表示されます。最初に結びつけるインターフェースの MAC アドレスを入力します。適用 ボタンをクリックします。
- 認証 ウィンドウが表示されます。root パスワードを入力して続けます。認証 ボタンをクリックします。
- 結合接続ウィンドウ に結合されたスレーブの名前が表示されます。追加 ボタンをクリックしてさらにスレーブ接続を追加します。
- 設定を確認して、適用 ボタンをクリックします。
- Bondj 特定の設定での編集は、以下の 「Bond タブの設定」 を参照してください。

図8.14 新規作成した Bond 接続 1 の編集
手順8.10 既存の Bond 接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。
- Bond タブを選択します。
- 接続名、自動接続の動作、及び可用性のセッティングを設定します。編集 ダイアログ内の3つのセッティングはすべての接続タイプに共通です:
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの Bond セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
- Bondj 特定の設定での編集は、以下の 「Bond タブの設定」 を参照してください。
新規 (または修正した) 接続を保存して他の設定をする
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 へ進むか、または;
- 接続に対する IPv6 のセッティング: IPv6 のセッティング タブをクリックして 「IPv6 セッティングの設定」 に進みます。
Bond タブの設定
- モード
- Bond を構成するスレーブ接続でのトラフィック分散に使われるモード。デフォルトは、ラウンドロビン 。802.3ad などの他の負荷分散モードは、ドロップダウンリストから選択することができます。
- リンク監視
- ネットワークトラフィックを伝送するスレーブの能力を監視する方法。
- ラウンドロビン
- 耐障害性とロードバランシングのためラウンドロビンポリシーを設定します。利用可能になったインターフェースから順に、それぞれのボンディングされたスレーブインターフェースで送受信が行われます。
- アクティブバックアップ
- 耐障害性のためアクティブなバックアップポリシーを設定します。利用可能になった最初のボンディングされたスレーブインターフェースにより送受信が行われます。別のボンディングされたスレーブインターフェースは、アクティブなボンディングされたスレーブインターフェースが失敗した場合にのみ使用されます。これは、InfiniBand デバイスのボンドで利用可能な唯一のモードです。
- XOR
- 耐障害性とロードバランシングのため XOR (排他的論理和) ポリシーを設定します。この方法を使用すると、インターフェースによって受信要求の MAC アドレスとスレーブ NIC の 1 つの MAC アドレスが一致します。このリンクが確立すると、利用可能になった最初のインターフェースから順に送信が行われます。
- ブロードキャスト
- 耐障害性のためブロードキャストポリシーを設定します。すべての送信は、すべてのスレーブインターフェースで行われます。
- 802.3ad
- IEEE 802.3ad 動的リンクアグリゲーションのポリシーを設定します。同一の速度とデュプレックス設定を共有するアグリゲーショングループを作成します。アクティブなアグリゲーターのすべてのスレーブで送受信を行います。802.3ad に対応するスイッチが必要です。
- 適応型送信ロードバランシング
- 耐障害性とロードバランシングのため適応型送信ロードバランシング (TLB) ポリシーを設定します。発信トラフィックは、各スレーブインターフェースの現在の負荷に従って分散されます。受信トラフィックは、現在のスレーブにより受信されます。受信しているスレーブが失敗すると、別のスレーブが失敗したスレーブの MAC アドレスを引き継ぎます。
- アクティブロードバランシング
- 耐障害性とロードバランシングのためアクティブロードバランシング (ALB) ポリシーを設定します。IPv4 トラフィック用の送受信ロードバランシングが含まれます。ARP ネゴシエーションにより、受信ロードバランシングが可能です。
- MII (Media Independent Interface)
- インターフェースのキャリア波の状態を監視します。実行方法は、ドライバーへのクエリ、MII レジスタへの直接クエリ、Ethtool を使ったデバイスへのクエリがあります。利用可能なっ 3 つのオプションは以下のとおりです。
- 周波数の監視
- ドライバーもしくはMII レジスタへのクエリの間隔時間 (ミリ秒単位)
- リンクアップの遅延
- アップとレポートされたリンクの使用を試みるまでの待ち時間 (ミリ秒単位) 。リンクが 「アップ」 とレポートされてからすぐに不当な ARP リクエストが失われた場合に、この遅延は使用できます。これが発生するのは、例えばスイッチ初期化などの間です。
- リンクダウンの遅延
- これまでアクティブだったリンクが 「ダウン」 とレポートされた際に、別のリンクに変更するまでの待ち時間 (ミリ秒単位) 。アタッチされたスイッチがバックアップモードに変更するまで比較的長い時間がかかる場合に、この遅延は使用できます。
- ARP
- アドレス解決プロトコル (Address Resolution Protocol, ARP) は、リンク層接続の動作具合を決定するために 1 つ以上のピアにプローブする際に使用されます。これは、送信開始時間および最終受信時間を提供しているデバイスドライバーに依存しています。以下の 2 つのオプションがあります。
- 周波数の監視
- ARP リクエストを送信する間隔時間 (ミリ秒単位) 。
- ARP ターゲット
- ARP リクエストを送信する IP アドレスをコンマで区切ったもの。
8.3.7. VLAN 接続の確立
手順8.11 新規 VLAN 接続の追加
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックして選択一覧を開きます。VLAN を選択し、作成 をクリックします。VLAN 接続 1 の編集 ウィンドウが表示されます。
- VLAN タブで、VLAN 接続に使用する親インターフェースをドロップダウンリストから選びます。
- VLAN ID を入力します。
- VLAN インターフェース名を入力します。これは、作成される VLAN インターフェースの名前です。例えば、"eth0.1" や "vlan2" などです。(通常、この名前は親インターフェース名に "." と VLAN ID を加えたものか、"vlan" と VLAN ID を加えたものになります。)
- 設定を確認して、適用 ボタンをクリックします。
- VLAN 特定の設定での編集は、以下の VLAN タブの設定 を参照してください。
手順8.12 既存の VLAN 接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。
- VLAN タブを選びます。
- 接続名、自動接続の動作、及び可用性のセッティングを設定します。編集 ダイアログ内の3つのセッティングはすべての接続タイプに共通です:
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの VLAN セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
- VLAN 特定の設定での編集は、以下の VLAN タブの設定 を参照してください。
新規 (または修正した) 接続を保存して他の設定をする
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 に進みます。
VLAN タブの設定
- 親インターフェース
- ドロップダウンリストから以前に設定したインターフェースを選択できます。
- VLAN ID
- VLAN ネットワークのトラフィックのタグ付けに使用する ID 番号。
- VLAN インターフェース名
- 作成される VLAN インターフェースの名前。例えば、"eth0.1" や "vlan2" など。
- クローンした MAC アドレス
- VLAN インターフェースの特定に使用する別の MAC アドレスをオプションで設定します。このアドレスを使って、この VLAN 上で送信されたパケットのソース MAC アドレスを変更することができます。
- MTU
- VLAN 接続で送信されるパケットに使用する最大転送単位 (MTU) のサイズをオプションで設定します。
8.3.8. IP-over-InfiniBand (IPoIB) 接続の確立
手順8.13 新規 InfiniBand 接続の追加
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 追加 ボタンをクリックして選択一覧を開きます。InfiniBand を選択し、作成 をクリックします。InfiniBand 接続 1 の編集 ウィンドウが表示されます。
- InfiniBand タブで、InfiniBand 接続に使用するトランスポートモードをドロップダウンリストから選びます。
- InfiniBand MAC アドレスを入力します。
- 設定を確認して、適用 ボタンをクリックします。
- InfiniBand 特定の設定での編集は、以下の InfiniBand タブの設定 を参照してください。

図8.15 新規作成した InfiniBand 接続 1 の編集
手順8.14 既存の InfiniBand 接続の編集
- 通知スペースにある NetworkManager アプレットのアイコンを右クリックして、接続を編集する をクリックすると、ネットワーク接続 ウィンドウが表示されます。
- 設定したい接続を選択して、 編集 ボタンをクリックします。
- InfiniBand タブを選択します。
- 接続名、自動接続の動作、及び可用性のセッティングを設定します。編集 ダイアログ内の3つのセッティングはすべての接続タイプに共通です:
- 接続名 — ネットワーク接続の名前を入力します。この名前は、ネットワーク接続 ウィンドウの InfiniBand セクションでこの接続の表示に使用されます。
- すべてのユーザーに利用可能 — このシステム上のすべてのユーザーに利用可能な接続を作成するには、このボックスにチェックを入れます。この設定を変更するには root 権限が必要な場合があります。詳細については「ユーザー接続とシステム接続」 を参照してください。
- InfiniBand 特定の設定での編集は、以下の InfiniBand タブの設定 を参照してください。
新規 (または修正した) 接続を保存して他の設定をする
- 接続に対する IPv4 のセッティング: IPv4 のセッティング タブをクリックして 「IPv4 セッティングの設定」 へ進むか、または;
- 接続に対する IPv6 のセッティング: IPv6 のセッティング タブをクリックして 「IPv6 セッティングの設定」 に進みます。
InfiniBand タブの設定
- トランスポートモード
- ドロップダウンリストから、データグラムまたは接続モードを選択できます。他の IPoIB ネットワークで使用しているモードと同じものを選びます。
- Device MAC アドレス
- InfiniBand ネットワークのトラフィックで使用される InfiniBand 対応デバイスの MAC アドレスです。InfiniBand ハードウェアがインストールされていれば、このハードウェアのアドレスフィールドは事前に記入されます。
- MTU
- InfiniBand 接続で送信されるパケットに使用する最大転送単位 (MTU) のサイズをオプションで設定します。
8.3.9. 接続セッティングの設定
8.3.9.1. 802.1x セキュリティの設定
手順8.15 有線接続には...
- 追加 ボタンをクリックして 802.1x セキュリティを設定する新規のネットワーク接続を選択してから 作成 をクリックするか、既存の接続を選択して 編集 をクリックします。
- 802.1x セキュリティ タブを選択して、そこにある この接続に 802.1x セキュリティを使用する チェックボックスにチェックを入れることで設定を有効にします。
手順8.16 無線接続には...
- 追加 ボタンをクリックして 802.1x セキュリティを設定する新規のネットワーク接続を選択してから 作成 をクリックするか、既存の接続を選択して 編集 をクリックします。
- 無線セキュリティ タブを選択します。
- セキュリティ ドロップダウンをクリックして以下のセキュリティメソッドの1つを選択します:LEAP、動的 WEP (802.1x)、あるいは WPA & WPA2 Enterprise。
- どの EAP タイプが セキュリティ ドロップダウン内の選択肢に対応しているかについての説明は、「TLS (Transport Layer Security) セッティングの設定」 を参照してください。
8.3.9.1.1. TLS (Transport Layer Security) セッティングの設定
- 識別
- ユーザー名やログイン名などの、EAP 認証メソッドの識別ストリングです。
- ユーザーの証明書
- クリックしてブラウズし、ユーザーの証明書を選択します。
- CA 証明書
- クリックしてブラウズし、認証局 (CA) の証明書を選択します。
- プライベートキー
- クリックしてブラウズし、ユーザーのプライベートキーファイルを選択します。
- プライベートキーのパスワード
- ユーザーのプライベートキーに対応するユーザーのパスワードを入力します。
8.3.9.1.2. トンネル化した TLS セッティングの設定
- 匿名識別
- この値は、非暗号化 ID として使用されます。
- CA 証明書
- クリックしてブラウズし、認証局 (CA) の証明書を選択します。
- 内部認証
- PAP — パスワード認証プロトコルMSCHAP — チャレンジ ハンドシェイク認証プロトコルMSCHAPv2 — Microsoft チャレンジハンドシェイク認証プロトコルバージョン 2CHAP — チャレンジ ハンドシェイク認証プロトコル
- ユーザー名
- 認証プロセスで使用するユーザー名を入力します。
- パスワード
- 認証プロセスで使用するパスワードを入力します。
8.3.9.1.3. 保護された EAP (PEAP) セッティングの設定
- 匿名識別
- この値は、非暗号化 ID として使用されます。
- CA 証明書
- クリックしてブラウズし、認証局 (CA) の証明書を選択します。
- PEAP バージョン
- 使用する、保護された EAP のバージョン。Automatic、0、1 のいずれか。
- 内部認証
- MSCHAPv2 — Microsoft チャレンジハンドシェイク認証プロトコルバージョン 2MD5 — メッセージダイジェスト 5、暗号化ハッシュ関数。GTC — Generic Token Card
- ユーザー名
- 認証プロセスで使用するユーザー名を入力します。
- パスワード
- 認証プロセスで使用するパスワードを入力します。
8.3.9.2. 無線セキュリティの設定
- セキュリティ
- なし — Wi-Fi 接続を暗号化しません。WEP 40/128-bit キー — IEEE 802.11 標準からの Wired Equivalent Privacy (WEP) 。単一の事前共有キー (PSK) を使用。WEP 128-bit パスフレーズ — パスフレーズの MD5 ハッシュを使用して WEP キーを引き出します。LEAP — Cisco Systems の Lightweight Extensible Authentication Protocol 。動的 WEP (802.1x) — WEP キーは動的に変更されます。WPA & WPA2 パーソナル — IEEE 802.11i 標準からの Wi-Fi Protected Access (WPA) 。WEP に代わるもの。802.11i-2004 標準からの Wi-Fi Protected Access II (WPA2) 。パーソナルモードは、事前共有キー (WPA-PSK) を使用。WPA & WPA2 エンタープライズ — RADUIS 認証サーバーで使用する WPA で、IEEE 802.1x ネットワークアクセスコントロールを提供。
- パスワード
- 認証プロセスで使用するパスワードを入力します。
注記

図8.16 無線セキュリティタブの編集および WPA プロトコルの選択
8.3.9.3. PPP (Point-to-Point) セッティングの設定
- メソッドの設定
- MPPE (point-to-point encryption) を使用
- Microsoft Point-To-Point Encryption プロトコル (RFC 3078)
- BSD データ圧縮を許可
- PPP BSD Compression プロトコル (RFC 1977)
- Deflate データ圧縮を許可
- PPP Deflate プロトコル (RFC 1979)
- TCP ヘッダー圧縮を使用
- 低速シリアルリンク用に TCP/IP ヘッダーを圧縮 (RFC 1144)
- PPP エコーパケットを送信
- ループバックテスト用の LCP エコー要求およびエコー応答コード (RFC 1661)
8.3.9.4. IPv4 セッティングの設定

図8.17 IPv4 セッティングタブの編集
方式のセッティング
接続タイプ別で利用可能な IPv4 方式
- 方式
- 自動 (DHCP) — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用する場合は、このオプションを選択します。DHCP クライアント ID フィールドに記入する必要はありません。自動 (DHCP) アドレスのみ — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用しているが、DNS サーバーを手動で割り当てたい場合は、このオプションを選択します。ローカルのみリンク(Link-Local Only) — 接続しているネットワークに DHCP サーバーがなく、IP アドレスを手動で割り当てたくない場合に、このオプションを選択します。RFC 3927 にしたがってランダムなアドレスが選択されます。他のコンピュータへ共有 — 設定しているインターフェースがインターネットもしくは WAN 接続の共有用である場合は、このオプションを選択します。
- 有線、無線、及び DSL 接続の方式
- 手動 — 接続しているネットワークに DHCP サーバーがなく、IP アドレスを手動で割り当てたい場合に、このオプションを選択します。
- モバイルブロードバンド接続の方式
- 自動 (PPP) — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用する場合は、このオプションを選択します。自動 (PPP) アドレスのみ — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用しているが、DNS サーバーを手動で割り当てたい場合は、このオプションを選択します。
- VPN 接続の方式
- 自動 (VPN) — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用する場合は、このオプションを選択します。自動 (VPN) アドレスのみ — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用しているが、DNS サーバーを手動で割り当てたい場合は、このオプションを選択します。
- DSL 接続の方式
- 自動 (PPPoE) — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用する場合は、このオプションを選択します。自動 (PPPoE) アドレスのみ — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用しているが、DNS サーバーを手動で割り当てたい場合は、このオプションを選択します。
8.3.9.5. IPv6 セッティングの設定
- 方式
- 無視する — IPv6 セッティングを無効にしたい場合は、このオプションを選びます。自動 — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用する場合は、このオプションを選択します。自動、アドレスのみ — 接続しているネットワークが IP アドレスの割り当てにDHCP サーバーを使用しているが、DNS サーバーを手動で割り当てたい場合は、このオプションを選択します。手動 — 接続しているネットワークに DHCP サーバーがなく、IP アドレスを手動で割り当てたい場合に、このオプションを選択します。ローカルのみリンク(Link-Local Only) — 接続しているネットワークに DHCP サーバーがなく、IP アドレスを手動で割り当てたくない場合に、このオプションを選択します。RFC 4862 にしたがってランダムなアドレスが選択されます。他のコンピュータへ共有 — 設定しているインターフェースがインターネットもしくは WAN 接続の共有用である場合は、このオプションを選択します。
- アドレス
- DNS サーバー — コンマで区切られた DNS サーバーのリストを入力します。ドメインを検索 — コンマで区切られたドメインコントローラーのリストを入力します。
8.3.9.6. ルートの設定

図8.18 静的ネットワークルートの設定
- アドレス
- アドレス — ネットワーク、サブネット、ホストの IP アドレスです。ネットマスク — ネットマスクまたは入力した IP アドレスのプレフィックスの長さゲートウェイ — ネットワーク、サブネット、ホストにつながるゲートウェイの IP アドレスです。メトリック — ネットワークコスト、つまりこのルートに与える優先値。高い値よりも低い値の方が望ましい。
- 自動取得したルートを無視
- 接続に手動入力したルートのみを使用する場合は、このボックスにチェックを入れます。
- ネットワーク上のリソースにのみこの接続を使用
- この接続がデフォルトルートにならないようにするには、このチェックボックスを選択します。よくある例は、ヘッドオフィスへの接続が VPN や専用線で、インターネットのトラフィックにこの接続を使用してほしくない場合です。このオプションを選択すると、この接続で自動的に学習されたルートを使用することが明確なトラフィックか、手動で入力されたトラフィックのみがこの接続を経由します。
8.4. NetworkManager のアーキテクチャ
第9章 ネットワークインターフェース
/etc/sysconfig/network-scripts/
ディレクトリにあります。これらのネットワークインターフェースをアクティベート、非アクティベートするスクリプトも同じディレクトリにあります。システムによっては、インターフェースファイルの数とタイプは異なる場合がありますが、このディレクトリに存在するファイルには3つのカテゴリーがあります。
- インターフェース設定ファイル
- インターフェース制御スクリプト
- ネットワーク関数ファイル
9.1. ネットワーク設定ファイル
/etc/hosts
- このファイルの主要目的は、他の方法では解決できないホスト名を解決することです。DNS サーバーのない、小規模ネットワーク上のホスト名を解決することも可能です。コンピュータが接続されているネットワークのタイプにかかわらず、このファイルには、
localhost.localdomain
として、ループバックデバイスの IP アドレス (127.0.0.1
) を指定する行が含まれているはずです。詳しくは、hosts(5) の man ページを参照してください。 /etc/resolv.conf
- このファイルは、DNS サーバーの IP アドレスと検索ドメインを指定します。他の動作を行うように設定されていない限り、ネットワーク初期化スクリプトはそうしたデータをこのファイルに入れます。このファイルの詳細情報は、resolv.conf(5) の man ページを参照してください。
/etc/sysconfig/network
- このファイルは、すべてのネットワークインターフェースのルーティングとホストの情報を指定します。グローバルな影響があり、インターフェース固有でない指示文の格納に使われます。このファイルとそれが使用できる指示文の詳細は、「/etc/sysconfig/network」 を参照してください。
/etc/sysconfig/network-scripts/ifcfg-interface-name
- 各ネットワークインターフェースには、対応するインターフェース設定スクリプトがあります。これらの各ファイルは、特定のネットワークインターフェースに固有の情報を提供します。このタイプのファイルとそれが使用できる指示文の詳細については、「インターフェース設定ファイル」 を参照してください。
重要
警告
/etc/sysconfig/networking/
ディレクトリは、非推奨の Network Administration Tool (system-config-network
) が使用し、そのコンテンツは手動で編集 すべきではありません。設定を削除してしまうリスクがあるため、ネットワーク設定には 1 つの方法だけを使用することを強く推奨します。グラフィカル設定ツールを使用したネットワークインターフェイスの設定に関する情報は、8章NetworkManager を参照して下さい。
9.2. インターフェース設定ファイル
ifcfg-name
と命名されます。name は設定ファイルが制御するデバイスの名前を指します。
9.2.1. イーサネットインターフェース
etc/sysconfig/network-scripts/ifcfg-eth0
は、最も一般的なインターフェースファイルの 1 つです。これは、システムの一番目のイーサネットの ネットワークインターフェースカード または NIC を制御します。複数の NIC を持つシステムには、複数の ifcfg-ethX
ファイルが存在します (X は特定のインターフェースに対応した一意の番号です)。デバイスにはそれぞれ独自の設定ファイルがあるため、管理者は、各インターフェースがどう機能するか個別に制御できます。
ifcfg-eth0
ファイルのサンプルは以下のとおりです:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no
ifcfg-eth0
ファイルは、IP 情報が DHCP サーバーにより提供されるため異なって見えます:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
BONDING_OPTS
=パラメータ- ボンディングデバイス用の設定パラメータを設定し、
/etc/sysconfig/network-scripts/ifcfg-bondN
で使用されます (「チャンネルボンディングインターフェース」 を参照)。これらのパラメータは、/sys/class/net/bonding device/bonding
でボンディングデバイスに使用されているパラメータ、及びbonding
モジュール指示文 に記載のボンディングドライバー用のモジュールパラメータと全く同じです。この設定方法を用いると、複数のボンディングデバイスを異なる設定にできます。すべてのボンディングオプションは、ifcfg-name
のBONDING_OPTS
指示文の後ろに置くことが強く推奨されます。/etc/modprobe.d/bonding.conf
または廃棄になった/etc/modprobe.conf
ファイルでは、ボンディングデバイスのオプションは指定 しないでください。 BOOTPROTO
=プロトコル- プロトコル が以下のいずれかの場合です:
none
— ブート時プロトコルを使用しません。bootp
— BOOTP プロトコルを使用する必要があります。dhcp
— DHCP プロトコルを使用する必要があります。
BROADCAST
=アドレス- アドレス はブロードキャストアドレスです。この指示文は、
ifcalc
で自動的に値が算出されるため破棄されています。 DEVICE
=名前- 名前 は物理デバイス名です (動的に割り振られる PPP デバイスを除きます。その場合は 論理名 です)。
DHCP_HOSTNAME
=名前- 名前 は DHCP サーバーに送信される短いホスト名です。クライアントが IP アドレスを受信する前にホスト名を指定するように DHCP サーバーが 要求する場合に限り、このオプションを使用します。
DNS{1,2}
=アドレスPEERDNS
指示文がyes
にセットされている場合、アドレス は/etc/resolv.conf
に配置されるネームサーバーのアドレスです 。ETHTOOL_OPTS
=オプション- オプション は
ethtool
がサポートする任意のデバイス固有オプションです。例えば 100Mb、フルデュプレックスを強制したい場合は以下のようにします :ETHTOOL_OPTS="autoneg off speed 100 duplex full"
カスタムの initscript の代わりに、ETHTOOL_OPTS
を使用して、インターフェースのスピードとデュプレックス設定を行います。ネットワーク initscript 外で実行されるカスタム initscript により、ブート後のネットワークサービスの再起動中に予期できない結果をもたらします。重要
スピードまたはデュプレックスの設定を変更する場合は、ほとんどの場合autoneg off
オプションを使用してオートネゴシエーションを無効にする必要があります。オプションエントリは順序に依存するため、このオプションは最初に記載する必要があります。Ethtool オプションの詳細については、「Ethtool」 を参照して下さい。 HOTPLUG
=回答- 回答 が以下のいずれかの場合です:
yes
— ホットプラグになっている時にこのデバイスをアクティブにします (これがデフォルトのオプション)。no
— ホットプラグの時でもこのデバイスをアクティブに しません 。
HOTPLUG=no
オプションを使用すると、ボンディングカーネルモジュールがロードされる際にチャンネルボンディングインターフェイスがアクティブになるのを阻止できます。チャンネルボンディングインターフェースの詳細は、「チャンネルボンディングインターフェース」 を参照してください。 HWADDR
=MAC-アドレス- MAC-アドレス は、AA:BB:CC:DD:EE:FF 形式のイーサネットデバイスのハードウェアアドレスです。複数の NIC が格納されたマシンでこの指示文を使用して、各 NIC モジュールの設定されているロード順序に関わらず、正しいデバイス名がインターフェースに割り当てられるようにする必要があります。この指示文は、
MACADDR
と併用されるべき ではありません。注記
- 永続的なデバイス名は
/etc/udev/rules.d/70-persistent-net.rules
が処理します。 HWADDR
は、System z ネットワークデバイスと使用しないでください。- 『Red Hat Enterprise Linux 6 Installation Guide』 のセクション 25.3.3 「サブチャンネルのマッピングとネットワークデバイス名」を参照してください。
IPADDR
=アドレス- アドレス は IP アドレスです。
LINKDELAY
=時間- 時間 は、デバイス設定の前にリンクが交渉するための待機時間の秒数です。
MACADDR
=MAC-アドレス- MAC-アドレス は AA:BB:CC:DD:EE:FF 形式のイーサネットデバイスのハードウェアアドレスです。この指示文を使用して、MAC アドレスをインターフェースに割り当て、物理 NIC に割り当てられた MAC アドレスを上書きします。この指示文は
HWADDR
指示文と併用 しない ことが推奨されます。 MASTER
=ボンドインターフェイス- ボンドインターフェイス はイーサネットインターフェースがリンクされたチャンネルボンディングインターフェースです。この指示文は、
SLAVE
指示文と併用されます。チャンネルボンディングインターフェースに関する詳細は 「チャンネルボンディングインターフェース」 を参照してください。 NETMASK
=マスク- マスク はネットマスクの値です。
NETWORK
=アドレス- アドレス はネットワークアドレスです。値は
ipcalc
で自動的に算出されるため、この指示文は廃棄されています。 NM_CONTROLLED
=回答- 回答 が以下のいずれかの場合です:
yes
— NetworkManager によるこのデバイスの設定が許可されます。これはデフォルトの動作で、省略できます。no
— NetworkManager によるこのデバイスの設定は許可されません。
注記
NM_CONTROLLED
指示文は、Red Hat Enterpise Linux 6.3 以降で/etc/sysconfig/network
のNM_BOND_VLAN_ENABLED
指示文に依存しています。この指示が存在し、yes
かy
、true
の場合のみ、NetworkManager はボンディングおよび VLAN インターフェースを検出し、管理します。 ONBOOT
=回答- 回答 が以下のいずれかの場合です:
yes
— このデバイスはブート時にアクティブにされる必要があります。no
— このデバイスはブート時にアクティブにされる必要はありません。
PEERDNS
=回答- 回答 が以下のいずれかの場合です:
yes
— DNS 指示文が設定されている場合は/etc/resolv.conf
を変更します。DHCP を使用する場合は、yes
がデフォルトです。no
—/etc/resolv.conf
を変更しません。
SLAVE
=回答- 回答 が以下のいずれかの場合です:
yes
— このデバイスは、MASTER
指示文で指定されているチャンネルボンディングインターフェースにより制御されます。no
— このデバイスは、MASTER
指示文で指定されているチャンネルボンディングインターフェースにより制御 されません。
この指示文は、MASTER
指示文と併用されます。チャンネルボンディングインターフェースの詳細は、「チャンネルボンディングインターフェース」 を参照してください。 SRCADDR
=アドレス- アドレス は、送信パケットのために指定されたソース IP アドレスです。
USERCTL
=回答- 回答 が以下のいずれかの場合です:
yes
—root
でないユーザーもこのデバイスを制御できます。no
—root
でないユーザーはこのデバイスを制御できません。
9.2.2. System z 上の Linux 特定の ifcfg オプション
SUBCHANNELS=<read_device_bus_id>, <write_device_bus_id>, <data_device_bus_id>
- <read_device_bus_id><write_device_bus_id>, <data_device_bus_id> は、ネットワークデバイスを示す 3 つのデバイスバス ID です。
PORTNAME=myname;
- myname は、オープンシステムアダプター (OSA) の portname または LAN チャンネルステーション (LCS) の portnumber になります。
CTCPROT
=回答- 回答 が以下のいずれかの場合です:
0
— 互換モード、仮想マシンの TCP/IP (IBM S/390 や IBM System z オペレーティングシステムではない、Linux 以外のピアで使用)。これはデフォルトモードです。1
— 拡張モード、Linux-to-Linux ピアーズで使用。3
— S/390 および IBM System z オペレーティングシステムの互換モード。
この指示文は、NETTYPE 指示文と合わせて使われます。NETTYPE='ctc' の CTC プロトコルを指定します。デフォルト値は 0 です。 OPTION
='回答'- '回答' は、有効な sysfs 属性とその値の引用符で囲まれた文字列です。Red Hat Enterprise Linux インストーラーは現在、これを使用して QETH デバイスのレイヤーモード (layer2) と相対ポート番号 (portno) を設定します。以下に例を挙げます。
OPTIONS='layer2=1 portno=0'
9.2.3. System z 上の Linux の必須 ifcfg オプション
NETTYPE
=回答- 回答 が以下のいずれかの場合です:
ctc
—チャンネルツーチャンネル通信。ポイントツーポイントの場合は、TCP/IP または TTY 。lcs
— LAN チャンネルステーション (LCS) 。qeth
— QETH (QDIO イーサネット) 。これはデフォルトのネットワークインターフェースです。実機または仮想の OSA カードおよび HiperSockets デバイスのサポートで推奨されるインストール方法です。
9.2.4. Ethtool
ethtool -h
で表示されます。詳細なリストと説明は、man ページ ethtool(8)
を参照してください。以下の最初の 2 例は情報クエリで、コマンドの異なるフォーマットの使い方を示しています。
ethtool
[option...] devname
~]# ethtool em1
Settings for em1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
ethtool
-i, --driver
devname
~]$ ethtool -i em1
driver: e1000e
version: 2.0.0-k
firmware-version: 0.13-3
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
-
--statistics
--statistics
または-S
は、特定のネットワークデバイスに NIC やドライバー統計をクエリする際に使用されます。以下の形式になります。ethtool
-S
,--statistics
devnamedevname は NIC です。-
--identify
--identify
または-p
オプションは、オペレーターが目視でアダプターを簡単に特定できるようにする目的のアダプター固有のアクションを開始します。通常これで行われるのは、特定のネットワークポート上で 1 つ以上の LED の点滅です。以下の形式になります。-p, --identify
devname integerinteger アクションを実行する時間の長さです (秒単位) 。devname は NIC です。-
--test
--test
または-t
オプションは、ネットワークインターフェースカード上でテストを実行する際に使用します。以下の形式になります。-t, --test
word devnameword は以下のいずれかになります。offline
— 総合的なテストを実行します。サービスが一時中断されます。online
— 短縮されたテストを実行します。サービスは中断されません。external_lb
— ループバックケーブルが装着されていると、ループバックテストを含む総合的なテストを実行します。
devname は NIC です。
-s
または --change
オプションが必要になります。以下のすべてのオプションは、-s
または --change
オプションが指定された場合のみ、適用されます。明確にするために、ここでは省略します。
-
--speed
--speed
は、スピードを毎秒メガビット単位 (Mb/s) で設定するオプションです。スピード値を省略すると、対応するデバイスのスピードが表示されます。以下の形式になります。--speed
number devnamenumber 毎秒メガビット (Mb/s) 単位でのスピードです。devname は NIC です。-
--duplex
--duplex
オペレーションの送信および受信モードを設定するオプションです。以下の形式になります。--duplex
word devnameword は以下のいずれかになります。half
— 半二重モードを設定します。通常、ハブに接続している際に使用します。full
— 全二重モードを設定します。通常、スイッチまたは別のホストに接続している際に使用します。
devname は NIC です。-
--port
--port
は、デバイスポートを選択する際に使用するオプションです。以下の形式になります。--port
value devnamevalue は、以下のいずれかです。tp
— ツイストペアケーブルを媒介として使用するイーサネットインターフェースです。aui
— Attachment Unit Interface (AUI) 。通常はハブで使用します。bnc
— BNC コネクターおよび同軸ケーブルを使用するイーサネットインターフェースです。mii
— Media Independent Interface (MII) を使用するイーサネットインターフェースです。fibre
— 光ファイバーを媒介として使用するイーサネットインターフェースです。
devname は NIC です。-
--autoneg
--autoneg
は、ネットワークスピードとオペレーションモード (全二重もしくは半二重モード) のオートネゴシエーションを制御するオプションです。オートネゴシエーションが有効な場合、-r, --negotiate
オプションを使ってネットワークスピードとオペレーションモードの再ネゴシエーションを開始できます。--a, --show-pause
オプションを使うとオートネゴシエーションのステータスを表示できます。以下の形式になります。--autoneg
value devnamevalue は、以下のいずれかです。yes
— ネットワークスピードとオペレーションモードのネゴシエーションを許可します。no
— ネットワークスピードとオペレーションモードのネゴシエーションを許可しません。
devname は NIC です。-
--advertise
--advertise
は、オートネゴシエーションに通知されるスピードとオペレーションモード (二重モード) を設定するオプションです。引数は、表9.1「Ethtool 通知オプション: スピードおよびオペレーションモード」 からの 1 つ以上の十六進法の値になります。以下の形式になります。--advertise
HEX-VALUE devnameHEX-VALUE は、以下の表からの 1 つ以上の十六進法の値で、devname は NIC です。表9.1 Ethtool 通知オプション: スピードおよびオペレーションモード
十六進法の値 スピード 二重モード IEEE 基準? 0x001 10 半はい 0x002 10 全はい 0x004 100 半はい 0x008 100 全はい 0x010 1000 半 いいえ 0x020 1000 全はい 0x8000 2500 全 はい 0x1000 10000 全 はい 0x20000 20000MLD2 全 いいえ 0x20000 20000MLD2 全 いいえ 0x40000 20000KR2 全 いいえ -
--phyad
--phyad
は、物理アドレスを変更するオプションです。MAC もしくはハードウェアアドレスと呼ばれることが多くありますが、ここでは物理アドレスと呼びます。以下の形式になります。--phyad
HEX-VALUE devnameHEX-VALUE は十六進法形式での物理アドレスで、devname は、NIC です。-
--xcvr
--xcvr
は、トランシーバーのタイプを選択するオプションです。現在は、「内部」 および 「外部」 のみが指定できます。今後は他のタイプが追加される可能性があります。以下の形式になります。--xcvr
word devnameword は以下のいずれかになります。internal
— 内部トランシーバーを使用。external
— 外部トランシーバーを使用。
devname は NIC です。-
--wol
--wol
は、「Wake-on-LAN」 オプションを設定するオプションです。すべてのデバイスが対応しているわけではありません。このオプションの引数は、どのオプションを有効にするかを指定する文字列です。以下の形式になります。--wol
value devnamevalue は、以下の 1 つまたは 複数のものです。p
— PHY アクティビティーでウェイクu
— ユニキャストメッセージでウェイクm
— マルチキャストメッセージでウェイクb
— ブロードキャストメッセージでウェイクg
— Wake-on-Lan; "magic packet" の受信でウェイク。s
— Wake-on-Lan のパスワードを使用してセキュリティ機能を有効にします。d
— Wake-on-Lan を無効にし、すべての設定をクリアにします。
devname は NIC です。-
--sopass
--sopass
は、「SecureOn」 パスワードを設定するオプションです。このオプションの引数は、イーサネット MAC 十六進法形式 (xx:yy:zz:aa:bb:cc) の 6 バイトである必要があります。以下の形式になります。--sopass
xx:yy:zz:aa:bb:cc devnamexx:yy:zz:aa:bb:cc は MAC アドレスと同一形式のパスワードで、devname は NIC です。-
--msglvl
--msglvl
は、ドライバーのメッセージタイプフラグを名前もしくは番号で設定するオプションです。これらのタイプフラグの正確な意味は、ドライバーによって異なります。以下の形式になります。--msglvl
value devnamevalue は以下のいずれかです。HEX-VALUE
— メッセージタイプを示す十六進法の値です。message-type
— プレーンテキストのメッセージタイプ名です。
devname は NIC です。定義済みのメッセージタイプ名および番号は、以下の表に示すとおりです。表9.2 ドライバーメッセージタイプ
メッセージタイプ 十六進法の値 詳細 drv 0x0001 一般的なドライバーステータスprobe 0x0002 ハードウェアのプローブlink 0x0004 リンクのステータスtimer 0x0008 定期的なステータスチェックifdown 0x0010 非アクティベートにしているインターフェース ifup 0x0020 アクティベートにしているインターフェースrx_err 0x0040 エラーを受信 tx_err 0x0080 エラー送信 intr 0x0200 割り込み処理 tx_done 0x0400 送信完了 rx_status 0x0800 受信完了 pktdata 0x1000 パケットコンテンツ hw 0x2000 ハードウェアのステータス wol 0x4000 Wake-on-LAN ステータス
9.2.5. チャンネルボンディングインターフェース
bonding
カーネルモジュールと、チャンネルボンディングインターフェース と呼ばれる特殊なネットワークインターフェースを使用して、管理者が複数のネットワークインターフェースを単一のチャンネルにまとめてバインドすることが可能です。チャンネルボンディングにより、2 つ以上のネットワークインターフェースが 1 つとして機能できるようになると同時に、帯域幅が増加し、冗長性を実現します。
/etc/sysconfig/network-scripts/
ディレクトリに ifcfg-bondN
という名前のファイルを作成し、N をそのインターフェースの番号 0
などに置き換えます。
DEVICE
指示文が bondN
で、 N はインターフェースの番号に置き換えられます。
例9.1 ifcfg-bond0 インターフェース設定ファイルのサンプル
DEVICE=bond0 IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no BONDING_OPTS="bonding parameters separated by spaces"
MASTER
指示文と SLAVE
指示文を追加する必要があります。チャンネルボンディングされたインターフェースの各設定ファイルは、ほぼ同一となる場合があります。
eth0
と eth1
は以下の例のようになる場合があります。
DEVICE=ethN BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=no
/etc/modprobe.d/
ディレクトリに bonding.conf
という名前の新規ファイルを root で作成します。ファイル名は、末尾に .conf
の拡張子が付いていれば、どのような名前にすることもできます。新規ファイルに以下の行を挿入します:
alias bondN bonding
0
などのインターフェースの番号に置き換えます。設定済みの各チャンネルボンディングインターフェースには、新規 /etc/modprobe.d/bonding.conf
ファイルに対応するエントリがなければなりません。
重要
ifcfg-bondN
インターフェースファイル内の BONDING_OPTS="bonding parameters"
指示文でスペースで区切られた一覧として指定する必要があります。/etc/modprobe.d/bonding.conf
、 または廃棄になっている /etc/modprobe.conf
ファイルのボンディングデバイスでは、オプションを指定しないでください。ボンディングモジュール設定の詳しい説明とアドバイス、及びボンディングパラメータの一覧を表示するには、「チャンネルボンディングの使用」 を参照してください。
9.2.6. ネットワークブリッジ
/etc/sysconfig/network-scripts/
ディレクトリに ifcfg-brN
という名前のファイルを作成し、N をそのインターフェースの番号 0
などに置き換えます。
DEVICE
指示文はbrN
形式でその引数としてインターフェース名を与えられ、この N はインターフェースの番号に置き換えられます。TYPE
指示文には、引数Bridge
またはEthernet
が与えられます。この指示文は、デバイスタイプと、引数が大文字/小文字を区別するかを決定します。- ブリッジインターフェース設定ファイルには IP アドレスがあり、物理インターフェースには MAC アドレスしかありません。
- 追加の指示文
DELAY=0
が加わり、ブリッジがトラフィックを監視し、ホストの位置を学習し、フィルタリング機能の基になる MAC アドレス表を構築する間に、ブリッジが待機することを回避します。ルーティングループが可能でない場合は、デフォルトの 30 秒遅延は不要です。 NM_CONTROLLED=no
をイーサネットインターフェースに追加して、NetworkManager によるファイル変更を回避することが推奨されます。NetworkManager の今後のバージョンがブリッジ設定に対応することに備えて、これをブリッジ設定ファイルに追加することもできます。
例9.2 ifcfg-br0 インターフェース設定ファイルの例
DEVICE=br0 TYPE=Bridge IPADDR=192.168.1.1 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=static NM_CONTROLLED=no DELAY=0
/etc/sysconfig/network-scripts/ifcfg-ethX
の物理インターフェースを設定します。ここでは X は、特定のインターフェースに対応する一意の番号です。
例9.3 ifcfg-ethX インターフェース設定ファイルの例
DEVICE=ethX TYPE=Ethernet HWADDR=AA:BB:CC:DD:EE:FF BOOTPROTO=none ONBOOT=yes NM_CONTROLLED=no BRIDGE=br0
注記
DEVICE
指示文では、インターフェース名はデバイスタイプを決定するわけではないので、ほぼいかなる名前でも使用できます。一般的に使われる名前の例は、tap
、dummy
、bond
などです。TYPE=Ethernet
絶対に必要なわけではありません。TYPE
指示文が設定されていない場合、(名前が明確に異なるインターフェース設定ファイルと合致していなければ) そのデバイスはイーサネットデバイスとして扱われます。
警告
service network restart
DEVICE=ethX TYPE=Ethernet USERCTL=no SLAVE=yes MASTER=bond0 BOOTPROTO=none HWADDR=AA:BB:CC:DD:EE:FF NM_CONTROLLED=no
注記
ethX
をインターフェース名に使うのは一般的な方法ですが、ほとんどどんな名前でも使用できます。よくある例は、tap
、dummy
、bond
などです。
/etc/sysconfig/network-scripts/ifcfg-bond0
を以下のように作成もしくは編集します。
DEVICE=bond0 ONBOOT=yes BONDING_OPTS='mode=1 miimon=100' BRIDGE=brbond0 NM_CONTROLLED=noボンディングモジュールの設定に関する指示およびアドバイスと、ボンディングパラメーターの一覧については、「チャンネルボンディングの使用」 を参照してください。
/etc/sysconfig/network-scripts/ifcfg-brbond0
を以下のように作成もしくは編集します。
DEVICE=brbond0 ONBOOT=yes TYPE=Bridge IPADDR=192.168.1.1 NETMASK=255.255.255.0 NM_CONTROLLED=no

図9.1 2 つのボンディングされたインターフェースインターフェースで構成されるネットワークブリッジ
MASTER=bond0
指示文のある 2 つ以上のインターフェース設定ファイルができました。これらのファイルは、DEVICE=bond0
指示文を含む /etc/sysconfig/network-scripts/ifcfg-bond0
という名前の設定ファイルに向けられています。この ifcfg-bond0
は、/etc/sysconfig/network-scripts/ifcfg-brbond0
設定ファイルに向けられています。これには IP アドバイスが含まれ、ホスト内の仮想ネットワークへのインターフェースとして動作します。
service network restart
9.2.7. 802.1q VLAN タグのセットアップ
- 以下のコマンドを入力して、モジュールがロードされていることを確認します。
lsmod | grep 8021q
- モジュールがロードされていない場合は、以下のコマンドでロードします。
modprobe 8021q
/etc/sysconfig/network-scripts/ifcfg-ethX
の物理インターフェースを以下のように設定します。X は特定のインターフェースに対応する一意の番号です。DEVICE=ethX TYPE=Ethernet BOOTPROTO=none ONBOOT=yes
/etc/sysconfig/network-scripts
で VLAN インターフェース設定を行います。設定ファイル名は、物理インターフェースにピリオド.
と VLAN ID 番号を加えたものにします。例えば、VLAN ID が 192 で物理インターフェースがeth0
ならば、設定ファイル名はifcfg-eth0.192
となります。DEVICE=ethX.192 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.1 NETMASK=255.255.255.0 USERCTL=no NETWORK=192.168.1.0 VLAN=yes
例えば、VLAN ID 193 で同一インターフェースのeth0
上に 2 つ目の VLAN を設定する必要がある場合は、VLAN 設定詳細でeth0.193
の名前の新規ファイルを追加します。- 以下のようにネゴシエーションサービスを再起動して変更を反映させます
service network restart
9.2.8. エイリアスファイルとクローンファイル
ip
コマンドが今では同一への複数アドレス割り当てに対応するので、この方法で複数アドレスを同一インターフェースにバインディングする必要はもうありません。
注記
ifcfg
ファイルの IP アドレスを検出しません。例えば、ifcfg-eth0
および ifcfg-eth0:1
ファイルがある場合に、NetworkManager が 2 つの接続を作成すると、混乱を引き起こすことになります。
ifcfg-if-name:alias-value
命名スキームを使用します。
ifcfg-eth0:0
ファイルは DEVICE=eth0:0
及び 10.0.0.2
の静的 IP アドレスを指定するように設定でき、DHCP を介して ifcfg-eth0
の IP 情報を受信するように既に設定されたイーサネットインターフェースのエイリアスとして機能します。こうした設定の下で、eth0
は動的 IP アドレスにバインドされますが、同一の物理ネットワークカードで、固定された 10.0.0.2
IP アドレスを介して要求を受信することができます。
警告
ifcfg-if-name-clone-name
を使用します。エイリアスファイルは既存のインターフェースに複数のアドレスを使用できるようにするのに対し、クローンファイルはインターフェースの追加オプションを指定するのに使用されます。例えば、eth0
という名前の標準 DHCP イーサネットインターフェースでは、以下のようになります。
DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp
USERCTL
指示文のデフォルト値は no
であるため、これが指定されていなければ、ユーザーはこのインターフェースをアクティベート、非アクティベートすることはできません。ユーザーがインターフェースを制御できるようにするには、ifcfg-eth0
を ifcfg-eth0-user
にコピーしてクローンを作成し、ifcfg-eth0-user
に以下の行を追加します:
USERCTL=yes
ifcfg-eth0
と ifcfg-eth0-user
の設定オプションが統合されるため、ユーザーは /sbin/ifup eth0-user
コマンドを使用して、eth0
インターフェースをアクティベートすることができます。これは基本的な例ですが、この方法は様々なオプションやインターフェースで使用できます。
9.2.9. ダイヤルアップインターフェース
ifcfg-pppX
- X は特定のインターフェースに対応する一意の番号です。
wvdial
または Kppp を使用してダイヤルアップアカウントを作成すると、PPP インターフェース設定ファイルが自動的に作成されます。このファイルは手動で作成、編集することもできます。
/etc/sysconfig/network-scripts/ifcfg-ppp0
ファイルは以下のとおりです:
DEVICE=ppp0 NAME=test WVDIALSECT=test MODEMPORT=/dev/modem LINESPEED=115200 PAPNAME=test USERCTL=true ONBOOT=no PERSIST=no DEFROUTE=yes PEERDNS=yes DEMAND=no IDLETIMEOUT=600
ifcfg-sl0
のようなインターフェース設定ファイル名が付いています。
DEFROUTE
=回答- 回答 が以下のいずれかの場合です:
yes
— このインターフェースをデフォルトルートとして設定します。no
— このインターフェースをデフォルトルートとして設定しません。
DEMAND
=回答- 回答 が以下のいずれかの場合です:
yes
— このインターフェースは、誰かが使用を試みた時にpppd
が接続を開始するのを許可します。no
— このインターフェースでは、接続を手動で確立する必要があります。
IDLETIMEOUT
=値- 値 は、インターフェースが自動的に接続を切断するまでのアイドル状態の秒数です。
INITSTRING
=文字列- 文字列 は、モデムデバイスに渡される初期化文字列です。このオプションは主として、SLIP インターフェースと併用されます。
LINESPEED
=値- 値 は、デバイスのボーレートです。取り得る標準値として、
57600
、38400
、19200
、9600
があります。 MODEMPORT
=デバイス- デバイス は、このインターフェースの接続を確立するために使用されるシリアルデバイス名です。
MTU
=値- 値は、このインターフェースの 最大転送単位 (MTU) の設定です。MTU は、1 フレームが伝送できるデータの最大バイト数を指しており、ヘッダー情報は考慮されません。一部のダイヤルアップ状況下では、この値を
576
に設定すると、破棄されるパケットが少なくなり、接続のスループットが若干向上します。 NAME
=名前- 名前 は、ダイヤルアップ接続設定のコレクションに付けられるタイトルを指します。
PAPNAME
=名前- 名前 は、リモートシステムへの接続を許可するために発生する パスワード認証プロトコル (PAP) 交換中に付けられたユーザー名です。
PERSIST
=回答- 回答 が以下のいずれかの場合です:
yes
— このインターフェースは、モデムの切断後に非アクティブになるとしても常にアクティブな状態に維持する必要があります。no
— このインターフェースは、常にアクティブな状態を維持する必要はありません。
REMIP
=アドレス- アドレス は、リモートシステムの IP アドレスです。これは通常指定しません。
WVDIALSECT
=名前- 名前 は、このインターフェースを
/etc/wvdial.conf
のダイヤラー設定に関連付けします。このファイルには、ダイヤルする電話番号とインターフェースに関するその他の重要な情報が含まれます。
9.2.10. その他のインターフェース
ifcfg-lo
- ローカルの ループバックインターフェース は、テストに使われる場合が多々ある他、同じシステムに回帰接続する IP アドレスを必要とする様々なアプリケーションで使用されます。ループバックデバイスに送信されるデータはいずれもホストのネットワークレイヤーに直ちに返されます。
警告
ループバックインターフェーススクリプト/etc/sysconfig/network-scripts/ifcfg-lo
は、決して手動では編集しないで下さい。手動で編集すると、システムが正常に動作しなくなる恐れがあります。 ifcfg-irlan0
- 赤外線インターフェース により、赤外線リンクでラップトップやプリンターなどのデバイス間の情報が流れるようにします。これは、一般的にピアツーピア接続で発生する点を除いては、イーサネットデバイスと同様に機能します。
ifcfg-plip0
- パラレル回線インターフェースプロトコル (PLIP) 接続は、パラレルポートを利用する点を除いては、イーサネットデバイスとほぼ同様に機能します。
ifcfg-hsiN
- HiperSockets は、IBM System z メインフレーム上の z/VM ゲスト仮想マシンおよび論理パーティション (LPAR) 内およびこれらにまたがる高速 TCP/IP 通信のインターフェースです。
9.3. インターフェース制御スクリプト
/sbin/ifdown
と /sbin/ifup
の 2 つあり、/etc/sysconfig/network-scripts/
ディレクトリにあります。
ifup
と ifdown
のインターフェーススクリプトは、/sbin/
ディレクトリのスクリプトへのシンボリックリンクです。いずれかのスクリプトが呼び出されると、インターフェースの値を以下のように指定する必要があります:
ifup eth0
警告
ifup
と ifdown
のインターフェーススクリプトが、ユーザーがネットワークインターフェースをアクティベート、非アクティベートするために使用すべき唯一のスクリプトです。
/etc/rc.d/init.d/functions
と /etc/sysconfig/network-scripts/network-functions
です。詳細は 「ネットワーク関数ファイル」 を参照してください。
/etc/sysconfig/network-scripts/
ディレクトリにある一般的なインターフェース制御スクリプトです:
ifup-aliases
- 1 つのインターフェースに複数の IP アドレスが関連付けされる場合に、インターフェース設定ファイルから IP エイリアスを設定します。
ifup-ippp
及びifdown-ippp
- ISDN インターフェースをアクティベート、非アクティベートします。
ifup-ipv6
及びifdown-ipv6
- IPv6 インターフェースをアクティベート、非アクティベートします。
ifup-plip
- PLIP インターフェースをアクティベートします。
ifup-plusb
- ネットワーク接続のため USB インターフェースをアクティベートします。
ifup-post
及びifdown-post
- インターフェースがアクティベート、非アクティベートされた後に実行されるコマンドが含まれます。
ifup-ppp
及びifdown-ppp
- PPP インターフェースをアクティベート、非アクティベートします。
ifup-routes
- インターフェースがアクティベートされると、デバイスに対する静的ルートを追加します。
ifdown-sit
及びifup-sit
- IPv4 接続内の IPv6 トンネルをアクティベート、非アクティベートすることに関連する関数呼び出しが含まれます。
ifup-wireless
- ワイヤレスインターフェースをアクティベートします。
警告
/etc/sysconfig/network-scripts/
ディレクトリのスクリプトを削除または変更すると、インターフェース接続の動作が不規則になる、または障害が発生する場合があります。そのため、ネットワークインターフェースに関連するスクリプトの修正は、上級ユーザーのみが行うことをお勧めします。
/etc/rc.d/init.d/network
) で /sbin/service
コマンドを使用することです。
/sbin/service network action
start
、stop
、または restart
のいずれかになります。
/sbin/service network status
9.4. 静的ルートおよびデフォルトゲートウェイ
静的ルート
ip route
コマンドを使って IP ルーティングテーブルを表示します。静的ルートが必要な場合は、ip route add
コマンドでルーティングテーブルに追加でき、削除したい時は ip route del
コマンドを使います。単一の IP アドレスなどのホストアドレスに静的ルートを追加するには、root
で以下のコマンドを発行します。
ip route add X.X.X.XX.X.X.X は、ドッド区切り表記のホストの IP アドレスになります。多くの IP アドレスを意味するネットワークに静的ルートを追加するには、
root
で以下のコマンドを発行します。
ip route add X.X.X.X/YX.X.X.X は、ドッド区切り表記のネットワークの IP アドレスになり、Y はネットワークのプレフィックスになります。ネットワークプレフィックスは、サブネットマスクで有効なビットの数です。ネットワークアドレスとスラッシュ、プレフィックスというこの長さのフォーマットは、CIDR 表記と呼ばれます。
/etc/sysconfig/network-scripts/route-interface
ファイルに格納されています。例えば、eth0
インターフェースの静的ルートは、/etc/sysconfig/network-scripts/route-eth0
ファイルに格納されています。route-interface
ファイルには IP コマンド引数、およびネットワーク/ネットマスク指示文の 2 つの形式があり、これらは下記で説明されています。
デフォルトゲートウェイ
/etc/sysconfig/network
ファイルに格納されています。このファイルは、すべてのネットワークインターフェースのゲートウェイとホストの情報を指定します。このファイルとそれが使用できる指示文の詳細は、「/etc/sysconfig/network」 を参照してください。
IP コマンド引数形式
default via X.X.X.X dev
interface
dev
オプションは選択可能で、省略することもできます。
X.X.X.X/Y via X.X.X.X dev interface
route-eth0
ファイルのサンプルです。デフォルトゲートウェイは、192.168.0.1 でインターフェースは eth0 です。2 つの静的ルートは、10.10.10.0/24 と 172.16.1.0/24 の両ネットワークに対するものです
default via 192.168.0.1 dev eth0 10.10.10.0/24 via 192.168.0.1 dev eth0 172.16.1.0/24 via 192.168.0.1 dev eth0
eth0
インターフェースと 10.10.10.0/24 サブネットの eth1
インターフェース (10.10.10.1) があります。
10.10.10.0/24 via 10.10.10.1 dev eth1
重要
ifup
コマンドを使用してインターフェースを非アクティブの状態からアクティブにする時に、次の 2 つのエラーのどちらかが発生する可能性があります:「RTNETLINK answers: File existss (RTNETLINK の応答: ファイルが存在)」 または 「Error: either "to" is a duplicate, or "X.X.X.X" is a garbage (エラー: "to"が重複、または "X.X.X.X" が不要)」。X.X.X.X はゲートウェイか、または異なる IP アドレスです。こうしたエラーは、デフォルトゲートウェイを使用した別のネットワークへのルートが別にある場合にも発生することがあります。こうしたエラーは無視しても安全です。
ネットワーク/ネットマスク指示文の形式
route-interface
ファイルに、ネットワーク/ネットマスク指示文の形式を使用することも可能です。以下は、ネットワーク/ネットマスク形式のテンプレートで、説明はその次をご覧ください:
ADDRESS0=X.X.X.X NETMASK0=X.X.X.X GATEWAY0=X.X.X.X
ADDRESS0=X.X.X.X
は、静的ルートのネットワークアドレスです。NETMASK0=X.X.X.X
は、ADDRESS0=X.X.X.X
で定義されているネットワークアドレス用のネットマスクです。GATEWAY0=X.X.X.X
はデフォルトゲートウェイ、またはADDRESS0=X.X.X.X
に到達するために使用可能な IP アドレスです。
route-eth0
ファイルのサンプルです。デフォルトゲートウェイは 192.168.0.1、インターフェースは eth0
です。2 つの静的ルートは、10.10.10.0/24 及び 172.16.1.0/24 のネットワークに対するものです。しかし、前述したとおり 10.10.10.0/24 及び 172.16.1.0/24 のネットワークはいずれにしてもデフォルトゲートウェイを使用するため、この例は必要ではありません:
ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=192.168.0.1 ADDRESS1=172.16.1.0 NETMASK1=255.255.255.0 GATEWAY1=192.168.0.1
ADDRESS0
、ADDRESS1
、ADDRESS2
というようになります。
eth0
インターフェースと、10.10.10.0/24 サブネットの eth1
インターフェース (10.10.10.1) があります。
ADDRESS0=10.10.10.0 NETMASK0=255.255.255.0 GATEWAY0=10.10.10.1
9.5. ネットワーク関数ファイル
/etc/sysconfig/network-scripts/network-functions
ファイルには、最も一般的に使用される IPv4 関数が格納されており、数多くのインターフェース制御スクリプトに役立ちます。関数の例として、インターフェースのステータス変更に関する情報を要求した実行プログラムへのコンタクト、ホストネームの設定、ゲートウェイデバイスの検索、特定のデバイスが非アクティブかどうかの検証、デフォルトルートの追加があります。
/etc/sysconfig/network-scripts/network-functions-ipv6
ファイルはこの情報の保持専用に存在します。このファイルの関数は、静的 IPv6 ルートの設定と削除、トンネルの作成と削除、インターフェースへの IPv6 アドレスの追加と削除、インターフェース上の IPv6 アドレスの有無をテストします。
9.6. その他のリソース
9.6.1. インストールされているドキュメント
/usr/share/doc/initscripts-version/sysconfig.txt
- 本章では触れていない IPv6 オプションなど、ネットワーク設定ファイル用の利用可能なオプションについて説明しています。
9.6.2. 役立つ Web サイト
- http://linux-ip.net/gl/ip-cref/
- このファイルには、ルーティングテーブルの操作などに使用できる ip コマンドに関する豊富な情報が含まれています。この情報は、オプションのコンテンツチャンネルから iproute-doc サブパッケージをインストールすると、
ip-cref.ps
ファイルでも閲覧できます。
パート IV. インフラストラクチャのサービス
第10章 サービスとデーモン
httpd
など)。但し、サービスを提供する必要がない場合は、バグが悪用される可能性を最小限に抑えるためオフにしておくべきです。
重要
10.1. デフォルトのランレベルの設定
表10.1 Red Hat Enterprise Linux でのランレベル
ランレベル | 詳細 |
---|---|
0 | システムの停止に使用します。このランレベルは保持され、変更できません。 |
1 | シングルユーザーモードでの実行に使用します。このランレベルは保持され、変更できません。 |
2 | デフォルトでは使用されません。自由に定義できます。 |
3 | コマンドラインユーザーインターフェースを使用するフルマルチユーザーモードでの実行に使用します。 |
4 | デフォルトでは使用されません。自由に定義できます。 |
5 | グラフィカルユーザーインターフェースを使用するフルマルチユーザーモードでの実行に使用します。 |
6 | システムの再起動に使用します。このランレベルは保持され、変更できません。 |
~]$ runlevel
N 5
runlevel
コマンドにより、以前と現在のランレベルが表示されます。上記の例では、数字の 5 が表示されており、システムはグラフィカルユーザーインターフェースを使用するフルマルチユーザーモードで実行されていることになります。
/etc/inittab
ファイルを修正します。このファイルの終端の近くに、次のような行があります。
id:5:initdefault:
root
で編集し、この行の数字を、希望するランレベルに変更します。システムを再起動すると変更内容が反映されます。
10.2. サービスの設定
重要
irqbalance
サービスを有効にすることを推奨します。大半の場合、このサービスは Red Hat Enterprise Linux 6 のインストール時にインストールされ、実行されるよう設定されています。irqbalance
が実行されているかどうか確認するには、シェルプロンプトで root
として以下のコマンドを入力します:
~]# service irqbalance status
irqbalance (pid 1234) is running...
10.2.1. サービス設定ユーティリティの使用
system-config-services
コマンドを入力します。

図10.1 サービスの設定ユーティリティ
/etc/rc.d/init.d/
ディレクトリからのサービスおよび xinetd により制御されているサービス) の一覧とともにその詳細と現在の状態を表示します。使用されるアイコンとそれぞれの意味に関する説明の全一覧は、表10.2「サービスの状態」 を参照して下さい。
表10.2 サービスの状態
アイコン | 詳細 |
---|---|
![]() | このサービスは有効です |
![]() | このサービスは無効です |
![]() | このサービスは、選択されたランレベルで有効です |
![]() | このサービスは実行中です |
![]() | このサービスは停止しています |
![]() | このサービスには、何らかの障害があります |
![]() | このサービスの状態は不明です |
10.2.1.1. サービスの有効化と無効化
10.2.1.2. サービスの開始、再起動と停止
10.2.1.3. ランレベルの選択
10.2.2. ntsysv ユーティリティの使用
root
でシェルプロンプトに ntsysv
と入力します。

図10.2 ntsysv ユーティリティ
/etc/rc.d/init.d/
ディレクトリからのサービス) の一覧と現在の状態、さらには F1 キーを押すと説明を表示することができます。使用される記号一覧とその意味の説明については 表10.3「サービスの状態」 を参照して下さい。
表10.3 サービスの状態
記号 | 詳細 |
---|---|
[*] | このサービスは有効です |
[ ] | このサービスは無効です |
10.2.2.1. サービスの有効化と無効化
service
コマンドを使用します。
10.2.2.2. ランレベルの選択
root
でコマンドに --level
のオプションと、その後に設定する各ランレベルを示す 0 から 6 までの数字を追加して実行します。
ntsysv
--level
runlevels
~]# ntsysv --level 35
10.2.3. chkconfig ユーティリティの使用
10.2.3.1. サービスの一覧表示
/etc/rc.d/init.d/
ディレクトリからのサービスおよび xinetd により制御されているサービス) の一覧を表示するには、chkconfig --list
と入力するか、追加の引数なしで chkconfig
を使用します。これにより、以下の例のような出力が表示されます。
~]# chkconfig --list
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
abrtd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anamon 0:off 1:off 2:off 3:off 4:off 5:off 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
... several lines omitted ...
wpa_supplicant 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xinetd based services:
chargen-dgram: off
chargen-stream: off
cvs: off
daytime-dgram: off
daytime-stream: off
discard-dgram: off
... several lines omitted ...
time-stream: off
chkconfig --list
の後にサービス名を指定したコマンドを使用します:
chkconfig
--list
service_name
sshd
サービスの現在の設定を表示するには、以下のように入力します。
~]# chkconfig --list sshd
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
~]# chkconfig --list rsync
rsync off
10.2.3.2. サービスの有効化
root
でシェルプロンプトに以下を入力します。
chkconfig
service_nameon
httpd
サービスを有効にするには、以下を入力します。
~]# chkconfig httpd on
--level
のオプションの後に付けて追加します。
chkconfig
service_nameon
--level
runlevels
~]# chkconfig abrtd on --level 35
service
コマンドを使用します。
xinetd
により管理されているサービスはサポートされていないため、これと --level
オプションを合わせて使用 しない でください。例えば、rsync
サービスを有効にするには、以下のように入力します。
~]# chkconfig rsync on
10.2.3.3. サービスの無効化
root
でシェルプロンプトに以下を入力します。
chkconfig
service_nameoff
httpd
サービスを無効にするには、以下を入力します。
~]# chkconfig httpd off
--level
のオプションの後に付けて追加します。
chkconfig
service_nameoff
--level
runlevels
~]# chkconfig abrtd off --level 24
service
コマンドを使用します。
xinetd
により管理されているサービスはサポートされていないため、これと --level
オプションを合わせて使用 しない でください。例えば、rsync
サービスを無効にするには、以下のように入力します。
~]# chkconfig rsync off
10.3. サービスの実行
/etc/init.d/
ディレクトリからのサービスを起動、停止、再起動することができます。
10.3.1. サービスステータスの確認
service
service_namestatus
httpd
サービスの状態を確認するには、以下のように入力します。
~]# service httpd status
httpd (pid 7474) is running...
service
コマンドを --status-all
オプションで実行します。
~]# service --status-all
abrt (pid 1492) is running...
acpid (pid 1305) is running...
atd (pid 1540) is running...
auditd (pid 1103) is running...
automount (pid 1315) is running...
Avahi daemon is running
cpuspeed is stopped
... several lines omitted ...
wpa_supplicant (pid 1227) is running...
10.3.2. サービスの開始
root
でシェルプロンプトに以下を入力します。
service
service_namestart
httpd
サービスを開始するには、以下のように入力します。
~]# service httpd start
Starting httpd: [ OK ]
10.3.3. サービスの停止
root
でシェルプロンプトに以下を入力します。
service
service_namestop
httpd
サービスを停止するには、以下のように入力します。
~]# service httpd stop
Stopping httpd: [ OK ]
10.3.4. サービスの再開
root
でシェルプロンプトに以下を入力します。
service
service_namerestart
httpd
サービスを再開するには、以下のように入力します。
~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
10.4. その他のリソース
10.4.1. インストールされているドキュメント
- chkconfig(8) — chkconfig ユーティリティの man ページです。
- ntsysv(8) — ntsysv ユーティリティの man ページです。
- service(8) — service ユーティリティの man ページです。
- system-config-services(8) — system-config-services ユーティリティの man ページです。
10.4.2. 関連資料
- 『Red Hat Enterprise Linux 6 セキュリティガイド』
- Red Hat Enterprise Linux 6 のセキュリティ保護についてのガイドです。ファイアウォールの設定や SELinux の設定に関する有益な情報が記載されています。
第11章 認証の設定
11.1. システム認証の設定
重要
11.1.1. 認証設定ツール UI の起動
- root でシステムにログインします。
- システム を開きます
- 管理 メニューを開きます