debootstrap не разрешает зависимости

Команда debootstrap для внешней архитектуры arm64 не может разрешить зависимости, которые обычно существуют в amd64. Я запускаю следующую команду:

debootstrap --arch arm64 --foreign --include=libasound2,libaudit1,libbsd0,libc6,libcairo2,libdatrie1,libdrm2,libegl1,libevdev2,libexpat1,libffi6,libfontconfig1,libgbm1,libgcc1,libgles2,libglib2.0-0,libglvnd0,libgstreamer-plugins-bad1.0-0,libgstreamer-plugins-base1.0-0,libgstreamer1.0-0,libharfbuzz0b,libinput10,libjpeg-turbo8,libpam0g,libpango-1.0-0,libpangocairo-1.0-0,libpangoft2-1.0-0,libpcre3,libpixman-1-0,libpng16-16,libstdc++6,libudev1,libunwind8,libwayland-client0,libwayland-cursor0,libwayland-egl1,libwayland-server0,libx11-6,libxau6,libxcb1,libxdmcp6,libxext6,libxkbcommon0,libxrender1,python3,zlib1g,kmod,htop --keyring=/usr/share/keyrings/ubuntu-archive-keyring.gpg focal build/rootfs

Я получаю сообщение об ошибке: E: Не удалось найти эти файлы: libgcc1 libgstreamer-plugins-bad1.0-0 libffi6

Когда я запускаю apt-get install --simulate libgcc1: arm64 пакет действительно не найден. Существует версия amd64 .

Эти пакеты требуются для пакетов поддержки NVIDIA LT4. Кто-нибудь знает, как я могу правильно предоставить debootstrap со всеми включенными зависимостями?

Я собираю стороннюю файловую систему на Ubuntu 20.04 amd64. Внешняя система - Ubuntu 20.04 arm64.

docker run -it ubuntu:20.04 cat /etc/apt/sources.list | grep '^deb '
deb http://archive.ubuntu.com/ubuntu/ focal main restricted
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
deb http://archive.ubuntu.com/ubuntu/ focal universe
deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
deb http://archive.ubuntu.com/ubuntu/ focal multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted
deb http://security.ubuntu.com/ubuntu/ focal-security universe
deb http://security.ubuntu.com/ubuntu/ focal-security multiverse

Пакет существует для arm64 , но не может быть найден через apt install . https://packages.ubuntu.com/focal/libgcc1

1
задан 17 July 2020 в 16:42

2 ответа

По умолчанию базовый образ ubuntu имеет только следующую настройку хранилища:

sudo chroot "${ROOTFS}" qemu-aarch64-static /bin/bash -c "cat /etc/apt/sources.list | grep '^deb '"
deb http://ports.ubuntu.com/ubuntu-ports focal main

При добавлении хранилища юниверса в /etc/apt/sources.list пакет доступен .

sudo chroot "${ROOTFS_DIR}" qemu-aarch64-static /bin/bash -c "echo 'deb http://ports.ubuntu.com/ubuntu-ports focal universe' >> /etc/apt/sources.list"

sudo chroot "${ROOTFS_DIR}" qemu-aarch64-static /bin/bash -c "apt update"

sudo chroot "${ROOTFS_DIR}" qemu-aarch64-static /bin/bash -c "apt install --simulate libgcc1"
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
  libgcc1
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Inst libgcc1 (1:10-20200411-0ubuntu1 Ubuntu:20.04/focal [arm64])
Conf libgcc1 (1:10-20200411-0ubuntu1 Ubuntu:20.04/focal [arm64])

0
ответ дан 30 July 2020 в 22:06

Я предлагаю вам обновить ваш репозиторий и исправить неудовлетворенные зависимости. Откройте терминал и запустите:

nano /etc/apt/sources.list

Замените старый репозиторий новым, сохраните файл и запустите:

sudo apt-get update
sudo apt-get install -f 
sudo apt autoremove
sudo apt clean

Уделите больше внимания вашему репозиторию.

0
ответ дан 30 July 2020 в 22:06

Другие вопросы по тегам:

Похожие вопросы: