Identifikace přemístitelného balíčku
Ne všechny balíčky RPM lze nainstalovat do jiného adresáře. O balíčku RPM, který lze nainstalovat do jiného adresáře, se říká, že je přemístitelný. Chcete-li zkontrolovat, zda je konkrétní balíček přemístitelný, použijte příkaz:
# rpm -qpi [rpm package] | head -1
Například balíčky:redhat-lsb-1.3-3.1.EL3.i386.rpm a rsync-2.5.7-5.3E.i386.rpm produkuje níže uvedený výstup:
# rpm -qpi redhat-lsb-1.3-3.1.EL3.i386.rpm | head -1 Name : redhat-lsb Relocations: (not relocatable)
# rpm -qpi rsync-2.5.7-5.3E.i386.rpm | head -1 Name : rsync Relocations: /usr
Uvádí, že balíček redhat-lsb není přemístitelný, ale rsync ano.
Přemístění balíčku RPM
1. Přemístění balíčku rpm umožňuje uživateli nainstalovat balíček rpm do jiného adresáře, než je výchozí. To znamená, že můžete nainstalovat balíček rsync do jiného adresáře, řekněme /opt pomocí volby rpm –prefix takhle:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
2. Chcete-li ověřit, zda byl skutečně nainstalován v /opt, použijte příkaz rpm -ql rsync. Níže je ukázkový výstup:
# rpm -ql rsync /etc/xinetd.d/rsync /opt/bin/rsync /opt/share/doc/rsync-2.5.7 /opt/share/doc/rsync-2.5.7/COPYING /opt/share/doc/rsync-2.5.7/README /opt/share/doc/rsync-2.5.7/tech_report.tex /opt/share/man/man1/rsync.1.gz /opt/share/man/man5/rsyncd.conf.5.gz
3. Nyní, pokud je podobný proces aplikován na balíček redhat-lsb, objeví se tato chybová zpráva:
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm error: package redhat-lsb is not relocatable
Poslední myšlenky
Přemístění balíčků uvedených jako nepřemístitelné není podporováno většinou prodejců OS, jako je RedHat. Proto je vhodné přemisťovat pouze „přemístitelné“ rpm balíčky.