Copyright © 2002, 2003, 2004, 2005 Группа подготовки релизов FreeBSD
$FreeBSD: src/release/doc/ru_RU.KOI8-R/early-adopter/article.sgml,v
1.5.2.4 2005/04/01 13:11:04 den Exp $
FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.
Apple, AirPort, FireWire, Mac, Macintosh, Mac OS, Quicktime и TrueType это торговые марки Apple Computer, Inc., зарегистрированные в Соединенных Штатах и других странах.
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 или ее дочерних компаний в Соединенных Штатах и других странах.
Microsoft, FrontPage, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media и Windows NT это или зарегистрированные торговые марки или торговые марки Microsoft Corporation в Соединенных Штатах и/или других странах.
Sparc, Sparc64, SPARCEngine, и UltraSPARC это торговые марки SPARC International, Inc в Соединенных Штатах и других странах. Продукты с торговой маркой SPARC основаны на архитектуре, разработанной Sun Microsystems, Inc.
Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак ``™'' или ``®''.
Эта статья описывает основные отличия между FreeBSD 4.X и FreeBSD 5.5-STABLE с точки зрения пользователей или администраторов, обновляющих существующую систему. В ней дан краткий обзор процесса подготовки релизов FreeBSD. Кроме того, описаны некоторые новые возможности FreeBSD 5.X, а также некоторые изменения, которые могут быть интересны пользователям, привыкшим работать с серией релизов 4.X. Эта статья описывает также процедуры обновления существующих систем, как бинарного, так и из исходных текстов. Более ранние версии этой статьи публиковались в предыдущих релизах FreeBSD 5.X. До FreeBSD 5.3-RELEASE эта статья называлась ``Руководство для новых пользователей FreeBSD''.
FreeBSD 5.5-STABLE это самая свежая версия ``FreeBSD-STABLE''. Этот и последующие релизы серии 5.X предназначены для применения в реальных задачах практически так же, как и предыдущая серия релизов 4.X.
Эта статья затрагивает многие темы и вопросы, связанные с обновлением 4.X до 5.5-STABLE. Она начинается с краткого обзора существующей практики подготовки релизов, а затем описывает некоторые из новых возможностей, доступных в серии FreeBSD 5.X. В возможно наиболее важном разделе приводятся основные изменения, видимые пользователю, или изменения во внешних интерфейсах программ. Наконец, приводятся заметки по обновлению установленной системы FreeBSD 4.X до FreeBSD 5.5-STABLE, бинарному или из исходных текстов.
FreeBSD использует модель разработки, основанную на наличии множества ветвей в репозитории исходных текстов. Основная ветвь называется ``CURRENT'', и в репозитории CVS она означает тег HEAD. Новые возможности сначала вносятся в эту ветвь; хотя CURRENT первой получает новую функциональность, это также означает, что она периодически страдает от нарушений работоспособности при добавлении и отладке новых возможностей.
Большинство релизов FreeBSD выпускаются из одной или нескольких ветвей ``STABLE''. В эти ветви возможности добавляются только после некоторого тестирования в CURRENT. Последние два года только одна ветвь STABLE, известная как ``4-STABLE'', находилась в активной разработке, и все релизы FreeBSD 4.X были выпущены из нее. В репозитории CVS тег этой ветви RELENG_4.
Последние две стабильные ветви (3-STABLE and 4-STABLE) были созданы на самых ранних стадиях цикла разработки (при выпуске 3.1 и 4.0 соответственно). Эта практика не дает достаточно времени для стабилизации CURRENT перед созданием новых ветвей. Это приводит к потере времени на усилия по портированию исправлений между ветвями, а также на внесение некоторые архитектурных изменений, которые вообще не могут быть портированы между ветвями.
Поэтому группа подготовки релизов создаст ветвь 5-STABLE в репозитории CVS только после достижения относительно стабильного состояния. Перед этим будет выпущено несколько релизов из серии 5.X; мы ожидаем создания 5-STABLE приблизительно во время выпуска 5.3-RELEASE.
С релизами 5.X произошло несколько иначе. FreeBSD 5.0, 5.1, и 5.2 были основаны на ветви CURRENT. Первый из этих релизов был выпущен после двух лет разработки (до него последним релизом из HEAD была FreeBSD 4.0 в марте 2000 года).
В отличие от предыдущих ветвей ``STABLE'', ветвь ``5-STABLE'' (с тегом ветви RELENG_5) была создана в CVS более чем через год после первого релиза 5.X (а именно, в процессе подготовки релиза 5.3). Эта задержка дала команде разработчиков время для завершения необходимых архитектурных изменений, стабилизацию системы, завершения работы над различными интерфейсами, и создания хорошей основы для последующих релизов 5.X.
Помимо общих улучшений и исправлений ошибок, основной приоритет для разработки ветви 5-STABLE это сохранение совместимости Application Binary Interface (ABI) и Application Program Interface (API). Любые изменения, которые могут нарушить обратную совместимость (включая интерфейсы ядра или библиотек), не приветствуются и не принимаются, за исключением случаев, когда они необходимы для решения критической проблемы.
Следующим релизом из CURRENT скорее всего станет 6.0-RELEASE, созданный из CVS HEAD. Еще не существует определенной даты для 6.0, но на момент написания этого текста ожидаемая дата находится в третьем квартале 2005 года. В дальнейшем планируется начинать выпуск релизов из основной ветви каждые восемнадцать месяцев, при этом выпуская обычные релизы каждые четыре месяца.
Последним запланированным релизом из ветви разработки 4-STABLE стал 4.11-RELEASE,
анонс которого состоялся в январе 2005 года. На данный момент больше не планируется
выпуск релизов из ветви 4-STABLE, и вся дальнейшая работа будет ограничена исправлением
ошибок и проблем с безопасностью. Для особо консервативных пользователей возможно имеет
смысл продолжить использование релизов 4.X еще
некоторое время. Группа Офицеров Безопасности <security-officer@FreeBSD.org>
продолжит поддержку релизов, выпущенных из ветви 4-STABLE в соответствии с
опубликованными политиками, которые можно найти на странице
безопасности веб сайта FreeBSD.
Дополнительную информацию по процессу создания релизов FreeBSD можно найти на веб страницы выпуска релизов и в статье ``Выпуск релизов FreeBSD''.
FreeBSD 5.X привлекает большим количеством новых возможностей, которые обычно вызывают серьезные архитектурные изменения, которые не могут быть портированы обратно в ветвь разработки FreeBSD 4-STABLE (напротив, множество автономных расширений, таких как новые драйвера устройств или обновления утилит пользователя, уже были портированы). Краткий, но не исчерпывающий список включает:
SMPng: ``Новое поколение'' поддержки Symmetric MultiProcessor (SMP) компьютеров. Продолжается работа над ``fine-grained locking'' различных подсистем ядра для увеличения количества потоков выполнения, которые могут работать в ядре. Особое внимание было уделено производительности сетевого стека и устройств хранения. Дополнительную информацию можно найти на странице FreeBSD SMP проекта.
KSE: Kernel Scheduled Entities позволяют одному процессу иметь несколько потоков уровня ядра, подобно Scheduler Activations. Библиотеки потоков libpthread и libthr делают эти возможности доступными многопоточным программам пользователя через API pthread(3). libpthread теперь является библиотекой потоков по умолчанию.
Новые архитектуры: Поддержка архитектур amd64, ia64, pc98 и sparc64 в дополнение к i386 и alpha. Другие платформы, включая powerpc (которая работает на многих PowerPC® Macintosh®) и arm, находятся в разработке.
GCC: Набор инструментов компилятора теперь основан на 3.4.X, вместо GCC 2.95.X.
MAC: Поддержка расширяемых, загружаемых политик Mandatory Access Control (принудительный контроль доступа).
GEOM: Гибкая, модульная подсистема трансформации запросов ввода/вывода на диск. Эта система поддерживает множество возможностей, относящихся к дискам и томам, таких как: Определение дисковых разделов, шифрование посредством gbde(4), различные уровни RAID, сетевой экспорт дисковых устройств (с ggated(8) относящимися к нему утилитами), а также прозрачное разжатие дисков. Система geom_vinum добавила совместимость с GEOM к менеджеру томов VINUM.
FFS: Файловая система FFS теперь поддерживает фоновые операции fsck(8) (для более быстрого восстановления после сбоев) и снэпшоты файловой системы.
UFS2: Был добавлен новый дисковый формат UFS2, поддерживающий расширенные файловые атрибуты и большие размеры файлов. UFS2 теперь формат по умолчанию для newfs(8). На всех платформах, за исключением pc98, файловые системы, созданные из sysinstall(8), используют UFS2 по умолчанию.
Новые сетевые возможности: Множество новых сетевых возможностей впервые появились в релизах 5.X, включая поддержку TCP SACK (selective acknowledgements), пакетный фильтр pf(4) из OpenBSD, и систему управления пакетами ALTQ.
Поддержка нового оборудования: Поддержка новых аппаратных устройств, таких как Cardbus, Bluetooth и сетевых интерфейсов IEEE 802.11a/b/g, основанных на чипсетах Atheros. Кроме того, для архитектуры i386, некоторые сетевые устройства, не поддерживаемые явно драйверами FreeBSD, могут поддерживаться с использованием драйверов для Microsoft® Windows® и уровня совместимости ndis(4) от поставщика оборудования.
Более полный список новых возможностей можно найти в информации о различных релизах FreeBSD 5.X.
Некоторые из различий между 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 из дерева портов.
Для пользователей системы FreeBSD этот раздел предоставляет несколько заметок по обновлению FreeBSD 4.X до 5.X. Как и при любом обновлении FreeBSD, необходимо прочесть информацию о релизе и список исправлений к новому релизу, а также src/UPDATING при обновлении из исходных текстов.
Возможно наиболее прямой способ это ``сохранить все, переформатировать, переустановить, и восстановить данные пользователя''. Это исключает проблемы с несовместимыми или отсутствующими в новой версии исполняемыми файлами и файлами настройки, захламляющими новую систему. Это позволяет создать новые файловые системы с новой функциональностью (наиболее значимая -- UFS2 по умолчанию).
На момент написания этого текста, опция бинарного обновления в меню sysinstall(8) не была достаточно протестирована для обновлений между основными ветвями. Использование этой возможности не рекомендуется.
Некоторые изменения могут быть интересны пользователям, которые знакомы с загрузочными дискетами FreeBSD 4.X. Загрузочные дискеты (на платформах, которые их поддерживают, например на i386), организованы несколько по-другому, чем в предыдущих релизах. В релизах 4.X набор дискет включал урезанное ядро, достаточное лишь для того, чтобы установить систему. Это позволяло ядру уместиться на одну дискету, но не позволяло поместить в него драйверы, необходимые для определенных аппаратных конфигураций. Начиная с 5.3-RELEASE, на установочных дискетах находится стандартное ядро GENERIC, распределенное на несколько дискет, с гораздо большим набором драйверов и возможностей. Загрузчик просит вставить дополнительные диски по мере необходимости. Пользователям, загружающим образы дискет (возможно для установки по сети), необходимо обратить внимание на то, что набор теперь включает три дискеты: boot.flp, kern1.flp, и kern2.flp.
Установочные CDROM для архитектуры i386™ теперь используют ``не-эмулирующий'' загрузчик. Это позволяет, помимо прочего, использовать GENERIC ядро вместо урезанного ядра на дискетах предыдущих версий. Как правило, любая система, способная загрузиться с установочных компакт дисков Microsoft Windows NT® 4, Windows 2000, или Windows XP должна быть способна загрузиться с компакт дисков 5.X.
Расположение файлов дистрибутива на CDROM было изменено по сравнению с серией релизов 4.X. Начиная с 5.4-RELEASE, установочный образ и ``live filesystem'' теперь находятся на первом диске для всех архитектур, за исключением ia64 (в релизах ia64 используются отдельные диски для установки и для live filesystem, поскольку они не помещаются на один диск). Широко используемые пакеты размещаются на втором и последующих дисках релиза.
Замечание: Многие и пользователи обнаружили, что проще всего сделать резервное копирование данных и файлов настройки (благоразумное предостережение для любого случая), выполнить обычную установку и восстановить данные. В отличие от обновления из исходных текстов, в этом случае не требуется заботиться об оставшихся на диске файлах и программах, и позволяет воспользоваться преимуществами новой файловой системы UFS2.
Пользователи, не знакомые с процедурами buildworld/installworld обновления FreeBSD из исходных текстов, не должны пытаться выполнить такое обновление, вместо этого рекомендуется выполнить обычную установку после резервного копирования всех данных.
При обновлении из исходных текстов на локальной машине собираются и устанавливаются бинарные файлы. Это обновление основано на процедуре buildworld/installworld, часто используемой опытными пользователями FreeBSD для отслеживания изменений в ветви разработки (такой как FreeBSD-STABLE или FreeBSD-CURRENT). Как правило, это более сложная процедура, чем бинарное обновление, но она может быть полезна если файлы настройки системы сложны или серьезно модифицированы под имеющуюся установку. Обновление из исходных текстов также может быть полезно, когда у администратора есть удаленный доступ к консоли, но нет физического доступа (и следовательно нет возможности вставить установочный диск).
Прочтение src/UPDATING абсолютно необходимо. Раздел, озаглавленный ``To upgrade in-place from 4.x-stable to current'' содержит пошаговую процедуру обновления, которая должна быть в точности выполнена, без ``сокращений'', которые зачастую применяют некоторые пользователи. Сокращенный список этих шагов приведен ниже:
Сделайте резервные копии.
Важность этого шага невозможно переоценить. Необходимо сделать резервные копии всех данных пользователя и файлов настройки. Прекрасно подходит для этого dump(8) нулевого уровня, хотя конечно существует множество работоспособных альтернатив.
Убедитесь, что в файловой системе / присутствует около 30MB свободного места.
FreeBSD 5.X требуется больше места, чем FreeBSD 4.X. Если каталог /tmp расположен в файловой системе / (а зачастую это так), удаление всего содержимого этого каталога может помочь высвободить место.
Подправьте /etc/fstab если необходимо.
Этот пункт возможно относится только к старым системам FreeBSD/i386. В системах, где используются дисковые слайсы в MBR стиле, FreeBSD поддерживает ``слайсы совместимости'', где имена дисковых разделов могут принимать форму /dev/ad0a (без явного указания имени слайса). Это более не поддерживается, дисковые разделы должны быть именованы в форме /dev/ad0s1a. Другими словами, дисковые разделы теперь должны указываться полностью: дисковое устройство, номер слайса и буква раздела.
Обратите внимание, что ``слайсы совместимости'' обычно не используются по умолчанию начиная с FreeBSD 2.2.6-RELEASE. Этот пункт не относится к FreeBSD/alpha вообще, как и к системам, использующим режим ``dangerously dediated''.
Используя cvs(1) или другие
способы, получите копию исходных текстов базовой системы FreeBSD (модуль src/). Для извлечения 5.4-RELEASE из CVS репозитория FreeBSD,
используйте тег RELENG_5_4_0_RELEASE. Для ветви 5.4 с
исправлениями, используйте тег RELENG_5_4. Для отслеживания
ветви разработки FreeBSD 5-STABLE, используйте тег ветви RELENG_5. При использовании CVS для извлечения исходных текстов,
важно установить для CVS флаг -P
, чтобы пустые каталоги
удалялись.
FreeBSD 5.X требуются некоторые новые записи в системных файлах паролей и групп, соответствующие различным системным сервисам. Они должны быть добавлены командой:
# mergemaster -p
Этот шаг необходимо выполнить, чтобы установить пользователя и группу на некоторые новые файлы.
Обратите внимание, что в FreeBSD 5.X файл утилиты nologin(8) переместился из /sbin/nologin в /usr/sbin/nologin. Поскольку у многих псевдо-пользователей nologin(8) указана в качестве оболочки, это изменение создаст дополнительные различия в /etc/passwd.
Соберите новую систему с помощью:
# cd /usr/src # make buildworld
Если переменная CPUTYPE
определена в /etc/make.conf, она должна быть задана оператором ?=, чтобы процесс buildworld мог переписать
ее при необходимости.
Обратите внимание, что MAKEOBJDIRPREFIX
нельзя определять в /etc/make.conf.
Как правило, большая часть ``установок'', определенных в /etc/make.conf, должна быть закомментирована или удалена. Это
особенно важно для тех переменных, которые непосредственно влияют на сборку или основные
операции FreeBSD, такие как NO_TOOLCHAIN
.
Соберите и установите новое ядро командой:
# make buildkernel
Обратите внимание, что необходимо использовать make(1) buildkernel, чтобы убедиться, что ядро будет собрано компилятором, собранным в предыдущем действии. Использование config(8) вручную и последующая сборка ядра не будут работать.
Хотя сборка (и последующая установка) собственного ядра в данный момент возможна, обновление с использованием ядра GENERIC и установка собственного ядра позже предпочтительнее, поскольку вероятность ошибок ниже. При сборке собственного ядра в первый раз настоятельно рекомендуется в качестве основы использовать ядро GENERIC из FreeBSD 5.X, поскольку многие устройства и параметры были добавлены или изменены по сравнению с 4.X. В любом случае, включение параметра конфигурации COMPAT_FREEBSD4 необходимо для успешного обновления.
Настройте хинты устройств для устройств ISA с помощью одного из варианта нижеприведенной команды. Подставьте соответствующее имя архитектуры (например i386) вместо MACHINE.
# cp sys/MACHINE/conf/GENERIC.hints /boot/device.hints
Хотя пустой файл хинтов может быть достаточен для современного оборудования, хинты ISA необходимы для систем с ISA не-PNP картами (где хинты должны быть настроены), для не-PNPBIOS систем, или для флоппи дисков, чтобы корректно работать на PNPBIOS системах.
Установите новое ядро командой:
# make installkernel
Обратите внимание, что в FreeBSD 4.X ядро по умолчанию устанавливается в /kernel, а в FreeBSD 5.X ядро устанавливается в /boot/kernel/kernel. Модули ядра в 4.X обычно устанавливаются в каталог /modules, а в 5.X они устанавливаются в /boot/kernel.
Установите загрузчик FreeBSD 5.X командой:
# cd /usr/src/sys/boot # make STRIP="" install
Хотя этот шаг опционален, он настоятельно рекомендуется.
Отключите модули сторонних разработчиков (такие как VMware) для предотвращения падений, вызванных изменениями в ABI ядра или другими несовместимостями.
Перезагрузитесь в однопользовательский режим. Перезагрузка абсолютно необходима, поскольку для установки новой системы должно быть запущено новое ядро. Однопользовательский режим практически устранит различные случайности, которые могут возникнуть во время обновления, так как другие программы не будут запущены.
Смонтируйте необходимые файловые системы:
# fsck -p # mount -uw / # mount -at ufs
Обратите внимание, что вызов fsck(8) необходим для обновления определенный полей в суперблоке файловой системы для FreeBSD 5.X. Если системные часы работают в локальном времени, а не в UTC, выполните также:
# adjkerntz -i
Во время этого шага на консоли может появиться следующее сообщение (множество раз).
WARNING: userland calling deprecated sysctl, please rebuild world
Оно может быть спокойно проигнорировано.
Удалите заголовки файлов C++:
# rm -rf /usr/include/g++
Этот шаг предотвратит использование старых файлов заголовков, оставшихся от компилятора GCC 2.95 C++, при дальнейших компиляциях.
Установите новую систему:
# cd /usr/src # make installworld
На системах, где установлен named(8), его файлы настройки должны быть перемещены в chroot(8), в каталог /var/named. Если какие-либо файлы уже находятся в /var/named, необходимо предварительно сделать их резервную копию.
# cd /etc # mv named named.bak # mkdir -p /var/named/etc/namedb # cp -Rp named.bak/* /var/named/etc/namedb
Если в конфигурации использованы автоматически созданные файлы localhost, для их автоматической пересборки потребуется следующее:
# cd /var/named/etc/namedb # /bin/sh make-localhost # rm -f localhost-v6.rev localhost.rev
Наконец, нужно удалить два устаревших бинарных файла от предыдущих версий BIND:
# rm /usr/sbin/nslookup # rm /usr/sbin/nsupdate
Обновите конфигурацию системы, запустив:
# mergemaster -i
Этот шаг не опционален. Он необходим для приведения стартовых файлов и файлов настройки из /etc в соответствие новому ядру и системе.
После вызова mergemaster(8), неплохо будет проверить (и возможно изменить) /etc/rc.conf. Значения по умолчанию многих переменных, определяемых в этом файле, изменились; в частности, некоторые сервисы, которые были включены по умолчанию в 4.X, теперь отключены по умолчанию в 5.X.
Удалите оставшиеся файлы BIND 8:
# rm /usr/bin/dnskeygen /usr/bin/dnsquery # rm /usr/libexec/named-xfer # rm /usr/sbin/named.restart /usr/sbin/ndc
Перезагрузитесь.
После обновления базовой системы, обычно требуется обновление некоторых компонент, не входящих в базовую систему, для восстановления нормальной функциональности. Perl более не является частью базовой системы и должен быть установлен из коллекции портов (а именно, из порта lang/perl5.8) или из пакета. После этой установки все порты и/или пакеты, зависящие от Perl, нуждаются в переустановке.
Для запуска бинарных файлов FreeBSD 4.X требуется набор библиотек, поддерживающих совместимость. Он доступен после установки пакета/порта misc/compat4x.
Как было упомянуто в предыдущем разделе, Xorg это реализация X Window System по умолчанию. Коллекция портов (а также пакеты) соответствуют этому изменению, чтобы учесть зависимости. Для замены установленной графической системы с XFree86 на Xorg, обратитесь к разделу Установка X11 Руководства FreeBSD.
В этой статье представлены некоторые из наиболее заметных новых возможностей FreeBSD 5.X, и список отдельных вопросов, требующих особого внимания тех пользователей, кто обновляет существующую систему FreeBSD 4.X. Здесь также представлены два набора инструкций по обновлению, одна с использованием обычной установки, другая основана на перекомпиляции системы из исходных текстов.
[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>.