<!--
     The FreeBSD Russian Documentation Project

     $FreeBSD$
     $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/disks/chapter.sgml,v 1.58 2004/04/13 06:55:16 den Exp $

     Original revision: 1.190
-->

<chapter id="disks">
  <title>Устройства хранения</title>

  <sect1 id="disks-synopsis">
    <title>Краткий обзор</title>

    <para>В этой главе описывается использование дисков во FreeBSD.  К ним
      относятся диски в памяти, диски, подключенные по сети и обычные
      устройства хранения SCSI/IDE.</para>

    <para>После чтения этой главы вы будете знать:</para>

    <itemizedlist>
      <listitem>
        <para>Терминологию, используемую во FreeBSD для описания организации
          данных на физическом диске (разделы и слайсы).</para>
      </listitem>

      <listitem>
        <para>Как добавить дополнительные винчестеры к вашей системе.</para>
      </listitem>

      <listitem>
        <para>Как настроить виртуальные файловые системы, такие, как диски в
          оперативной памяти.</para>
      </listitem>

      <listitem>
        <para>как использовать квоты для ограничения использования дискового
          пространства.</para>
      </listitem>

      <listitem>
        <para>Как зашифровать диски, чтобы защитить их от взлома.</para>
      </listitem>

      <listitem>
        <para>Как создавать и записывать CD и DVD во FreeBSD.</para>
      </listitem>

      <listitem>
        <para>Различные варианты использования устройств хранения для
          резервных копий.</para>
      </listitem>

      <listitem>
        <para>Как использовать программы резервного копирования, имеющиеся
          для FreeBSD.</para>
      </listitem>

      <listitem>
        <para>Как выполнять резервное копирование на дискеты.</para>
      </listitem>

      <listitem>
        <para>Что такое мгновенные копии файловых систем и как
          их эффективно использовать</para>
      </listitem>
    </itemizedlist>
  </sect1>

  <sect1 id="disks-naming">
    <title>Имена устройств</title>

    <para>Далее приводится список физических устройств хранения информации,
      которые поддерживаются во FreeBSD, и имена устройств, которые им
      соответствуют.</para>

    <table id="disk-naming-physical-table">
      <title>Соглашения по именованию физических дисков</title>

      <tgroup cols="2">
	<thead>
	  <row>
	    <entry>Тип диска</entry>

	    <entry>Имя дискового устройства</entry>
	  </row>
	</thead>

	<tbody>
	  <row>
	    <entry>Винчестеры IDE</entry>

	    <entry><literal>ad</literal></entry>
	  </row>

	  <row>
	    <entry>Приводы IDE CDROM</entry>

	    <entry><literal>acd</literal></entry>
	  </row>

	  <row>
	    <entry>Винчестеры SCSI и дисковые устройства USB</entry>

	    <entry><literal>da</literal></entry>
	  </row>

	  <row>
	    <entry>Приводы SCSI CDROM</entry>

	    <entry><literal>cd</literal></entry>
	  </row>

	  <row>
	    <entry>Различные нестандартные приводы CDROM</entry>

	    <entry><literal>mcd</literal> для Mitsumi CD-ROM,
	      <literal>scd</literal> для Sony CD-ROM,
	      <literal>matcd</literal> для Matsushita/Panasonic CD-ROM
	      <footnote>
		<para>5 октября 2002 года драйвер &man.matcd.4; был удалён
                  из ветки FreeBSD&nbsp;4.X и отсутствует во FreeBSD&nbsp;5.0
                  и 5.1.  Однако этот драйвер вновь появился в ветке
                  FreeBSD&nbsp;5.X, и присутствует там с 16 июня 2003
                  года.</para>
	      </footnote>
	    </entry>
	  </row>

	  <row>
	    <entry>Дискеты</entry>

	    <entry><literal>fd</literal></entry>
	  </row>

	  <row>
	    <entry>Ленточные приводы SCSI</entry>

	    <entry><literal>sa</literal></entry>
          </row>

	  <row>
	    <entry>Ленточные приводы IDE</entry>

	    <entry><literal>ast</literal></entry>
	  </row>

	  <row>
	    <entry>Флэш-диски</entry>

	    <entry><literal>fla</literal> для флэш-устройств 
              &diskonchip;</entry>
	  </row>

	  <row>
	    <entry>Диски RAID</entry>

            <entry><literal>aacd</literal> для &adaptec; AdvancedRAID,
              <literal>mlxd</literal> и <literal>mlyd</literal> для &mylex;,
	      <literal>amrd</literal> для AMI &megaraid;,
	      <literal>idad</literal> для Compaq Smart RAID,
              <literal>twed</literal> для &tm.3ware; RAID.</entry>
	  </row>
	</tbody>
      </tgroup>
    </table>
  </sect1>   

  <sect1 id="disks-adding">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>David</firstname>
          <surname>O'Brien</surname>
          <contrib>Изначальный текст предоставил </contrib>
        </author>
      </authorgroup>
      <!-- 26 Apr 1998 -->
    </sect1info>

    <title>Добавление дисков</title>

    <indexterm>
      <primary>диски</primary>
      <secondary>добавление</secondary>
    </indexterm>

    <para>Предположим, что мы хотим установить новый диск SCSI на машину,
      имеющую в данный момент только один диск.  Сначала выключим компьютер и
      установим диск в компьютер согласно инструкциям к компьютеру,
      контроллеру и от производителя диска.  Из-за большого разнообразия
      этих процедур их рассмотрение выходит за рамки этого документа..</para>

    <para>Войдите в систему как пользователь <username>root</username>.
      После того, как вы установили диск, просмотрите файл
      <filename>/var/run/dmesg.boot</filename>, чтобы убедиться, что новый
      диск был найден.	Продолжая наш пример, только что добавленный диск
      будет называться <devicename>da1</devicename> и мы хотим смонтировать его
      в каталог <filename>/1</filename> (если вы добавляете диск IDE, то
      устройство будет называться <devicename>wd1</devicename> в системах,
      предшествовавших 4.0, и <devicename>ad1</devicename> в большинстве систем
      4.X).</para>

    <indexterm>
      <primary>разделы</primary>
    </indexterm>

    <indexterm>
      <primary>слайсы</primary>
    </indexterm>

    <indexterm>
      <primary>fdisk</primary>
    </indexterm>

    <para>Так как FreeBSD работает на IBM-PC совместимых компьютерах, она
      должна принимать во внимание разделы PC BIOS.  В этом заключается
      отличие от традиционных разделов BSD.  Диск PC может иметь до четырех
      записей разделов BIOS.  Если диск на самом деле будет использоваться
      исключительно под FreeBSD, вы можете использовать режим
      <emphasis>dedicated</emphasis>.  В противном случае FreeBSD будет
      располагаться в одном из разделов PC BIOS.  Во FreeBSD разделы PC BIOS
      называются <emphasis>слайсами</emphasis>, чтобы не путать их с
      традиционными разделами BSD.  Вы также можете использовать слайсы и с
      диском, предназначенным исключительно для FreeBSD, однако используемым
      в компьютере, на котором имеется дополнительная операционная система.
      Это нужно для того, чтобы не было путаницы с утилитой
      <command>fdisk</command> другой операционной системы.</para>

    <para>В случае слайсов диск будет добавлен как
      <filename>/dev/da1s1e</filename>.  Это интерпретируется следующим
      образом: диск SCSI, устройство номер 1 (второй диск SCSI), слайс 1
      (раздел PC BIOS 1), и раздел BSD <filename>e</filename>.	В случае
      использования в выделенном режиме диск будет добавлен просто как
      <filename>/dev/da1e</filename>.</para>

    <sect2>
      <title>Использование утилиты &man.sysinstall.8;</title>

      <indexterm>
        <primary><application>sysinstall</application></primary>
        <secondary>добавление дисков</secondary>
      </indexterm>

      <indexterm>
        <primary>su</primary>
      </indexterm>

      <procedure>
        <step>
          <title>Использование <application>Sysinstall</application></title>

          <para>Вы можете использовать простые меню утилиты
            <command>/stand/sysinstall</command> для разбиения на разделы и
            разметки нового диска.  Войдите как пользователь
	    <username>root</username> или воспользуйтесь командой
	    <command>su</command>.  Запустите команду
	    <command>/stand/sysinstall</command> и войдите в меню
	    <literal>Configure</literal>.  Внутри <literal>FreeBSD
            Configuration Menu</literal>, пролистайте и выберите пункт
	    <literal>Fdisk</literal>.</para>
        </step>

        <step>
          <title>Редактор разделов <application>fdisk</application></title>

          <para>Работая с утилитой <application>fdisk</application>, мы можем
            выбрать <userinput>A</userinput> для того, чтобы использовать под
            FreeBSD полностью весь диск.  Когда будет задан вопрос о том,
            хотите ли вы <quote>сохранить совместимость с другими возможными
            операционными системами в будущем</quote>, ответьте
            <literal>YES</literal>.  Запишите изменения на диск при помощи
            команды <userinput>W</userinput>.  А теперь выйдите из редактора
            FDISK, нажав <userinput>q</userinput>.  В этот момент вам будет
            задан вопрос о главной загрузочной записи.  Так как вы добавляете
            диск к уже работающей системе, выберите
            <literal>None</literal>.</para>
        </step>

        <step>
          <title>Редактор метки диска</title>

          <indexterm><primary>разделы BSD</primary></indexterm>

          <para>Теперь вам нужно выйти из <application>sysinstall</application>
            и запустить эту утилиту снова.  Следуйте указаниям выше, но на этот
            раз выберите пункт <literal>Label</literal>.  Вы перейдёте к
            меню <literal>Disk Label Editor</literal>.
	    Здесь вы создадите традиционные разделы BSD.  На диске может быть
	    до восьми разделов, имеющих метки <literal>a-h</literal>.
            Некоторые из меток разделов
	    имеют особый смысл.  Раздел <literal>a</literal> используется для
	    размещения корневого раздела (<filename>/</filename>).  По этой
	    причине только ваш системный диск (например, тот, с которого
	    происходит загрузка), должен иметь раздел <literal>a</literal>.
	    Раздел <literal>b</literal> используется под раздел подкачки, и вы
	    можете иметь много дисков с разделами подкачки.  Раздел
	    <literal>c</literal> используется для доступа ко всему диску в
	    режиме эксклюзивного использования или ко всему слайсу FreeBSD при
	    работе в режиме с использованием слайсов.  Остальные разделы имеют
	    обычное предназначение.</para>

          <para>Редактор метки диска программы
            <application>sysinstall</application> использует раздел
	    <literal>e</literal> для некорневого раздела и не для раздела
	    подкачки.  Внутри редактора метки диска создайте отдельную файловую
	    систему, нажав <userinput>C</userinput>.  Когда будет задан
	    вопрос о том, будет ли это раздел с файловой системой (FS) или это
            будет раздел подкачки, выберите <literal>FS</literal> и наберите
	    точку монтирования (например, <filename>/mnt</filename>).  При
	    добавлении диска после установки системы, программа
            <application>sysinstall</application> не
	    будет автоматически создавать записи в файле
	    <filename>/etc/fstab</filename>, поэтому точка монтирования не так
            уж и важна.</para>

          <para>Теперь вы готовы записать новую метку на диск и создать на нем
	    файловую систему.  Сделайте это, набрав <userinput>W</userinput>.
	    Проигнорируйте сообщения об ошибках от
            <application>sysinstall</application> о невозможности смонтировать
	    новый раздел.  Полностью выйдите из редактора метки диска и из
	    программы <application>sysinstall</application>.</para>
        </step>

        <step>
          <title>Завершение</title>

          <para>Последний шаг заключается в редактировании файла
	    <filename>/etc/fstab</filename> и добавлении записи для вашего
            нового диска.</para>
        </step>
      </procedure>
    </sect2>

    <sect2>
      <title>Использовании утилит командной строки</title>

      <sect3>
	<title>Работа со слайсами</title>

        <para>Следующая настройка позволит вашему диску корректно работать с
          другими операционными системами, которые могут быть установлены на
          вашем компьютере, и не вызовет конфликта с утилитами
          <command>fdisk</command> других операционных систем.  Этот способ
          рекомендуется использовать для установок новых дисков.  Используйте
          <literal>эксклюзивный</literal> режим, только если у вас есть
          реальные причины делать это!</para>

        <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>fdisk -BI da1</userinput> # Инициализируем новый диск.
&prompt.root; <userinput>disklabel -B -w -r da1s1 auto</userinput> # Размечаем его.
&prompt.root; <userinput>disklabel -e da1s1</userinput> # Редактируем только что созданную метку диска и добавляем разделы.
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>newfs /dev/da1s1e</userinput> # Повторяем этот шаг для всех созданных разделов.
&prompt.root; <userinput>mount /dev/da1s1e /1</userinput> # Монтируем раздел(ы)
&prompt.root; <userinput>vi /etc/fstab</userinput> # Добавляем соответствующую запись/записи в файл <filename>/etc/fstab</filename>.</screen>

        <para>Если у вас установлен диск IDE, подставьте
          <filename>ad</filename> вместо <filename>da</filename>.  На системах
          версий ранее 4.X используйте <filename>wd</filename>.</para>
      </sect3>

      <sect3>
	<title>Эксклюзивный режим</title>

        <indexterm><primary>OS/2</primary></indexterm>

	<para>Если вы не будете использовать новый диск совместно с другой
	  операционной системой, то вы можете использовать режим
	  <literal>эксклюзивного</literal> использования.  Отметьте, что этот
	  режим может ввести в заблуждение операционные системы от Microsoft;
	  однако информацию они не разрушат.  А вот &os2; компании IBM будет
	  <quote>забирать себе</quote> любой раздел, который она найдет и не
	  сможет распознать.</para>

	<screen>
&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 bs=1k count=1</userinput>
&prompt.root; <userinput>disklabel -Brw da1 auto</userinput>
&prompt.root; <userinput>disklabel -e da1</userinput>				# create the `e' partition
&prompt.root; <userinput>newfs -d0 /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput>				# add an entry for /dev/da1e
&prompt.root; <userinput>mount /1</userinput>
	</screen>

	<para>Альтернативный метод заключается в следующем:</para>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da1 count=2</userinput>
&prompt.root; <userinput>disklabel /dev/da1 | disklabel -BrR da1 /dev/stdin</userinput>
&prompt.root; <userinput>newfs /dev/da1e</userinput>
&prompt.root; <userinput>mkdir -p /1</userinput>
&prompt.root; <userinput>vi /etc/fstab</userinput>					# add an entry for /dev/da1e
&prompt.root; <userinput>mount /1</userinput></screen>

        <note>
          <para>Начиная с &os;&nbsp;5.1-RELEASE, на смену старой программе
            &man.disklabel.8; пришла утилита &man.bsdlabel.8;.  У
            &man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
            параметры; в примере выше параметр <option>-r</option> не может
            использоваться с &man.bsdlabel.8;.  Для получения дополнительной
            информации обратитесь к справочной странице п
            о &man.bsdlabel.8;.</para>
        </note>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="raid">
    <title>RAID</title>

    <sect2 id="raid-soft">
      <title>Программный RAID</title>

      <sect3 id="ccd">
        <sect3info>
          <authorgroup>
	    <author>
	      <firstname>Christopher</firstname>
	      <surname>Shumway</surname>
	      <contrib>Оригинальный текст предоставил </contrib>
	    </author>
          </authorgroup>

          <authorgroup>
            <author>
              <firstname>Jim</firstname>
              <surname>Brown</surname>
              <contrib>Изменения внёс </contrib>
	    </author>
          </authorgroup>
        </sect3info>

        <indexterm>
          <primary>RAID</primary><secondary>программный</secondary>
        </indexterm>

        <indexterm>
          <primary>RAID</primary><secondary>CCD</secondary>
        </indexterm>

        <title>Конфигурация драйвера объединённого диска (CCD)</title>

        <para>При выборе решения для организации хранилища самыми важными
          характеристиками являются скорость, надежность и стоимость.  Редко
          все эти характеристики наличествуют одновременно; обычно
          быстрое и надёжное устройство хранения стоит дорого, а при
          уменьшении стоимости в жертву приносятся скорость работы или
          надёжность.</para>

        <para>При проектировании описываемой далее системы в качестве
          самого важного фактора была выбрана её стоимость, затем
          быстродействие и надёжность.  Скорость передачи данных для этой
          системы ограничивалась только пропускной способностью сети.  И,
          хотя надёжность очень важна, CCD-диск, описываемый ниже,
          обслуживал работу с данными, полные копии которых уже хранились на
          дисках CD-R, так они могли быть с лёгкостью обновлены.</para>

        <para>При выборе решения для массового хранения данных первым шагом
          является определение ваших требований к нему.  Если в ваших
          требованиях главными являются скорость или надёжность, а не
          стоимость, то ваш выбор будет отличаться от описываемой в этом
          разделе системы.</para>

        <sect4 id="ccd-installhw">
          <title>Установка оборудования</title>

          <para>Кроме системного IDE-диска, основу описываемого далее CCD-диска
            общим объёмом примерно в 90 Гбайт составили три IDE-диска Western
            Digital 30GB, 5400 RPM.  В идеальном случае каждый диск IDE имеет
            собственный контроллер и кабель, но для минимизации стоимости
            дополнительные контроллеры IDE не использовались.  Вместо этого
            диски были настроены при помощи переключателей так, что на каждом
            IDE-контроллере находилось по одному ведущему и одному ведомому
            диску.</para>

          <para>До перезагрузки BIOS системы была настроена на автоматическое
            распознавание подключенных дисков.  Более важно то, что при
            перезагрузке их распознала FreeBSD:</para>

          <programlisting>ad0: 19574MB &lt;WDC WD205BA&gt; [39770/16/63] at ata0-master UDMA33
