== Completely using an alternate _yum_ configuration As part of automatic installs of Fedora Core, our customization step installs of the current Red Hat updates from a local mirror. We use _yum_ for this, because it both handles dependencies and uses compact metadata files instead of having to read all of the update and base OS RPMs themselves. (We have 100 megabit networks, but it still adds up and slows down installs.) We do this by feeding _yum_ a custom configuration file; basically we take the standard _/etc/yum.conf_ file and add some bits to point to our on-disk repositories. (In turn, this means I get to explore the many charms and wonders of building _yum_ metadata. Which deserves an entry itself.) This mostly works, but with Fedora Core 4 this step started bitching about 'ignoring duplicate entry for '. Since it worked, I ignored it. As part of diagnosing the install failure [[yesterday|../sysadmin/DiagnosingAnInstallProblem]], this escalated to a fatal problem: _yum_ died with that [[ever-helpful message|../sysadmin/UsefulErrorMessages]]: Cannot find a valid baseurl for repo: extras This was mysterious, because our _yum_ configuration doesn't *have* an 'extras' repository, only 'base' (base Fedora Core 4 RPMs) and 'updates-released' (the updates themselves). The cause is a new feature in _yum_, where it will look in a list of directories for files that describe additional repositories. (In Fedora Core 4, Red Hat sets up all of the repositories this way for reasons having to with how RPM operates.) This new features, _reposdir_, does not have to be explicitly specified in your _yum_ configuration file; _yum_ uses a default directory search path. Fedora Core 4 uses both the feature and one of the default directories, so no _reposdir_ entry is in _/etc/yum.conf_. Since our one started as a copy of that, we hadn't set a _reposdir_ either, so _yum_ was seeing our explicitly specified repository locations and then also reading the normal system ones. This resulted in the duplicates of 'base' and 'updates-released' that _yum_ had been warning about, and when the install-time nameservice was broken a complete inability to get information on the contents of 'extras', a fatal error. So: ~~to completely use an alternate _yum_ configuration file, you need to set an explicit _reposdir_~~. _Yum_ is happy with the directory not existing (assuming you specify the necessary repositories explicitly in your configuration file), but you have to override the default with something.