Обновление Elementary OS 5 Hera до Elementary OS 6 Odin без переустановки

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Elementary OS 6 Odin
Elementary OS 6 Odin

Вступление

Привет, Хабр! 10.08.2021 вышло крупное обновление операционной системы Elementary OS - Elementary OS 6.0 Odin. Так как я около двух лет пользуюсь Elementary OS и имею уже настроенную под себя ОС, я задался логичным вопросом - Как обновить Elementary OS без переустановки?

Все мои изыскания в Google не привели меня к искомой информации, сами разработчики Elementary OS рекомендуют переустановку ОС как способ перехода на новую версию. Пришлось разобраться в вопросе и найти способ решения своей проблемы, чем и делюсь с вами.

Для тех кто не знаком с данной ОС, можно ознакомиться здесь и да, добро пожаловать в сообщество Elementary OS :)

Предупреждение

Разработчики Elementary OS не поддерживают данный способ обновления и в случае отказа системы техническая поддержка не станет вам помогать.
Здесь описаны мои личные изыскания и личный опыт который помог мне без боли потери данных\программ\настроек и лишних действий обновиться до свежей версии Elementary OS 6 Odin на двух машинах:

  • Ноутбук Jumper Ezbook X4, Elementary OS 5.1.7 Hera.

  • Виртуальная машина в VMWare, Elementary OS 5.1.7 Hera.

Для использования этой статьи требуются минимальные знания UNIX-подобных систем. Рекомендую перед началом сделать резервную копию всех важных данных на внешний носитель.

Действуйте на свой страх и риск.


Подготовка Elementary OS 5 Hera к обновлению

Перед началом обновления ОС нам необходимо предпринять ряд действий для обновления всего окружения текущей версии ОС до самых свежих версий. Весь процесс подготовки и обновления будет происходить в терминальном режиме с правами суперпользователя:

  • Переходим в терминальный режим сочетанием клавиш Ctrl+Alt+F1.

  • Авторизуемся под своим пользователем.

  • Переходим в режим суперпользователя, вводим пароль:
    $ sudo su

Первым делом отключаем графическое окружение Pantheon и дисплейный менеджер LightDM:
# systemctl stop lightdm
ВНИМАНИЕ: Если обновление ОС производится после авторизации и полной её загрузки, во избежание проблем с обновлением необходимо остановить все процессы запущенные пользователем командой ниже. Если пользователей в системе больше одного, следующую команду необходимо выполнить для всех пользователей входивших в систему в текущем сеансе. Если вход не осуществлялся - этот шаг можно пропустить.
# pkill -u gutleibmann

Теперь нам необходимо обновить все установленные пакеты до самых свежих версий в текущей версии ОС. Для этого необходимо выполнить по порядку следующие команды:
# apt-get update
# apt-get upgrade -y
# apt-get dist-upgrade -y

Следующим шагом проверяем ОС на предмет установленных пакетов имеющих проблемы:
# dpkg --audit
ПРИМЕЧАНИЕ: В случае отсутствия проблем вывод команды будет пуст. Если проблемы всё таки обнаружены - необходимо прочитать вывод команды и решить проблемы перед продолжением.

Дальше мы проверяем ОС на предмет наличия отложенных пакетов:
# apt-mark showhold
ПРИМЕЧАНИЕ: В случае отсутствия подобных пакетов вывод команды будет пуст. В случае наличия подобных пакетов они могут нарушить работу приложений после обновления ОС, поэтому необходимо их выявить и принять решение что с ними делать - удалять или обновлять принудительно. Проверить какие именно пакеты отложены можно командой ниже:
# dpkg --get-selections | grep -i hold

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


Обновление Elementary OS 5 Hera до Elementary OS 6 Odin

Так как в качестве основы Elementary OS 6 Odin используется дистрибутив Ubuntu 20.04 то нам потребуется изменить ветки программного обеспечения и исходных кодов использовавшихся в Elementary OS 5 Hera основанного на Ubuntu 18.04 на новые.

Первым делом изменяем ветки репозиториев:
# nano /etc/apt/sources.list
Заменяем все слова bionic на focal.

Далее изменяем ветки официальных исходных кодов Elementary OS:
# nano /etc/apt/sources.list.d/elementary.list
Заменяем все слова bionic на focal.
# nano /etc/apt/sources.list.d/patches.list
Заменяем все слова bionic на focal.

Теперь получаем списки пакетов из новых веток:
# apt-get update

Получаем списки пакетов из новых веток:
# apt-get update

ВНИМАНИЕ: Перед продолжением настоятельно рекомендую убедиться что все предыдущие шаги выполнены правильно, для этого необходимо запустить симуляцию обновления, после этого пункта пути назад уже не будет.
# apt-get --simulate upgrade
Если выполнение этой команды завершилось без ошибки в конце, можно продолжать.

Приступаем к обновлению всего окружения ОС Elementary OS 5 Hera до Elementary OS 6 Odin:
# apt-get upgrade -y
# apt-get dist-upgrade -y

  • В процессе обновления появится окно настройки "keyboard-configuration", где будет предложено выбрать предпочтительный способ переключения раскладки клавиатуры.

  • После этого в процессе обновления появится окно "libpam0g:..." с запросом на перезагрузку без предупреждения служб при обновлении пакетов, соглашаемся.

ПРИМЕЧАНИЕ: Иногда могут возникать проблемы с пакетом "io.elementary.wingspanel", если такая проблема возникла, выполни следующую команду:
# apt-get --fix-broken install

Последнее что нам остаётся сделать - Удалить оставшиеся пакеты от прошлой версии Elementary OS:
# apt-get autoremove

Перезагружаем машину и наслаждаемся результатом проделанной работы. Ниже можно увидеть скриншоты ДО и ПОСЛЕ обновления моей виртуальной машины описанным способом.

ДО
ДО
ПОСЛЕ
ПОСЛЕ

P.S.: Если остались какие-то вопросы или сложности в процессе обновления - оставляйте комментарии, постараюсь ответить и помочь.

Источник: https://habr.com/ru/post/582854/


Интересные статьи

Интересные статьи

Недавно команда языка Dart опубликовала важный анонс про обновление роадмапа AngularDart. Мы решили перевести эту новость на русский язык и добавить свой комментарий о том, что это со...
Один из ключевых сценариев работы в CRM это общение с клиентом в удобном для него канале. По почте, по телефону, по SMS или в мессенджере. Особенно выделяется WhatsApp — интеграцию с ...
Как-то у нас исторически сложилось, что Менеджеры сидят в Битрикс КП, а Разработчики в Jira. Менеджеры привыкли ставить и решать задачи через КП, Разработчики — через Джиру.
Этот пост будет из серии, об инструментах безопасности, которые доступны в Битриксе сразу «из коробки». Перечислю их все, скажу какой инструмент в какой редакции Битрикса доступен, кратко и не очень р...
Автокэширование в 1с-Битрикс — хорошо развитая и довольно сложная система, позволяющая в разы уменьшить число обращений к базе данных и ускорить выполнение страниц.