ad1: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata0-slave UDMA33
ad2: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-master UDMA33
ad3: 29333MB &lt;WDC WD307AA&gt; [59598/16/63] at ata1-slave UDMA33</programlisting>

          <note>
            <para>Если FreeBSD не распознала все диски, проверьте корректность
              положения переключателей на них.  На большинстве IDE-дисков
              имеется также переключатель <quote>Cable Select</quote>.  Он
              <emphasis>не имеет</emphasis> отношения к выбору ведущего и
              ведомого устройств.  Для получения помощи по правильному
              положению переключателей обратитесь к документации по
              устройствам.</para>
          </note>

          <para>Затем определите, как сделать их частью файловой системы.
            Изучите справку по &man.vinum.8; (<xref linkend="vinum-vinum">) и
            &man.ccd.4;.  В нашем конкретном случае была выбрана технология
            &man.ccd.4;.</para>
        </sect4>

        <sect4 id="ccd-setup">
          <title>Настройка CCD</title>

          <para>Драйвер &man.ccd.4; позволяет вам взять несколько
            идентичных дисков и объединить их в одну логическую файловую
            систему.  Для использования &man.ccd.4; нужно
            ядро со встроенной поддержкой &man.ccd.4;.
            Добавьте такую строку в файл конфигурации ядра, перестройте и
            установите новое ядро:</para>

          <programlisting>pseudo-device   ccd     4</programlisting>

          <para>В системах 5.X вместо этого вам нужно использовать такую
            строку:</para>

          <programlisting>device   ccd</programlisting>

          <note>
            <para>Во FreeBSD&nbsp;5.X нет нужды указывать количество устройств
              &man.ccd.4; так как драйвер устройства &man.ccd.4; теперь
              клонируется сам &mdash; новые экземпляры устройств будут
              создаваться автоматически по необходимости.</para>
          </note>

          <para>Во FreeBSD 3.0 и последующих версиях поддержка &man.ccd.4;
            также может быть обеспечена загрузкой подгружаемого модуля
            ядра.</para>

          <para>Для настройки &man.ccd.4; сначала вам
            нужно воспользоваться утилитой &man.disklabel.8; для разметки
            дисков:</para>

          <programlisting>disklabel -r -w ad1 auto
disklabel -r -w ad2 auto
disklabel -r -w ad3 auto</programlisting>

          <para>При этом создаются метки для <devicename>ad1c</devicename>,
            <devicename>ad2c</devicename> и <devicename>ad3c</devicename>,
            которые занимают диск полностью.</para>

          <note>
            <para>Начиная с &os;&nbsp;5.1-RELEASE, на смену старой программе
              &man.disklabel.8; пришла утилита &man.bsdlabel.8;.  У
              &man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
              параметры; в примере выше параметр <option>-r</option> не может
              использоваться с &man.bsdlabel.8;.  Для получения дополнительной
              информации обратитесь к справочной странице п
              о &man.bsdlabel.8;.</para>
          </note>

          <para>Следующим шагом является изменение типа метки диска.  Для
            редактирования дисков можно использовать утилиту
            &man.disklabel.8;:</para>

          <programlisting>disklabel -e ad1
disklabel -e ad2
disklabel -e ad3</programlisting>
      
          <para>При этом в редакторе, задаваемом переменной окружения
            <envar>EDITOR</envar> (обычно это &man.vi.1;),
            открывается текущая метка каждого диска.</para>

          <para>Немодифицированная метка диска будет выглядеть примерно
            следующим образом:</para>

          <programlisting>8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)</programlisting>

          <para>Добавьте новый раздел <literal>e</literal> для использования
            драйвером &man.ccd.4;.  Как правило, он может быть скопирован с
            раздела <literal>c</literal>, но поле <option>fstype</option>
            <emphasis>должно</emphasis> иметь значение
            <userinput>4.2BSD</userinput>.  Теперь метка диска должна выглядеть
            примерно так:</para>

          <programlisting>8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  c: 60074784        0    unused        0     0     0   # (Cyl.    0 - 59597)
  e: 60074784        0    4.2BSD        0     0     0   # (Cyl.    0 - 59597)</programlisting>
        </sect4>
    
        <sect4 id="ccd-buildingfs">
          <title>Построение файловой системы</title>

          <para>Файл устройства для <devicename>ccd0c</devicename> может ещё
            не существовать, так что для его создания предварительно выполните
            такие команды:</para>

          <programlisting>cd /dev
sh MAKEDEV ccd0</programlisting>

          <note>
            <para>Во FreeBSD 5.0 &man.devfs.5; будет управлять файлами
              устройств в каталоге <filename>/dev</filename> автоматически, так
              что в использовании <command>MAKEDEV</command> необходимости
              нет.</para>
          </note>

          <para>Теперь, когда все диски размечены, вы должны построить
            &man.ccd.4;.  Для этого используйте утилиту
            &man.ccdconfig.8; с параметрами, подобными следующим:</para>

          <programlisting>ccdconfig ccd0<co id="co-ccd-dev"> 32<co id="co-ccd-interleave"> 0<co id="co-ccd-flags"> /dev/ad1e<co id="co-ccd-devs"> /dev/ad2e /dev/ad3e</programlisting>

          <para>Использование и значение каждого параметра описывается
            ниже:</para>

          <calloutlist>
            <callout arearefs="co-ccd-dev">
              <para>Первым аргументом является конфигурируемое устройство,
                в нашем случае <devicename>/dev/ccd0c</devicename>.  Часть
                <filename>/dev/</filename> является необязательной.</para>
            </callout>

            <callout arearefs="co-ccd-interleave">
              <para>Чередование для файловой системы.  Оно определяет размер
                единицы блока данных в количестве дисковых блоков, каждый из
                которых обычно имеет объём в 512 байт.  Таким образом, при
                чередовании в 32 это будет составлять 16384 байт.</para>
            </callout>

            <callout arearefs="co-ccd-flags">
              <para>Опции для &man.ccdconfig.8;.  Если вы хотите включить
                зеркалирование диска, то можете задать это здесь.  В нашей
                конфигурации зеркалирование для &man.ccd.4; не предусмотрено,
                поэтому здесь задан 0 (ноль).</para>
            </callout>

            <callout arearefs="co-ccd-devs">
              <para>Последним параметром для &man.ccdconfig.8;
                является список устройств для объединения в массив.  Для
                каждого устройства нужно задавать полное имя.</para>
            </callout>
          </calloutlist>

          <para>После запуска &man.ccdconfig.8; устройство
            &man.ccd.4; будет отконфигурировано.  Может
            будет построить файловую систему.  Обратитесь к справке по
            команде &man.newfs.8; для выяснения требуемых параметров, или
            просто запустите: </para>

          <programlisting>newfs /dev/ccd0c</programlisting>
        </sect4>

        <sect4 id="ccd-auto">
          <title>Автоматическое выполнение</title>

          <para>Вообще говоря, вам потребуется монтировать
            &man.ccd.4; при каждой перезагрузке.  Для этого
            сначала вы должны отконфигурировать это устройство.  Запишите
            вашу текущую конфигурацию в файл <filename>/etc/ccd.conf</filename>
            при помощи такой команды:</para>

          <programlisting>ccdconfig -g &gt; /etc/ccd.conf</programlisting>

          <para>При перезагрузке скрипт <command>/etc/rc</command> запускает
            команду <command>ccdconfig -C</command>, если существует файл
            <filename>/etc/ccd.conf</filename>.  При этом
            &man.ccd.4; автоматически конфигурируется так,
            чтобы он мог быть смонтирован.</para>

          <note>
            <para>Если при загрузке вы входите в однопользовательский режим, то
              перед тем, как выполнять монтирование &man.ccd.4; по команде
              &man.mount.8;, вам нужно для конфигурации массива
              запустить следующую команду:</para>

            <programlisting>ccdconfig -C</programlisting>
          </note>

          <para>Для автоматического монтирования &man.ccd.4;
            поместите запись о &man.ccd.4; в файл
            <filename>/etc/fstab</filename>, чтобы он мог быть
            смонтирован во время загрузки системы:</para>

          <programlisting>/dev/ccd0c              /media       ufs     rw      2       2</programlisting>
        </sect4>
      </sect3>

      <sect3 id="vinum">
        <title>Менеджер томов Vinum</title>

        <indexterm>
          <primary>RAID</primary><secondary>программный</secondary>
        </indexterm>

        <indexterm>
          <primary>RAID</primary><secondary>Vinum</secondary>
        </indexterm>

        <para>Менеджер томов Vinum является драйвером блочного устройства,
          который реализует виртуальные диски.  Он отделяет дисковое
          оборудование от интерфейса блочного устройства и работает с данными
          таким образом, что в результате повышается гибкость,
          производительность и надёжность по сравнению с традиционным
          взглядом на дисковое хранилище как на кусок дискового пространства.
          &man.vinum.8; реализует модели RAID-0, RAID-1 и RAID-5, как по
          отдельности, так и в комбинациях.</para>

        <para>Обратитесь к <xref linkend="vinum-vinum"> для получения более
          полной информации о &man.vinum.8;.</para>
      </sect3>
    </sect2>

    <sect2 id="raid-hard">
      <title>Аппаратный RAID</title>

      <indexterm>
        <primary>RAID</primary>
        <secondary>Оборудование</secondary>
      </indexterm>

      <para>FreeBSD поддерживает также целый ряд аппаратных контроллеров
        <acronym>RAID</acronym>.  Эти устройства самостоятельно управляют
        <acronym>RAID</acronym>-подсистемой, без необходимости иметь
        специфичное для FreeBSD программное обеспечения управления
        массивом.</para>

      <para>При помощи встроенной в адаптер <acronym>BIOS</acronym>, он
        сам управляет большинством дисковых операций.  Далее следует краткое
        описание установки при помощи контроллера <acronym>Promise IDE
        RAID</acronym>.  После установки адаптера и запуска системы, выдаётся
        запрос на ввод.  Следуйте указаниям для входа в настройку адаптера.
        Отсюда вы можете объединить все подключенные диски.  После этого
        во FreeBSD диск(и) будут выглядеть как один диск.  Аналогично могут
        быть настроены и другие уровни <acronym>RAID</acronym>.</para>
    </sect2>

    <sect2>
      <title>Перестроение массивов ATA RAID1</title>

      <para>FreeBSD позволяет вам выполнять горячую замену вышедшего из строя
        диска.  При этом требуется, чтобы вы заметили это до
        перезагрузки.</para>

      <para>Вероятно, в файле <filename>/var/log/messages</filename> или в
        выдаче команды &man.dmesg.8; вы увидите примерно следующее:</para>

      <programlisting>ad6 on monster1 suffered a hard error.
ad6: READ command timeout tag=0 serv=0 - resetting
ad6: trying fallback to PIO mode
ata3: resetting devices .. done
ad6: hard error reading fsbn 1116119 of 0-7 (ad6 bn 1116119; cn 1107 tn 4 sn 11) status=59 error=40
ar0: WARNING - mirror lost</programlisting>

      <para>При помощи &man.atacontrol.8; получите дополнительную
        информацию:</para>

      <screen>&prompt.root; <userinput>atacontrol list</userinput>
ATA channel 0:
	Master:      no device present
	Slave:   acd0 &lt;HL-DT-ST CD-ROM GCR-8520B/1.00&gt; ATA/ATAPI rev 0

ATA channel 1:
	Master:      no device present
	Slave:       no device present

ATA channel 2:
	Master:  ad4 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
	Slave:       no device present

ATA channel 3:
	Master:  ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
	Slave:       no device present

&prompt.root; <userinput>atacontrol status ar0</userinput>
ar0: ATA RAID1 subdisks: ad4 ad6 status: DEGRADED</screen>

      <procedure>
	<step>
	  <para>Сначала вам нужно отключить диск от массива, чтобы его можно
            было без последствий извлечь:</para>

	  <screen>&prompt.root; <userinput>atacontrol detach 3</userinput></screen>
	</step>

	<step>
	  <para>Замените диск.</para>
	</step>

	<step>
	  <para>Повторно подключите диск в качестве резервного:</para>

	  <screen>&prompt.root; <userinput>atacontrol attach 3</userinput>
Master:  ad6 &lt;MAXTOR 6L080J4/A93.0500&gt; ATA/ATAPI rev 5
Slave:   no device present</screen>
        </step>

	<step>
	  <para>Перестройте массив:</para>

	  <screen>&prompt.root; <userinput>atacontrol rebuild ar0</userinput></screen>
	</step>

	<step>
	  <para>Команда перестроения будет работать, пока не закончит.  Однако
            имеется возможность открыть другой терминал (комбинацией клавиш
            <keycombo action="simul"><keycap>Alt</keycap>
            <keycap>F<replaceable>n</replaceable></keycap></keycombo>) и
            проверить состояние дел при помощи следующей команды:</para>

	  <screen>&prompt.root; <userinput>dmesg | tail -10</userinput>
[выдача удалена]
ad6: removed from configuration
ad6: deleted from ar0 disk1
ad6: inserted into ar0 disk1 as spare

&prompt.root; <userinput>atacontrol status ar0</userinput>
ar0: ATA RAID1 subdisks: ad4 ad6 status: REBUILDING 0% completed</screen>
	</step>

	<step>
	  <para>Дождитесь завершения этой операции.</para>
	</step>
      </procedure>
    </sect2>
  </sect1>

  <sect1 id="creating-cds">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Mike</firstname>
          <surname>Meyer</surname>
          <contrib>Текст предоставил </contrib>
          <!-- mwm@mired.org -->
        </author>
      </authorgroup>
      <!-- Apr 2001 -->
    </sect1info>

    <title>Запись и использование оптических носителей (CD &amp; DVD)</title>

    <indexterm>
      <primary>CDROM</primary>
      <secondary>создание</secondary>
    </indexterm>

    <sect2>
      <title>Введение</title>

      <para>Компакт-диски (CD) имеют несколько особенностей, отличающих их от
        обычных дисков.  Во-первых, на них невозможно производить запись.  Они
        спроектированы с расчетом на то, что их можно читать последовательно без
        задержек на перемещение головки между дорожками.  К тому же их гораздо
        проще переносить от системы к системе, чем носители близкого
        объема.</para>

      <para>У CD имеются дорожки, но они представляют собой последовательность
        данных, читаемую последовательно, и не являются физической
        характеристикой диска.  Для записи CD во FreeBSD вы готовите файлы
        данных, которые будут формировать дорожки на компакт-диске, а затем
        записываете дорожки на CD.</para>

      <indexterm><primary>ISO 9660</primary></indexterm>
      <indexterm>
        <primary>файловые системы</primary>
        <secondary>ISO 9660</secondary>
      </indexterm>

      <para>Файловая система ISO 9660 была разработана с учетом этих отличий,  К
        сожалению, она унаследовала ограничения файловых систем, которые были
        тогда.  К счастью, она дает механизм расширений, которые позволяют
        правильно записанным дискам обходить эти ограничения и при этом
        продолжать работать с системами, которые не поддерживают эти
        расширения.</para>

      <indexterm>
        <primary><filename role="package">sysutils/mkisofs</filename></primary>
      </indexterm>

      <para>Для создания файла данных, содержащего файловую систему ISO 9660,
        используется программа
        <filename role="package">sysutils/mkisofs</filename>.  Она имеет опции,
        поддерживающие различные расширения, и описана ниже.  Вы можете
        установить её из порта <filename
        role="package">sysutils/mkisofs</filename>.</para>

      <indexterm>
        <primary>устройство записи CD</primary>

        <secondary>ATAPI</secondary>
      </indexterm>

      <para>Какой инструмент использовать для записи CD, зависит от того,
        является ли
        ваше устройство для записи CD устройством ATAPI или каким-либо другим.
        С устройствами для записи стандарта ATAPI используется программа
        <command><link linkend="burncd">burncd</link></command>, которая
        является частью комплекта поставки системы.  С устройствами SCSI и USB
        нужно использовать <command><link
        linkend="cdrecord">cdrecord</link></command> из порта
        <filename role="package">sysutils/cdrtools</filename>.</para>

      <para><command>burncd</command> поддерживает не все устройства.  Для
        определения того, поддерживается ли устройство, посмотрите список
        <ulink url="http://www.freebsd.dk/ata/">поддерживаемых приводов
        CD-R/RW</ulink>.</para>

      <note>
        <indexterm>
          <primary>устройство записи CD</primary>

          <secondary>драйвер ATAPI/CAM</secondary>
        </indexterm>

        <para>Если вы используете &os;&nbsp;5.X, &os;&nbsp;4.8-RELEASE или
          более новые версии, то при работе с ATAPI-оборудованием через <link
          linkend="atapicam">модуль ATAPI/CAM</link> можно использовать
          утилиту <command><link linkend="cdrecord">cdrecord</link></command> и
          другие инструменты для SCSI-приводов.</para>
      </note>
    </sect2>

    <sect2 id="mkisofs">
      <title>mkisofs</title>

      <para><filename role="package">sysutils/mkisofs</filename> создаёт
        файловую систему ISO 9660, которая является образом дерева каталогов в
        пространстве имён файловой системы &unix;.  В самом простом случае она
        используется так:</para>

      <screen>&prompt.root; <userinput>mkisofs -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/tree</replaceable></userinput></screen>

      <indexterm>
        <primary>файловые системы</primary>
        <secondary>ISO 9660</secondary>
      </indexterm>

      <para>Эта команда создаст файл <replaceable>imagefile.iso</replaceable>,
        содержащий файловую систему ISO 9660, которая является копией дерева
        каталогов <replaceable>/path/to/tree</replaceable>.  Во время работы
        она будет преобразовывать имена файлов в имена, которые удовлетворяют
        ограничениям файловой системы ISO 9660, и исключит файлы, которые носят
        имена, неподходящие для файловой системы ISO.</para>

      <indexterm>
        <primary>файловые системы</primary>
        <secondary>HFS</secondary>
      </indexterm>

      <indexterm>
        <primary>файловые системы</primary>
        <secondary>Joliet</secondary>
      </indexterm>

      <para>Для того, чтобы обойти эти ограничения, имеется несколько опций.  В
        частности, <option>-R</option> включает использование расширений
        Rock Ridge, распространенных в &unix;-системах, с <option>-J</option>
        будут применены расширения Joliet, используемые в системах от
        Microsoft, а <option>-hfs</option> может использоваться для создания
        файловых систем HFS, используемых в &macos;.</para>

      <para>Для CD, которые будут использоваться только с системами FreeBSD,
        может использоваться опция <option>-U</option>, отменяющая все
        ограничения на имена файлов.  При использовании с опцией
        <option>-R</option>
        генерируется образ файловой системы, идентичный начальному дереву
        FreeBSD, хотя при этом стандарт ISO 9660 может нарушаться в нескольких
        местах.</para>

      <indexterm>
        <primary>CDROM</primary>
        <secondary>создание загрузочного</secondary>
      </indexterm>

      <para>Последней часто используемой опцией является <option>-b</option>.
        Она используется для указания загрузочного образа для использования при
        создании загрузочного CD в стандарте <quote>El Torito</quote>.  Этой
        опции указывается аргумент, который является маршрутом к загрузочному
        образу из корня дерева, записываемого на CD.  Так что, положив, что
        <filename>/tmp/myboot</filename> содержит загрузочную систему FreeBSD с
        загрузочным образом в <filename>/tmp/myboot/boot/cdboot</filename>, вы
        можете создать образ файловой системы ISO 9660 в
        <filename>/tmp/bootable.iso</filename> следующим образом:</para>

      <screen>&prompt.root; <userinput>mkisofs -U -R -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot</userinput></screen>

      <para>Сделав это, и имея в ядре отконфигурированное устройство
        <devicename>vn</devicename> (для FreeBSD&nbsp;4.X) или
        <devicename>md</devicename> (при использовании FreeBSD&nbsp;5.X), вы
        можете смонтировать файловую систему, выполнив:</para>

      <screen>&prompt.root; <userinput>vnconfig -e vn0c /tmp/bootable.iso</userinput>
