2 Yumの構成

yumの主要な構成ファイルは、/etc/yum.confです。この章では、構成ファイル内でディレクティブを構成する方法について説明します。

Yum構成のディレクティブ

yumのグローバル定義は、yum構成ファイルの[main]セクション・ヘッダー以下にあります。次の表に、重要なディレクティブをリストします。

ディレクティブ 説明

cachedir

ダウンロードしたパッケージを格納するためのディレクトリ。

debuglevel

0 (なし)から10 (すべて)までのロギング・レベル。

exactarch

1に設定すると、適切なアーキテクチャのパッケージのみが更新されます。

exclude

インストールまたは更新から除外するパッケージのスペース区切りのリスト。例: exclude=VirtualBox-4.? kernel*

gpgcheck

1に設定すると、GPG署名を確認することでパッケージの真正性を検証できます。パッケージが未署名の場合、gpgcheckを0に設定する必要がありますが、悪意のあるユーザーによってパッケージが改変されている可能性にも注意してください。

gpgkey

GPG公開キーファイルのパス名。

installonly_limit

インストール可能ないずれかのパッケージのバージョンの最大数。

keepcache

0に設定すると、インストール後にパッケージが削除されます。

logfile

yumログ・ファイルのパス名。

obsoletes

1に設定すると、アップグレード中に古いパッケージが置換されます。

plugins

1に設定すると、yumの機能を拡張するプラグインが有効になります。

proxy

ポート番号を含むプロキシ・サーバーのURL。プロキシ・サーバーの使用の構成を参照してください。

proxy_password

プロキシ・サーバーでの認証パスワード。

proxy_username

プロキシ・サーバーでの認証ユーザー名。

reposdir

yum.repo拡張子付きのリポジトリ・ファイルを検索するディレクトリ。デフォルト・ディレクトリは/etc/yum.repos.dです。

詳細は、yum.conf(5)マニュアル・ページを参照してください。

次のリストに、yum構成ファイルの[main]セクションの例を示します。

[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgkey=file://media/RPM-GPG-KEY
gpgcheck=1
pligins=1
installonly_limit=3

リポジトリは、/etc/yum.confの[main]セクション以下で、または個別のリポジトリ構成ファイルで定義できます。reposdirディレクティブを使用して代替ディレクトリを定義していなければ、yumは、デフォルトで/etc/yum.repos.dディレクトリにリポジトリ構成ファイルが存在するものと想定します。

プロキシ・サーバーの使用の構成

組織でインターネット・アクセスを媒介するプロキシ・サーバーを使用している場合、/etc/yum.confproxy設定を、次の例に示すように指定します。

proxy=http://proxysvr.example.com:3128

プロキシ・サーバーで認証が要求される場合は、さらに、proxy_usernameおよびproxy_passwordの設定を次のように指定します。

proxy=http://proxysvr.example.com:3128
proxy_username=yumacc
proxy_password=clydenw 

Yumプラグイン(yum-rhn-plugin)を使用してULNにアクセスする場合は、/etc/sysconfig/rhn/up2dateenableProxyおよびhttpProxyの設定を、この例に示すように指定します。

enableProxy=1
httpProxy=http://proxysvr.example.com:3128

プロキシ・サーバーで認証が要求される場合は、さらに、enableProxyAuthproxyUserおよびproxyPassword設定を次のように指定します。

enableProxy=1
httpProxy=http://proxysvr.example.com:3128
enableProxyAuth=1
proxyUser=yumacc
proxyPassword=clydenw

注意:

すべてのyumユーザーは、/etc/yum.confまたは/etc/sysconfig/rhn/up2dateへの読取りアクセスを必要とします。このファイルをどこからでも読み取れるようにする必要がある場合、ユーザーのログイン・パスワード、特にrootsパスワードと同じパスワードを使用しないでください。

Yumリポジトリの構成

yum構成ファイルまたはyumリポジトリ構成ファイルには、リポジトリを定義する1つ以上のセクションを含めることができます。

次の表に、リポジトリの基本ディレクティブをリストします。

ディレクティブ 説明

baseurl

リポジトリ・チャネルの場所(file://ftp://http://、またはhttps://アドレスとして表現)。このディレクティブは指定する必要があります。

enabled

1に設定すると、yumでチャネルを使用できます。

name

リポジトリ・チャネルのわかりやすい名前。このディレクティブは指定する必要があります。

このセクションに出現する他の任意のディレクティブは、yum構成ファイルの[main]セクションにある対応するグローバル定義をオーバーライドします。詳細は、yum.conf(5)マニュアル・ページを参照してください。

次のリストに、構成ファイルのリポジトリ・セクションの例を示します。

[ol6_u2_base]
name=Oracle Linux 6 U2 - $basearch - base 
baseurl=https://yum.oracle.com/repo/OracleLinux/OL6/2/base/$basearch 
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY 
gpgcheck=1 
enabled=1

この例では、gpgkeyおよびgpgcheckの値が任意のグローバル設定をオーバーライドします。yumは、変数$basearchを現在のシステムのアーキテクチャ名で置換します。

yumにより、自動的に/etc/yum.repos.dディレクトリで接尾辞が.repoのファイルが検索され、これらがその処理中に構成に追加されます。このディレクトリを使用して、使用可能にするリポジトリのリポジトリ・ファイルを定義します。

Oracle Linux Yum Serverリポジトリ・ファイルのダウンロード

Oracle Linux yumサーバーでは、特定のサポート契約なしで、一般に公開されているすべてのUnbreakable Linux Network (ULN)チャネルの直接マッピングが提供されます。Oracle Linux yumサーバー上の各リポジトリに使用されているリポジトリ・ラベルが、ULN上のチャネル名に直接マップされます。チャネル名、およびチャネルとリポジトリに使用される共通接尾辞の詳細は、Oracle Linux: Unbreakable Linux Networkユーザーズ・ガイド for Oracle Linux 6 and Oracle Linux 7 (https://docs.oracle.com/en/operating-systems/oracle-linux/uln-user/ol_channels_uln.html)を参照してください。

オラクル社は、2019年1月より前に、Oracle Linuxリリースごとに1つのyumリポジトリ構成ファイルの提供を開始しました。この構成ファイルは、インストール時に/etc/yum.repos.d/public-yum-ol7.repoにコピーされますが、Oracle Linux yumサーバーから直接ダウンロードして更新を取得することもできます。

元の構成ファイルは非推奨になり、より対象を絞ったRPMパッケージの形でyumを介して自動的に管理および更新される、モジュラ・リポジトリ・ファイルが採用されています。たとえば、Oracle Linux 7に必要なコア・リポジトリ構成ファイルは、oraclelinux-release-el7パッケージで入手できます。このパッケージには、このリリース用の基本パッケージのインストールに必要なすべてのリポジトリ構成が含まれています(ol7_latestol7_addonsリポジトリ内のパッケージ、およびUEKのサポート対象リポジトリすべてを含む)。

yumを介して保守できるパッケージとしてリリースされたモジュラyumリポジトリ構成ファイルは、リポジトリ管理の簡略化に役立ちます。また、ご使用のシステムを更新するたびにyumリポジトリ定義が最新であることを自動的に確認するために役立ちます。

ご使用のリリースで可能なすべてのyumリポジトリ構成を管理するための、使用可能なすべてのRPMファイルのリストは、次を実行することで取得できます。

sudo yum list *release-el7*

使用する必要がある特定のソフトウェア・セットのyumリポジトリ構成をインストールするには、yumを使用して、対応するパッケージをインストールします。たとえば、Oracle Linux Software Collection Library用のyumリポジトリ構成をインストールするには、次を実行します。

sudo yum install oracle-softwarecollection-release-el7
ご使用のシステムがまだ、/etc/yum.repos.d/public-yum-ol7.repoにある元の単一のyumリポジトリ構成ファイルを使用するように構成されている場合は、yumリポジトリ構成の現在の処理方法に移行するようにシステムを更新する必要があります。これを行うには、システムが最新であることを確認してから、次のように/usr/bin/ol_yum_configure.shスクリプトを実行します:。
sudo yum update
sudo /usr/bin/ol_yum_configure.sh

/usr/bin/ol_yum_configure.shスクリプトは、/etc/yum.repos.d/public-yum-ol7.repoファイルをチェックして、どのリポジトリがすでに有効になっているかを特定し、対応する適切なパッケージをインストールしてから、元の構成ファイルの名前を/etc/yum.repos.d/public-yum-ol7.repo.savに変更してそれを無効にし、より新しいモジュラ・リポジトリ構成ファイルを採用します。

なんらかの理由で、すべての構成を削除してOracle Linux yumサーバー・リポジトリにアクセスする場合は、/etc/yum.repos.d/ol7-temp.repoに、最低限必要な次の内容を含む、一時yumリポジトリ構成ファイルを作成する必要があります。

[ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=https://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1

次に、oraclelinux-release-el7パッケージを再インストールして、デフォルトのyum構成をリストアします。

sudo yum reinstall oraclelinux-release-el7
sudo rm /etc/yum.repos.d/ol7-temp.repo      

Oracle Linux yumサーバーのリポジトリ構成ファイルを手動で設定する方法の詳細は、https://yum.oracle.com/getting-started.htmlを参照してください。

必要に応じて、このファイルにリストされている各リポジトリのenabledディレクティブの値を1または0に設定することで、各リポジトリ構成ファイル内のリポジトリを有効化または無効化できます。Oracle Linux 7でリポジトリを有効化または無効化するお薦めの方法は、yum-config-managerコマンドの使用です(Yumユーティリティの使用による構成の管理を参照)。

Oracle Cloud InfrastructureシステムでのYumの使用

Oracle Cloud Infrastructure内のコンピュート・インスタンスは、サービス・ゲートウェイを介してリージョナルyumサーバーにアクセスできます。Oracle Cloud Infrastructure上のリージョナルyumサーバーは、制限付きULNチャネルで提供されるコンテンツもミラー化するという点で、Oracle Linux yumサーバーとは異なります。

Oracle Linux内のyumリポジトリ構成では、通常は、適切なyumサーバー・アクセスを管理するためにbaseurlでyum変数が使用されます。たとえば、Oracle Linux 7用の_latestリポジトリへのbaseurlは次のようになります。

baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL7/latest/$basearch/

$ociregion変数は、/etc/yum/vars/ociregionにコンテンツを移入することで設定できます。このファイルが存在しない場合や空の場合は、baseurlが、パブリックにアクセス可能なOracle Linux yumサーバーを指すように拡張されます。一般的なOracle Cloud Infrastructureコンピュート・インスタンスの場合、この変数の値はインスタンス作成時に設定され、baseurlが、Oracle Cloud Infrastructureサービス・ネットワーク上で最も近いリージョナルyumサーバーを指すように拡張されます。たとえば、$ociregion-phxに設定されている場合、baseurlは、Phoenixにあるリージョナルyumサーバーを指すように拡張されます。

変数の使用により、すべてのOracle Linuxデプロイメントにわたり構成がある程度標準的なものになる可能性がありますが、Oracle Cloud Infrastructureのお客様向けであるリソースへのアクセスがさらに提供されます。

Oracle Cloud Infrastructureおよびyumリポジトリの詳細は、Oracle Linux: Unbreakable Linux Networkユーザーズ・ガイド for Oracle Linux 6 and Oracle Linux 7を参照してください。

Yumユーティリティの使用による構成の管理

yum-utilsパッケージには、構成の管理、および既存の構成に対する更新の安全な適用に役立つ複数のユーティリティが含まれています。これらのうち最も重要なのは、yum-config-managerです。

yum-utilsパッケージをインストールするには、次のようにします。

sudo yum install -y yum-utils

yum-config-managerを使用して、指定したURLまたは指定したリポジトリ・ファイル内にリポジトリを追加できます。たとえば、Oracle Linux 7用のレガシー・リポジトリ構成ファイルをOracle Linux yumサーバーから追加するには、次のようにします。

sudo yum-config-manager --add-repo https://yum.oracle.com/public-yum-ol7.repo            

ノート:

レガシー・リポジトリ構成ファイルは保守されておらず、非推奨となっています。このファイル内の情報は最新でない可能性があり、新しいリポジトリがリストされていない可能性があります。

同じコマンドを使用して、リポジトリがホストされているURLを指定することで、有効なyumリポジトリのリポジトリ構成ファイルを自動的に生成できます。たとえば、Unbreakable Enterprise Kernelリリース5リポジトリの/etc/repos.dに新しい構成ファイルを作成するには、次を実行します。

sudo yum-config-manager --add-repo https://yum.oracle.com/repo/OracleLinux/OL7/UEKR5/x86_64 

yum-config-managerを使用してリポジトリを有効にするには、--enableオプションを使用します。たとえば、ol7_addonsリポジトリを有効にするには、次を実行します。

# yum-config-manager --enable ol7_addons
               

--disableオプションは、リポジトリを無効にするのと同様の方法で使用できます。

yum-config-managerツールにより、--setoptおよび--saveオプションを使用して他の構成オプションを設定することもできます。詳細は、yum-config-manager(1)マニュアル・ページを参照してください。

yum-utilsパッケージに含まれているツールのリストと、これらのツールでできることの説明は、yum-utils(1)マニュアルページを参照してください。