Date: Sat, 9 Jan 2016 00:47:59 +0000 (UTC) From: Sergey Kandaurov <pluknet@FreeBSD.org> 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 Message-ID: <201601090047.u090lxDX049653@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 --> -<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="updating-upgrading"> - <info><title>Обновление системы и смена версии</title> +<chapter xmlns="http://docbook.org/ns/docbook" + xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" + xml:id="updating-upgrading"> + + <info> + <title>Обновление системы и смена версии &os;</title> + <authorgroup> - <author><personname><firstname>Jim</firstname><surname>Mock</surname></personname><contrib>Реструктурирование, реорганизацию и частичное обновление - выполнил </contrib></author> + <author> + <personname> + <firstname>Jim</firstname> + <surname>Mock</surname> + </personname> + <contrib>Реструктурирование, реорганизацию и частичное + обновление выполнил </contrib> + </author> <!-- Март 2000 --> </authorgroup> <authorgroup> - <author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname><contrib>Оригинальный текст написали </contrib></author> - - <author><personname><firstname>Poul-Henning</firstname><surname>Kamp</surname></personname></author> - - <author><personname><firstname>John</firstname><surname>Polstra</surname></personname></author> - - <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname></author> + <author> + <personname> + <firstname>Jordan</firstname> + <surname>Hubbard</surname> + </personname> + <contrib>Оригинальный текст написали </contrib> + </author> + + <author> + <personname> + <firstname>Poul-Henning</firstname> + <surname>Kamp</surname> + </personname> + </author> + + <author> + <personname> + <firstname>John</firstname> + <surname>Polstra</surname> + </personname> + </author> + + <author> + <personname> + <firstname>Nik</firstname> + <surname>Clayton</surname> + </personname> + </author> </authorgroup> <authorgroup> - <author><personname><firstname>Андрей</firstname><surname>Захватов</surname></personname><contrib>Перевод на русский язык: </contrib></author> + <author> + <personname> + <firstname>Андрей</firstname> + <surname>Захватов</surname> + </personname> + <contrib>Перевод на русский язык: </contrib> + </author> </authorgroup> </info> - - <sect1 xml:id="updating-upgrading-synopsis"> <title>Краткий обзор</title> @@ -42,24 +78,18 @@ связанные с безопасностью и другими критическими исправлениями. Независимо от используемой версии &os; предоставляет все необходимые инструменты для поддержания системы в актуальном состоянии, а также - позволяет легко перейти на другую версию. Эта глава поможет - вам решить, хотите ли вы отслеживать систему в процессе работы над ней - или останетесь верным одному из выпущенных релизов. Также имеются - простейшие инструменты для поддержания вашей системы в актуальном + позволяет легко перейти на другую версию. Эта глава описывает, + как отслеживать систему в процессе её разработки, а также + основные инструменты для поддержания системы &os; в актуальном состоянии.</para> <para>После чтения этой главы вы будете знать:</para> <itemizedlist> <listitem> - <para>Какие программы можно использовать для обновления системы и - Коллекции Портов.</para> - </listitem> - - <listitem> - <para>Как поддерживать вашу систему в актуальном состоянии при + <para>Как поддерживать систему &os; в актуальном состоянии при помощи <application>freebsd-update</application>, - <application>CVSup</application>, <application>CVS</application> + <application>Subversion</application> или <application>CTM</application>.</para> </listitem> @@ -69,13 +99,19 @@ </listitem> <listitem> + <para>Как поддерживать установленную документацию в актуальном + состоянии при помощи <application>Subversion</application> + или портов документации.</para> + </listitem> + + <listitem> <para>Разницу между двумя ветвями разработки: &os.stable; и &os.current;.</para> </listitem> <listitem> - <para>Как перестраивать и переустанавливать базовую систему полностью - при помощи <command>make buildworld</command> (и других).</para> + <para>Как перестраивать и переустанавливать всю базовую + систему.</para> </listitem> </itemizedlist> @@ -83,134 +119,157 @@ <itemizedlist> <listitem> - <para>Полностью настроить своё подключение к сети (<xref linkend="advanced-networking"/>).</para> + <para>Правильно настроить сетевое подключение + (<xref linkend="advanced-networking"/>).</para> </listitem> <listitem> - <para>Знать, как устанавливать дополнительное программное обеспечение - других разработчиков (<xref linkend="ports"/>).</para> + <para>Знать, как устанавливать дополнительное стороннее + программное обеспечение (<xref linkend="ports"/>).</para> </listitem> </itemizedlist> <note> - <para>В этой главе для получения и обновления исходных текстов &os; - используется команда <command>cvsup</command>. Для этого вам - нужно установить порт или пакет <package>net/cvsup-without-gui</package>. Начиная с версии - &os; 6.2-RELEASE для этих целей можно воспользоваться командой - &man.csup.1;, которая входит в состав системы.</para> + <para>В этой главе для получения и обновления исходных текстов + &os; используется команда <command>svn</command>. Для этого + нужно сперва установить порт или пакет + <package>devel/subversion</package>.</para> </note> </sect1> - + <sect1 xml:id="updating-upgrading-freebsdupdate"> - <info><title>Обновление FreeBSD</title> + <info> + <title>Обновление &os;</title> + <authorgroup> - <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Оригинальный текст написал </contrib></author> + <author> + <personname> + <firstname>Tom</firstname> + <surname>Rhodes</surname> + </personname> + <contrib>Оригинальный текст написал </contrib> + </author> </authorgroup> + <authorgroup> - <author><personname><firstname>Colin</firstname><surname>Percival</surname></personname><contrib>На основе заметок, которые предоставил </contrib></author> + <author> + <personname> + <firstname>Colin</firstname> + <surname>Percival</surname> + </personname> + <contrib>На основе заметок, которые предоставил </contrib> + </author> </authorgroup> </info> - - <indexterm><primary>обновление и смена версии</primary></indexterm> + <indexterm> + <primary>обновление и смена версии</primary> + </indexterm> <indexterm> <primary>freebsd-update</primary> <see>обновление и смена версии</see> </indexterm> - <para>Применение обновлений безопасности — важный момент в - сопровождении программного обеспечения, особенно такого как - операционная система. Для &os; этот процесс не был простым в - течение долгого времени. На исходный код нужно было накладывать - патчи, перестраивать код в двоичные файлы, а затем эти двоичные файлы - требовалось переустановить. </para> - - <para>Теперь это давно не так, и &os; включает программу с простым - названием <command>freebsd-update</command>. Эта программа - предоставляет две различные функции. Во-первых, она позволяет - применить к базовой системе &os; обновления безопасности и критические - исправления в двоичном виде, без необходимости сборки и установки. - Во-вторых, программа поддерживает обновление системы со сменой - старшего или младшего номера версии.</para> + <para>Своевременное применение обновлений безопасности и переход + на более новую версию операционной системы — важные + аспекты системного администрирования. &os; включает в себя + программу <command>freebsd-update</command>, которую можно + использовать для решения обеих задач.</para> + + <para>Эта программа используется для установки распространяемых в + двоичном виде обновлений безопасности и исправлений для &os; + без необходимости ручной компиляции и установки патчей или + нового ядра. Двоичные обновления доступны для всех архитектур + и версий, поддерживаемых группой безопасности. Перечень + поддерживаемых версий и их ожидаемые даты окончания поддержки + указаны на странице <uri + xlink:href="http://www.FreeBSD.org/security/">http://www.FreeBSD.org/security/</uri>.</para> + + <para>Эта программа также используется для незначительных + обновлений версии операционной системы, а также для перехода на + другую ветвь выпуска релизов. Перед обновлением следует + ознакомиться с объявлением о выпуске новой версии, так как там + может содержаться важная информация, применимая к версии, на + которую намечен переход. С соответствующими объявлениями можно + ознакомиться по ссылке <uri + xlink:href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</uri>.</para> <note> - <para>Двоичные обновления доступны для всех архитектур и версий, - поддерживаемых группой безопасности; тем не менее, для работы - некоторых из возможностей, таких как смена версии операционной - системы &os;, требуется последняя версия &man.freebsd-update.8; - и по крайней мере &os; 6.3. Перед обновлением до новой версии - следует ознакомиться с объявлением о выпуске текущей версии, так - как там может содержаться важная информация, применимая к версии, - на которую намечен переход. С соответствующими объявлениями можно - ознакомиться, перейдя по следующей ссылке: <uri xlink:href="http://www.FreeBSD.org/releases/">http://www.FreeBSD.org/releases/</uri>.</para> + <para>Если имеется задание <command>crontab</command>, + запускающее &man.freebsd-update.8;, то перед сменой версии + операционной системы его обязательно нужно выключить.</para> </note> - <para>Если имеется задание <command>crontab</command>, запускающее - <command>freebsd-update</command>, то перед началом выполнения - следующих действий его обязательно нужно выключить.</para> + <para>В этом разделе описывается конфигурационный файл + <command>freebsd-update</command>, демонстрируется применение + исправлений безопасности и обновление операционной системы со + сменой младшей или старшей версии, а также обсуждаются некоторые + соображения касаемо смены версии операционной системы.</para> - <sect2> + <sect2 xml:id="freebsdupdate-config-file"> <title>Конфигурационный файл</title> - <para>Некоторые пользователи могут пожелать изменить - конфигурационный файл для лучшего контроля над процессом - обновления. Все параметры подробно задокументированы, но - для некоторых из них может понадобиться дополнительное - разъяснение:</para> + <para>Конфигурационный файл <command>freebsd-update</command> + самодостаточен и работает по умолчанию. Некоторые пользователи + могут пожелать отредактировать конфигурационный файл + <filename>/etc/freebsd-update.conf</filename> для лучшего + контроля над процессом обновления. В комментариях описываются + доступные в этом файле параметры, но для следующих из них может + потребоваться дополнительное разъяснение:</para> <programlisting># Components of the base system which should be kept updated. -Components src world kernel</programlisting> +Components world kernel</programlisting> - <para>Данный параметр определяет, какие части &os; будут обновлены. - По умолчанию обновляется исходный код (src), вся базовая система - (world) и ядро (kernel). Компоненты те же самые, что и во время - установки; в частности, добавление "world/games" позволяет - обновить игры. Использование "src/bin" позволяет обновить - исходный код в <filename>src/bin</filename>.</para> - - <para>Лучшим вариантом будет оставить всё как есть, поскольку - изменение этого перечня с целью добавления особых пунктов - потребует от пользователя указания подряд всех пунктов, которые - пользователь захочет обновить. Это может привести к негативным - последствиям из-за возможной рассинхронизации между исходными - текстами и двоичными файлами.</para> + <para>Данный параметр определяет, какие части &os; будут + обновлены. По умолчанию обновляется вся базовая система + (world) и ядро (kernel). Вместо этого можно указать отдельные + компоненты, такие как <literal>src/base</literal> или + <literal>src/sys</literal>. Тем не менее, лучшим вариантом + будет оставить всё как есть, поскольку изменение этого перечня + с целью добавления особых пунктов потребует от пользователя + указания подряд всех пунктов. Со временем это может привести + к негативным последствиям из-за возможной рассинхронизации + между исходными текстами и двоичными файлами.</para> <programlisting># Paths which start with anything matching an entry in an IgnorePaths # statement will be ignored. -IgnorePaths</programlisting> +IgnorePaths /boot/kernel/linker.hints</programlisting> - <para>Добавьте сюда пути к каталогам (например, <filename>/bin</filename> или <filename>/sbin</filename>), которые вы хотели бы - оставить нетронутыми в процессе обновления. Этот параметр можно - использовать для предотвращения перезаписывания локальных - изменений программой <command>freebsd-update</command>.</para> + <para>Добавьте сюда пути к каталогам (например, + <filename>/bin</filename> или <filename>/sbin</filename>), + которые вы бы хотели оставить нетронутыми в процессе + обновления. Этот параметр можно использовать для + предотвращения перезаписывания локальных изменений + программой <command>freebsd-update</command>.</para> <programlisting># 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</programlisting> - <para>Обновлять конфигурационные файлы в указанных каталогах, только - если они не содержат изменений. При наличии каких-либо изменений - со стороны пользователя автоматическое обновление таких файлов - отменяется. Есть другой параметр - <literal>KeepModifiedMetadata</literal>, который предписывает - команде <command>freebsd-update</command> сохранять изменения во - время процесса слияния.</para> + <para>Этот параметр позволяет обновлять конфигурационные файлы + в указанных каталогах, только если они не содержат изменений. + При наличии каких-либо изменений со стороны пользователя + автоматическое обновление таких файлов отменяется. Есть + другой параметр <literal>KeepModifiedMetadata</literal>, + который предписывает команде <command>freebsd-update</command> + сохранять изменения в процессе слияния.</para> <programlisting># 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/</programlisting> +MergeChanges /etc/ /var/named/etc/ /boot/device.hints</programlisting> <para>Список каталогов с конфигурационными файлами, для которых - <command>freebsd-update</command> попытается выполнить слияние. - Процесс слияния файла представляет собой набор изменений - в формате &man.diff.1;, похож на &man.mergemaster.8;, но с - меньшим количеством параметров: результат слияния принимается, - открывается редактор или <command>freebsd-update</command> - прекращает свою работу. В случае сомнений сделайте резервную - копию <filename>/etc</filename> и просто - согласитесь со всеми изменениями. Для получения подробной - информации по команде <command>mergemaster</command> смотрите + <command>freebsd-update</command> попытается выполнить + слияние. Процесс слияния файла представляет собой + последовательность изменений в формате &man.diff.1;, похожую + на &man.mergemaster.8;, но с меньшим количеством параметров. + Результат слияния принимается, открывается редактор или + <command>freebsd-update</command> прекращает работу. + В случае сомнений сделайте резервную копию + <filename>/etc</filename> и просто согласитесь со всеми + изменениями. Для получения подробной информации по команде + <command>mergemaster</command> смотрите <xref linkend="mergemaster"/>.</para> <programlisting># Directory in which to store downloaded updates and temporary @@ -218,9 +277,9 @@ MergeChanges /etc/ /var/named/etc/</prog # WorkDir /var/db/freebsd-update</programlisting> <para>Этот каталог предназначен для размещения патчей и временных - файлов. В случае, когда пользователь выполняет обновление со сменой - версии, в этом месте должен иметь по крайней мере гигабайт дискового - пространства.</para> + файлов. В случае, когда пользователь выполняет обновление со + сменой версии, в этом месте нужно иметь по крайней мере гигабайт + свободного дискового пространства.</para> <programlisting># 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/</prog <literal>Components</literal>.</para> </sect2> - <sect2> + <sect2 xml:id="freebsdupdate-security-patches"> <title>Обновления безопасности</title> - <para>Обновления безопасности хранятся на удалённой машине и могут - быть загружены и установлены с использованием следующей - команды:</para> + <para>Процесс применения обновлений безопасности &os; был + упрощён, что позволяет поддерживать систему в актуальном + состоянии, используя <command>freebsd-update</command>. + Для получения дополнительной информации по бюллетеням + безопасности &os; смотрите <xref + linkend="security-advisories"/>.</para> + + <para>Обновления безопасности можно загрузить и установить с + использованием следующих команд. Первая команда определяет + наличие незагруженных обновлений и показывает файлы, которые + будут изменены в процессе обновления. Вторая команда + выполняет обновление.</para> <screen>&prompt.root; <userinput>freebsd-update fetch</userinput> &prompt.root; <userinput>freebsd-update install</userinput></screen> <para>Если были установлены обновления ядра, то после этого - нужно перезагрузить систему. Если все пошло хорошо, система - должна быть с установленными исправлениями, и - <command>freebsd-update</command> можно запускать в качестве ночного - задания &man.cron.8;. Для этого достаточно добавить следующую - запись в <filename>/etc/crontab</filename>:</para> + нужно перезагрузить систему. Если обновление установилось + для какого-либо работающего в системе двоичного файла, то + следует перезапустить затронутые приложения, чтобы + использовалась исправленная версия двоичного файла.</para> + + <para>Можно настроить ежедневную автоматическую проверку + наличия обновлений, добавив следующую запись в + <filename>/etc/crontab</filename>:</para> <programlisting>@daily root freebsd-update cron</programlisting> - <para>Эта запись означает, что <command>freebsd-update</command> будет - запускаться ежедневно. В данном случае, в соответствии с аргументом - <option>cron</option> <command>freebsd-update</command> ограничится - проверкой доступных обновлений. В случае наличия обновлений они - будут автоматически загружены и сохранены на локальном диске. - Пользователю <systemitem class="username">root</systemitem> будет отправлено - соответствующее письмо, так что эти обновления можно будет - установить самостоятельно.</para> + <para>При наличии обновлений они будут автоматически загружены. + Пользователю <systemitem class="username">root</systemitem> + будет отправлено письмо, так что эти обновления можно будет + просмотреть и установить самостоятельно командой + <command>freebsd-update install</command>.</para> <para>На случай, если что-то пошло не так, в <command>freebsd-update</command> предусмотрен механизм возврата последнего набора изменений с использованием следующей команды:</para> - <screen>&prompt.root; <userinput>freebsd-update rollback</userinput></screen> + <screen>&prompt.root; <userinput>freebsd-update rollback</userinput> +Uninstalling updates... done.</screen> <para>Если после завершения всех действий было изменено ядро или - какой-либо из его модулей, система должна быть перезагружена. - Это позволит &os; загрузить новые двоичные файлы в память.</para> + какой-либо из его модулей, система должна быть перезагружена, + а все затронутые исполняемые файлы нужно перезапустить.</para> + + <para>Команда <command>freebsd-update</command> позволяет + автоматически обновлять только ядро + <filename>GENERIC</filename>. Если используется ядро с + собственной конфигурацией, его понадобится пересобрать и + переустановить после того, как + <command>freebsd-update</command> завершит установку + обновлений. Тем не менее, <command>freebsd-update</command> + обнаружит и обновит ядро <filename>GENERIC</filename> при + наличии <filename>/boot/GENERIC</filename>, даже если оно не + является текущим используемым ядром в системе.</para> <note> - <para>Команда <command>freebsd-update</command> работает только - с ядром <filename>GENERIC</filename>. Если в - <filename>GENERIC</filename> присутствуют изменения или - используется собственная конфигурация ядра, - <command>freebsd-update</command> завершится неудачно.</para> + <para>Всегда храните копию ядра <filename>GENERIC</filename> + в <filename>/boot/GENERIC</filename>. Оно пригодится при + решении различных проблем, а также при выполнении обновления + со сменой версии. Смотрите <xref + linkend="freebsd-update-custom-kernel-9x"/> для описания + получения копии ядра <filename>GENERIC</filename>.</para> </note> + + <para>Если конфигурация в + <filename>/etc/freebsd-update.conf</filename> не изменялась, + <command>freebsd-update</command> вместе с остальными + обновлениями установит обновлённые исходные тексты ядра. + После этого можно обычным способом выполнить перестроение и + переустановку нового ядра с собственной конфигурацией.</para> + + <para>Обновления, получаемые с помощью + <command>freebsd-update</command>, не всегда затрагивают ядро. + Перестроение собственного ядра не является обязательным, если + исходные тексты ядра не были изменены при выполнении + <command>freebsd-update install</command>. Тем не менее, + <command>freebsd-update</command> всегда обновляет + <filename>/usr/src/sys/conf/newvers.sh</filename>. Текущий + набор изменений, как указано в номере <literal>-p</literal> + в выводе <command>uname -r</command>, получается из этого + файла. Перестроение собственного ядра, даже если ничего + больше не менялось, позволяет <command>uname</command> + правильно сообщать текущий набор изменений в системе. Это + в частности может помочь при сопровождении множества систем, + поскольку позволяет быстро оценить наличие установленных + обновлений в каждой из них.</para> </sect2> - <sect2> + <sect2 xml:id="freebsdupdate-upgrade"> <title>Обновления со сменой старшей и младшей версий</title> - <para>Этот процесс удаляет старые объектные файлы и библиотеки, что - может нарушить работу большинства сторонних приложений. Все - установленные порты рекомендуется либо удалить и переустановить - заново, либо обновить с использованием программы <package>ports-mgmt/portupgrade</package>. Большинство - пользователей предпочтут выполнить тестовое построение, запустив для - этого следующую команду:</para> - - <screen>&prompt.root; <userinput>portupgrade -af</userinput></screen> - - <para>Это позволит убедиться в том, что всё будет переустановлено - правильно. Обратите внимание, что если переменной окружения - <varname>BATCH</varname> присвоить значение <literal>yes</literal>, - то на все вопросы в течение этого процесса будет возвращаться - ответ <literal>yes</literal>, что позволит исключить необходимость - ручного вмешательства в процесс построения.</para> - - <para>Обновления со сменой старшей и младшей версий можно выполнить, - указав значение версии, на которую будет произведен переход, в - качестве аргумента команды <command>freebsd-update</command>. - Так, например, можно выполнить обновление до версии - &os; 6.3:</para> + <para>Обновление с &os; 9.0 на &os; 9.1, называется + обновлением со сменой младшего номера версии. Смена старшего + номера версии происходит, когда &os; переходит с одной + значительной версии на другую, как, например, при обновлении + с &os; 9.X на &os; 10.X. Оба типа обновлений можно + произвести, указав <command>freebsd-update</command> версию, + на которую нужно перейти.</para> + + <note> + <para>Если в системе используется ядро с собственной + конфигурацией, убедитесь перед началом обновления в наличии + копии ядра <filename>GENERIC</filename> в + <filename>/boot/GENERIC</filename>. Смотрите <xref + linkend="freebsd-update-custom-kernel-9x"/> для описания + получения копии ядра <filename>GENERIC</filename>.</para> + </note> - <screen>&prompt.root; <userinput>freebsd-update -r 6.3-RELEASE upgrade</userinput></screen> + <para>Следующая команда, будучи запущенной на &os; 9.0, + выполнит обновление до версии &os; 9.1:</para> + + <screen>&prompt.root; <userinput>freebsd-update -r 9.1-RELEASE upgrade</userinput></screen> <para>После своего запуска <command>freebsd-update</command> анализирует содержимое конфигурационного файла и собирает необходимую для проведения обновления информацию о текущей установленной системе. На экран будет выдан перечень компонентов, - которые удалось и не удалось обнаружить установленными. + которые удалось и не удалось обнаружить установленными. Например:</para> <screen>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</screen> +Does this look reasonable (y/n)? <userinput>y</userinput></screen> <para>Следующим шагом <command>freebsd-update</command> попытается загрузить по сети файлы, необходимые для выполнения обновления. В некоторых случаях может потребоваться ответить на вопросы относительно того, что и как устанавливать.</para> + <para>Если используется ядро с собственной конфигурацией, то + в этом случае появится предупреждение следующего вида:</para> + + <screen>WARNING: This system is running a "<replaceable>MYKERNEL</replaceable>" 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"</screen> + + <para>На этом этапе предупреждение можно проигнорировать. + На промежуточном этапе процесса обновления будет использовано + обновлённое ядро <filename>GENERIC</filename>.</para> + <para>После того, как все изменения были загружены, они будут применены. Этот процесс может занять определённое время, в зависимости от производительности и текущей загруженности - компьютера. Затем будет выполнено слияние конфигурационных файлов - — эта часть процесса требует от пользователя определённого + компьютера. Затем будет выполнено слияние конфигурационных + файлов. Процесс слияния требует от пользователя определённого вмешательства, так как для файла можно выполнить слияние автоматически, а можно открыть текстовый редактор для слияния вручную. Результат успешного слияния будет показан на экране. - Неудачное или пропущенное слияние вызовет преждевременное завершение - программы. Можно подготовить резервную копию каталога <filename>/etc</filename> для таких важных файлов как - <filename>master.passwd</filename> и <filename>group</filename> и + Неудачное или пропущенное слияние вызовет преждевременное + завершение программы. Можно подготовить резервную копию + каталога <filename>/etc</filename> для таких важных файлов как + <filename>master.passwd</filename> и <filename>group</filename> и выполнить их слияние вручную позднее.</para> <note> - <para>На данном этапе система еще не модифицирована, и все изменения - и слияния происходят в отдельном каталоге. Теперь, когда все - изменения успешно применены, все конфигурационные файлы слиты и - кажется, что процесс должен пройти плавно, пользователь должен - установить изменения.</para> + <para>На данном этапе система еще не модифицирована, и все + изменения и слияния происходят в отдельном каталоге. + Теперь, когда все изменения успешно применены, все + конфигурационные файлы объединены и кажется, что процесс + должен пройти плавно, изменения могут быть установлены на + диск с помощью следующей команды:</para> + + <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> </note> - <para>После завершения этого процесса, изменения могут быть - установлены на диск с помощью следующей команды.</para> + <para>В первую очередь изменения будут применены к ядру и его + модулям. При использовании ядра с собственной конфигурацией + укажите для следующей загрузки обновлённое ядро + <filename>/boot/GENERIC</filename> с помощью + &man.nextboot.8;:</para> - <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + <screen>&prompt.root; <userinput>nextboot -k GENERIC</userinput></screen> - <para>В первую очередь изменения будут применены к ядру и его модулям. - После этого компьютер должен быть перезагружен. Следующая команда - выполнит перезагрузку компьютера, после чего будет загружено новое - ядро:</para> + <warning> + <para>Перед перезагрузкой с ядром <filename>GENERIC</filename> + убедитесь, что оно содержит все необходимые драйвера для + системы для корректной загрузки и подключения к сети, если + машина обновляется удалённо. В частности, если в ядре + содержится встроенная функциональность, которая обычно + обеспечивается модулями ядра, загрузите эти драйвера с ядром + <filename>GENERIC</filename>, временно указав их как модули + в <filename>/boot/loader.conf</filename>. Рекомендуется + отключить несущественные службы, а также любые локальные и + сетевые диски до завершения процесса обновления.</para> + </warning> + + <para>Теперь компьютер должен быть перезагружен с новым + ядром:</para> <screen>&prompt.root; <userinput>shutdown -r now</userinput></screen> <para>После перезагрузки нужно повторно запустить команду <command>freebsd-update</command>. Команда прочитает, на каком этапе она находится, и перейдёт к удалению старых объектных файлов - и совместно используемых библиотек. Чтобы перейти к этому этапу, - выполните следующую команду:</para> + и совместно используемых библиотек.</para> <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> @@ -387,45 +518,121 @@ Does this look reasonable (y/n)? y</scre совместно используемых библиотек.</para> </note> - <para>Теперь понадобится пересобрать и переустановить всё стороннее - программное обеспечение. Это необходимая операция, так как - установленное программное обеспечение может зависеть от библиотек, - которые были удалены в процессе смены версии операционной системы. - Для автоматизации этого процесса можно воспользоваться командой - <package>ports-mgmt/portupgrade</package>. - Начать можно со следующих команд:</para> - - <screen>&prompt.root; <userinput>portupgrade -f ruby</userinput> -&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db</userinput> -&prompt.root; <userinput>portupgrade -f ruby18-bdb</userinput> -&prompt.root; <userinput>rm /var/db/pkg/pkgdb.db /usr/ports/INDEX-*.db</userinput> -&prompt.root; <userinput>portupgrade -af</userinput></screen> - - <para>После этого завершите процесс обновления последним запуском - <command>freebsd-update</command>. Выполните следующую команду, - чтобы убедиться, что ничего не забыто в процессе обновления:</para> + <para>На этом процесс завершён. Если было выполнено обновление + со сменой старшего номера версии, переустановите все порты и + пакеты в соответствии с описанием, которое предоставляет <xref + linkend="freebsdupdate-portsrebuild"/>.</para> + + <sect3 xml:id="freebsd-update-custom-kernel-9x"> + <title>Собственная конфигурация ядра в &os; 9.X и более + поздних версиях</title> + + <para>Перед использованием <command>freebsd-update</command> + убедитесь в наличии копии ядра <filename>GENERIC</filename> + в <filename>/boot/GENERIC</filename>. Если ядро с + собственной конфигурацией было собрано единожды, то в + <filename>/boot/kernel.old</filename> будет находиться ядро + <literal>GENERIC</literal>. Просто переименуйте этот + каталог в <filename>/boot/kernel</filename>.</para> + + <para>Если ядро с собственной конфигурацией было собрано более + одного раза, получите копию ядра <literal>GENERIC</literal>, + соответствующую текущей версии операционной системы. При + наличии физического доступа копию ядра + <literal>GENERIC</literal> можно установить с установочного + носителя:</para> + + <screen>&prompt.root; <userinput>mount /cdrom</userinput> +&prompt.root; <userinput>cd /cdrom/usr/freebsd-dist</userinput> +&prompt.root; <userinput>tar -C/ -xvf kernel.txz boot/kernel/kernel</userinput></screen> - <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + <para>Иначе, ядро <literal>GENERIC</literal> можно собрать и + установить из исходных текстов:</para> + + <screen>&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make kernel __MAKE_CONF=/dev/null SRCCONF=/dev/null</userinput></screen> - <para>Перезагрузите компьютер с новой версией &os;. На этом процесс - завершён.</para> + <para>Чтобы такое ядро было определено как ядро + <literal>GENERIC</literal> программой + <command>freebsd-update</command>, в файле конфигурации + <filename>GENERIC</filename> должны отсутствовать изменения. + Также предлагается, что ядро было собрано без использования + каких-либо специальных параметров.</para> + + <para>Загрузка с <filename>GENERIC</filename> не требуется, + поскольку для <command>freebsd-update</command> достаточно + существования <filename>/boot/GENERIC</filename>.</para> + </sect3> + + <sect3 xml:id="freebsdupdate-portsrebuild"> + <title>Обновление пакетов после смены старшей версии + системы</title> + + <para>После обновления системы со сменой младшей версии + установленные приложения, в целом, продолжают работать без + каких-либо проблем. Различные старшие версии используют + различающиеся двоичные интерфейсы приложений (Application + Binary Interface, <acronym>ABI</acronym>), из-за чего + перестаёт работать большинство сторонних приложений. + После обновления системы со сменой старшей версии все + установленные пакеты и порты также нуждаются в обновлении. + Пакеты можно обновить с использованием <command>pkg + upgrade</command>. Для обновления установленных портов + используется <package>ports-mgmt/portmaster</package>.</para> + + <para>Принудительное обновление все установленных пакетов + приведёт к их замене на последние версии из репозитория, + даже если номер версии при этом не увеличивался. Это + требуется из-за смены версии ABI при обновлении на другую + старшую версию &os;. Принудительное обновление можно + выполнить так:</para> + + <screen>&prompt.root; <userinput>pkg-static upgrade -f</userinput></screen> + + <para>Перестроение всех установленных приложений можно + выполнить этой командой:</para> + + <screen>&prompt.root; <userinput>portmaster -af</userinput></screen> + + <para>Эта команда будет отображать экран выбора конфигурации + для каждого приложения, в котором доступны параметры + конфигурации, с ожиданием пользовательского ввода. Чтобы + не использовать такое поведение и всегда выбирать параметры + по умолчанию, добавьте ключ <option>-G</option> в + вышеприведённую команду.</para> + + <para>После завершения процесса обновления программного + обеспечения закончите процесс обновления последним запуском + <command>freebsd-update</command>, для того чтобы убедиться, + что ничто не было пропущено в процессе обновления:</para> + + <screen>&prompt.root; <userinput>freebsd-update install</userinput></screen> + + <para>Если в качестве временной меры использовалось ядро + <filename>GENERIC</filename>, то это подходящее время для + построения и установки нового ядра с собственной + конфигурацией в соответствии с инструкциями в <xref + linkend="kernelconfig"/>.</para> + + <para>Перезагрузите машину с новой версией &os;. На этом + процесс обновления завершён.</para> + </sect3> </sect2> - <sect2> + <sect2 xml:id="freebsdupdate-system-comparison"> <title>Сравнение состояния системы</title> - <para>Утилита <command>freebsd-update</command> может быть - использована для проверки состояния установленной версии &os; - относительно известной хорошей копии. Оценивается текущая версия - системных утилит, библиотек и конфигурационных файлов. Для того, - чтобы начать сравнение, выполните следующую команду:</para> - - <screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen> + <para>С помощью команды <command>freebsd-update IDS</command> + можно получить состояние установленной версии &os; + относительно известной доверенной копии. Эта команда + проверяет текущую версию системных утилит, библиотек и + конфигурационных файлов, и её можно использовать в качестве + встроенной системы обнаружения вторжений (Intrusion Detection + System, <acronym>IDS</acronym>).</para> <warning> - <para>Не смотря на то, что команда называется - <acronym>IDS</acronym>, это ни в коей мере не должно являться - заменой системе обнаружения вторжений, такой как <package>security/snort</package>. Поскольку + <para>Эта команда не является заменой <acronym>IDS</acronym>, + такой как <package>security/snort</package>. Поскольку <command>freebsd-update</command> сохраняет свои данные на диске, возможность подмены становится очевидной. И хотя эта возможность может быть уменьшена при использовании настройки @@ -435,20 +642,27 @@ Does this look reasonable (y/n)? y</scre чтение, лучшим решением будет сравнить систему относительно эталона на физически защищенном носителе, таком как <acronym>DVD</acronym> или внешний <acronym>USB</acronym> диск - с включённой защитой от записи.</para> + с включённой защитой от записи.<!-- Альтернативный метод + обеспечения функциональности <acronym>IDS</acronym> с + использованием встроенных утилит описан в <xref + linkend="security-ids"/>.--></para> </warning> - <para>Теперь запустится проверка системы, в результате которой будет - выведен список файлов с их контрольными суммами в &man.sha256.1; с - известным значением для файла из релиза и значением для текущего - в системе. Результат выводится слишком быстро для наглядного - сравнения и вскоре заполняет консольный буфер. По этой причине в - данном примере вывод перенаправлен в файл - <filename>outfile.ids</filename>.</para> - - <para>Эти строки также очень длинные, но зато такой формат вывода - удобен для разбора. Так, для получения списка всех отличающихся - от релиза файлов достаточно выполнить такую команду:</para> + <para>Для того, чтобы начать сравнение, укажите файл для + сохранения результатов:</para> + + <screen>&prompt.root; <userinput>freebsd-update IDS >> outfile.ids</userinput></screen> + + <para>Запустится проверка системы, результат которой будет + записан в указанный файл в виде списка файлов вместе с их + контрольными суммами в формате <acronym>SHA256</acronym> + — для известных файлов из релиза и текущих в + системе.</para> + + <para>Строки в списке чрезмерно длинные, но зато такой формат + вывода удобен для разбора. Так, для получения списка всех + отличающихся от релиза файлов достаточно выполнить такую + команду:</para> <screen>&prompt.root; <userinput>cat outfile.ids | awk '{ print $1 }' | more</userinput> /etc/master.passwd @@ -459,1400 +673,1267 @@ Does this look reasonable (y/n)? y</scre <para>Вывод специально обрезан, на самом деле файлов намного больше. Некоторые из них изменены в ходе нормальной работы: так, файл <filename>/etc/passwd</filename> был изменён после заведения - пользователей в системе. В некоторых случаях могут быть и другие - файлы, такие как модули ядра, которые могли измениться вследствие + пользователей в системе. Модули ядра могли измениться вследствие обновления через <command>freebsd-update</command>. Для исключения из проверки конкретных файлов и каталогов укажите их в качестве значения параметра <literal>IDSIgnorePaths</literal> в <filename>/etc/freebsd-update.conf</filename>.</para> - - <para>Эта система может использоваться как часть более сложной - процедуры обновления, в отличие от описанного выше способа.</para> </sect2> </sect1> - <sect1 xml:id="updating-upgrading-portsnap"> - <info><title>Portsnap: средство обновления Коллекции Портов</title> - <authorgroup> - <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Предоставил </contrib></author> - </authorgroup> - <authorgroup> - <author><personname><firstname>Colin</firstname><surname>Percival</surname></personname><contrib>На основе заметок, которые предоставил </contrib></author> - </authorgroup> - </info> - + <sect1 xml:id="updating-upgrading-documentation"> + <title>Обновление документации</title> + + <indexterm> + <primary>обновление и смена версии</primary> + </indexterm> - <indexterm><primary>обновление и смена версии</primary></indexterm> <indexterm> - <primary>Portsnap</primary> + <primary>документация</primary> <see>обновление и смена версии</see> </indexterm> - <para>Для обновления Коллекции Портов в базовую поставку &os; - включена утилита &man.portsnap.8;. Во время её выполнения - устанавливается соединение с удалённым сервером, проверяется - правильность ключа и загружается новая копия Коллекции Портов. - Ключ используется для проверки целостности загруженных файлов - для исключения возможности подмены на этапе передачи файлов. - Для получения последней версии файлов Коллекции Портов выполните - следующую команду:</para> - - <screen>&prompt.root; <userinput>portsnap fetch</userinput> -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.</screen> - - <para>В данном примере показано, что &man.portsnap.8; обнаружила - и верифицировала несколько патчей относительно текущего содержимого - портов. Здесь также видно, что утилита уже запускалась ранее, - иначе при первом запуске была бы загружена вся коллекция.</para> - - <para>После того как &man.portsnap.8; успешно завершила операцию - <command>fetch</command>, Коллекция Портов и сопутствующие патчи - находятся на локальной системе и прошли проверку целостности. - Обновлённые файлы можно установить командой:</para> - - <screen>&prompt.root; <userinput>portsnap extract</userinput> -/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 -<replaceable>...</replaceable></screen> + <para>Документация является неотъемлемой частью операционной + системы &os;. И хотя актуальная версия документации &os; всегда + доступна на сайте &os; (<link + xlink:href="&url.base;/doc/">http://www.freebsd.org/doc/</link>), + может быть удобно иметь под рукой актуальную локальную копию + сайта &os;, руководств, <acronym>FAQ</acronym> и статей.</para> - <para>На этом процесс завершён, и теперь приложения можно - установить или обновить с использованием Коллекции Портов.</para> + <para>В этом разделе описывается, как использовать исходный текст + или Коллекцию Портов &os; для организации актуальной локальной + копии документации &os;.</para> - <para>Для последовательного запуска обоих процессов выполните - следующую команду:</para> + <para>За информацией о редактировании и отправке изменений + для документации обращайтесь к &os; Documentation Project + Primer for New Contributors (<link + xlink:href="&url.books.fdp-primer;">http://www.freebsd.org/doc/en_US.ISO8859-1/books/fdp-primer/</link>).</para> - <screen>&prompt.root; <userinput>portsnap fetch update</userinput></screen> - </sect1> + <sect2 xml:id="updating-installed-documentation"> + <title>Обновление документации из исходного кода</title> - <sect1 xml:id="current-stable"> - <title>Использование ветви разработки</title> - <indexterm><primary>-CURRENT</primary></indexterm> - <indexterm><primary>-STABLE</primary></indexterm> + <para>Для перестроения документации &os; из исходного текста + требуется набор инструментов, который не является частью + основной системы &os;. Требуемые инструменты, включая + <application>svn</application>, можно установить из пакета + или порта <package>textproc/docproj</package>, разработанного + в рамках проекта документации &os;.</para> - <para>Во FreeBSD имеется две ветки разработки: &os.current; и &os.stable;. - Этот раздел описывает каждую из них и объясняет, как синхронизировать - вашу систему с любой из веток. Сначала будет обсуждаться ветка - &os.current;, затем &os.stable;.</para> + <para>После установки используйте <application>svn</application> + для получения копии исходных текстов документации:</para> - <sect2 xml:id="current"> - <title>Как следовать текущим разработкам во &os;</title> + <screen>&prompt.root; <userinput>svn checkout https://svn.FreeBSD.org/doc/head /usr/doc</userinput></screen> *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601090047.u090lxDX049653>