&prompt.root; <userinput>mount -t cd9660 /dev/vn0c /mnt</userinput></screen>

      <para>в случае использования FreeBSD&nbsp;4.X, а для
        FreeBSD&nbsp;5.X:</para>

      <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /tmp/bootable.iso -u 0</userinput>
&prompt.root; <userinput>mount -t cd9660 /dev/md0 /mnt</userinput></screen>

      <para>В этот момент вы можете проверить, что <filename>/mnt</filename> и
        <filename>/tmp/myboot</filename> идентичны.</para>

      <para>Имеется много других опций, которые можно использовать с
        программой <filename role="package">sysutils/mkisofs</filename> для
        тонкой настройки её поведения.  В частности: модификации в размещении
        ISO 9660 и создание дисков в форматах Joliet и HFS.  Обратитесь к
        справочным страницам по &man.mkisofs.8; для получения более подробной
        информации.</para>
    </sect2>

    <sect2 id="burncd">
      <title>burncd</title>

      <indexterm>
        <primary>CDROM</primary>
        <secondary>запись</secondary>
      </indexterm>

      <para>Если ваше устройство для записи CD соответствует стандарту ATAPI,
        то для записи ISO-образа на компакт-диск вы можете воспользоваться
        командой <command>burncd</command>.  <command>burncd</command> входит
        в базовый комплект операционной системы и установлена как
        <filename>/usr/sbin/burncd</filename>.  Использовать её очень просто,
        так как параметров у ней немного:</para>

      <screen>&prompt.root; <userinput>burncd -f <replaceable>cddevice</replaceable> data <replaceable>imagefile.iso</replaceable> fixate</userinput></screen>

      <para>По этой команде файл <replaceable>imagefile.iso</replaceable> будет
        скопирован на <replaceable>cddevice</replaceable>.  По умолчанию
        используется устройство <filename>/dev/acd0c</filename>.  Для получения
        информации о параметрах, задающих скорость записи, выброс диска после
        записи и запись звуковых данных, обратитесь к &man.burncd.8;.</para>
    </sect2>

    <sect2 id="cdrecord">
      <title>cdrecord</title>

      <para>Если ваше устройство для записи CD не соответствует стандарту
        ATAPI, то для записи компакт-дисков вам нужно пользоваться программой
        <command>cdrecord</command>.  <command>cdrecord</command> не входит в
        комплект поставки системы; вы должны установить её из порта
        <filename role="package">sysutils/cdrtools</filename> или из
        соответствующего пакаджа.  Изменения в системе могут приводить к тому,
        что откомпилированные версии этой программы работать не будут, или
        приводить к порче дисков.  Поэтому вы должны при обновлении системы
        либо обновить порт, либо, если вы <link linkend="stable">следуете
        -STABLE</link>, обновить порт при появлении его новой версии.</para>

      <para>Хотя <command>cdrecord</command> имеет много опций, в основном
        использовать её ещё проще, чем <command>burncd</command>. Запись образа
        ISO 9660 делается такой командой:</para>

      <screen>&prompt.root; <userinput>cdrecord dev=<replaceable>device</replaceable> <replaceable>imagefile.iso</replaceable></userinput></screen>

      <para>Тонким моментом при использовании <command>cdrecord</command>
        является определение правильного устройства <option>dev</option>.  Чтобы
        задать параметр правильно, воспользуйтесь флагом
        <option>-scanbus</option> команды <command>cdrecord</command>, в
        результате чего может получиться примерно такой результат:</para>

      <indexterm>
        <primary>CDROM</primary>
        <secondary>запись</secondary>
      </indexterm>

      <screen>&prompt.root; <userinput>cdrecord -scanbus</userinput>
Cdrecord 1.9 (i386-unknown-freebsd4.2) Copyright (C) 1995-2000 J&ouml;rg Schilling
Using libscg version 'schily-0.1'
scsibus0:
        0,0,0     0) 'SEAGATE ' 'ST39236LW       ' '0004' Disk
        0,1,0     1) 'SEAGATE ' 'ST39173W        ' '5958' Disk
        0,2,0     2) *
        0,3,0     3) 'iomega  ' 'jaz 1GB         ' 'J.86' Removable Disk
        0,4,0     4) 'NEC     ' 'CD-ROM DRIVE:466' '1.26' Removable CD-ROM
        0,5,0     5) *
        0,6,0     6) *
        0,7,0     7) *
scsibus1:
        1,0,0   100) *
        1,1,0   101) *
        1,2,0   102) *
        1,3,0   103) *
        1,4,0   104) *
        1,5,0   105) 'YAMAHA  ' 'CRW4260         ' '1.0q' Removable CD-ROM
        1,6,0   106) 'ARTEC   ' 'AM12S           ' '1.06' Scanner
        1,7,0   107) *</screen>

      <para>Здесь приведены соответствующие значения параметров
        <option>dev</option> для имеющихся устройств.  Найдите здесь ваше
        устройство для записи CD, а в качестве параметров для
        <option>dev</option> задавайте три числа через запятые.  В нашем случае
        CRW-устройству соответствуют числа 1,5,0, так что правильным параметром
        будет <option>dev=1,5,0</option>.  Имеется более
        простой способ задать эти значения; обратитесь к справочной информации
        о &man.cdrecord.1; для выяснения подробностей.  Там же находится
        информация о записи звуковых дорожек, управлении скоростью и другим
        вещам.</para>
    </sect2>

    <sect2 id="duplicating-audiocds">
      <title>Копирование аудио CD</title>

      <para>Вы можете копировать музыкальные CD, извлекая данные аудио с CD
        в набор файлов, а затем записывая эти файлы на чистый CD.  Процесс
        несколько различен в случаях использования устройств ATAPI и
        SCSI.</para>

      <procedure>
	<title>Устройства SCSI</title>

	<step>
	  <para>Используйте <command>cdda2wav</command> для извлечения
            данных аудио.</para>

	  <screen>&prompt.user; <userinput>cdda2wav -v255 -D2,0 -B -Owav</userinput></screen>
	</step>

	<step>
	  <para>Воспользуйтесь <command>cdrecord</command> для записи файлов
	    <filename>.wav</filename>.</para>

	  <screen>&prompt.user; <userinput>cdrecord -v dev=<replaceable>2,0</replaceable> -dao -useinfo  *.wav</userinput></screen>

	  <para>Значение, соответствующее <replaceable>2.0</replaceable>,
            должно быть установлено правильно, как это описано в <xref
            linkend="cdrecord">.</para>
	</step>
      </procedure>

      <procedure>
	<title>Устройства ATAPI</title>

	<step>
	  <para>Драйвер устройств ATAPI CD делает каждую дорожку доступной как
	    <filename>/dev/acd<replaceable>d</replaceable>t<replaceable>nn</replaceable></filename>,
	    где <replaceable>d</replaceable> является номером привода, а
	    <replaceable>nn</replaceable> соответствует номеру дорожки, который
            записывается двумя десятичными цифрами с нулём в начале, если это
            нужно.  Таким образом, первая дорожка на первом диске будет носить
            имя <filename>/dev/acd0t01</filename>, вторая будет именоваться
            <filename>/dev/acd0t02</filename>, третья будет носить имя
            <filename>/dev/acd0t03</filename> и так далее.</para>

	  <para>Удостоверьтесь, что соответствующий файл имеется в каталоге
	    <filename>/dev</filename>.</para>
	  
	  <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV acd0t99</userinput></screen>

          <note>
            <para>Во FreeBSD 5.0 &man.devfs.5; будет автоматически создавать
              объекты в каталоге <filename>/dev</filename> и управлять ими, так
              что использовать <command>MAKEDEV</command> не
              обязательно.</para>
          </note>
	</step>

	<step>
	  <para>Извлеките каждую дорожку при помощи команды &man.dd.1;.  При
	    извлечении файлов вы должны также использовать специфическое
            значение для размера блока.</para>

	  <screen>&prompt.root; <userinput>dd if=/dev/acd0t01 of=track1.cdr bs=2352</userinput>
&prompt.root; <userinput>dd if=/dev/acd0t02 of=track2.cdr bs=2352</userinput>
...
</screen>
	</step>

	<step>
	  <para>Запишите извлечённые файлы на диск при помощи утилиты
	    <command>burncd</command>.  Вы должны указать, что это файлы с
            аудио, и что <command>burncd</command> должна зафиксировать диск
            по окончании работы.</para>

	  <screen>&prompt.root; <userinput>burncd -f <replaceable>/dev/acd0c</replaceable> audio track1.cdr track2.cdr <replaceable>...</replaceable> fixate</userinput></screen>
	</step>
      </procedure>
    </sect2>

    <sect2 id="imaging-cd">
      <title>Копирование компакт-дисков с данными</title>

      <para>Вы можете скопировать CD с данными в файл образа, который
        функционально эквивалентен файлу образа, созданному командой
	<filename role="package">sysutils/mkisofs</filename>, и вы можете
        использовать его для копирования любого CD с данными.  В приводимом
        здесь примере предполагается, что ваш привод CDROM называется
    	<devicename>acd0</devicename>.  Подставьте название вашего привода
        CDROM.  Символ <literal>c</literal> должен быть добавлен в конце
        имени устройства для указания на то, что берётся весь раздел, а в
        случае CDROM, весь диск.</para>

      <screen>&prompt.root; <userinput>dd if=/dev/acd0c of=file.iso bs=2048</userinput></screen>

      <para>Теперь, когда вы имеете образ, вы можете записать его на CD так,
        как это описано выше.</para>
    </sect2>

    <sect2 id="mounting-cd">
      <title>Использование компакт-диски с данными</title>

      <para>Теперь, после того, как вы создали стандартный CDROM с данными, вы,
        наверное, захотите смонтировать его и считать с него данные.  По
        умолчанию &man.mount.8; предполагает, что файловая система имеет тип
	<literal>ufs</literal>.  Если вы попытаетесь выполнить что-то
        вроде:</para>

      <screen>&prompt.root; <userinput>mount /dev/cd0c /mnt</userinput></screen>

      <para>вы получите сообщение <errorname>Incorrect super block</errorname>,
        и диск не смонтируется.  CDROM не является файловой системой
        <literal>UFS</literal>, поэтому попытки смонтировать его таким образом
        будут терпеть неудачу.  Вам просто нужно указать команде &man.mount.8;,
        что файловая система имеет тип <literal>ISO9660</literal>, и всё должно
        заработать.  Сделайте это, задав параметр <option>-t cd9660</option>
        при вызове &man.mount.8;.  К примеру, если вы хотите смонтировать
        устройство CDROM, <devicename>/dev/cd0c</devicename>, в каталог
        <filename>/mnt</filename>, вы должны выполнить:</para>

      <screen>&prompt.root; <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput></screen>
          
      <para>Заметьте, что имя вашего устройства
   	(<devicename>/dev/cd0c</devicename> в этом примере) может быть другим,
        в зависимости от интерфейса, используемого в CDROM.  Кроме того,
        параметр <option>-t cd9660</option> всего лишь задаёт выполнение
        утилиты &man.mount.cd9660.8;.  Пример выше может быть упрощён
        до:</para>

      <screen>&prompt.root; <userinput>mount_cd9660 /dev/cd0c /mnt</userinput></screen>

      <para>Таким способом, вообще говоря, вы можете использовать компакт-диски
        любого производителя.  Диски с некоторыми расширениями ISO 9660 могут,
        однако, работать со странностями.  К примеру диски Joliet хранят все
        имена файлов в виде последовательностей двухбайтовых символов Unicode.
        Ядро FreeBSD (пока ещё) не может работать с Unicode, поэтому не
        английские символы выводятся в виде знаков вопроса.  (Если в работаете
        с FreeBSD 4.3 или более поздней версией, то в драйвере CD9660 имеется
        механизм для динамической загрузки соответствующей таблицы
        преобразования Unicode.  Модули для некоторых распространённых
        кодировок могут быть получены из порта
        <filename role="package">sysutils/cd9660_unicode</filename>.)</para>

      <para>Время от времени вы можете получать сообщения <errorname>Device not
	configured</errorname> при попытке смонтировать CDROM.  Это обычно
        означает, что привод CDROM полагает, что в нём нет диска, или что
        привод не виден на шине.  Приводу CDROM может понадобиться несколько
        секунд, чтобы понять, что он был закрыт, так что будьте
        терпеливы.</para>

      <para>Иногда SCSI CDROM может потеряться из-за того, что у него не было
        достаточно времени, чтобы ответить на сброс шины.  Если у вас имеется
        SCSI CDROM, то, пожалуйста, добавьте следующий параметр в конфигурацию
        вашего ядра и <link linkend="kernelconfig-building">перестройте
        его</link>.</para>

      <programlisting>options SCSI_DELAY=15000</programlisting>

      <para>Это укажет вашей шине SCSI выдерживать 15-секундную паузу во время
        загрузки, чтобы дать вашему приводу CDROM шанс ответить на сброс
        шины.</para>
    </sect2>

    <sect2 id="rawdata-cd">
      <title>Запись необработанных данных на компакт-диски</title>

      <para>Вы можете предпочесть запись файла непосредственно на CD без
        создания файловой системы ISO 9660.  Некоторые поступают так при
        создании резервных копий.  Это выполняется гораздо быстрее. чем запись
        стандартного компакт-диска:</para>

      <screen>&prompt.root; <userinput>burncd -f /dev/acd1c -s 12 data archive.tar.gz fixate</userinput></screen>

      <para>Для извлечения данных, записанных так на компакт-диск, вы должны
        считывать данные из файла непосредственного доступа к
        устройству:</para>

      <screen>&prompt.root; <userinput>tar xzvf /dev/acd1c</userinput></screen>

      <para>Вы не можете монтировать этот диск как обычный CDROM.  Такой
        компакт-диск не может быть прочитан ни в какой другой операционной
        системе, кроме FreeBSD.  Если вы хотите монтировать CD или
        обменяться данными с другой операционной системой, то вы должны
        использовать <filename role="package">sysutils/mkisofs</filename> так,
        как это было описано выше.</para>
    </sect2>

    <sect2 id="atapicam">
      <indexterm>
	 <primary>устройство записи CD</primary>

	 <secondary>драйвер ATAPI/CAM</secondary>
      </indexterm>

      <title>Использование драйвера ATAPI/CAM</title>

      <para>Этот драйвер позволяет работать с ATAPI-устройствами (приводы
        CD-ROM, CD-RW, DVD и так далее) через подсистему SCSI, таким образом
        расширяя использование таких приложений, как <filename
	 role="package">sysutils/cdrdao</filename> или &man.cdrecord.1;.</para>

      <para>Для использования этого драйвера вам необходимо добавить в файл
        конфигурации ядра следующие строки:</para>

      <programlisting>device atapicam
device scbus
device cd
device pass</programlisting>

      <para>Кроме того, в файле конфигурации ядра должны быть следующие
        строки:</para>

      <programlisting>device ata
device atapicd</programlisting>

      <para>Обе строки уже должны там присутствовать.</para>

      <para>После этого перестройте и установите ваше новое ядро, выполните
        перезагрузку машины.  В процессе загрузки ваш пишущий привод должен
        появиться примерно следующим образом:</para>

      <screen>acd0: CD-RW &lt;MATSHITA CD-RW/DVD-ROM UJDA740&gt; at ata1-master PIO4
cd0 at ata1 bus 0 target 0 lun 0
cd0: &lt;MATSHITA CDRW/DVD UJDA740 1.00&gt; Removable CD-ROM SCSI-0 device
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed</screen>

      <para>Теперь с ним можно работать через устройство
        <filename>/dev/cd0</filename>, например, чтобы смонтировать
        CD-ROM в каталог <filename>/mnt</filename>, просто наберите следующую
        команду:</para>

      <screen>&prompt.root; <userinput>mount -t cd9660 <replaceable>/dev/cd0c</replaceable> /mnt</userinput></screen>

      <para>Для получения SCSI-адреса пишущего привода, вы можете, работая как
        пользователь <username>root</username>, запустить такую
        команду:</para>

      <screen>&prompt.root; <userinput>camcontrol devlist</userinput>
