Ubuntu20.04 + WLS1, APT не работает после понижения версии libc

Я не думаю, что вы можете сделать это с nsswitch.conf. В этом файле указываются источники данных, используемые для каждой категории. Он не предназначен для «влияния» на работу каждого источника (в вашем случае, используйте другой DNS-сервер, если первый ответ вас не устраивает ).

Вы можете попробовать с помощью [STATUS=ACTION]изменить поведение в соответствии с результатом, полученным из предыдущего источника данных. Но это не то, что вам нужно, потому что вы не хотите менять источник данных (dns ).

Вы сами это сказали :если DNSSERVERIP1 не знает ответа (NXDOMAIN ), это означает, что сервер имеет право ответить на этот вопрос. Таким образом, ответ окончательный (относительно спецификации DNS ), и нет смысла запрашивать другой сервер. Опять же, это по определению, и вы не можете его переопределить.

Единственный способ заставить это работать — убедиться, что ваши настройки DNS непротиворечивы. :Если DNSSERVERIP1 и DNSSERVERIP2 должны быть клонами, сделайте это. Если у DNSSERVERIP2 есть ответ, он также должен быть у DNSSERVERIP1.

0
04.09.2020, 05:58
1 ответ

Во-первых, что ты здесь делал?:

wget "https://launchpad.net/~rafaeldtinoco/+archive/ubuntu/lp1871129/+build/19152555/+files/libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb"
sudo dpkg -i libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb

человек, создавший это .deb, мог полностью скомпрометировать ваш компьютер. Выполнение случайных инструкций может быть проблематичным.

Если вы должны были установить из этого репозитория, вы должны были добавить в свои источники программного обеспечения

deb http://ppa.launchpad.net/rafaeldtinoco/lp1871129/ubuntu focal main 

таким образом, он мог бы получить зависимости (или отказаться от них раньше ).

Теперь произошло следующее:

  • У вас был установлен glibc версии 2.31 -0ubuntu9
  • С помощью этих команд вы установили версию 2.31 -0ubuntu8+lp1871129 (версию 2.31 -0ubuntu8, к которой reafaeldtinoco добавил патч ). Вы понизили до предыдущей версии glibc
  • Пакет libc используется практически для каждой программы в вашей системе
  • apt --fix-broken installнаходит одно решение :установить обратно 2.31 -0ubuntu9. Однако,этап процесса установки после -завершается сбоем, поскольку он использует sleep, который теперь снова не работает.

В качестве альтернативы вы можете понизить все до версии 2.31 -0ubuntu8, но у вас может быть большое количество пакетов, которые можно вручную принудительно понизить. Другим решением было бы создать исправленную версию 2.31 -0ubuntu9, но вам, вероятно, будет неудобно это делать.

Прямо сейчас у вас установлена ​​2.31 -0ubuntu8, но она не настроена.

Возможно, можно принудительно перейти на версию rafaeldtinoco libc6 и сохранить ее, выполнив:

sudo add-apt-repository ppa:rafaeldtinoco/lp1871129 # Install rafaeldtinoco/lp1871129 repo
sudo apt-get update
sudo apt-get install libc6=2.31-0ubuntu8+lp1871129~1 # Downgrade to exactly this version
sudo apt-mark hold libc6 # Do not upgrade libc6
2
18.03.2021, 23:07

Теги

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