Влад Глаголев
OpenBSD 4.3: что новенького?
Данная статья знакомит с последними новшествами и изменениями, вошедшими в финальный релиз открытой операционной системы OpenBSD 4.3.
Как известно, релизы OpenBSD выходят дважды в год: 1 мая и 1 ноября, и перед нами очередной релиз OpenBSD 4.3 (http://www.openbsd.org/43.html).
Изменений, как всегда, очень много, и это отразилось на всей ОС: начиная от корректировок в пакетном фильтре и заканчивая поддержкой новых процессорных архитектур.
OpenBSD – это полноценная операционная система, включающая в себя не только ядро (kernel), но ещё и огромный набор встроенных программ (userland). Именно это делает OpenBSD такой близкой к UNIX, где множество программ напрямую зависит от системных вызовов. Такой подход представляет каждую UNIX-подобную операционную систему уникальной.
Так, большинство программ для OpenBSD (например, tar) были переписаны в своё время под лицензии BSD/ISC, что сделало её в большинстве случаев независимой от «свободы» GNU.
В последние релизы также входит X.Org (под кодовым названием Xenocara). X.Org в OpenBSD представляет собой постоянно обновляющуюся ветку X.Org 7 с множественными модификациями исходников разработчиками из команды OpenBSD.
Новшества в ядре
- Долгожданная многопроцессорная поддержка для архитектур sparc64 (исключением пока является лишь Sun Enterprise 10000) и mvme88k (MVME188 и MVME188A).
- OpenBSD теперь может похвастаться поддержкой систем класса K (K200 и K410) для архитектуры hppa.
- Множество новых драйверов добавлено для архитектуры sgi.
- Улучшена поддержка оборудования в системе, включающая драйверы для широкого спектра устройств (более 30 новых чипсетов):
- сетевых карт (BCM5906/BCM5906M 10/100 и BCM5755 10/100/Gigabit);
- аудиокарт (VIA Envy24);
- RAID-контроллеров (Dell CERC6/PERC6 и LSI SAS1078);
- температурных сенсоров (TI THMC50, Analog ADM1022/1028);
- и другой экзотической периферии.
Отмечу, что большое внимание в течение разработки было уделено беспроводным устройствам, но об этом в конце статьи.
Новшества в пользовательском окружении
Новые программы:
- snmpd/snmpctl – SNMP-сервер и программа его управления;
- pcidump – позволяет получить детализированную информацию о подключенных PCI-устройствах;
- ldattach – служит для привязки обработчика к последовательному интерфейсу, что позволяет отправлять/получать данные через него.
Обновление функционала:
- добавлена поддержка X11 для архитектуры sgi;
- некоторые драйверы аудиоустройств поддерживают многоканальное воспроизведение и запись (если железо это обеспечивает):
- cmpci (C-Media CMI8338, CMI8738, CMI8768);
- auvia (встроенные устройства AC'97 VIA VT82C686A, VT8233, VT8235, VT8237);
- auich (карточки Intel (ICH));
- eso (ESS Technology Solo-1 PCI AudioDrive);
- 64-битная адресация блоков в файловой системе FFS: обеспечивает поддержку дисков, разделов и файловых систем, размер которых превышает 2 Тб;
- автоматическое размонтирование файловых систем на USB-устройствах;
- улучшена производительность работы с Flash-устройствами посредством включения DMA (что увеличило скорость записи/чтения);
- упрощена конфигурация балансировки нагрузки CARP;
- несуществующие разделы в fstab просто игнорируются, что теперь не будет мешать монтированию нижеследующих разделов;
- автоматическое определение разделов EXT2 для архитектур sparc и sparc64;
- в основной файл пакетного фильтра PF (pf.conf) теперь можно подключать дополнительные;
- поддержка IPv6 для демона sppp;
- псевдоустройства svnd теперь могут работать с блоковыми устройствами;
- улучшена работа программы disklabel, добавлена возможность определения разделов NTFS;
- SCSI-драйверы теперь более надёжны на многопроцессорных системах;
- TCP-ответы на высокофрагментированные пакеты теперь формируются без опасения за повреждение памяти ядра;
- установка длины ключей AES 192 и 256 бит для IPSEC в конфигурационном файле.
Новые возможности системы портов:
- программа make была переработана с целью обеспечения многозадачной/параллельной сборки (multijob/parallel build): на многопроцессорных системах это значительно повышает производительность сборки портов из исходников.
Изменения в процессе установки/обновления:
- поддержка консоли для всех существующих (поддерживаемых) платформ;
- определение скорости консоли и автоматическое создание /etc/ttys на этапе установки;
- запоминание DNS-серверов при рестарте процесса установки;
- образы установочных дисков теперь доступны и для архитектуры vax.
Обновления основных встроенных программ:
- OpenBGPD 4.3: улучшена корректная обработка префиксов, приводящих к возникновению маршрутных «петель» (route loops);
- OpenNTPD 4.3: реализовано более изящное управление изменением IP-адресов клиентов, улучшения в обработке ошибок и системного протоколирования;
- OpenOSPFD 4.3: опции командной строки теперь синхронизированы с bgpd;
- relayd 4.3 (hoststated/hoststatectl были переименованы в relayd/relayctl):
- улучшены синтаксис конфигурационного файла;
- поддержка перезапуска;
- поддержка фильтров для URL;
- добавлена поддержка совместной работы с snmpd (для отправки SNMP-треппинга);
- добавлена поддержка DNS-трансляций, основанных на UDP;
- OpenSSH 4.8:
- добавлена поддержка chroot для sshd;
- sftp-server теперь встроен в sshd;
- снят лимит на использование 100 файловых дескрипторов (теперь он определяется динамически в зависимости от количества доступных дескрипторов);
- множество других улучшений (http://www.openssh.com/txt/release-4.8).
Более 4900 портов, в состав которых входят:
- GNOME 2.20.3;
- KDE 3.5.8;
- Xfce 4.4.2;
- GNUstep 1.14.2;
- Mozilla Firefox/Thunderbird 2.0.0.12;
- MySQL 5.0.51a;
- PostgreSQL 8.2.6;
- OpenMotif 2.3.0;
- OpenOffice.org 2.3.1.
Статистика портов для поддерживаемых архитектур для релиза 4.3:
- i386: 4782;
- amd64: 4708;
- powerpc: 4634;
- sparc64: 4613;
- alpha: 4233;
- hppa: 3971;
- arm: 3377;
- sparc: 3159;
- sh: 2046;
- mips64: 1897;
- m68k: 830;
- vax: 296.
Известно, что Open Source-сообщество сильно своим единством и взаимопомощью. OpenBSD – яркий пример этому. Сторонние разработчики помогают улучшать свои продукты, а команда OpenBSD в свою очередь включает в состав своей ОС эти наработки.
Основные из них в версии 4.3:
- Xenocara (базируется на X.Org 7.3 (+ патчи), freetype 2.3.5, fontconfig 2.4.2, Mesa 7.0.2, xterm 232 и многие другие составляющие);
- GCC 2.95.3 (+ патчи) и 3.3.5 (+ патчи);
- Perl 5.8.8 (+ патчи);
- улучшенная версия Apache 1.3, с поддержкой SSL/TLS и DSO;
- OpenSSL 0.9.7j (+ патчи);
- Groff 1.15;
- Sendmail 8.14.1 (вместе с libmilter);
- BIND 9.4.2 (+ патчи);
- Lynx 2.8.5rel.4 с поддержкой HTTPS и IPv6 (+ патчи);
- Sudo 1.6.9p12;
- Ncurses 5.2;
- KAME IPv6;
- Heimdal 0.7.2 (+ патчи);
- Arla 0.35.7;
- Binutils 2.15 (+ патчи);
- Gdb 6.3 (+ патчи).
Конечно же, такому функционалу необходима хорошая «текстовая» поддержка для того, чтобы с ним разобраться.
OpenBSD – одна из лучших операционных систем по качеству документирования, точности и актуальности описанных драйверов, системных и программных функций. К выходу релиза 4.3 было обновлено, добавлено и переработано несколько тысяч строк документации.
И напоследок
Спустя несколько дней после официального выхода OpenBSD 4.3 в дерево исходников (ветка -current) была добавлена поддержка WPA/WPA2 для беспроводных устройств, что предвещает интересные тенденции в развитии операционной системы на ноутбуках и других портативных устройствах (где сейчас в основном и используется WPA). Поэтому дождёмся осени и релиза OpenBSD 4.4, который обещает быть ещё более дружелюбным к пользователям.
Приложение
Столлман о свободе OpenBSD
К каждому релизу команда OpenBSD выпускает комикс и размещает его на сайте (http://www.openbsd.org/lyrics.html#43) с некоторыми комментариями, а также песню в форматах ogg и mp3. Не буду вдаваться в музыкальные предпочтения разработчиков, а посмотрим, чему посвящены их художественные старания в выпуске 4.3.
В этот раз команда OpenBSD опровергла представления о свободе одного из именитых личностей в мире Open Source – Ричарда Столлмана (Richard Stallman), основателя проекта GNU и Free Software Foundation. Связано это с ситуацией, когда в списках рассылки OpenBSD Ричард упрекнул разработчиков (http://marc.info/?l=openbsd-misc&m=119730630513821&w=2) в том, что система портов не полностью «чиста» в лицензионном плане, и призвал людей не использовать эту операционную систему.
Конечно же, такие изречения вызвали волну негодования у пользователей и разработчиков OpenBSD. Они сразу же «сбежались» и стали опровергать ляп, который допустил всем известный RMS.
Дело в том, что составляющая часть портов OpenBSD – это скрипты (как и в любой другой системе управления программным обеспечением), написанные разработчиками. Они отвечают за скачивание исходных кодов, компиляцию и установку. В них также отмечается, под какой лицензией распространяется устанавливаемый продукт, и в некоторых случаях (как с Java Development Kit) пользователю приходится самостоятельно скачивать дистрибутивы программ и только потом использовать систему управления пакетами для их установки.
Чистота кода была в очередной раз доказана упорными усилиями, и разработчики OpenBSD придумали на эту тему комикс к грядущему релизу. Начинается комментарий со смешной истории Ричарда Столлмана в самолёте, а последние строки заканчиваются следующим: «That man is a false leader. He is a hypocrite. There may be some people who listen to him. But we don't listen to people who do not follow their own stupid rules».
В общем, судите сами.