Identificazione del pacchetto trasferibile
Non tutti i pacchetti RPM possono essere installati in un'altra directory. Si dice che un pacchetto RPM che può essere installato in una directory diversa sia riposizionabile. Per verificare se un particolare pacchetto è riposizionabile, usa il comando:
# rpm -qpi [rpm package] | head -1
Ad esempio, i pacchetti:redhat-lsb-1.3-3.1.EL3.i386.rpm e rsync-2.5.7-5.3E.i386.rpm producono il seguente output:
# 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
Afferma che il pacchetto redhat-lsb non è riposizionabile ma rsync lo è.
Riposizionamento di un pacchetto RPM
1. Il trasferimento di un pacchetto rpm consente all'utente di installare il pacchetto rpm in una directory diversa da quella predefinita. Ciò significa che puoi installare il pacchetto rsync in una directory diversa, ad esempio /opt utilizzando l'opzione rpm –prefix così:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
2. Per verificare se è stato effettivamente installato in /opt, utilizzare il comando rpm -ql rsync. Di seguito è riportato un esempio di output:
# 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. Ora, se il processo simile viene applicato al pacchetto redhat-lsb, apparirà questo messaggio di errore:
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm error: package redhat-lsb is not relocatable
Pensieri finali
Il riposizionamento dei pacchetti elencati come non riposizionabili non è supportato dalla maggior parte dei fornitori di sistemi operativi come RedHat. Pertanto è consigliabile riposizionare solo i pacchetti rpm “rilocabili”.