Como Ignacio aponta, você pode usar yumdownloader
.
Mas para o segundo passo
rpm -ivh --relocate /usr=/home/username/usr --relocate /etc=/home/username/etc
ou
rpm -ivh --relocate /=/home/username/progname
é provavelmente mais fácil.
Se o RPM tiver scripts que supõem que estejam sendo executados como root, talvez seja necessário adicionar a opção --noscripts
.
Além disso, você pode adicionar a opção --aid
para resolver dependências.
No entanto, outras opções úteis neste caso são --root
para evitar que o rpm grave em /var
path (já que você não é root), então o comando será algo como:
rpm -ivh --relocate /=/home/username/progname --root /home/username/progname