Короткий ответ: да, вы можете, но на самом деле вы не должны.
Ниже приведен список вещей (в произвольном порядке), которые следует учитывать при установке кросс-дистрибутива:
Основная причина существования таких вещей, как yum/apt/yast, заключается в том, чтобы избежать того, что известно как ад зависимостей< /а>. Используя пакеты из других систем, вы теряете работу, вложенную в пакеты, из-за чистой установки.
Вторичный менеджер пакетов захочет удовлетворить свои собственные зависимости и установить кучу вещей, которые уже установлены. Это означает, что вы должны устанавливать пакеты по частям, чтобы не перезаписать уже установленные пакеты из основного менеджера пакетов и не столкнуться со всевозможными проблемами.
- Используют ли они один и тот же менеджер пакетов?
Если они это сделают, вы даже сможете просто установить его напрямую, но у вас, вероятно, будут проблемы с зависимостями или конфликты пакетов. Если это не так, вы можете извлечь пакет с помощью различных инструментов и просто поместить бинарные файлы в файловую систему (посмотрите на Alien или это сообщение об извлечении файлов .rpm и .deb).
Это даст вам файлы в системе, но нет гарантии, что это будет работать сразу после установки. Может потребоваться (и обычно требуется) дополнительная ручная охота.
- Версии базовых пакетов, таких как glibc, одинаковы или очень близки?
Если да, то вероятность проблемы меньше. Чем больше разница между базовыми пакетами двух дистрибутивов, тем больше вероятность того, что у вас будут отсутствовать общие библиотеки, которые недоступны в дистрибутиве, на котором вы работаете, потому что версия отличается, а имя файла не соответствует двоичному файлу. находясь в поиске.
Технически вы также можете извлечь базовые зависимости из другого дистрибутива и поместить их в файловую систему, но это, безусловно, вызовет у вас проблемы, если вам когда-нибудь понадобится скомпилировать что-то из исходного кода. Представьте, как запутается gcc.
- Пакет, который вы устанавливаете, требует определенного модуля ядра?
Лучший способ, которым я могу сформулировать это, — это распространенная проблема, с которой я сталкиваюсь в эти дни при покупке виртуальных машин у веб-хостинга; вы получаете собственное ядро xen или virtuozzo, а iptables не работает напрямую, потому что сетевой фильтр находится в ядре, а ABI изменился. Это может быть довольно головной болью, чтобы заставить его снова работать, и эта проблема не ограничивается iptables. Мой лучший совет здесь — выбрать дистрибутив, ядро которого находится в собственном базовом репозитории.
Несомненно, вам придется это сделать, если вы очень сильно захотите получить пакеты из других систем. Поскольку различные дистрибутивы настраивают свои среды сборки по-разному, вы потратите половину своего времени на выяснение пути и другие проблемы с конфигурацией.
person
Corey Henderson
schedule
23.04.2012