[Yum] Documentation Questions and Updates

Gerhardus Geldenhuis gerhardus.geldenhuis at gmail.com
Thu Dec 17 12:43:13 UTC 2009

On Wed, Dec 16, 2009 at 3:47 PM, Seth Vidal <skvidal at fedoraproject.org> wrote:
> On Wed, 16 Dec 2009, Gerhardus Geldenhuis wrote:
>> On Wed, Dec 16, 2009 at 2:57 PM, James Antill <james-yum at and.org> wrote:
>>> Gerhardus Geldenhuis <gerhardus.geldenhuis at gmail.com> writes:
>>>> After enabling the plugin, create a file called
>>>> /etc/yum/pluginconf.d/versionlock.list which will be the list of
>>>> packages to version lock. The file excepts package names in the form
>>>> rpm -q <package name> --queryformat "%{NAME}-%{VERSION}-%{RELEASE}\n "
>>>> or easier the standard rpm -q <package name> format.
>>>  For upstream/Fedora the versionlock plugin now comes with a command,
>>> so, for example, to versionlock your Xorg drivers you just do:
>>> # yum install yum-plugin-versionlock
>>> [...]
>>> # yum versionlock xorg-x11-drv-\*
>>> [...]
>>> #
>> Ok, a few clarifications is needed then...
>> The yum versionlock <packagename>-\* command adds a 0: to the
>> /etc/yum/pluginconf.d/versionlock.list file
>> Is the 0: needed and what does it mean? man pages yum-versionlock and
>> yum-versionlock.conf does not make mention of this entry in the file.
> The 0: is the epoch of the package. It is normally left off when people read
> it but for the computer it is best to have everything completely specified
> so there is no ambiguity.
>> Also should all entries be added in this way or can you still hand
>> edit the versionlock file.
> you can hand edit it.
>> Glad to help, I am on a bit of a documentation warpath today. Internal
>> lack of documentation at my current contract is driving me a bit
>> mental. A few years back I was cleaning up some old computer lab that
>> had IBM mainframes from the 60ties and discovered some old
>> documentation. I was absolutely amazed at the level of detail and
>> precision of these documents and wished a bit that more documentation
>> could be like that... granted we live in a very different world today
>> and things work differently and change much faster... but still...
>> <sigh>
> thanks for the help. we need it for the docs especially.
> -sv

I have now rewritten my original prose including all the suggestions
and have also spend time to verify everything so it is repeatable.

Q4. second bullet
Another way to pin package "foo" to a certain version is to use the
versionlock plugin.

If you are using the latest Fedora (12) then the plugin can be
installed using yum install yum-plugin-versionlock
Alternatively if you are using Redhat 5.4/Centos 5.4 or another OS
that does not yet have the latest yum available, then the plugin must
be obtained manually from the current git repository for yum which is
The files you need will be found in the yum-utils/plugins/versionlock
part of the git tree.
Copy versionlock.py   to /usr/lib/yum-plugins/versionlock.py
Copy versionlock.conf to /etc/yum/pluginconf.d/versionlock.conf
Create /etc/yum/pluginconf.d/versionlock.list
All files should be root.root with 644 permissions.

The plugin will only work for yum versions 2.3.3 and later

To add files that you want version locked, use the following yum command:
yum versionlock <package-name>
you can also use wildcards
yum versionlock <package-name>-*

The config file uses the following format:
rpm -q <package name> --queryformat "%{EPOCH}:%{NAME}-%{VERSION}-%{RELEASE}\n "
or easier the standard rpm -q <package name> format with the EPOCH
number of the package prepended.

If no EPOCH is specified in the package then the number will be 0.


Gerhardus Geldenhuis

More information about the Yum mailing list