Обновление Ubuntu 24.04.1 LTS: что делать с ppa-purge?

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

Я хочу обновиться с Ubuntu 22.04 LTS до 24.04 LTS. Однако, при выполнении sudo do-release-upgrade или sudo do-release-upgrade --allow-third-party, я всегда получаю следующую ошибку:

Не удалось вычислить обновление 

Произошла неразрешимая проблема при вычислении обновления. 

Вероятной причиной этого является: 
* Неофициальные пакеты программного обеспечения, не предоставляемые Ubuntu 
Пожалуйста, используйте инструмент 'ppa-purge' из пакета ppa-purge, 
чтобы удалить программное обеспечение из Launchpad PPA и попробуйте 
снова выполнить обновление. 

Что мне делать с ppa-purge? Я просто хочу обновиться и нахожу это чрезвычайно раздражающим, что это не работает сразу.

ll /etc/apt/sources.list.d выдает

deadsnakes-ubuntu-ppa-jammy.list
deadsnakes-ubuntu-ppa-jammy.list.distUpgrade
deadsnakes-ubuntu-ppa-jammy.list.save
docker.list
docker.list.distUpgrade
docker.list.save
google-chrome.list
google-chrome.list.distUpgrade
google-chrome.list.save
linux_clients_seafile_com_seadrive_deb_jammy.list
linux_clients_seafile_com_seadrive_deb_jammy.list.distUpgrade
linux_clients_seafile_com_seadrive_deb_jammy.list.save
linux_clients_seafile_com_seafile_deb_jammy.list
linux_clients_seafile_com_seafile_deb_jammy.list.distUpgrade
linux_clients_seafile_com_seafile_deb_jammy.list.save
mattermost_stable.list
mattermost_stable.list.distUpgrade
mattermost_stable.list.save
mono-official-stable.list
mono-official-stable.list.distUpgrade
mono-official-stable.list.save
obsproject-ubuntu-obs-studio-jammy.list
obsproject-ubuntu-obs-studio-jammy.list.distUpgrade
obsproject-ubuntu-obs-studio-jammy.list.save
teams.list
teams.list.distUpgrade
teams.list.save
teleport.list
teleport.list.distUpgrade
teleport.list.save
zotero.list
zotero.list.distUpgrade
zotero.list.save

Как удалить их все? Он всегда говорит “Не удалось найти список пакетов для PPA”:

X:~$ sudo ppa-purge ppa:deadsnakes-ubuntu-ppa-jammy
Обновление списков пакетов
PPA, который должен быть удален: ppa:deadsnakes-ubuntu-ppa-jammy ppa:deadsnakes-ubuntu-ppa-jammy
Предупреждение:  Не удалось найти список пакетов для PPA: ppa:deadsnakes-ubuntu-ppa-jammy ppa:deadsnakes-ubuntu-ppa-jammy
X:~$ sudo ppa-purge ppa:deadsnakes
Обновление списков пакетов
PPA, который должен быть удален: ppa:deadsnakes ppa:deadsnakes
Предупреждение:  Не удалось найти список пакетов для PPA: ppa:deadsnakes ppa:deadsnakes
X:~$ sudo ppa-purge ppa:deadsnakes/ubuntu
Обновление списков пакетов
PPA, который должен быть удален: deadsnakes ubuntu
Предупреждение:  Не удалось найти список пакетов для PPA: deadsnakes ubuntu
X:~$ sudo ppa-purge ppa:deadsnakes/ubuntu/ppa
Обновление списков пакетов
PPA, который должен быть удален: deadsnakes/ubuntu ppa
Предупреждение:  Не удалось найти список пакетов для PPA: deadsnakes/ubuntu ppa

Звездочка не помогает, к сожалению:

$ sudo ppa-purge ppa:*
[sudo] пароль для X: 
Обновление списков пакетов
PPA, который должен быть удален: ppa:* ppa:*
Предупреждение:  Не удалось найти список пакетов для PPA: ppa:* ppa:*

В моем случае, хотя я получил то же предупреждение, что и вы, мне вообще не нужно было использовать команду ppa-purge. (Но у меня другие пакеты, чем у вас. Я приходил с Ubuntu Studio 23.10 с кучей специальных аудиопакетов)

Далее в предупреждении было указано просмотреть больше деталей в /var/log/dist-upgrade/{date}/, и в частности apt.log и main.log

Я запустил tail -n 300 main.log и смог увидеть некоторые ошибки, где не удавалось найти замещающие пакеты для обновления, например:

2024-08-26 13:20:37,221 DEBUG Поиск замены для linux-headers-6.5.0-35-lowlatency
2024-08-26 13:20:37,221 DEBUG Не удалось найти замену для linux-headers-6.5.0-35-lowlatency
2024-08-26 13:20:37,221 DEBUG Поиск замены для linux-headers-6.5.0-41-lowlatency
2024-08-26 13:20:37,221 DEBUG Не удалось найти замену для linux-headers-6.5.0-41-lowlatency
2024-08-26 13:20:37,222 DEBUG Поиск замены для linux-headers-6.5.0-42-lowlatency
2024-08-26 13:20:37,222 DEBUG Не удалось найти замену для linux-headers-6.5.0-42-lowlatency
2024-08-26 13:20:37,222 DEBUG Поиск замены для linux-image-6.5.0-35-lowlatency
2024-08-26 13:20:37,222 DEBUG Не удалось найти замену для linux-image-6.5.0-35-lowlatency
2024-08-26 13:20:37,222 DEBUG Поиск замены для linux-image-6.5.0-41-lowlatency
2024-08-26 13:20:37,222 DEBUG Не удалось найти замену для linux-image-6.5.0-41-lowlatency
2024-08-26 13:20:37,222 DEBUG Поиск замены для linux-image-6.5.0-42-lowlatency
2024-08-26 13:20:37,222 DEBUG Не удалось найти замену для linux-image-6.5.0-42-lowlatency
2024-08-26 13:20:37,222 DEBUG Поиск замены для linux-lowlatency-headers-6.5.0-35
2024-08-26 13:20:37,222 DEBUG Не удалось найти замену для linux-lowlatency-headers-6.5.0-35
2024-08-26 13:20:37,263 DEBUG Поиск замены для wine-staging
2024-08-26 13:20:37,263 DEBUG Не удалось найти замену для wine-staging
2024-08-26 13:20:37,263 DEBUG Поиск замены для wine-staging-amd64
2024-08-26 13:20:37,263 DEBUG Не удалось найти замену для wine-staging-amd64
2024-08-26 13:20:37,263 DEBUG Поиск замены для wine-staging-i386:i386
2024-08-26 13:20:37,263 DEBUG Не удалось найти замену для wine-staging-i386:i386
2024-08-26 13:20:37,263 DEBUG Поиск замены для winehq-staging
2024-08-26 13:20:37,263 DEBUG Не удалось найти замену для winehq-staging

Таким образом, я удалил основные пакеты, которые, по-видимому, вызывали проблемы:

sudo apt remove linux-headers-lowlatency
sudo apt remove wine-staging

*Примечание: пакеты, которые нужно удалить, будут, конечно, отличаться от моих, так что не запускайте эти команды!

И затем я попробовал снова выполнить обновление, и на этот раз оно сработало (честно говоря, я даже не удалил все, на что я видел ошибки в файле main.log, только основные пакеты. Например, я видел некоторые ошибки на perl, python и ruby-пакетах, но не удалял их вручную. Однако я запустил sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean, чтобы убедиться, что все обновлено и все лишние зависимости были удалены перед повторной попыткой обновления системы).

Удачи – надеюсь, это поможет!

tl;dr смотрите связанную страницу launchpad для ppa, чтобы узнать его реальное имя.

Я не думаю, что вы наткнулись на настоящее имя для этого в своих попытках. Например, команда для добавления его – это sudo add-apt-repository ppa:deadsnakes/ppa, как указано на его странице launchpad, поэтому, чтобы удалить его, вам следует ввести

sudo ppa-purge ppa:deadsnakes/ppa

Я добавил этот ppa в виртуальную машину с jammy, что подтвердило, что добавляемый список источников называется deadsnakes-ubuntu-ppa-jammy.list. Это совпадает с показанным в выводе в вашем вопросе.

И я подтвердил, что ppa-purge успешно удаляет его.

$ sudo ppa-purge ppa:deadsnakes/ppa
Обновление списков пакетов
PPA, который должен быть удален: deadsnakes ppa
Список пакетов для возврата создан:

Отключение deadsnakes PPA из 
/etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-jammy.list
Обновление списков пакетов
Чтение списков пакетов... Готово
Построение дерева зависимостей... Готово
Чтение информации о состоянии... Готово
обновлено: 0, новых установлено: 0, удалено: 0 и не обновлено: 3.
PPA успешно удален

Я оставлю вам задачу разобраться с истинными именами других ppa, которые вам нужно удалить; основная мысль здесь заключается в том, что имя добавляемого списка не обязательно является именем ppa, поэтому вам придется обратиться к их страницам launchpad (или к обширным записям, которые вы сделали, когда добавляли все эти ppa).

.

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

При обновлении операционной системы с Ubuntu 22.04 LTS до Ubuntu 24.04 LTS пользователи могут столкнуться с проблемой из-за наличия установленных PPA (Personal Package Archives). Эти архивы могут вызвать ошибки, такие как "Could not calculate the upgrade", что затрудняет процесс обновления. Решение данной проблемы связано с правильным удалением PPA, и для этого используется утилита ppa-purge. Рассмотрим, что представляет собой ppa-purge, как его правильно использовать и что делать в случае возникновения ошибок.

Теория

ppa-purge — это инструмент, который позволяет вернуть установленные из PPA пакеты к их версиям из официальных репозиториев Ubuntu или полностью удалить их, если официальные аналоги отсутствуют. Это достигается за счёт деактивации репозитория и понижения версии пакетов, когда это возможно. Но важно отметить, что необходимо знать точное имя PPA для успешного выполнения команды, поскольку имя файла .list, добавленного в систему, может отличаться от имени PPA.

Пример использования

Простая команда для удаления PPA выглядит следующим образом:

sudo ppa-purge ppa:имя_пользователя/ppa

Если вы не уверены в точном названии PPA, посетите соответствующую страницу Launchpad (например, deadsnakes PPA) и найдите команду для добавления PPA, чтобы удостовериться в его правильном названии.

Применение на практике

Шаг 1: Диагностика проблемы

Перед тем как приступить к удалению PPA, следует убедиться, что именно они вызывают ошибку. Вы можете проверить логи, чтобы найти подробности о проблеме:

  1. Откройте терминал.
  2. Выполните команду для просмотра логов:

    tail -n 300 /var/log/dist-upgrade/main.log

Проанализируйте ошибки, присутствующие в логе. Это поможет определить, какие пакеты вызывают проблемы.

Шаг 2: Удаление проблемных PPA

Для удаления PPA воспользуйтесь ppa-purge. Например, для PPA deadsnakes выполните:

sudo ppa-purge ppa:deadsnakes/ppa

Если вы допустили ошибку при указании имени PPA, утилита сообщит об этом предупреждением. Найдите точное имя, посетив страницу PPA на Launchpad.

Шаг 3: Проверка и завершение

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

sudo apt update && sudo apt upgrade && sudo apt autoremove && sudo apt autoclean

Эти команды помогут убедиться, что система готова к обновлению.

Шаг 4: Повторная попытка обновления

Теперь снова запустите процесс обновления:

sudo do-release-upgrade

Если все этапы выполнены корректно, обновление должно пройти успешно.

Заключение

Использование утилиты ppa-purge на первый взгляд может показаться сложным процессом из-за множества наименований и файлов. Ключом к успеху является тщательная диагностика и поиск точных названий PPA. Уделяя внимание деталям, можно эффективно решить проблему и безопасно обновить операционную систему до новой версии Ubuntu.

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

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