Информация о релизе &os;/&arch; &release.current; Проект &os; $FreeBSD$ 2000 2001 2002 2003 2004 2005 Проект документирования &os; &tm-attrib.freebsd; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; &tm-attrib.sparc; &tm-attrib.general; Заметки о релизе для &os; &release.current; содержат общую информацию по изменениям базовой системе &os; в ветви разработки &release.branch;. Этот документ содержит список сообщений безопасности, выпущенных после последнего релиза, а также список значительных изменений, внесенных в ядро и пользовательские программы &os;. Представлены также краткие заметки по обновлению системы. Введение Этот документ содержит информацию о релизе &os; &release.current; для аппаратной платформы &arch.print;. В нем описаны недавно добавленные, измененные, или удаленные возможности &os;. Он также представляет некоторые заметки по обновлению с предыдущей версии &os;. Дистрибутив (&release.type;), для которого предоставлена эта информация, представляет собой последнюю точку на ветви разработки с момента создания &release.branch;. Информацию о собранных бинарных дистрибутивах (&release.type;) из этой ветви можно найти на . ]]> Дистрибутив (&release.type;), для которого предоставлена эта информация, представляет собой точку на ветви разработки между &release.prev; и будущим релизом &release.next;. Информацию о собранных бинарных дистрибутивах (&release.type;) из этой ветви можно найти на . ]]> Этот дистрибутив &os; &release.current; представляет собой &release.type;. Его можно найти на или на любом из зеркал. Дополнительная информация по получению этого (или другого) &release.type; дистрибутива &os; может быть найдена в приложении Получение &os; Руководства &os;. ]]> Всем пользователям рекомендуется ознакомиться с сообщениями о проблемах перед установкой &os;. В этот документ вносятся самая последняя информация, полученная в позже в процессе выпуска релиза или после релиза. Обычно в нем находятся информация о известных ошибках, сообщениях безопасности и исправления документации. Актуальную копию сообщений о проблемах для &os; &release.current; можно найти на веб сайте &os;. Что нового В этом разделе описаны основные видимые пользователю добавленные или измененные с &release.prev; возможности &os;. Как правило, изменения, описанные здесь, уникальны для &release.branch;, если только они не помечены как &merged;. Обычно в информации о релизе последовательно включены последние сообщения безопасности, выпущенные после &release.prev;, информация о поддержке новых драйверов или оборудования, новых команд или параметров, информация о основных исправлениях ошибок, или обновлениях стороннего программного обеспечения. В нем могут также перечисляться изменения важнейших портов/пакетов или практики выпуска релизов. Конечно, в информацию о релизе не вносятся данные о каждом отдельном изменении, сделанном в &os; между релизами; этот документ фокусируется в основном на сообщениях безопасности, видимых пользователю изменениях, и основных архитектурных улучшениях. Сообщения безопасности Была исправлена ошибка в утилите &man.fetch.1;, позволявшая злонамеренному HTTP серверу перезапись произвольных участков памяти клиента. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-04:16.fetch. &merged; Была исправлена ошибка в &man.procfs.5; и &man.linprocfs.5;, позволявшая злонамеренному локальному пользователю читать части памяти ядра или выполнять локальную DoS атаку путем вызова паники системы. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-04:17.procfs. &merged; В клиенте TELNET были исправлены две ошибки переполнения буфера. Они могут позволить злонамеренному серверу TELNET или активному атакующему в сети между клиентом и сервером заставить &man.telnet.1; выполнить произвольный код с привилегиями пользователя, запустившего клиент. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:01.telnet. &merged; В системном вызове &man.sendfile.2; была исправлена ошибка, связанная с раскрытием информации, которая могла позволить передачу произвольных частей памяти ядра. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:02.sendfile. &merged; Было исправлено возможное расширение привилегий в &os;/amd64. Ошибка позволяла непривилегированным пользователям получать прямой доступ к некоторому оборудованию, доступ к которому не мог быть получен без соответствующего уровня привилегий. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:03.amd64. &merged; Была исправлена ошибка в SIOCGIFCONF &man.ioctl.2;, приводившая к утечке информации, из-за которой подвергались утечке 12 байт памяти ядра. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:04.ifconf. &merged; Были исправлены несколько программных ошибок в &man.cvs.1;, которые потенциально могли приводить к выполнению произвольного кода на серверах CVS. Дополнительная информация находится в сообщении безопасности FreeBSD-SA-05:05.cvs. &merged; Была исправлена ошибка установки прав на файл устройства /dev/iir, которая позволяла непривилегированным локальным пользователям отправлять команды оборудованию, поддерживаемому драйвером &man.iir.4;. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:06.iir. &merged; Была исправлена ошибка в проверке аргументов системного вызова &man.i386.get.ldt.2;, которая позволяла раскрытие информации в памяти ядра пользовательским процессам. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:07.ldt. &merged; Были исправлены несколько ошибок, позволявших раскрытие информации в различных областях памяти ядра. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:08.kmem. &merged; Вследствие обнаружения в процессорах с Hyper-Threading Technology (HTT) уязвимости, приводящей к раскрытию информации, была добавлена переменная sysctl machdep.hyperthreading_allowed. По умолчанию она установлена в 1 (HTT включена) в &os; CURRENT, и в 0 (HTT выключена) в в ветвях разработки 4-STABLE и 5-STABLE и в поддерживаемых ветвях с исправлениями безопасности. Дополнительная информация находится в сообщении безопасности FreeBSD-SA-05:09.htt. &merged; Была исправлена ошибка в утилите &man.tcpdump.1;, позволявшая злонамеренному удаленному пользователю выполнение DoS атаки путем использования сформированных специально для этого пакетов. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:10.tcpdump. &merged; Было исправлено две проблемы в утилите &man.gzip.1;. Вследствие этих проблем локальный пользователь мог изменить права произвольных файлов и перезаписать произвольные локальные файлы при распаковке файла. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:11.gzip. &merged; Была исправлена ошибка в BIND 9 DNSSEC. Если DNSSEC включен, эта ошибка может позволить удаленно вызвать завершение работы &man.named.8; путем отправки ему специально сформированных пакетов. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:12.bind9. &merged; Была исправлена ошибка в &man.ipfw.4;, которая могла приводить к неправильному сопоставлению пакета с lookup table. Эта ошибка проявлялась только на SMP компьютерах, или на однопроцессорных компьютерах с включенным параметром ядра PREEMPTION. Более подробная информация находится в сообщении безопасности FreeBSD-SA-05:13.ipfw. &merged; В &man.bzip2.1; были решены две проблемы, связанные с безопасностью. Они включали потенциальную возможность DoS и неавторизованное изменение прав на файлы. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:14.bzip2. &merged; Были исправлены две проблемы в TCP стеке &os;. Они могут позволять атакующему задерживать существующие TCP соединения, что приводит к созданию DoS. Более подробная информация находится в сообщении безопасности FreeBSD-SA-05:15.tcp. &merged; Изменения в ядре Поддержка процессоров 80386 (опция ядра I386_CPU) была удалена. Пользователям, запускающим систему на этом классе CPU, предлагается использовать &os; 5.X или более раннюю. Отладчик ядра &man.ddb.4; теперь поддерживает команду show alllocks, которая выводит список процессов и потоков, удерживающих в данный момент sleep мьютексы (и spin мьютексы для текущего потока). &merged; Драйвер &man.ichsmb.4; теперь доступен в виде загружаемого модуля ядра. &man.jail.8; теперь поддерживает новую переменную sysctl security.jail.chflags_allowed, которая контролирует поведение &man.chflags.1; внутри jail. Если переменная установлена в 0 (значение по умолчанию), внутри jail root считается непривилегированным пользователем; если она установлена в 1, различий между пользователем root внутри jail и вне jail не делается. &merged; Переменная sysctl security.jail.getfsstatroot_only была переименована в security.jail.enforce_statfs и теперь поддерживает следующие политики: Значение Политика 0 Показывать все точки монтирования без каких-либо ограничений. 1 Показывать только точки монтирования внутри каталога jail и только часть пути к точке монтирования (например, если каталог jail /jails/foo и точка монтирования /jails/foo/usr/home, будет показано только /usr/home). 2 Показывать только точку монтирования, под которой находится каталог jail. Переменная загрузчика debug.mpsafevm была включена по умолчанию. &merged; Был добавлен &man.memguard.9;, выделитель памяти ядра, разработанный в качестве помощи для обнаружения сценариев tamper-after-free. Он должен быть явно добавлен через options DEBUG_MEMGUARD, с небольшими изменениями ядра. Он как в основном предназначен для использования разработчиками ядра. struct ifnet и API сетевых интерфейсов были изменены. Вследствие несовместимости ABI, все драйверы, не входящие в базовую систему &os;, должны быть обновлены и перекомпилированы для использования нового API. Множество ошибок было исправлено в планировщике ULE. &merged; Была добавлена fine-grained блокировка, чтобы позволить большей части стека VFS работать без Giant блокировки. Она включена по умолчанию на архитектурах alpha, amd64 и i386, и может быть выключена установкой переменной загрузчика (и переменной sysctl) debug.mpsafevfs в 0. Была исправлена ошибка в обработке Inter-Processor Interrupt (IPI), которая могла вызвать крах SMP систем под высокой нагрузкой. Более подробная информация опубликована в сообщении о проблеме FreeBSD-EN-05:03.ipi. &merged; Объекты System V IPC (очереди сообщений, семафоры, и разделяемая память) теперь поддерживают политики принудительного контроля доступа (MAC) &man.mac.biba.4;, &man.mac.mls.4;, &man.mac.stub.4;, и &man.mac.test.4;. Выделение памяти для старых PCI мостов было ограничено до 32MB RAM. Многие старые мосты позволяют выделение памяти только из этого диапазона. Изменение применяется только к устройствам, память которых не выделена BIOS. Это изменение исправляет ошибку bad Vcc мостов CardBus (&man.pccbb.4;). &merged; &man.sysctl.3; MIB, начинающиеся с debug, теперь требуют параметр ядра options SYSCTL_DEBUG. Этот параметр выключен по умолчанию. Был добавлен общий драйвер интерфейса &man.tty.4; и многие драйвера устройств, включая &man.cx.4; ({tty,cua}x), &man.cy.4; ({tty,cua}c), &man.digi.4; ({tty,cua}D), &man.rc.4; ({tty,cua}m), &man.rp.4; ({tty,cua}R), &man.sab.4; ({tty,cua}z), &man.si.4; ({tty,cua}A), &man.sio.4; ({tty,cua}d), sx ({tty,cua}G), &man.uart.4; ({tty,cua}u), &man.ubser.4; ({tty,cua}y), &man.ucom.4; ({tty,cua}U) и &man.ucycom.4; ({tty,cua}y) были переписаны для его использования. Обратите внимание, что файлы /etc/remote и /etc/ttys также были обновлены. Был добавлен драйвер &man.vkbd.4;. Этот драйвер предоставляет программный loopback механизм, который позволяет реализовать виртуальную клавиатуру AT подобно тому, как драйвер &man.pty.4; делает это для терминалов. &os; теперь всегда использует локальный APIC таймер даже на однопроцессорных системах. Параметр по умолчанию HZ (контролирующий различные таймеры ядра) был увеличен с 100 до 1000 на i386 и ia64. Он был уменьшен с 1024 до 1000 на amd64 для уменьшения эффектов синхронизации с другими системными часами. Максимальная длина команд shell была изменена с 128 байт до PAGE_SIZE. По умолчанию, это значение или 4KB (i386, pc98, amd64 и powerpc) или 8KB (sparc64 и ia64). В результате, модули совместимости необходимо пересобрать для поддержания синхронизации с ядром. Была добавлена новая переменная загрузчика vm.blacklist. В нее может быть помещен разделенный запятыми список физических адресов. Страницы, помещенные в этот список, не будут добавлены к списку свободных страниц, и будут проигнорированы системой виртуальной памяти &os;. Физические адреса игнорируемых страниц также попадут в буфер сообщений. Изменения в загрузчике Добавлена версия boot0 для последовательной консоли. Она может быть записана на диск с использованием &man.boot0cfg.8; и указанием /boot/boot0sio в качестве аргумента к параметру . cdboot теперь обходит проблему BIOS, встречающуюся на некоторых системах при загрузке с USB CDROM приводов. Команда загрузчика autoboot теперь поддерживает параметр prompt. Команда загрузчика autoboot теперь вовсе не позволит пользователю прервать процесс загрузки, если переменная autoboot_delay установлена в -1. &merged; Был добавлен параметр меню загрузчика для установки hint.atkbd.0.flags=0x1. Это позволяет клавиатуре USB работать если нет подключенной клавиатуры PS/2. Логотип был убран из загрузочного меню. Поддержка оборудования Драйвер &man.acpi.4; выключает устройства ACPI и PCI или переводит их в режим пониженного энергопотребления в режиме suspend, и возвращает обратно при восстановлении. Это поведение может быть заблокировано установкой переменных sysctl debug.acpi.do_powerstate и hw.pci.do_powerstate в 0. Был добавлен драйвер &man.acpi.ibm.4; для лэптопов IBM. В него были добавлены поддержка горячих клавиш, функция получения статуса вентилятора и датчиков температуры. Был добавлен драйвер &man.acpi.fujitsu.4; для кнопок контроля &man.acpi.4; на лэптопах Fujitsu. Был добавлен драйвер acpi_sony, поддерживающий Sony Notebook Controller на различных лэптопах Sony. The &man.atkbdc.4;, &man.atkbd.4;, and &man.psm.4; drivers have been rewritten in more bus-independent way, and now support EBus found on sparc64 platform. Следующие драйверы устройств были добавлены и включены по умолчанию в ядре GENERIC: &man.atkbdc.4;, &man.atkbd.4;, creator(4), machfb(4), &man.syscons.4;, &man.ohci.4;, &man.psm.4;, &man.ukbd.4;, &man.ums.4;, и &man.usb.4;. Был добавлен драйвер &man.auxio.4;; он поддерживает некоторые вспомогательных функций ввода/вывода, обнаруженных в различных SBus/EBus &ultrasparc; моделях. &merged; Был добавлен драйвер clkbrd для поддержки устройства clock-board, часто обнаруживаемого в серверах Sun Exx00. Была добавлена инфраструктура для гибкого управления скоростью процессора. Она предоставляет различным драйверам методы управления энергопотреблением CPU путем изменения скорости процессора. Более детальная информация находится на странице справочника &man.cpufreq.4;. &merged; В настоящее время поддерживаются драйверы ichss (Intel SpeedStep for ICH), acpi_perf (ACPI CPU performance states), и acpi_throttle (ACPI CPU throttling). Последние два драйвера включены в драйвер &man.acpi.4;. Поддерживаемые драйверы могут быть индивидуально отключены путем установки хинтов, таких как hint.ichss.0.disabled="1". Был добавлен драйвер аппаратного мониторинга производительности, &man.hwpmc.4;. Этот драйвер виртуализует функции аппаратного мониторинга производительности современных CPU и предоставляет поддержку для использования этих функций пользовательскими процессами. За дополнительной информацией обращайтесь к страницам справочника &man.hwpmc.4;, соответствующих библиотек и программ пользователя. Поддержка подсистемы OLDCARD была удалена. Для поддержки всех устройств PCCARD в настоящее время используется NEWCARD. Был добавлен драйвер pcii для поддержки карт GPIB-PCIIA IEEE-488. &merged; Драйвер &man.atkbd.4; теперь поддерживает флаг 0x8 (bit 3) для отмены тестирования порта клавиатуры во время тестирования устройств, поскольку оно вызывало сбой в некоторых системах, например на Compaq R3000Z series лэптопах amd64. Был добавлен драйвер &man.pbio.4;, поддерживающий прямой доступ к Intel 8255A programmable peripheral interface (PPI) в режиме 0 (простой ввод/вывод). Драйвер &man.psm.4; теперь лучше подходит для пользователей Synaptics Touchpad. Теперь он лучше отслеживает низкоскоростные перемещения и поддерживает различные дополнительные кнопки. Эти возможности могут быть настроены с помощью иерархии sysctl hw.psm.synaptics.*. Был добавлен драйвер rtc для поддержки MC146818-совместимых часов, обнаруженных на некоторых моделях &ultrasparc; II и III. &merged; Драйвер &man.syscons.4; теперь поддерживает режимы VESA (15, 16, 24 и 32 бит). Для включения этой функциональности, необходимо добавить два параметра ядра, SC_PIXEL_MODE и VESA (или загрузить соответствующий модуль ядра). Драйвер &man.uart.4; был включен в ядре GENERIC, и теперь это драйвер по умолчанию для последовательных портов. Драйверы ofw_console и &man.sab.4; теперь выключены в ядре GENERIC. &merged; Драйвер &man.uftdi.4; теперь поддерживает микросхему FTDI FT2232C. Драйвер &man.uplcom.4; теперь поддерживает обработку сигнала CTS. Был улучшен драйвер &man.ehci.4;. Драйвер zs был удален, вместо него должен использоваться драйвер &man.uart.4;. Поддержка мультимедиа Был добавлен драйвер &man.snd.audiocs.4; для поддержки Crystal Semiconductor CS4231 аудио контроллера, обнаруженного на рабочих станциях &ultrasparc;. &merged; Драйвер &man.uaudio.4; теперь содержит некоторую дополнительную функциональность, включая контроль уровня на большем числе входов и возможность записи на некоторых устройствах. &merged; Поддержка сетевых интерфейсов Драйвер &man.ath.4; был обновлен, чтобы выделить алгоритм контроля скорости передачи данных в отдельный модуль. При использовании драйвера &man.ath.4; в файл конфигурации ядра необходимо включить одно из устройств device ath_rate_onoe, device ath_rate_amrr или device ath_rate_sample. Драйвер &man.bge.4; теперь поддерживает инфраструктуру &man.altq.4;, а также микросхемы BCM5714, 5721, 5750, 5751, 5751M и 5789. &merged; Был добавлен USB Communication Device Class Ethernet драйвер &man.cdce.4;. &merged; Драйвер &man.cp.4; теперь MPSAFE. &merged; Драйвер &man.ctau.4; теперь MPSAFE. &merged; Драйвер &man.cx.4; теперь MPSAFE. &merged; Драйвер &man.dc.4; теперь поддерживает инфраструктуру &man.altq.4;. &merged; Драйвер &man.ed.4; теперь поддерживает инфраструктуру &man.altq.4;. &merged; В драйвере &man.em.4; была выключена по умолчанию аппаратная поддержка тегов VLAN, поскольку эта функция конфликтовала с promiscuous режимом. &merged; Контроль потока Ethernet отключен по умолчанию в драйвере &man.fxp.4; для предотвращения проблем в подсети при возникновении паники системы или при включенном отладчике ядра. &merged; Драйвер gx(4) был удален, поскольку он не поддерживается достаточно активно, и драйвер &man.em.4; поддерживает все поддерживаемое им оборудование. Драйвер &man.hme.4; теперь MPSAFE. &merged; Были добавлены драйверы &man.ipw.4; (для Intel PRO/Wireless 2100), &man.iwi.4; (для Intel PRO/Wireless 2200BG/2225BG/2915ABG), &man.ral.4; (для Ralink Technology RT2500), и &man.ural.4; (для Ralink Technology RT2500USB). Драйвер &man.ixgb.4; теперь MPSAFE. &merged; Драйвер musycc для сетевой интерфейсной карты LanMedia LMC1504 T1/E1 не использовался и был удален. Драйверы, использующие конвертер драйверов устройств &man.ndis.4;, теперь создаются и загружаются по-другому. Драйвер &man.ndis.4; теперь может быть предварительно собран как модуль или статически компилирован в ядро. Отдельные драйверы теперь могут быть собраны с использованием утилиты &man.ndisgen.8;; получившиеся модули могут быть загружены в работающее ядро с использованием &man.kldload.8;. &merged; Конвертер драйверов устройств &man.ndis.4; теперь поддерживает бинарные файлы &windows;/x86-64 на системах amd64. &merged; Был добавлен драйвер &man.nve.4;, поддерживающий nVidia nForce MCP Networking Adapter. Драйвер &man.re.4; теперь поддерживает инфраструктуру &man.altq.4;. Драйвер &man.sf.4; теперь поддерживает device polling и &man.altq.4;. &merged; Были исправлены несколько программных ошибок в драйвере &man.sk.4;. Эти ошибки проявлялись на SMP системах, и могли приводить к панике, ошибкам page fault, обрыву соединений SSH или ошибкам при передаче файлов. Более подробная информация находится в сообщении о проблеме FreeBSD-EN-05:02.sk. &merged; Драйвер &man.sk.4; теперь поддерживает &man.altq.4;. Этот драйвер также поддерживает jumbo фреймы на Yukon-based интерфейсах. &merged; Драйвер &man.vge.4; теперь поддерживает device polling (&man.polling.4;). Поддержка устройств 802.11 инфраструктурой &man.wlan.4; тщательно пересмотрена. В дополнение к архитектурным изменениям, реализована полная поддержка 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side power-saving, и инфраструктура плагинов для криптографических модулей, аутентификаторов и контроля доступа. Обратите внимание, что для WEP, в частности, необходима загрузка (или компиляция) модуля wlan_wep в ядро. Драйвер &man.xl.4; теперь поддерживает &man.polling.4;. &merged; Сетевые протоколы MTU feedback в IPv6 выключается при отправке данных, которые должны быть фрагментированы. &merged; Был реализован Common Address Redundancy Protocol (CARP). CARP был взят из OpenBSD и позволяет нескольким хостам совместно использовать один IP адрес, чтобы обеспечивать высокую доступность и распределение нагрузки. За дальнейшей информацией обращайтесь к странице справочника &man.carp.4;. &merged; Была добавлена реализация сетевого моста &man.if.bridge.4;, первоначально появившаяся в NetBSD. Эта реализация поддерживает IEEE 802.1D Spanning Tree Protocol, индивидуальные интерфейсные устройства для каждого моста и фильтрацию проходящих через мост пакетов. Утилита &man.ifconfig.8; теперь поддерживает конфигурацию &man.if.bridge.4;. Параметр &man.ipfw.4; IPDIVERT теперь доступен в виде загружаемого модуля ядра. Если этот модуль не загружен, &man.ipfw.4; не будет загружать правила divert и &man.natd.8; будет возвращать сообщение об ошибке protocol not supported. Система &man.ipfw.4; может работать с debug.mpsafenet=1 (эта переменная равна 1 по умолчанию) когда используются параметры правил gid, jail, и/или uid. &merged; Системы &man.ipfw.4; и &man.dummynet.4; теперь поддерживают IPv6. &man.ipfw.8; теперь поддерживает классификацию и теги пакетов &man.altq.4; через divert сокет. Возможно также указать правила, соответствующие TCP пакетам с определенным значением payload size. Правило &man.ipfw.8; ipfw fwd теперь поддерживает полное управление назначением пакета при установке параметра ядра options IPFIREWALL_FORWARD_EXTENDED в дополнение к параметру options IPFIRWALL_FORWARD. Этот параметр ядра устраняет все ограничения для локально созданных пакетов и позволяет перенаправление пакетов, предназначенных для локально сконфигурированного IP адреса. Обратите внимание, что правила &man.ipfw.8; должны быть составлены аккуратно, чтобы, например, не нарушить определение PMTU. &merged; Система &man.ipfw.8; теперь поддерживает правила только IPv4. &man.ipnat.8; теперь позволяет определять правила перенаправления для не-TCP/UDP пакетов. &merged; Продолжается работа по уменьшению использования Giant блокировки стеком сетевых протоколов и улучшению стратегии блокировки. Библиотека libalias теперь может быть собрана как модуль ядра. Уведомления об изменении статуса сетевых интерфейсов теперь отправляются /dev/devctl. Новый узел NetGraph &man.ng.ipfw.4; предоставляет простой интерфейс между &man.ipfw.4; и &man.netgraph.4;. Был добавлен новый узел &man.ng.nat.4; NetGraph для выполнения функций NAT. Новый узел NetGraph &man.ng.netflow.4; позволяет маршрутизатору, работающему под &os;, выполнять экспорт NetFlow версии 5. &merged; Был добавлен новый узел NetGraph &man.ng.tcpmss.4;. Он поддерживает изменение параметров MSS пакетов TCP. Драйвер &man.sppp.4; теперь включает поддержку Frame Relay &merged; Драйвер &man.sppp.4; теперь MPSAFE. Была реализована новая переменная sysctl net.link.tap.user_open. Она позволяет непривилегированный доступ к файлам устройств &man.tap.4; на основе прав, действующих в файловой системе. Была исправлена ошибка TCP, которая иногда приводила к игнорированию пакетов RST при окне приема в ноль байт. &merged; Обработка RST в стеке TCP &os; была улучшена, чтобы максимально усложнить проведение reset атак при сохранении совместимости с широчайшим набором TCP стеков. Алгоритм работает следующим образом: Для соединений в состоянии ESTABLISHED только сброс с номерами последовательности, точно соответствующими last_ack_sent вызовут сброс: все другие сегменты будут отброшены. Для соединений в любых других состояниях, сброс в любом месте окна приведет к сбросу соединения. Все другие сегменты будут отброшены. Обратите внимание, что это нарушает спецификацию RFC 793: вы можете использовать обычное (но менее безопасное) поведение, установив новую переменную sysctl net.inet.tcp.insecure_rst в 1. &merged; Были исправлены несколько ошибок в реализации TCP SACK. &merged; Поддержка RFC 1644 T/TCP была удалена. Реализация была основана на неполноценной модели безопасности, что облегчало проведение DoS атак. Это расширение было признано дефективным в одном из последних документов Internet Draft. Реализация KAME IPv4 IPsec, интегрированная в &os;, теперь поддерживает TCP-MD5. &merged; Алгоритм Random ephemeral port number allocation приводил к некоторым проблемам с повторным использованием портов при высокой частоте новых подключений. Теперь в периоды, когда новые соединения создаются быстрее, чем net.inet.ip.portrange.randomcps в секунду, рандомизация номеров портов отключается на следующие net.inet.ip.portrange.randomtime секунд. Значения по умолчанию этих двух переменных sysctl равны 10 и 45 соответственно. &merged; Fine-grained блокировка была применена ко многим структурам данных в стеке протоколов IPX/SPX. Хотя протокол и не полностью MPSAFE на данный момент, как правило можно безопасно использовать IPX/SPX без Giant блокировки (другими словами, переменная sysctl debug.mpsafenet может быть установлена в 1). Сокеты Unix теперь поддерживают опции LOCAL_CREDS и LOCAL_CONNWAIT. Опция LOCAL_CREDS предоставляет получателю механизм для получения идентификатора процесса в виде контрольного сообщения &man.recvmsg.2;. Опция LOCAL_CONNWAIT вызывает блокирование в функции &man.connect.2; до тех пор, пока на принимающем сокете не будет вызвана функция &man.accept.2;. Более детальная информация находится на странице справочника &man.unix.4;. Диски и устройства хранения Драйвер &man.amr.4; теперь может безопасно использоваться на системах с &man.pae.4;. &merged; Был добавлен драйвер &man.arcmsr.4;. Он поддерживает контроллеры SATA RAID серий Areca ARC-11xx и ARC-12xx. &merged; Семейство драйверов &man.ata.4; было пересмотрено и обновлено. Оно было разделено на модули, которые могут быть загружены и выгружены независимо (модули atapci и ata необходимы для драйверов устройств, таких как atadisk, atapicd, atapifd, atapist и ataraid). Устройства SATA поддерживают горячее подключение/отключение на поддерживающих эту функцию контроллерах. Поддержка ATA RAID была переписана и теперь поддерживает множество новых форматов метаданных. Драйвер atapicd больше не поддерживает устройства смены CD. Выполненное обновление известно как ATA mkIII. Был добавлен класс SHSEC GEOM. Он предоставлен для разделения секретного ключа (secret) между несколькими провайдерами GEOM. Все эти провайдеры должны присутствовать, чтобы получить секретный ключ. Эта функция контролируется утилитой &man.gshsec.8;. &merged; Был добавлен драйвер &man.hptmv.4;, поддерживающий HighPoint RocketRAID 182x series. &merged; Драйвер &man.ips.4; теперь поддерживает дампы ядра на некоторых современных моделях ServeRAID. &merged; Был удален драйвер &man.matcd.4;. &merged; При загрузке задержка по умолчанию для SCSI в ядре GENERIC была уменьшена с пятнадцати секунд до пяти секунд. Старая подсистема vinum(4) была удалена в пользу новой, основанной на &man.geom.4; версии. Драйвер &man.twa.4; был обновлен до версии 9.2 release (для &os; 5.2.1), распространяемой с веб сайта 3ware. Драйвер &man.wd.4; был удален. Было обнаружено, что драйвер &man.ata.4; работает достаточно хорошо на платформе pc98 и нет необходимости в использовании старого драйвера &man.wd.4;. Информация о вновь смонтированных файловых системах cd9660 (например, информация о наличии расширений RockRidge) теперь печатается только если ядро было собрано в режиме verbose. Это изменение было сделано для уменьшения количества (зачастую ненужных) протоколируемых сообщений ядра. &merged; Файловые системы Вычисление суммарной информации для не размонтированных корректно (dirty) файловых систем UFS и UFS2 больше не выполняется во время загрузки, а делается фоновым &man.fsck.8;. Это изменение увеличивает скорость загрузки при монтировании больших файловых систем после сбоя. Предыдущее поведение может быть восстановлено установкой переменной sysctl vfs.ffs.compute_summary_at_mount в ненулевое значение. &merged; Была исправлена ошибка NFS сервера, приводившая к панике ядра. Более подробная информация находится в сообщении о проблеме FreeBSD-EN-05:01.nfs. &merged; Была добавлена поддержка чтения ReiserFS версии 3. Обращайтесь к &man.mount.reiserfs.8; за подробной информацией. Стороннее программное обеспечение ACPI-CA был обновлен с 20040527 до 20041119. &merged; Изменения в программах пользователя Утилита &man.burncd.8; теперь позволяет задание команд, (таких как eject), выполняемых после выполнения команды fixate. Были реализованы специфичные для данной архитектуры оптимизированные версии &man.bcmp.3;, &man.bcopy.3;, &man.bzero.3;, &man.memcmp.3;, &man.memcpy.3;, &man.memmove.3;, &man.memset.3;, &man.strcat.3; и &man.strcpy.3;. Несколько математических функций, таких как &man.ceill.3; и &man.sqrtf.3; также были замещены оптимизированными версиями. Утилита &man.chflags.1; теперь поддерживает флаг , позволяющий изменять флаги на символических ссылках. Программа &man.ftpd.8; теперь корректно использует коды статуса 212 и 213 для каталога и файла (в предыдущей версии использовался код 211). Это поведение описано в RFC 959. &merged; Команда create утилиты &man.gpt.8; теперь поддерживает параметр командной строки для форсирования создания GPT даже если на диске присутствует запись MBR. &merged; Функция &man.getaddrinfo.3; теперь запрашивает записи DNS A перед записями AAAA, когда указан AF_UNSPEC. Некоторые DNS серверы некорректно возвращают NXDOMAIN в ответ на запрос несуществующей записи AAAA, хотя должны возвращать NOERROR с пустой записью. Это проблема для двойного IPv4/IPv6 стека, поскольку после возврата NXDOMAIN на запрос AAAA приводит к тому, что запрашивающий сервер не пытается разрешить запись A. Кроме того, такое поведение потенциально может привести к DoS атаке (см. с более подробной информацией). Обратите внимание, что хотя порядок запроса был изменен, возвращаемый результат все еще включает запись AF_INET6 перед записью AF_INET. &merged; Функции &man.gethostbyname.3;, &man.gethostbyname2.3; и &man.gethostbyaddr.3; теперь можно безопасно использовать в многопоточных программах. &merged; Функции &man.getnetent.3;, &man.getnetbyname.3; и &man.getnetbyaddr.3; теперь можно безопасно использовать в многопоточных программах. &merged; Функции &man.getprotoent.3;, &man.getprotobyname.3; и &man.getprotobynumber.3; теперь можно безопасно использовать в многопоточных программах. &merged; Функции &man.getservent.3;, &man.getservbyname.3; и &man.getservbyport.3; теперь можно безопасно использовать в многопоточных программах. &merged; В соответствии с IEEE Std 1003.1-2001 (известным также как POSIX 2001), переменная n_net структуры struct netent и первый аргумент &man.getnetbyaddr.3; были изменены на uint32_t. Вследствие этого изменения ABI на 64-битных платформах несовместим с предыдущими релизами &os; и основной номер версии библиотеки libpcap был увеличен. Если вы обновляете &os; на 64-битных платформах с более старой версии, учтите, что все программы пользователя, использующие &man.getnetbyaddr.3;, &man.getnetbyname.3;, &man.getnetent.3; и/или libpcap, должны быть перекомпилированы. Утилита gvinum(8) теперь поддерживает субкоманды checkparity, rebuildparity и setstate. &merged; Утилита &man.ifconfig.8; была реконструирована. Теперь она модульная и гибкая, уделено внимание поддержки специфичной для отдельных интерфейсов функциональности. Поддержка 802.11 была обновлена с учетом последних изменений в подсистеме и драйверах 802.11. Поддержка сокращенных форм нескольких параметров &man.ipfw.8; была исключена из числе рекомендованных. При обнаружении одного из таких сокращений, на stderr печатается предупреждение, содержащее корректную полную форму. Утилита &man.kldstat.8; теперь поддерживает опцию , с которой возвращает статус определенного модуля ядра. &merged; Дисковый формат файлов LC_CTYPE был изменен к машинно-независимому виду. Утилита &man.mixer.8; теперь поддерживает параметр . Это то же, что и опция , но разделители полей не выводятся. Была исправлена ошибка в библиотеке libalias, приводившая к дампу памяти при указании в &man.natd.8; опции . Библиотека libarchive (как и команда &man.tar.1;, ее использующая) теперь поддерживает чтение образов ISO (с опциональным расширением RockRidge) и архивов ZIP (со сжатием deflate и none). &merged; Библиотека libarchive теперь поддерживает ZIP архивы с вхождениями более 4GB в упакованном виде (расширение ZIP64) и расширение Unix. Была добавлена библиотека libgpib, чтобы предоставить доступ уровня пользователя к устройствам GPIB (используя драйвер pcii) через ibfoo API &merged;. Размер стека по умолчанию в libpthread, libthr и libc_r был увеличен. На 32-битных платформах, основной поток получает 2MB стек по умолчанию, а остальные потоки получают 1MB стек по умолчанию. На 64-битных платформах, размер стека по умолчанию 4MB и 2MB соответственно. &merged; Библиотека libxpg4 была удалена, поскольку вся ее функциональность была давно внесена в libc. Все бинарные файлы, слинкованные с libxpg4, должны быть перекомпилированы, или необходимо использовать &man.libmap.conf.5;. В базовой системе &os; таких бинарных файлов нет. Программа &man.lpd.8; теперь убеждается, что файл данных передан полностью перед началом печати, если он передается с какого-либо другого хоста. Некоторые реализации &man.lpr.1; отправляют контрольный файл для задания печати перед отправкой соответствующих файлов данных, что может вызвать проблемы, если получающий хост это нагруженный принт сервер. &merged; В библиотеке &man.math.3; было реализовано множество новых функций. В их число входят &man.ceill.3;, &man.floorl.3;, &man.ilogbl.3;, &man.fma.3; и варианты, &man.lrint.3; и варианты, и &man.lround.3; и варианты. &merged; Утилита &man.mknod.8; была исключена из числа поддерживаемых. Файлы устройств управляются файловой системой &man.devfs.5; начиная с &os; 5.0. Была добавлена не-GPL утилита &man.mkuzip.8;, для сжатия образов файловых систем перед использованием с модулем GEOM_UZIP &man.geom.4;. &merged; Даемон &man.moused.8; теперь поддерживает виртуальную прокрутку, когда перемещения мыши при нажатой средней кнопке интерпретируются как прокрутка. Эта функция включается флагом . &merged; Для динамических зон &man.named.8; был добавлен отдельный каталог, владельцем которого является пользователь bind (для создания журнального файла зоны). Более подробная информация находится в примере динамической зоны файла &man.named.conf.5;. &merged; Утилита &man.ncal.1; теперь поддерживает флаг для создания календаря определенного месяца в текущем году. &merged; Утилита &man.newfs.8; теперь поддерживает флаг для подавления создания каталога .snap на новых файловых системах. Эта функция предназначена для использования с файловыми системами в памяти или виртуальными файловыми системами, которым не требуется поддержка образов. &merged; Утилита &man.newfs.8; теперь выдает предупреждение при создании файловых систем UFS или UFS2, которые не могут поддерживать образы. Такая ситуация может возникать в случае очень больших файловых систем с блоками малого размера. &merged; Утилита &man.newsyslog.8; теперь поддерживает параметр для изменения корневого каталога лог файлов подобно переменной DESTDIR для BSD make. Эта переменная влияет только на пути к лог файлам, и не влияет на файл конфигурации () или архивный каталог (). Утилита &man.newsyslog.8; теперь поддерживает параметр , запрещающий ротацию каких-либо файлов. Была добавлена переменная компиляции системы NO_NIS. Как следует из ее имени, включение этой переменной приведет к исключению поддержки NIS из различных программ, и утилиты NIS не будут компилироваться. &merged; В течение многих лет, в &os; использовались переменные Makefile в формах NOFOO и NO_FOO. Теперь используются только переменные в форме NO_FOO. Полный список таких переменных находится в файле /usr/share/mk/bsd.compat.mk; в нем также реализована временная обратная совместимость для старых имен. Проверка безопасности в &man.periodic.8; теперь поддерживает отображение счетчиков пакетов, заблокированных &man.pf.4;. &merged; Команда &man.pgrep.1; теперь поддерживает опцию , которая соответствует системным процессам (потокам ядра). Команды &man.pgrep.1; и &man.pkill.1; теперь поддерживают опцию , позволяющую указывать файл, где сохраняется PID. Команды &man.pgrep.1; и &man.pkill.1; теперь поддерживают опцию , с которой регистр игнорируется. Команды &man.pgrep.1; и &man.pkill.1; теперь поддерживают опцию , с которой процессы сопоставляются на основе их идентификатора &man.jail.2;. Команды &man.pgrep.1; и &man.pkill.1; теперь поддерживают опцию , соответствующую наиболее старому (раньше всех запущенному) из выбираемых процессов. Была добавлена программа &man.powerd.8; для управления энергопотреблением. В программе &man.ppp.8; реализован параметр , позволяющий включать LCP ECHO независимо от LQR. Более старые версии &man.ppp.8; переходят в режим LCP ECHO если согласование lqr не будет успешно проведено. Теперь для получения такого поведения необходимо указать enable echo. &merged; В программу &man.ppp.8; были добавлены параметры и , поддерживающие pre-RFC 2865 RADIUS серверы. Были исправлены две ошибки в программе &man.pppd.8;. Они могли привести к некорректному ответу CBCP, нарушающему Microsoft PPP Callback Control Protocol section 3.2. &merged; Утилита &man.ps.1; теперь поддерживает ключевое слово jid опции . Оно предназначено для отображения идентификатора &man.jail.2; каждого процесса. Программа &man.pstat.8; теперь поддерживает опцию , чтобы выводить размер с префиксами, такими как K, M и G. Утилиты &man.rescue.8; в каталоге /rescue теперь включают &man.bsdtar.1; вместо GNU tar. Утилита &man.restore.8; опять может читать ленты с дампами &os; версии 1. &merged; Была исправлена ошибка в утилите &man.rexecd.8;, из-за которой считалось, что опция всегда указана. &merged; Утилита &man.rexecd.8; была удалена. В дереве исходных текстов &os; нет клиентов rexec, и клиентская функция &man.rexec.3; существует только в libcompat. Утилита &man.rm.1; теперь поддерживает параметр , с которым (однократно) запрашивается подтверждение при рекурсивном удалении каталогов или более 3 файлов, перечисленных в командной строке. &merged; Утилита &man.rm.1; теперь подавляет диагностические сообщения при попытке удаления несуществующего каталога, когда указаны параметры и . Это поведение соответствует документу Version 3 of the Single UNIX Specification (SUSv3). Были реализованы следующие функции стандарта ISO/IEC 9899:1999: roundl(), lroundl(), llroundl(), truncl() и floorl(). Была добавлена библиотека &man.rpmatch.3; для проверки строки, содержащей положительный или отрицательный ответ в текущей локали. Динамический компоновщик &man.rtld.1; теперь поддерживает указание замещающих библиотек через переменную окружения LD_LIBMAP. Эта переменная перезаписывает записи в &man.libmap.conf.5;. &merged; Нестандартный интерфейс поддержки мультибайтовых и расширенных символов rune(3) был удален. &man.sed.1; теперь поддерживает опцию , включающую построчную буферизацию вывода. &merged; Функция &man.strftime.3; теперь поддерживает некоторые GNU расширения, такие как - (без заполнения), _ (использовать пробел для заполнения), и 0 (заполнение нулями). &merged; Функцию &man.syslog.3; теперь можно безопасно использовать в многопоточных программах. &merged; Утилита &man.syslogd.8; теперь открывает дополнительный сокет (/var/run/logpriv по умолчанию), с правами 0600 для использования привилегированными программами. Это предотвращает блокировку привилегированных программ, когда буфер сокета переполняется вследствие локальной DoS атаки. &merged; &man.syslogd.8; теперь поддерживает опцию , которая позволяет изменять путь к привилегированному сокету. Это полезно для предотвращения получения даемоном сообщений из локальных сокетов (/var/run/log и /var/run/logpriv используются по умолчанию). &merged; Утилита &man.syslogd.8; теперь позволяет использование символов : и % в имени хоста. Эти символы используются в адресах и scope ID IPv6. &merged; &man.systat.1; теперь приспособлен для IPv6. &merged; Параметр утилиты &man.tail.1; теперь поддерживает более одного файла одновременно. &merged; Программы &man.telnet.1; и &man.telnetd.8; теперь поддерживают параметр для указания числового TOS байта. Предварение знаком + номера порта, передаваемого программе &man.telnet.1;, отключает распознавание параметров и позволяет передачу символов с установленным верхним битом. Эта возможность предназначена для поддержки широко применяемого использования &man.telnet.1; для тестирования протокола. Была добавлена команда &man.tcpdrop.8;, закрывающая выбранное соединение TCP. Она была заимствована из OpenBSD. &merged; &man.what.1; теперь поддерживает флаг , который указывает выводить текст, но не форматировать его. &man.whois.1; теперь поддерживает флаг для запроса whois.krnic.net (the National Internet Development Agency of Korea), содержащего информацию о IP адресах в Корее. &merged; Параметр команды &man.xargs.1; был изменен для соответствия IEEE Std 1003.1-2004. Стандарт требует, чтобы сконструированные аргументы не могли превышать 255 байт. Была исправлена ошибка чтения файлов конфигурации, таких как &man.hosts.5;, &man.services.5; и так далее, которые не заканчивались символом новой строки. &merged; Были добавлены новые системные пользователь/группа _dhcp для поддержки &man.dhclient.8; из OpenBSD. Скрипты <filename>/etc/rc.d</filename> Был добавлен стартовый скрипт rc.d/bsnmpd для &man.bsnmpd.1;. &man.rc.conf.5; теперь поддерживает изменение имен сетевых интерфейсов во время загрузки. &merged; Например: ifconfig_fxp0_name="net0" ifconfig_net0="inet 10.0.0.1/16" Скрипт rc.d/moused теперь может выполнять команды starts/stops/checks для определенного устройства, которое задается вторым аргументом к скрипту: &prompt.root; /etc/rc.d/moused start ums0 Для использования различных переменных &man.rc.conf.5; с различными мышами, задавайте имя устройства в качестве части переменной. Например, если устройство мыши /dev/ums0, можно использовать следующие строки: moused_ums0_enable=yes moused_ums0_flags="-z 4" moused_ums0_port="/dev/ums0" &man.rc.conf.5; теперь поддерживает переменные tmpmfs_flags и varmfs_flags. Они могут использоваться для передачи дополнительных параметров утилите &man.mdmfs.8;, задания &man.md.4; параметров создания файловой системы, таких как включение/выключение softupdates, указания владельца файловой системы по умолчанию и так далее. &merged; Следующие скрипты были удалены, поскольку они были специфичны для NetBSD и никогда не использовались в &os;: altqd, dhcpd, dhcrelay, downinterfaces, gated, ifwatchd, kdc, lkm1, lkm2, lkm3, mixerctl, mopd, mountall, ndbootd, network, poffd, postfix, ppp, racoon, raidframe, rbootd, rtsold, screenblank, swap2, sysdb, wscons, xdm и xfs. Стороннее программное обеспечение awk был обновлен с релиза от 7 февраля 2004 года до релиза от 24 апреля 2005 года. BIND был обновлен с версии 9.3.0 до версии 9.3.1. &merged; bsnmp был обновлен с 1.7 до 1.10. bzip2 был обновлен с 1.0.2 до 1.0.3. OpenBSD dhclient был импортирован из OpenBSD 3.7. Он замещает ISC DHCP клиента, использовавшегося в в предыдущих версиях &os;. FILE был обновлен с 4.10 до 4.12. GNU GCC был обновлен с 3.4.2-prerelease от 28 июля 2004 года до 3.4.4. A number of bug fixes and performance enhancements have been added to GNU grep in the form of patches from Fedora's grep-2.5.1-48 source RPM. GNU readline был обновлен с версии 4.3 до версии 5.0. IPFilter был обновлен с 3.4.35 до 4.1.18. Heimdal был обновлен с 0.6.1 до 0.6.3. &merged; Был импортирован hostapd v0.3.9. Это пользовательская программа IEEE 802.11 AP и IEEE 802.1X/WPA/WPA2/EAP Authenticator и RADIUS сервер аутентификации. Более подробная информация находится на странице справочника &man.hostapd.8;. libpcap был обновлен с v0.8.3 до v0.9.1 (alpha 096). libregex была обновлена с снэпшота GNU grep 2.5.1 до снэпшота с тегом fedora-glibc-2_3_4-21 из CVS репозитория glibc. libz была обновлена с 1.2.1 до 1.2.2. lukemftp был обновлен с снэпшота из OpenBSD от 26 апреля 2004 года до снэпшота от 16 мая 2005 года. Был добавлен снэпшот netcat из OpenBSD от 4 февраля 2005 года. Более подробная информация находится на странице справки по &man.nc.1;. &merged; NgATM был обновлен с 1.0 до 1.2. OpenPAM был обновлен с релиза Eelgrass до релиза Feterita. OpenPAM был обновлен с релиза Feterita до релиза Figwort. OpenSSH был обновлен с 3.8p1 до 4.1p1. OpenSSL был обновлен с 0.9.7d до 0.9.7e. &merged; pf был обновлен с версии, включенной в OpenBSD 3.5 до версии, включенной в в OpenBSD 3.7. sendmail был обновлен с версии 8.13.1 до версии 8.13.3. &merged; sendmail был обновлен с версии version 8.13.3 до версии 8.13.4. Теперь он поддерживает OSTYPE(freebsd6). tcpdump был обновлен с v3.8.3 до v3.9.1 (alpha 096). tcsh был обновлен с 6.13.00 до 6.14.00. texinfo был обновлен с 4.6 до 4.8. База данных timezone была обновлена с релиза tzdata2004e до релиза tzdata2004g. &merged; Был импортирован WPA Supplicant v0.3.9. Он предоставляет WPA Supplicant компонент из набора WPA/IEEE 802.11i. За дополнительной информацией обращайтесь к странице справочника &man.wpa.supplicant.8;. Инфраструктура коллекции портов/пакетов Утилита &man.pkg.create.1; теперь поддерживает флаг . Если указан этот флаг, при создании файла пакета из локально установленного пакета, создаются файлы для всех пакетов, от которых он зависит. Утилита &man.pkg.version.1; теперь поддерживает флаг для подавления вывода символов сравнения версий <, = и >. Утилита &man.pkg.version.1; теперь поддерживает флаг , с которым только файл INDEX используется для определения того, является ли пакет устаревшим. Файлы ports/INDEX*, в которых находится индекс всех портов коллекции, был удален из репозитория CVS. &merged; Этот файл генерировался не часто, и следовательно обычно был устаревшим и не соответствовал состоянию портов. Пользователи, которым требуется индексный файл (например, для использования с такими программами, как &man.portupgrade.1;), могут получить копию двумя способами: Создать индекс файл на основе текущего дерева портов, выполнив make index из корневого каталога дерева ports/. Забрать индексный файл по сети, выполнив make fetchindex из корневого каталога дерева ports/. Этот индексный файл (как правило) подходит для использования в течение дня. Подготовка релизов и интеграция В предыдущих релизах &os;, CD-ROM (или образ ISO) disc1 был загрузочным установочным диском, содержащим основную систему, дерево портов и широко используемые пакеты. CD-ROM (или образ ISO) disc2 был загрузочным fix it диском с live filesystem, и был предназначен для восстановления после критических сбоев. Теперь для всех архитектур за исключением ia64, на disc1 находится базовая система, дерево портов и live filesystem, что делает возможным как установку с этого диска, так и восстановление после сбоев. (На ia64, live filesystem находится на отдельном диске, поскольку не умещается на первый). Пакеты помещаются на отдельный диск; в частности, образ disc2 содержит общеиспользуемые пакеты, такие как десктоп-приложения. Документы Проекта документирования &os; также помещаются на disc2. &merged; Поддерживаемая версия десктопа GNOME была обновлена с 2.6.2 до 2.10.1. Более подробная информация о работе GNOME в &os; находится на веб странице FreeBSD GNOME Project. &merged; Пользователи предыдущих версий GNOME (x11/gnome2) должны подойти к обновлению с определенной осторожностью. Простое обновление из коллекции портов &os; с помощью &man.portupgrade.1; (sysutils/portupgrade) вызовет серьезные проблемы. Пользователи GNOME должны внимательно прочесть инструкции и использовать скрипт gnome_upgrade.sh для обновления до GNOME 2.10. Поддерживаемая версия KDE была обновлена с 3.3.0 до 3.4.0. Более подробная информация о работе KDE в &os; находится на веб странице KDE в FreeBSD. &merged; Пользователям более старых версий KDE предлагается следовать процедуре обновления, документированной на веб странице KDE on FreeBSD иди в файле ports/UPDATING. Поддерживаемая версия Xorg была обновлена с 6.7.0 до 6.8.2. &merged; Документация Документация существующей функциональности была улучшена путем добавления следующих страниц справочника: &man.ataraid.4;, &man.bus.space.9;, &man.devfs.conf.5;, &man.devfs.rules.5;, &man.pmap.page.init.9;, &man.pthread.atfork.3;, &man.sched.4bsd.4;, &man.sched.ule.4;, &man.snd.fm801.4;, &man.snd.neomagic.4;, &man.snd.via8233.4;, &man.snd.via82c686.4; и &man.snd.vibes.4;. Страницы справочника базовой системы получили множество исправлений, как в содержимом так и в отображении. Ссылки между страницами стали более корректными, стандартные заголовки разделов используются повсеместно, разметка была исправлена. Следующие страницы справочной системы, которые были получены из документов RFC, и возможно нарушали IETF копирайт, были замещены: &man.gai.strerror.3;, &man.getaddrinfo.3;, &man.getnameinfo.3;, &man.inet6.opt.init.3;, &man.inet6.option.space.3;, &man.inet6.rth.space.3;, &man.inet6.rthdr.space.3;, &man.icmp6.4; и &man.ip6.4;. &merged; Обновление с предыдущих релизов &os; Обновление из исходных текстов до &os; &release.current; теперь поддерживается только с &os; 5.3-RELEASE или более поздних. Пользователям более старых версий потребуется сначала обновить систему до &os; 5.3 или более свежей версии, а затем до &os; &release.current;. Обновление &os; конечно же должно производиться только после резервного копирования всех данных и файлов настройки.