Problem: I have to install a pile of RPMs
Solution:
Sure. Assuming all 5 rpm packages are in /var/tmp, do
cd /var/tmp
mkdir xxx
cd xxx
for i in ../{rpm,popt}-*.rpm ; do
rpm2cpio $i | cpio -dim
done
./bin/rpm -Uvh ../{rpm,popt}-*.rpm
Next, do
rpm --rebuilddb # <- if this segfaults, do a bugzilla report
and finally
rpm --rebuilddb # just to make sure everything is AOK
>
> All righty. I didn't have rpm2cpio installed on the problematic
> machine, so I did the conversion on a working machine, and copied it
> all back.
>
> ./bin/rpm -Uvh ../{rpm,popt}-*.rpm
>
> This last step segfaults. :-(
>
Not quite yet. Use rpm2cpio to install directly onto the file system.
Check the directory perms below /var/tmp/xxx, cpio tends to unpack with
700
cd /var/tmp/xxx
find . -type d -exec chmod 755 {} \;
and then install the whole tree (check first if you're paranoid)
cd /var/tmp/xxx
tar cf - ./usr ./bin ./etc | (cd /; tar xvf -)
Now try
rpm --rebuilddb
to fix your database (if this segfaults, it's bugzilla time).
Finally upgrade the rpm packages the usual way
cd /var/tmp
rpm -Uvh {rpm,popt}-*