&lt;MATSHITA CDRW/DVD UJDA740 1.00&gt;   at scbus1 target 0 lun 0 (pass0,cd0)</screen>

      <para>Таким образом, <literal>1,0,0</literal> будет SCSI-адресом для
        использования с &man.cdrecord.1; и другими приложениями для работы со
        SCSI.</para>

      <para>Для получения дополнительной информации об ATAPI/CAM и системе
        SCSI, обратитесь к страницам справочной системы по &man.atapicam.4; и
        &man.cam.4;.</para>
    </sect2>
  </sect1>

  <sect1 id="floppies">
    <sect1info>
      <authorgroup>
        <author>
	  <firstname>Julio</firstname>
	  <surname>Merino</surname>
	  <contrib>Первоначальный текст предоставил </contrib>
	</author>
      </authorgroup>
      <!-- 24 декабря 2001 -->

      <authorgroup>
        <author>
          <firstname>Martin</firstname>
          <surname>Karlsson</surname>
          <contrib>Переписал </contrib>
        </author>
      </authorgroup>
      <!-- 27 апреля 2003 -->
    </sect1info>

    <title>Дискеты</title>

    <para>Хранение данных на дискетах иногда бывает полезным, например,
      когда нет других съёмных носителей или когда необходимо перенести
      небольшой объём данных на другой компьютер.</para>

    <para>В этом разделе будет описано, как использовать дискеты во FreeBSD.
      В основном речь пойдёт о форматировании и использовании
      дискет DOS размером 3.5 дюйма, однако общие принципы применимы и для
      других форматов гибких дисков.</para>

    <sect2>
      <title>Форматирование дискет</title>

      <sect3>
        <title>Устройство</title>

        <para>Доступ к гибким дискам, как, впрочем, и к остальным устройствам,
          осуществляется через соответствующие файлы в
          каталога <filename>/dev</filename>.  Чтобы обратиться к дискете при
          использовании релизов 4.X и ранее, необходимо работать с
          <filename>/dev/fd<replaceable>N</replaceable></filename>,
          где <replaceable>N</replaceable> обозначает номер привода, обычно 0,
          или <filename>/dev/fd<replaceable>NX</replaceable></filename>, где
          <replaceable>X</replaceable> обозначает букву.</para>

        <para>В 5.0 и более новых релизах просто используйте
          <filename>/dev/fd<replaceable>N</replaceable></filename>.</para>

        <sect4>
          <title>Размер диска в 4.X и более ранних релизах</title>

          <para>Имеются также устройства <filename>/dev/fd<replaceable>N</replaceable>.<replaceable>size</replaceable></filename>,
            где <replaceable>size</replaceable> обозначает размер дискеты в
            килобайтах.  Эти файлы устройств используются во время
            низкоуровневого форматирования для задания размера устройства.
            В последующих примерах будет использоваться размер в 1440kB.</para>

          <para>Иногда записи в каталоге <filename>/dev</filename> необходимо
            создавать повторно.  Для этого выполните следующее:</para>

          <screen>&prompt.root; <userinput>cd /dev && ./MAKEDEV "fd*"</userinput></screen>
        </sect4>

        <sect4>
          <title>Размер диска в 5.0 и последующих релизах</title>

          <para>В 5.0 &man.devfs.5; управляет файлами устройств в каталоге
            <filename>/dev</filename> в автоматическом режиме, так что
            использование <command>MAKEDEV</command> необязательно.</para>

          <para>Требуемый размер диска передаётся утилите &man.fdformat.1; при
            помощи параметра <option>-f</option>.  Поддерживаемые
            размеры перечислены в &man.fdcontrol.8;, но, по нашему мнению,
            лучше всего работает 1440kB.</para>
        </sect4>
      </sect3>

      <sect3>
        <title>Форматирование</title>

        <para>Перед тем, как дискетой можно будет воспользоваться, её
          необходимо отформатировать на низком уровне.  Обычно это выполняется
          производителем, однако форматирование является хорошим способом
          проверить целостность носителя.  Большинство гибких дисков
          предназначены для использования с размером 1440kB, однако возможно
          задать меньший или больший размер.</para>

        <para>Для низкоуровневого форматирования дискет вам нужно использовать
          &man.fdformat.1;.  В качестве параметра этой утилите передаётся
          имя устройства.</para>

        <para>Обратите внимание на появление сообщений об ошибках, так как
          они могут помочь определить, хорошая это дискета или плохая.</para>

        <sect4>
          <title>Форматирование в 4.X и более ранних релизах</title>

          <para>Для форматирования дискет используйте устройства
            <filename>/dev/fd<replaceable>N</replaceable>.<replaceable>size</replaceable></filename>.
            Вставьте новую 3.5-дюймовую дискету в дисковод и введите
            команду:</para>

          <screen>&prompt.root; <userinput>/usr/sbin/fdformat /dev/fd0.1440</userinput></screen>
        </sect4>

        <sect4>
          <title>Форматирование в 5.0 и более новых релизах</title>

          <para>Для форматирования гибких дисков используйте устройства
            <filename>/dev/fd<replaceable>N</replaceable></filename>.  Вставьте
            новую 3.5-дюймовую дискету в дисковод и введите команду:</para>

          <screen>&prompt.root; <userinput>/usr/sbin/fdformat -f 1440 /dev/fd0</userinput></screen>
        </sect4>
      </sect3>
    </sect2>

    <sect2>
      <title>Метка диска</title>

      <para>После низкоуровневого форматирования диска вам нужно поместить на
        него метку диска.  Эта метка будет потом разрушена, но она будет нужна
        системе для определения размера диска и его характеристик.</para>

      <para>Новая метка диска будет касаться диска в целом, и будет содержать
        полную информацию о параметрах дискеты.
        Значения геометрии для метки диска перечислены в файле
        <filename>/etc/disktab</filename>.

      <para>Теперь вы можете запустить &man.disklabel.8; примерно так:</para>

      <screen>&prompt.root; <userinput>/sbin/disklabel -B -r -w /dev/fd0 fd1440</userinput></screen>

      <note>
        <para>Начиная с &os;&nbsp;5.1-RELEASE, на смену старой программе
          &man.disklabel.8; пришла утилита &man.bsdlabel.8;.  У
          &man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
          параметры; в примере выше параметр <option>-r</option> не может
          использоваться с &man.bsdlabel.8;.  Для получения дополнительной
          информации обратитесь к справочной странице п
          о &man.bsdlabel.8;.</para>
      </note>
    </sect2>

    <sect2>
      <title>Файловая система</title>

      <para>Теперь ваша дискета готова к высокоуровневому форматированию.
        При этом на неё будет помещаться новая файловая система, которая
        позволит FreeBSD читать и записывать информацию на диск.  После
        создания новой файловой системы метка диска уничтожается, так что если
        вы захотите переформатировать диск, вам придётся создавать метку диска
        повторно.</para>

      <para>Файловой системой для дискеты может служить UFS или FAT.
        Вообще говоря, FAT для дискет походит лучше.</para>

      <para>Для размещения на дискете новой файловой системы,
        выполните:</para>

      <screen>&prompt.root; <userinput>/sbin/newfs_msdos /dev/fd0</userinput></screen>

      <para>Теперь диск готов к работе.</para>
    </sect2>

    <sect2>
      <title>Использование дискет</title>

      <para>Для работы с гибким диском смонтируйте его при помощи утилит
        &man.mount.msdos.8; (для 4.X и более ранних релизов) или
        &man.mount.msdosfs.8; (в 5.0 и последующих релизах).  Можно также
        использовать пакет <filename role="package">emulators/mtools</filename>
        из коллекции портов.</para>
    </sect2>
  </sect1>

  <sect1 id="backups-tapebackups">
    <title>Создание и использование архивных копий на магнитной ленте</title>

    <indexterm><primary>носители на магнитной ленте</primary></indexterm>
    <para>К наиболее часто используемым носителям на магнитной ленте следует
      отнести ленты шириной 4мм и 8мм, а также типа QIC, мини-картриджи и
      DLT.</para>

    <sect2 id="backups-tapebackups-4mm">
      <title>4мм (DDS: Digital Data Storage)</title>

      <indexterm>
        <primary>носители на магнитной ленте</primary>
        <secondary>магнитные ленты DDS (4мм)</secondary>
      </indexterm>

      <indexterm>
        <primary>носители на магнитной ленте</primary>
        <secondary>магнитные ленты QIC</secondary>
      </indexterm>

      <para>Ленты шириной 4мм заменяют QIC в качестве наиболее
        предпочтительного носителя для создания резервных копий.  Эта тенденция
        значительно усилилась после покупки компанией Conner фирмы Archive,
        ведущего производителя накопителей QIC и последующего прекращения
        их выпуска.  Накопители 4мм малы по размеру и мало шумят, но у них нет
        репутации носителя, обладающего надежностью приводов 8мм.  Картриджи
        более дешевы и меньше по размеру (3 x 2 x 0.5 дюймов, 76 x 51 x 12 мм),
        чем 8мм-картриджи.  Накопители для лент шириной 4мм, как и 8мм, имеют
        сравнительно малый срок службы головок, по причине использования в
        обоих случаях технологии спирального сканирования (helical
        scan).</para>

      <para>Пропускная способность у таких накопителей начинается с цифры
        ~150&nbsp;kB/s, пиковая достигает ~500&nbsp;kB/s.  Ёмкость накопителей
        начинается с 1.3&nbsp;GB и может достигать 2.0&nbsp;GB.  Аппаратное
        сжатие, имеющееся на
        большинстве таких накопителей, даёт увеличение ёмкости примерно вдвое.
        Блоки многоприводных ленточных библиотек могут иметь до 6 накопителей
        в одном модуле с автоматической сменой ленты.  Емкость библиотек может
        достигать 240&nbsp;GB.</para>

      <para>Стандарт DDS-3 в настоящее время поддерживает ёмкости лент вплоть
        до 12&nbsp;ГБ (или 24&nbsp;ГБ сжатой информации).</para>

      <para>В накопителях 4мм, как и в приводах 8мм, используется технология
        спирального сканирования.  Все плюсы и минусы этой технологии относятся
        как к 4мм, так и 8мм приводам.</para>

      <para>Не следует использовать ленты после того, как они были подвергнуты
        2000 проходов, или были использованы для создания 100 полных
        копий.</para>
    </sect2>

    <sect2 id="backups-tapebackups-8mm">
      <title>8мм (Exabyte)</title>

      <indexterm>
        <primary>носители на магнитной ленте</primary>

        <secondary>магнитные ленты Exabyte (8мм)</secondary>
      </indexterm>

      <para>Ленты шириной 8мм являются самым распространённым типом для
        ленточных SCSI-накопителей; они же являются наиболее удачным выбором при
        выборе типа носителей для обмена лентами.  Наверное, каждый сервер
        имеет привод Exabyte шириной 8мм и объёмом 2&nbsp;ГБ.  Эти приводы
        удобны, они работают надёжно и тихо.  Картриджи дешевы и малы по
        размеру (4.8 x 3.3 x 0.6 дюймов; 122 x 84 x 15 мм).  Одним минусом
        лент шириной
        8мм является сравнительно малое время службы головок и лент из-за
        высокой скорости движения ленты вдоль головок.</para>

      <para>Скорость передачи данных варьируется от ~250&nbsp;kB/s
        до ~500&nbsp;kB/s.  Объём хранимых данных начинается с 300&nbsp;МБ и
        может достигать 7&nbsp;ГБ.
        Аппаратное сжатие, имеющееся практически на всех таких приводах,
        увеличивает емкость примерно вдвое.  Эти приводы существуют как в виде
        отдельных модулей, так и в виде многоприводных ленточных библиотек с
        6 приводами и 120 лентами в одном отсеке.  Ленты сменяются
        автоматически модулем.  Емкости библиотек достигают величин,
        превышающих 840&nbsp;ГБ.</para>

      <para>Модель Exabyte <quote>Mammoth</quote> поддерживает ёмкость ленты в
        12&nbsp;ГБ (24&nbsp;ГБ со сжатием) и стоит примерно вдвое больше, чем
        обычный ленточный накопитель.</para>

      <para>Данные на ленту записываются по технологии спирального
        сканирования, головки позиционируются под углом к носителю (примерно в
        6 градусов).  Лента оборачивается на 270 градусов вокруг шпульки,
        которая держит головки.  Во время скольжения ленты вокруг шпульки
        последняя вращается.  В результате достигается высокая плотность записи
        данных с очень близко лежащими дорожками, расположенными под наклоном
        по всей ленте.</para>
    </sect2>

    <sect2 id="backups-tapebackups-qic">
      <title>QIC</title>

      <indexterm>
        <primary>носители на магнитной ленте</primary>

        <secondary>QIC-150</secondary>
      </indexterm>

      <para>Ленты и накопители формата QIC-150, наверное, являются наиболее
        распространенным типом носителей.  Приводы лент формата QIC являются
        самыми дешёвыми <quote>серьёзными</quote> накопителями для резервного
        копирования.
        Минусом является стоимость носителей.  Ленты формата QIC по сравнению
        с лентами шириной 8мм или 4мм являются дорогими, превосходя их по
        стоимости хранения одного гигабайта в пять раз.  Однако если вам
        будут достаточно половины ленты, QIC может оказаться правильным
        выбором.  QIC является <emphasis>самым</emphasis> распространенным
        типом привода.  Каждый сайт имеет привод QIC какой-либо емкости.  QIC
        имеет большое количество плотностей на физически похожих (иногда
        даже идентичных) лентах.  Приводы QIC работают вовсе не тихо.  Эти
        накопители громко осуществляют поиск перед тем, как начать запись
        данных и достаточно шумны в процессе чтения, записи или поиска.  Ленты
        QIC имеют размеры (6 x 4 x 0.7 дюймов; 15.2 x 10.2 x 1.7 мм).  <link
        linkend="backups-tapebackups-mini">Мини-картриджи</link>, в которых
        также используется лента шириной 1/4", обсуждаются отдельно.
        Библиотек лент и роботов для их замены не существует.</para>

      <para>Скорость обмена данными лежит в границах от ~150&nbsp;kB/s
        до ~500&nbsp;kB/s.  Ёмкость накопителей варьируется от 40&nbsp;МБ
        до 15&nbsp;ГБ.  Аппаратное сжатие
        присутствует во многих современных накопителях QIC.  Приводы QIC
        устанавливаются менее часто; они вытесняются накопителями DAT.</para>

      <para>На ленту данные записываются в виде дорожек.  Дорожки располагаются
        в длину вдоль всей ленты.  Количество дорожек, и, в свою очередь, их
        ширина, меняется вместе с емкостью ленты.  Большинство, если не все
        современные накопители обеспечивают обратную совместимость по крайней
        мере для чтения (однако зачастую и для режима записи).  Формат QIC
        имеет хорошую репутацию в области надежности хранения данных (механика
        устроена проще и более надежна, чем в случае накопителей, построенных
        по технологии спирального сканирования).</para>

      <para>Ленты не следует больше использовать после создания 5,000 резервных
        копий.</para>
    </sect2>

    <sect2 id="backups-tapebackups-mini">
      <title>XXX* Мини-картриджи</title>

      <para></para>
    </sect2>

    <sect2 id="backups-tapebackups-dlt">
      <title>DLT</title>

      <indexterm>
        <primary>носители на магнитной ленте</primary>
        <secondary>DLT</secondary>
      </indexterm>

      <para>Формат DLT обладает самой высокой скоростью передачи данных среди
        всех перечисленных здесь накопителей.  Лента шириной 1/2" (12.5мм)
        помещена в один картридж с катушкой (4 x 4 x 1 дюймов; 100 x 100 x
        25 мм).  Вдоль одной из сторон картриджа расположена сдвигающаяся
        крышечка.  Механизм накопителя открывает эту крышку, чтобы вытащить
        конец ленты.  На этом конце имеется овальное отверстие, которое
        используется для <quote>захвата</quote> ленты.  Принимающая катушка
        размещена внутри
        накопителя.  Все другие типы картриджей, перечисленные здесь (за
        исключением 9-дорожечных лент), имеют как подающий, так и принимающий
        барабаны внутри самого картриджа.</para>

      <para>Скорость передачи данных равна примерно 1.5&nbsp;MB/s, что в три
        раза больше скорости передачи данных для накопителей 4мм, 8мм или QIC.
        Ёмкость картриджей варьируется от 10&nbsp;ГБ до 20&nbsp;ГБ для одного
        накопителя.  Приводы могут компоноваться как многоленточные
        роботизированные, так и многоленточные, многоприводные библиотеки
        лент, вмещающие от 5 до 900 лент и от 1 до 20 приводов, что даёт
        ёмкость хранилища от 50&nbsp;ГБ до 9&nbsp;ТБ.</para>

      <para>Формат DLT Type IV поддерживает емкость до 70&nbsp;ГБ со
        сжатием.</para>

      <para>Данные на ленту записываются в виде дорожек, параллельных
        направлению движения (точно также, как и для лент QIC).  Одновременно
        записываются две дорожки.  Срок жизни головок чтения/записи
        сравнительно велик; как только лента перестает двигаться, одновременно
        прекращается трение между головками и лентой.</para>
    </sect2>

    <sect2>
      <title id="backups-tapebackups-ait">AIT</title>

      <indexterm>
        <primary>носители на магнитной ленте</primary>

        <secondary>AIT</secondary>
      </indexterm>

      <para>AIT - это новый формат фирмы Sony, который позволяет хранить до
        50&nbsp;ГБ (со сжатием) информации на одной ленте.  Ленты содержат
        микросхемы памяти, на которых размещается каталог содержимого ленты.
        Этот каталог может быть быстро считан накопителем для определения
        расположения файлов на ленте, вместо того, чтобы тратить несколько
        минут на поиск, как это происходит с другими форматами.  Такое
        программное обеспечение, как
        <application>SAMS:Alexandria</application>, может управлять сорока или
        большим количеством
        ленточных библиотек AIT, связываясь непосредственно с памятью лент для
        вывода их содержимого, определения того, какие файлы были скопированы
        на какую ленту, выбора нужной ленты, её загрузки и восстановления
        данных с ленты.</para>

      <para>Библиотеки с такими функциями стоят в районе $20,000, выводя их из
        ниши любительского рынка.</para>
    </sect2>

    <sect2>
      <title>Использование новой ленты первый раз</title>

      <para>Если вы попытаетесь прочитать или записать новую, абсолютно чистую
        ленту, в первый раз, то вам это не удастся.  Выводимые на консоль
        сообщения будут выглядеть примерно так:</para>

      <screen>sa0(ncr1:4:0): NOT READY asc:4,1
