После делать-релиз-обновление
чтобы переключиться с 16.04 на 18.04, что-то не удалось, и машина осталась в промежуточном состоянии с множеством проблем с неработающими зависимостями. Мое дерево пакетов в беспорядке, я в отчаянии... ;-)
Я пробовал много вещей (в том числе dpkg --configure -a
, случайным образом удаляя пакеты с dpkg --force зависит -P <имя-пакета>
, плюс другие вещи), но я немного застрял в настоящее время.
Итак, когда я пытаюсь:
$ sudo apt --fix-broken install
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Исправление зависимостей... Готово
Следующие пакеты были установлены автоматически и больше не требуются:
(здесь 20 строк)
Будут установлены следующие дополнительные пакеты:
... (здесь 5 строк)
Предлагаемые пакеты:
... более
Рекомендуемые пакеты:
... более
Следующие пакеты будут УДАЛЕНЫ:
... более
Будут установлены следующие НОВЫЕ пакеты:
... еще (10 строк)
28 обновлено, 6 установлено заново, 1 удалено и 327 не обновлено.
228 не полностью установлен или удален.
Нужно получить 0 Б/13,3 МБ архивов.
После этой операции будет использовано 2–771 КБ дополнительного дискового пространства.
Вы хотите продолжить? [Да/нет]
До сих пор я ничего не боюсь. Но теперь, входя Д
:
Извлечение шаблонов из пакетов: 100%
(Чтение базы данных... На данный момент установлено 977800 файлов и каталогов.)
Удаление ubuntu-advantage-tools (27.0.2~18.04.1)...
Traceback (последний последний вызов):
Файл "<string>", строка 2, в <module>
Файл "/usr/lib/python3/dist-packages/uaclient/apt.py", строка 9, в <module>
из uaclient импортировать gpg
Файл "/usr/lib/python3/dist-packages/uaclient/gpg.py", строка 3, в <module>
импортный шутил
ModuleNotFoundError: нет модуля с именем «shutil»
dpkg: ошибка обработки пакета ubuntu-advantage-tools (--remove):
установленный подпроцесс сценария предварительного удаления пакета ubuntu-advantage-tools вернул статус выхода ошибки 1
При обработке возникли ошибки:
ubuntu-преимущество-инструменты
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)
Так что это звучит как ошибка Python, насколько я понимаю, он не может найти шутил
.
Поэтому я вручную загрузил то, что, как мне казалось, было нужно:
https://packages.ubuntu.com/bionic/python-backports-shutil-get-terminal-size
и установлен вручную с помощью:
dpkg -i sudo dpkg -i python-backports-shutil-get-terminal-size_1.0.0-5_all.deb
Но делать apt --fix-сломанная установка
снова оказывается в той же точке.
У меня ограниченные знания о Python, поэтому я не могу быть уверен, что это реальная проблема, но любая помощь приветствуется. В противном случае следующим шагом, вероятно, будет переустановка с нуля, но я бы предпочел этого избежать.
В настоящее время я могу вручную устанавливать пакеты (скачать с https://packages.ubuntu.com/ тогда дпкг -я
) но это об этом, все остальное терпит неудачу.
Например, если я пытаюсь установить libpython3.6-stdlib
:
$ sudo apt-get установить libpython3.6-stdlib
Я получил:
libpython3.6-stdlib : зависит: libpython3.6-minimal (= 3.6.9-1~18.04ubuntu1.4), но необходимо установить 3.6.13-1+xenial2
что означает, что я еще есть пакеты от 16.04 (Xenial).
Как я могу вручную Удалить все пакеты 16.04?
Дополнительная информация (машина теперь загружается только с консоли):
$ питон --версия
=> Питон 3.6.13
$ lsb_release -a
не доступен
$ uname -a
говорит мне, что это ядро 4.15 (которое похоже на 18.04)