Почему я не могу установить пакет с APT

Если вы устанавливаете минимальную систему, она должна быть минимальной без дополнительных пакетов.

В противном случае вы можете попробовать собрать свой собственный Linux с нуля и понять, какие пакеты необходимы, а какие нет.

1
28.11.2018, 00:11
2 ответа

Проблема под рукой

Вы хотите установить libicu57из тестового репозитория . Однако, если вы используете x86или amd64, вы не можете установить этот пакет, так как он доступен только в тестировании дляarmelmipsи mipsel.

У вас есть в sources.listзапись для Debian Testing (Buster или 10 ).Вы сообщаете, что используете Debian 9 (Stretch или Stable ). Вы создали FrankenDebian . Вам необходимо правильно настроить sources.listдля удаления этой записи и отката или удаления всех пакетов, которые вы установили из тестового репозитория, чтобы исправить это.

После того, как вы это сделаете, если вам нужен вариант libicu57для ARM, вы можете изучить решения для кросс-компиляции или, что еще лучше, виртуализации.

Исправить sources.list

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

#stable.list
deb http://deb.debian.org/debian stable main contrib non-free 
deb-src http://deb.debian.org/debian stable main contrib non-free

#updates.list
deb http://deb.debian.org stable-updates main contrib non-free 
deb-src http://deb.debian.org stable-updates main contrib non-free 

#security.list 
deb http://deb.debian.org/debian-security stable/updates main contrib non-free
deb-src http://deb.debian.org/debian-security stable/updates main contrib non-free

Ваш sources.list должен выглядеть примерно так. Вы можете изменить точный http-адрес, чтобы он соответствовал желаемому зеркалу. Если вам абсолютно необходимо иметь репозиторий для тестирования, добавьте запись, как описано выше, и используйте настройки apt , чтобы поддерживать определенный уровень здравомыслия. Закрепление Apt -следует использовать с осторожностью, так как это может привести к созданию FrankenDebian.

Установить программное обеспечение

Теперь осталось только установить ваш пакет, что можно сделать с помощью этой команды:

 apt-get install libicu57

или

apt-get install -t stable libicu57 **or** apt-get install libicu57/stable

Вы также можете установить нужный пакет из исходного кода или загрузить его и его зависимости с сайта пакетов Debian и установить их с помощьюdpkg -i [packageName].deb

Это должно установить libicu57. Пожалуйста, прокомментируйте, если есть другая ошибка, и мы будем искать решения. В следующей части будет рассказано, если вам абсолютно необходимы версии программного обеспечения ARM или MIPS, которые вы можете изучить для кросс-компиляции -или создания виртуальной среды с соответствующим набором инструкций для безопасного использования этой версии библиотеки.

Вот запись Debian Wiki о Multiarch и вот Wiki для перекрестной -компиляции .Вы можете выполнить следующие шаги, чтобы внести соответствующие изменения в конфигурацию dpkgи не пересекать компиляцию -.

Однако у вас не может быть установлено несколько версий одного и того же программного обеспечения!

Таким образом, если для версии ARM требуются зависимости и библиотеки, версии которых у вас уже есть в x86или amd64, вы не можете этого сделать. В качестве альтернативы можно создать виртуальную машину Debian для ARM с помощью выбранного вами решения виртуализации, которое использует правильный набор инструкций.

KVM — хороший выбор, но вы можете использовать любое решение, наиболее подходящее для вашего варианта использования.

Заключение

Пожалуйста, прочтите это полностью . На самом деле, пожалуйста, убедитесь, что вы внимательно прочитали все ссылки, которые я предоставил, прежде чем запускать какие-либо команды. Если у вас есть какие-либо вопросы или опасения по поводу этого поста, не стесняйтесь спрашивать меня. Если в этом ответе есть какие-либо исправления или неправильные представления, пожалуйста, сообщите мне. Я могу обновить пост по мере необходимости.

Удачи!

1
28.01.2020, 00:23

Если проблема связана с некоторыми определенными репозиториями, попробуйте проверить правильную конфигурацию в :/etc/apt/preferences.d/

Он может содержать закрепляющие файлы, которые не позволяют обновлять эти конкретные пакеты.

это может иметь место в образах докеров, когда изменения в версии пакета могут привести к торможению...

Надеюсь, это поможет.

0
05.08.2020, 16:25

Теги

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