Fixing Installed Packages to a YUM Repository
In the history of gLite deployment due to various reasons it has been necessary to
remove packages from the yum repositories after they have been released.
As a result it may be necessary to remove or downgrade packages that would
not be installed if the system were to be reinstalled from the repositories.
The following is a recipe for downgrading or removing packages installed on SL4 that are not
in the yum repositories.
Install repoquery
The
repoquery
is a command for extracting information from yum repositories. It is
contained in the
yum-utils
package.
# yum install yum-utils
List of Installed Packages Not In Repositories.
# repoquery -a --nvr --pkgnarrow extras
shows a list of packages and versions that are installed but not in the repositories.
bouncycastle-jdk14-1.19-2
java-1.5.0-sun-1.5.0.13-5jpp
java-1.5.0-sun-devel-1.5.0.13-5jpp
j2sdk-1.4.2_08-fcs
dcache-client-1.8.0-0
perl-AppConfig-1.65-1.el4.rf
Determine Which Packages are in the YUM Repository
Use
repoquery
to see which packages are available at an older version in the repositories.
# repoquery --location bouncycastle-jdk14 java-1.5.0-sun-1.5.0 \
java-1.5.0-sun-devel j2sdk dcache-client perl-AppConfig
produces results
http://linuxsoft.cern.ch/EGEE/gLite/R3.1/glite-UI/sl4/i386//RPMS.updates/dcache-client-1.7.0-35.i586.rpm
This lets you know that dcache-client is available at an older version and the
other packages
java-1.5.0-sun-devel
,
j2sdk
are not in the repository at all.
The
yumdownloader
command can also be used.
# yumdownloader --urls bouncycastle-jdk14 java-1.5.0-sun-1.5.0 \
java-1.5.0-sun-devel j2sdk dcache-client perl-AppConfig
which does much the same as above.
Download Older Version of Package
Use
yumdownloader
to download packages, this is in
yum-utils
as well.
# yumdownloader dcache-client
Install Package
# rpm -Uvh --oldpackage dcache-client-1.7.0-35.i586.rpm
Remove packages not in the Repository
Assuming you think it is a sensible idea.
# rpm -e java-1.5.0-sun-devel
of course it may be that you are expecting the package to be installed and not in a repository
anyway.
--
SteveTraylen - 14 Dec 2007