Обзор FreeBSD 10

bsdlogo
Linux — достаточно хорошая ОС. Но она никак не происходит от UNIX и не самая подходящая иллюстрация UNIX системы. Единственное, что сближает linux с семейством систем UNIX, это реализация POSIX, как программного интерфейса, FHS(Filesystem Hierarchy Standart), так и интерфейса командной строки. В остальном, это другая система и её дистрибутивы, со временем, все меньше напоминают классический UNIX. Если вы хотите изучить что-то более классическое, предлагаю вам взглянуть на FreeBSD.

Предыстория

Давным давно, когда машины были огромными шкафами и их могли позволить себе только крупные фирмы, Кен Томсон решил воспроизвести интересную, с технической точки зрения, но в гораздо меньших масштабах систему MULTICS(Multiplexed Information and Computing System).
PDP-7
На фотографии изображен PDP-7
Соответственно, спародировав название MULTICS, он назвал свою операционную систему UNICS(Uniplexed Information and Computing System). В последствии, она была переименована в UNIX. Первая версия UNIX была написана на ассемблере и выполнялась на рабочей машине Томпсона PDP-7. Денис Ритчи написал компилятор языка C, на которой была написана вторая версия. Затем, произошло разветвление развития операционной системы. По началу UNIX свободно попадала в различные университеты, в том числе университет Беркли, где было положено начало ветки BSD Unix (Berkeley Software Distribution). Затем компания AT&T решила выпускать коммерческие версии UNIX, предком которых является Solaris. FreeBSD, в свою очередь произошел от BSD, и его целью стало развитие заброшенного 386BSD.

Особенности FreeBSD

  1. Поскольку исторически сложилось так, что FreeBSD — это предок UNIX, а не операционка, написанная с нуля, в синтезе с GNU утилитами, как линукс, то из этого вытекает первое отличие. FreeBSD — это целостная операционная система. В составе FreeBSD поставляется вместе и пакетный менеджер, и файловые утилиты, и текстовый редактор vi, и демон инициализации, и куча других утилит, необходимых, для составления минимальной UNIX.
  2. Из предыдущей особенности следует то, что FreeBSD — один дистрибутив. В нем все так, как описано в FreeBSD Handbook, в то время, как в мире Linux такие гиганты, как Debian и Fedora сильно различаются, и пакет ПО от одного дистрибутива ни как не подойдет другому. Да даже разные версии одного и того же дистрибутива Debian, например, один использует System V init, другой уже systemd.
  3. Поскольку, FreeBSD — это целостная ОС, то можно отделить мух от котлет или систему от стороннего ПО. Все сторонние программы устанавливаются в директории /usr/local/.
  4. Программы предлагается устанавливать двумя способами: либо с помощью диспетчера пакетов, либо с помощью коллекции портов.

Пакетный менеджер

До 10-й версии роль пакетного менеджера выполняли набор утилит pkg_add, pkg_delete, pkg_info, pkg_version, pkg_search. Похоже, что разработчики системы решили следовать философии UNIX «программа должна выполнять одну функцию, но должна выполнять её хорошо» до конца. Прежний пакетный менеджер не хранил информацию о составе репозитория, а просто пытался с помощью fetch скачать пакет с FTP ресурса и установить его. Помимо этого, он мог удовлетворять зависимости.
В 10-й версии они обновили пакетный менеджер и он стал привычнее для линуксоида. Теперь он состоит из одной утилиты pkg и может искать пакеты по индексу. Примеры комманд:
pkg search foo
pkg install foo
pkg info
pkg upgrade
pkd delete foo

Коллекция портов

Помимо пакетного менеджера, во FreeBSD можно устанавливать ПО из коллекции портов. Для установки программы вы ищите программу с помощью whereis переходите в папку с портом и вбиваете комманду make install.
Так просто. Несмотря на то, что это выглядит топорно, установленное ПО регистрируется в БД и его можно переустанавливать или удалять из пакетного менеджера. Аналогично, установленными пакетами вы можете управлять из коллекции портов.

Демон инициализации

Нет никакого распараллеливания загрузки, зависимостей служб. Вообще система инициализации проста как топор. Она выполняет скрипт /etc/rc.conf и переменные в нем использует для запускаемых скриптов. Чтобы запустить нужную вам службу, например DBus, вы в файл rc.conf добавляете строку:
dbus_enable="YES"
Да, факт определения такого значения переменной с таким именем определяет то, будет ли служба автоматически запускаться.

Документация

У FreeBSD есть довольно качественное руководство пользователя Handbook, и его стоит почитать хотя-бы в русском варианте. В нем вы прочитаете про то, как пользоваться UNIX, почему такой какой он есть и определения характерные для UNIX систем (демоны, процессы, точки монтирования, устройства, и т.д.). Почему следует читать доки в Английском варианте, а не в русском. Потому, что на момент написания статьи русской доки не актуальны для FreeBSD 10, более того, в нем не написано много того, что написано в английской доке.

Выводы

Кому можно было бы посоветовать эту ОС. Ну наверное, не стоит её советовать среднестатистическому пользователю Windows, который не хочет разбираться в системе. Тем более, если он не видел консольный интерфейс, потому что процесс установки и настройки ему покажется шаманством и вызовом злых духов. Определенно на нее стоит посмотреть, если вы хотите изучить классический *nix. Ещё вы можете её использовать, если лучше меня знаете, где FreeBSD выигрывает у Linux.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*