Пакеты apt не могут быть установлены... но зависимости есть

Ваши три факта достаточно точны, по крайней мере, чтобы понять, что нужно от библиотеки C (на высоком уровне ).

Я думаю, что неверно ваше понимание «явной поддержки musl». Существует три типа распределений с точки зрения musl:

  • дистрибутивы, которые создают все или большую часть своего программного обеспечения, используя musl в качестве библиотеки C, например Alpine; обычно это делается для уменьшения размера установки (, так как musl намного меньше библиотеки GNU C );
  • дистрибутивы, в которых нет встроенной -в поддержки musl;
  • дистрибутивы, которые предоставляют своим пользователям musl как услугу, но не полагаются на него.

Как и любой другой двоичный файл, вы можете использовать musl-зависимый двоичный файл -в любом дистрибутиве Linux, если вы также предоставляете необходимые библиотеки. Если он статически -скомпонован, то нет библиотек, которые можно было бы предоставить. К самим дистрибутивам особых требований нет.

Вам может быть интересно узнать о третьем типе выше. Предоставление musl в дистрибутиве, который не полагается на него, делается для того, чтобы упростить жизнь пользователям, которые хотят создавать двоичные файлы с использованием musl :эти дистрибутивы предоставляют библиотеки musl (статические и динамические, обычно ), файлы заголовков, и поддержка компилятора, необходимая для сборки двоичных файлов с использованием musl. Это означает, что пользователи могут начать создавать двоичные файлы с помощью musl без необходимости устанавливать musl и самостоятельно настраивать свой компилятор.

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

0
06.12.2020, 01:34
2 ответа

Сообщение от aptне обязательно означает, что пакеты не установлены. Это означает, что в результате установки, которую вы запрашиваете, пакеты не могут быть установлены. Это может произойти, если некоторые другие зависимости git-allхотят удалить уже установленные пакеты из-за конфликтов. Попробуйте добавить пакеты, на которые жалуется apt и которые вы хотите сохранить, в команду для установки git-all. Лучше сначала добавить -sдля имитации установки. Как показывает этот пост , разрешение зависимостей при установке git-allможет быть слишком сложным для автоматической обработки apt, поскольку он может выбрать неправильные альтернативные зависимости.

0
18.03.2021, 22:45

Попробуйте запустить sudo apt -f install. Это исправит все недостающие зависимости. Затем снова запустите sudo apt-get install git-all.

0
18.03.2021, 22:45

Теги

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