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

Re: How does yum work ??



Timothy Murphy wrote:
Michael Schwendt wrote:

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.

That seems to me a very clear description -
I imagine exactly what the OP wanted.

I find yum very good.
It would be even better, I think, if it gave a little more information
about what it is doing, eg what repository it is visiting
(one only learns this if the operation fails),
what files on the computer it is writing, etc.

You can change the debug level to what you find convenient. Ex:

# yum -d3 install <foo>

Or set in /etc/yum.conf

Rahul


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