4.3.3. Using Yum Variables

You can use and reference the following built-in variables in yum commands and in all Yum configuration files (that is, /etc/yum.conf and all .repo files in the /etc/yum.repos.d/ directory):

$releasever

You can use this variable to reference the release version of Fedora. Yum obtains the value of $releasever from the distroverpkg=value line in the /etc/yum.conf configuration file. If there is no such line in /etc/yum.conf, then yum infers the correct value by deriving the version number from the redhat-release package.

$arch

You can use this variable to refer to the system's CPU architecture as returned when calling Python's os.uname() function. Valid values for $arch include: i586, i686, and x86_64.

$basearch

You can use $basearch to reference the base architecture of the system. For example, i686 and i586 machines both have a base architecture of i386, and AMD64 and Intel 64 machines have a base architecture of x86_64.

$uuid

You can use this variable to refer to a universally unique identifier (UUID) for the machine.

$YUM0-9

These ten variables are each replaced with the value of any shell environment variables with the same name. If one of these variables is referenced (in /etc/yum.conf for example) and a shell environment variable with the same name does not exist, then the configuration file variable is not replaced.

To define a custom variable or to override the value of an existing one, create a file with the same name as the variable (without the “$” sign) in the /etc/yum/vars/ directory, and add the desired value on its first line.

Example 4.7. Using a custom Yum variable

Repository descriptions often include the operating system name. To define a new variable called $osname, create a new file with “Fedora” on the first line and save it as /etc/yum/vars/osname. For example:

~]# echo "Fedora" > /etc/yum/vars/osname

Instead of “Fedora 15”, you can now use the following in the .repo files: