У нас есть много 32-разрядных серверов CentOS 6 с настраиваемыми rpms, созданными для архитектур i386 и i686 в наших собственных репозиториях RPM.
Теперь у нас есть несколько 64-битных серверов CentOS 6, но мы хотели бы иметь возможность устанавливать 32-битные пакеты из 32-битных репозиториев.
Я знаю, что Debian поддерживает «многоархивность», что позволяет устанавливать 32-битные библиотеки и пакеты. Что такое эквивалент CentOS?
В yum.conf вы увидите такую строку:
multilib_policy=best
Измените его на:
multilib_policy=all
Это позволит yum устанавливать 32-битные пакеты без особого указания * .i686.
CentOS имеет поддержку нескольких библиотек. Если у вас 32-битное программное обеспечение, вы можете попробовать установить его с помощью yum. Правильно ли построен RPM, и у вас есть доступ к репозиториям yum CentOS, он, надеюсь, сможет удовлетворить любую 32-битную зависимость (если она доступна в репо)
Если вы выполните поиск в своих 64-битных репозиториях CentOS, вы найдете в списке множество 32-битных пакетов. Выдержка из CentOS Wiki:
x86_64 installation by default will install iX86 32-bit packages on
a 64-bit installation for compatibility purposes.
Все основные репозитории решают эту проблему путем фактического копирования соответствующих 32-битных пакетов в 64-битный репозиторий. Вы можете убедиться в этом, внимательно изучив любое такое репо (CentOS, Fedora и т. Д.).
Итак, после копирования всех 32-битных пакетов в 64-битное репо и повторного запуска createrepo --update ...
у вас должна быть возможность установить их. Поскольку это может занять много места, я предлагаю жестко связать их, а не копировать.