Некоторые из различий между FreeBSD 4.X и 5.X заслуживают особого упоминания, поскольку они включают серьезные архитектурные изменения, или нарушение обратной совместимости. Хотя эти изменения скорее всего не приведут к потере данных, они могут стать проблемой для тех, кто к ним не готов. Некоторые примеры:
Некоторые части функциональности базовой системы FreeBSD были перенесены в коллекцию портов FreeBSD, обычно вследствие того, что их проще поддерживать в этой форме, или поскольку они на самом деле не являются необходимой частью базовой системы. Наиболее заметный пример такого переноса это Perl (доступный из коллекции портов FreeBSD через порт lang/perl5.8), наличие которого в базовой системе делало обновление проблематичным. Утилиты базовой системы, написанные на Perl, были или переписаны или удалены (если они более не нужны).
Другие примеры включают UUCP (доступный из коллекции портов как net/freebsd-uucp), утилиту doscmd (emulators/doscmd), и многие из традиционных игр (games/freebsd-games).
Изменения в структурах данных ядра и ABI/API означает необходимость модификации множества бинарных драйверов устройств сторонних поставщиков для корректной работы в FreeBSD 5.X. В некоторых (редких) случаях изменены видимые пользователю структуры данных, что требует перекомпиляции приложений или переустановки портов/пакетов. Как и с серией релизов 4.X, целью команды разработки FreeBSD является недопущение внесения несовместимых изменений в будущие релизы ветви 5.X.
Недостаток интереса со стороны пользователей и отсутствие поддержки некоторых частей базовой системы FreeBSD привело к утере их работоспособности. Эти части были удалены. Например, так случилось с исполняемыми файлами a.out, [1] поддержкой сетей XNS и драйвером X-10. Многие другие драйверы для старых ISA устройств стали неработоспособны и были удалены. Дополнительные подробности находятся в информации о релизе.
В FreeBSD/i386 4.X настройка ISA устройств вносилась в конфигурацию ядра. Ее можно было изменить во время загрузки через интерактивную утилиту UserConfig. В FreeBSD 5.X оба этих механизма были заменены механизмом device.hints(5), который делает ненужным жесткое задание параметров настройки ISA в ядре. Настройка ISA устройств во время загрузки более не управляется через меню, вместо этого вводятся параметры в приглашение командной строки загрузчика.
MAKEDEV более не существует и не требуется. FreeBSD 5.X использует файловую систему устройств, которая автоматически создает файлы устройств по мере необходимости. Настройка файловой системы устройств может быть выполнена посредством утилиты devfs(8) или через механизм /etc/devfs.conf. Дополнительная информация находится на странице справочной системы devfs(5).
UFS2 стал дисковым форматом по умолчанию для файловых систем, созданных с
использованием
newfs(8). Для
всех платформ за исключением pc98 это также формат по умолчанию файловых систем,
созданных с использованием экрана разметки в
sysinstall(8).
Поскольку FreeBSD 4.X распознает только UFS1 (и не
распознает UFS2), дисковые разделы, к которым необходимо получать доступ и из 5.X и из 4.X, должны
быть созданы с UFS1. Этот формат может быть выбран параметром -O1
для
newfs(8), или
через экран разметки диска в
sysinstall(8).
Эта ситуация обычно возникает на компьютере, где одновременно присутствуют FreeBSD 4.X FreeBSD 5.X.
Обратите внимание, что не существует способа преобразования файловых системы между этими
двумя форматами (кроме резервного копирования, пересоздания файловой системы и
восстановления с резервной копии).
Вследствие обновления компилятора GCC, программы на C++ как правило требуют перекомпиляции и переустановки. Это требование возникло вследствие изменений в C++ ABI.
Запуск приложений, скомпилированных для FreeBSD 4.X, может быть возможен посредством дистрибутива compat4x (или эквивалентного порта/пакета misc/compat4x). Однако, если какой-либо порт или пакет в системе требует обновления, рекомендуется пересборка и переустановка всех установленных в системе портов. Это предотвратит проблемы, которые могут появиться с программами, использующими некоторую комбинацию старых и новых библиотек. Утилита sysutils/portupgrade может помочь при переустановке портов.
Обратите внимание, что в любом случае существует несколько примеров обратной несовместимости. Например, порты devel/gnomevfs2, mail/postfix, и security/cfs необходимо перекомпилировать вследствие изменений в структуре statfs.
Файл настройки разрешения имен host.conf был замещен на (гораздо более общий) механизм настройки сервисов имен nsswitch.conf(5).
BIND был обновлен с версии 8 до версии 9. Между BIND 8 и 9 существует множество различий. Пользователям, для которых наличие named(8) необходимо, рекомендуется прочесть документацию по мигрированию в /usr/share/doc/bind9/misc/migration. Доступно также новое руководство в /usr/share/doc/bind9/arm. На системах, где работает named(8), теперь он по умолчанию запускается в среде chroot(8) в /var/named. Пользователям, у которых конфигурация named(8) уже расположена /var/named, рекомендуется сделать резервную копию этого каталога перед обновлением, чтобы избежать ее перезаписи стартовым скриптом named(8).
Реализация X Window System от Xorg устанавливается для FreeBSD 5.X по умолчанию начиная с 5.3-RELEASE. На момент написания данного текста, XFree86™ остается по умолчанию в FreeBSD 4.X. Дополнительную информацию по различию между версиями, а также информацию по обновлению существующих систем можно найти в главе X Window System Руководства FreeBSD.
Документация (такая как Руководство FreeBSD и FAQ) все еще находится в процессе обновления, чтобы соответствовать изменениям, недавно внесенным в FreeBSD 5.X.
Дополнительная информация находится в документации на релиз к различным релизам FreeBSD 5.X, а также в файле src/UPDATING из дерева исходных текстов FreeBSD. Значительные изменения в коллекции портов FreeBSD приводятся в файлах ports/UPDATING и ports/CHANGES из дерева портов.
[1] |
Обратите внимание, что выполнение файлов a.out все еще поддерживается на i386 и pc98 с параметром ядра COMPAT_AOUT. Некоторые из компиляторов коллекции портов (например, lang/gcc28) все еще поддерживают создание исполняемых файлов стандарта a.out. |
Этот файл и другие документы, относящиеся к данной версии FreeBSD, могут быть найдены по адресу http://www.FreeBSD.org/snapshots/.
Если у вас возник вопрос, касающийся FreeBSD, прочтите документацию, прежде чем написать письмо в <questions@FreeBSD.org>.
Всем пользователям FreeBSD 5-STABLE рекомендуется подписаться на список рассылки <stable@FreeBSD.org>.
Вопросы, касающиеся этого документа, вы можете направить по адресу <doc@FreeBSD.org>.