Информация о релизе FreeBSD/i386 7.0-CURRENT

Проект FreeBSD

$FreeBSD: src/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.22 2006/02/26 04:57:17 hrs Exp $

FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.

IBM, AIX, EtherJet, Netfinity, OS/2, PowerPC, PS/2, S/390 и ThinkPad это торговые марки International Business Machines Corporation в Соединенных Штатах, других странах, или по всему миру.

IEEE, POSIX и 802 это зарегистрированные торговые марки Institute of Electrical and Electronics Engineers, Inc. в Соединенных Штатах.

Intel, Celeron, EtherExpress, i386, i486, Itanium, Pentium и Xeon это торговые марки или зарегистрированные торговые марки Intel Corporation или ее дочерних компаний в Соединенных Штатах и других странах.

Sparc, Sparc64, SPARCEngine, и UltraSPARC это торговые марки SPARC International, Inc в Соединенных Штатах и других странах. Продукты с торговой маркой SPARC основаны на архитектуре, разработанной Sun Microsystems, Inc.

Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак “™” или “®”.

Заметки о релизе для FreeBSD 7.0-CURRENT содержат общую информацию по изменениям базовой системе FreeBSD в ветви разработки 7-CURRENT. Этот документ содержит список сообщений безопасности, выпущенных после последнего релиза, а также список значительных изменений, внесенных в ядро и пользовательские программы FreeBSD. Представлены также краткие заметки по обновлению системы.


Содержание
1. Введение
2. Что нового
2.1. Сообщения безопасности
2.2. Изменения в ядре
2.2.1. Изменения в загрузчике
2.2.2. Поддержка оборудования
2.2.3. Сетевые протоколы
2.2.4. Диски и устройства хранения
2.2.5. Файловые системы
2.2.6. Стороннее программное обеспечение
2.3. Изменения в программах пользователя
2.3.1. Скрипты /etc/rc.d
2.4. Стороннее программное обеспечение
2.5. Инфраструктура коллекции портов/пакетов
2.6. Подготовка релизов и интеграция
2.7. Документация
3. Обновление с предыдущих релизов FreeBSD

1. Введение

Этот документ содержит информацию о релизе FreeBSD 7.0-CURRENT для аппаратной платформы i386. В нем описаны недавно добавленные, измененные, или удаленные возможности FreeBSD. Он также представляет некоторые заметки по обновлению с предыдущей версии FreeBSD.

Дистрибутив (snapshot), для которого предоставлена эта информация, представляет собой последнюю точку на ветви разработки с момента создания 7-CURRENT. Информацию о собранных бинарных дистрибутивах (snapshot) из этой ветви можно найти на http://www.FreeBSD.org/snapshots/.

Всем пользователям рекомендуется ознакомиться с сообщениями о проблемах перед установкой FreeBSD. В этот документ вносятся самая последняя информация, полученная в позже в процессе выпуска релиза или после релиза. Обычно в нем находятся информация о известных ошибках, сообщениях безопасности и исправления документации. Актуальную копию сообщений о проблемах для FreeBSD 7.0-CURRENT можно найти на веб сайте FreeBSD.


2. Что нового

В этом разделе описаны основные видимые пользователю добавленные или измененные с 6.0-RELEASE возможности FreeBSD. Как правило, изменения, описанные здесь, уникальны для 7-CURRENT, если только они не помечены как [MERGED].

Обычно в информации о релизе последовательно включены последние сообщения безопасности, выпущенные после 6.0-RELEASE, информация о поддержке новых драйверов или оборудования, новых команд или параметров, информация о основных исправлениях ошибок, или обновлениях стороннего программного обеспечения. В нем могут также перечисляться изменения важнейших портов/пакетов или практики выпуска релизов. Конечно, в информацию о релизе не вносятся данные о каждом отдельном изменении, сделанном в FreeBSD между релизами; этот документ фокусируется в основном на сообщениях безопасности, видимых пользователю изменениях, и основных архитектурных улучшениях.


2.1. Сообщения безопасности

Была исправлена ошибка в утилите fetch(1), позволявшая злонамеренному HTTP серверу перезапись произвольных участков памяти клиента. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-04:16.fetch. [MERGED]

Была исправлена ошибка в procfs(5) и linprocfs(5), позволявшая злонамеренному локальному пользователю читать части памяти ядра или выполнять локальную DoS атаку путем вызова паники системы. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-04:17.procfs. [MERGED]

В клиенте TELNET были исправлены две ошибки переполнения буфера. Они могут позволить злонамеренному серверу TELNET или активному атакующему в сети между клиентом и сервером заставить telnet(1) выполнить произвольный код с привилегиями пользователя, запустившего клиент. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:01.telnet. [MERGED]

В системном вызове sendfile(2) была исправлена ошибка, связанная с раскрытием информации, которая могла позволить передачу произвольных частей памяти ядра. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:02.sendfile. [MERGED]

Была исправлена ошибка в SIOCGIFCONF ioctl(2), приводившая к утечке информации, из-за которой подвергались утечке 12 байт памяти ядра. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:04.ifconf. [MERGED]

Были исправлены несколько программных ошибок в cvs(1), которые потенциально могли приводить к выполнению произвольного кода на серверах CVS. Дополнительная информация находится в сообщении безопасности FreeBSD-SA-05:05.cvs. [MERGED]

Была исправлена ошибка установки прав на файл устройства /dev/iir, которая позволяла непривилегированным локальным пользователям отправлять команды оборудованию, поддерживаемому драйвером iir(4). За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:06.iir. [MERGED]

