Как указывает Игнасио, вы можете использовать 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