9.5. Yum と Yum リポジトリーの設定
専門知識を深めるために、Red Hat System Administration III (RH254) トレーニングコースと RHCSA Rapid Track (RH199) トレーニングコースを受講することを推奨します。
yum および関連ユーティリティーの設定情報は /etc/yum.conf
に存在します。このファイルには、必須の [main]
セクションが 1 つあり、ここで全体に影響を与える yum オプションを設定できます。また、[repository]
セクションを 1 つ以上追加して、リポジトリー固有のオプションを設定することもできます。ただし、/etc/yum.repos.d/
ディレクトリーにある、新規または既存の .repo
ファイルに個々のリポジトリーを定義することが推奨されます。/etc/yum.conf
ファイルの各 [repository]
セクションで定義した値は、[main]
セクションに設定した値をオーバーライドします。
このセクションでは以下の方法を紹介します。
-
/etc/yum.conf
設定ファイルの[main]
セクションを編集して、yum のグローバルオプションを設定する方法 -
/etc/yum.conf
ファイル、および/etc/yum.repos.d/
ディレクトリーの.repo
ファイルの[repository]
セクションを編集して、個々のレポジトリーにオプションを設定する方法 -
動的バージョンとアーキテクチャーの値が適切に処理されるように
/etc/yum.conf
の yum 変数と/etc/yum.repos.d/
ディレクトリー内のファイルを使用する方法 - コマンドラインで yum リポジトリーを追加、有効、無効にする方法
- カスタムの yum リポジトリーを設定する方法
9.5.1. [main] オプションの設定
/etc/yum.conf
設定ファイルには、[main]
セクションが 1 つだけ含まれます。本セクションにあるキー値ペアの中には、yum の動作に影響を与えるものもあれば、yum がリポジトリーを処理する方法に影響を与えるものもあります。
/etc/yum.conf
の [main]
セクションの下に、オプションを多数追加できます。
以下は、/etc/yum.conf
設定ファイルのサンプルです。
[main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3 [comments abridged] # PUT YOUR REPOS HERE OR IN separate files named file.repo # in /etc/yum.repos.d
以下は、[main]
セクションで最もよく使用されるオプションです。
assumeyes
=valueassumeyes
オプションは、yum が重要なアクションに関する確認を行うかどうかを決定します。value を、以下のいずれかで置き換えます。0
: (デフォルト)。yum は、実行する重要な動作の確認を行います。1
:yum
は、実行する重要な動作の確認を行いません。assumeyes=1
を設定すると、yum はコマンドラインオプション-y
および--assumeyes
と同じように動作します。cachedir
=directoryこのオプションを使用して、yum がキャッシュおよびデータベースファイルを保存するディレクトリーを設定します。directory をディレクトリーへの絶対パスで置き換えます。デフォルトでは、yum のキャッシュディレクトリーは
/var/cache/yum/$basearch/$releasever/
です。yum 変数
$basearch
および$releasever
の詳細は、「yum 変数の使用」 を参照してください。debuglevel
=value-
このオプションは、yum が生成するデバッグ出力の詳細を指定します。ここでは、value は
1
から10
までの整数になります。debuglevel
値を高く設定すると、yum がより詳細なデバッグ出力を表示します。debuglevel=2
はデフォルトで、debuglevel=0
がデバッグ出力を無効にします。 exactarch
=valueこのオプションを使用すると、インストール済みのパッケージを更新する際に、yum が正確なアーキテクチャーを考慮するように設定できます。value を以下のいずれかで置き換えます。
0
: パッケージの更新時には正しいアーキテクチャーを考慮に入れて実行しません。1
(デフォルト値): パッケージの更新時に正しいアーキテクチャーを考慮します。このように設定すると、yum が、64 ビットアーキテクチャーのシステムにインストールされているパッケージの更新に、32 ビットアーキテクチャーのパッケージを使用しません。exclude
=package_name more_package_names-
exclude
オプションでは、インストールまたはシステム更新の際にキーワードでパッケージを除外できます。除外する複数のパッケージのリストを表示するには、スペースで区切ったパッケージのリストを引用符で囲みます。ワイルドカードを使用したシェル glob 表現 (*
や?
など) を使用できます。 gpgcheck
=valuegpgcheck
オプションを指定して、GPG 著名チェックをパッケージで行う必要があるかどうかを指定します。value を以下のいずれかで置き換えます。0
: インストールされるローカルパッケージなど、全リポジトリー内のパッケージでの GPG 署名確認を無効にします。1
(デフォルト): インストールされるローカルパッケージなど、全リポジトリーのすべてのパッケージで GPG 署名確認を有効にします。gpgcheck
を有効にすると、すべてのパッケージ署名が確認されます。このオプションが
/etc/yum.conf
ファイルの[main]
セクションで設定されている場合は、全リポジトリーに対して GPG 確認ルールが設定されます。ただし、個々のリポジトリーにgpgcheck=value
を設定することもできます。つまり、あるリポジトリーで GPG チェックを有効にしつつ、別のレポジトリーで無効にすることができます。対応の.repo
ファイルの個別のレポジトリーにgpgcheck=value
を設定すると、/etc/yum.conf
にデフォルト値がある場合はそれを無効にします。group_command
=valuegroup_command
オプションを指定して、yum group install
、yum group upgrade
、yum group remove
がパッケージグループを処理する方法を指定します。value を、以下のいずれかで置き換えます。simple
: パッケージグループのすべてのメンバーをインストールします。以前にインストールされたパッケージのみを更新し、その間にグループに追加されたパッケージはインストールしません。compat
:simple
に似ていますが、yum upgrade
は前回の更新以降にグループに追加されたパッケージもインストールします。オブジェクト
: (デフォルト)。 このオプションでは、yum は以前にインストールされたグループを追跡し、グループの一部としてインストールされたパッケージと、個別にインストールされたパッケージを区別します。例9.15「LibreOffice パッケージグループの情報表示」 を参照してください。group_package_types
=package_type more_package_types-
yum
group
install
コマンドが呼び出されたときにインストールされるパッケージのタイプ (オプション、デフォルト、必須) を指定することができます。default および mandatory のパッケージタイプがデフォルトで選択されます。 history_record
=valueこのオプションを使用すると、yum はトランザクション履歴を記録します。value を、以下のいずれかで置き換えます。
0
: yum はトランザクションの履歴エントリーを記録しません。1
(デフォルト値): yum はトランザクションの履歴エントリーを記録します。この操作により、ある程度のディスク領域が使用され、トランザクションの時間が少し長くなりますが、過去の操作に関する多くの情報が提供されます。これは、yum
history
で表示できます。history_record=1
がデフォルトです。yum
history
コマンドの詳細は、「トランザクション履歴の活用」 を参照してください。注記yum は履歴記録を使用して、yum 以外で行われた
rpmdb
データベースへの変更を検出します。変更が検出されると、yum は警告を表示し、rpmdb
の変更によって起こり得る問題を自動的に検索します。history_record
がオフになっていると、yum はこのような変更を検出できず、自動チェックは実行されません。installonlypkgs
=space separated list of packagesここでは、yum でインストールを行い、更新を行わないパッケージのリストをスペースで区切って提供できます。デフォルトでインストールのみに設定されているパッケージのリストは、
yum.conf
(5) man ページを参照してください。installonlypkgs
ディレクティブを/etc/yum.conf
に追加する場合は、yum.conf
(5) のinstallonlypkgs
セクションにリスト表示されているものを含め、インストールのみのパッケージをすべてリストするようにしてください。特に (デフォルトで) カーネルパッケージが常にinstallonlypkgs
でリスト表示され、installonly_limit
の値が常に2
よりも大きく設定され、デフォルトが起動に失敗した場合にバックアップカーネルを常に利用可能にするようにしてください。
installonly_limit
=valueこのオプションは、
installonlypkgs
ディレクティブにリストされている多くのパッケージを同時にインストールできる数を設定します。installonlypkgs
にリスト表示されている単一のパッケージに同時にインストールできるようにバージョンの最大数を示す整数に値を置き換えます。installonlypkgs
ディレクティブのデフォルトには複数のカーネルパッケージが含まれています。そのため、installonly_limit
の値を変更すると、インストール済みの単一のカーネルパッケージのバージョンの最大数にも影響することに注意してください。/etc/yum.conf
にリスト表示されるデフォルト値はinstallonly_limit=3
で、使用できる最小値はinstallonly_limit=2
です。installonly_limit=1
に設定すると yum によって実行中のカーネルが削除されるため、設定することはできません。installonly_limit=1
を使用すると、yum は失敗します。installonly_limit=2
を使用すると、1 つのバックアップカーネルが利用可能になります。ただし、2 つのバックアップカーネルを利用できるようにするためにも、デフォルト設定installonly_limit=3
を使用し続けることが推奨されます。keepcache
=valuekeepcache
オプションはインストールに成功した後に、yum がヘッダーのキャッシュを維持するかどうかを決めます。値は、以下のいずれかになります。0
: (デフォルト)。インストールの成功後は、ヘッダーとパッケージのキャッシュを保持しません。1
: インストールの成功後も、キャッシュを保持します。logfile
=file_name-
ログ出力の場所を指定するため、file_name を、yum がログ出力を書き込むファイルへの絶対パスで置き換えます。デフォルトでは、yum は
/var/log/yum.log
にログを記録します。 max_connenctions
=number- ここでの value は、同時接続の最大数を表します。デフォルトは 5 です。
multilib_policy
=valuemultilib_policy
は、複数のアーキテクチャーバージョンがパッケージのインストールに利用できる場合に、インストール動作を設定します。ここで、value は以下を表します。best
: このシステムに最適なアーキテクチャーをインストールします。たとえば、AMD64 システムにmultilib_policy=best
を設定すると、yum は全パッケージの 64 ビットバージョンをインストールします。all
: 常に全パッケージ用の可能なあらゆるアーキテクチャーをインストールします。たとえば、AMD64 システムでmultilib_policy
をall
に設定すると、yum は i686 および AMD64 のパッケージが利用可能であれば両方のバージョンをインストールします。obsoletes
=valueobsoletes
オプションでは、更新中に廃止プロセス論理を有効化します。あるパッケージのスペックファイルで、別のパッケージを廃止することを宣言すると、廃止宣言したパッケージのインストール時に、廃止宣言されたパッケージが、廃止宣言したパッケージに置き換えられます。たとえば、パッケージ名が変更された場合などに廃止が宣言されます。value を、以下のいずれかで置き換えます。0
: 更新の実行時に yum の廃止処理ロジックを無効にします。1
: (デフォルト)。更新の実行時に yum の廃止処理ロジックを有効にします。plugins
=valueこれは、yum プラグインを有効または無効にするグローバルスイッチです。value は以下のいずれかになります。
0
: yum のプラグインをグローバルで無効にします。重要一部のプラグインは重要な yum サービスを提供するため、すべてのプラグインを無効にすることは推奨されません。特に、product-id および subscription-manager プラグインは、証明書ベースの
Content Delivery Network
(CDN) のサポートを提供します。プラグインをグローバルで無効にするオプションは便利なオプションとして提供されていますが、通常は yum に潜在的な問題があると判断された場合にのみ使用することが推奨されます。1
(デフォルト値): すべての yum プラグインを全体的に有効にします。plugins=1
では、そのプラグインの設定ファイルにenabled=0
を設定して、特定の yum プラグインを無効にすることができます。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-
このオプションは、エラーを返す前に yum がファイルの取得を試行する回数を設定します。値 は整数
0
以上です。値を0
に設定すると、yum はその試行を何度も続けます。デフォルト値は10
です。
利用可能な [main]
オプションの詳細なリストは、man ページの yum.conf(5) の [main] OPTIONS
セクションを参照してください。
9.5.2. [repository] オプションの設定
[repository]
セクションでは、個別の yum リポジトリーを定義できます。repository は、my_personal_repo
(スペースは使用不可) などの一意のリポジトリー ID になります。競合を回避するために、カスタムリポジトリーには、Red Hat リポジトリーで使用されている名前を使用しないでください。
[repository]
セクションでは、少なくとも以下の例のような形式が必要になります。
[repository] name=repository_name baseurl=repository_url
すべての [repository]
セクションには、以下のディレクティブを含める必要があります。
name
=repository_name- repository_name は、人間が判読可能な、リポジトリーを説明する文字列になります。
baseurl
=repository_urlrepository_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:/repo/ として指定できます。通常この URL は以下のような HTTP リンクになります。
baseurl=http://path/to/repo/releases/$releasever/server/$basearch/os/
yum は、常に URL の
$releasever
、$arch
、$basearch
変数をデプロイメントする点に注意して下さい。yum 変数の詳細は 「yum 変数の使用」 を参照してください。
-
リポジトリーが HTTP にある場合は、
以下のような便利な [repository]
ディレクティブもあります。
enabled
=valueこのオプションを使用すれば、yum が特定のリポジトリーを使用するか無視するかを簡単に設定できます。value は、以下のいずれかになります。
0
: 更新およびインストールの実行時には、パッケージソースとしてこのリポジトリーを含めません。これはリポジトリーを迅速に有効または無効にする簡単な方法です。更新またはインストールには無効にしているリポジトリーから、単一パッケージが欲しい場合に便利です。1
: パッケージソースとしてこのリポジトリーを含めます。リポジトリーのオンとオフは、
--enablerepo=repo_name
または--disablerepo=repo_name
オプションをyum
に渡すか、PackageKit ユーティリティーのソフトウェアの追加/削除
ウィンドウから実行できます。async
=valueリポジトリーパッケージの並行ダウンロードを制御します。値は、以下のいずれかになります。
auto
(デフォルト): 可能な場合、並行ダウンロードを使用します。つまり、失敗を回避するために yum はプラグインが作成したリポジトリーについては自動的にこれを無効にします。on
: リポジトリーの並行ダウンロードが有効になります。off
: リポジトリーの並行ダウンロードが無効になります。
他にも多くの [repository]
オプションがあります。このうちのいくつかは、[main]
オプションと同一形式、同一機能になります。オプションのリストは、yum.conf
(5) man ページの [repository] OPTIONS セクションを参照してください。
例9.25 /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
9.5.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
ファイルを提供するredhat-releaseproduct
パッケージからバージョン番号を取得することにより、正しい値を推測します。 $arch
-
この変数を使用して、Python の
os.uname()
関数を呼び出す時に返り値としてシステムの CPU アーキテクチャーを参照できます。$arch
の有効な値は、i586
、i686
、x86_64
です。 $basearch
-
$basearch
を使用すると、システムのベースアーキテクチャーを参照できます。たとえば、i686 および i586 の両マシンにはi386
のベースアーキテクチャーがあり、AMD64 および Intel 64 の両マシンには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 7" > /etc/yum/vars/osname
.repo
ファイルでは、Red Hat Enterprise Linux 7 の代わりに以下を使用することができます。
name=$osname $releasever
9.5.4. 現在の設定の表示
yum グローバルオプションの現在の値 (つまり /etc/yum.conf
ファイルの [main]
セクションで指定されたオプション) を表示するには、コマンドラインのオプションなしで yum-config-manager
コマンドを実行します。
yum-config-manager
別の設定セクションの内容をリスト表示するには、以下の形式でコマンドを実行します。
yum-config-manager
section…
glob 表現を使用して、適合する全セクションの設定を表示することもできます。
yum-config-manager glob_expression…
例9.26 main セクションの設定を表示する
すべての設定オプションとそれらに対応する値をリスト表示するには、シェルプロンプトで以下を入力します。
~]$ yum-config-manager main \* Loaded plugins: langpacks, product-id, subscription-manager ================================== main =================================== [main] alwaysprompt = True assumeyes = False bandwith = 0 bugtracker_url = https://bugzilla.redhat.com/enter_bug.cgi?product=Red%20Hat%20Enterprise%20Linux%206&component=yum cache = 0 [output truncated]
9.5.5. yum リポジトリーの追加、有効化、および無効化
専門知識を深めるには、Red Hat System Administration III (RH254) トレーニングコースの受講を推奨します。
「[repository] オプションの設定」 では、yum リポジトリーの定義に使用できるさまざまなオプションを説明しています。本セクションでは、yum-config-manager
コマンドを使用してリポジトリーを追加、もしくは有効または無効にする方法を説明します。
システムが Red Hat Subscription Management で証明書ベースの Content Delivery Network
(CDN) に登録されている場合、/etc/yum.repos.d/redhat.repo
ファイル内のリポジトリー管理には Red Hat サブスクリプションマネージャー ツールが使用されます。
yum リポジトリーの追加
新しいリポジトリーを定義するには、[repository]
セクションを、/etc/yum.conf
ファイルか、/etc/yum.repos.d/
ディレクトリーの .repo
ファイルに追加します。このディレクトリーにある、.repo
ファイル拡張子が付いたすべてのファイルを、yum が読み取ります。リポジトリーは、/etc/yum.conf
ではなく、ここに定義することが推奨されます。
ソフトウェアパッケージを、Red Hat の認証ベース Content Delivery Network
(CDN) 以外の未検証または信頼できないソフトウェアソースから取得してインストールする場合には、セキュリティー上のリスクが伴います。セキュリティー、安定性、互換性、保全性に関する問題につながる恐れがあります。
yum リポジトリーは、一般的に .repo
ファイルを提供します。このようなリポジトリーをシステムに追加して有効にするには、root
で以下のコマンドを実行します。
yum-config-manager --add-repo repository_url
repository_url は、.repo
ファイルへのリンクになります。
例9.27 example.repo の追加
http://www.example.com/example.repo にあるリポジトリーを追加するには、シェルプロンプトで以下を入力します。
~]# yum-config-manager --add-repo http://www.example.com/example.repo Loaded plugins: langpacks, product-id, subscription-manager adding repo from: http://www.example.com/example.repo grabbing file http://www.example.com/example.repo to /etc/yum.repos.d/example.repo example.repo | 413 B 00:00 repo saved to /etc/yum.repos.d/example.repo
yum リポジトリーの有効化
特定のリポジトリーを有効にするには、root
で以下のコマンドを入力します。
yum-config-manager
--enable
repository…
ここでの repository は一意のリポジトリー ID になります (利用可能なリポジトリー ID をリスト表示するには yum repolist all
を使用)。別の方法では、glob 表現を使用すると、一致するすべてのリポジトリーを有効にできます。
yum-config-manager --enable glob_expression…
例9.28 /etc/yum.conf のカスタムセクションで定義されるリポジトリーを有効にする
[example]
、[example-debuginfo]
、[example-source]
セクション内で定義されたリポジトリーを有効にするには、以下を入力します。
~]# yum-config-manager --enable example\* Loaded plugins: langpacks, product-id, subscription-manager ============================== repo: example ============================== [example] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7Server baseurl = http://www.example.com/repo/7Server/x86_64/ cache = 0 cachedir = /var/cache/yum/x86_64/7Server/example [output truncated]
例9.29 すべてのリポジトリーの有効化
/etc/yum.conf
ファイルと /etc/yum.repos.d/
ディレクトリーで定義されたすべてのリポジトリーを有効にするには、以下のコマンドを入力します。
~]# yum-config-manager --enable \* Loaded plugins: langpacks, product-id, subscription-manager ============================== repo: example ============================== [example] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7Server baseurl = http://www.example.com/repo/7Server/x86_64/ cache = 0 cachedir = /var/cache/yum/x86_64/7Server/example [output truncated]
成功すると、yum-config-manager --enable
コマンドは現在のリポジトリー設定を表示します。
yum リポジトリーの無効化
yum リポジトリーを無効にするには、root
で以下のコマンドを実行します。
yum-config-manager
--disable
repository…
ここでの repository は一意のリポジトリー ID になります (利用可能なリポジトリー ID をリスト表示するには yum repolist all
を使用)。yum-config-manager --enable
と同様に、glob 表現を使用して、一致するすべてのリポジトリーを同時に無効にできます。
yum-config-manager --disable glob_expression…
例9.30 すべてのリポジトリーの無効化
/etc/yum.conf
ファイルと /etc/yum.repos.d/
ディレクトリーで定義されたすべてのリポジトリーを無効にするには、以下のコマンドを入力します。
~]# yum-config-manager --disable \* Loaded plugins: langpacks, product-id, subscription-manager ============================== repo: example ============================== [example] bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7Server baseurl = http://www.example.com/repo/7Server/x86_64/ cache = 0 cachedir = /var/cache/yum/x86_64/7Server/example [output truncated]
成功すると、yum-config-manager --disable
コマンドは現在の設定を表示します。
9.5.6. yum リポジトリーの作成
yum リポジトリーを設定するには、以下を行います。
createrepo パッケージをインストールします。
# yum install createrepo
新しいリポジトリーのパッケージをすべて 1 つのディレクトリー (
/tmp/local_repo/
など) にコピーします。cp /your/packages/*.rpm /tmp/local_repo/
リポジトリーの実行を作成するには、以下を行います。
createrepo /tmp/local_repo/
これにより、yum リポジトリーから必要なメタデータが、新たに作成したサブディレクトリー
repodata
に作成されます。このリポジトリーを yum で利用できるようになりました。このリポジトリーは HTTP または FTP プロトコルで共有でき、ローカルマシンから直接参照できます。yum リポジトリーを設定する方法は 「[repository] オプションの設定」 セクションを参照してください。
注記リポジトリーの URL を構築するには、
/mnt/local_repo/repodata
ではなく/mnt/local_repo
を参照してください。実際の yum パッケージは/mnt/local_repo
にあります。
9.5.6.1. 作成した yum リポジトリーへのパッケージの追加
作成した yum リポジトリーにパッケージを追加するには、以下を行います。
リポジトリーディレクトリー (
/tmp/local_repo/
など) に新しいパッケージをコピーします。cp /your/packages/*.rpm /tmp/local_repo/
メタデータで新たに追加されたパッケージを反映するには、以下を実行します。
createrepo --update /tmp/local_repo/
任意: 新たに更新したリポジトリーで yum コマンドを使用している場合は、以下のコマンドを実行します。
yum clean expire-cache
9.5.7. Optional および Supplementary リポジトリーの追加
Optional および Supplementary のサブスクリプションチャンネルでは、オープンソースのライセンス付きソフトウェア (Optional チャンネル) と商用ライセンス付きソフトウェア (Supplementary チャンネル) をカバーする Red Hat Enterprise Linux 用の追加ソフトウェアパッケージが提供されます。
Optional および Supplementary チャンネルをサブスクライブする前に、対象範囲の詳細 を参照してください。これらのチャンネルからパッケージをインストールする場合は、Red Hat カスタマーポータルの記事 証明書ベースの管理を使用して、Optional および Supplementary チャンネル、-devel パッケージにアクセスする方法 で説明されている手順を行ってください。