С развитием технологий и ростом производительности аппаратного обеспечения, 64-битные архитектуры становятся стандартом для большинства пользователей и организаций. В связи с этим многие современные дистрибутивы Linux прекращают поддержку устаревших 32-битных архитектур. Одним из примеров такой тенденции стало решение команды Fedora в версии 44 отказаться от поддержки архитектуры i686, которая долгое время использовалась как 32-битная платформа для ПК. Этот шаг вызвал широкий резонанс в сообществе и имеет глубокие технические причины, а также значительные последствия для пользователей, разработчиков и всей экосистемы Fedora. Более того, отказ от i686 затрагивает и отказ от так называемой «multilib» поддержки, когда 32-битные библиотеки включались в репозитории для совместимости с 64-битными системами.
Остановимся подробнее на сути изменений, мотивации проекта и влиянии на различные группы пользователей. Введение в проблему поддержка i686 и multilib архитектур Исторически 32-битная архитектура i686 (также известная как x86) была основной для большинства ПК. Однако с появлением и массовым распространением 64-битных процессоров x86_64, которые обеспечивают лучшую производительность и поддержку больших объемов оперативной памяти, потребность в 32-битной архитектуре постепенно снижается. В Fedora проекте уже с версии 31 было прекращено предоставление установочных образов и пакетов ядра для i686, но при этом пакеты все еще строились для i686 в целях multilib — поддержки запуска 32-битных приложений на 64-битных системах. Такая multilib поддержка означает, что пользователи на 64-битных системах могли запускать приложения, написанные и предназначенные для 32-битной среды, за счет наличия 32-битных библиотек рядом с 64-битными.
Несмотря на очевидную полезность multilib, поддержка 32-битных пакетов означает дополнительную нагрузку на инфраструктуру сборки, поддержку пакетов, тестирование и обновления. Кроме того, многие проекты постепенно перестают поддерживать 32-битные версии приложений, что усложняет их интеграцию в Fedora и требует дополнительных изменений. Из этого вытекает ключевая цель Fedora 44 — полностью отказаться от поддержки i686 и вследствие этого прекратить включение 32-битных библиотек в x86_64 репозитории. Что именно предлагает Fedora 44 Четко обозначены две основные задачи. Во-первых, полностью убрать из репозиториев 64-битной архитектуры пакеты 32-битных библиотек, что означает отказ от multilib поддержки.
Во-вторых, полностью прекратить сборку и поддержку пакетов для i686 архитектуры. Первый шаг можно рассматривать как этап формирования условий для последующего полного отказа от 32-битной поддержки. Такой подход позволяет обеспечить плавный переход и дополнительные возможности быстро вернуть multilib поддержку в случае непредвиденных проблем. Второй шаг, однако, является практически необратимым, так как возвращение к поддержке i686 потребует значительных усилий, вплоть до переинициализации части сборочного процесса. Важным аспектом становится адаптация ключевых пакетов, например Wine — инструмента для запуска Windows-приложений на Linux, который требует новой конфигурации WoW64, что позволит запускать 32-битные приложения Windows на 64-битных системах без наличия 32-битной среды Fedora.
Также предстоит решение вопросов с такими программами, как Steam, где возможен пересмотр поддержки или исключение из официальных репозиториев в случае отсутствия 64-битных версий. Для пользователей Fedora эти изменения означают, что любые 32-битные пакеты, установленные ранее, будут автоматически удалены при обновлении системы, а последующая установка 32-битных программ через официальные репозитории более невозможна. Если используются сторонние приложений, зависящие от 32-битных библиотек, они либо должны иметь 64-битные версии, либо потребуют альтернативных способов установки. Преимущества отказа от поддержки i686 С технической точки зрения, отказ от поддержки i686 и multilib упрощает жизнь как разработчикам пакетов, так и инженерам по релизам и инфраструктуре Fedora. Поскольку многие проекты постепенно знакомы с тем, что прекращают поддержку 32-битных архитектур, необходимость постоянно внедрять патчи и обходные решения для совместимости отпадает.
Это позволяет направить ресурсы на развитие 64-битных версий и улучшение качества. Инфраструктура сборки получает значительную экономию ресурсов. Несборка 32-битных пакетов освобождает вычислительные мощности и хранилища, ускоряя процессы билдов и публикации обновлений. Дополнительно репозитории с меньшим количеством пакетов сокращают объем метаданных, что сокращает время и трафик при обновлении системы и в работе менеджеров пакетов, таких как dnf. Для пользователей выгода проявляется в упрощении управления программным обеспечением.
Меньшее число пакетов и отказ от устаревших архитектур означает более быстрые операции установки и обновления, сниженный риск конфликтов версий и несовместимостей. При этом пользователи с 64-битной системой по-прежнему могут запускать большинство современных приложений. Потенциальные сложности и вызовы Внедрение подобных изменений сопровождается рисками. Во-первых, полный отказ от 32-битных библиотек означает потерю возможности запуска некоторых 32-битных приложений, которые не имеют 64-битной версии. Это особенно актуально для некоторых специализированных программ, игр, устаревшего ПО или пакетов, распространяющихся в 32-битных версиях.
Во-вторых, пользователям, активно использующим Wine для запуска Windows-программ, придется адаптироваться: могут потребоваться создание новых Wine префиксов, а некоторые старые префиксы станут несовместимыми. В-третьих, сторонние репозитории и ПО, зависящие от 32-битных пакетов Fedora, столкнутся с необходимостью обновления или отказа от поддержки 32-битной архитектуры. Сообщество Fedora и команда разработчиков уделяют большое внимание тестированию и обратной связи, чтобы минимизировать эти проблемы и предупредить возможные неполадки. Контроль над процессом и возможность отмены Из важной особенности процесса перехода стоит отметить двухэтапный подход. На первом этапе, когда лишь исключаются 32-битные библиотеки из x86_64 репозиториев без полной остановки сборок i686, предусмотрена возможность отката и восстановления multilib поддержки в случае, если выявятся критические ошибки или значимые проблемы у пользователей.
Однако после реализации второго этапа, когда сборка i686 пакетов будет полностью прекращена, возвращение к прежнему состоянию станет крайне сложным и затратным по времени. Именно поэтому Fedora назначила крайний срок на бета-фриз — срок, после которого изменение будет внесено окончательно, а обратного пути не предусмотрено. Перспективы развития Fedora и эволюция архитектур Fedora давно ориентируется на современные технологии и архитектурные стандарты, поэтому отказ от устаревших 32-битных платформ можно рассматривать как необходимый этап эволюции. В будущем это позволит сосредоточиться на таких направлениях, как улучшение поддержки ARM и RISC-V платформ, а также оптимизацию работы с 64-битными архитектурами, которые являются доминирующими на серверном, десктопном и мобильном рынках. Более того, упрощение инфраструктуры сборки и поддержка современных возможностей ядра и пакетов ускоряют внедрение новых функций и повышают стабильность системы.
Важным остается вопрос, как будут развиваться способы запуска 32-битных приложений в средах с 64-битной системой. Wine с новой конфигурацией WoW64 уже частично решает эту задачу для Windows-программ, а для Linux-ориентированных программ возможно развитие эмуляторов и контейнеризации. Выводы и рекомендации для пользователей Fedora 44 После внедрения Fedora 44 с полной отменой поддержки i686 и 32-битных библиотек, пользователям, запускающим 64-битную версию Fedora, следует быть готовыми к автоматическому удалению 32-битных пакетов при очередном обновлении. Это требует анализа используемого программного обеспечения на предмет зависимости от 32-битных приложений. В случае, если для работы необходимы именно 32-битные пакеты, рекомендуется рассмотреть альтернативные дистрибутивы, которые еще поддерживают i686, или использовать виртуальные машины и контейнеры с соответствующими системами.