[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: How does yum work ??



On 15/01/2008, William Case wrote:
> Hi;
>
> I have a curiosity question about yum.  Does anyone know of a site or
> manual that explains how yum works?  I am not asking a 'man' question.
> I use 'man yum' all the time.  I am looking for an explanation that is
> somewhere between 'man' or 'info' and source code.
>
> I have tried Wikipedia and http://wiki.linux.duke.edu/YumFaq (and
> friends).
>
> I have used almost all of the various commands and utilities yum has to
> offer, but would like to understand what is happening at some more basic
> level that doesn't involve diving into source code.
>
> Any suggestions?  Hoping some one else has been there and done that, and
> can give me a quick tip or some search criteria.

If memory serves correctly, Seth Vidal has given at least one talk
about Yum at one of the FUDCons. Perhaps with some searching you can
locate the slides (if any) in some archive.

Your question is quite vague. It doesn't become clear what level of
detail you are interested in.

The interaction between Yum, package metadata and RPM should be fairly
obvious. Yum accesses local or remote repositories, which usually are
normal http/ftp servers that contain RPM packages plus the
corresponding metadata archives generated by the createrepo tool. The
metadata describe the available packages beyond the information
available in the filenames and without the need to download full
packages. Basically, many data from a file's RPM package header (such
as name, epoch, version, release, arch, excludearch and exlusivearch
lists, dependency details, package capabilities, virtual package
names, library SONAMEs, obsoletes, conflict definitions, but also
filelists) are copied into the metadata archives, but in a format that
is more convenient and faster to parse, e.g. xml or sqlite files.
Having learned what packages are available in the repositories, Yum
queries the local RPM database to examine what packages are installed
already. Combining the information it is able to determine what newer
packages are available as updates which is Yum's primary purpose.
Since updates can also replace other packages or require new packages
to be added, there's quite some time spent on processing and resolving
lots of package metadata. For any packages to be installed, it either
downloads them via the network or accesses them locally. It then uses
the RPM library to examine a transaction set of packages further in
order to find out whether there are any dependency problems or
conflicts before asking RPM to perform a transaction. That's only a
very brief coverage of what Yum does.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]