Краткий гайд по Fedora Linux
Статья обновлена 2022-11-13.
Это попытка сделать максимально короткий гайд и не упустить ничего важного о том, почему стоит выбрать именно Fedora Linux, о различиях Fedora Workstation и Silverblue и о том, как всем этим пользоваться. Если после прочтения гайда остались вопросы, то добро пожаловать в мой чат. Также у меня есть канал, где выкладываются различные новости, поводы для размышлений и просто смехуёчки.
TL;DR: Fedora Silverblue на порядок надёжнее чем большинство ОС (не только дистрибутивы Linux) в вопросе обновлений и установке ПО, но может потребовать более внимательного прочтения этого гайда и небольшой копипасты команд в терминал. Если от слов “терминал” или “консоль” вас начинает бросать в дрожь, волосы встают дыбом, а пульс поднимается до 200, то имеет смысл обратить внимание на обычную Fedora Workstation.
TL;DR: TL;DR: Если лень читать, просто ставьте Fedora Workstation и читайте разделы этой статьи по мере необходимости. Всегда приятнее читать инструкцию по использованию только после того, как вы что-то сломали!
Другие источники информации: Помимо этого гайда, существует неофициальный FAQ по Fedora Linux от русскоязычного сообщества федоры. Комьюнити написало здоровский FAQ, стоит с ним ознакомиться. Да и официальная документация Fedora Linux тоже хороша.
Оглавление
- Почему именно Fedora Linux?
- GNOME
- Разница между Fedora Workstation и Fedora Silverblue
- Системные требования
- Как установить Fedora Linux
- Что нужно сделать сразу после установки Fedora Linux
- Обновления
- Установка ПО
- Известные проблемы
- Заключение
- Полезные ссылки
Почему именно Fedora Linux?
Дистрибутив разрабатывается под покровительством и финансированием корпорации Red Hat, которая очень многое сделала и делает для Linux. На сегодняшний день, Red Hat (и сообщество вокруг неё) — единственные, кто имеет свой дистрибутив, активно разрабатывает ядро Linux, строит экосистему вокруг ядра и развивает Linux как платформу. Даже Линус Торвальдс, создатель ядра Linux, пользуется именно Fedora.
Несмотря на покровительство Red Hat, Fedora управляется и разрабатывается большим и активным сообществом, независимо от Red Hat. Для пользователей выгода в виде бесплатного и свободного дистрибутива корпоративного уровня, а для Red Hat — возможность обкатать технологии и ПО для их платного дистрибутива RHEL.
Fedora Linux является дружелюбным к простым пользователям дистрибутивом, при этом не лишаясь преимуществ для разработчиков. ПО в репозиториях актуальное, без древних версий. Все параметры имеют разумные значения по умолчанию, а из коробки доступны самые инновационные технологии экосистемы Linux. Вот, некоторые из них:
- systemd — системный менеджер.
- NetworkManager — менеджер сетевых конфигураций.
- firewalld — удобный фаерволл.
- Wayland — безопасный графический протокол нового поколения.
- PipeWire — новый медиасервер, сочетающий в себе простоту в использовании, производительность и гибкость. С помощью PipeWire можно маршрутизировать видео- и аудиопотоки между приложениями и устройствами как угодно. Например, можно вывести звук одного приложения только в наушники, а звук другого приложения вывести сразу на колонки и наушники.
Маршрутизация звука в PipeWire через qjackctl
- WirePlumber — продвинутый менеджер сессий для PipeWire. WirePlumber даёт более тонкий контроль за состоянием и метаданными потоков, устройств и медиасервера в целом. Имеется возможность подключения внешних скриптов на Lua.
- Flatpak — современный формат распространения программ. Поддерживает большинство дистрибутивов Linux. Flatpak приложения запускаются в песочнице, которая защищает систему от уязвимостей в ПО, телеметрии и других вредоносных действий. Для удобной настройки разрешений доступна утилита Flatseal. Также, изоляция программ делает их более переносимыми между разными дистрибутивами Linux и их версиями.
- SELinux — система контроля доступа, которая создана для повышения безопасности Linux систем. По умолчанию используется в Fedora Linux, RHEL и Android.
- Btrfs — продвинутая файловая система. Она следит за целостностью файлов, уведомляет о повреждениях и автоматически восстанавливает файлы при наличии копии в RAID. Также эта ФС позволяет “на лету” увеличивать и уменьшать раздел на диске, подключать и отключать дополнительные накопители для RAID, сжимать данные, создавать снимки состояния (снепшоты) и многое другое. А ещё установщик Fedora по умолчанию включает сжатие файлов на btrfs алгоритмом zstd. Это положительно сказывается на ресурсе SSD и занимаемом месте на диске.
Сжатая почти в два раза(!) CS:GO
- zram — модуль ядра Linux, позволяющий иметь сжатое устройство подкачки в RAM. Если опустить детали, то это позволяет сжимать содержимое оперативной памяти. С современным алгоритмом сжатия zstd, коэффициент сжатой памяти обычно около трёх. Так что zram сильно экономит память. Дисклеймер: сжатие понижает скорость доступа к RAM, поэтому тяжёлые расчёты, требовательные к скорости памяти, и zram — плохо сочетаются. Но страницы памяти вытесняются в zram по мере заполнения физической памяти, и вытесняются, в первую очередь, редко используемые страницы памяти. Так что пока память не забита до отказа, волноваться не о чём. Да и скорость zram всяко выше обычного swap. А для браузера и мессенджеров замедление памяти от сжатия вообще не страшно.
- systemd-oomd — демон, обрабатывающий ситуации нехватки памяти. oomd использует информацию от подсистемы ядра PSI (Pressure Stall Information), чтобы убивать процессы, когда система страдает от нехватки памяти.
- uresourced — сервис, повышающий отзывчивость графической оболочки при нехватке RAM, путём резервирования оперативной памяти для GUI. uresourced резервирует наименьший объём памяти из двух вариантов: 250МиБ или 10% от всей ОЗУ.
- power-profiles-daemon — позволяет пользователю выбирать между производительностью системы и временем автономной работы. Существует 3 различных профиля питания: “сбалансированный” (режим по умолчанию), режим “энергосбережения”, а также режим “производительности”. Режимы могут переключаться автоматически: в зависимости от наличия питания от сети и по требованию приложений. Помимо этого, GNOME Shell предоставляет интерфейс для выбора текущего режима.
В Fedora уделяют много времени качеству и тестированию. Критические компоненты дистрибутива проходят автоматические тесты, а любое обновление сначала появляется в тестовых репозиториях, где его тестируют более опытные и храбрые пользователи. За тестированием обновлений можно наблюдать на Bodhi.
Fedora является этичной операционной системой. Обновления не навязываются и никогда не оторвут вас от работы. А автоматическое скачивание обновлений отключается одной кнопкой в центре приложений.
Телеметрия тоже легко отключается. В Fedora Workstation отчёты о падениях (crash reports) отключаются на этапе первоначальной настройки и в параметрах системы. В Fedora Silverblue изначально нет системы отчётов, хотя это может измениться в будущем. Помимо отчётов, есть система подсчёта установок Fedora. При скачивании пакетов с репозитория, передаётся информация о том, как давно установлена система. Эта информация бывает всего в четырёх состояниях: система установлена менее недели назад, месяц назад, шесть месяцев или более шести месяцев. Таким образом, у разработчиков есть возможность узнать количество уникальных установок Fedora и как давно ей пользуются. Телеметрия анонимизирована и не содержит персональных данных. Но если вы всё равно боитесь, что вас посчитают, то подсчёт можно отключить. На Fedora Workstation надо переключить все переменные в файлах репозиториев из countme=1
в countme=0
. Файлы репозиториев лежат в /etc/yum.repos.d/
. На Fedora Silverblue надо просто замаскировать systemd-таймер: sudo systemctl mask --now rpm-ostree-countme.timer
. Никакой другой телеметрии не собирается.
У Fedora Linux есть множество редакций и вариантов. Я буду рассматривать только Fedora Workstation и Fedora Silverblue. Про различия речь зайдёт несколько позже, а пока пишу про то, что их объединяет — графическое окружение GNOME.
GNOME
Графическое окружение (DE — Desktop Environment) GNOME рассчитано на простоту использования и эффективность. Среда очень минималистичная и не отвлекает пользователя от работы. Разработчики GNOME понимают, что хорошее DE не замечаешь во время работы.
Сперва GNOME может показаться очень непривычным и даже неудобным, но стоит только попытаться понять как в нём всё устроено — остальные окружения мигом станут неудобными.
Работа в GNOME строится вокруг рабочих столов и обзорного режима. На каждую задачу стоит использовать отдельный рабочий стол: один под сёрфинг в интернете, один под мессенджеры, один под программирование, etc. Переключаться между столами можно зажав клавишу Super и крутя колесо мыши или сочетаниями клавиш: Super+Alt+←
и Super+Alt+→
(Super заменяет собой клавишу Windows, в терминологии большинства графических оболочек для Linux).
В обзорный режим можно попасть нажав на кнопку “Обзор” в левом верхнем углу, либо нажав на Super. Здесь видно все рабочие столы, окна на них, а также Dash, где расположены избранные и запущенные приложения. Если нажать на кнопку с сеткой из девяти точек или нажать Super+A, то можно попасть в меню всех установленных приложений. Ещё в это меню можно попасть с рабочего стола, дважды нажав Super.
Настройка окружения происходит через штатное приложение настроек, но есть экспериментальные или не предназначенные для обычных пользователей настройки, которые вынесены в приложение GNOME Tweaks (“Дополнительные настройки GNOME” в русской локализации).
По умолчанию, у окон в GNOME Shell нет привычных кнопок свернуть и развернуть. Оставили только кнопку закрытия окна. Подразумевается, что сворачивать окна нет никакого смысла: переключаться между окнами можно из обзорного режима, либо через Super+Tab
/Alt+Tab
(переключает между приложениями) и Super+`
/Alt+`
(переключает между окнами одного приложения), а для работы над новой задачей нужно переключиться на новый рабочий стол. Даже если вдруг вам очень приспичило свернуть окно, это можно сделать шорткатом Super+H
. А развернуть окно можно простым двойным кликом по заголовку окна, либо через Super+↑
/Super+↓
. Попробуйте немного попользоваться GNOME в таком режиме, если вы поймёте что вам так неудобно, то всегда можно вернуть привычные кнопки через GNOME Tweaks.
Если не хватает базового функционала GNOME, можно ставить расширения, которые скачиваются с extensions.gnome.org. Для удобной установки расширений стоит скачать расширение для браузера, которое предлагается на главной странице. Управлять установленными расширениями GNOME можно на том же сайте, если установлено браузерное расширение. Если по какой-то причине вас не устраивает установка и управление расширениями через сайт, воспользуйтесь приложением Extension Manager. Расширений для GNOME очень много, вот несколько стоящих упоминания:
- Clipboard History — для сохранения истории буфера обмена.
- Espresso — чтобы по требованию приостановить работу скринсейвера.
- Fly-Pie — добавляет кастомизируемое радиальное меню.
- Always Indicator — показывает индикатор уведомлений в статусной строке при любых непрочитанных уведомлениях. В дефолтном GNOME этот индикатор показывается только если есть критические непрочитанные уведомления.
- GNOME Fuzzy App Search — для более удобного поиска приложений в обзорном меню.
- GSConnect — для синхронизации с другими ПК и Android смартфонами.
- Hot Edge — добавляет активацию обзорного режима (Activities Overview) при ударе курсора о нижнюю грань дисплея.
- Just Perfection — для кастомизации интерфейса GNOME Shell.
- AppIndicator and KStatusNotifierItem Support — чтобы вернуть трей, ибо разработчики GNOME считают, что все нынешние стандарты трея устарели и не отвечают современным требованиям. Но есть и хорошие новости: на данный момент ведётся работа над новым протоколом для трея, который будет устраивать и GNOME, и KDE.
- Tiling Assistant — для более продвинутого тайлинга окон.
- Vitals — для мониторинга различных показателей системы.
Также пару слов про Wayland. Wayland — новый графический протокол, благодаря которому, приложения (Wayland clients) и графическая оболочка (Wayland Compositor aka Wayland Server) могут общаться друг с другом. Wayland идёт на замену устаревшему графическому серверу X11. Wayland во всём лучше, чем X11. Однако, бывают проблемы в совместимости со старым софтом и технологиями, которые ещё не успели адаптировать к Wayland. Большую часть проблем решает XWayland (работает из коробки) — слой совместимости с X11. В Fedora Linux сессия GNOME идёт с Wayland по умолчанию.
Разница между Fedora Workstation и Fedora Silverblue
Fedora Workstation — это традиционный дистрибутив Linux с пакетным менеджером dnf, пакетами rpm и DE GNOME.
А Fedora Silverblue — это атомарный вариант Fedora Workstation, где пакетный менеджер — rpm-ostree, вместо привычного dnf. Базовый образ дистрибутива неизменяем в online, что защищает его от повреждения при обновлении или установке новой программы. Каждое изменение, будь то обновление или установка софта, происходит в новый деплой (версию, снимок) операционной системы. Деплои хранят в себе только разницу между разными состояниями системы, так что лишнее место на диске не расходуется. Для применения изменений надо либо перезагрузиться, либо запустить в терминале: sudo rpm-ostree ex livefs --allow-replacement
, либо ставить пакеты с ключом -A
: rpm-ostree install -A <package>
. Последние два способа пытаются наложить грядущие изменения online — пользуйтесь ими только при срочной установке софта.
Из-за такого подхода откатиться на предыдущее обновление можно прямо на этапе загрузки через меню GRUB или из ОС одной командой в терминале. Также, если во время установки обновления произошёл сбой или пропало электричество, система не останется в промежуточном состоянии, а незавершённое обновление просто будет отброшено без последствий для системы (ОС будет загружаться в старый, нетронутый образ). И приятным бонусом идёт более быстрое обновление с релиза на релиз. Допустим, вышла Fedora Silverblue 38:
- Пользователь видит возможность обновления до Fedora Linux 38 и запускает обновление в центре приложений.
- Обновление скачивается в фоне.
- После завершения загрузки, пользователь должен нажать на кнопку для установки обновления.
- Обновление устанавливается в фоне, в отдельный деплой. В этот момент можно спокойно работать за ПК, запущенная система никак не затрагивается процессом обновления. Установка занимает пару минут.
- После установки, система сама предложит перезагрузиться. Если отказаться, то система не станет настаивать и будет ждать ближайшего выключения. При выключении/перезагрузке, rpm-ostree подготовит новую версию ОС для следующего включения ПК. Это занимает меньше минуты!
- При следующем включении пользователь попадает уже в обновлённую систему, таким образом, потратив минимум личного времени на крупное обновление. А если в новом обновлении будут баги, то пользователь всегда может откатиться через
rpm-ostree rollback
.
Ещё никогда обновления не были настолько безопасными.
При этом, пользовательский софт рекомендуется ставить из Flatpak. Например, графическая утилита GNOME Software (Центр приложений) старается предлагать именно Flatpak-версии программ. На Flatpak-софт не распространяются правила неизменяемости системы, потому что Flatpak не может убить систему, а целостность приложений легко восстанавливается в случае неполадок. В случае установки софта из Flatpak, не нужны перезагрузка или livefs, что, очевидно, удобно для обычного пользователя.
Однако, атомарность Silverblue может слегка добавить сложностей в разработке ПО. Для разработки и более быстрой и простой установки CLI-утилит существует утилита toolbox. Достаточно запустить toolbox enter
, чтобы попасть в контейнер с минималистичной Fedora Linux, где пакеты ставятся обычным dnf. Это рекомендуемый способ разработки на Fedora Silverblue.
Дисклеймер: в связи с необычным устройством Fedora Silverblue, на ней могут не работать некоторые rpm-пакеты. Но на данный момент мне известно всего-лишь об одном таком пакете: Проблемы несовместимости с Fedora Silverblue.
Системные требования
Минимальные системные требования Fedora Workstation/Silverblue:
- Двухядерный 64bit процессор 2ГГц+ или быстрее
- 2ГБ ОЗУ
- 15ГБ HDD
- HD дисплей
Рекомендованные системные требования Fedora Workstation/Silverblue:
- Четырёхядерный 64bit процессор 2ГГц+ или быстрее
- 4ГБ ОЗУ
- 20ГБ SSD
- FHD дисплей
- UEFI (если вы, конечно, не гордый обладатель машины с CPU IBM POWER)
Как установить Fedora Linux
Если вы пользователь Linux и знакомы с dd, Ventoy и прочими Ъ-утилитами, то можете создать флешку знакомыми для вас способами.
Для остальных есть Fedora Media Writer. Эта утилита позволит с лёгкостью создать установочную флешку. Ссылки для загрузки: Flathub (Flatpak) для Linux, dmg для macOS и exe для Windows. Установите и запустите. Подключите флешку на 4ГБ или больше к ПК. В Fedora Media Writer выберите нужный вам образ (образ Silverblue находится в разделе Новые версии/Emerging Editions), выберите вашу флешку и запустите создание установочного носителя. Дождитесь загрузки и установки.
Теперь загрузитесь с созданной флешки. Для этого надо выключить компьютер, включить его снова и на этапе проверки POST попасть в меню загрузки. Как попасть в это меню, зависит от вашего ноутбука/вашей материнской платы. Обычно, после нажатия кнопки питания, надо много раз нажимать F11 или F12, до попадания в меню. Если не сработает — интернет вам в помощь. Когда удастся попасть в меню, вам останется просто выбрать вашу флешку.
При загрузке с флешки, выскочит меню загрузочного образа — в нём Fedora предложит протестировать образ на ошибки. Нажмите Enter — образ проверит сам себя, и в случае успеха, запустится Live-система или установщик, в зависимости от образа (в Silverblue нет Live-режима и запускается сразу установщик). В Live-системе вы можете немного поиграться с системой и запустить установщик из меню приложений. В установщике Anaconda просто пошагово отвечайте на все вопросы, там сложно заблудиться. Только внимательно читайте, что вам пишет установщик — так вы избежите проблем и недопонимания.
После установки перезагрузитесь в свежеустановленную Fedora Linux!
Что нужно сделать сразу после установки Fedora Linux
- Обновить систему. Это можно сделать из центра приложений, зайдя во вкладку “Обновления” и нажав на круговую стрелочку в левом верхнем углу для проверки наличия обновлений. После проверки, система предложит доступные обновления к установке.
- Поставить GNOME Tweaks. Его можно найти в центре приложений, либо поставить из терминала:
sudo dnf install gnome-tweaks
для Fedora Workstation иrpm-ostree install -A gnome-tweaks
для Fedora Silverblue. - Подключить репозиторий Flathub. Flathub является основным репозиторием для программ в формате Flatpak. Там можно найти как свободные программы (Blender, Krita, VSCodium), так и проприетарное ПО (Steam, Spotify). И хотя в Fedora 35 начали поставлять репозиторий Flathub из коробки, его содержимое фильтруют, чтобы у Red Hat, американской компании, не было проблем с законом США. Поэтому, в Fedora может не хватать некоторого проприетарного и связанного патентами ПО. А чтобы увидеть всё содержимое Flathub — его надо подключить. Ссылку для подключения Flathub можно найти здесь. Нажмите на кнопку “Flathub repository file”, тогда Firefox скачает файл репозитория и предложит открыть его в центре приложений. Откройте файл в центре приложений и установите репозиторий. После подключения Flathub — перезайдите в графическую сессию или перезагрузите компьютер.
- Подключить репозиторий RPM Fusion и поставить оттуда кодеки. Этот репозиторий существует для распространения пакетов, которые проект Fedora не может распространять по юридическим соображениям. Например, там есть кодеки, которые вам точно понадобятся. Мой гайд по подключению RPM Fusion и установке кодеков можно посмотреть здесь и прочитать здесь.
- Поставить проприетарный драйвер Nvidia. Если у вас видеокарта Intel или AMD, то ничего делать не нужно. Но для карт Nvidia нужно поставить проприетарный драйвер. Вот гайд как это сделать.
- Только для пользователей Fedora Silverblue: поставить langpacks-<lang>, чтобы исключить возможность неустановленных пакетов локализации. Замените
<lang>
на ru, be, uk, kk или любую другую нужную вам локаль. Например:rpm-ostree install langpacks-ru
Обновления
Механика обновлений
Новые релизы Fedora Linux выходят каждые полгода — весной и осенью. Срок поддержки каждого релиза составляет 13 месяцев (каждый выпуск поддерживается в течении двух релизов + 1 месяц). Таким образом, Fedora Linux 35 перестанет поддерживаться через месяц после выхода Fedora Linux 37. В новых версиях Fedora обновляют ПО до актуальных мажорных версий, добавляют новый функционал и расширяют уже существующий. Например, в Fedora Linux 37: включили DNS over TLS по умолчанию и добавили официальную поддержку Raspberry Pi 4. Релизы Fedora происходят с небольшим опозданием относительно релизов GNOME, так что каждый релиз Fedora содержит новую версию GNOME.
Внутри релизов есть свои обновления, уже не такие масштабные: согласно политике Fedora, внутри релиза нельзя обновлять пакеты до следующей мажорной версии. Разрешены только минорные обновления. Однако, для некоторых пакетов выдаются специальные разрешения на мажорные обновления внутри одной версии Fedora. На данный момент мажорные обновления разрешены для: ядра Linux, стека KDE и Qt, веб-браузеров и почтовых клиентов.
Flatpak программы обновляются отдельно от системы и никак не привязаны к циклу обновлений Fedora.
Как обновляться
Перед обновлением до следующего выпуска, необходимо совершить обычное (минорное) обновление, чтобы получить все исправления для бесшовного обновления на новый релиз. В случае проблем после обновления посетите страницу Common Issues F37 или Common Issues F36, в зависимости от вашей версии Fedora Linux. А также вы можете заглянуть в мой Telegram чат — постараемся помочь тем, кто действительно хочет помощи.
Все обновления можно запустить из центра приложений (GNOME Software). Дальнейшие инструкции для тех, кто предпочитает информативность и повышенный контроль командной строки.
Мажорные обновления (с релиза на релиз):
Workstation:
sudo dnf upgrade --refresh
reboot
sudo dnf install dnf-plugin-system-upgrade
sudo dnf system-upgrade download --releasever=$(($(rpm -E %fedora) + 1))
sudo dnf system-upgrade reboot
В случае неудовлетворённых зависимостей, следует дописать ключ --allowerasing
к system-upgrade download
:
sudo dnf system-upgrade download --allowerasing --releasever=$(($(rpm -E %fedora) + 1))
# Не забудьте самостоятельно проверить, какие именно пакеты собрался удалить dnf!!!
Если вы хотите обновиться через релиз, добавляйте к текущей версии двойку вместо единицы:
sudo dnf system-upgrade download --releasever=$(($(rpm -E %fedora) + 2))
Silverblue:
rpm-ostree upgrade
reboot
rpm-ostree rebase fedora:fedora/$(($(rpm -E %fedora) + 1))/x86_64/silverblue
reboot
В случае проблем с обновлением вам стоит прочитать раздел этого гайда Fedora Silverblue не может обновиться на следующий мажорный релиз и выполнить предлагаемые там действия.
Если вы хотите обновиться через релиз, добавляйте к текущей версии двойку вместо единицы:
rpm-ostree rebase fedora:fedora/$(($(rpm -E %fedora) + 2))/x86_64/silverblue
Минорные обновления (внутри релиза):
Workstation:
sudo dnf upgrade --refresh
После обновления может понадобиться перезагрузка.
Silverblue:
rpm-ostree upgrade
Для применения обновления нужна перезагрузка.
Flatpak:
flatpak update
Запущенные приложения останутся на текущей версии и продолжат работать. При следующем запуске, обновлённое приложение запустится из новой версии (прям как Silverblue!).
Откат обновлений на Silverblue
Если вы загрузились в новый деплой, но вы столкнулись с багами или вам что-то не нравится:
rpm-ostree rollback
Если вы ещё не загружались в новый деплой или загрузиться в него не удалось и вы через GRUB загрузились в предыдущий деплой:
rpm-ostree cleanup --pending
Закрепление деплоев Silverblue
По умолчанию, Silverblue держит только два деплоя: текущий и предыдущий. Если вы хотите добавить ещё несколько деплоев для отката, то их нужно закрепить:
- Пишем в терминал
rpm-ostree status
и мысленно нумеруем деплои (нумерация начинается с нуля): самый первый (верхний) деплой — 0, следующий — 1, и так далее - Чтобы закрепить деплой пишем:
sudo ostree admin pin <id_деплоя>
- Чтобы открепить деплой пишем:
sudo ostree admin pin -u <id_деплоя>
Максимальное количество закреплённых деплоев ограничивается только свободным пространством на вашем накопителе — никаких других ограничений нет. Можете закрепить хоть 42 деплоя, лишь бы у вас место на диске не закончилось.
Как часто необходимо обновляться?
Когда хотите, я серьёзно. Но если не обновляться совсем, то рано или поздно у вас в системе будут опасные уязвимости, а также не будет никаких улучшений системы и ПО. Под вашу версию Fedora перестанут выпускать софт и можно будет нарваться на несовместимость с чем-либо. А если наоборот, бежать впереди паровоза, и обновлять Fedora на следующую версию во время бета-тестирования, даже не дожидаясь релиза, то есть шанс нарваться на серьёзные баги.
Мои рекомендации:
- Внутри релиза лучше обновляться каждый день, либо хотя бы раз в неделю. Чем чаще обновляетесь, тем выше шанс бесшовного обновления, за счёт плавного обновления конфигов и сервисов. По желанию, можно следить за новостями, вдруг разработчики прошляпят что-то важное. О крупных факапах вы точно услышите из новостей и срачей в чатах. Если вы на Fedora Silverblue, то сможете легко откатиться в случае неудачного обновления.
- Перед обновлением на следующий релиз, лучше ознакомиться со списком изменений и убедиться, что нужные вам расширения GNOME доступны на новой версии. Если хотите большей стабильности, то можно подождать месяц с момента релиза. За это время пофиксят баги, которые ускользнули от тестирования и пробрались в релиз, и обновят расширения GNOME Shell для совместимости с новой версией.
- Приложения Flatpak можно обновлять ещё чаще минорных обновлений системы — неудачные обновления легко откатить.
Также следует учесть, что Fedora поддерживает обновления только между ближайшими версиями (35→36) и через релиз (35→37). Крайне рекомендуется обновляться последовательно, с релиза на релиз (33→34→35→36→37), особенно, если вы давно не обновлялись и прошляпили EoL (End of Life) вашей установки Fedora.
P.S. В моём канале я стараюсь сообщать о проблемных апдейтах. И напоминаю, когда настаёт время обновить свою Fedora до следующего выпуска.
Установка ПО
Устали бегать по сайтам в поисках нужного софта? Можете выкинуть эту ужасную привычку, привитую за годы жизни страданий на Windows. После подключения RPMFusion и Flathub по гайду выше, вам больше не придётся ставить софт откуда-то помимо центра приложений. Могут быть исключения в виде ПО для разработки и подобного, но простого пользователя это не касается. Ищите софт, ставьте софт, удаляйте софт, обновляйте софт — и всё это из центра приложений!
Дисклеймер: установка классических rpm-пакетов через GNOME Software в Fedora Silverblue требует перезагрузки для применения изменений. Если вам нужно срочно поставить пакет без перезагрузки — воспользуйтесь установкой через CLI или поставьте Flatpak-версию приложения.
Fedora Silverblue предлагает перезагрузиться для установки rpm-пакетов через GUI
Дальнейшие инструкции для задротов энтузиастов и любителей терминала:
Установка ПО через dnf (Fedora Workstation):
sudo dnf install <package>
А удалить так:
sudo dnf remove <package>
Установка ПО через rpm-ostree (Fedora Silverblue):
rpm-ostree install <package>
Опционально можно установить пакет с применением изменений online. Делайте так, только если торопитесь или вам лень перезагружаться:
rpm-ostree install -A <package>
rpm-ostree может пожаловаться, что помимо установленного пакета, некоторые пакеты обновились и такие транзакции нельзя принимать online. Хорошо подумайте, надо ли оно вам без перезагрузки, и если не передумали — можно форсировать применение изменений:
sudo rpm-ostree ex livefs --allow-replacement
А удалить пакеты так:
rpm-ostree remove <package>
Установка ПО через Flatpak (самый кошерный вариант, универсален для любой Fedora):
flatpak install <package>
А удалить так:
flatpak remove <package>
Известные проблемы
Переключение раскладки клавиатуры
По умолчанию в GNOME используется сочетание клавиш Super+Space для переключения раскладки. Это самый универсальный вариант, который одинаков во всех системах: в Windows 10/11 — Windows+Space, в macOS — cmd+Space. Лично я использую Caps Lock — так быстрее и удобнее. Проблемы возникают, если использовать привычные многим сочетания наподобие Shift+Alt или Ctrl+Shift. Конечно, во время установки Fedora Linux или в GNOME Tweaks после установки, можно забиндить переключение раскладки почти на всё что угодно, но конкретно с этими сочетаниями есть проблемы:
- В X11 за любые шорткаты и переключение раскладок отвечает XKB. В GNOME (как в X11 сессии, так и в Wayland), XKB отвечает только за переключение раскладки клавишами-модификаторами (Caps, Shift, Ctrl, Alt, etc), а за переключение обычными шорткатами (Super+Space, например) отвечает libmutter. XKB зачем-то засчитывает шорткаты при нажатии клавиш, а не при их отпускании. Это ломает многие шорткаты в других приложениях, где используются те же клавиши, что и для переключения раскладок. Это родовая травма X11 и исправить её, не сломав совместимость, нельзя — баг висит уже 18 лет: https://gitlab.freedesktop.org/xorg/xserver/-/issues/258
- В Wayland сессии GNOME недавно сломали эти же переключатели раскладок — багуют сочетания состоящие только из нескольких клавиш-модификаторов, которые управляются через XKB. Раскладка переключается, но визуальной индикации нет. Поскольку Shift+Alt или Ctrl+Shift нельзя забиндить из обычных настроек, а только из Tweaks, то проблема не считается важной. У разработчиков были планы по добавлению этих сочетаний в обычные настройки (а значит, они будут управляться через libmutter), но неизвестно, когда это сделают и сделают ли.
Можно попробовать смириться с багами переключения раскладки на одной из сессий — X11 или Wayland, но я бы рекомендовал просто привыкнуть к Super+Space, теперь это сочетание клавиш переключает раскладку на всех мейнстримных ОС. Или же можно попробовать привыкнуть к переключению по Caps Lock (задаётся в Tweaks и нормально работает, что на X11, что на Wayland) — этот вариант выбрал я.
У меня не работает <feature_name> из-за Wayland!/У меня глюки на Wayland!
Если есть баг, то его надо зарепортить разработчикам. Это выходит за рамки этой статьи, здесь я только расскажу как переключиться на X11 в случае проблем с Wayland.
Для перехода на устаревший X11, надо выбрать соответствующую сессию на экране входа в систему.
Дублирующиеся пункты в меню загрузки GRUB на Fedora Silverblue
В каждой паре пунктов, первый пункт — верный. Но дубликаты можно убрать насовсем. Если система загружается через UEFI и была установлена после выхода Fedora 31, то поможет команда sudo grub2-switch-to-blscfg
. В остальных случаях, самым простым решением будет добавить переменную GRUB_ENABLE_BLSCFG=false
в файл /etc/default/grub
.
Fedora Silverblue не может обновиться на следующий мажорный релиз
Чаще всего это происходит из-за установки rpm пакетов локально, потому что rpm-ostree ещё не научился обновлять локально поставленные пакеты. Например, Fedora Silverblue не станет обновляться с релиза на релиз из-за установки репозитория RPMFusion по официальному гайду. В таком случае, нужно посмотреть в строчку LocalPackages
в выводе команды rpm-ostree status -b
, мысленно убрать архитектуры и версии пакетов из названий, а потом использовать полученные названия для следующего трюка: нужно сначала удалить все пакеты командой rpm-ostree remove <названия_пакетов>
, потом без перезагрузки и без livefs (важно не применить изменения, чтобы файлы репозиториев остались в /etc/yum.repos.d/
) поставить пакеты заново командой rpm-ostree install <названия_пакетов>
. Таким образом, локальные пакеты станут установленными по сети (переедут из LocalPackages
в LayeredPackages
) и обновление пройдёт успешно.
Пример:
rpm-ostree status -b
выдал:LocalPackages: tlp-release-1.37.0-1.fc37.noarch rpmfusion-nonfree-release-37-1.noarch rpmfusion-free-release-37-1.noarch
- Нужно запустить:
rpm-ostree remove tlp-release rpmfusion-nonfree-release rpmfusion-free-release
- И сразу же, без перезагрузки:
rpm-ostree install tlp-release rpmfusion-nonfree-release rpmfusion-free-release
- Теперь перезагрузитесь.
- Вы великолепны!
Проблемы несовместимости с Fedora Silverblue
Я пока обнаружил всего одну программу, которую никак не запустить на Fedora Silverblue:
Mullvad VPN предоставляет обычные OpenVPN и Wireguard файлы, с которыми нет никаких проблем на Fedora Silverblue. Пока баг в Mullvad не пофиксили, можно пользоваться этими файлами.
Заключение
Если вам понравился мой гайд, то подписывайтесь на мой Telegram канал, где регулярно выходят интересные посты, новости из мира Open Source и различные гайды. А если у вас остались вопросы, то их можно задавать в моём Telegram чате. И если вам ну ооочень нравится мой контент, то вы можете сильно поспособствовать улучшению его качества благодаря донатам.