Была исправлена ошибка в проверке аргументов системного вызова 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 включена) в FreeBSD CURRENT, и в 0 (HTT выключена) в в ветвях разработки 4-STABLE и 5-STABLE и в поддерживаемых ветвях с исправлениями безопасности. Дополнительная информация находится в сообщении безопасности FreeBSD-SA-05:09.htt. [MERGED]

Была исправлена ошибка в утилите tcpdump(1), позволявшая злонамеренному удаленному пользователю выполнение DoS атаки путем использования сформированных специально для этого пакетов. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:10.tcpdump. [MERGED]

Было исправлено две проблемы в утилите gzip(1). Вследствие этих проблем локальный пользователь мог изменить права произвольных файлов и перезаписать произвольные локальные файлы при распаковке файла. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:11.gzip. [MERGED]

Была исправлена ошибка в BIND 9 DNSSEC. Если DNSSEC включен, эта ошибка может позволить удаленно вызвать завершение работы named(8) путем отправки ему специально сформированных пакетов. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:12.bind9. [MERGED]

Была исправлена ошибка в ipfw(4), которая могла приводить к неправильному сопоставлению пакета с lookup table. Эта ошибка проявлялась только на SMP компьютерах, или на однопроцессорных компьютерах с включенным параметром ядра PREEMPTION. Более подробная информация находится в сообщении безопасности FreeBSD-SA-05:13.ipfw. [MERGED]

В bzip2(1) были решены две проблемы, связанные с безопасностью. Они включали потенциальную возможность DoS и неавторизованное изменение прав на файлы. За дальнейшей информацией обращайтесь к сообщению безопасности FreeBSD-SA-05:14.bzip2. [MERGED]

Были исправлены две проблемы в TCP стеке FreeBSD. Они могут позволять атакующему задерживать существующие TCP соединения, что приводит к созданию DoS. Более подробная информация находится в сообщении безопасности FreeBSD-SA-05:15.tcp. [MERGED]


2.2. Изменения в ядре

Поддержка процессоров 80386 (опция ядра I386_CPU) была удалена. Пользователям, запускающим систему на этом классе CPU, предлагается использовать FreeBSD 5.X или более раннюю.

Отладчик ядра ddb(4) теперь поддерживает команду show alllocks, которая выводит список процессов и потоков, удерживающих в данный момент sleep мьютексы (и spin мьютексы для текущего потока). [MERGED]

Драйвер ichsmb(4) теперь доступен в виде загружаемого модуля ядра.

jail(8) теперь поддерживает новую переменную sysctl security.jail.chflags_allowed, которая контролирует поведение 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]

Был добавлен memguard(9), выделитель памяти ядра, разработанный в качестве помощи для обнаружения сценариев “tamper-after-free”. Он должен быть явно добавлен через options DEBUG_MEMGUARD, с небольшими изменениями ядра. Он как в основном предназначен для использования разработчиками ядра.

struct ifnet и API сетевых интерфейсов были изменены. Вследствие несовместимости ABI, все драйверы, не входящие в базовую систему FreeBSD, должны быть обновлены и перекомпилированы для использования нового 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) mac_biba(4), mac_mls(4), mac_stub(4), и mac_test(4).

Выделение памяти для старых PCI мостов было ограничено до 32MB RAM. Многие старые мосты позволяют выделение памяти только из этого диапазона. Изменение применяется только к устройствам, память которых не выделена BIOS. Это изменение исправляет ошибку “bad Vcc” мостов CardBus ( pccbb(4)). [MERGED]

sysctl(3) MIB, начинающиеся с “debug”, теперь требуют параметр ядра options SYSCTL_DEBUG. Этот параметр выключен по умолчанию.

Был добавлен общий драйвер интерфейса tty(4) и многие драйвера устройств, включая cx(4) ({tty,cua}x), cy(4) ({tty,cua}c), digi(4) ({tty,cua}D), rc(4) ({tty,cua}m), rp(4) ({tty,cua}R), sab(4) ({tty,cua}z), si(4) ({tty,cua}A), sio(4) ({tty,cua}d), sx ({tty,cua}G), uart(4) ({tty,cua}u), ubser(4) ({tty,cua}y), ucom(4) ({tty,cua}U) и ucycom(4) ({tty,cua}y) были переписаны для его использования. Обратите внимание, что файлы /etc/remote и /etc/ttys также были обновлены.

Был добавлен драйвер vkbd(4). Этот драйвер предоставляет программный loopback механизм, который позволяет реализовать виртуальную клавиатуру AT подобно тому, как драйвер pty(4) делает это для терминалов.

FreeBSD теперь всегда использует локальный APIC таймер даже на однопроцессорных системах.

Параметр по умолчанию HZ (контролирующий различные таймеры ядра) был увеличен с 100 до 1000 на i386 и ia64. Он был уменьшен с 1024 до 1000 на amd64 для уменьшения эффектов синхронизации с другими системными часами.

Максимальная длина команд shell была изменена с 128 байт до PAGE_SIZE. По умолчанию, это значение или 4KB (i386, pc98, amd64 и powerpc) или 8KB (sparc64 и ia64). В результате, модули совместимости необходимо пересобрать для поддержания синхронизации с ядром.

Была добавлена новая переменная загрузчика vm.blacklist. В нее может быть помещен разделенный запятыми список физических адресов. Страницы, помещенные в этот список, не будут добавлены к списку свободных страниц, и будут проигнорированы системой виртуальной памяти FreeBSD. Физические адреса игнорируемых страниц также попадут в буфер сообщений.


2.2.1. Изменения в загрузчике

Добавлена версия boot0 для последовательной консоли. Она может быть записана на диск с использованием boot0cfg(8) и указанием /boot/boot0sio в качестве аргумента к параметру -b.

cdboot теперь обходит проблему BIOS, встречающуюся на некоторых системах при загрузке с USB CDROM приводов.

Команда загрузчика autoboot теперь поддерживает параметр prompt.

Команда загрузчика autoboot теперь вовсе не позволит пользователю прервать процесс загрузки, если переменная autoboot_delay установлена в -1. [MERGED]

Был добавлен параметр меню загрузчика для установки hint.atkbd.0.flags=0x1. Это позволяет клавиатуре USB работать если нет подключенной клавиатуры PS/2.

Логотип был убран из загрузочного меню.


2.2.2. Поддержка оборудования

Драйвер acpi(4) выключает устройства ACPI и PCI или переводит их в режим пониженного энергопотребления в режиме suspend, и возвращает обратно при восстановлении. Это поведение может быть заблокировано установкой переменных sysctl debug.acpi.do_powerstate и hw.pci.do_powerstate в 0.

Был добавлен драйвер acpi_ibm(4) для лэптопов IBM. В него были добавлены поддержка горячих клавиш, функция получения статуса вентилятора и датчиков температуры.

Был добавлен драйвер acpi_fujitsu(4) для кнопок контроля acpi(4) на лэптопах Fujitsu.

Был добавлен драйвер acpi_sony, поддерживающий Sony Notebook Controller на различных лэптопах Sony.

The atkbdc(4), atkbd(4), and psm(4) drivers have been rewritten in more bus-independent way, and now support EBus found on sparc64 platform.

Была добавлена инфраструктура для гибкого управления скоростью процессора. Она предоставляет различным драйверам методы управления энергопотреблением CPU путем изменения скорости процессора. Более детальная информация находится на странице справочника cpufreq(4). [MERGED] В настоящее время поддерживаются драйверы ichss (Intel SpeedStep for ICH), acpi_perf (ACPI CPU performance states), и acpi_throttle (ACPI CPU throttling). Последние два драйвера включены в драйвер acpi(4). Поддерживаемые драйверы могут быть индивидуально отключены путем установки хинтов, таких как hint.ichss.0.disabled="1".

Был добавлен драйвер аппаратного мониторинга производительности, hwpmc(4). Этот драйвер виртуализует функции аппаратного мониторинга производительности современных CPU и предоставляет поддержку для использования этих функций пользовательскими процессами. За дополнительной информацией обращайтесь к страницам справочника hwpmc(4), соответствующих библиотек и программ пользователя.

Поддержка подсистемы OLDCARD была удалена. Для поддержки всех устройств PCCARD в настоящее время используется NEWCARD.

Был добавлен драйвер pcii для поддержки карт GPIB-PCIIA IEEE-488. [MERGED]

Драйвер atkbd(4) теперь поддерживает флаг 0x8 (bit 3) для отмены тестирования порта клавиатуры во время тестирования устройств, поскольку оно вызывало сбой в некоторых системах, например на Compaq R3000Z series лэптопах amd64.

Был добавлен драйвер pbio(4), поддерживающий прямой доступ к Intel 8255A programmable peripheral interface (PPI) в режиме 0 (простой ввод/вывод).

Драйвер psm(4) теперь лучше подходит для пользователей Synaptics Touchpad. Теперь он лучше отслеживает низкоскоростные перемещения и поддерживает различные дополнительные кнопки. Эти возможности могут быть настроены с помощью иерархии sysctl hw.psm.synaptics.*.

Драйвер syscons(4) теперь поддерживает режимы VESA (15, 16, 24 и 32 бит). Для включения этой функциональности, необходимо добавить два параметра ядра, SC_PIXEL_MODE и VESA (или загрузить соответствующий модуль ядра).

Драйвер uftdi(4) теперь поддерживает микросхему FTDI FT2232C.

Драйвер uplcom(4) теперь поддерживает обработку сигнала CTS.

Был улучшен драйвер ehci(4).


2.2.2.1. Поддержка мультимедиа

Драйвер uaudio(4) теперь содержит некоторую дополнительную функциональность, включая контроль уровня на большем числе входов и возможность записи на некоторых устройствах. [MERGED]


2.2.2.2. Поддержка сетевых интерфейсов

Драйвер ath(4) был обновлен, чтобы выделить алгоритм контроля скорости передачи данных в отдельный модуль. При использовании драйвера ath(4) в файл конфигурации ядра необходимо включить одно из устройств device ath_rate_onoe, device ath_rate_amrr или device ath_rate_sample.

Драйвер bge(4) теперь поддерживает инфраструктуру altq(4), а также микросхемы BCM5714, 5721, 5750, 5751, 5751M и 5789. [MERGED]

Был добавлен USB Communication Device Class Ethernet драйвер cdce(4). [MERGED]

Драйвер cp(4) теперь MPSAFE. [MERGED]

Драйвер ctau(4) теперь MPSAFE. [MERGED]

Драйвер cx(4) теперь MPSAFE. [MERGED]

Драйвер dc(4) теперь поддерживает инфраструктуру altq(4). [MERGED]

Драйвер ed(4) теперь поддерживает инфраструктуру altq(4). [MERGED]

В драйвере em(4) была выключена по умолчанию аппаратная поддержка тегов VLAN, поскольку эта функция конфликтовала с promiscuous режимом. [MERGED]

Контроль потока Ethernet отключен по умолчанию в драйвере fxp(4) для предотвращения проблем в подсети при возникновении паники системы или при включенном отладчике ядра. [MERGED]

