12.4. Configuring yum
By default, yum is configured through /etc/yum.conf. The following is an example of a typical/etc/yum.conf file:
[main] cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log pkgpolicy=newest distroverpkg=redhat-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 metadata_expire=1800 [myrepo] name=RHEL 5 $releasever - $basearch baseurl=http://local/path/to/yum/repository/ enabled=1
A typical /etc/yum.conf file is made up of two types of sections: a [main] section, and a repository section. There can only be one [main] section, but you can specify multiple repositories in a single/etc/yum.conf.
12.4.1. [main] Options
The [main] section is mandatory, and there must only be one. For a complete list of options you can use in the [main] section, refer to man yum.conf.
The following is a list of the most commonly-used options in the [main] section.
cachedir-
This option specifies the directory where
yumshould store its cache and database files. By default, the cache directory ofyumis/var/cache/yum. keepcache=<1 or 0>-
Setting
keepcache=1instructsyumto keep the cache of headers and packages after a successful installation.keepcache=1is the default. reposdir=<absolute path to directory of .repo files>-
This option allows you to specify a directory where
.repofiles are located..repofiles contain repository information (similar to the[section ofrepository]/etc/yum.conf).yumcollects all repository information from.repofiles and the[section of therepository]/etc/yum.conffile to create a master list of repositories to use for each transaction. Refer toSection 12.4.2, “[Options” for more information about options you can use for both therepository][section andrepository].repofiles.If
reposdiris not set,yumuses the default directory/etc/yum.repos.d. gpgcheck=<1 or 0>-
This disables/enables GPG signature checking on packages on all repositories, including local package installation. The default is
gpgcheck=0, which disables GPG checking.If this option is set in the
[main]section of the/etc/yum.conffile, it sets the GPG checking rule for all repositories. However, you can also set this on individual repositories instead; i.e., you can enable GPG checking on one repository while disabling it on another. assumeyes=<1 or 0>-
This determines whether or not
yumshould prompt for confirmation of critical actions. The default ifassumeyes=0, which meansyumwill prompt you for confirmation.If
assumeyes=1is set,yumbehaves in the same way that the command line option-ydoes. tolerant=<1 or 0>-
When enabled (
tolerant=1),yumwill be tolerant of errors on the command line with regard to packages. This is similar to theyumcommand line option-t.The default value for this is
tolerant=0(not tolerant). exclude=<package name/s>-
This option allows you to exclude packages by keyword during installation/updates. If you are specifying multiple packages, this is a space-delimited list. Shell globs using wildcards (for example, * and ?) are allowed.
retries=<number of retries>-
This sets the number of times
yumshould attempt to retrieve a file before returning an error. Setting this to 0 makesyumretry forever. The default value is 6.
12.4.2. [repository] Options
repository]The [ section of the repository]/etc/yum.conf file contains information about a repository yum can use to find packages during package installation, updating and dependency resolution. A repository entry takes the following form:
[repository ID] name=repository namebaseurl=url, file or ftp://path to repository
You can also specify repository information in a separate .repo files (for example, rhel5.repo). The format of repository information placed in .repo files is identical with the [ of repository]/etc/yum.conf.
.repo files are typically placed in /etc/yum.repos.d, unless you specify a different repository path in the[main] section of /etc/yum.conf with reposdir=. .repo files and the /etc/yum.conf file can contain multiple repository entries.
Each repository entry consists of the following mandatory parts:
- [
repository ID] -
The repository ID is a unique, one-word string that serves as a repository identifier.
name=repository name-
This is a human-readable string describing the repository.
baseurl=http, file or ftp://path-
This is a URL to the directory where the
repodatadirectory of a repository is located. If the repository is local to the machine, usebaseurl=file://. If the repository is located online using HTTP, usepath to local repositorybaseurl=http://. If the repository is online and uses FTP, uselinkbaseurl=ftp://.linkIf a specific online repository requires basic HTTP authentication, you can specify your username and password in the
baseurlline by prepending it asusername:password@link. For example, if a repository on http://www.example.com/repo/ requires a username of "user" and a password os "password", then thebaseurllink can be specified asbaseurl=http://user:password@www.example.com/repo/.
The following is a list of options most commonly used in repository entries. For a complete list of repository entries, refer to man yum.conf.
gpgcheck=<1 or 0>-
This disables/enables GPG signature checking a specific repository. The default is
gpgcheck=0, which disables GPG checking. gpgkey=URL-
This option allows you to point to a URL of the ASCII-armoured GPG key file for a repository. This option is normally used if
yumneeds a public key to verify a package and the required key was not imported into the RPM database.If this option is set,
yumwill automatically import the key from the specified URL. You will be prompted before the key is installed unless you setassumeyes=1(in the[main]section of/etc/yum.conf) or-y(in ayumtransaction). exclude=<package name/s>-
This option is similar to the
excludeoption in the[main]section of/etc/yum.conf. However, it only applies to the repository in which it is specified. includepkgs=<package name/s>-
This option is the opposite of
exclude. When this option is set on a repository,yumwill only be able to see the specified packages in that repository. By default, all packages in a repository are visible toyum.
每次yum完后下载的缓存文件都会被删除,若要保留下载的文件的话,把/etc/yum.conf
keepcache=0
改为:
keepcache=1
以后重装时只要把/var/cache/yum目录中所有的rpm包放在一目录中,把/etc/yum.conf中的
gpgcheck=1
改为
gpgcheck=0
然后进入该目录执行yum localinstall *.rpm