CentOS – find packages provided by repositories

A quick note to myself… This is what I do when I need to find which packages are provided by a certain repository. First I update the list of the available packages:

# yum check-update

Then I do a listing of them (bold is mine):

# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.prometeus.net
* epel: fr2.rpmfind.net
* extras: mirrors.prometeus.net
* updates: mirrors.prometeus.net
Excluding Packages from CentOS-5 - Base
Excluding Packages from CentOS-5 - Updates
repo id repo name status
base CentOS-5 - Base 3,612+29
epel Extra Packages for Enterprise Linux 5 - x86_64 7,241
extras CentOS-5 - Extras 266
updates CentOS-5 - Updates 95
repolist: 11,214

At this point, if I need to find what packages are provided by the EPEL repository and write that list on a file, I’ll simply digit:

# rpm -qa | grep epel > epel-list.txt

how-to fix the XS version of Scalar::Util error in CentOS / RHEL / Fedora

It’s being some month now that at work we have encountered a nasty problem with Perl’s module Compress::Zib usage in a tool developed by a colleague. At the moment to start the graphical rendering of a web page the system gave error to our users.

Searching in Apache2’s log I’ve encoutered many error of this kind:

dualvar is only available with the XS version of Scalar::Util at /var/www/html/$MY-APP-PATH/perl/Compress/Zlib.pm line 8

This is because the Scalar-List-Utils module precompiled in RHEL/Fedora/CentOS and similar does NOT have the support of XS weaken function.

You will see a lot of bugs issued on this topic in this part of Linux distro’s.

My solution was to install perl-Task-Weaken package:

In fact as we can read in the package’s description:

rpm -qi perl-Task-Weaken
URL         : http://search.cpan.org/dist/Task-Weaken/
Summary     : Ensure that a platform has weaken support
Description : One recurring problem in modules that use Scalar::Util's weaken function is that it is not present in the pure-perl variant.

This restores the functionality testing to a dependency you do once in your Makefile.PL, rather than something you have to write extra tests for each time you write a module.

Happy coding!

how to install RMySQL on CentOS

A quick note for who have the need of installing RMySQL on CentOS (or RHEL).

On my system R is installed via the EPEL repository (as I’ve added in the comments of this post of this very blog).

Given this I went to the RMySQL project page and downloaded both the RMySQL_0.7-5.tar.gz and the (required) DBI_0.2-5.tar.gz packages.

This because installing the R-DBI package provided by the activated repository on my system gave me errors during the actual RMySQL installation.

So, as root – since the installation was needed system-wide – i gave those two following commands:

[root@testing ~]# R CMD INSTALL DBI_0.2-5.tar.gz
[root@testing ~]# R CMD INSTALL RMySQL_0.7-5.tar.gz

Then all the user needed to do was loading into his R environment the new modules!
Happy coding!

For future reference:

  • CRAN – RMySQL package
  • CRAN – DBI package

What files are provided by $package.rpm?

Today I needed to install the openMPI package on a development machine, and occurred to me to know if by installing it the system’s GCC (and similar). So asked my friend Gianluca an hand and he pointed me to the repoquery command.

So I did the following:

yum whatprovides "*/repoquery"

which gived to me:

yum-utils-1.1.16-14.el5.centos.1.noarch : Utilities based around the yum package manager
Repo : base
Matched from:
Filename : /usr/bin/repoquery

so I did a simple:

yum install yum-utils

followed by a:

repoquery -ql openmpi-devel.x86_64

… and I obtained the needed infos. Thanks Gianluca!

migration from RHEL to CentOS, done!

Last year at work we brought a little server … you know, fiberchannel hard disks, 32GB of RAM, four quad core XEON … usual stuff 😉
We also got a 1 year of Red Hat Enterprise Linux subscription. Obviuosly this year the money for a renewal of it’s licence aren’t available so, to keep safe and up-2-date, what do we do?

features rhel

We’ve decided to migrate to CentOS, given their famous binary compatibility with the Prominent North American Enterprise Linux Vendor 😉 Thanks to the Lord the process was simple and straightfoward as shown on the page of the official CentOS’ wiki.

Even with the subscription to RHN out-of-date, I did manage to upgrade r5.4 to 5.5 … the process cleaned ALL the official RedHat’s repo files from /etc/yum.repos.d … so beware, make a backup copy of them.

Then I’ve disabled the (few) 3rd party repo sources from my system (they are currently just adobe, epel and remi).

At this point I’ve followed the advice to disable first, and remove later, the yum’s rhnplugin since some CentOS’s forum user issued some warning or error if that was not done. Hence the following commands sequence was given (as root):

cp /etc/redhat-release /etc/redhat-release-saved
rpm -e --nodeps redhat-release-notes redhat-release yum-rhn-plugin redhat-logos

We’ve nearly there … I’ve manually downloaded on the system the three packages: centos-release, centos-release-notes and redhat-logos-X.X.XX-XX.el5.centos.noarch.rpm from the nearest (and fastest) distribution mirror available (they are placed in the ../5/os/$YOUR-ARCH/CentOS/ directory, by the way) and then manually installed with plain old rpm.

yum update

completed the process and here we are:


[root@localhost ~]# cat /etc/issue
CentOS release 5.5 (Final)
[root@localhost ~]# uname -a
Linux localhost 2.6.18-194.3.1.el5 #1 SMP Sun May 2 04:17:42 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux