Identification du colis réadressable
Tous les packages RPM ne peuvent pas être installés dans un autre répertoire. Un package RPM qui peut être installé dans un répertoire différent est dit déplaçable. Pour vérifier si un package particulier est relocalisable, utilisez la commande :
# rpm -qpi [rpm package] | head -1
Par exemple, les packages :redhat-lsb-1.3-3.1.EL3.i386.rpm et rsync-2.5.7-5.3E.i386.rpm produisent la sortie ci-dessous :
# 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
Il indique que le package redhat-lsb n'est pas relocalisable mais que rsync l'est.
Déplacer un package RPM
1. La relocalisation d'un package rpm permet à l'utilisateur d'installer le package rpm dans un répertoire différent de celui par défaut. Cela signifie que vous pouvez installer le package rsync dans un autre répertoire, par exemple /opt en utilisant l'option rpm –prefix comme ceci :
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
2. Pour vérifier s'il a bien été installé dans /opt, utilisez la commande rpm -ql rsync. Voici un exemple de sortie :
# 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. Maintenant, si le processus similaire est appliqué au paquet redhat-lsb, ce message d'erreur apparaîtra :
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm error: package redhat-lsb is not relocatable
Réflexions finales
La relocalisation des packages répertoriés comme non relocalisables n'est pas prise en charge par la plupart des fournisseurs de systèmes d'exploitation tels que RedHat. Par conséquent, il est conseillé de déplacer uniquement les packages RPM « déplaçables ».