Я пытаюсь использовать хранилище файлов для обновления linux / ubuntu на неподключенном компьютере. Архитектура для этой машины (uname -a):
x86_64 GNU/Linux
Результаты dpkg --printarchitecture
:
amd64
Это машина Trusty Tahr amd64, об этом, в частности, говорится в файле aptitude sources.list. Кроме того, в «Об этом компьютере» в Ubuntu говорится, что машина является 64-битной. Итак, я установил пакеты amd64 на машину. Тем не менее, когда я пытаюсь сделать apt-get update
, я получаю такие ошибки, как:
W: Failed to fetch file:/var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu/dists/trusty/main/binary-i386/Packages File not found
Другими словами, несмотря на то, что это 64-битная машина, apt необъяснимым образом пытается прочитать пакеты i386. Почему это происходит, и как я могу заставить его использовать 64-битные пакеты?
Обратите внимание, что в файле sources.list нет ничего, что определяло бы i386.
Единственная незакомментированная строка в файле sources.list:
deb file:///var/spool/apt-mirror-trusty/mirror/archive.ubuntu.com/ubuntu trusty main restricted universe multiverse
источник
dpkg
по умолчанию настроен на прием amd64 и его 32-битный брат. Я говорю «возможно», потому что я не нашел никакой официальной документации с этой информацией. Просто мои 2 цента.Ответы:
В
amd64
установках Ubuntui386
по умолчанию включен в качестве дополнительной архитектуры.apt
& co. ожидайте, что репозитории предоставят все сконфигурированные архитектуры, что вызывает ошибку, которую вы видите.Поскольку в вашем зеркале есть только
amd64
пакеты, вы должны пометить его так:источник
dpkg --print-foreign-architectures
покажет любую архитектуру, для которой включена поддержка multiarch; У меня была та же проблема, и (вероятно, неудивительно) вышеприведенная команда сообщила:i386
[arch=amd64]
в каждуюdeb
строку не является хорошим решением. Это объясняет, как это сделать: superuser.com/a/714392/376867i386
с одним проблемным хранилищем - это излишне. Обратите внимание, что если у вас есть несколько репозиториев, вызывающих проблему, описанную в вопросе, это указывает на проблему с полем Архитектуры репозитория , а не с локальной конфигурацией.