sa0(ncr1:4:0):	Logical unit is in process of becoming ready</screen>

      <para>На ленте отсутствует идентификационный блок (блок номер 0).  Со
        времен принятия стандарта QIC-525 все накопители формата QIC записывают
        на ленту идентификационный блок (Identifier Block).  Здесь имеется два
        решения:</para>

      <itemizedlist>
        <listitem>
          <para>По команде <command>mt fsf 1</command> ленточный накопитель
            записывает идентификационный блок на ленту.</para>
        </listitem>

        <listitem>
          <para>Воспользуйтесь кнопкой на передней панели для выброса
            ленты.</para>

          <para>Вставьте ленту повторно и по команде <command>dump</command>
            сбросьте данные на ленту.</para>

          <para>Программа <command>dump</command> выдаст <errorname>DUMP: End
            of tape detected</errorname>, а на консоли будет выведено:
            <errorname>HARDWARE FAILURE info:280 asc:80,96</errorname>.</para>

          <para>перемотайте ленту такой командой:
            <command>mt rewind</command>.</para>

          <para>Последующие операции с лентой будут успешными.</para>
        </listitem>
      </itemizedlist>
    </sect2>
  </sect1>

  <sect1 id="backups-floppybackups">
    <title>Создание резервных копий на дискетах</title>

    <sect2 id="floppies-using">
      <title>Можно ли использовать дискеты для создания резервных копий моих
        данных?</title>

      <indexterm><primary>дискеты с резервными копиями</primary></indexterm>

      <indexterm><primary>дискеты</primary></indexterm>

      <para>На самом деле дискеты не подходят для создания резервных копий,
        потому что:</para>

      <itemizedlist>
        <listitem>
	  <para>Носитель ненадёжен, особенно если речь идет о больших сроках
	    хранения.</para>
        </listitem>

        <listitem>
	  <para>Создание резервных копий и восстановление данных происходит
	    очень медленно.</para>
        </listitem>

        <listitem>
	  <para>Дискеты имеют весьма ограниченную емкость (дни, когда весь
	    винчестер копировался на десяток или около того дискет, давно
	    прошли).</para>
        </listitem>
      </itemizedlist>

      <para>Несмотря на все это, если у вас нет другого способа сделать
        резервную копию ваших данных, то дискеты все же лучше, чем
        ничего.</para>

      <para>Если вы используете дискеты, то проверьте, что они должны быть
        хорошего качества.  Дискеты, которые валялись по всему офису в течении
        нескольких лет, не подойдут.  Идеально использовать новые от известного
        производителя.</para>
    </sect2>

    <sect2 id="floppies-creating">
      <title>Итак, как же сделать резервную копию данных на дискетах?</title>

      <para>Самым лучшим методом создания резервной копии на дискете является
        использование утилиты &man.tar.1; с опцией
        <option>-M</option> (многотомные архивы), которая позволяет размещать
        архивы на нескольких дискетах.</para>

      <para>Для копирования всех файлов в текущем каталоге и подкаталогах
        выполните следующее (работая как пользователь
        <username>root</username>):</para>

      <screen>&prompt.root; <userinput>tar Mcvf /dev/fd0 *</userinput></screen>

      <para>Когда первая дискета окажется полностью заполненной, программа
        &man.tar.1; выдаст запрос на следующий том (так как работа
        утилиты &man.tar.1; не зависит от носителя, она имеет дело с
        томами; здесь это означает дискету).</para>

      <screen>Prepare volume #2 for /dev/fd0 and hit return:</screen>

      <para>Это сообщение будет повторяться (со все увеличивающимся номером
        тома) до тех пор, пока все указанные файлы не будут
        заархивированы.</para>
    </sect2>

    <sect2 id="floppies-compress">
      <title>Можно ли резервные копии подвергнуть компрессии?</title>
      <indexterm><primary><command>tar</command></primary></indexterm>
      <indexterm><primary><command>gzip</command></primary></indexterm>
      <indexterm><primary>сжатие</primary></indexterm>

      <para>К сожалению, &man.tar.1; при создании многотомных архивов
        не позволяет использовать опцию <option>-z</option>.  Вы конечно же,
        можете скомпрессировать все файлы утилитой &man.gzip.1;,
        программой &man.gzip.1; скопировать их на дискеты, а затем
        распаковать файлы снова утилитой &man.gunzip.1;!</para>
    </sect2>

    <sect2 id="floppies-restoring">
      <title>Как восстановить данные из моих резервных копий?</title>

      <para>Для полного восстановления архива воспользуйтесь такой
        командой:</para>

      <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0</userinput></screen>

      <para>Есть два подхода к восстановлению только нужных вам файлов.  В
        первом вы можете начать с первой дискеты и выдать такую команду:</para>

      <screen>&prompt.root; <userinput>tar Mxvf /dev/fd0 <replaceable>filename</replaceable></userinput></screen>

      <para>Программа &man.tar.1; будет выдавать запрос на подачу
        последующих дискет до тех пор, пока не найдет требуемый файл.</para>

      <para>Как альтернатива, если вы знаете, на какой дискете расположен файл,
        то вы можете просто подать ее и дать ту же самую команду, что и выше.
        Заметьте, что если первый файл на дискете является продолжением
        предыдущего, то &man.tar.1; выдаст предупреждение о том, что
        не может его восстановить, хотя вы этого и не просили делать!</para>
  </sect2>
</sect1>

  <sect1 id="backup-basics">
    <title>Основы технологии резервного копирования</title>

    <para>Тремя основными программами резервного копирования являются
      &man.dump.8;, &man.tar.1; и &man.cpio.1;.</para>

    <sect2>
      <title>Dump и Restore</title>

      <indexterm>
        <primary>программы резервного копирования</primary>
        <secondary>резервное копирование / восстановление</secondary>
      </indexterm>
      <indexterm><primary><command>dump</command></primary></indexterm>
      <indexterm><primary><command>restore</command></primary></indexterm>

      <para>Для &unix; традиционными программами резервного копирования
        являются <command>dump</command> и <command>restore</command>.  Они
        работают с приводом как с набором дисковых блоков, которые расположены
        ниже понятий файлов, связей и каталогов, создаваемых файловыми
        системами.  Программа <command>dump</command> выполняет резервное
        копирование всей файловой системы, располагающейся на устройстве.
        Невозможно выполнить резервное копирование части файловой системы или
        дерева каталогов, которые располагаются более чем в одной файловой
        системе.  Утилита <command>dump</command> не записывает на ленту файлы
        и каталоги, она записывает блоки данных, из которых строятся файлы и
        каталоги.</para>

      <note>
        <para>Если вы используете программу <command>dump</command> для работы
          с корневым каталогом, при этом не будет выполняться резервное
          копирование
          <filename>/home</filename>, <filename>/usr</filename> и многих других
          каталогов, так как они обычно являются точками монтирования других
          файловых систем или символическими ссылками на эти файловые
          системы.</para>
      </note>

      <para>В программе <command>dump</command> имеются некоторые неудобства,
        оставшиеся
        от её ранних дней в составе Version 6 операционной системы AT&amp;T
        UNIX (примерно 1975).  Параметры, используемые по умолчанию, подходят
        для 9-дорожечных лент (6250 bpi), но не для современных носителей с
        высокой плотностью записи информации (до 62,182 ftpi).  Для
        использования ёмкостей нынешних накопителей на магнитной ленте эти
        параметры могут быть заданы в командной строке.</para>

      <indexterm><primary><filename>.rhosts</filename></primary></indexterm>
      <para>При помощи <command>rdump</command> и <command>rrestore</command>
        возможно резервное
        копирование данных по сети на накопитель, подключенный к другому
        компьютеру.  Обе программы используют в работе &man.rcmd.3; и
        &man.ruserok.3; для доступа к накопителю на магнитной ленте на
        удалённом компьютере.  Поэтому пользователь, выполняющий резервное
        копирование, должен быть указан в файле <filename>.rhosts</filename> на
        удалённом компьютере.  Аргументы для <command>rdump</command> и
        <command>rrestore</command> должны подходить для использования на
        другом компьютере.  При выполнении копирования по команде
        <command>rdump</command> на компьютере с FreeBSD на накопитель Exabyte,
        подключенный к машине Sun по имени <hostid>komodo</hostid>, используйте
        такую команду:</para>

      <screen>&prompt.root; <userinput>/sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&amp;1</userinput></screen>

      <para>Будьте осторожны: есть проблемы с обеспечением безопасности при
        аутентификации посредством <filename>.rhosts</filename>.  Внимательно
        рассмотрите вашу ситуацию.</para>

      <para>Программы <command>dump</command> и <command>restore</command>
        можно использовать в более защищённом режиме посредством
        <command>ssh</command>.</para>

      <example>
        <title>Использование <command>dump</command> через
          <application>ssh</application></title>

        <screen>&prompt.root; <userinput>/sbin/dump -0uan -f - /usr | gzip -2 | ssh1 -c blowfish \
targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz</userinput></screen>
      </example>

      <para>Либо воспользуйтесь встроенной в <command>dump</command>
        возможностью, задав переменную окружения <envar>RSH</envar>:</para>

      <example>
        <title>Использование <command>dump</command> при работе через
          <application>ssh</application> с заданием <envar>RSH</envar></title>

        <screen>&prompt.root; <userinput>RSH=/usr/bin/ssh /sbin/dump -0uan -f targetuser@targetmachine.example.com:/dev/sa0</userinput></screen>
      </example>
    </sect2>

    <sect2>
      <title><command>tar</command></title>

      <indexterm>
        <primary>программы резервного копирования</primary>
        <secondary><command>tar</command></secondary>
      </indexterm>

      <para>Утилита &man.tar.1; также восходит корнями к Version 6 системы
        AT&amp;T UNIX (около 1975).  <command>tar</command> работает с
        файловой системой; <command>tar</command> записывает на ленту файлы и
        каталоги.  <command>tar</command>
        поддерживает не полный набор опций, имеющихся в &man.cpio.1;, однако
        он не требует необычного перенаправления в командной строке, которое
        используется в утилите <command>cpio</command>.</para>

      <indexterm><primary><command>tar</command></primary></indexterm>
      <para>В большинстве версий <command>tar</command> создание резервных
        копий по сети
        не поддерживается.  Версия GNU утилиты <command>tar</command>, которая
        используется во FreeBSD, поддерживает удалённые устройства в том же
        самом синтаксисе, что и <command>rdump</command>.  Чтобы скопировать
        данные на накопитель Exabyte, подключенный к машине Sun по имени
        <hostid>komodo</hostid>, используйте такую команду:</para>

      <screen>&prompt.root; <userinput>/usr/bin/tar cf komodo:/dev/nsa8 . 2>&amp;1</userinput></screen>

      <para>В случае использования версий без поддержки удалённых устройств, вы
        можете воспользоваться перенаправлением вывода и командой
        <command>rsh</command> для посылки данных на удалённый ленточный
        накопитель.</para>

      <screen>&prompt.root; <userinput>tar cf - . | rsh <replaceable>hostname</replaceable> dd of=<replaceable>tape-device</replaceable> obs=20b</userinput></screen>

      <para>Если вы беспокоитесь о безопасности создания резервных копий по
        сети, то вместо <command>rsh</command> вам нужно использовать
        <command>ssh</command>.</para>
    </sect2>

    <sect2>
      <title><command>cpio</command></title>

      <indexterm>
        <primary>программы резервного копирования</primary>

        <secondary><command>cpio</command></secondary>
      </indexterm>

      <para>&man.cpio.1; является оригинальной программой &unix; для обмена
        файлами на магнитных носителях.  В утилите <command>cpio</command>
        имеются опции (кроме всего прочего), позволяющие выполнять изменение
        порядка следования байтов, поддерживающие различные форматы архивов и
        выполняющие перенаправление данных другим программам.  Последняя
        возможность делает <command>cpio</command> прекрасным выбором для
        целей установки.  <command>cpio</command> не знает о том, как
        работать с каталогами, список файлов должен даваться через
        <filename>stdin</filename>.</para>

      <indexterm><primary><command>cpio</command></primary></indexterm>

      <para><command>cpio</command> не поддерживает создание резервных
        копий по сети.  Вы можете воспользоваться перенаправлением вывода и
        программой <command>rsh</command> для посылки данных на удалённый
        накопитель.</para>

      <screen>&prompt.root; <userinput>for f in <replaceable>directory_list; do</replaceable></userinput>
