Как указывает Игнасио, вы можете использовать yumdownloader
.
Но для второго шага
rpm -ivh --relocate /usr=/home/username/usr --relocate /etc=/home/username/etc
или
rpm -ivh --relocate /=/home/username/progname
наверное проще.
Если в RPM есть какие-либо сценарии, предполагающие, что они выполняются от имени пользователя root, вам также может понадобиться добавить эту --noscripts
опцию.
Плюс вы можете добавить --aid
опцию для разрешения зависимостей.
Еще одна полезная опция в этом случае - --root
избегать rpm для записи в /var
путь (так как вы не root), поэтому команда будет выглядеть примерно так:
rpm -ivh --relocate /=/home/username/progname --root /home/username/progname