Релиз FreeBSD 11.0
2016-10-10
Официально представлен релиз FreeBSD 11.0, который доступен для архитектур amd64, i386, powerpc, powerpc64, sparc64, armv6 (BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, Raspberry Pi B, Raspberry Pi 2, PANDABOARD, WANDBOARD) и aarch64 (arm64):. Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2.
- Новая система автоматического монтирования ФС (automounter), унифицированная с реализациями из других Unix-систем (macOS, Solaris), использующая совместимый с Solaris формат сопоставления точек монтирования и поддерживающая интеграцию с LDAP. В auto_master добавлен новый тип сопоставления "-media", позволяющий автоматизировать подключение внешних накопителей CD и USB, а также тип "-noauto" для обработки записей noauto в fstab;
- Добавлена возможность загрузки с временным rootfs, вместо которого затем монтируется реальный корневой раздел. Процесс смены корневого раздела реализован в форме частичного завершения работы с удалением всех процессов, отмонтированием rootfs, монтированием нового rootfs, запуском процесса init и переходом к выполнению скриптов инициализации;
- Новая высокопроизводительная реализация системного вызова sendfile, предназначенного для организации прямой передачи данных между файловым дескриптором и сокетом, поддерживающая отправку файла в сокет в асинхронном режиме без ожидания завершения чтения файла.
- Новая версия подсистемы NetMap c поддержкой двунаправленных потоков, поддержкой kqueue, улучшенной пользовательской библиотекой, возможностью эмуляции netmap для любых адаптеров без родной поддержки netmap, интеграцией со стеком VALE (используется в системе виртуализации bhyve);
- Усовершенствован гипервизор BHyVe, в котором добавлена поддержка новых типов гостевых систем. В настоящее время поддерживается создание хост-систем на базе платформы FreeBSD/AMD64 и запуск гостевых систем c FreeBSD 8+, Linux i386/x64, OpenBSD i386/amd64, NetBSD/amd64, Illumos и Windows Vista/7/8/10/2008r2/2012r2/2016 x64. Отдельно отмечается возможность запуска гостевых систем FreeBSD/i386 на 64-разрядных хост-системах, поддержка процессоров AMD c аппаратными расширениями SVM и AMD-V, поддержка команды DSM TRIM для виртуальных дисков AHCI, поддержка графического режима (эмуляция VGA, framebuffer, мыши, клавиатуры, XHCI USB с применением сервера VNC для доступа к экрану гостевой системы);
- В Xen добавлена поддержка запуска гостевых систем FreeBSD/amd64 в режиме PVH, который комбинирует элементы режимов паравиртуализации (PV) и полной виртуализации (HVM). Проведена оптимизация производительности драйвера netfront и добавлена поддержка unmapped IO в драйверы blkfront, virtio_blk и virtio_scsi;
- В механизм управления ресурсами RCTL добавлена возможность ограничения пропускной способности операций с файловой системой. Поддерживается ограничение полосы пропускания чтения/записи (байт в секунду) и интенсивности операций ввода/вывода (число операций чтения/записи в секунду). Также представлен новый механизм придерживания запуска процессов в условиях превышения лимита;
- Добавлена поддержка стандарта 802.11n для сетей Wi-Fi, позволяющенго добиться скорости передачи данных в беспроводной сети до 600 Мбит/с в конфигурации адаптера с четырьмя антеннами (для одной антенны до 150 Мбит/с).
- Из NetBSD бэкпортирована библиотека libblacklist и связанное с ней приложение Blacklistd, которые можно использовать для реализации динамического межсетевого экрана для защиты от попыток взлома локальных сервисов, таких как ssh, named и ftpd, или для блокирования IP-адресов, участвующих в DDoS-атаках;
- Добавлена поддержка архитектуры AArch64 (arm64);
Другие улучшения:
- Улучшена поддержка систем с архитектурой NUMA;
- Возможность ведения черного списка сбойных областей памяти;
- Обновление компилятора Clang до версии 3.8.0. Для платформ amd64 и arm64 по умолчанию задействован отладчик LLDB, развиваемый проектом LLVM;
- В базовой системе задействованы варианты утилит для работы с объектными файлами в формате ELF - addr2line, elfcopy (strip), nm, readelf, size и strings из набора ELF Tool Chain, эквивалентного набору GNU Binutils, но распространяемого под лицензией BSD;
- В TCP-стеке добавлена поддержка определения PLPMTUD (Packetization Layer Path MTU Discovery, RFC 4821), которая отключена по умолчанию. Для включения следует использовать sysctl net.inet.tcp.pmtud_blackhole_detection, net.inet.tcp.pmtud_blackhole_mss и net.inet.tcp.v6pmtud_blackhole_mss;
- Большая порция улучшений, связанных с поддержкой различных устройств с процессорами ARM, ARM64 и PowerPC;
- В jail добавлена поддержка монтирования linprocfs и linsysfs;
- В jail добавлена возможность по разделению SYSV IPC примитивов, что дает возможность иметь в каждом jail независимую область SYSV IPC;
- Для хэширования паролей в функции crypt по умолчанию задействован алгоритм SHA512;
- Реализация IPsec расширена поддержкой аппаратных и программных режимов AES;
- При помощи Capsicum обеспечен сброс привилегий утилиты ping;
- Усилена защита от переполнения стека;
- Обеспечена возможность использования DRM/KMS-драйверов AMD Radeon при запуске 32-разрядных приложений на 64-разрядных хостах;
- Для звуковых адаптеров с интерфейсом USB добавлена поддержка более 8 звуковых каналов на PCM-поток;
- В установщик bsdinstall добавлен модуль для настройки беспроводных адаптеров;
- В редактор разделов из состава bsdinstall и в утилиту sade добавлена родная поддержка ZFS. Установка GPT+BIOS+GELI через bsdinstall/zfsboot теперь производится с привлечением GELIBOOT, что позволяет создавать ZFS Boot Environment с ZFS-пулами, зашифрованными при помощи GELI;
- В состав включен демон zfsd, обеспечивающий управление запасными дисками (hotspare) и заменой дисков;
- В gpart добавлена поддержка схем компоновки разделов disklabel64, apple-boot, apple-hfs и apple-ufs, а также GPT-разделов с атрибутом lenovofix;
- Удалена поддержка протокола IPX;
- В состав включена реализация протокола iSER (iSCSI Extensions for RDMA) от компании Mellanox;
- В команду iscsictl добавлена возможность определения доступных iSCSI target без подключения к ним;
- В newsyslog.conf обеспечено включение настроек, разнесённых по отдельным файлам в /etc/newsyslog.conf.d/ и /usr/local/etc/newsyslog.conf.d/;
- В утилите ifconfig по умолчанию обеспечена установка параметров беспроводного интерфейса, отвечающих требованиям FCC;
- В утилитах ps и top добавлена возможность фильтрации вывода по идентификатору или имени jail-окружения (флаг -J);
- Во freebsd-update добавлена защита от загрузки обновления в ситуации незавершения установки прошлого обновления;
- В подсистеме rc добавлена возможность размещения настроек в файлах ${LOCALBASE}/etc/rc.conf.d/ (LOCALBASE по умолчанию указывает на /usr/local).
- В подсистему rc добавлены новые команды: describe для вывода описания rc-скриптов и extracommands для показа всех нестандартных команд, предоставляемых rc-скриптом (таких как reload, configtest и keygen);
- Директория с модулями для загрузчика по умолчанию изменена на /boot/modules;
- В поставляемом в базовой системе OpenSSH 7.2p2 включён по умолчанию режим sandbox-изоляции и удалена поддержка протокола SSH-1. По умолчанию отключена генерация ключей DSA;
- Включена по умолчанию опция WITH_SYSTEM_COMPILER, оптимизирующая сборочный процесс за счёт отключения сборки компонентов кросс-компилятора;
- В беспроводной стек внесены изменения, отключающие по умолчанию показ физических беспроводных устройств. Для просмотра доступных в системе беспроводных устройств следует использовать sysctl net.wlan.devices;
- Библиотека резолвера теперь отслеживает состояние файла /etc/resolv.conf и перезагружает его, если время модификации изменилось;
Источник новости: