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

RHEL5: Запретить установку пакетов i386 в 64-битных системах?

Каждый раз, когда я что-то устанавливаю с помощью yum, он пытается установить обе версии пакета для x86_64 и i386, если они доступны. Могу ли я как-то запретить это, не указав арку пакета?

Добавить Multilib_policy = лучший на ваш /etc/yum.conf

Yum попытается установить «лучший» package.arch для вашей системы и установит только его (если он доступен).

Предполагая, что вы используете 64-битную систему, yum сначала попытается установить package.x86_64, если он не существует, он вернется к i386 и noarch.

По умолчанию установлено Multilib_policy = все, а значит установить все возможные арки.

Я использовал вариант точныйарх = 1 в /etc/yum.conf какое-то время, и у меня это сработало.

Он по-прежнему позволяет вам вручную указывать арку, но если вы этого не сделаете, он установит только x86_64, а не оба.

В соответствии с el6 руководство, yum.conf (5):

          exactarch  Either  ‘1’  or ‘0’. Set to ‘1’ to make yum update only update the architectures of
          packages that you have installed. ie: with this enabled yum will not install an  i686  package
          to update an i386 package. Default is ‘1’.

...

          multilib_policy  Can  be set to ’all’ or ’best’. All means install all possible arches for any
          package you want to install. Therefore yum install foo will install foo.i386 and foo.x86_64 on
          x86_64, if it is available. Best means install the best arch for this platform, only.

Кстати, оба Multilib_policy = лучший и точныйарх = 1 кажется, какое-то время используется по умолчанию.

Используйте функцию исключения в yum.conf:

exclude=*.i386 *.i686

Он попытается установить версию i386, если у вас уже установлена ​​версия x86_64.

Обратите внимание, что если вы используете exclude в yum.conf, вы можете исключить пакеты, доступные только в i386 arch

Более безопасный способ - явно запрашивать арку во время установки:

yum install package.x86_64

-x, --exclude = package Исключить определенный пакет по имени или глобу из обновлений во всех репозиториях. Вариант конфигурации: исключить

--disableexcludes = [all | main | repoid] Отключить исключения, определенные в ваших файлах конфигурации. Принимает один из трех вариантов: all == disable all excludes main == disable excludes, определенные в [main] в yum.conf repoid == disable excludes, определенные для этого репо

выше от человека, который вы можете использовать, или вы можете установить yumex, который дает графический интерфейс, и вы можете выбрать обороты, которые вам нужно установить.

http://www.yum-extender.org/blog/

Что мне подходит, так это удаление всех пакетов ix86 с машины. Теперь он никогда не просит меня установить что-либо 32-битное.

Сначала настройте свой .rpmmacros следующим образом:

cat ~/.rpmmacros
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}

Затем запустите это (я предполагаю bash):

rpm -qa | egrep "i.86$"

Это даст вам список установленных на данный момент rpms не x86_64. Вы можете удалить их все с помощью этого:

rpm -e $(rpm -qa | egrep "i.x86$")

Теперь у вас есть чистая 64-битная система.

-Дэйв

Список i386

yum list installed | grep i386

И теперь его можно удалить или обновить до x86_64