Драйвер gx(4) был удален, поскольку он не поддерживается достаточно активно, и драйвер em(4) поддерживает все поддерживаемое им оборудование.

Драйвер hme(4) теперь MPSAFE. [MERGED]

Были добавлены драйверы ipw(4) (для Intel PRO/Wireless 2100), iwi(4) (для Intel PRO/Wireless 2200BG/2225BG/2915ABG), ral(4) (для Ralink Technology RT2500), и ural(4) (для Ralink Technology RT2500USB).

Драйвер ixgb(4) теперь MPSAFE. [MERGED]

Драйвер musycc для сетевой интерфейсной карты LanMedia LMC1504 T1/E1 не использовался и был удален.

Драйверы, использующие конвертер драйверов устройств ndis(4), теперь создаются и загружаются по-другому. Драйвер ndis(4) теперь может быть предварительно собран как модуль или статически компилирован в ядро. Отдельные драйверы теперь могут быть собраны с использованием утилиты ndisgen(8); получившиеся модули могут быть загружены в работающее ядро с использованием kldload(8). [MERGED]

Был добавлен драйвер nve(4), поддерживающий nVidia nForce MCP Networking Adapter.

Драйвер re(4) теперь поддерживает инфраструктуру altq(4).

Драйвер sf(4) теперь поддерживает device polling и altq(4). [MERGED]

Были исправлены несколько программных ошибок в драйвере sk(4). Эти ошибки проявлялись на SMP системах, и могли приводить к панике, ошибкам page fault, обрыву соединений SSH или ошибкам при передаче файлов. Более подробная информация находится в сообщении о проблеме FreeBSD-EN-05:02.sk. [MERGED]

Драйвер sk(4) теперь поддерживает altq(4). Этот драйвер также поддерживает jumbo фреймы на Yukon-based интерфейсах. [MERGED]

Драйвер vge(4) теперь поддерживает device polling ( polling(4)).

Поддержка устройств 802.11 инфраструктурой wlan(4) тщательно пересмотрена. В дополнение к архитектурным изменениям, реализована полная поддержка 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side power-saving, и инфраструктура плагинов для криптографических модулей, аутентификаторов и контроля доступа. Обратите внимание, что для WEP, в частности, необходима загрузка (или компиляция) модуля wlan_wep в ядро.

Драйвер xl(4) теперь поддерживает polling(4). [MERGED]


2.2.3. Сетевые протоколы

MTU feedback в IPv6 выключается при отправке данных, которые должны быть фрагментированы. [MERGED]

Был реализован Common Address Redundancy Protocol (CARP). CARP был взят из OpenBSD и позволяет нескольким хостам совместно использовать один IP адрес, чтобы обеспечивать высокую доступность и распределение нагрузки. За дальнейшей информацией обращайтесь к странице справочника carp(4). [MERGED]

Была добавлена реализация сетевого моста if_bridge(4), первоначально появившаяся в NetBSD. Эта реализация поддерживает IEEE 802.1D Spanning Tree Protocol, индивидуальные интерфейсные устройства для каждого моста и фильтрацию проходящих через мост пакетов. Утилита ifconfig(8) теперь поддерживает конфигурацию if_bridge(4).

Параметр ipfw(4) IPDIVERT теперь доступен в виде загружаемого модуля ядра. Если этот модуль не загружен, ipfw(4) не будет загружать правила divert и natd(8) будет возвращать сообщение об ошибке “protocol not supported”.

Система ipfw(4) может работать с debug.mpsafenet=1 (эта переменная равна 1 по умолчанию) когда используются параметры правил gid, jail, и/или uid. [MERGED]

Системы ipfw(4) и dummynet(4) теперь поддерживают IPv6.

ipfw(8) теперь поддерживает классификацию и теги пакетов altq(4) через divert сокет. Возможно также указать правила, соответствующие TCP пакетам с определенным значением payload size.

Правило ipfw(8) ipfw fwd теперь поддерживает полное управление назначением пакета при установке параметра ядра options IPFIREWALL_FORWARD_EXTENDED в дополнение к параметру options IPFIRWALL_FORWARD. Этот параметр ядра устраняет все ограничения для локально созданных пакетов и позволяет перенаправление пакетов, предназначенных для локально сконфигурированного IP адреса. Обратите внимание, что правила ipfw(8) должны быть составлены аккуратно, чтобы, например, не нарушить определение PMTU. [MERGED]

Система ipfw(8) теперь поддерживает правила только IPv4.

ipnat(8) теперь позволяет определять правила перенаправления для не-TCP/UDP пакетов. [MERGED]

Продолжается работа по уменьшению использования Giant блокировки стеком сетевых протоколов и улучшению стратегии блокировки.

Библиотека libalias теперь может быть собрана как модуль ядра.

Уведомления об изменении статуса сетевых интерфейсов теперь отправляются /dev/devctl.

Новый узел NetGraph ng_ipfw(4) предоставляет простой интерфейс между ipfw(4) и netgraph(4).

Был добавлен новый узел ng_nat(4) NetGraph для выполнения функций NAT.

Новый узел NetGraph ng_netflow(4) позволяет маршрутизатору, работающему под FreeBSD, выполнять экспорт NetFlow версии 5. [MERGED]

Был добавлен новый узел NetGraph ng_tcpmss(4). Он поддерживает изменение параметров MSS пакетов TCP.

Драйвер sppp(4) теперь включает поддержку Frame Relay [MERGED]

Драйвер sppp(4) теперь MPSAFE.

Была реализована новая переменная sysctl net.link.tap.user_open. Она позволяет непривилегированный доступ к файлам устройств tap(4) на основе прав, действующих в файловой системе.

Была исправлена ошибка TCP, которая иногда приводила к игнорированию пакетов RST при окне приема в ноль байт. [MERGED]

Обработка RST в стеке TCP FreeBSD была улучшена, чтобы максимально усложнить проведение 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, интегрированная в FreeBSD, теперь поддерживает 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 предоставляет получателю механизм для получения идентификатора процесса в виде контрольного сообщения recvmsg(2). Опция LOCAL_CONNWAIT вызывает блокирование в функции connect(2) до тех пор, пока на принимающем сокете не будет вызвана функция accept(2). Более детальная информация находится на странице справочника unix(4).


2.2.4. Диски и устройства хранения

Драйвер amr(4) теперь может безопасно использоваться на системах с pae(4). [MERGED]

Был добавлен драйвер arcmsr(4). Он поддерживает контроллеры SATA RAID серий Areca ARC-11xx и ARC-12xx. [MERGED]

Семейство драйверов ata(4) было пересмотрено и обновлено. Оно было разделено на модули, которые могут быть загружены и выгружены независимо (модули atapci и ata необходимы для драйверов устройств, таких как atadisk, atapicd, atapifd, atapist и ataraid). Устройства SATA поддерживают горячее подключение/отключение на поддерживающих эту функцию контроллерах. Поддержка ATA RAID была переписана и теперь поддерживает множество новых форматов метаданных. Драйвер atapicd больше не поддерживает устройства смены CD. Выполненное обновление известно как “ATA mkIII”.

Был добавлен класс SHSEC GEOM. Он предоставлен для разделения секретного ключа (“secret”) между несколькими провайдерами GEOM. Все эти провайдеры должны присутствовать, чтобы получить секретный ключ. Эта функция контролируется утилитой gshsec(8). [MERGED]

Был добавлен драйвер hptmv(4), поддерживающий HighPoint RocketRAID 182x series. [MERGED]

Драйвер ips(4) теперь поддерживает дампы ядра на некоторых современных моделях ServeRAID. [MERGED]

Был удален драйвер matcd(4). [MERGED]

При загрузке задержка по умолчанию для SCSI в ядре GENERIC была уменьшена с пятнадцати секунд до пяти секунд.

Старая подсистема vinum(4) была удалена в пользу новой, основанной на geom(4) версии.

Драйвер twa(4) был обновлен до версии 9.2 release (для FreeBSD 5.2.1), распространяемой с веб сайта 3ware.

Информация о вновь смонтированных файловых системах cd9660 (например, информация о наличии расширений RockRidge) теперь печатается только если ядро было собрано в режиме verbose. Это изменение было сделано для уменьшения количества (зачастую ненужных) протоколируемых сообщений ядра. [MERGED]


2.2.5. Файловые системы

Вычисление суммарной информации для не размонтированных корректно (“dirty”) файловых систем UFS и UFS2 больше не выполняется во время загрузки, а делается фоновым fsck(8). Это изменение увеличивает скорость загрузки при монтировании больших файловых систем после сбоя. Предыдущее поведение может быть восстановлено установкой переменной sysctl vfs.ffs.compute_summary_at_mount в ненулевое значение. [MERGED]

Была исправлена ошибка NFS сервера, приводившая к панике ядра. Более подробная информация находится в сообщении о проблеме FreeBSD-EN-05:01.nfs. [MERGED]

Была добавлена поддержка чтения ReiserFS версии 3. Обращайтесь к mount_reiserfs(8) за подробной информацией.


2.2.6. Стороннее программное обеспечение

ACPI-CA был обновлен с 20040527 до 20041119. [MERGED]


2.3. Изменения в программах пользователя

Утилита burncd(8) теперь позволяет задание команд, (таких как eject), выполняемых после выполнения команды fixate.

Утилита chflags(1) теперь поддерживает флаг -h, позволяющий изменять флаги на символических ссылках.

Программа ftpd(8) теперь корректно использует коды статуса 212 и 213 для каталога и файла (в предыдущей версии использовался код 211). Это поведение описано в RFC 959. [MERGED]

Команда create утилиты gpt(8) теперь поддерживает параметр командной строки -f для форсирования создания GPT даже если на диске присутствует запись MBR. [MERGED]

