Несколько дней назад состоялся релиз Fedora 42 с DNF5 и GNOME 48. Из самого интересного, в GNOME появилась возможность посмотреть, сколько времени вы провели за компьютером в течение недели, а уведомления от приложений теперь группируются по названию программы.
В этой статье я расскажу как обновить Fedora 41 до 42, а также на что стоит обратить внимание перед обновлением. Я обновился вчера и в целом система работает хорошо. Но поскольку релиз состоялся совсем недавно, не все расширения GNOME обновлены до версии 48, а также на момент написания статьи компания Moby еще не выпустила репозиторий Docker для новой версии.
Содержание статьи
Подготовка к обновлению Fedora
Перед обновлением необходимо выполнить несколько действий. Важно сделать резервную копию нужных файлов на другой диск. Поскольку существует риск, что что-то может пойти не так, и после обновления система может не загрузиться, тогда придется переустанавливать её заново. Также нужно проверить, что расширения, которые вы используете, поддерживаются в новой версии, и обновить все пакеты в системе до последней версии.
1. Проверка расширений
Проверить версии расширений можно с помощью программы Extension Manager. Если она еще не установлена, вы можете установить её из репозитория Flathub или в Software Center. После этого запустите программу и откройте Upgrade Assistant в меню:

Версия GNOME, до которой будем обновляться, выбрана 48. Остается нажать кнопку Check Compatibility:

После этого программа покажет, какие расширения совместимы с новой версией, а какие нет:

2. Обновление пакетов
Чтобы обновление прошло успешно, необходимо сначала обновить все пакеты в системе до последней версии. Для этого выполните:
sudo dnf upgrade --refresh

Для подтверждения обновления нужно будет нажать y (yes). Если во время обновления возникают конфликты между пакетами, такие пакеты следует переустановить с помощью команды reinstall, а затем повторить обновление. Например, если проблема возникла с пакетом systemd и systemd-udev:
sudo dnf reinstall --refresh systemd systemd-udev
После обновления перезагрузите компьютер.
Обновление Fedora 41 до 42
1. Загрузка обновлений
Для того чтобы загрузить все пакеты, необходимые для обновления с Fedora 41 до 42, выполните следующую команду:
sudo dnf system-upgrade download --releasever=42

Это займет довольно много времени, так как необходимо загрузить около 2 гигабайт пакетов. Если у вас есть пакеты из сторонних репозиториев, для которых еще не были выпущены обновления, и от которых зависят другие пакеты, то к команде обновления системы придется добавить опцию --allowerasing, которая позволит их удалить:
sudo dnf system-upgrade download --releasever=42 --allowerasing
В конце загрузки обновлений нужно будет подтвердить добавление OpenPGP ключей нового релиза в систему:

2. Обновление системы
После того как загрузка обновлений завершена, можно переходить к их установке. Важно, чтобы во время обновления не пропало электричество и компьютер не выключился. Потому что если такое случится, восстановить систему может быть довольно сложно. Если всё готово, выполните команду:
sudo dnf system-upgrade reboot
Перезагрузку нужно подтвердить нажатием y:

После этого система перезагрузится и откроется экран обновления. Это снова будет длиться достаточно долго в зависимости от мощности компьютера. В моем случае обновление заняло около 20 минут:

После обновления система перезагрузится уже в новую версию.
Проверка версии
Проверить успешность обновления можно посмотрев версию дистрибутива в файле /etc/fedora-release:
cat /etc/fedora-release

В общей сложности на обновление у меня ушло около двух часов, большую часть из которых система загружала или устанавливала пакеты. Но это при условии, что не возникло серьезных проблем. Если что-то пойдет не так, это все может занять значительно больше времени.
Дополнительно
Отключение проверки совместимости расширений GNOME
Если вы уже обновились и только сейчас поняли, что некоторые нужные вам расширения GNOME не поддерживаются, можно попробовать отключить проверку совместимости по версии. Если API, которые требуют расширения, не были изменены, то даже несовместимые расширения будут работать. Для этого выполните следующую команду:
gsettings set org.gnome.shell disable-extension-version-validation true
Важно потом, когда разработчики расширений выпустят версии для нового GNOME, вернуть верификацию обратно.
Проблема с сетью в Docker
Поскольку в Fedora 42 еще нет репозитория от Moby, dnf установит Docker из официальных репозиториев. После установки я столкнулся с проблемой отсутствия сети в контейнерах. Если вы также столкнулись с этой проблемой, следует удалить версию Docker из репозитория Fedora, добавить тестовый репозиторий от Moby и установить Docker оттуда. Подробнее тут.
Выводы
В этой статье мы рассмотрели как обновить Fedora до 42. Система достаточно стабильна, хотя пока не поддерживаются все расширения GNOME, поэтому если вы не хотите отключать верификацию версии, возможно стоит подождать несколько недель или месяц пока всё заработает. Если вы обнаружите другие проблемы и их решения - делитесь в комментариях.