Yum reads it's configuration from one or more configuration files. The main configuration file is typically stored in /etc/yum.conf, and contains the default settings to use when retrieving and installing packages.
A sample configuration file from a CentOS 4.0 server is shown below:
$ cat /etc/yum.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=centos-release
tolerant=1
exactarch=1
retries=20
obsoletes=1
gpgcheck=1
#PUT YOUR REPOS HERE OR IN SEPARATE FILES NAMES FILE.REPO IN /ETC/YUM.REPOS.D
In addition to the main yum.conf configuration file which is described in the yum.conf manual page, yum will look for remote repository definitions in the directory /etc/yum.repos.d.
A sample repository definitions from a CentOS 4.0 server is included below:
[base]
name=CentOS-$releasesever - Base
mirrolist=http://mirrorlist.centos.org/?release=&releasever&arch=$basearch&repo=os
#baseusr=http://mirror.centos.org/centos/$releasever/so/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos-4
Each repository definition starts with a descriptive name that is enclosed in brackets. Inside each repository definition stanza is a line with a descriptive name, a flag to indicate if GPG signatures should be checked , and the locations to retrieve updates and the GPG keys that are used to sign the updates. Variables can be used in URLs, and in the example above the $releasever and $basearch variables are used to reference the Operating System release and teh file system base where updates are located.