Релиз FreeBSD 8.3
18 апреля 2012 года
Анонсирован релиз FreeBSD 8.3, продолжающий развитие прошлой стабильной ветки и позиционируемый для обновления систем уже использующих FreeBSD 8.x и пользователей желающих сохранить максимальный уровень совместимости с текущей конфигурацией. Кроме исправления ошибок, новая версия включает в себя поддержку нового оборудования и бэкпортирование некоторых возможностей из FreeBSD 9.0, без нарушения совместимости и без кардинальных изменений. Установочные образы доступны(недоступная ссылка) для архитектур amd64, i386, pc98 и sparc64 в форме DVD, CD, Memstick (для USB Flash), BootOnly и LiveFS. Дополнительно сформирована сборка для установки в облачном окружении Amazon EC2.
Ключевые улучшения:
- В подсистему USB добавлена реализация фильтра USB-пакетов, который позволяет перехватывать пакеты, идущие через каждый USB host контроллер, используя bpf-подобные правила. Для управления фильтром подготовлена утилита usbdump;
- В TCP/IP стеке обеспечена поддержка фреймворка mod_cc, позволяющего динамически манипулировать методами контроля перегрузки TCP. Подготовлено пять динамически загружаемых модулей с реализацией различных алгоритмов для контроля перегрузки (Congestion Control) в TCP: HTCP, CUBIC, Vegas, HD и CHD. Активный алгоритм выбирается через sysctl net.inet.tcp.cc.algorithm, список доступных алгоритмов можно посмотреть через sysctl net.inet.tcp.cc.available. Со стороны приложений проверить какой для текущего соединения будет использован алгоритм контроля перегрузки можно через опцию TCP_CONGESTION для TCP-сокетов. Также доступен Khelp-модуль h_ertt (Enhanced Round Trip Time), позволяющий более точно измерять параметры TCP потока для использования в алгоритмах управления контроля перегрузки TCP;
- Добавлена поддержка GEOM-класса graid с новой реализацией программного RAID, призванной заменить устаревшую систему управления программными RAID-массивами ataraid. Новая реализация основана на использовании инфраструктуры GEOM и построена в соответствии с принципами модульной архитектуры, что позволило разделить систему на базовый модуль, модули для обработки преобразования данных (RAID-уровни) и модули для определения формата хранения мета-данных на диске. В отличии от ataraid, graid не зависит от устаревшей подсистемы ata и может быть использован с любыми драйверами дисковой подсистемы, включая новые, основанные на CAM (ahci, siis, mvs, ata с использованием "options ATA_CAM"). Поддерживаются популярные форматы метаданных Intel, JMicron, NVIDIA, Promise (используется AMD/ATI) и SiliconImage. Реализованы следующие RAID-уровни: RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT;
- Обновление кода ZFS zpool до версии 28. Из особенностей новой версии можно отметить: поддержку автоматического распознавания и объединения дубликатов данных; реализацию RAIDZ3, отличающегося от RAIDZ хранением трех копий структур, обеспечивающих целостность; добавление утилиты "zfs diff" для просмотра изменений между двумя ZFS-снапшотами или между снапшотом и текущим состоянием ФС; поддержка команды zpool split для разбиения отзеркалированного zpool-раздела на несколько раздельных пулов; возможность импорта пула в режиме только для чтения; ускорение выполнения операций по созданию и удалению снапшотов. Более подробный обзор отличий ZFSv28 от ранее доступных версий ZFS v13-v15 можно посмотреть здесь. В утилиту zpool добавлена поддержка команды "zpool labelclear", позволяющей очищать метки с диска, который не активен в пуле;
- Во фреймворке DTrace в дополнение к модулю systrace реализованы модули systrace_linux32 и systrace_freebsd32 для трассировки 32-разрядных системных вызовов linux32 и freebsd32 на 64-разрядной платформе FreeBSD/amd64;
- Подготовлены фреймворки Khelp (Kernel Helpers) и hhook (Helper Hook), представляющие KPI-интерфейс для создания модулей ядра, на лету обеспечивающих выполнение определённых сервисных функций. Hhook обеспечивает возможность экспорта хуков в ядро, которые затем могут быть использованы khelp-модулями для добавления новой расширенной функциональности в ядро, в том числе динамического расширения runtime-возможностей ядра с сохранением ABI. Через khelp в настоящее время уже реализованы дополнительные алгоритмы контроля перегрузки TCP;
- Реализованы новые системные вызовы posix_fallocate и posix_fadvise. В системные вызовы e open(2) и fhopen(2) добавлена поддержка флага O_CLOEXEC;
- В пакетном фильтре ipfw реализованы новые действия "call" и "return", позволяющие организовать выполнение типовых "подпрограмм", которые могут быть вызваны из разных участков правил. Когда обработка достигает правила с действием "call", текущий номер правила сохраняется в стеке и осуществляется переход к номеру правила, на который ссылается текущее действие "call". В дальнейшем, если обработка дошла до правила с действием "return", осуществляется возврат к следующему номеру, идущему после запомненной в стеке позиции. Действие "call" похоже на "skipto" и отличается только возможностью возврата в исходную позицию. Кроме того, в netgraph( узле ng_ipfw(4) обеспечена поддержка IPv6;
- В реализации IPSec теперь используется размер хэша в половину от размера хэша аутентификатора для режимов HMAC-SHA-256, HMAC-SHA-384 и HMAC-SHA-512, как того требует RFC 4868. Так как ранее использовался фиксированный размер хэша (96 бит), данное изменение приведёт к нарушению совместимости со старыми выпусками FreeBSD;
- В файловую систему UFS интегрирована поддержка операций TRIM, что позволит увеличить производительность при работе с SSD-накопителями и повысить их срок службы. Включение TRIM производится через опцию "-t" в утилитах newfs и tunefs;
- В подсистему NFS добавлена опция монтирования "nocto", отключающая проверки согласованности кэша "close-to-open", выполняемые на этапе открытия файлов. Включение опции должно увеличить производительности для систем в которых NFS монтируется в режиме только для чтения. Для разделов NFS примонтированных на запись опция должна использоваться с осторожностью и применима только в конфигурациях с низкой активностью записи данных;
- Обновлены версии сетевых драйверов, обеспечена поддержка сетевых контроллеров Chelsio T4, Intel I350 PCIe Gigabit Ethernet, RDC Semiconductor R6040 10/100 PHY, RTL8168E/8111E-VL PCIe Gigabit Ethernet, RTL8401E PCIe Fast Ethernet, RTL810xE PCIe Fast Ethernet, RTL8105E PCIe Fast Ethernet, RDC R6040 Fast Ethernet;
- Добавлен драйвер tws(4) для RAID-контроллеров 3ware 9750 SATA+SAS 6Gb/s. Обновлены драйверы arcmsr и mxge;
- В драйвере ada (подсистема CAM) обеспечена возможность управления кэшем на запись, для включения кэширования операций записи следует записать 1 в sysctl-переменную kern.cam.ada.write_cache или kern.cam.ada.N.write_cache;
- Изменения в приложениях:
- В tftpd устранена ошибка, из-за которой наблюдались проблемы с передачей больших файлов для некоторых TFTP-клиентов;
- Добавлена команда poweroff, эквивалентная "shutdown -p now";
- В newsyslog добавлена поддержка сжатия xz;
- В утилиту ppp добавлены команды "iface name name" и "iface description description", идентичные по своей сути командам name и description утилиты ifconfig;
- В утилиту ps добавлена поддержка опций "-o usertime" и "-o systime" для раздельного вывода времени выполнения на уровне системы и в пространстве пользователя;
- В библиотеки libmd и libcrypt добавлена поддержка алгоритмов SHA-256 и SHA-512;
- Новая реализация API readline, используемого для организации автодополнения команд, интегрирована в libedit. Новый API основан на наработках NetBSD и распространяется в рамках лицензии BSD, что позволило уйти от использования GNU libreadline;
- В утилиту cpuset добавлена опция "-C", предназначенная для создания новой группы cpuset и привязки к ней существующего процесса;
- Программа hastd теперь сбрасывает привилегии root после запуска рабочего процесса. Добавлена поддержка новых ключей: checksum (выбор алгоритма проверки контрольных сумм: none, sha256, crc32), compression (выбор алгоритма сжатия: none, hole, lzf), source (указания локального IP для ожидания на нём соединений);
- В утилиту makefs добавлена поддержка формата ISO 9660;
- Обновлены версии поставляемых в базовой системе сторонних проектов: awk от 7 августа 2011 года, BIND 9.6-ESV-R5-P1, netcat 4.9, GNU GCC и libstdc++ ревизия 127959 из ветки gcc-4_2 (последняя ветка с лицензией GPLv2), LESS v444, OpenSSH 5.4p1, sendmail 8.14.5, unifdef 2.5.6, xz 5.0.1;
- Порт с KDE (x11/kde4) обновлён с 4.5.5 до версии 4.7.4, а порт с GNOME (x11/gnome2) так и поставляется с версией 2.32.1;
Для бинарного обновления уже установленных прошлых версий FreeBSD необходимо выполнить:
Загружаем обновления: freebsd-update upgrade -r 8.3-RELEASE Устанавливаем обновления, попутно отвечая на вопросы, касающиеся решения конфликтов при обновлении файлов конфигурации: freebsd-update install Перезагружаем систему: shutdown -r now Еще раз выполняем (на первом этапе было установлено новое ядро, теперь устанавливаем компоненты пользовательского уровня): freebsd-update install shutdown -r now
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.