installing rpm for the poor or what to do if you are not root
Sometimes, you want to install some application on a linux computer where you have no access as root user. Of course, the best way would be to download the source code files and compile them all using the usual configure --prefix=...;make;make install commands. However, it’s not as easy as it seems. Usually any non trivial application you want to install needs a lot of libraries, and in order to compile it, you’ll need the development files of the libraries installed. And if those are not present (that what usually happens), you’ll need to do the same build cycle to all the involved libraries (which may require others…).
Generally speaking, there’s no other way to do it, unless somebody did the compilations for you. But, if you are lucky and the application you are planning to install is well written, you might get away with less work.
The solution is simple:
- find (here or here for example) a binary rpm file for your distribution. Let’s call the file 123.rpm
- unpack the rpm using rpm2cpio (i have it available google for it if you don’t). The command would be:
rpm2cpio 123.rpm > 123.rpm.cpio - in some temporary directory unpack the cpio file you have:
cpio --extract --make-directories < 123.rpm.cpioNote you’ll have some directories and files created - Hope for the best
If the app will not run, you’ll have to troubleshoot it. If the application cannot find a library, make sure the libraries which got unpacked from rpm are accessible. In order to do so, you’ll have to add path of those libs to
LD_LIBRARY_PATH environment variable. Just add export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/path/to/new/libs to your ~/.bashrc file.Now if that’s not enough, the application is probably looking for some file which is supposed to be somewhere in /usr/… (but you can’t write there, remember?). If so - you’ll need to investigate what file is it (usually you’ll get it’s name in the error message) and where it’s possible to put it instead. The post is getting too long, so the only thing i’ll say here - use strace and common sense
In order to install gaim 2.0.0beta5 (recently renamed to pidgin) i needed to add a softlink to plugins directory in the ~/.gaim/ dir:
> ll ~/.gaim/ | grep plugins
lrwxrwxrwx 1 ——- —– 31 Jan 7 11:47 plugins -> /home/—-/public/usr/lib/gaim/
Hopefully, it’ll inspire somebody

