Red Hat Training

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

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 の有効な値は、i586i686x86_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