Определение перемещаемого пакета
Не все пакеты RPM могут быть установлены в другой каталог.
Пакет RPM, который может быть установлен в другой каталог, называется перемещаемым.
Чтобы проверить, можно ли перемещать конкретный пакет, используйте команду:
# rpm -qpi [rpm package] | head -1
Например, пакеты: redhat-lsb-1.3-3.1.EL3.i386.rpm и rsync-2.5.7-5.3E.i386.rpm выдают следующее:
# 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
В нем говорится, что пакет redhat-lsb не перемещаем, а rsync перемещаем.
Перемещение пакета RPM
1. Перемещение пакета rpm позволяет пользователю установить пакет rpm в каталог, отличный от каталога по умолчанию.
Это означает, что вы можете установить пакет rsync в другой каталог, скажем /opt, используя опцию rpm –prefix, например:
rpm -ivh --prefix=/opt rsync-2.5.7-5.3E.i386.rpm
2. Чтобы проверить, действительно ли он был установлен в / opt, используйте команду rpm -ql rsync.
Ниже приведен пример вывода:
# 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. Теперь, если аналогичный процесс применяется к пакету redhat-lsb, появится следующее сообщение об ошибке:
# rpm -ivh --prefix=/opt redhat-lsb-1.3-3.1.EL3.i386.rpm error: package redhat-lsb is not relocatable
Заключительные мысли
Перемещение пакетов, перечисленных как не перемещаемые, не поддерживается большинством поставщиков ОС, таких как RedHat.
Поэтому рекомендуется перемещать только «перемещаемые» пакеты rpm.