<userinput>find $f >> backup.list</userinput>
<userinput>done</userinput>
&prompt.root; <userinput>cpio -v -o --format=newc < backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat > <replaceable>backup_device</replaceable>"</userinput></screen>

      <para>Где directory_list это список директорий, c которых Вы хотите
        создать резервные копии,
        <replaceable>user</replaceable>@<replaceable>host</replaceable> это
        комбинация пользователь/хост которая описывает того кто
        занимается резервированием, и <replaceable>backup_device</replaceable>
        это устройство куда копии должны быть записаны (например,
        <devicename>/dev/nsa0</devicename>).</para>
    </sect2>

    <sect2>
      <title><command>pax</command></title>

      <indexterm>
        <primary>программы резервного копирования</primary>
        <secondary><command>pax</command></secondary>
      </indexterm>
      <indexterm><primary><command>pax</command></primary></indexterm>
      <indexterm><primary>POSIX</primary></indexterm>
      <indexterm><primary>IEEE</primary></indexterm>

      <para>&man.pax.1; является ответом IEEE/&posix; на утилиты
        <command>tar</command> и <command>cpio</command>.  В течение многих лет
        различные версии программ <command>tar</command> и
        <command>cpio</command> получались не совсем совместимыми.  Так что
        вместо того, чтобы попытаться полностью их стандартизировать, &posix;
        создал новую утилиту для работы с архивами.  <command>pax</command>
        пытается читать и писать различные форматы <command>cpio</command>
        и <command>tar</command>, и, кроме
        того, свои собственные новые форматы.  Набор команд этой утилиты больше
        напоминает <command>cpio</command>, чем <command>tar</command>.</para>
    </sect2>

    <sect2 id="backups-programs-amanda">
      <title><application>Amanda</application></title>

      <indexterm>
        <primary>программы резервного копирования</primary>
        <secondary><application>amanda</application></secondary>
      </indexterm>

      <indexterm>
        <primary><application>amanda</application></primary>
      </indexterm>

      <!-- Удалить ссылку, пока не будет доступна метка <port> -->
      <para><application>Amanda</application> (Advanced Maryland Network Disk
        Archiver) является целой клиент/серверной системой резервного
        копирования, а не отдельной программой.  Сервер
        <application>Amanda</application> сможет осуществлять резервное
        копирование на единственный накопитель любого количества компьютеров,
        на которых имеется клиент <application>Amanda</application> и которые
        могут связываться по сети с сервером <application>Amanda</application>.
        Общей проблемой систем с большим количеством больших дисков является
        то, что время, требуемое для непосредственной записи данных на ленту,
        превышает лимит времени, выделенный на эту задачу.
        <application>Amanda</application> решает эту проблему.
        <application>Amanda</application> может использовать
        <quote>промежуточный диск</quote> для резервного копирования нескольких
        файловых систем одновременно.  <application>Amanda</application>
        создаёт <quote>наборы архивов</quote>: группа лент, используемых в
        некоторый период времени для создания полных копий всех файловых
        систем, перечисленных в конфигурационном файле системы
        <application>Amanda</application>.  <quote>Архивный
        набор</quote> содержит также создаваемый каждую ночь инкрементальные
        (или дифференциальные) резервные копии всех файловых систем.
        Восстановление повреждённой файловой системы требует наличия самой
        последней полной копии и инкрементальных резервных копий.</para>

      <para>Конфигурационный файл даёт прекрасный механизм для управления
        процессом резервного копирования и объёмом трафика, генерируемого
        системой <application>Amanda</application>.
        <application>Amanda</application> сможет использовать любую из
        перечисленных выше программ для записи данных на ленту.
        <application>Amanda</application> имеется в виде как
        порта, так и пакаджа, и по умолчанию она не установлена.</para>
    </sect2>

    <sect2>
      <title>Не делать ничего</title>

      <para><quote>Не делать ничего</quote> - это не программа для компьютера,
        и в то же время это наиболее широко используемая стратегия резервного
        копирования.  Здесь нет никаких первоначальных затрат.  Здесь нет
        расписания, которому нужно следовать.  Просто скажите нет.  Если что-то
        случится с вашими данными, улыбнитесь и забудьте о них!</para>

      <para>Если ваше время и данные практически ничего не стоят, то <quote>не
        делать ничего</quote> является самой подходящей программой для вашего
        компьютера.  Но будьте осторожны, &posix; является весьма полезным
        инструментом, и через полгода вы можете обнаружить, что у вас есть
        набор файлов, представляющих для вас определенную ценность.</para>

      <para><quote>Ничего не делать</quote> является правильным методом
        резервного копирования для <filename>/usr/obj</filename> и других
        деревьев каталогов, которые могут быть в точности перегенерированы
        вашим компьютером.  Примером являются файлы, представляющие страницы
        этого Руководства в форматах HTML или &postscript;.  Они генерируются
        из входных файлов в формате SGML.  Создавать резервные копии файлов в
        форматах HTML и &postscript; не нужно.  Исходные файлы в формате SGML
        копируются регулярно.</para>
    </sect2>

  <sect2>
    <title>Какая программа резервного копирования самая лучшая?</title>
    <indexterm>
      <primary>LISA</primary>
    </indexterm>

    <para>&man.dump.8; <emphasis>Точка.</emphasis> Elizabeth D. Zwicky
      протестировала все программы резервного копирования, обсуждаемые здесь.
      Беспроигрышным вариантом для сохранения всех ваших данных и
      особенностей файловых систем &unix; является <command>dump</command>.
      Элизабет создала файловые системы, содержащие большое количество
      необычных элементов (и некоторых не так уж необычных) и тестировала
      каждую из программ, выполняя резервное копирование и последующее
      восстановление этих файловых систем.  В число необычных элементов
      входили: файлы с дырами, файлы с дырами и блоком пустого места, файлы с
      необычными символами в их именах, нечитаемые и незаписываемые файлы,
      устройства, меняющие свой размер во время резервного копирования, файлы,
      создаваемые и удаляемые во время копирования и тому подобное.  Она
      представила результаты на конференции LISA V в октябре 1991 года.
      Посмотрите ссылку на сайте <ulink
      url="http://berdmann.dyndns.org/zwicky/testdump.doc.html">
      torture-testing Backup and Archive Programs</ulink>.</para>
  </sect2>

  <sect2>
    <title>Процедура восстановления при сбое</title>

    <sect3>
      <title>До того, как случится катастрофа</title>

      <para>Вам нужно выполнить всего лишь четыре шага для того, чтобы быть
	готовым к любому сбою.</para>

      <indexterm>
        <primary><command>disklabel</command></primary>
      </indexterm>

      <para>Во-первых, распечатайте разметку диска для всех ваших дисков
	(к примеру, <command>disklabel da0 | lpr</command>), таблицу файловых
	систем (<filename>/etc/fstab</filename>) и все сообщения, выводимые
	при загрузке, каждого по два экземпляра.</para>

      <indexterm><primary>аварийные дискеты</primary></indexterm>

      <para>Во-вторых, определите, все ли устройства присутствуют на
	загрузочной и аварийной дискетах (<filename>boot.flp</filename> и
	<filename>fixit.flp</filename>).  Самым простым способом проверки
	является перезагрузка вашей машины с загрузочной дискетой,
	вставленной в дисковод и последующая проверка сообщений при загрузке.
	Если все имеющиеся у вас устройства здесь будут перечислены и будут
	работоспособны, перейдите к третьему шагу.</para>

      <para>В противном случае вам необходимо будет создать две особым
	образом  сформированные загрузочные дискеты, на которых помещено
	ядро, могущее смонтировать все ваши диски и получить доступ к вашему
	стримеру.  На этих дискетах должны быть: <command>fdisk</command>,
	<command>disklabel</command>, <command>newfs</command>,
        <command>mount</command> и какая-либо
	используемая вами программа резервного копирования.  Эти программы
	должны быть скомпонованы статически.  Если вы используете
	<command>dump</command>, то на дискете должна присутствовать и программа
	<command>restore</command>.</para>

      <para>В-третьих, регулярно создавайте резервные копии на ленте.  Любые
	изменения, которые вы делали после последнего резервного копирования,
	могут быть безвозвратно потеряны.  На лентах включайте защиту от
	записи.</para>

      <para>В-четвертых, проверяйте работу дискет (либо
	<filename>boot.flp</filename> и <filename>fixit.flp</filename>, либо
	двух дискет, которые вы сделали при выполнении второго шага) и лент
	с резервными копиями.  Ведите журнал выполняемых действий.  Храните
	эти записи вместе с загрузочной дискетой, распечатками и лентами.
	Вы просто обезумеете при восстановлении данных, если окажется, что
	записи могли бы избежать разрушения ваших резервных копий (Каким
	образом?  Вместо команды <command>tar xvf /dev/sa0</command> вы
	могли случайно набрать <command>tar cvf /dev/sa0</command> и тем
	самым перезаписать вашу резервную копию).</para>

      <para>Для дополнительной страховки, каждый раз создавайте загрузочные
	дискеты и две резервные копии на ленте.  Храните одну из копий в
	каком-то удаленном месте и НЕ в том же здании, где находится ваш
	офис.  Достаточно большое количество компаний во Всемирном Торговом
	Центре изучило это на своей шкуре.  Это удаленное хранилище должно
	быть физически отделено на большое расстояние от ваших компьютеров и
	дисковых устройств.</para>

      <example>
        <title>Скрипт для создания загрузочной дискеты</title>

        <programlisting><![ CDATA [#!/bin/sh
#
# create a restore floppy
#
# format the floppy
#
PATH=/bin:/sbin:/usr/sbin:/usr/bin

fdformat -q fd0
if [ $? -ne 0 ]
then
	 echo "Bad floppy, please use a new one"
	 exit 1
fi

# place boot blocks on the floppy
#
disklabel -w -B /dev/fd0c fd1440

#
# newfs the one and only partition
#
newfs -t 2 -u 18 -l 1 -c 40 -i 5120 -m 5 -o space /dev/fd0a

#
# mount the new floppy
#
mount /dev/fd0a /mnt

#
# create required directories
#
mkdir /mnt/dev
mkdir /mnt/bin
mkdir /mnt/sbin
mkdir /mnt/etc
mkdir /mnt/root
mkdir /mnt/mnt			# for the root partition
mkdir /mnt/tmp
mkdir /mnt/var

#
# populate the directories
#
if [ ! -x /sys/compile/MINI/kernel ]
then
	 cat << EOM
The MINI kernel does not exist, please create one.
Here is an example config file:
#
# MINI -- A kernel to get FreeBSD onto a disk.
#
machine		"i386"
cpu		"I486_CPU"
ident		MINI
maxusers	5

options 	INET			# needed for _tcp _icmpstat _ipstat
					#            _udpstat _tcpstat _udb
options 	FFS			#Berkeley Fast File System
options 	FAT_CURSOR		#block cursor in syscons or pccons
options 	SCSI_DELAY=15		#Be pessimistic about Joe SCSI device
options 	NCONS=2		 	#1 virtual consoles
options 	USERCONFIG		#Allow user configuration with -c XXX

config		kernel	root on da0 swap on da0 and da1 dumps on da0

device		isa0
device		pci0

device		fdc0	at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
device		fd0	at fdc0 drive 0

device		ncr0

device		scbus0

device		sc0	at isa? port "IO_KBD" tty irq 1 vector scintr
device		npx0	at isa? port "IO_NPX" irq 13 vector npxintr

device		da0
device		da1
device		da2

device		sa0

pseudo-device	loop		# required by INET
pseudo-device	gzip		# Exec gzipped a.out's
EOM
	 exit 1
fi

cp -f /sys/compile/MINI/kernel /mnt

gzip -c -best /sbin/init > /mnt/sbin/init
gzip -c -best /sbin/fsck > /mnt/sbin/fsck
gzip -c -best /sbin/mount > /mnt/sbin/mount
gzip -c -best /sbin/halt > /mnt/sbin/halt
gzip -c -best /sbin/restore > /mnt/sbin/restore

gzip -c -best /bin/sh > /mnt/bin/sh
gzip -c -best /bin/sync > /mnt/bin/sync

cp /root/.profile /mnt/root

cp -f /dev/MAKEDEV /mnt/dev
chmod 755 /mnt/dev/MAKEDEV

chmod 500 /mnt/sbin/init
chmod 555 /mnt/sbin/fsck /mnt/sbin/mount /mnt/sbin/halt
chmod 555 /mnt/bin/sh /mnt/bin/sync
chmod 6555 /mnt/sbin/restore

#
# create the devices nodes
#
cd /mnt/dev
./MAKEDEV std
./MAKEDEV da0
./MAKEDEV da1
./MAKEDEV da2
./MAKEDEV sa0
./MAKEDEV pty0
cd /

#
# create minimum filesystem table
#
cat > /mnt/etc/fstab <<EOM
/dev/fd0a    /    ufs    rw  1  1
EOM

#
# create minimum passwd file
#
cat > /mnt/etc/passwd <<EOM
root:*:0:0:Charlie &:/root:/bin/sh
EOM

cat > /mnt/etc/master.passwd <<EOM
root::0:0::0:0:Charlie &:/root:/bin/sh
EOM

chmod 600 /mnt/etc/master.passwd
chmod 644 /mnt/etc/passwd
/usr/sbin/pwd_mkdb -d/mnt/etc /mnt/etc/master.passwd

#
# umount the floppy and inform the user
#
/sbin/umount /mnt
echo "The floppy has been unmounted and is now ready."]]></programlisting>
        </example>
      </sect3>

    <sect3>
      <title>После сбоя</title>

      <para>Главный вопрос: выжило ли ваше оборудование?  Вы регулярно делали
	резервные копии, так что нет нужды беспокоиться о программном
	обеспечении.</para>

      <para>Если оборудование было повреждено, должны быть заменены
	неисправные компоненты.</para>

      <para>Если с оборудованием все в порядке, проверьте ваши дискеты.  При
	использовании самостоятельно созданной загрузочной дискеты,
	загрузитесь в однопользовательском режиме (набрав
	<literal>-s</literal> в приглашении <prompt>boot:</prompt>).
	Пропустите следующий абзац.</para>

      <para>Если вы используете дискеты <filename>boot.flp</filename> и
	<filename>fixit.flp</filename>, читайте дальше.  Вставьте дискету
	<filename>boot.flp</filename> в первый дисковод и загрузите
	компьютер.  На экран будет выведено оригинальное меню установки.
	Выберите пункт <literal>Fixit--Repair mode with CDROM or
	floppy</literal>.  После вывода приглашения вставьте
	<filename>fixit.flp</filename>.  <command>restore</command> и другие
	нужные вам программы находятся в
	<filename>/mnt2/stand</filename>.</para>

      <para>Восстановите по отдельности каждую файловую систему.</para>

      <indexterm><primary><command>mount</command></primary></indexterm>
      <indexterm><primary>корневой раздел</primary></indexterm>
      <indexterm><primary><command>disklabel</command></primary></indexterm>
      <indexterm><primary><command>newfs</command></primary></indexterm>
      <para>Попробуйте выполнить команду <command>mount</command> (например,
	<command>mount /dev/da0a /mnt</command>) по отношению к корневому
	разделу вашего первого диска.  Если метка диска была испорчена,
	то воспользуйтесь командой <command>disklabel</command> для
        переразбиения на
	разделы и разметки диска так, чтобы получившаяся метка совпала с той,
	которая вами была распечатана и сохранена.  Для повторного создания
	файловых систем используйте утилиту <command>newfs</command>.  Повторно
	смонтируйте корневой раздел дискеты в режиме чтения-записи
	(<command>mount -u -o rw /mnt</command>).  Воспользуйтесь вашей
	программой резервного копирования и резервными копиями на лентах для
	восстановления данных для этой файловой системы (например.
	<command>restore vrf /dev/sa0</command>).  Размонтируйте файловую
	систему (например, <command>umount /mnt</command>).  Повторите эту
	процедуру для каждой файловой системы, которая была повреждена.</para>

      <para>Как только ваша система заработает, сделайте резервную копию на
	новые ленты.  Что бы ни вызвало сбой или потерю данных, это может
	случиться снова.  Ещё один час, потраченный в этот момент, может
	спасти вас от неприятностей в будущем.</para>
    </sect3>

<![ %not.published; [

    <sect3>
      <title>* Я не был готов к катастрофе, и что теперь?</title>

      <para></para>
    </sect3>
]]>

    </sect2>
  </sect1>

  <sect1 id="disks-virtual">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Marc</firstname>

	  <surname>Fonvieille</surname>

	  <contrib>Реорганизация и улучшения выполнил </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>Сетевые файловые системы, файловые системы в памяти и с отображением
      в файл</title>

    <indexterm><primary>виртуальные диски</primary></indexterm>
    <indexterm>
      <primary>диски</primary>
      <secondary>виртуальные</secondary>
    </indexterm>

    <para>Кроме дисков, которые вы физически устанавливаете в ваш компьютер;
      дискеты, компакт-диски, винчестеры и так далее, FreeBSD воспринимает и
      другие типы дисков - <firstterm>виртуальные диски</firstterm>.</para>

    <indexterm><primary>NFS</primary></indexterm>
    <indexterm><primary>Coda</primary></indexterm>

    <indexterm>
      <primary>диски</primary>
      <secondary>память</secondary>
    </indexterm>

    <para>Сюда могут быть отнесены сетевые файловые системы, такие, как
      <link linkend="network-nfs">Network File System</link> и Coda, а также
      файловые системы с организацией в памяти и создаваемые в файлах.</para>

    <para>В зависимости от версии FreeBSD, которую вы используете, для создания
      и работы с файловыми системами, отображаемыми в оперативную память или
      файлы, вам нужно будет пользоваться разными инструментами.</para>

    <note>
      <para>Пользователи FreeBSD&nbsp;4.X для создания требуемых устройств
        должны использовать &man.MAKEDEV.8;.  Во FreeBSD&nbsp;5.0 и более
        поздних версиях для создания файлов устройств используется
        &man.devfs.5;, которая выполняет это прозрачно для
        пользователей.</para>
    </note>

    <sect2 id="disks-vnconfig">
      <title>Файловая система в файле во FreeBSD&nbsp;4.X</title>

      <indexterm>
        <primary>диски</primary>

        <secondary>хранимые в файле (4.X)</secondary>
      </indexterm>

      <para>Утилита &man.vnconfig.8; конфигурирует и позволяет использовать
        дисковые устройства на основе псевдо-устройств vnode.
	<firstterm>vnode</firstterm> представляет собой файл и отвечает за
	работу с файлом.  Это означает, что &man.vnconfig.8; использует файлы
	для создания и работы с файловой системой.  Одним из возможных
	способов использования является монтирование образов дискет или
	образов компакт-дисков, сброшенных в файлы.</para>

      <para>Для использования &man.vnconfig.8; в конфигурационном файле ядра
        вам нужно включить поддержку &man.vn.4;:</para>

      <programlisting>pseudo-device vn</programlisting>

      <para>Чтобы смонтировать имеющийся образ файловой системы:</para>

      <example>
	<title>Использование vnconfig для монтирования имеющегося образа
	  файловой системы во FreeBSD&nbsp;4.X</title>

	<screen>&prompt.root; <userinput>vnconfig vn<replaceable>0</replaceable> <replaceable>diskimage</replaceable></userinput>
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput></screen>
      </example>

      <para>Для создания нового образа файловой системы с помощью
	&man.vnconfig.8;:</para>

      <example>
	<title>Создание нового диска в файле с помощью
          <command>vnconfig</command></title>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>vnconfig -s labels -c vn<replaceable>0</replaceable> <replaceable>newimage</replaceable></userinput>
&prompt.root; <userinput>disklabel -r -w vn<replaceable>0</replaceable> auto</userinput>
&prompt.root; <userinput>newfs vn<replaceable>0</replaceable>c</userinput>
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c:	10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
	5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
 32
&prompt.root; <userinput>mount /dev/vn<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem  1K-blocks	  Used	  Avail Capacity  Mounted on
/dev/vn0c	 4927	     1	   4532     0%	  /mnt</screen>
      </example>
    </sect2>

    <sect2 id="disks-mdconfig">
      <title>Файловые системы, отображаемые в файлы, во FreeBSD&nbsp;5.X</title>

      <indexterm>
        <primary>диски</primary>

        <secondary>отображаемые в файлы (5.X)</secondary>
      </indexterm>

      <para>Во FreeBSD&nbsp;5.X для конфигурации и подключения дисков
        &man.md.4;, отображаемых в оперативную память, используется утилита
        &man.mdconfig.8;.  Для работы с &man.mdconfig.8; вам нужно подгрузить
        модуль &man.md.4; или добавить поддержку этих устройств в файл
        конфигурации ядра:</para>

      <programlisting>device md</programlisting>

      <para>Утилита &man.mdconfig.8; поддерживает три типа виртуальных дисков,
        отображаемых в память: диски в памяти, которая выделяется запросами
	&man.malloc.9; и диски в памяти, использующие в качестве устройств
        хранения файлы или раздел подкачки.  Одним из возможных использований
        таких дисков является монтирование файлов с образами дискет или
        CD.</para>

      <para>Для монтирования образа существующей файловой системы:</para>

      <example>
	<title>Использование <command>mdconfig</command> для монтирования файла
          с образом существующей файловой системы во FreeBSD&nbsp;5.X</title>

	<screen>&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>diskimage</replaceable> -u <replaceable>0</replaceable></userinput>
&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput></screen>
      </example>

      <para>Для создания образа новой файловой системы при помощи
        &man.mdconfig.8;:</para>

      <example>
	<title>Создание нового диска, отображаемого в файл, при помощи
          <command>mdconfig</command></title>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>mdconfig -a -t vnode -f <replaceable>newimage</replaceable> -u <replaceable>0</replaceable></userinput>
&prompt.root; <userinput>disklabel -r -w md<replaceable>0</replaceable> auto</userinput>
&prompt.root; <userinput>newfs md<replaceable>0</replaceable>c</userinput>
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
	using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
 32, 2624, 5216, 7808
