FreeBSD 15: Избавляемся от устаревшего и перестраиваем ОС

FreeBSD,FreeBSD 15.0,операционная система,Linux,pkgbase,32-bit,x86-64,AArch64,ZFS,контейнеры,ОС

Обзор новой версии FreeBSD 15.0: отказ от 32-битной поддержки, новая система pkgbase, улучшения в сборке и поддержка современных технологий. Подробный анализ изменений и впечатления от установки.

Новый релиз FreeBSD содержит множество важных изменений под капотом — и отказывается от 32-битной поддержки как на x86, так и на POWER, хотя ARM-v7 остается в живых.

FreeBSD 15.0-RELEASE вышла на этой неделе, став последним релизом операционной системы, являющейся ведущей альтернативой Linux в мире Unix. Помимо многочисленных исправлений ошибок и обновлений компонентов, основными изменениями в этой версии являются сокращение количества поддерживаемых платформ и изменение способов сборки и упаковки программного обеспечения.

FreeBSD 15 значительно сократила поддержку 32-битных платформ. По сравнению с FreeBSD 14 в 2023 году, больше нет сборок для x86-32, POWER или ARM-v6. Как указано в заметках к релизу:

Устаревшие 32-битные аппаратные платформы i386, armv6 и 32-битные powerpc выведены из эксплуатации. Поддержка 32-битных приложений сохраняется через 32-битный режим совместимости на соответствующих 64-битных платформах. Платформа armv7 остается последней поддерживаемой 32-битной платформой. Благодарим их за службу.

Теперь FreeBSD поддерживает пять архитектур ЦП — две платформы первого уровня, x86-64 и AArch64, и три платформы второго уровня: armv7 и выше, powerpc64le и riscv64.

FreeBSD 15 showing the Lumina desktop, start menu, and Neofetch in a terminal

FreeBSD имеет собственную родную среду рабочего стола, похожую на Windows, Lumina

Пожалуй, это давно пора. Первые 64-битные чипы AMD вышли 22 года назад. Intel представила первый чип x86, 8086 в 1978 году. В наши дни, 64-бит почти так же стар, как и вся платформа Intel 80×86, когда впервые появились 64-битные версии. В сравнении с этим, всего несколько месяцев назад, Debian 13 также отказалась от своей 32-битной редакции — через шесть лет после того, как Canonical выпустила свой первый дистрибутив только на x86-64, Ubuntu 19.10.

Еще одним значительным изменением является то, что это первая версия, собранная с использованием новой системы pkgbase, хотя она все еще находится в экспериментальном и необязательном режиме. Если вы выберете установку pkgbase, то основная ОС устанавливается из нескольких отдельных пакетов программного обеспечения, что означает, что всю систему можно обновлять с помощью диспетчера пакетов.

В мире Linux это норма, но Linux — это совсем другое животное. Все компоненты дистрибутивов Linux разрабатываются и поддерживаются разными командами. Ядро является отдельным проектом от системной инициализации, и оба являются отдельными проектами от основной ОС командной строки (которая в большинстве дистрибутивов происходит из проекта GNU), которые полностью независимы от системы упаковки, а также от рабочих столов и оболочек, и так далее. Именно поэтому Linux существует в виде дистрибутивов. Дистрибутор выбирает из различных компонентов и собирает что-то, что ему нравится, из всех разрозненных частей. Это похоже на сборку уникальной модели из ста разных наборов.

FreeBSD, как и другие BSD, а также большинство других ОС, построена совершенно по-другому. Основная ОС является единым интегрированным целым. Все ее компоненты создаются из одной кодовой базы, управляемой одной командой. Классический способ установки BSD — установка нескольких наборов дистрибутивов, включая базовый образ ОС как единую единицу. Это дает вам полную рабочую ОС, к которой вы можете добавлять необходимое программное обеспечение, используя диспетчер пакетов. Это работает отлично, но недостаток заключается в том, что это вынуждает вас обновлять ОС в двух отдельных операциях, используя один инструмент для обновления основного ОС и другой инструмент для обновления установленных приложений. Как мы недавно обнаружили, пытаясь обновить NetBSD 10.0 до 10.1, если вы не обновите ядро, пользовательский уровень и приложения в точном порядке, результатом будет несовместимая работа, которая не будет работать — и сломанная ОС. (С тех пор мы узнали — слишком поздно — что правильный метод, по-видимому, заключается в загрузке с носителя установки и использовании его для выполнения обновления на месте.)

Модель базовой системы BSD плюс приложения работает, но она имеет свои недостатки. Один из примеров заключается в том, что трудно удалить компоненты из базового образа, что затрудняет сокращение ОС для минимальной установки — например, встроенной системы или легковесного VM. (Например, инструмент для верстки GNU groff является частью базового образа, и немногие люди нуждаются в этом в 2025 году.) Составление всего из пакетов облегчает это.

У FreeBSD есть инструмент для автоматизации создания пакетов под названием Система сборки Poudriere, но она не могла создавать базовую ОС. Она станет намного более способной при использовании системы pkgbase. В FreeBSD 15 все еще есть возможность установки монолитной базовой системы, а также команда pkgbasify для преобразования этой раскладки в более новую компонентную.

Изменение вызывает споры в некоторых кругах. Плодовитый блогер BSD Vermaden написал обширную статью о ней после того, как обнаружил, что команда для удаления всех пакетов — pkg delete -af, которая была безопасной в более ранних версиях, уничтожила всю ОС, из-за чего он зарегистрировал ошибку. The Reg FOSS desk недавно поговорил с разработчиком OpenBSD, который считал, что изменение было поспешным и глубоко противоречащим устоявшейся практике BSD.

Даже при таких взглядах, однако, более старая модель построения FreeBSD сильно отличается от того, как собираются и поддерживаются дистрибутивы Linux. В наши дни большинство технических специалистов Unix знакомы с Linux в первую очередь, а все остальное — издалека.

План состоит в том, чтобы к FreeBSD 16, запланированной на декабрь 2027 года, реструктуризация будет завершена, старые наборы дистрибутивов будут удалены, и текущая команда freebsd-update и ее связанная инфраструктура смогут быть выведены из эксплуатации.

Еще одним важным изменением является воспроизводимые сборки, важную веху, которую проект достиг в конце октября. Это изменение является частью многопроектной инициативы по обеспечению детерминированной компиляции: чтобы можно было продемонстрировать, что определенный набор исходных файлов и директив компиляции гарантированно генерирует идентичные двоичные файлы, как контрмеру против скомпрометированного кода. Полезный побочный эффект заключается в том, что создание всей ОС, включая образы установочного носителя, больше не требует прав root.

Конечно, есть и другие новые функции. Много драйверов и подсистем были обновлены, и в этой версии улучшено управление питанием, включая приостановку и возобновление. Есть улучшенная беспроводная сеть с поддержкой большего количества чипсетов Wi-Fi и более быстрых беспроводных стандартов, а также обновленные графические драйверы. Документ Hardware Notes содержит обширный список, включая информацию о поддерживаемых стандартах на различных устройствах. Объявление о выпуске упоминает о включении OpenZFS 2.4.0-rc4, OpenSSL 3.5.4 и OpenSSH 10.0 p2, а также отмечает включение некоторых новых систем шифрования, устойчивых к квантовым вычислениям. Новая подсистема inotify, совместимая с эквивалентом Linux, позволяет ОС следить за папками на наличие любых изменений. Это очень полезно для таких инструментов, как сканеры вредоносных программ и индексеры файловых систем.

Firefox 145, Epiphany 47 and the `btop` system monitor in a terminal window.

В репозиториях доступны новейшие версии Firefox и GNOME Web, что охватывает большинство случаев

Отсутствовало одно из запланированных функций, о которой мы писали ранее в этом году — план по предоставлению программе установки возможности установки системы с графическим сеансом входа в систему. Это то, что делают более мелкие братья FreeBSD, NetBSD и OpenBSD, без особых усилий.

Мы установили версию 15.0 во VM VirtualBox. Поскольку мы учимся работать с ней с FreeBSD 13.1 несколько лет назад, у нас есть лучшее представление о том, чего она ожидает. Мы настроили VM с UEFI вместо его значения по умолчанию BIOS, поскольку это лучше работает с дефолтным набором дисков ZFS-on-GPT FreeBSD.

Мы вручную добавили скрипт desktop-installer, как и в предыдущих версиях, а затем запустили его. Он обнаружил, что работает внутри VirtualBox и предложил установить гостевые расширения автоматически, что впечатляет. Он предлагает 12 сред, а также опцию «сделай сам»:

1.. Без настольного программного обеспечения (я установлю свое позже)

2.. Среда рабочего стола CDE (Ретро 1990-х)

3.. Среда рабочего стола Cinnamon (Производная от Gnome 3)

4.. Легковесный оконный менеджер Fluxbox

5.. Среда рабочего стола Gnome (Функциональная и ресурсоемкая)

6.. Легковесный рабочий стол Gnome Lite

7.. Легковесный оконный менеджер IceWM

8.. Среда рабочего стола KDE (Функциональная и ресурсоемкая)

9.. Легковесный рабочий стол Lumina

10.. Легковесный рабочий стол LXDE (Заменен LXQT, но поддержка все еще предоставляется)

11.. Легковесный рабочий стол LXQT

12.. Среда рабочего стола MATE (Производная от Gnome 2)

13.. Оконный менеджер WindowMaker Легковесный

14.. Легковесный рабочий стол XFCE4

15.. Пользовательская (введите свою собственную категорию/порт и команду сеанса)

Регистр, пробелы, сводки и пунктуация взяты непосредственно из программы — хотя мы не можем особенно упрекнуть описания.

К нашему удивлению, мы увидели CDE в списке, поэтому попытались ее установить. Она установила 2.5.2 вместо самой последней 2.5.3 — что понятно, поскольку она вышла всего неделю назад — но мы не смогли найти способ ее запуска. Тем не менее, родной для FreeBSD среде рабочего стола Lumina работала идеально. Хотя с момента версии 1.6.1 в 2021 году не было выпущено новых версий, она значительно улучшилась по сравнению с последним разом, когда мы видели ее. В FreeBSD 15 Lumina теперь включает в себя файловый менеджер, текстовый редактор, просмотрщик PDF и большинство других компонентов, которые вы ожидаете. В целом, мы обнаружили, что FreeBSD 15 была проще и менее сложной в работе, чем любая из предыдущих основных версий.

Ее должно быть легче использовать на серверах тоже. Новая поддержка контейнеров OCI в FreeBSD 14.2, о которой мы писали год назад, теперь более зрелая. У FreeBSD есть своя версия Podman, и вы можете запускать Linux-контейнеры на FreeBSD. Это означает, что вы можете использовать команды и инструменты Docker, которые знакомы многим разработчикам, чем родной системе Jails FreeBSD.

FreeBSD занимает свое место на серверах и в общедоступном облаке, но становится проще использовать ее как настольную ОС. Она может запускать все основные рабочие столы Linux, включая GNOME на Wayland. Здесь нет systemd, и никогда не будет — а также нет Flatpak или Snap, в конце концов.

Для некоторых людей эти отсутствия станут решающими, но для других они могут звучать как положительное преимущество. У вас есть Firefox — на момент написания, самая последняя версия 145.0.2. Для всего, что не работает должным образом в Firefox, вы можете установить GNOME Web, которая все еще известна здесь как Epiphany. FreeBSD 15 включает версию 47.7 этого браузера на основе WebKit.

Это не самая легкая ОС. Хотя корневой раздел содержит всего 5,3 ГБ файлов, по умолчанию пользовательские домашние каталоги устанавливаются в отдельные наборы ZFS. В VM объемом 8 ГБ FreeBSD использовала немалый объем оперативной памяти в 1,8 ГБ. По нашему опыту, установка любого из BSD требует немало усилий, поэтому, если вы хотите попробовать это, мы рекомендуем выделить для этого отдельный диск. Тем не менее, мы обнаружили, что версия 15 проще и менее сложна в установке, чем когда-либо.

Хорошая новость для любопытных, хотя, возможно, плохая новость для GhostBSD — но у нее по-прежнему есть значительное преимущество. Возможно, вам понравится. Некоторым людям это нравится.

Самое просматриваемое: