Как установить RPM-пакет в другой каталог в CentOS / RHEL / Fedora

by itisgood

Определение перемещаемого пакета

Не все пакеты 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.

 

You may also like

Leave a Comment