Пропускается получение настроенного файла ‘main/binary-i386/Packages’, так как репозиторий ‘xxx’ не поддерживает архитектуру ‘i386’

Вопрос или проблема

Получаю сообщение об ошибке при выполнении:

sudo apt-get update

Получение:1 http://us.archive.ubuntu.com/ubuntu xenial InRelease [95.8 kB]
Игнорирование:2 http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 InRelease                                                                                                            
Игнорирование:3 http://dl.google.com/linux/chrome/deb stable InRelease                                                                                                                         
Получено:4 http://ppa.launchpad.net/canonical-x/vulkan/ubuntu xenial InRelease                                                                                                
Получено:5 http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 Release                                                                            
Получено:6 http://us.archive.ubuntu.com/ubuntu xenial-security InRelease                                                  
Игнорирование:7 http://dl.google.com/linux/talkplugin/deb stable InRelease                                                     
Получено:8 http://us.archive.ubuntu.com/ubuntu xenial-updates InRelease                                                   
Игнорирование:9 http://linux.dropbox.com/ubuntu wily InRelease                                           
Получено:10 http://ppa.launchpad.net/numix/ppa/ubuntu xenial InRelease                              
Получение:12 http://dl.google.com/linux/chrome/deb stable Release [782 B]      
Получено:13 http://dl.google.com/linux/talkplugin/deb stable Release                  
Игнорирование:14 https://apt.dockerproject.org/repo ubuntu-wily InRelease          
Получено:15 https://apt.dockerproject.org/repo ubuntu-wily Release            
Получение:16 http://dl.google.com/linux/chrome/deb stable Release.gpg [181 B]  
Получено:17 http://linux.dropbox.com/ubuntu wily Release                                  
Получение:20 http://dl.google.com/linux/chrome/deb stable/main amd64 Packages [1,191 B]
Получено 98.0 kB за 0s (118 kB/s)                                 
Чтение списков пакетов... Готово
N: Пропущено получение сконфигурированного файла 'main/binary-i386/Packages', так как репозиторий 'http://dl.google.com/linux/chrome/deb stable InRelease' не поддерживает архитектуру 'i386'

Это касается различных релизов ubuntu

Также наблюдается аналогичный сбой после включения Ubuntu pro на моем 22.04 … теперь показывает

sudo apt-get update
... 
Чтение списков пакетов... Готово
N: Пропущено получение сконфигурированного файла 'main/binary-i386/Packages', так как репозиторий 'https://esm.ubuntu.com/realtime/ubuntu jammy InRelease' не поддерживает архитектуру 'i386'

Я нашел проблемный репозиторий (любой для Google chrome в этом каталоге)

cd /etc/apt/sources.list.d
grep chrome * | grep -v amd64

или более общим образом

grep -r google  /etc/apt | grep -v amd64 

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

cat /etc/apt/sources.list.d/google-chrome-unstable.list

### Этот файл автоматически настроен ###
# Вы можете закомментировать эту запись, но другие изменения могут быть потеряны.
deb http://dl.google.com/linux/chrome/deb/ stable main

РЕШЕНИЕ: ограничить только 64 бита, добавив [arch=amd64]

deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

аналогичное решение для исправления ошибки при обновлении до Ubuntu pro

cat /etc/apt/sources.list.d/ubuntu-realtime-kernel.list  
#  оригинальный неправильный ... закомментируйте следующую строку
deb https://esm.ubuntu.com/realtime/ubuntu jammy main
#  исправлено добавлением [arch=amd64] к вышеуказанной строке
deb [arch=amd64] https://esm.ubuntu.com/realtime/ubuntu jammy main

ПРИМЕЧАНИЕ: Если вы пытаетесь применить это решение для другого пакета, у которого есть .list файл, содержащий строку, подобную этой:

deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main

Решение состоит в том, чтобы добавить флаг архитектуры внутри квадратных скобок, отделив его от других аргументов пробелом. Вот пример:

deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared jammy main