Функция getaddrinfo(3) теперь запрашивает записи DNS A перед записями AAAA, когда указан AF_UNSPEC. Некоторые DNS серверы некорректно возвращают NXDOMAIN в ответ на запрос несуществующей записи AAAA, хотя должны возвращать NOERROR с пустой записью. Это проблема для двойного IPv4/IPv6 стека, поскольку после возврата NXDOMAIN на запрос AAAA приводит к тому, что запрашивающий сервер не пытается разрешить запись A. Кроме того, такое поведение потенциально может привести к DoS атаке (см. http://www.kb.cert.org/vuls/id/714121 с более подробной информацией). Обратите внимание, что хотя порядок запроса был изменен, возвращаемый результат все еще включает запись AF_INET6 перед записью AF_INET. [MERGED]

Функции gethostbyname(3), gethostbyname2(3) и gethostbyaddr(3) теперь можно безопасно использовать в многопоточных программах. [MERGED]

Функции getnetent(3), getnetbyname(3) и getnetbyaddr(3) теперь можно безопасно использовать в многопоточных программах. [MERGED]

Функции getprotoent(3), getprotobyname(3) и getprotobynumber(3) теперь можно безопасно использовать в многопоточных программах. [MERGED]

Функции getservent(3), getservbyname(3) и getservbyport(3) теперь можно безопасно использовать в многопоточных программах. [MERGED]

В соответствии с IEEE Std 1003.1-2001 (известным также как POSIX 2001), переменная n_net структуры struct netent и первый аргумент getnetbyaddr(3) были изменены на uint32_t. Вследствие этого изменения ABI на 64-битных платформах несовместим с предыдущими релизами FreeBSD и основной номер версии библиотеки libpcap был увеличен. Если вы обновляете FreeBSD на 64-битных платформах с более старой версии, учтите, что все программы пользователя, использующие getnetbyaddr(3), getnetbyname(3), getnetent(3) и/или libpcap, должны быть перекомпилированы.

Утилита gvinum(8) теперь поддерживает субкоманды checkparity, rebuildparity и setstate. [MERGED]

Утилита ifconfig(8) была реконструирована. Теперь она модульная и гибкая, уделено внимание поддержки специфичной для отдельных интерфейсов функциональности. Поддержка 802.11 была обновлена с учетом последних изменений в подсистеме и драйверах 802.11.

Поддержка сокращенных форм нескольких параметров ipfw(8) была исключена из числе рекомендованных. При обнаружении одного из таких сокращений, на stderr печатается предупреждение, содержащее корректную полную форму.

Утилита kldstat(8) теперь поддерживает опцию -m, с которой возвращает статус определенного модуля ядра. [MERGED]

Дисковый формат файлов LC_CTYPE был изменен к машинно-независимому виду.

Утилита mixer(8) теперь поддерживает параметр -S. Это то же, что и опция -s, но разделители полей не выводятся.

Была исправлена ошибка в библиотеке libalias, приводившая к дампу памяти при указании в natd(8) опции -reverse.

Библиотека libarchive (как и команда 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, должны быть перекомпилированы, или необходимо использовать libmap.conf(5). В базовой системе FreeBSD таких бинарных файлов нет.

Программа lpd(8) теперь убеждается, что файл данных передан полностью перед началом печати, если он передается с какого-либо другого хоста. Некоторые реализации lpr(1) отправляют контрольный файл для задания печати перед отправкой соответствующих файлов данных, что может вызвать проблемы, если получающий хост это нагруженный принт сервер. [MERGED]

В библиотеке math(3) было реализовано множество новых функций. В их число входят ceill(3), floorl(3), ilogbl(3), fma(3) и варианты, lrint(3) и варианты, и lround(3) и варианты. [MERGED]

Утилита mknod(8) была исключена из числа поддерживаемых. Файлы устройств управляются файловой системой devfs(5) начиная с FreeBSD 5.0.

Была добавлена не-GPL утилита mkuzip(8), для сжатия образов файловых систем перед использованием с модулем GEOM_UZIP geom(4). [MERGED]

Даемон moused(8) теперь поддерживает “виртуальную прокрутку”, когда перемещения мыши при нажатой средней кнопке интерпретируются как прокрутка. Эта функция включается флагом -V. [MERGED]

Для динамических зон named(8) был добавлен отдельный каталог, владельцем которого является пользователь bind (для создания журнального файла зоны). Более подробная информация находится в примере динамической зоны файла named.conf(5). [MERGED]

Утилита ncal(1) теперь поддерживает флаг -m для создания календаря определенного месяца в текущем году. [MERGED]

Утилита newfs(8) теперь поддерживает флаг -n для подавления создания каталога .snap на новых файловых системах. Эта функция предназначена для использования с файловыми системами в памяти или виртуальными файловыми системами, которым не требуется поддержка образов. [MERGED]

Утилита newfs(8) теперь выдает предупреждение при создании файловых систем UFS или UFS2, которые не могут поддерживать образы. Такая ситуация может возникать в случае очень больших файловых систем с блоками малого размера. [MERGED]

Утилита newsyslog(8) теперь поддерживает параметр -d для изменения корневого каталога лог файлов подобно переменной DESTDIR для BSD make. Эта переменная влияет только на пути к лог файлам, и не влияет на файл конфигурации (-f) или архивный каталог (-a).

Утилита newsyslog(8) теперь поддерживает параметр -N, запрещающий ротацию каких-либо файлов.

Была добавлена переменная компиляции системы NO_NIS. Как следует из ее имени, включение этой переменной приведет к исключению поддержки NIS из различных программ, и утилиты NIS не будут компилироваться. [MERGED]

В течение многих лет, в FreeBSD использовались переменные Makefile в формах NOFOO и NO_FOO. Теперь используются только переменные в форме NO_FOO. Полный список таких переменных находится в файле /usr/share/mk/bsd.compat.mk; в нем также реализована временная обратная совместимость для старых имен.

Проверка безопасности в periodic(8) теперь поддерживает отображение счетчиков пакетов, заблокированных pf(4). [MERGED]

Команда pgrep(1) теперь поддерживает опцию -S, которая соответствует системным процессам (потокам ядра).

Команды pgrep(1) и pkill(1) теперь поддерживают опцию -F, позволяющую указывать файл, где сохраняется PID.

Команды pgrep(1) и pkill(1) теперь поддерживают опцию -i, с которой регистр игнорируется.

Команды pgrep(1) и pkill(1) теперь поддерживают опцию -j, с которой процессы сопоставляются на основе их идентификатора jail(2).

Команды pgrep(1) и pkill(1) теперь поддерживают опцию -o, соответствующую наиболее старому (раньше всех запущенному) из выбираемых процессов.

Была добавлена программа powerd(8) для управления энергопотреблением.

В программе ppp(8) реализован параметр echo, позволяющий включать LCP ECHO независимо от LQR. Более старые версии ppp(8) переходят в режим LCP ECHO если согласование lqr не будет успешно проведено. Теперь для получения такого поведения необходимо указать enable echo. [MERGED]

В программу ppp(8) были добавлены параметры disable NAS-IP-Address и disable NAS-Identifier, поддерживающие pre-RFC 2865 RADIUS серверы.

Были исправлены две ошибки в программе pppd(8). Они могли привести к некорректному ответу CBCP, нарушающему Microsoft PPP Callback Control Protocol section 3.2. [MERGED]

Утилита ps(1) теперь поддерживает ключевое слово jid опции -o. Оно предназначено для отображения идентификатора jail(2) каждого процесса.

Программа pstat(8) теперь поддерживает опцию -h, чтобы выводить размер с префиксами, такими как K, M и G.

Утилиты rescue(8) в каталоге /rescue теперь включают bsdtar(1) вместо GNU tar.

Утилита restore(8) опять может читать ленты с дампами FreeBSD версии 1. [MERGED]

Была исправлена ошибка в утилите rexecd(8), из-за которой считалось, что опция -i всегда указана. [MERGED]

Утилита rexecd(8) была удалена. В дереве исходных текстов FreeBSD нет клиентов rexec, и клиентская функция rexec(3) существует только в libcompat.

Утилита rm(1) теперь поддерживает параметр -I, с которым (однократно) запрашивается подтверждение при рекурсивном удалении каталогов или более 3 файлов, перечисленных в командной строке. [MERGED]

Утилита rm(1) теперь подавляет диагностические сообщения при попытке удаления несуществующего каталога, когда указаны параметры -r и -f. Это поведение соответствует документу Version 3 of the Single UNIX Specification (SUSv3).

Были реализованы следующие функции стандарта ISO/IEC 9899:1999: roundl(), lroundl(), llroundl(), truncl() и floorl().

Была добавлена библиотека rpmatch(3) для проверки строки, содержащей положительный или отрицательный ответ в текущей локали.

Динамический компоновщик rtld(1) теперь поддерживает указание замещающих библиотек через переменную окружения LD_LIBMAP. Эта переменная перезаписывает записи в libmap.conf(5). [MERGED]

Нестандартный интерфейс поддержки мультибайтовых и расширенных символов rune(3) был удален.

sed(1) теперь поддерживает опцию -l, включающую построчную буферизацию вывода. [MERGED]

Функция strftime(3) теперь поддерживает некоторые GNU расширения, такие как - (без заполнения), _ (использовать пробел для заполнения), и 0 (заполнение нулями). [MERGED]

Функцию syslog(3) теперь можно безопасно использовать в многопоточных программах. [MERGED]

Утилита syslogd(8) теперь открывает дополнительный сокет (/var/run/logpriv по умолчанию), с правами 0600 для использования привилегированными программами. Это предотвращает блокировку привилегированных программ, когда буфер сокета переполняется вследствие локальной DoS атаки. [MERGED]

syslogd(8) теперь поддерживает опцию -S, которая позволяет изменять путь к привилегированному сокету. Это полезно для предотвращения получения даемоном сообщений из локальных сокетов (/var/run/log и /var/run/logpriv используются по умолчанию). [MERGED]

Утилита syslogd(8) теперь позволяет использование символов : и % в имени хоста. Эти символы используются в адресах и scope ID IPv6. [MERGED]

systat(1) -netstat теперь приспособлен для IPv6. [MERGED]

Параметр -f утилиты tail(1) теперь поддерживает более одного файла одновременно. [MERGED]

Программы telnet(1) и telnetd(8) теперь поддерживают параметр -S для указания числового TOS байта.

Предварение знаком + номера порта, передаваемого программе telnet(1), отключает распознавание параметров и позволяет передачу символов с установленным верхним битом. Эта возможность предназначена для поддержки широко применяемого использования telnet(1) для тестирования протокола.

Была добавлена команда tcpdrop(8), закрывающая выбранное соединение TCP. Она была заимствована из OpenBSD. [MERGED]

what(1) теперь поддерживает флаг -q, который указывает выводить текст, но не форматировать его.

whois(1) теперь поддерживает флаг -k для запроса whois.krnic.net (the National Internet Development Agency of Korea), содержащего информацию о IP адресах в Корее. [MERGED]

Параметр -I команды xargs(1) был изменен для соответствия IEEE Std 1003.1-2004. Стандарт требует, чтобы сконструированные аргументы не могли превышать 255 байт.

Была исправлена ошибка чтения файлов конфигурации, таких как hosts(5), services(5) и так далее, которые не заканчивались символом новой строки. [MERGED]

Были добавлены новые системные пользователь/группа _dhcp для поддержки dhclient(8) из OpenBSD.


2.3.1. Скрипты /etc/rc.d

Был добавлен стартовый скрипт rc.d/bsnmpd для bsnmpd(1).

rc.conf(5) теперь поддерживает изменение имен сетевых интерфейсов во время загрузки. [MERGED] Например:

ifconfig_fxp0_name="net0"
ifconfig_net0="inet 10.0.0.1/16"

Скрипт rc.d/moused теперь может выполнять команды starts/stops/checks для определенного устройства, которое задается вторым аргументом к скрипту:

# /etc/rc.d/moused start ums0

Для использования различных переменных rc.conf(5) с различными мышами, задавайте имя устройства в качестве части переменной. Например, если устройство мыши /dev/ums0, можно использовать следующие строки:

moused_ums0_enable=yes
moused_ums0_flags="-z 4"
moused_ums0_port="/dev/ums0"

rc.conf(5) теперь поддерживает переменные tmpmfs_flags и varmfs_flags. Они могут использоваться для передачи дополнительных параметров утилите mdmfs(8), задания md(4) параметров создания файловой системы, таких как включение/выключение softupdates, указания владельца файловой системы по умолчанию и так далее. [MERGED]

Следующие скрипты были удалены, поскольку они были специфичны для NetBSD и никогда не использовались в FreeBSD: 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.


2.4. Стороннее программное обеспечение

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 клиента, использовавшегося в в предыдущих версиях FreeBSD.

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 сервер аутентификации. Более подробная информация находится на странице справочника 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 года. Более подробная информация находится на странице справки по 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. За дополнительной информацией обращайтесь к странице справочника wpa_supplicant(8).


2.5. Инфраструктура коллекции портов/пакетов

Утилита pkg_create(1) теперь поддерживает флаг -R. Если указан этот флаг, при создании файла пакета из локально установленного пакета, создаются файлы для всех пакетов, от которых он зависит.

Утилита pkg_version(1) теперь поддерживает флаг -q для подавления вывода символов сравнения версий <, = и >.

Утилита pkg_version(1) теперь поддерживает флаг -I, с которым только файл INDEX используется для определения того, является ли пакет устаревшим.

Файлы ports/INDEX*, в которых находится индекс всех портов коллекции, был удален из репозитория CVS. [MERGED] Этот файл генерировался не часто, и следовательно обычно был устаревшим и не соответствовал состоянию портов. Пользователи, которым требуется индексный файл (например, для использования с такими программами, как portupgrade(1)), могут получить копию двумя способами:

  • Создать индекс файл на основе текущего дерева портов, выполнив make index из корневого каталога дерева ports/.

  • Забрать индексный файл по сети, выполнив make fetchindex из корневого каталога дерева ports/. Этот индексный файл (как правило) подходит для использования в течение дня.


2.6. Подготовка релизов и интеграция

В предыдущих релизах FreeBSD, CD-ROM (или образ ISO) disc1 был загрузочным установочным диском, содержащим основную систему, дерево портов и широко используемые пакеты. CD-ROM (или образ ISO) disc2 был загрузочным “fix it” диском с live filesystem, и был предназначен для восстановления после критических сбоев. Теперь для всех архитектур за исключением ia64, на disc1 находится базовая система, дерево портов и live filesystem, что делает возможным как установку с этого диска, так и восстановление после сбоев. (На ia64, live filesystem находится на отдельном диске, поскольку не умещается на первый). Пакеты помещаются на отдельный диск; в частности, образ disc2 содержит общеиспользуемые пакеты, такие как десктоп-приложения. Документы Проекта документирования FreeBSD также помещаются на disc2. [MERGED]

Поддерживаемая версия десктопа GNOME была обновлена с 2.6.2 до 2.10.1. Более подробная информация о работе GNOME в FreeBSD находится на веб странице FreeBSD GNOME Project. [MERGED]

Замечание: Пользователи предыдущих версий GNOME (x11/gnome2) должны подойти к обновлению с определенной осторожностью. Простое обновление из коллекции портов FreeBSD с помощью portupgrade(1) (sysutils/portupgrade) вызовет серьезные проблемы. Пользователи GNOME должны внимательно прочесть инструкции ../../../../../gnome/docs/faq210.html и использовать скрипт gnome_upgrade.sh для обновления до GNOME 2.10.



Поддерживаемая версия KDE была обновлена с 3.3.0 до 3.4.0. Более подробная информация о работе KDE в FreeBSD находится на веб странице KDE в FreeBSD. [MERGED]

Замечание: Пользователям более старых версий KDE предлагается следовать процедуре обновления, документированной на веб странице KDE on FreeBSD иди в файле ports/UPDATING.



Поддерживаемая версия Xorg была обновлена с 6.7.0 до 6.8.2. [MERGED]


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

Документация существующей функциональности была улучшена путем добавления следующих страниц справочника: ataraid(4), bus_space(9), devfs.conf(5), devfs.rules(5), pmap_page_init(9), pthread_atfork(3), sched_4bsd(4), sched_ule(4), snd_fm801(4), snd_neomagic(4), snd_via8233(4), snd_via82c686(4) и snd_vibes(4).

Страницы справочника базовой системы получили множество исправлений, как в содержимом так и в отображении. Ссылки между страницами стали более корректными, стандартные заголовки разделов используются повсеместно, разметка была исправлена.

Следующие страницы справочной системы, которые были получены из документов RFC, и возможно нарушали IETF копирайт, были замещены: gai_strerror(3), getaddrinfo(3), getnameinfo(3), inet6_opt_init(3), inet6_option_space(3), inet6_rth_space(3), inet6_rthdr_space(3), icmp6(4) и ip6(4). [MERGED]


3. Обновление с предыдущих релизов FreeBSD

Обновление из исходных текстов до FreeBSD 7.0-CURRENT теперь поддерживается только с FreeBSD 5.3-RELEASE или более поздних. Пользователям более старых версий потребуется сначала обновить систему до FreeBSD 5.3 или более свежей версии, а затем до FreeBSD 7.0-CURRENT.

Важно: Обновление FreeBSD конечно же должно производиться только после резервного копирования всех данных и файлов настройки.


Этот файл и другие документы, относящиеся к данной версии FreeBSD, могут быть найдены по адресу http://www.FreeBSD.org/snapshots/.

Если у вас возник вопрос, касающийся FreeBSD, прочтите документацию, прежде чем написать письмо в <questions@FreeBSD.org>.

Всем пользователям FreeBSD 7-CURRENT рекомендуется подписаться на список рассылки <current@FreeBSD.org>.

Вопросы, касающиеся этого документа, вы можете направить по адресу <doc@FreeBSD.org>.