From owner-svn-doc-all@freebsd.org Sat Jan 9 00:48:01 2016 Return-Path: Delivered-To: svn-doc-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id EE600A687CB; Sat, 9 Jan 2016 00:48:00 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A64271746; Sat, 9 Jan 2016 00:48:00 +0000 (UTC) (envelope-from pluknet@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u090lxpW049655; Sat, 9 Jan 2016 00:47:59 GMT (envelope-from pluknet@FreeBSD.org) Received: (from pluknet@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u090lxDX049653; Sat, 9 Jan 2016 00:47:59 GMT (envelope-from pluknet@FreeBSD.org) Message-Id: <201601090047.u090lxDX049653@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: pluknet set sender to pluknet@FreeBSD.org using -f From: Sergey Kandaurov Date: Sat, 9 Jan 2016 00:47:59 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r47964 - in head/ru_RU.KOI8-R: books/handbook/cutting-edge books/handbook/ports share/xml X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire doc trees \(except for " user" , " projects" , and " translations" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Jan 2016 00:48:01 -0000 Author: pluknet Date: Sat Jan 9 00:47:59 2016 New Revision: 47964 URL: https://svnweb.freebsd.org/changeset/doc/47964 Log: Sync the cutting-edge chapter, update associated xrefs. MFen: handbook/cutting-edge/chapter.xml r33528 -> r47724 Modified: head/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml head/ru_RU.KOI8-R/books/handbook/ports/chapter.xml head/ru_RU.KOI8-R/share/xml/mailing-lists.ent Modified: head/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml ============================================================================== --- head/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml Fri Jan 8 23:33:56 2016 (r47963) +++ head/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml Sat Jan 9 00:47:59 2016 (r47964) @@ -5,33 +5,69 @@ $FreeBSD$ $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml,v 1.52 2006/06/20 18:02:32 marck Exp $ - Original revision: r33528 + Original revision: r47724 --> - - Обновление системы и смена версии + + + + Обновление системы и смена версии &os; + - JimMockРеструктурирование, реорганизацию и частичное обновление - выполнил + + + Jim + Mock + + Реструктурирование, реорганизацию и частичное + обновление выполнил + - JordanHubbardОригинальный текст написали - - Poul-HenningKamp - - JohnPolstra - - NikClayton + + + Jordan + Hubbard + + Оригинальный текст написали + + + + + Poul-Henning + Kamp + + + + + + John + Polstra + + + + + + Nik + Clayton + + - АндрейЗахватовПеревод на русский язык: + + + Андрей + Захватов + + Перевод на русский язык: + - - Краткий обзор @@ -42,24 +78,18 @@ связанные с безопасностью и другими критическими исправлениями. Независимо от используемой версии &os; предоставляет все необходимые инструменты для поддержания системы в актуальном состоянии, а также - позволяет легко перейти на другую версию. Эта глава поможет - вам решить, хотите ли вы отслеживать систему в процессе работы над ней - или останетесь верным одному из выпущенных релизов. Также имеются - простейшие инструменты для поддержания вашей системы в актуальном + позволяет легко перейти на другую версию. Эта глава описывает, + как отслеживать систему в процессе её разработки, а также + основные инструменты для поддержания системы &os; в актуальном состоянии. После чтения этой главы вы будете знать: - Какие программы можно использовать для обновления системы и - Коллекции Портов. - - - - Как поддерживать вашу систему в актуальном состоянии при + Как поддерживать систему &os; в актуальном состоянии при помощи freebsd-update, - CVSup, CVS + Subversion или CTM. @@ -69,13 +99,19 @@ + Как поддерживать установленную документацию в актуальном + состоянии при помощи Subversion + или портов документации. + + + Разницу между двумя ветвями разработки: &os.stable; и &os.current;. - Как перестраивать и переустанавливать базовую систему полностью - при помощи make buildworld (и других). + Как перестраивать и переустанавливать всю базовую + систему. @@ -83,134 +119,157 @@ - Полностью настроить своё подключение к сети (). + Правильно настроить сетевое подключение + (). - Знать, как устанавливать дополнительное программное обеспечение - других разработчиков (). + Знать, как устанавливать дополнительное стороннее + программное обеспечение (). - В этой главе для получения и обновления исходных текстов &os; - используется команда cvsup. Для этого вам - нужно установить порт или пакет net/cvsup-without-gui. Начиная с версии - &os; 6.2-RELEASE для этих целей можно воспользоваться командой - &man.csup.1;, которая входит в состав системы. + В этой главе для получения и обновления исходных текстов + &os; используется команда svn. Для этого + нужно сперва установить порт или пакет + devel/subversion. - + - Обновление FreeBSD + + Обновление &os; + - TomRhodesОригинальный текст написал + + + Tom + Rhodes + + Оригинальный текст написал + + - ColinPercivalНа основе заметок, которые предоставил + + + Colin + Percival + + На основе заметок, которые предоставил + - - обновление и смена версии + + обновление и смена версии + freebsd-update обновление и смена версии - Применение обновлений безопасности — важный момент в - сопровождении программного обеспечения, особенно такого как - операционная система. Для &os; этот процесс не был простым в - течение долгого времени. На исходный код нужно было накладывать - патчи, перестраивать код в двоичные файлы, а затем эти двоичные файлы - требовалось переустановить. - - Теперь это давно не так, и &os; включает программу с простым - названием freebsd-update. Эта программа - предоставляет две различные функции. Во-первых, она позволяет - применить к базовой системе &os; обновления безопасности и критические - исправления в двоичном виде, без необходимости сборки и установки. - Во-вторых, программа поддерживает обновление системы со сменой - старшего или младшего номера версии. + Своевременное применение обновлений безопасности и переход + на более новую версию операционной системы — важные + аспекты системного администрирования. &os; включает в себя + программу freebsd-update, которую можно + использовать для решения обеих задач. + + Эта программа используется для установки распространяемых в + двоичном виде обновлений безопасности и исправлений для &os; + без необходимости ручной компиляции и установки патчей или + нового ядра. Двоичные обновления доступны для всех архитектур + и версий, поддерживаемых группой безопасности. Перечень + поддерживаемых версий и их ожидаемые даты окончания поддержки + указаны на странице http://www.FreeBSD.org/security/. + + Эта программа также используется для незначительных + обновлений версии операционной системы, а также для перехода на + другую ветвь выпуска релизов. Перед обновлением следует + ознакомиться с объявлением о выпуске новой версии, так как там + может содержаться важная информация, применимая к версии, на + которую намечен переход. С соответствующими объявлениями можно + ознакомиться по ссылке http://www.FreeBSD.org/releases/. - Двоичные обновления доступны для всех архитектур и версий, - поддерживаемых группой безопасности; тем не менее, для работы - некоторых из возможностей, таких как смена версии операционной - системы &os;, требуется последняя версия &man.freebsd-update.8; - и по крайней мере &os; 6.3. Перед обновлением до новой версии - следует ознакомиться с объявлением о выпуске текущей версии, так - как там может содержаться важная информация, применимая к версии, - на которую намечен переход. С соответствующими объявлениями можно - ознакомиться, перейдя по следующей ссылке: http://www.FreeBSD.org/releases/. + Если имеется задание crontab, + запускающее &man.freebsd-update.8;, то перед сменой версии + операционной системы его обязательно нужно выключить. - Если имеется задание crontab, запускающее - freebsd-update, то перед началом выполнения - следующих действий его обязательно нужно выключить. + В этом разделе описывается конфигурационный файл + freebsd-update, демонстрируется применение + исправлений безопасности и обновление операционной системы со + сменой младшей или старшей версии, а также обсуждаются некоторые + соображения касаемо смены версии операционной системы. - + Конфигурационный файл - Некоторые пользователи могут пожелать изменить - конфигурационный файл для лучшего контроля над процессом - обновления. Все параметры подробно задокументированы, но - для некоторых из них может понадобиться дополнительное - разъяснение: + Конфигурационный файл freebsd-update + самодостаточен и работает по умолчанию. Некоторые пользователи + могут пожелать отредактировать конфигурационный файл + /etc/freebsd-update.conf для лучшего + контроля над процессом обновления. В комментариях описываются + доступные в этом файле параметры, но для следующих из них может + потребоваться дополнительное разъяснение: # Components of the base system which should be kept updated. -Components src world kernel +Components world kernel - Данный параметр определяет, какие части &os; будут обновлены. - По умолчанию обновляется исходный код (src), вся базовая система - (world) и ядро (kernel). Компоненты те же самые, что и во время - установки; в частности, добавление "world/games" позволяет - обновить игры. Использование "src/bin" позволяет обновить - исходный код в src/bin. - - Лучшим вариантом будет оставить всё как есть, поскольку - изменение этого перечня с целью добавления особых пунктов - потребует от пользователя указания подряд всех пунктов, которые - пользователь захочет обновить. Это может привести к негативным - последствиям из-за возможной рассинхронизации между исходными - текстами и двоичными файлами. + Данный параметр определяет, какие части &os; будут + обновлены. По умолчанию обновляется вся базовая система + (world) и ядро (kernel). Вместо этого можно указать отдельные + компоненты, такие как src/base или + src/sys. Тем не менее, лучшим вариантом + будет оставить всё как есть, поскольку изменение этого перечня + с целью добавления особых пунктов потребует от пользователя + указания подряд всех пунктов. Со временем это может привести + к негативным последствиям из-за возможной рассинхронизации + между исходными текстами и двоичными файлами. # Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. -IgnorePaths +IgnorePaths /boot/kernel/linker.hints - Добавьте сюда пути к каталогам (например, /bin или /sbin), которые вы хотели бы - оставить нетронутыми в процессе обновления. Этот параметр можно - использовать для предотвращения перезаписывания локальных - изменений программой freebsd-update. + Добавьте сюда пути к каталогам (например, + /bin или /sbin), + которые вы бы хотели оставить нетронутыми в процессе + обновления. Этот параметр можно использовать для + предотвращения перезаписывания локальных изменений + программой freebsd-update. # Paths which start with anything matching an entry in an UpdateIfUnmodified # statement will only be updated if the contents of the file have not been # modified by the user (unless changes are merged; see below). UpdateIfUnmodified /etc/ /var/ /root/ /.cshrc /.profile - Обновлять конфигурационные файлы в указанных каталогах, только - если они не содержат изменений. При наличии каких-либо изменений - со стороны пользователя автоматическое обновление таких файлов - отменяется. Есть другой параметр - KeepModifiedMetadata, который предписывает - команде freebsd-update сохранять изменения во - время процесса слияния. + Этот параметр позволяет обновлять конфигурационные файлы + в указанных каталогах, только если они не содержат изменений. + При наличии каких-либо изменений со стороны пользователя + автоматическое обновление таких файлов отменяется. Есть + другой параметр KeepModifiedMetadata, + который предписывает команде freebsd-update + сохранять изменения в процессе слияния. # When upgrading to a new &os; release, files which match MergeChanges # will have any local changes merged into the version from the new release. -MergeChanges /etc/ /var/named/etc/ +MergeChanges /etc/ /var/named/etc/ /boot/device.hints Список каталогов с конфигурационными файлами, для которых - freebsd-update попытается выполнить слияние. - Процесс слияния файла представляет собой набор изменений - в формате &man.diff.1;, похож на &man.mergemaster.8;, но с - меньшим количеством параметров: результат слияния принимается, - открывается редактор или freebsd-update - прекращает свою работу. В случае сомнений сделайте резервную - копию /etc и просто - согласитесь со всеми изменениями. Для получения подробной - информации по команде mergemaster смотрите + freebsd-update попытается выполнить + слияние. Процесс слияния файла представляет собой + последовательность изменений в формате &man.diff.1;, похожую + на &man.mergemaster.8;, но с меньшим количеством параметров. + Результат слияния принимается, открывается редактор или + freebsd-update прекращает работу. + В случае сомнений сделайте резервную копию + /etc и просто согласитесь со всеми + изменениями. Для получения подробной информации по команде + mergemaster смотрите . # Directory in which to store downloaded updates and temporary @@ -218,9 +277,9 @@ MergeChanges /etc/ /var/named/etc/ Этот каталог предназначен для размещения патчей и временных - файлов. В случае, когда пользователь выполняет обновление со сменой - версии, в этом месте должен иметь по крайней мере гигабайт дискового - пространства. + файлов. В случае, когда пользователь выполняет обновление со + сменой версии, в этом месте нужно иметь по крайней мере гигабайт + свободного дискового пространства. # When upgrading between releases, should the list of Components be # read strictly (StrictComponents yes) or merely as a list of components @@ -237,89 +296,132 @@ MergeChanges /etc/ /var/named/etc/Components. - + Обновления безопасности - Обновления безопасности хранятся на удалённой машине и могут - быть загружены и установлены с использованием следующей - команды: + Процесс применения обновлений безопасности &os; был + упрощён, что позволяет поддерживать систему в актуальном + состоянии, используя freebsd-update. + Для получения дополнительной информации по бюллетеням + безопасности &os; смотрите . + + Обновления безопасности можно загрузить и установить с + использованием следующих команд. Первая команда определяет + наличие незагруженных обновлений и показывает файлы, которые + будут изменены в процессе обновления. Вторая команда + выполняет обновление. &prompt.root; freebsd-update fetch &prompt.root; freebsd-update install Если были установлены обновления ядра, то после этого - нужно перезагрузить систему. Если все пошло хорошо, система - должна быть с установленными исправлениями, и - freebsd-update можно запускать в качестве ночного - задания &man.cron.8;. Для этого достаточно добавить следующую - запись в /etc/crontab: + нужно перезагрузить систему. Если обновление установилось + для какого-либо работающего в системе двоичного файла, то + следует перезапустить затронутые приложения, чтобы + использовалась исправленная версия двоичного файла. + + Можно настроить ежедневную автоматическую проверку + наличия обновлений, добавив следующую запись в + /etc/crontab: @daily root freebsd-update cron - Эта запись означает, что freebsd-update будет - запускаться ежедневно. В данном случае, в соответствии с аргументом - freebsd-update ограничится - проверкой доступных обновлений. В случае наличия обновлений они - будут автоматически загружены и сохранены на локальном диске. - Пользователю root будет отправлено - соответствующее письмо, так что эти обновления можно будет - установить самостоятельно. + При наличии обновлений они будут автоматически загружены. + Пользователю root + будет отправлено письмо, так что эти обновления можно будет + просмотреть и установить самостоятельно командой + freebsd-update install. На случай, если что-то пошло не так, в freebsd-update предусмотрен механизм возврата последнего набора изменений с использованием следующей команды: - &prompt.root; freebsd-update rollback + &prompt.root; freebsd-update rollback +Uninstalling updates... done. Если после завершения всех действий было изменено ядро или - какой-либо из его модулей, система должна быть перезагружена. - Это позволит &os; загрузить новые двоичные файлы в память. + какой-либо из его модулей, система должна быть перезагружена, + а все затронутые исполняемые файлы нужно перезапустить. + + Команда freebsd-update позволяет + автоматически обновлять только ядро + GENERIC. Если используется ядро с + собственной конфигурацией, его понадобится пересобрать и + переустановить после того, как + freebsd-update завершит установку + обновлений. Тем не менее, freebsd-update + обнаружит и обновит ядро GENERIC при + наличии /boot/GENERIC, даже если оно не + является текущим используемым ядром в системе. - Команда freebsd-update работает только - с ядром GENERIC. Если в - GENERIC присутствуют изменения или - используется собственная конфигурация ядра, - freebsd-update завершится неудачно. + Всегда храните копию ядра GENERIC + в /boot/GENERIC. Оно пригодится при + решении различных проблем, а также при выполнении обновления + со сменой версии. Смотрите для описания + получения копии ядра GENERIC. + + Если конфигурация в + /etc/freebsd-update.conf не изменялась, + freebsd-update вместе с остальными + обновлениями установит обновлённые исходные тексты ядра. + После этого можно обычным способом выполнить перестроение и + переустановку нового ядра с собственной конфигурацией. + + Обновления, получаемые с помощью + freebsd-update, не всегда затрагивают ядро. + Перестроение собственного ядра не является обязательным, если + исходные тексты ядра не были изменены при выполнении + freebsd-update install. Тем не менее, + freebsd-update всегда обновляет + /usr/src/sys/conf/newvers.sh. Текущий + набор изменений, как указано в номере -p + в выводе uname -r, получается из этого + файла. Перестроение собственного ядра, даже если ничего + больше не менялось, позволяет uname + правильно сообщать текущий набор изменений в системе. Это + в частности может помочь при сопровождении множества систем, + поскольку позволяет быстро оценить наличие установленных + обновлений в каждой из них. - + Обновления со сменой старшей и младшей версий - Этот процесс удаляет старые объектные файлы и библиотеки, что - может нарушить работу большинства сторонних приложений. Все - установленные порты рекомендуется либо удалить и переустановить - заново, либо обновить с использованием программы ports-mgmt/portupgrade. Большинство - пользователей предпочтут выполнить тестовое построение, запустив для - этого следующую команду: - - &prompt.root; portupgrade -af - - Это позволит убедиться в том, что всё будет переустановлено - правильно. Обратите внимание, что если переменной окружения - BATCH присвоить значение yes, - то на все вопросы в течение этого процесса будет возвращаться - ответ yes, что позволит исключить необходимость - ручного вмешательства в процесс построения. - - Обновления со сменой старшей и младшей версий можно выполнить, - указав значение версии, на которую будет произведен переход, в - качестве аргумента команды freebsd-update. - Так, например, можно выполнить обновление до версии - &os; 6.3: + Обновление с &os; 9.0 на &os; 9.1, называется + обновлением со сменой младшего номера версии. Смена старшего + номера версии происходит, когда &os; переходит с одной + значительной версии на другую, как, например, при обновлении + с &os; 9.X на &os; 10.X. Оба типа обновлений можно + произвести, указав freebsd-update версию, + на которую нужно перейти. + + + Если в системе используется ядро с собственной + конфигурацией, убедитесь перед началом обновления в наличии + копии ядра GENERIC в + /boot/GENERIC. Смотрите для описания + получения копии ядра GENERIC. + - &prompt.root; freebsd-update -r 6.3-RELEASE upgrade + Следующая команда, будучи запущенной на &os; 9.0, + выполнит обновление до версии &os; 9.1: + + &prompt.root; freebsd-update -r 9.1-RELEASE upgrade После своего запуска freebsd-update анализирует содержимое конфигурационного файла и собирает необходимую для проведения обновления информацию о текущей установленной системе. На экран будет выдан перечень компонентов, - которые удалось и не удалось обнаружить установленными. + которые удалось и не удалось обнаружить установленными. Например: Looking up update.FreeBSD.org mirrors... 1 mirrors found. -Fetching metadata signature for 6.3-BETA1 from update1.FreeBSD.org... done. +Fetching metadata signature for 9.0-RELEASE from update1.FreeBSD.org... done. Fetching metadata index... done. Inspecting system... done. @@ -333,51 +435,80 @@ The following components of FreeBSD do n kernel/generic world/catpages world/dict world/doc world/games world/proflibs -Does this look reasonable (y/n)? y +Does this look reasonable (y/n)? y Следующим шагом freebsd-update попытается загрузить по сети файлы, необходимые для выполнения обновления. В некоторых случаях может потребоваться ответить на вопросы относительно того, что и как устанавливать. + Если используется ядро с собственной конфигурацией, то + в этом случае появится предупреждение следующего вида: + + WARNING: This system is running a "MYKERNEL" kernel, which is not a +kernel configuration distributed as part of FreeBSD 9.0-RELEASE. +This kernel will not be updated: you MUST update the kernel manually +before running "/usr/sbin/freebsd-update install" + + На этом этапе предупреждение можно проигнорировать. + На промежуточном этапе процесса обновления будет использовано + обновлённое ядро GENERIC. + После того, как все изменения были загружены, они будут применены. Этот процесс может занять определённое время, в зависимости от производительности и текущей загруженности - компьютера. Затем будет выполнено слияние конфигурационных файлов - — эта часть процесса требует от пользователя определённого + компьютера. Затем будет выполнено слияние конфигурационных + файлов. Процесс слияния требует от пользователя определённого вмешательства, так как для файла можно выполнить слияние автоматически, а можно открыть текстовый редактор для слияния вручную. Результат успешного слияния будет показан на экране. - Неудачное или пропущенное слияние вызовет преждевременное завершение - программы. Можно подготовить резервную копию каталога /etc для таких важных файлов как - master.passwd и group и + Неудачное или пропущенное слияние вызовет преждевременное + завершение программы. Можно подготовить резервную копию + каталога /etc для таких важных файлов как + master.passwd и group и выполнить их слияние вручную позднее. - На данном этапе система еще не модифицирована, и все изменения - и слияния происходят в отдельном каталоге. Теперь, когда все - изменения успешно применены, все конфигурационные файлы слиты и - кажется, что процесс должен пройти плавно, пользователь должен - установить изменения. + На данном этапе система еще не модифицирована, и все + изменения и слияния происходят в отдельном каталоге. + Теперь, когда все изменения успешно применены, все + конфигурационные файлы объединены и кажется, что процесс + должен пройти плавно, изменения могут быть установлены на + диск с помощью следующей команды: + + &prompt.root; freebsd-update install - После завершения этого процесса, изменения могут быть - установлены на диск с помощью следующей команды. + В первую очередь изменения будут применены к ядру и его + модулям. При использовании ядра с собственной конфигурацией + укажите для следующей загрузки обновлённое ядро + /boot/GENERIC с помощью + &man.nextboot.8;: - &prompt.root; freebsd-update install + &prompt.root; nextboot -k GENERIC - В первую очередь изменения будут применены к ядру и его модулям. - После этого компьютер должен быть перезагружен. Следующая команда - выполнит перезагрузку компьютера, после чего будет загружено новое - ядро: + + Перед перезагрузкой с ядром GENERIC + убедитесь, что оно содержит все необходимые драйвера для + системы для корректной загрузки и подключения к сети, если + машина обновляется удалённо. В частности, если в ядре + содержится встроенная функциональность, которая обычно + обеспечивается модулями ядра, загрузите эти драйвера с ядром + GENERIC, временно указав их как модули + в /boot/loader.conf. Рекомендуется + отключить несущественные службы, а также любые локальные и + сетевые диски до завершения процесса обновления. + + + Теперь компьютер должен быть перезагружен с новым + ядром: &prompt.root; shutdown -r now После перезагрузки нужно повторно запустить команду freebsd-update. Команда прочитает, на каком этапе она находится, и перейдёт к удалению старых объектных файлов - и совместно используемых библиотек. Чтобы перейти к этому этапу, - выполните следующую команду: + и совместно используемых библиотек. &prompt.root; freebsd-update install @@ -387,45 +518,121 @@ Does this look reasonable (y/n)? y - Теперь понадобится пересобрать и переустановить всё стороннее - программное обеспечение. Это необходимая операция, так как - установленное программное обеспечение может зависеть от библиотек, - которые были удалены в процессе смены версии операционной системы. - Для автоматизации этого процесса можно воспользоваться командой - ports-mgmt/portupgrade. - Начать можно со следующих команд: - - &prompt.root; portupgrade -f ruby -&prompt.root; rm /var/db/pkg/pkgdb.db -&prompt.root; portupgrade -f ruby18-bdb -&prompt.root; rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db -&prompt.root; portupgrade -af - - После этого завершите процесс обновления последним запуском - freebsd-update. Выполните следующую команду, - чтобы убедиться, что ничего не забыто в процессе обновления: + На этом процесс завершён. Если было выполнено обновление + со сменой старшего номера версии, переустановите все порты и + пакеты в соответствии с описанием, которое предоставляет . + + + Собственная конфигурация ядра в &os; 9.X и более + поздних версиях + + Перед использованием freebsd-update + убедитесь в наличии копии ядра GENERIC + в /boot/GENERIC. Если ядро с + собственной конфигурацией было собрано единожды, то в + /boot/kernel.old будет находиться ядро + GENERIC. Просто переименуйте этот + каталог в /boot/kernel. + + Если ядро с собственной конфигурацией было собрано более + одного раза, получите копию ядра GENERIC, + соответствующую текущей версии операционной системы. При + наличии физического доступа копию ядра + GENERIC можно установить с установочного + носителя: + + &prompt.root; mount /cdrom +&prompt.root; cd /cdrom/usr/freebsd-dist +&prompt.root; tar -C/ -xvf kernel.txz boot/kernel/kernel - &prompt.root; freebsd-update install + Иначе, ядро GENERIC можно собрать и + установить из исходных текстов: + + &prompt.root; cd /usr/src +&prompt.root; make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null - Перезагрузите компьютер с новой версией &os;. На этом процесс - завершён. + Чтобы такое ядро было определено как ядро + GENERIC программой + freebsd-update, в файле конфигурации + GENERIC должны отсутствовать изменения. + Также предлагается, что ядро было собрано без использования + каких-либо специальных параметров. + + Загрузка с GENERIC не требуется, + поскольку для freebsd-update достаточно + существования /boot/GENERIC. + + + + Обновление пакетов после смены старшей версии + системы + + После обновления системы со сменой младшей версии + установленные приложения, в целом, продолжают работать без + каких-либо проблем. Различные старшие версии используют + различающиеся двоичные интерфейсы приложений (Application + Binary Interface, ABI), из-за чего + перестаёт работать большинство сторонних приложений. + После обновления системы со сменой старшей версии все + установленные пакеты и порты также нуждаются в обновлении. + Пакеты можно обновить с использованием pkg + upgrade. Для обновления установленных портов + используется ports-mgmt/portmaster. + + Принудительное обновление все установленных пакетов + приведёт к их замене на последние версии из репозитория, + даже если номер версии при этом не увеличивался. Это + требуется из-за смены версии ABI при обновлении на другую + старшую версию &os;. Принудительное обновление можно + выполнить так: + + &prompt.root; pkg-static upgrade -f + + Перестроение всех установленных приложений можно + выполнить этой командой: + + &prompt.root; portmaster -af + + Эта команда будет отображать экран выбора конфигурации + для каждого приложения, в котором доступны параметры + конфигурации, с ожиданием пользовательского ввода. Чтобы + не использовать такое поведение и всегда выбирать параметры + по умолчанию, добавьте ключ в + вышеприведённую команду. + + После завершения процесса обновления программного + обеспечения закончите процесс обновления последним запуском + freebsd-update, для того чтобы убедиться, + что ничто не было пропущено в процессе обновления: + + &prompt.root; freebsd-update install + + Если в качестве временной меры использовалось ядро + GENERIC, то это подходящее время для + построения и установки нового ядра с собственной + конфигурацией в соответствии с инструкциями в . + + Перезагрузите машину с новой версией &os;. На этом + процесс обновления завершён. + - + Сравнение состояния системы - Утилита freebsd-update может быть - использована для проверки состояния установленной версии &os; - относительно известной хорошей копии. Оценивается текущая версия - системных утилит, библиотек и конфигурационных файлов. Для того, - чтобы начать сравнение, выполните следующую команду: - - &prompt.root; freebsd-update IDS >> outfile.ids + С помощью команды freebsd-update IDS + можно получить состояние установленной версии &os; + относительно известной доверенной копии. Эта команда + проверяет текущую версию системных утилит, библиотек и + конфигурационных файлов, и её можно использовать в качестве + встроенной системы обнаружения вторжений (Intrusion Detection + System, IDS). - Не смотря на то, что команда называется - IDS, это ни в коей мере не должно являться - заменой системе обнаружения вторжений, такой как security/snort. Поскольку + Эта команда не является заменой IDS, + такой как security/snort. Поскольку freebsd-update сохраняет свои данные на диске, возможность подмены становится очевидной. И хотя эта возможность может быть уменьшена при использовании настройки @@ -435,20 +642,27 @@ Does this look reasonable (y/n)? yDVD или внешний USB диск - с включённой защитой от записи. + с включённой защитой от записи. - Теперь запустится проверка системы, в результате которой будет - выведен список файлов с их контрольными суммами в &man.sha256.1; с - известным значением для файла из релиза и значением для текущего - в системе. Результат выводится слишком быстро для наглядного - сравнения и вскоре заполняет консольный буфер. По этой причине в - данном примере вывод перенаправлен в файл - outfile.ids. - - Эти строки также очень длинные, но зато такой формат вывода - удобен для разбора. Так, для получения списка всех отличающихся - от релиза файлов достаточно выполнить такую команду: + Для того, чтобы начать сравнение, укажите файл для + сохранения результатов: + + &prompt.root; freebsd-update IDS >> outfile.ids + + Запустится проверка системы, результат которой будет + записан в указанный файл в виде списка файлов вместе с их + контрольными суммами в формате SHA256 + — для известных файлов из релиза и текущих в + системе. + + Строки в списке чрезмерно длинные, но зато такой формат + вывода удобен для разбора. Так, для получения списка всех + отличающихся от релиза файлов достаточно выполнить такую + команду: &prompt.root; cat outfile.ids | awk '{ print $1 }' | more /etc/master.passwd @@ -459,1400 +673,1267 @@ Does this look reasonable (y/n)? yВывод специально обрезан, на самом деле файлов намного больше. Некоторые из них изменены в ходе нормальной работы: так, файл /etc/passwd был изменён после заведения - пользователей в системе. В некоторых случаях могут быть и другие - файлы, такие как модули ядра, которые могли измениться вследствие + пользователей в системе. Модули ядра могли измениться вследствие обновления через freebsd-update. Для исключения из проверки конкретных файлов и каталогов укажите их в качестве значения параметра IDSIgnorePaths в /etc/freebsd-update.conf. - - Эта система может использоваться как часть более сложной - процедуры обновления, в отличие от описанного выше способа. - - Portsnap: средство обновления Коллекции Портов - - TomRhodesПредоставил - - - ColinPercivalНа основе заметок, которые предоставил - - - + + Обновление документации + + + обновление и смена версии + - обновление и смена версии - Portsnap + документация обновление и смена версии - Для обновления Коллекции Портов в базовую поставку &os; - включена утилита &man.portsnap.8;. Во время её выполнения - устанавливается соединение с удалённым сервером, проверяется - правильность ключа и загружается новая копия Коллекции Портов. - Ключ используется для проверки целостности загруженных файлов - для исключения возможности подмены на этапе передачи файлов. - Для получения последней версии файлов Коллекции Портов выполните - следующую команду: - - &prompt.root; portsnap fetch -Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. -Fetching snapshot tag from portsnap1.FreeBSD.org... done. -Fetching snapshot metadata... done. -Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. -Fetching 3 metadata patches.. done. -Applying metadata patches... done. -Fetching 3 metadata files... done. -Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. -Applying patches... done. -Fetching 133 new ports or files... done. - - В данном примере показано, что &man.portsnap.8; обнаружила - и верифицировала несколько патчей относительно текущего содержимого - портов. Здесь также видно, что утилита уже запускалась ранее, - иначе при первом запуске была бы загружена вся коллекция. - - После того как &man.portsnap.8; успешно завершила операцию - fetch, Коллекция Портов и сопутствующие патчи - находятся на локальной системе и прошли проверку целостности. - Обновлённые файлы можно установить командой: - - &prompt.root; portsnap extract -/usr/ports/.cvsignore -/usr/ports/CHANGES -/usr/ports/COPYRIGHT -/usr/ports/GIDs -/usr/ports/KNOBS -/usr/ports/LEGAL -/usr/ports/MOVED -/usr/ports/Makefile -/usr/ports/Mk/bsd.apache.mk -/usr/ports/Mk/bsd.autotools.mk -/usr/ports/Mk/bsd.cmake.mk -... + Документация является неотъемлемой частью операционной + системы &os;. И хотя актуальная версия документации &os; всегда + доступна на сайте &os; (http://www.freebsd.org/doc/), + может быть удобно иметь под рукой актуальную локальную копию + сайта &os;, руководств, FAQ и статей. - На этом процесс завершён, и теперь приложения можно - установить или обновить с использованием Коллекции Портов. + В этом разделе описывается, как использовать исходный текст + или Коллекцию Портов &os; для организации актуальной локальной + копии документации &os;. - Для последовательного запуска обоих процессов выполните - следующую команду: + За информацией о редактировании и отправке изменений + для документации обращайтесь к &os; Documentation Project + Primer for New Contributors (http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/). - &prompt.root; portsnap fetch update - + + Обновление документации из исходного кода - - Использование ветви разработки - -CURRENT - -STABLE + Для перестроения документации &os; из исходного текста + требуется набор инструментов, который не является частью + основной системы &os;. Требуемые инструменты, включая + svn, можно установить из пакета + или порта textproc/docproj, разработанного + в рамках проекта документации &os;. - Во FreeBSD имеется две ветки разработки: &os.current; и &os.stable;. - Этот раздел описывает каждую из них и объясняет, как синхронизировать - вашу систему с любой из веток. Сначала будет обсуждаться ветка - &os.current;, затем &os.stable;. + После установки используйте svn + для получения копии исходных текстов документации: - - Как следовать текущим разработкам во &os; + &prompt.root; svn checkout https://svn.FreeBSD.org/doc/head /usr/doc *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***