Назад | Перейти на главную страницу

Как установить 32-битные пакеты на 64-битную CentOS

У нас есть много 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 ... у вас должна быть возможность установить их. Поскольку это может занять много места, я предлагаю жестко связать их, а не копировать.