КОРЕННАЯ ПРИЧИНА: Google прекратил поддержку 32-битного Chrome на Linux, что вызвало ошибку при обновлении apt в 64-битных системах (с включенной многоархитектурой) … подробности здесь: http://www.omgubuntu.co.uk/2016/03/fix-failed-to-fetch-google-chrome-apt-error-ubuntu

Чтобы подтвердить, что вы используете 64-битную версию ubuntu с включенной многоархитектурой, выполните команду

dpkg --print-foreign-architectures

если вывод будет таким

i386

то вы добавили поддержку 32 бита, это покажет вашу родную архитектуру … выполните команду

dpkg --print-architecture 

если вы на родной 64, вы увидите такой вывод, поэтому выполните РЕШЕНИЕ, показанное выше

amd64

выполните ниже, чтобы показать пакеты, использующие 32 бита

dpkg --get-selections | grep 386 

Вот команда для удаления мультиархитектуры (только если у вас нет 32-битных приложений)

sudo dpkg --remove-architecture i386

(это решение для Ubuntu Bionic Beaver)
Во-первых, стыдно Google за то, что эта проблема длится так долго!!

Вот как это исправить:
Как уже упоминалось выше, редактирование файлов в /etc/apt/sources.list.d кажется, работает… но только временно. На следующий день проблема возвращается.

Вот почему:

Файл /etc/cron.daily/google-earth-pro выполняется ежедневно и перезаписывает то, что у вас в /etc/apt/sources.list.d/google-earth-pro.list.

Чтобы исправить это раз и навсегда, отредактируйте /etc/cron.daily/google-earth-pro.
Найдите эту строку:

REPOCONFIG="deb http://dl.google.com/linux/earth/deb/ stable main"

… и измените ее на:

REPOCONFIG="deb [arch=amd64] http://dl.google.com/linux/earth/deb/ stable main"

Обратите внимание, что приведенные выше ответы дают точные решения для формата ONE-LINE-STYLE .list; однако, подробный DEB822-STYLE FORMAT должен использовать полный вариант Architectures вместо сокращенного arch для ограничения пакетов репозитория до желаемой архитектуры.

Например:

# /etc/apt/sources.list.d/apache-arrow.sources

Типы: deb deb-src
URIs: https://apache.jfrog.io/artifactory/arrow/ubuntu/
Сьюты: focal
Компоненты: main
Подписано-От: /usr/share/keyrings/apache-arrow-apt-source.gpg
Архитектуры: amd64

Подробности по этому параметру и другим можно найти с помощью man sources.list

Изменение

deb http://dl.google.com/linux/chrome/deb/ stable main

на

deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

в каждом из

  • /etc/apt/sources.list.d/google-musicmanager.list
  • /etc/apt/sources.list.d/google-musicmanager.list.save
  • /etc/apt/sources.list.d/google-musicmanager.list.distUpgrade

выглядит как исправление проблемы для Google Music Manager для Play Music. Не уверен, вернет ли это изменения в какой-то момент, так как файлы автоматически настраиваются.

Хотя Google исправил эту проблему для Chrome, она все еще возникает, например, для Google Earth.

Добавление [arch=amd64] исправляет проблему, но его нужно добавлять снова и снова.

После того, как я сделал файл неизменяемым, как предложено в статье webupd8, и столкнулся с проблемами из-за этого, мое текущее решение состоит в том, чтобы добавить cronjob для автоматического применения исправления раз в час:

~$ sudo crontab -e

0 * * * * sed -i 's/^deb http/deb [arch=amd64] http/' /etc/apt/sources.list.d/google-earth.list

(При необходимости замените google-earth.list).

Хотя этот вопрос был отмечен как решенный, мне не удалось решить проблему с помощью любого из вышеуказанных ответов. Я использовал другой метод. Перейдите в ‘программное обеспечение и обновления’ > ubuntu software > загрузить с > выберите лучший сервер. Теперь подождите некоторое время, пока система не найдет его. После этого попробуйте свою команду снова. Это сработало для меня.

Я добавлю свои 2 цента. Извините, если у меня Debian 10, а не Ubuntu, но мой ответ в теме.

У меня была такая же проблема из-за репозитория mariadb. Он был добавлен в sources.list как

deb [arch=amd64,i386,ppc64el] http://ftp.nluug.nl/db/mariadb/repo/10.3/debian buster main

