“Сбросить” Ubuntu 24.04 из-за поврежденных пакетов?

Вопрос или проблема

Вчера вечером я сделал apt dist-upgrade, чтобы обновить систему с версии 22.04 до 24.04, но явно что-то пошло не так, потому что после установки я получил ряд ошибок, связанных с Python, от apt. Я заметил это, потому что он не позволял мне установить vim. Сначала ошибки выглядели так:

 libpython3.12t64 : Зависит: libpython3.12-stdlib (= 3.12.3-1ubuntu0.2), но будет установлена версия 3.12.7-1+jammy1

…но после того как я посмотрел вокруг и попробовал разные вещи, похоже, что я только ухудшил ситуацию; насколько я понимаю, все, что связано с Python, испорчено. Я уверен, что это связано с разными файлами в /etc/apt/sources.list.d. В настоящее время, когда я пытаюсь выполнить apt --fix-broken install, я получаю такую ошибку:

Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
Исправление зависимостей... провалено.
Следующие пакеты имеют неудовлетворенные зависимости:
 network-manager : Зависит: netplan.io (>= 0.106~), но он не установлен
 python3 : Предварительная зависимость: python3-minimal (= 3.12.3-0ubuntu2), но он не устанавливается
           Зависит: python3.12 (>= 3.12.3-0~), но он не устанавливается
 rhythmbox-plugins : Зависит: python3.12, но он не устанавливается
 ubuntu-release-upgrader-gtk : Зависит: update-manager, но он не установлен
 ubuntu-session : Зависит: gnome-shell (>= 3.37.91), но он не установлен
E: Ошибка, pkgProblemResolver::Resolve создал разрывы, возможно, это вызвано удерживаемыми пакетами.
E: Невозможно исправить зависимости

К сожалению, поиск ответов здесь и в других местах дает запутанное множество информации порой с десятилетней давности (!).

Что мне сейчас нужно, так это предложение о том, как «объявить о банкротстве» и заставить переустановить основы; я могу восстановить любое дополнительное программное обеспечение позже, но трудно получить описание того, что ДОЛЖНО быть в /etc/apt/sources.list.d, чтобы это случилось и при этом не было опасно устаревшим.

Есть предложения? Я не решаюсь пробовать дальше, опасаясь сделать ситуацию ещё хуже (что я уже сделал)

.

Ответ или решение

Восстановление Ubuntu 24.04 из-за повреждённых пакетов: пошаговое руководство

Если вы столкнулись с проблемами после обновления с Ubuntu 22.04 до 24.04, особенно с ошибками, связанными с зависимостями Python, не беспокойтесь, это достаточно распространённая ситуация. Давайте рассмотрим эффективный способ «обанкротиться» и переустановить основные пакеты, сохранив при этом возможность восстановления дополнительных программ позже.

Шаг 1: Создание резервной копии данных

Прежде чем начинать какие-либо действия, создайте резервную копию ваших данных. Это важно, чтобы избежать потери информации в случае непредвиденных обстоятельств. Можно использовать rsync или просто копировать файлы на внешний носитель.

Шаг 2: Проверка источников пакетов

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

# Основные репозитории
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://archive.ubuntu.com/ubuntu/ focal-security main restricted
deb http://archive.ubuntu.com/ubuntu/ focal-security universe
deb http://archive.ubuntu.com/ubuntu/ focal-security multiverse

# Репозиторий для обновлений
deb http://archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse

Шаг 3: Обновление списка пакетов

После редактирования источников пакетов необходимо обновить список пакетов:

sudo apt update

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

sudo apt clean

Шаг 4: Исправление повреждённых зависимостей

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

sudo apt --fix-broken install

Шаг 5: Удаление и переустановка проблемных пакетов

Если ошибка всё ещё возникает, вам может потребоваться принудительно удалить некоторые из проблемных пакетов:

sudo apt remove --purge <имя_пакета>

Замените <имя_пакета> на те, которые вызывают ошибки (например, network-manager, python3).

Затем попробуйте снова установить их:

sudo apt install <имя_пакета>

Шаг 6: Полная переустановка системы

Если все вышеперечисленные шаги не работают, можно рассмотреть возможность переустановки системных компонентов без полного форматирования:

  1. Перезагрузите в режим восстановления (recovery mode).
  2. Выберите пункт «Drop to root shell prompt».
  3. Выполните следующие команды:
mount -o remount,rw /
apt update
apt install --reinstall ubuntu-desktop
apt install --reinstall ubuntu-release-upgrader-core
apt install --reinstall python3

Шаг 7: Завершение

После выполнения всех вышеприведённых шагов перезагрузите систему:

sudo reboot

Заключение

Следуя этим шагам, вы сможете восстановить вашу систему Ubuntu 24.04 после проблем с обновлением. Рекомендуется регулярно делать резервные копии и обращать внимание на ошибки, возникающие при установке пакетов. Если проблема не устраняется, возможно, вам потребуется обратиться за помощью на форумы или в сообщества, посвящённые Ubuntu и Linux.

Оцените материал
Добавить комментарий

Капча загружается...