&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>c <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/md0c        4846        2     4458     0%    /mnt</screen>
      </example>

      <para>Если в параметре <option>-u</option> вы не задали номер устройства,
        то &man.mdconfig.8; для выбора неиспользуемого устройства будет
        использовать функцию автоматическое выделения в &man.md.4;.  Имя
        выделенного устройства будет выдано на стандартное устройство выводы в
        виде, например, <devicename>md4</devicename>.  Для получения более
        полной информации о &man.mdconfig.8;, пожалуйста, обратитесь к
        соответствующей странице справочной системы.</para>

      <note>
        <para>Начиная с &os;&nbsp;5.1-RELEASE, на смену старой программе
          &man.disklabel.8; пришла утилита &man.bsdlabel.8;.  У
          &man.bsdlabel.8; отсутствуют некоторые устаревшие опции и
          параметры; в примере выше параметр <option>-r</option> не может
          использоваться с &man.bsdlabel.8;.  Для получения дополнительной
          информации обратитесь к справочной странице п
          о &man.bsdlabel.8;.</para>
      </note>

      <para>Утилита &man.mdconfig.8; весьма полезна, однако для создания файла
        с файловой системой требуется произвести много действий.  Вместе с
	FreeBSD&nbsp;5.0 поставляется утилита под названием &man.mdmfs.8;,
	которая создаёт диск &man.md.4; при помощи &man.mdconfig.8;, размещает
        на нём файловую систему UFS при помощи &man.newfs.8; и монтирует её
        командой &man.mount.8;.  Например, если вы хотите создать и
        смонтировать такой же образ файловой системе, как выше, просто наберите
        такую команду:</para>

      <example>
        <title>Настройка и монтирование диска, отображаемого в файл, при помощи
          команды <command>mdmfs</command></title>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>newimage</replaceable> bs=1k count=<replaceable>5</replaceable>k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>mdmfs -F <replaceable>newimage</replaceable> -s <replaceable>5</replaceable>m md<replaceable>0</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md0        4846    2  4458     0%    /mnt</screen>
      </example>

      <para>Если вы используете параметр <option>md</option> без номера
        устройства, то &man.mdmfs.8; будет использовать автоматическую
        нумерацию &man.md.4; для автоматического выбора неиспользуемого
        устройства.  Более полную информацию о &man.mdmfs.8; можно найти на
        страницах справочной системы.</para>
    </sect2>

    <sect2 id="disks-md-freebsd4">
      <title>Файловая система в памяти во FreeBSD&nbsp;4.X</title>

      <indexterm>
        <primary>диски</primary>

        <secondary>файловые системы в памяти (4.X)</secondary>
      </indexterm>

      <para>Драйвер &man.md.4; является простым и эффективным способом создания
        файловых систем в памяти во FreeBSD&nbsp;4.X.  Для выделения памяти
        используется &man.malloc.9;.</para>

      <para>Просто возьмите файловую систему, которую вы приготовили при
	помощи, скажем, &man.vnconfig.8; и:</para>

      <example>
	<title>Диск md в памяти во FreeBSD&nbsp;4.X</title>

	<screen>&prompt.root; <userinput>dd if=<replaceable>newimage</replaceable> of=/dev/md<replaceable>0</replaceable></userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>mount /dev/md<replaceable>0c</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem  1K-blocks	  Used	  Avail Capacity  Mounted on
/dev/md0c	 4927	     1	   4532     0%	  /mnt</screen>
      </example>

      <para>Для получения более полной информации, пожалуйста, обратитесь к
        страницам справочной системы по &man.md.4;.</para>
    </sect2>

    <sect2 id="disks-md-freebsd5">
      <title>Файловые системы с отображением в память во
        FreeBSD&nbsp;5.X</title>

      <indexterm>
        <primary>диски</primary>

        <secondary>файловая система в памяти (5.X)</secondary>
      </indexterm>

      <para>При работе с файловыми системами, отображаемыми в файл или память,
        используются одни и те же утилиты: &man.mdconfig.8; или &man.mdmfs.8;.
        Место для хранения файловых систем в памяти выделяется через
	&man.malloc.9;.</para>

      <example>
	<title>Создание нового диска с отображением в память при помощи
          <command>mdconfig</command></title>

	<screen>&prompt.root; <userinput>mdconfig -a -t malloc -s <replaceable>5</replaceable>m -u <replaceable>1</replaceable></userinput>
&prompt.root; <userinput>newfs -U md<replaceable>1</replaceable></userinput>
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
	using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
	with soft updates
