Никогда не пытался сделать что-то подобное сам, но пакеты afaik rpm (по крайней мере, правильно упакованные) поддерживают перемещение. Но для того, чтобы установить пакеты без root-доступа, необходимо выполнить несколько шагов.
Следующее взято из linuxquestions.org:
Настройка частной базы данных RPM
mkdir -p /home/username/local/lib/rpm
rpm --initdb --root /home/username/local --dbpath /home/username/local/lib/rpm
Если вам не нравится ~/local/lib/rpm, вы можете выбрать другую структуру подкаталога.
Проверьте наличие пакетов
rpm -ivh package.rpm
Если обнаружены зависимости, установите зависимые RPM перед установкой RPM пакета.
Наконец, установите пакет
rpm --root /home/username/local --dbpath /home/username/local/lib/rpm \
--relocate /usr=/home/username/local --nodeps -ivh package.rpm
Чтобы использовать пакет, вам придется поиграться с LD_LIBRARY_PATH, чтобы сообщить загрузчику, где находятся необходимые общие библиотеки, и изменить ваш PATH, включив в него все необходимые сценарии и исполняемые файлы.