Я просто удалил i386 и ppc64el

deb [arch=amd64] http://ftp.nluug.nl/db/mariadb/repo/10.3/debian buster main

Даже если этот вопрос отмечен как решенный, для меня на Ubuntu 18.04 я изменил строку в /etc/apt/sources.list с deb http://dl.google.com/linux/chrome/deb/ stable main
на deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main.

Файл /etc/apt/sources.list.d/google-chrome-unstable.list не был найден.
Внесение тех же изменений в /etc/apt/sources.list.d/google-chrome.list вызвало предупреждения, говорящие о том, что целевой пакет настроен несколько раз. (в sources.list и google-chrome.list)

Измените мой список источников

deb https://download.mono-project.com/repo/ubuntu stable-focal main

на

deb [arch=amd64] https://download.mono-project.com/repo/ubuntu stable-focal main

Ответ или решение

Ошибка при обновлении системы: Пропуск получения настроенного файла ‘main/binary-i386/Packages’

Описание проблемы

Вы получили сообщение об ошибке при выполнении команды sudo apt-get update, заключающееся в следующем:

N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'http://dl.google.com/linux/chrome/deb stable InRelease' doesn't support architecture 'i386'.

Это сообщение указывает на то, что ваш установщик пакетов (APT) пытается получить информацию о пакетах для архитектуры i386 (32-бит), но указанный репозиторий (в данном случае Google Chrome) не поддерживает эту архитектуру.

Такая ситуация возникает, когда на системе включена поддержка нескольких архитектур, а некоторые репозитории не предоставляют пакеты для 32-битных систем. Эта проблема наблюдается в разных версиях Ubuntu и может возникнуть, если вы включили поддержку архитектуры i386, но используете только 64-битную версию системы (amd64).

Корень проблемы

Корень проблемы заключается в том, что Google больше не поддерживает 32-битную версию Chrome для Linux. Из-за этого, даже если у вас установлена 64-битная версия Ubuntu, APT все равно запрашивает информацию для архитектуры i386, что и вызывает данное сообщение об ошибке.

Решение проблемы

Основной шаг для устранения этой ошибки заключается в том, чтобы ограничить репозитории только архитектурой amd64. Для этого следует отредактировать файлы в каталоге /etc/apt/sources.list.d, а также основной файл /etc/apt/sources.list.

Шаги для решения:

  1. Проверьте наличие репозиториев:
    Используйте команды для поиска всех репозиториев, связанных с Google Chrome, которые могут содержать ошибку:

    cd /etc/apt/sources.list.d
    grep chrome * | grep -v amd64
  2. Редактируйте файлы репозиториев:
    Откройте файл, который вы найдете в предыдущем шаге, и измените строки с репозиториями для Chrome и других программ так, чтобы они содержали флаг [arch=amd64]. Например, измените следующую строку:

    deb http://dl.google.com/linux/chrome/deb/ stable main

    на:

    deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main
  3. Для других пакетов:
    Если у вас есть файлы в формате DEB822, например, для других репозиториев, используйте полное указание архитектуры:

    Architectures: amd64
  4. Проверьте настройки архитектуры:
    Убедитесь, что ваша система действительно работает в 64-битной архитектуре, выполнив следующую команду:

    dpkg --print-architecture

    Если вывод показывает amd64, то вы работаете на 64-битной системе.

  5. Удаление поддержки 32-битной архитектуры (опционально):
    Если вы уверены, что не используете 32-битные приложения, вы можете удалить поддержку i386:

    sudo dpkg --remove-architecture i386
  6. Обновите APT:
    После внесения исправлений выполните команду:

    sudo apt-get update

    Это позволит APT использовать обновленные настройки и устранить предыдущие ошибки.

Заключение

Проблема, с которой вы столкнулись, связана с отсутствием поддержки 32-битных пакетов в некоторых репозиториях. Редактирование конфигурационных файлов для указания на 64-битную архитектуру решает эту проблему. Следуя описанным выше шагам, вы сможете избежать подобных ошибок в будущем и обеспечить корректное управление пакетами в вашей системе Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...