Як вказує Ігнасіо, ви можете використовувати 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