super-block backups (for fsck -b #) at:
 32, 2624, 5216, 7808
&prompt.root; <userinput>mount /dev/md<replaceable>1</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md1        4846    2  4458     0%    /mnt</screen>
      </example>

      <example>
	<title>Создание нового диска с отображением в память при помощи
	  <command>mdmfs</command></title>

	<screen>&prompt.root; <userinput>mdmfs -M -s <replaceable>5</replaceable>m md<replaceable>2</replaceable> <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md2        4846    2  4458     0%    /mnt</screen>
      </example>

      <para>Вместо того, чтобы использовать файловую систему, опирающуюся на
        &man.malloc.9;, возможно использовать память раздела подкачки, для чего
        нужно просто заменить <option>malloc</option> на <option>swap</option>
        в командной строке при вызове &man.mdconfig.8;.  Утилита &man.mdmfs.8;
        по умолчанию (без опции <option>-M</option>) создаёт диск в разделе
        подкачки.  Для выяснения всех подробностей, пожалуйста, обратитесь к
        страницам справочной системы по &man.mdconfig.8; и
        &man.mdmfs.8;.</para>
    </sect2>

    <sect2>
      <title>Отключение диска, отображаемого в память, от системы</title>

      <indexterm>
        <primary>диски</primary>

        <secondary>отключение диска, отображаемого в память</secondary>
      </indexterm>

      <para>Если файловые системы, отображаемые в память или файл, больше не
        используются, вам нужно высвободить все ресурсы для системы.  Первым
        делом нужно размонтировать файловую систему, затем воспользоваться
	&man.mdconfig.8; для отключения диска от системы и освободить
        ресурсы.</para>

      <para>К примеру, чтобы отключить и освободить все ресурсы, используемые
	<filename>/dev/md4</filename>:</para>

      <screen>&prompt.root; <userinput>mdconfig -d -u <replaceable>4</replaceable></userinput></screen>

      <para>Для выдачи информации об отконфигурированных устройствах
	&man.md.4; используется команда <command>mdconfig -l</command>.</para>

      <para>Во FreeBSD&nbsp;4.X для отключения устройства используется команда
        &man.vnconfig.8;.  Например, для отключения и освобождения всех
        ресурсов, используемых <filename>/dev/vn4</filename>:</para>

      <screen>&prompt.root; <userinput>vnconfig -u vn<replaceable>4</replaceable></userinput></screen>
    </sect2>
  </sect1>

  <sect1 id="snapshots">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Текст предоставил </contrib>
	</author>
      </authorgroup>
      <!-- 15 ИЮЛЯ 2002 -->
    </sect1info>

    <title>Мгновенные копии файловых систем</title>

    <indexterm>
      <primary>файловые системы</primary>

      <secondary>мгновенные копии</secondary>
    </indexterm>

    <para>Во FreeBSD&nbsp;5.0 вместе с технологией <link linkend="soft-updates">
      Отложенных обновлений</link> представлена новая возможность: генерация
      мгновенных копий файловых систем.</para>

    <para>Мгновенные копии позволяют пользователю создавать образы заданных
      файловых систем и работать с ними как с файлами.
      Файлы мгновенных копий должны создаваться в той файловой
      системе, над которой производится действие, и пользователь может
      создавать не более 20 мгновенных копий для каждой файловой системы.
      Активные копии записываются в суперблок, так что они остаются в силе
      между операциями монтирования и размонтирования в процессе системных
      перезагрузок.  Если мгновенная копия больше не нужна, она может быть
      удалена стандартной командой &man.rm.1;.  Мгновенные копии могут
      удаляться в любом порядке, однако всё использованное пространство не
      может быть использовано, так как другая мгновенная копия может
      претендовать на некоторые блоки из освобождённых.</para>

    <para>В момент первоначального создания устанавливается флаг
      <option>schg</option> (обратитесь к страницам справочной системы по
      команде &man.chflags.1;) для обеспечения того, что даже пользователь
      <username>root</username> не сможет произвести запись в мгновенную
      копию.  Однако команда &man.unlink.1; делает исключение для файлов
      мгновенных копий, позволяя их удалять при наличии установленного
      флага <option>schg</option>, так что нет необходимости снимать флаг
      <option>schg</option> перед удаление файла мгновенной копии.</para>

    <para>Мгновенные копии создаются при помощи утилиты &man.mount.8;.  Чтобы
      создать мгновенную копию <filename>/var</filename> в файле
      <filename>/var/snapshot/snap</filename>, воспользуйтесь такой
      командой:</para>

    <screen>&prompt.root; <userinput>mount -u -o snapshot /var/snapshot/snap /var</userinput></screen>

    <para>В качестве альтернативного средства создания мгновенных копий
      вы можете использовать утилиту &man.mksnap.ffs.8;:</para>

    <screen>&prompt.root; <userinput>mksnap_ffs /var /var/snapshot/snap</userinput></screen>

    <para>После создания мгновенной копии есть несколько способов её
      использования:</para>

    <itemizedlist>
      <listitem>
	<para>Некоторые администраторы будут использовать файл мгновенной
          копии для целей создания резервной копии, так как мгновенная копия
          может быть перенесена на CD или магнитную ленту.</para>
      </listitem>

      <listitem>
	<para>Утилита проверка целостности файловой системы, &man.fsck.8;,
          может быть запущена над мгновенной копией.  Полагая, что
          файловая система была в порядке, когда она была смонтирована, вы
          всегда должны получать нормальный (и неизменный) результат.
          Это именно то, что выполняет фоновый процесс &man.fsck.8;.</para>
      </listitem>

      <listitem>
	<para>Запустить утилиту &man.dump.8; с мгновенной копией.  Будет
          создаваться дамп, соответствующий файловой системе на момент
          создания мгновенной копии.  Утилита &man.dump.8; при использовании
          опции <option>-L</option> тоже может работать с мгновенными копиями,
          создавать их дампы, а затем удалять за один проход.</para>
      </listitem>

      <listitem>
	<para>Смонтировать командой &man.mount.8; мгновенную копию как
          замороженный образ файловой системы.  Чтобы смонтировать командой
	  &man.mount.8; мгновенную копию
          <filename>/var/snapshot/snap</filename>, запустите:</para>

        <screen>&prompt.root; <userinput>mdconfig -a -t vnode -f /var/snapshot/snap -u 4</userinput></screen>
        <screen>&prompt.root; <userinput>mount -r /dev/md4 /mnt</userinput></screen>

      </listitem>
    </itemizedlist>

    <para>Теперь вы можете пройтись по иерархии вашей зафиксированной
      файловой системы <filename>/var</filename>, смонтированной в каталог
      <filename>/mnt</filename>.  Всё будет в том же самом состоянии, в каком
      это было во время создания мгновенной копии.  Единственным исключением
      будет то, что любые ранее сделанные мгновенные копии будут видны как
      файлы нулевой длины.  Когда использование мгновенной копии закончено,
      она может быть удалена командой:</para>

    <screen>&prompt.root; <userinput>umount /mnt</userinput></screen>
    <screen>&prompt.root; <userinput>mdconfig -d -u 4</userinput></screen>

    <para>Для получения более полной информации о <option>softupdates</option>
      и мгновенных копиях файловых систем, включая технической описание, вы
      можете посетить сайт Маршалла Кёрка МакКузика (Marshall Kirk McKusick) по
      адресу <ulink
      url="http://www.mckusick.com/">http://www.mckusick.com.</ulink></para>
  </sect1>

  <sect1 id="quotas">
    <title>Квотирование файловых систем</title>

    <indexterm>
      <primary>учёт</primary>
      <secondary>дисковое пространство</secondary>
    </indexterm>
    <indexterm><primary>дисковые квоты</primary></indexterm>

    <para>Квоты - это опциональная возможность операционной системы, которая
      позволяет ограничивать объем дискового пространства и/или количество
      файлов для конкретного пользователя или членов определенной группы
      в рамках одной файловой системы.	Чаще всего эта возможность
      используется в системах разделения времени, когда желательно ограничить
      количество ресурсов, которые может использовать один пользователь или
      группа пользователей.  Это позволит не допустить ситуации, когда
      один пользователь или группа пользователей заполняют всё доступное
      дисковое пространство.</para>

    <sect2>
      <title>Настройка вашей системы на использование дисковых квот</title>

      <para>Перед тем, как попытаться использовать дисковые квоты, необходимо
	убедиться, что квоты включены в вашем ядре.  Это делается добавлением
	следующей строки в конфигурационный файл вашего ядра:</para>

      <programlisting>
options QUOTA
      </programlisting>

      <para>В стандартном ядре <filename>GENERIC</filename> это по умолчанию
	не включено, так что для использования дисковых квот вам нужно будет
	настроить, откомпилировать и установить собственное ядро.
	Пожалуйста, обратитесь к разделу <xref linkend="kernelconfig"> за
	дополнительной информацией о настройке ядра.</para>

      <para>Затем вам потребуется включить квотирование дисков в файле
	<filename>/etc/rc.conf</filename>.  Это делается добавление такой
	строчки:</para>

      <programlisting>enable_quotas="YES"</programlisting>

      <indexterm>
        <primary>дисковые квоты</primary>
        <secondary>проверка</secondary>
      </indexterm>

      <para>Для более полного контроля над запуском квотирования имеется
	дополнительная переменная для настройки.  Как правило, при загрузке
	целостность квот каждой файловой системы проверяется программой
	&man.quotacheck.8;.  При работе программы &man.quotacheck.8;
	проверяется точное соответствие данных
	в базе данных квот данным в файловой системе.  Это весьма долгий
	процесс, что отражается на времени загрузки системы.  Если вам
	захочется пропустить этот шаг, то для этого предназначена специальная
	переменная в файле <filename>/etc/rc.conf</filename>:</para>

      <programlisting>check_quotas="NO"</programlisting>

      <para>Если вы работаете с FreeBSD версий до 3.2-RELEASE, то настройка
	делается проще, и она состоит только из одной переменной.  Задайте
	следующее в вашем файле <filename>/etc/rc.conf</filename>:</para>

      <programlisting>check_quotas="YES"</programlisting>

      <para>Наконец, вам потребуется отредактировать файл
	<filename>/etc/fstab</filename> для включения дисковых квот на
	уровне файловых систем.  Это то место, где вы можете включить квоты
	для пользователей, для групп или для обеих этих категорий для всех
	ваших файловых систем.</para>

      <para>Для включения пользовательских квот для файловой системы,
	добавьте параметр <option>userquota</option> в поле параметров
	файловой системы, на которой вы хотите включить квотирование, в файле
	<filename>/etc/fstab</filename>.  Например:</para>

      <programlisting>/dev/da1s2g   /home    ufs rw,userquota 1 2</programlisting>

      <para>Подобным же образом для включения квотирования на уровне групп,
	воспользуйтесь параметром <option>groupquota</option> вместо
	<option>userquota</option>.  Чтобы включить
	квотирование как для пользователей, так и для групп, измените
	строчку следующим образом:</para>

      <programlisting>
/dev/da1s2g    /home	ufs rw,userquota,groupquota 1 2
      </programlisting>

      <para>По умолчанию файлы квот хранятся в корневом каталоге файловой
	системы в файлах с именами <filename>quota.user</filename> и
	<filename>quota.group</filename> соответственно для пользовательских
	и групповых квот.  Для получения подробной информации обратитесь к
	команде &man.fstab.5;.  Хотя справочная страница по &man.fstab.5;
	утверждает, что вы можете указать другое местоположение файлов с
	квотами, этого делать не рекомендуется, потому что различные утилиты
	для работы с квотами не могут нормально работать в такой
	ситуации.</para>

      <para>На этом этапе вы должны перезагрузить вашу систему с новым ядром.
	Скрипт <filename>/etc/rc</filename> автоматически запустит
	соответствующие команды для создания начальных файлов для всех квот,
	которые вы создали в файле <filename>/etc/fstab</filename>, так что
	нет нужды вручную создавать никаких файлов квот нулевой длины.</para>

      <para>При нормальной работе вам не потребуется вручную запускать
	программы &man.quotacheck.8;, &man.quotaon.8; или &man.quotaoff.8;.
	Однако вам нужно хотя бы прочесть
        страницы справочника по этим командам, просто чтобы ознакомиться
        с их функциями.</para>
    </sect2>

    <sect2>
      <title>Установка квот</title>

      <indexterm>
        <primary>дисковые квоты</primary>
        <secondary>ограничения</secondary>
      </indexterm>

      <para>Как только вы настроили вашу систему на использование квот,
	проверьте, что они действительно были задействованы.  Простым
	способом сделать это является запуск такой команды:</para>

      <screen>&prompt.root; <userinput>quota -v</userinput></screen>

      <para>Вы должны увидеть однострочную информацию, отражающую
	использование диска и текущие ограничения для каждой файловой
	системы, на которой включено квотирование.</para>

      <para>Теперь вы действительно готовы задавать ограничения при помощи
	команды &man.edquota.8;.</para>

      <para>У вас есть несколько вариантов того, как приводить в действие
	ограничения по объему дискового пространства, который могут занимать
	пользователь или группа, а также по количеству файлов, которые они
	могут создать.	Вы можете ограничивать размещение ресурсов на основе
	объема дискового пространства (квотирование блоков), количества
	файлов (квотирование inode) или их комбинации.	Каждое из этих
	ограничений, в свою очередь, делится на две категории: мягкие и
	жёсткие ограничения.</para>

      <indexterm><primary>жёсткое ограничение</primary></indexterm>
      <para>Жёсткое ограничение не может быть превышено.  Как только
	пользователь достиг своих ограничений, ресурсы соответствующей
	файловой системы ему больше выделяться не будут.  Например, если
	пользователь имеет жесткое ограничение в 500 блоков на файловой
	системе и в текущий момент он использует 490 блоков, то
	пользователь может получить дополнительно еще 10 блоков.  Попытка
	получить еще 11 блоков окончится неудачно.</para>

      <indexterm><primary>мягкое ограничение</primary></indexterm>
      <para>С другой стороны, мягкие ограничения могут быть превышены в
	течении некоторого периода времени.  Этот период времени также
	называют периодом отсрочки, который по умолчанию равен одной неделе.
	Если пользователь превышает своё мягкое ограничение в течение периода
	времени, превышающего отсрочку, то это мягкое ограничение становится
	жестким и последующее выделение ресурсов будет запрещено.  Когда
	пользователь вернётся обратно к отметке, меньшей, чем мягкое
	ограничение, то период отсрочки будет сброшен.</para>

      <para>Далее приводится пример того, что вы можете наблюдать при
	запуске команды &man.edquota.8;.  Когда вызывается команда
	&man.edquota.8;, вы оказываетесь в редакторе, заданном
	переменной переменной окружения <envar>EDITOR</envar>, или в
	редакторе <application>vi</application>, если переменная
	<envar>EDITOR</envar> не задана, и можете редактировать квоты.</para>

      <screen>&prompt.root; <userinput>edquota -u test</userinput></screen>

      <programlisting>Quotas for user test:
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
	inodes in use: 7, limits (soft = 50, hard = 60)
/usr/var: blocks in use: 0, limits (soft = 50, hard = 75)
	inodes in use: 0, limits (soft = 50, hard = 60)</programlisting>

      <para>Для каждой файловой системы, на которой включено квотирование,
	вы должны увидеть две строки.  В одной строке приведены ограничения
	на блоки, а в другой на количество inode.  Например, чтобы увеличить
	ограничения на количество блоков для пользователя с мягкого
	ограничения в 50 и жёсткого ограничения в 75, на мягкое ограничение
	в 500 и жёсткое ограничение в 600, измените:</para>

      <programlisting>
/usr: blocks in use: 65, limits (soft = 50, hard = 75)
      </programlisting>

      <para>на:</para>

      <programlisting>
/usr: blocks in use: 65, limits (soft = 500, hard = 600)
      </programlisting>

      <para>Новые ограничения вступят в силу после выхода из
	редактора.</para>

      <para>Иногда желательно установить ограничения квот на некоторый
	диапазон UID (идентификаторов пользователей).  Это можно сделать при
	помощи параметра <option>-p</option> в команде
	&man.edquota.8;.  Во-первых, установите желаемое
	ограничение для пользователя, а затем запустите команду
	<command>edquota -p protouser startuid-enduid</command>.  Например,
	если пользователь <username>test</username> имеет желаемые
	ограничения, то для дублирования этих ограничений на пользователей с
	UID от 10000 до 19999 может быть использована такая
	команда:</para>

      <screen>&prompt.root; <userinput>edquota -p test 10000-19999</userinput></screen>

      <para>Дополнительную информацию можно получить из справочной страницы по
        команде &man.edquota.8;.</para>
    </sect2>

    <sect2>
      <title>Проверка ограничений и использования диска</title>

      <indexterm>
        <primary>дисковые квоты</primary>
        <secondary>проверка</secondary>
      </indexterm>

      <para>Для проверки квот и использования дисков вы можете использовать
	команды &man.quota.1; или &man.repquota.8;.
	Команда &man.quota.1; может быть использована для проверки
	квот отдельных пользователей, групп, а также использования дисков.
        Пользователь может только проверить собственную квоту и квоту той
        группы, к которой он принадлежит.  Только администратор системы может
        проверить квоты всех пользователей и групп.  Команду
	&man.repquota.8; можно использовать для получения
	суммарной статистики всех квот и использования дисков для файловых
	систем с включенными квотами.</para>

      <para>Далее приведен пример вывода команды <command>quota -v</command>
	для пользователя, который имеет ограничения на двух файловых
	системах.</para>

      <programlisting>Disk quotas for user test (uid 1002):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
	   /usr      65*     50      75   5days       7      50      60
       /usr/var       0      50      75 	      0      50      60</programlisting>

      <indexterm><primary>период отсрочки</primary></indexterm>
      <para>В этом примере для файловой системы <filename>/usr</filename>
	пользователь превысил свое мягкое ограничение в 50 блоков на 15
	блоков и имеет 5 дней до истечения отсрочки.  Отметьте знак
	звездочки <literal>*</literal>, который указывает на превышение
	пользователем своего ограничения.</para>

      <para>Как правило, файловые системы, на которых пользователь не
	занимает дискового пространства, не показываются в выводе команды
	&man.quota.1;, даже если ему выделена квота на
	этой файловой системе.	При использовании параметра
	<option>-v</option> эти файловые системы выводятся, как, например,
	файловая система <filename>/usr/var</filename> в примере выше.</para>
    </sect2>

    <sect2>
      <title>Квоты в NFS</title>

      <indexterm><primary>NFS</primary></indexterm>
      <para>Квоты определяются подсистемой квот на сервере NFS.  Даемон
	&man.rpc.rquotad.8; предоставляет информацию о квотах для программы
	&man.quota.1; на клиентах NFS, позволяя пользователям на этих машинах
	смотреть свою статистику о квотах.</para>

      <para>Включите <command>rpc.rquotad</command> в файле
	<filename>/etc/inetd.conf</filename> следующим образом:</para>

      <programlisting>
rquotad/1      dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad
      </programlisting>

      <para>Теперь перезапустите <command>inetd</command>:</para>

      <screen>&prompt.root; <userinput>kill -HUP `cat /var/run/inetd.pid`</userinput></screen>
    </sect2>
  </sect1>

  <sect1 id="disks-encrypting">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Lucky</firstname>

	  <surname>Green</surname>

	  <contrib>Текст предоставил </contrib>

	  <affiliation>
	    <address><email>shamrock@cypherpunks.to</email></address>
	  </affiliation>
	</author>
      </authorgroup>
      <!-- 11 МАРТА 2003 -->
    </sect1info>

    <title>Шифрование дисковых разделов</title>

    <indexterm>
      <primary>диски</primary>

      <secondary>шифрование</secondary>
    </indexterm>

    <para>FreeBSD предоставляет прекрасную возможность по защите от
      несанкционированного доступа к данным.  Права на доступ к файлам и
      технология мандатного контроля доступа MAC (Mandatory Access Control)
      (смотрите see <xref linkend="mac">) помогают предотвратить
      несанкционированный доступ посторонних лиц к данным, при условии работы
      операционной системы и компьютера.  Однако права доступа, контролируемые
      операционной системой, не имеют значения, если нападающий получает
      физический доступ к компьютеру и может просто перенести жёсткий диск на
      другую машину для копирования и дальнейшего анализа важных данных.</para>

    <para>Вне зависимости от того, как атакующий завладел жёстким диском или
      выключенным компьютером, технология <application>gbde</application> (GEOM
      Based Disk Encryption - шифрование диска на уровне GEOM) может защитить
      данные файловой системы компьютера даже против очень заинтересованной
      атакующей стороны с достаточными ресурсами.  В отличие от громоздких
      систем шифрования, которые шифруют отдельные файлы,
      <application>gbde</application> шифрует в прозрачном режиме файловую
      систему в целом, при этом данные в открытом виде на диск никогда не
      записываются.</para>

    <sect2>
      <title>Включение gbde в ядре</title>

      <procedure>
	<step>
	  <title>Получите права пользователя <username>root</username></title>

	  <para>Настройка <application>gbde</application> требует права доступа
            администратора системы.</para>

	  <screen>&prompt.user; <userinput>su -</userinput>
	    Password:</screen>
	</step>
	
	<step>
	  <title>Проверьте номер версии операционной системы</title>

	  <para>Для работы &man.gbde.4; требуется FreeBSD 5.0 и выше.</para>

	  <screen>&prompt.root; <userinput>uname -r</userinput>
	    5.0-RELEASE</screen>
	</step>

	<step>
	  <title>Включите поддержку &man.gbde.4; в конфигурационный
            файл ядра</title>

	  <para>При помощи вашего любимого текстового редактора добавьте
            следующую строку в файл конфигурации вашего ядра:</para>

	  <para><literal>options GEOM_BDE</literal></para>

	  <para>Выполните конфигурацию, компиляцию и установку нового ядра
            FreeBSD.  Этот процесс описан в <xref
            linkend="kernelconfig">.</para>

	  <para>Перезагрузитесь, запустив новое ядро.</para>
	</step>
      </procedure>
    </sect2>

    <sect2>
      <title>Подготовка зашифрованного жёсткого диска</title>

      <para>В следующем примере предполагается, что в вашу систему вы
        добавляете новый винчестер, на котором будет располагаться единственный
        раздел с зашифрованными данными.  Этот раздел будет монтироваться в
        каталог <filename>/private</filename>.  <application>gbde</application>
        может также использоваться для шифрования <filename>/home</filename> и
        <filename>/var/mail</filename>, но это требует более сложной
        последовательности действий, что выходит за рамки этого вводного
        материала.</para>

      <procedure>
	<step>
	  <title>Подключите новый жёсткий диск</title>

	  <para>Установите новый диск в систему, как это описано в <xref
            linkend="disks-adding">.  В рамках этого примера раздел,
            соответствующий новому жёсткому диску, будет называться
            <filename>/dev/ad4s1c</filename>.  Устройства
            <devicename>/dev/ad0s1<replaceable>*</replaceable></devicename>
            представляют существующие стандартные разделы FreeBSD нашей
            тестовой системы.</para>

	  <screen>&prompt.root; <userinput>ls /dev/ad*</userinput>
	    /dev/ad0        /dev/ad0s1b     /dev/ad0s1e     /dev/ad4s1
	    /dev/ad0s1      /dev/ad0s1c     /dev/ad0s1f     /dev/ad4s1c
	    /dev/ad0s1a     /dev/ad0s1d     /dev/ad4</screen>
	</step>

	<step>
	  <title>Создайте каталог для размещения файлов блокировок GBDE</title>

	  <screen>&prompt.root; <userinput>mkdir /etc/gbde</userinput></screen>

	  <para>Файл блокировки <application>gbde</application> содержит
            информацию, которая нужна <application>gbde</application> для
            доступа к зашифрованному разделу.  Не имея доступа к файлу
            блокировки, <application>gbde</application> не сможет расшифровать
            данные, хранимые в зашифрованном разделе, без значительного ручного
            вмешательства, что программно не поддерживается.  Каждый
            зашифрованный раздел использует отдельный файл блокировки.</para>
	</step>

	<step>
	  <title>Инициализируйте раздел gbde</title>

	  <para>Перед началом работы с разделом <application>gbde</application>
	    его необходимо проинициализировать.  Эта инициализация производится
            только один раз:</para>

	  <screen>&prompt.root; <userinput>gbde init /dev/ad4s1c -i -L /etc/gbde/ad4s1c</userinput></screen>

	  <para>&man.gbde.8; запустит редактор, что позволит вам задать
            в шаблоне различные конфигурационные параметры.  При работе с
            файловыми системами UFS1 и UFS2 задайте значение sector_size равным
            2048:</para>

	  <programlisting>$<!-- This is not the space you are looking
for-->FreeBSD: src/sbin/gbde/template.txt,v 1.1 2002/10/20 11:16:13 phk Exp $
	    #
	    # Sector size is the smallest unit of data which can be read or written.
	    # Making it too small decreases performance and decreases available space.
	    # Making it too large may prevent filesystems from working.  512 is the
	    # minimum and always safe.  For UFS, use the fragment size
	    #
	    sector_size     =       2048
	    [...]</programlisting>

	  <para>&man.gbde.8; дважды запросит ввод пароля, который будет
            использоваться для защиты данных.  Пароль в обоих случаях должен
            вводиться одинаковый.  Возможности <application>gbde</application>
            по защите ваших данных полностью зависят от качества выбранной
            вами ключевой фразы.
            <footnote>
	      <para>Советы по выбору легкозапоминающихся ключевых фраз можно
                найти на сайте <ulink
                url="http://world.std.com/~reinhold/diceware.html">Diceware
                Passphrase</ulink>.</para>
            </footnote></para>

	  <para>По команде <command>gbde init</command> создаётся файл
            блокировок для вашего раздела <application>gbde</application>,
            который в нашем случае будет иметь имя
            <filename>/etc/gbde/ad4s1c</filename>.</para>

	  <caution>
	    <para>Резервные копии файлов блокировок
              <application>gbde</application> <emphasis>должны</emphasis>
              храниться вместе с содержимым шифруемых разделов.  Хотя удаление
              только блокировочного файла не сможет противостоять дешифрации
              атакующим раздела <application>gbde</application>, без этого
              файла даже легитимный пользователь не сможет получить доступ к
              данным без определённых и значительных усилий, что не
              поддерживается &man.gbde.8; и его разработчиком.</para>
	  </caution>
	</step>

	<step>
	  <title>Подключите зашифрованный раздел к системе</title>

	  <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>

	  <para>Будет выдан запрос на ввод ключевой фразы, которую вы выбирали
            во время инициализации зашифрованного раздела.  Новое защищённое
            устройство будет видно в каталоге <filename>/dev</filename> под
            названием <filename>/dev/device_name.bde</filename>:</para>

	  <screen>&prompt.root; <userinput>ls /dev/ad*</userinput>
	    /dev/ad0        /dev/ad0s1b     /dev/ad0s1e     /dev/ad4s1
	    /dev/ad0s1      /dev/ad0s1c     /dev/ad0s1f     /dev/ad4s1c
	    /dev/ad0s1a     /dev/ad0s1d     /dev/ad4        /dev/ad4s1c.bde</screen>
	</step>

	<step>
	  <title>Создайте файловую систему на зашифрованном устройстве</title>

	  <para>Как только защищённое устройство будет подключено к системе,
            вы сможете создать на нём файловую систему.  Для этого используется
            утилита &man.newfs.8;.  Так как инициализация новой файловой
            системы UFS2 происходит быстрее, чем инициализация файловой системы
            старого формата UFS1, то рекомендуется использовать &man.newfs.8; с
            параметром <option>-O2</option>.</para>

          <note>
            <para>Во &os;&nbsp;5.1-RELEASE и последующих релизах параметр
              <option>-O2</option> используется по умолчанию.</para>
          </note>

	  <screen>&prompt.root; <userinput>newfs -U -O2 /dev/ad4s1c.bde</userinput></screen>

	  <note>
	    <para>Запуск команды &man.newfs.8; должен выполняться над
              подключенном разделе <application>gbde</application>, который
              идентифицируется по расширению
              <filename><replaceable>*</replaceable>.bde</filename> в имени
              устройства.</para>
	  </note>
	</step>

	<step>
	  <title>Смонтируйте зашифрованный раздел</title>

	  <para>Создайте точку монтирования для зашифрованной файловой
            системы.</para>

	  <screen>&prompt.root; <userinput>mkdir /private</userinput></screen>

	  <para>Смонтируйте защищённую файловую систему.</para>

	  <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen>
	</step>

	<step>
	  <title>Проверьте доступность зашифрованной файловой системы</title>

	  <para>Защищённая файловая система теперь должна быть доступна утилите
            &man.df.1; и доступной для использования.</para>

	  <screen>&prompt.user; <userinput>df -H</userinput>
	    Filesystem        Size   Used  Avail Capacity  Mounted on
	    /dev/ad0s1a      1037M    72M   883M     8%    
	    /devfs            1.0K   1.0K     0B   100%    /dev 
	    /dev/ad0s1f       8.1G    55K   7.5G     0%    /home 
	    /dev/ad0s1e      1037M   1.1M   953M     0%    /tmp 
	    /dev/ad0s1d       6.1G   1.9G   3.7G    35%    /usr 
	    /dev/ad4s1c.bde   150G   4.1K   138G     0%    /private</screen>
	</step>
      </procedure>
    </sect2>

    <sect2>
      <title>Монтирование имеющихся зашифрованных файловых систем</title>

      <para>После каждой загрузки для каждой защищённой файловой системы перед
        их использованием должны выполняться повторное подключение к системе,
        проверка на наличие ошибок и монтирование.  Требуемые для этого команды
        должны выполняться пользователем <username>root</username>.</para>

      <procedure>
	<step>
	  <title>Подключение gbde-раздела к системе</title>

	  <screen>&prompt.root; <userinput>gbde attach /dev/ad4s1c -l /etc/gbde/ad4s1c</userinput></screen>
	  
	  <para>Будет выдан запрос на ввод ключевой фразы, выбранной на этапе
            инициализации зашифрованного раздела gbde.</para>
	</step>

	<step>
	  <title>Проверка файловой системы на наличие ошибок</title>

	  <para>Так как защищаемая файловая система не может пока быть указана
            в файле <filename>/etc/fstab</filename> для автоматического
            монтирования, то она должны проверяться на наличие ошибок
            посредством ручного запуска &man.fsck.8; до её монтирования.</para>

	  <screen>&prompt.root; <userinput>fsck -p -t ffs /dev/ad4s1c.bde</userinput></screen>
	</step>

	<step>
	  <title>Монтирование зашифрованной файловой системы</title>

	  <screen>&prompt.root; <userinput>mount /dev/ad4s1c.bde /private</userinput></screen>
	  
	  <para>Теперь защищённая файловая система доступна для работы.</para>
	</step>
      </procedure>

      <sect3>
	<title>Автоматическое монтирование зашифрованных разделов</title>

	<para>Для автоматического подключения, проверки и монтирования
          зашифрованного раздела можно создать скрипт, но во соображениям
          безопасности в этом скрипте пароля для &man.gbde.8; быть не должно.
          Поэтому рекомендуется запускать такие скрипты вручную, а пароль
          задавать с консоли или сеанса &man.ssh.1;.</para>
      </sect3>
    </sect2>

    <sect2>
      <title>Криптографическая защита, применяемая в gbde</title>

      <para>&man.gbde.8; шифрует содержимое секторов при помощи 128-битного
        AES в режиме CBC.  Каждый сектор диска шифруется различным ключом
        AES.  Более полная информацию о системе шифрования
        <application>gbde</application>, включая алгоритм генерации ключей
        для секторов из ключевой фразы, вводимой пользователем, можно найти
        на страницах справочной системы о &man.gbde.4;.</para>
    </sect2>

    <sect2>
      <title>Вопросы совместимости</title>

      <para>&man.sysinstall.8; несовместим с устройствами, зашифрованными
        <application>gbde</application>.  Все устройства
        <devicename><replaceable>*</replaceable>.bde</devicename> перед
        запуском &man.sysinstall.8; должны быть отключены от системы, или
        эта утилита аварийно завершит работу на этапе обнаружения устройств.
        Для отключения защищённого устройства, используемого в нашем примере,
        воспользуйтесь такой командой:</para>

      <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen>

      <para>Также заметьте, что, так как &man.vinum.4; работает не через
        подсистему &man.geom.4;, то вы не можете использовать тома
        <application>vinum</application> с
        <application>gbde</application>.</para>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
