FreeBSD doc

Check-in [7d16296a25]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:+ ru/articles & ru/books/handbook: restore <replaceable> tags, which were lost during conversion to the DocBook5. P.S.: special thanks to wblock@ for his script [1], which made this task much easier. 1. http://lists.freebsd.org/pipermail/freebsd-doc/2014-March/023463.html git-svn-id: svn+ssh://svn.freebsd.org/doc/head@45050 c2e8774f-c49f-e111-b436-862b2bbc8956
Timelines: family | ancestors | descendants | both | svn_head | trunk
Files: files | file ages | folders
SHA1:7d16296a259c439c44b3ce696126c90eb559072d
User & Date: taras@c2e8774f-c49f-e111-b436-862b2bbc8956 2014-06-13 14:53:24
Context
2014-06-13
17:21
r44892 -> r44979 MFde: Resync the project news Obtained from: The FreeBSD German Documentation Project git-svn-id: svn+ssh://svn.freebsd.org/doc/head@45051 c2e8774f-c49f-e111-b436-862b2bbc8956 check-in: eb0893be90 user: jkois@c2e8774f-c49f-e111-b436-862b2bbc8956 tags: svn_head, trunk
14:53
+ ru/articles & ru/books/handbook: restore <replaceable> tags, which were lost during conversion to the DocBook5. P.S.: special thanks to wblock@ for his script [1], which made this task much easier. 1. http://lists.freebsd.org/pipermail/freebsd-doc/2014-March/023463.html git-svn-id: svn+ssh://svn.freebsd.org/doc/head@45050 c2e8774f-c49f-e111-b436-862b2bbc8956 check-in: 7d16296a25 user: taras@c2e8774f-c49f-e111-b436-862b2bbc8956 tags: svn_head, trunk
12:05
- Merge the following from the English version: r44774 -> r44775 head/ja_JP.eucJP/books/handbook/cutting-edge/chapter.xml git-svn-id: svn+ssh://svn.freebsd.org/doc/head@45049 c2e8774f-c49f-e111-b436-862b2bbc8956 check-in: bca7af6141 user: ryusuke@c2e8774f-c49f-e111-b436-862b2bbc8956 tags: svn_head, trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to ru_RU.KOI8-R/articles/committers-guide/article.xml.

83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
...
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
....
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
....
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
....
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
....
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
....
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
....
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
....
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
....
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
....
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
	  <row>
	    <entry><emphasis>Списки рассылки</emphasis></entry>
	    <entry>&a.doc-developers;, &a.doc-committers;;
	    &a.ports-developers;, &a.ports-committers;;
	    &a.src-developers;, &a.src-committers;.  (Каждому репозиторию
	    проекта соответствуют отдельные списки рассылки с суффиксами
	    -developers и -committers.  Архивы этих списков хранятся в файлах
	    <filename>/home/mail/repository-name-developers-archive</filename>
	    и
	    <filename>/home/mail/repository-name-committers-archive</filename>
	    на машинах кластера <systemitem class="fqdomainname">FreeBSD.org</systemitem>).
	    </entry>
	  </row>


	  <row>
	    <entry><emphasis>Отчеты Правления</emphasis></entry>
................................................................................
    <programlisting>alias dcvs cvs -d <replaceable>user</replaceable>@dcvs.FreeBSD.org:/home/dcvs
alias pcvs cvs -d <replaceable>user</replaceable>@pcvs.FreeBSD.org:/home/pcvs
alias projcvs cvs -d <replaceable>user</replaceable>@projcvs.FreeBSD.org:/home/projcvs
alias scvs cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.org:/home/ncvs</programlisting>

    <para>Теперь все операции с CVS могут выполняться на локальной машине,
      а для внесения изменений в официальное дерево CVS следует использовать
      команду <command>Xcvs commit</command>.
      Если вам нужно добавить в проект что-либо совершенно новое (например,
      исходные тексты сторонних разработчиков), нужно использовать команду
      <command>cvs import</command>; обратитесь к странице справочника по
      &man.cvs.1; за подробностями.</para>

    <note>
      <para>Пожалуйста, <emphasis>не используйте</emphasis> команды
................................................................................
	    для идентификации коммиттера (например, его будет проверять группа
	    &a.admins; для аварийного восстановления учетной записи).  Полный
	    набор актуальных ключей пользователей домена <systemitem class="fqdomainname">FreeBSD.org</systemitem> можно найти по адресу <link xlink:href="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</link>.</para>
	</note>
      </listitem>

      <listitem>
	<para>Добавьте себя в файл <filename>src/share/misc/committers-репозиторий.dot</filename>,
	  где репозиторием будет являться либо doc, либо ports, либо src в зависимости от полученных вами коммиттерских
	  привилегий.</para>
      </listitem>

      <listitem>
	<para>Некоторые коммиттеры добавляют информацию о своем местоположении
	  в файл
................................................................................
	  резюме или биографию: будут достаточны один-два абзаца о себе и
	  областях FreeBSD, в которых вы планируете работать.  Пошлите это
	  письмо в &a.developers;&nbsp;&mdash; и все!</para>
      </listitem>

      <listitem>
	<para>Зайдите на машину <systemitem>hub.FreeBSD.org</systemitem> и создайте
	  файл <filename>/var/forward/user</filename>
	  (замените <replaceable>user</replaceable> на ваше имя пользователя).
	  Этот файл должен содержать адрес электронной почты, на который
	  будет переправляться вся почта на адрес
	  <replaceable>yourusername</replaceable>@FreeBSD.org, в том числе
	  сообщения о коммитах и другая почта на адреса &a.committers; и
	  &a.developers;.  Слишком большие почтовые ящики на машине
	  <systemitem>hub</systemitem> могут быть <quote>нечаянно</quote> удалены
................................................................................
  <sect1 xml:id="gnats">
    <title>GNATS</title>

    <para>Для отслеживания ошибок и запросов на изменения проект FreeBSD
      использует <application>GNATS</application>.  Если вы исправили ошибку
      или внесли изменения, описанные в одном из сообщений об ошибках (PR),
      не забудьте закрыть это сообщение, используя команду
      <command>edit-pr pr-number</command> на машине
      <systemitem>freefall</systemitem>.  Хорошо будет, если вы потратите немного
      времени на поиск и закрытие других PR по этой теме.  Вы и сами можете
      пользоваться &man.send-pr.1; для предложения изменений, которые, по
      вашему мнению, могут потребовать более подробного обсуждения с
      коллегами.</para>

    <para>Более подробно о <application>GNATS</application> можно прочитать
................................................................................
      </step>

      <step>
	<para>Пошлите ваш публичный ключ (содержимое файла
	  <filename>$HOME/.ssh/id_dsa.pub</filename>
	  или <filename>$HOME/.ssh/id_rsa.pub</filename>)
	  вашему будущему ментору, чтобы он мог быть помещен в файл
	  <filename>yourlogin</filename> в каталоге
	  <filename>/c/ssh-keys/</filename> на машине
	  <systemitem>freefall</systemitem>.
	</para>
      </step>
    </procedure>

    <para>Теперь вы можете пользоваться утилитой &man.ssh-add.1; для
................................................................................
	    <para>Проверьте его.  Желательно убедиться в том, что порт и
	      соответствующий пакет корректно собираются.  Рекомендуемая
	      последовательность действий такова:</para>

	    <screen>&prompt.root; <userinput>make install</userinput>
&prompt.root; <userinput>make package</userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>pkg_add имя собранного пакета</userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>make reinstall</userinput>
&prompt.root; <userinput>make package</userinput>
	    </screen>

	    <para>Более подробные инструкции можно найти в
	      <link xlink:href="&url.books.porters-handbook;/index.html">Руководстве
................................................................................

	    <para>Если новый порт прислал человек, еще не упомянутый в
	      <link xlink:href="&url.articles.contributors;/contrib-additional.html">Списке
	      прочих участников</link>, добавьте его имя туда.</para>

	    <para>Закройте PR, если новый порт пришел в виде PR.  Для этого
	      воспользуйтесь командой
	      <userinput>edit-pr PR#</userinput>
	      на машине <systemitem>freefall</systemitem> и измените значение в строке
	      <varname>state</varname> с <constant>open</constant> на
	      <constant>closed</constant>.  Затем опишите причину смены
	      статуса, и на этом работа закончена.</para>
	  </answer>
	</qandaentry>
      </qandadiv>
................................................................................
		    для связи установленных пакетов с каталогами дерева
		    портов.  Если эта связь установлена неправильно, перестанут
		    правильно функционировать утилиты работы с портами, такие
		    как &man.pkg.version.1; и &man.portupgrade.1;.</para>

		  <para>Для проверки следует использовать скрипт
		    <filename>chkorigin.sh</filename>: <command>env
		    PORTSDIR=/path/to/ports
		    sh -e /path/to/ports/Tools/scripts/chkorigin.sh
		    </command>.  Эта команда проверит
		    <emphasis>каждый</emphasis> порт в дереве, в том числе и
		    те, что не включены в процесс сборки, так что ее можно
		    использовать сразу после репозиторного копирования.
		    Совет: не забудьте проверить <varname>PKGORIGIN</varname>
		    для зависимых от изменяемых вами портов!</para>
		</step>
................................................................................
			<filename>distrib/cvsup/sup/README</filename>
		      </para>
		    </listitem>

		    <listitem>
		      <para>
			Добавьте в каталог
			<filename>distrib/cvsup/sup/ports-categoryname</filename>
			два файла:
			<filename>list.cvs</filename> и
			<filename>releases</filename>.</para>
		    </listitem>

		    <listitem>
		      <para>
................................................................................
	<term>Прямой доступ к машине <systemitem>cvsup-master</systemitem></term>

	<listitem>
	  <para>Будучи коммиттером, вы можете обратиться к &a.kuriyama.email;, чтобы
	    получить доступ к машине
	    <systemitem class="fqdomainname">cvsup-master.FreeBSD.org</systemitem>, приложив
	    вывод команды <command>cvpasswd
	    yourusername@FreeBSD.org
	    freefall.FreeBSD.org</command>.  Обратите внимание: в командной
	    строке вы должны указать <systemitem>freefall.FreeBSD.org</systemitem>,
	    хотя реальным сервером будет <systemitem>cvsup-master</systemitem>.
	    Доступом к <systemitem>cvsup-master</systemitem> не следует злоупотреблять:
	    это весьма загруженная машина.</para>
	</listitem>
      </varlistentry>







|

|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|
|







 







|







 







|







83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
...
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
....
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
....
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
....
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
....
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
....
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
....
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
....
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
....
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
....
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
	  <row>
	    <entry><emphasis>Списки рассылки</emphasis></entry>
	    <entry>&a.doc-developers;, &a.doc-committers;;
	    &a.ports-developers;, &a.ports-committers;;
	    &a.src-developers;, &a.src-committers;.  (Каждому репозиторию
	    проекта соответствуют отдельные списки рассылки с суффиксами
	    -developers и -committers.  Архивы этих списков хранятся в файлах
	    <filename>/home/mail/<replaceable>repository-name</replaceable>-developers-archive</filename>
	    и
	    <filename>/home/mail/<replaceable>repository-name</replaceable>-committers-archive</filename>
	    на машинах кластера <systemitem class="fqdomainname">FreeBSD.org</systemitem>).
	    </entry>
	  </row>


	  <row>
	    <entry><emphasis>Отчеты Правления</emphasis></entry>
................................................................................
    <programlisting>alias dcvs cvs -d <replaceable>user</replaceable>@dcvs.FreeBSD.org:/home/dcvs
alias pcvs cvs -d <replaceable>user</replaceable>@pcvs.FreeBSD.org:/home/pcvs
alias projcvs cvs -d <replaceable>user</replaceable>@projcvs.FreeBSD.org:/home/projcvs
alias scvs cvs -d <replaceable>user</replaceable>@ncvs.FreeBSD.org:/home/ncvs</programlisting>

    <para>Теперь все операции с CVS могут выполняться на локальной машине,
      а для внесения изменений в официальное дерево CVS следует использовать
      команду <command><replaceable>X</replaceable>cvs commit</command>.
      Если вам нужно добавить в проект что-либо совершенно новое (например,
      исходные тексты сторонних разработчиков), нужно использовать команду
      <command>cvs import</command>; обратитесь к странице справочника по
      &man.cvs.1; за подробностями.</para>

    <note>
      <para>Пожалуйста, <emphasis>не используйте</emphasis> команды
................................................................................
	    для идентификации коммиттера (например, его будет проверять группа
	    &a.admins; для аварийного восстановления учетной записи).  Полный
	    набор актуальных ключей пользователей домена <systemitem class="fqdomainname">FreeBSD.org</systemitem> можно найти по адресу <link xlink:href="&url.base;/doc/pgpkeyring.txt">http://www.FreeBSD.org/doc/pgpkeyring.txt</link>.</para>
	</note>
      </listitem>

      <listitem>
	<para>Добавьте себя в файл <filename>src/share/misc/committers-<replaceable>репозиторий</replaceable>.dot</filename>,
	  где репозиторием будет являться либо doc, либо ports, либо src в зависимости от полученных вами коммиттерских
	  привилегий.</para>
      </listitem>

      <listitem>
	<para>Некоторые коммиттеры добавляют информацию о своем местоположении
	  в файл
................................................................................
	  резюме или биографию: будут достаточны один-два абзаца о себе и
	  областях FreeBSD, в которых вы планируете работать.  Пошлите это
	  письмо в &a.developers;&nbsp;&mdash; и все!</para>
      </listitem>

      <listitem>
	<para>Зайдите на машину <systemitem>hub.FreeBSD.org</systemitem> и создайте
	  файл <filename>/var/forward/<replaceable>user</replaceable></filename>
	  (замените <replaceable>user</replaceable> на ваше имя пользователя).
	  Этот файл должен содержать адрес электронной почты, на который
	  будет переправляться вся почта на адрес
	  <replaceable>yourusername</replaceable>@FreeBSD.org, в том числе
	  сообщения о коммитах и другая почта на адреса &a.committers; и
	  &a.developers;.  Слишком большие почтовые ящики на машине
	  <systemitem>hub</systemitem> могут быть <quote>нечаянно</quote> удалены
................................................................................
  <sect1 xml:id="gnats">
    <title>GNATS</title>

    <para>Для отслеживания ошибок и запросов на изменения проект FreeBSD
      использует <application>GNATS</application>.  Если вы исправили ошибку
      или внесли изменения, описанные в одном из сообщений об ошибках (PR),
      не забудьте закрыть это сообщение, используя команду
      <command>edit-pr <replaceable>pr-number</replaceable></command> на машине
      <systemitem>freefall</systemitem>.  Хорошо будет, если вы потратите немного
      времени на поиск и закрытие других PR по этой теме.  Вы и сами можете
      пользоваться &man.send-pr.1; для предложения изменений, которые, по
      вашему мнению, могут потребовать более подробного обсуждения с
      коллегами.</para>

    <para>Более подробно о <application>GNATS</application> можно прочитать
................................................................................
      </step>

      <step>
	<para>Пошлите ваш публичный ключ (содержимое файла
	  <filename>$HOME/.ssh/id_dsa.pub</filename>
	  или <filename>$HOME/.ssh/id_rsa.pub</filename>)
	  вашему будущему ментору, чтобы он мог быть помещен в файл
	  <filename><replaceable>yourlogin</replaceable></filename> в каталоге
	  <filename>/c/ssh-keys/</filename> на машине
	  <systemitem>freefall</systemitem>.
	</para>
      </step>
    </procedure>

    <para>Теперь вы можете пользоваться утилитой &man.ssh-add.1; для
................................................................................
	    <para>Проверьте его.  Желательно убедиться в том, что порт и
	      соответствующий пакет корректно собираются.  Рекомендуемая
	      последовательность действий такова:</para>

	    <screen>&prompt.root; <userinput>make install</userinput>
&prompt.root; <userinput>make package</userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>pkg_add <replaceable>имя собранного пакета</replaceable></userinput>
&prompt.root; <userinput>make deinstall</userinput>
&prompt.root; <userinput>make reinstall</userinput>
&prompt.root; <userinput>make package</userinput>
	    </screen>

	    <para>Более подробные инструкции можно найти в
	      <link xlink:href="&url.books.porters-handbook;/index.html">Руководстве
................................................................................

	    <para>Если новый порт прислал человек, еще не упомянутый в
	      <link xlink:href="&url.articles.contributors;/contrib-additional.html">Списке
	      прочих участников</link>, добавьте его имя туда.</para>

	    <para>Закройте PR, если новый порт пришел в виде PR.  Для этого
	      воспользуйтесь командой
	      <userinput>edit-pr <replaceable>PR#</replaceable></userinput>
	      на машине <systemitem>freefall</systemitem> и измените значение в строке
	      <varname>state</varname> с <constant>open</constant> на
	      <constant>closed</constant>.  Затем опишите причину смены
	      статуса, и на этом работа закончена.</para>
	  </answer>
	</qandaentry>
      </qandadiv>
................................................................................
		    для связи установленных пакетов с каталогами дерева
		    портов.  Если эта связь установлена неправильно, перестанут
		    правильно функционировать утилиты работы с портами, такие
		    как &man.pkg.version.1; и &man.portupgrade.1;.</para>

		  <para>Для проверки следует использовать скрипт
		    <filename>chkorigin.sh</filename>: <command>env
		    PORTSDIR=<replaceable>/path/to/ports</replaceable>
		    sh -e <replaceable>/path/to/ports</replaceable>/Tools/scripts/chkorigin.sh
		    </command>.  Эта команда проверит
		    <emphasis>каждый</emphasis> порт в дереве, в том числе и
		    те, что не включены в процесс сборки, так что ее можно
		    использовать сразу после репозиторного копирования.
		    Совет: не забудьте проверить <varname>PKGORIGIN</varname>
		    для зависимых от изменяемых вами портов!</para>
		</step>
................................................................................
			<filename>distrib/cvsup/sup/README</filename>
		      </para>
		    </listitem>

		    <listitem>
		      <para>
			Добавьте в каталог
			<filename>distrib/cvsup/sup/ports-<replaceable>categoryname</replaceable></filename>
			два файла:
			<filename>list.cvs</filename> и
			<filename>releases</filename>.</para>
		    </listitem>

		    <listitem>
		      <para>
................................................................................
	<term>Прямой доступ к машине <systemitem>cvsup-master</systemitem></term>

	<listitem>
	  <para>Будучи коммиттером, вы можете обратиться к &a.kuriyama.email;, чтобы
	    получить доступ к машине
	    <systemitem class="fqdomainname">cvsup-master.FreeBSD.org</systemitem>, приложив
	    вывод команды <command>cvpasswd
	    <replaceable>yourusername</replaceable>@FreeBSD.org
	    freefall.FreeBSD.org</command>.  Обратите внимание: в командной
	    строке вы должны указать <systemitem>freefall.FreeBSD.org</systemitem>,
	    хотя реальным сервером будет <systemitem>cvsup-master</systemitem>.
	    Доступом к <systemitem>cvsup-master</systemitem> не следует злоупотреблять:
	    это весьма загруженная машина.</para>
	</listitem>
      </varlistentry>

Changes to ru_RU.KOI8-R/articles/console-server/article.xml.

420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
...
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
	<para>Использование портов является более ясным подходом, так как
	  система пакетов может отслеживать установленное программное
	  обеспечение и полностью удалять его, если оно не используется.
	  Рекомендуем использовать порт <package>comms/conserver-com</package>.
	  Перейдите в каталог этого порта и
	  (работая как пользователь <systemitem class="username">root</systemitem>) наберите:</para>

	<screen>&prompt.root; <userinput>make DEFAULTHOST=consolehost install</userinput></screen>

	<para>где <replaceable>consolehost</replaceable> является именем
	  машины, на которой работает консольный сервер.  Задание этого при
	  компиляции бинарного файла избавляет от необходимости указывать его
	  каждый раз при запуске программы либо поддерживать файлы
	  <filename>conserver.cf</filename> для каждого хоста.  Эта команда
	  загрузит, установит патчи, сконфигурирует, скомпилирует и установит
................................................................................
allow:  itga.com.au
trusted:	127.0.0.1 buzz</programlisting>

      <para>Первая строка означает, что по умолчанию все файлы протоколов
	будут располагаться в каталоге <filename>/var/log/consoles</filename>.
	Символ <quote>&amp;</quote> в каждой строке указывает на то, что файл
	журнала для этой машины будет называться
	<filename>/var/log/consoles/machine</filename>.</para>

      <para>В следующих трёх строках показаны три машины, к которым нам нужно
	подключаться.  Мы используем устройства
	<filename>cuaEx</filename> вместо
	<filename>ttyEx</filename>, потому что
	на консольных портах обычно отсутствует несущая.  Это означает, что
	открытие <filename>ttyEx</filename>
	будет зависать, и <application>conserver</application> никогда не
	сможет осуществить подключение.  Использование устройства
	<filename>cuaEx</filename> позволяет
	уйти от этой проблемы.  Другим решением будет использование устройств
	<filename>ttyEx</filename> и разрешение
	использования на этим портах <quote>программной несущей</quote>,
	возможно, путём установки этого при помощи устройства
	<filename>ttyiEx</filename> в файле
	<filename>/etc/rc.serial</filename>.  Посмотрите комментарии в этом
	файле для выяснения всех деталей.  Также посмотрите &man.sio.4; для
	получения информации об устройствах с начальным состоянием и с
	блокированным состоянием.  (Драйвер Stallion также поддерживает эти
	соглашения).  И прочтите &man.stty.1; для получения подробностей об
	установке режимов работы устройств.</para>








|







 







|



|
|

|


|

|


|







420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
...
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
	<para>Использование портов является более ясным подходом, так как
	  система пакетов может отслеживать установленное программное
	  обеспечение и полностью удалять его, если оно не используется.
	  Рекомендуем использовать порт <package>comms/conserver-com</package>.
	  Перейдите в каталог этого порта и
	  (работая как пользователь <systemitem class="username">root</systemitem>) наберите:</para>

	<screen>&prompt.root; <userinput>make DEFAULTHOST=<replaceable>consolehost</replaceable> install</userinput></screen>

	<para>где <replaceable>consolehost</replaceable> является именем
	  машины, на которой работает консольный сервер.  Задание этого при
	  компиляции бинарного файла избавляет от необходимости указывать его
	  каждый раз при запуске программы либо поддерживать файлы
	  <filename>conserver.cf</filename> для каждого хоста.  Эта команда
	  загрузит, установит патчи, сконфигурирует, скомпилирует и установит
................................................................................
allow:  itga.com.au
trusted:	127.0.0.1 buzz</programlisting>

      <para>Первая строка означает, что по умолчанию все файлы протоколов
	будут располагаться в каталоге <filename>/var/log/consoles</filename>.
	Символ <quote>&amp;</quote> в каждой строке указывает на то, что файл
	журнала для этой машины будет называться
	<filename>/var/log/consoles/<replaceable>machine</replaceable></filename>.</para>

      <para>В следующих трёх строках показаны три машины, к которым нам нужно
	подключаться.  Мы используем устройства
	<filename>cuaE<replaceable>x</replaceable></filename> вместо
	<filename>ttyE<replaceable>x</replaceable></filename>, потому что
	на консольных портах обычно отсутствует несущая.  Это означает, что
	открытие <filename>ttyE<replaceable>x</replaceable></filename>
	будет зависать, и <application>conserver</application> никогда не
	сможет осуществить подключение.  Использование устройства
	<filename>cuaE<replaceable>x</replaceable></filename> позволяет
	уйти от этой проблемы.  Другим решением будет использование устройств
	<filename>ttyE<replaceable>x</replaceable></filename> и разрешение
	использования на этим портах <quote>программной несущей</quote>,
	возможно, путём установки этого при помощи устройства
	<filename>ttyiE<replaceable>x</replaceable></filename> в файле
	<filename>/etc/rc.serial</filename>.  Посмотрите комментарии в этом
	файле для выяснения всех деталей.  Также посмотрите &man.sio.4; для
	получения информации об устройствах с начальным состоянием и с
	блокированным состоянием.  (Драйвер Stallion также поддерживает эти
	соглашения).  И прочтите &man.stty.1; для получения подробностей об
	установке режимов работы устройств.</para>

Changes to ru_RU.KOI8-R/articles/cups/article.xml.

110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
    <note>
      <para>Замените <replaceable>X</replaceable>,
	<replaceable>Y</replaceable> и <replaceable>Z</replaceable> номерами
	соответствующего принтеру целевого устройства USB, отображаемого
	в каталоге <filename>/dev/usb</filename>.  Чтобы
	найти требуемые значения, просмотрите вывод &man.dmesg.8; и найдите
	связанное с вашим принтером имя специального устройства
	<filename>ugenX.Y</filename>,
	последнее будет символической ссылкой на искомое устройство в каталоге
	<filename>/dev/usb</filename>.</para>
    </note>

    <para>Затем, добавьте следующие две записи в
      <filename>/etc/rc.conf</filename>:</para>








|







110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
    <note>
      <para>Замените <replaceable>X</replaceable>,
	<replaceable>Y</replaceable> и <replaceable>Z</replaceable> номерами
	соответствующего принтеру целевого устройства USB, отображаемого
	в каталоге <filename>/dev/usb</filename>.  Чтобы
	найти требуемые значения, просмотрите вывод &man.dmesg.8; и найдите
	связанное с вашим принтером имя специального устройства
	<filename>ugen<replaceable>X</replaceable>.<replaceable>Y</replaceable></filename>,
	последнее будет символической ссылкой на искомое устройство в каталоге
	<filename>/dev/usb</filename>.</para>
    </note>

    <para>Затем, добавьте следующие две записи в
      <filename>/etc/rc.conf</filename>:</para>

Changes to ru_RU.KOI8-R/articles/custom-gcc/article.xml.

86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
	или более новую (развивающуюся) версию (например:
	<package>lang/gcc43</package> или
	<package>lang/gcc45</package>).</para>

      <para>Для установки одного из вышеупомянутых портов
	<application>GCC</application>, наберите следующую команду:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/lang/gcc44 &amp;&amp; make install</userinput></screen>
    </sect2>
  </sect1>

  <sect1 xml:id="configuring-ports-gcc">
    <title>Настройка портов на использование требуемой
      версии <application>GCC</application></title>








|







86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
	или более новую (развивающуюся) версию (например:
	<package>lang/gcc43</package> или
	<package>lang/gcc45</package>).</para>

      <para>Для установки одного из вышеупомянутых портов
	<application>GCC</application>, наберите следующую команду:</para>

      <screen>&prompt.root; <userinput>cd /usr/ports/lang/<replaceable>gcc44</replaceable> &amp;&amp; make install</userinput></screen>
    </sect2>
  </sect1>

  <sect1 xml:id="configuring-ports-gcc">
    <title>Настройка портов на использование требуемой
      версии <application>GCC</application></title>

Changes to ru_RU.KOI8-R/articles/cvs-freebsd/article.xml.

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
..
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
...
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
...
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
...
714
715
716
717
718
719
720
721
722
723
724
725
726
727
    <sect2>
      <title>Инициализация хранилища</title>

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

      <screen>&prompt.user; <userinput>cvs -d path-to-repository init</userinput></screen>

      <para>Результатом ее выполнения будет созданный
	<application>CVS</application> служебный
	каталог <filename>CVSROOT</filename>, в котором выполняется вся
	настройка.</para>
    </sect2>

................................................................................
      <title>Группа пользователей хранилища</title>

      <para>Теперь мы создадим группу, которая будет владеть хранилищем.  В
	этой группе должны присутствовать все коммиттеры, для того, чтобы они
	могли писать в хранилище.  Для этой группы мы примем стандартное для
	FreeBSD название <literal>ncvs</literal>.</para>

      <screen>&prompt.root; <userinput>pw groupadd ncvs</userinput></screen>

      <para>Затем вы должны при помощи команды &man.chown.8; сменить владельца и
	группу для только что добавленного каталога:</para>

      <screen>&prompt.root; <userinput>chown -R :ncvs path-to-your-repository</userinput></screen>

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

    <sect2>
      <title>Получение исходных текстов</title>
................................................................................
	рекомендуемым методом является простое копирование скриптов.</para>

      <para>Не имеет значения, как вы относитесь к предыдущему
	параграфу&mdash;результат один и тот же.  Просто поместите ваш
	<filename>CVSROOT</filename> и скопируйте файлы FreeBSD поверх ваших
	локальных (неизмененных) копий:</para>

      <screen>&prompt.user; <userinput>cvs -d path-to-your-repository checkout CVSROOT</userinput>
&prompt.user; <userinput>cd CVSROOT</userinput>
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
&prompt.user; <userinput>cvs add *</userinput></screen>

      <para>Заметим, что вы, скорее всего, получите несколько предупреждений о
	том, что некоторые каталоги не были скопированы; это нормально, вам они
	не нужны.</para>
................................................................................
      <para>А теперь, после тщательной проверки, вы должны выполнить коммит
	ваших изменений.  Убедитесь, что вы дали сами себе доступ к каталогу
	<filename>CVSROOT</filename> в вашем <filename>avail</filename> до
	того, как его делать, так как в противном случае вы заблокируете сами
	себя.  Так что убедитесь, что всё именно так, как вы и предполагали, а
	затем выполните следующее:</para>

	<screen>&prompt.user; <userinput>cvs commit -m '- Initial FreeBSD scripts commit'</userinput></screen>
    </sect2>

    <sect2>
      <title>Тестирование настройки</title>

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

      <screen>&prompt.user; <userinput>cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' avail</userinput></screen>

      <para>Если всё работает, поздравляем!  Теперь у вас имеется работающая
	настройка скриптов FreeBSD для вашего хранилища.  Если
	<application>CVS</application> всё ещё о чём-то сообщает, вернитесь и
	проверьте, все ли вышеупомянутые шаги были выполнены правильно.</para>
    </sect2>
  </sect1>
................................................................................
	  <screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>

	  <para>А затем установите их (для этого вы должны быть пользователем
	    root):</para>

	  <screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
&prompt.root; <userinput>chown root:ncvs /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod o-rx /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod u-w,g+s /usr/bin/cvs</userinput></screen>

	  <para>При этом обработчик будет установлен по умолчанию как команда
	    <command>cvs</command>, что гарантирует всеми, использующими
	    хранилище, получение правильных уровней доступа.</para>
	</step>
................................................................................
    <sect2>
      <title>Тестирование настройки</title>

      <para>Теперь ваш обработчик должен быть установлен.  Конечно, вы можете
	протестировать его, выполнив принудительный коммит в файл
	<filename>access</filename>:</para>

      <screen>&prompt.user; <userinput>cvs commit -f -m 'Forced commit to test the new CVSROOT scripts' access</userinput></screen>

      <para>И снова, если это не сработает, проверьте, правильно ли были выполнены
	все вышеперечисленные шаги.</para>
    </sect2>
  </sect1>
</article>







|







 







|




|







 







|







 







|









|







 







|







 







|






79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
..
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
...
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
...
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
...
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
...
714
715
716
717
718
719
720
721
722
723
724
725
726
727
    <sect2>
      <title>Инициализация хранилища</title>

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

      <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-repository</replaceable> init</userinput></screen>

      <para>Результатом ее выполнения будет созданный
	<application>CVS</application> служебный
	каталог <filename>CVSROOT</filename>, в котором выполняется вся
	настройка.</para>
    </sect2>

................................................................................
      <title>Группа пользователей хранилища</title>

      <para>Теперь мы создадим группу, которая будет владеть хранилищем.  В
	этой группе должны присутствовать все коммиттеры, для того, чтобы они
	могли писать в хранилище.  Для этой группы мы примем стандартное для
	FreeBSD название <literal>ncvs</literal>.</para>

      <screen>&prompt.root; <userinput>pw groupadd <replaceable>ncvs</replaceable></userinput></screen>

      <para>Затем вы должны при помощи команды &man.chown.8; сменить владельца и
	группу для только что добавленного каталога:</para>

      <screen>&prompt.root; <userinput>chown -R :<replaceable>ncvs</replaceable> <replaceable>path-to-your-repository</replaceable></userinput></screen>

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

    <sect2>
      <title>Получение исходных текстов</title>
................................................................................
	рекомендуемым методом является простое копирование скриптов.</para>

      <para>Не имеет значения, как вы относитесь к предыдущему
	параграфу&mdash;результат один и тот же.  Просто поместите ваш
	<filename>CVSROOT</filename> и скопируйте файлы FreeBSD поверх ваших
	локальных (неизмененных) копий:</para>

      <screen>&prompt.user; <userinput>cvs -d <replaceable>path-to-your-repository</replaceable> checkout CVSROOT</userinput>
&prompt.user; <userinput>cd CVSROOT</userinput>
&prompt.user; <userinput>cp ../CVSROOT-freebsd/* .</userinput>
&prompt.user; <userinput>cvs add *</userinput></screen>

      <para>Заметим, что вы, скорее всего, получите несколько предупреждений о
	том, что некоторые каталоги не были скопированы; это нормально, вам они
	не нужны.</para>
................................................................................
      <para>А теперь, после тщательной проверки, вы должны выполнить коммит
	ваших изменений.  Убедитесь, что вы дали сами себе доступ к каталогу
	<filename>CVSROOT</filename> в вашем <filename>avail</filename> до
	того, как его делать, так как в противном случае вы заблокируете сами
	себя.  Так что убедитесь, что всё именно так, как вы и предполагали, а
	затем выполните следующее:</para>

	<screen>&prompt.user; <userinput>cvs commit -m '<replaceable>- Initial FreeBSD scripts commit</replaceable>'</userinput></screen>
    </sect2>

    <sect2>
      <title>Тестирование настройки</title>

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

      <screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' avail</userinput></screen>

      <para>Если всё работает, поздравляем!  Теперь у вас имеется работающая
	настройка скриптов FreeBSD для вашего хранилища.  Если
	<application>CVS</application> всё ещё о чём-то сообщает, вернитесь и
	проверьте, все ли вышеупомянутые шаги были выполнены правильно.</para>
    </sect2>
  </sect1>
................................................................................
	  <screen>&prompt.user; <userinput>cc -o cvs cvswrap.c</userinput></screen>

	  <para>А затем установите их (для этого вы должны быть пользователем
	    root):</para>

	  <screen>&prompt.root; <userinput>mv /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>mv cvs /usr/bin/cvs</userinput>
&prompt.root; <userinput>chown root:<replaceable>ncvs</replaceable> /usr/bin/cvs /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod o-rx /usr/bin/ncvs</userinput>
&prompt.root; <userinput>chmod u-w,g+s /usr/bin/cvs</userinput></screen>

	  <para>При этом обработчик будет установлен по умолчанию как команда
	    <command>cvs</command>, что гарантирует всеми, использующими
	    хранилище, получение правильных уровней доступа.</para>
	</step>
................................................................................
    <sect2>
      <title>Тестирование настройки</title>

      <para>Теперь ваш обработчик должен быть установлен.  Конечно, вы можете
	протестировать его, выполнив принудительный коммит в файл
	<filename>access</filename>:</para>

      <screen>&prompt.user; <userinput>cvs commit -f -m '<replaceable>Forced commit to test the new CVSROOT scripts</replaceable>' access</userinput></screen>

      <para>И снова, если это не сработает, проверьте, правильно ли были выполнены
	все вышеперечисленные шаги.</para>
    </sect2>
  </sect1>
</article>

Changes to ru_RU.KOI8-R/articles/fbsd-from-scratch/article.xml.

249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
...
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
...
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
...
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
      внесения изменений в скрипты с кодом.</para>

    <para>Скрипт с кодом для первого этапа называется
      <filename>stage_1.sh</filename>, и он запускается с единственным
      аргументом, например</para>

    <informalexample>
      <screen>&prompt.root; <userinput>./stage_1.sh default</userinput></screen>
    </informalexample>

    <para>будет считывать свою конфигурацию из файла
      <filename>stage_1.conf.default</filename> и записывать протокол в файл
      <filename>stage_1.log.default</filename>.</para>

    <para>Далее приводится мой файл <filename>stage_1.conf.default</filename>.
................................................................................

      <listitem>
        <para>успешно выполнили <command>make buildworld</command></para>
      </listitem>

      <listitem>
        <para>успешно выполнили <command>make buildkernel
          KERNCONF=whatever</command></para>
      </listitem>
    </itemizedlist>

    <para>Когда вы запускаете <filename>stage_1.sh</filename> первый раз, и
      конфигурационный файл, скопированный с работающей системы в новую,
      является устаревшим по сравнению с тем, что находится в каталоге
      <filename>/usr/src</filename>, <command>mergemaster</command> будет
................................................................................
      раз и будет пропускать все порты, которые уже установлены.  Он
      поддерживает <emphasis>dryrun</emphasis>-параметр (<option>-n</option>)
      для показа того, что будет выполнено.  Вы запускаете его точно
      также, как <filename>stage_1.sh</filename>, с только одним аргументом,
      указывающим на конфигурационный файл, к примеру</para>

    <informalexample>
      <screen>&prompt.root; <userinput>./stage_2.sh default</userinput></screen>
    </informalexample>

    <para>который будет считывать перечень портов из
      <filename>stage_2.conf.default</filename>.</para>

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

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

    <informalexample>
      <screen>&prompt.root; <userinput>make -f stage_3.mk target</userinput></screen>
    </informalexample>

    <para>Как и в случае с <filename>stage_2.sh</filename>, убедитесь, что файл
      <filename>stage_3.mk</filename> после загрузки новой системы есть в
      наличии, поместив его на совместно используемый раздел либо скопировав
      его куда-нибудь в новую систему.</para>
  </sect1>







|







 







|







 







|







 







|







249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
...
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
...
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
...
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
      внесения изменений в скрипты с кодом.</para>

    <para>Скрипт с кодом для первого этапа называется
      <filename>stage_1.sh</filename>, и он запускается с единственным
      аргументом, например</para>

    <informalexample>
      <screen>&prompt.root; <userinput>./stage_1.sh <replaceable>default</replaceable></userinput></screen>
    </informalexample>

    <para>будет считывать свою конфигурацию из файла
      <filename>stage_1.conf.default</filename> и записывать протокол в файл
      <filename>stage_1.log.default</filename>.</para>

    <para>Далее приводится мой файл <filename>stage_1.conf.default</filename>.
................................................................................

      <listitem>
        <para>успешно выполнили <command>make buildworld</command></para>
      </listitem>

      <listitem>
        <para>успешно выполнили <command>make buildkernel
          KERNCONF=<replaceable>whatever</replaceable></command></para>
      </listitem>
    </itemizedlist>

    <para>Когда вы запускаете <filename>stage_1.sh</filename> первый раз, и
      конфигурационный файл, скопированный с работающей системы в новую,
      является устаревшим по сравнению с тем, что находится в каталоге
      <filename>/usr/src</filename>, <command>mergemaster</command> будет
................................................................................
      раз и будет пропускать все порты, которые уже установлены.  Он
      поддерживает <emphasis>dryrun</emphasis>-параметр (<option>-n</option>)
      для показа того, что будет выполнено.  Вы запускаете его точно
      также, как <filename>stage_1.sh</filename>, с только одним аргументом,
      указывающим на конфигурационный файл, к примеру</para>

    <informalexample>
      <screen>&prompt.root; <userinput>./stage_2.sh <replaceable>default</replaceable></userinput></screen>
    </informalexample>

    <para>который будет считывать перечень портов из
      <filename>stage_2.conf.default</filename>.</para>

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

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

    <informalexample>
      <screen>&prompt.root; <userinput>make -f stage_3.mk <replaceable>target</replaceable></userinput></screen>
    </informalexample>

    <para>Как и в случае с <filename>stage_2.sh</filename>, убедитесь, что файл
      <filename>stage_3.mk</filename> после загрузки новой системы есть в
      наличии, поместив его на совместно используемый раздел либо скопировав
      его куда-нибудь в новую систему.</para>
  </sect1>

Changes to ru_RU.KOI8-R/articles/fonts/article.xml.

737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
...
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
    <para>Как только эти утилиты готовы, вы можете начать:</para>

    <orderedlist>
      <listitem>
	<para>Создайте файл <filename>.afm</filename> по такой команде:</para>

	<screen>
<prompt>%</prompt> <userinput>gs -dNODISPLAY -q -- ttf2pf.ps TTF_name PS_font_name AFM_name</userinput>
	</screen>

	<para>Здесь <replaceable>TTF_name</replaceable> обозначает ваш файл со
          шрифтом TrueType, <replaceable>PS_font_name</replaceable> является
          именем для файла <filename>.pfa</filename>,
          <replaceable>AFM_name</replaceable> задает имя для файла
          <filename>.afm</filename>.  Если вы не укажете имена выходных файлов,
................................................................................
          иметь привилегии администратора системы.  (Или, если вы избегаете
          здесь работать, обязательно посмотрите файлы
          <filename>DESC</filename>, <filename>text.enc</filename> и
	  <filename>generate/textmap</filename> в этом каталоге.)</para>

	<screen>
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc file.afm \
	    generate/textmap PS_font_name</userinput>
	</screen>

	<para>Здесь <filename>file.afm</filename> является файлом
          <replaceable>AFM_name</replaceable>, созданным программой
	  <command>ttf2pf.ps</command> выше, а
          <replaceable>PS_font_name</replaceable> является именем шрифта,
          используемым в той команде, так же, как и имя, которое будет







|







 







|







737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
...
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
    <para>Как только эти утилиты готовы, вы можете начать:</para>

    <orderedlist>
      <listitem>
	<para>Создайте файл <filename>.afm</filename> по такой команде:</para>

	<screen>
<prompt>%</prompt> <userinput>gs -dNODISPLAY -q -- ttf2pf.ps <replaceable>TTF_name</replaceable> <replaceable>PS_font_name</replaceable> <replaceable>AFM_name</replaceable></userinput>
	</screen>

	<para>Здесь <replaceable>TTF_name</replaceable> обозначает ваш файл со
          шрифтом TrueType, <replaceable>PS_font_name</replaceable> является
          именем для файла <filename>.pfa</filename>,
          <replaceable>AFM_name</replaceable> задает имя для файла
          <filename>.afm</filename>.  Если вы не укажете имена выходных файлов,
................................................................................
          иметь привилегии администратора системы.  (Или, если вы избегаете
          здесь работать, обязательно посмотрите файлы
          <filename>DESC</filename>, <filename>text.enc</filename> и
	  <filename>generate/textmap</filename> в этом каталоге.)</para>

	<screen>
<prompt>%</prompt> <userinput>afmtodit -d DESC -e text.enc file.afm \
	    generate/textmap <replaceable>PS_font_name</replaceable></userinput>
	</screen>

	<para>Здесь <filename>file.afm</filename> является файлом
          <replaceable>AFM_name</replaceable>, созданным программой
	  <command>ttf2pf.ps</command> выше, а
          <replaceable>PS_font_name</replaceable> является именем шрифта,
          используемым в той команде, так же, как и имя, которое будет

Changes to ru_RU.KOI8-R/articles/geom-class/article.xml.

492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
	<listitem>
	  <para>пользователь запускает служебную программу &man.geom.8;</para>
	</listitem>

	<listitem>
	  <para>программа решает каким классом geom ей придется
	    управлять и ищет библиотеку
	    <filename>geom_CLASSNAME.so</filename>
	    (которая обычно находится в <filename>/lib/geom</filename>).</para>
	</listitem>

	<listitem>
	  <para>она открывает библиотеку при помощи &man.dlopen.3;,
	    извлекает вспомогательные функции и определения параметров
	    командной строки.</para>







|







492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
	<listitem>
	  <para>пользователь запускает служебную программу &man.geom.8;</para>
	</listitem>

	<listitem>
	  <para>программа решает каким классом geom ей придется
	    управлять и ищет библиотеку
	    <filename>geom_<replaceable>CLASSNAME</replaceable>.so</filename>
	    (которая обычно находится в <filename>/lib/geom</filename>).</para>
	</listitem>

	<listitem>
	  <para>она открывает библиотеку при помощи &man.dlopen.3;,
	    извлекает вспомогательные функции и определения параметров
	    командной строки.</para>

Changes to ru_RU.KOI8-R/articles/ipsec-must/article.xml.

95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
...
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
	проходящей через интерфейс.  Программа &man.tcpdump.1;
	позволяет сделать это в случае, если Вы <link linkend="kernel">сконфигурировали своё ядро</link> с
	поддержкой <emphasis>Пакетного Фильтра Беркли (Berkeley Packet
	Filter)</emphasis>.</para>

      <para>Команда</para>

      <screen><userinput>tcpdump -c 4000 -s 10000 -w dumpfile.bin</userinput></screen>

      <para>сохранит 4000 пакетов в файл
	<replaceable>dumpfile.bin</replaceable>.  В данном примере объём
	записываемой информации в каждом пакете не может превышать
	10,000 байтов.</para>
    </sect2>
  </sect1>
................................................................................
	    MUST</link>, передав ему для обработки только что
	  сохранённые пакеты через командную строку.  Вы должны
	  увидеть что-то вроде изображённого чуть ниже.  Заметьте, что
	  безопасное соединение имеет 93% (6,7) от ожидаемого значения
	  (7,18), а обычное соединение &mdash; всего лишь 29%
	  (2,1).</para>

	<screen>&prompt.user; <userinput>tcpdump -c 4000 -s 10000 -w ipsecdemo.bin</userinput>
&prompt.user; <userinput>uliscan ipsecdemo.bin</userinput>

Uliscan 21 Dec 98
L=8 256 258560
Measuring file ipsecdemo.bin
Init done
Expected value for L=8 is 7.1836656
6.9396 --------------------------------------------------------







|







 







|
|







95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
...
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
	проходящей через интерфейс.  Программа &man.tcpdump.1;
	позволяет сделать это в случае, если Вы <link linkend="kernel">сконфигурировали своё ядро</link> с
	поддержкой <emphasis>Пакетного Фильтра Беркли (Berkeley Packet
	Filter)</emphasis>.</para>

      <para>Команда</para>

      <screen><userinput>tcpdump -c 4000 -s 10000 -w <replaceable>dumpfile.bin</replaceable></userinput></screen>

      <para>сохранит 4000 пакетов в файл
	<replaceable>dumpfile.bin</replaceable>.  В данном примере объём
	записываемой информации в каждом пакете не может превышать
	10,000 байтов.</para>
    </sect2>
  </sect1>
................................................................................
	    MUST</link>, передав ему для обработки только что
	  сохранённые пакеты через командную строку.  Вы должны
	  увидеть что-то вроде изображённого чуть ниже.  Заметьте, что
	  безопасное соединение имеет 93% (6,7) от ожидаемого значения
	  (7,18), а обычное соединение &mdash; всего лишь 29%
	  (2,1).</para>

	<screen>&prompt.user; <userinput>tcpdump -c 4000 -s 10000 -w <replaceable>ipsecdemo.bin</replaceable></userinput>
&prompt.user; <userinput>uliscan <replaceable>ipsecdemo.bin</replaceable></userinput>

Uliscan 21 Dec 98
L=8 256 258560
Measuring file ipsecdemo.bin
Init done
Expected value for L=8 is 7.1836656
6.9396 --------------------------------------------------------

Changes to ru_RU.KOI8-R/articles/mh/article.xml.

145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
...
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
...
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
      <para>Многим нравится для получения своей электронной почты использовать
	протокол POP.  <application>MH</application> может работать с ним для получения
	вашей электронной почты.  Вам нужно передать команде <command>inc</command> несколько
	аргументов командной строки.</para>

      <informalexample>
	<screen>
&prompt.user; <userinput>inc -host mail.pop.org -user username -norpop</userinput>
	</screen>
      </informalexample>

      <para>Это укажет команде <command>inc</command> на соединение с
	<parameter>mail.pop.org</parameter> для сгрузки вашей электронной
	почты, а также сообщит о том, что ваше имя пользователя в той системе
	<replaceable>username</replaceable>.  Параметр <option>-norpop</option>
................................................................................
	<option>-reverse</option>.  При этом ваши сообщения будут выдаваться в
        порядке, при котором сообщения с наибольшими номерами следуют первыми,
        а сообщения с меньшими номерами последними.  Другим полезным параметром
        для <command>scan</command> является чтение из файла.  Если вы хотите
        просканировать почтовый ящик с входящей почтой во FreeBSD без
        использования команды <command>inc</command>, то это можно сделать
        командой <command>scan -file
        /var/mail/username</command>.  Это можно
        сделать с любым файлом в формате <database>mbox</database>.</para>
    </sect2>

    <sect2 xml:id="rmm">
      <title><command>rmm</command> и <command>rmf</command>&mdash;удаление
        текущего сообщения или почтового ящика</title>

................................................................................
	<command>refile</command>&mdash;три полезные программы для управления
	папками</title>

      <para>Имеются три программы, которые предназначены только для управления
	вашими папками.  Программа <command>folder</command> используется для
	переключения между папками, их сжатия и вывода их списка.  В самом
	простом случае вы можете выполнить команду <command>folder
	+newfolder</command>, и вы переключитесь на
	папку <replaceable>newfolder</replaceable>.  С этого момента все ваши
	команды <application>MH</application> типа <command>comp</command>, <command>repl</command>,
	<command>scan</command> и <command>show</command> будут выполняться над
	этой папкой <command>newfolder</command>.</para>

      <para>Иногда при чтении и удалении сообщений в ваших папках образуются
	<quote>holes</quote>.  Если вы выполните команду







|







 







|







 







|







145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
...
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
...
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
      <para>Многим нравится для получения своей электронной почты использовать
	протокол POP.  <application>MH</application> может работать с ним для получения
	вашей электронной почты.  Вам нужно передать команде <command>inc</command> несколько
	аргументов командной строки.</para>

      <informalexample>
	<screen>
&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</replaceable> -norpop</userinput>
	</screen>
      </informalexample>

      <para>Это укажет команде <command>inc</command> на соединение с
	<parameter>mail.pop.org</parameter> для сгрузки вашей электронной
	почты, а также сообщит о том, что ваше имя пользователя в той системе
	<replaceable>username</replaceable>.  Параметр <option>-norpop</option>
................................................................................
	<option>-reverse</option>.  При этом ваши сообщения будут выдаваться в
        порядке, при котором сообщения с наибольшими номерами следуют первыми,
        а сообщения с меньшими номерами последними.  Другим полезным параметром
        для <command>scan</command> является чтение из файла.  Если вы хотите
        просканировать почтовый ящик с входящей почтой во FreeBSD без
        использования команды <command>inc</command>, то это можно сделать
        командой <command>scan -file
        /var/mail/<replaceable>username</replaceable></command>.  Это можно
        сделать с любым файлом в формате <database>mbox</database>.</para>
    </sect2>

    <sect2 xml:id="rmm">
      <title><command>rmm</command> и <command>rmf</command>&mdash;удаление
        текущего сообщения или почтового ящика</title>

................................................................................
	<command>refile</command>&mdash;три полезные программы для управления
	папками</title>

      <para>Имеются три программы, которые предназначены только для управления
	вашими папками.  Программа <command>folder</command> используется для
	переключения между папками, их сжатия и вывода их списка.  В самом
	простом случае вы можете выполнить команду <command>folder
	+<replaceable>newfolder</replaceable></command>, и вы переключитесь на
	папку <replaceable>newfolder</replaceable>.  С этого момента все ваши
	команды <application>MH</application> типа <command>comp</command>, <command>repl</command>,
	<command>scan</command> и <command>show</command> будут выполняться над
	этой папкой <command>newfolder</command>.</para>

      <para>Иногда при чтении и удалении сообщений в ваших папках образуются
	<quote>holes</quote>.  Если вы выполните команду

Changes to ru_RU.KOI8-R/articles/new-users/article.xml.

243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
...
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
...
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
...
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
...
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
...
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
...
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
...
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
...
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
...
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
...
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
	    <command>ls</command> для проверки того, что ваш CDROM смонтирован
	    и работает.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>view
	  filename</command></term>

	<listitem>
	  <para>Позволяет вам просмотреть файл (с именем
	    <replaceable>filename</replaceable>) без внесения в него изменений.
	    Попробуйте выполнить команду <command>view
	    /etc/fstab</command>.  Для выхода
	    наберите <command>:q</command>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>cat
	  filename</command></term>

	<listitem>
	  <para>Выдаёт содержимое <replaceable>filename</replaceable> на экран.
	    если он слишком длинный и вы можете увидеть только его конец,
	    нажмите <keycap>ScrollLock</keycap> и используйте клавишу
	    <keycap>стрелка вверх</keycap> для движения назад; вы можете
	    также использовать <keycap>ScrollLock</keycap> и со страницами
................................................................................

    <para>Вот несколько полезных источников получения помощи.  Здесь
      <replaceable>Text</replaceable> обозначает что-то по вашему выбору, что
      вы вводите&mdash;обычно команду или имя файла.</para>

    <variablelist>
      <varlistentry>
	<term><command>apropos text</command></term>

	<listitem>
	  <para>Всё, что содержит строку <replaceable>text</replaceable> в
	    <database>базе whatis</database>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>man text</command></term>

	<listitem>
	  <para>Страница справки по <replaceable>text</replaceable>.  Это
	    главный источник документации в &unix;-системах.
	    <command>man ls</command> покажет вам все
	    способы использования команды <command>ls</command>.  Нажимайте
	    <keycap>Enter</keycap> для передвижения по тексту,
................................................................................
	    продвижения вперёд, <keycap>q</keycap> или
	    <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> для
	    выхода.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>which text</command></term>

	<listitem>
	  <para>Покажет, в каком месте из маршрута поиска пользователя
	    находится команда <replaceable>text</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>locate text</command></term>

	<listitem>
	  <para>Все маршруты, где находится строчка
	    <replaceable>text</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>whatis text</command></term>

	<listitem>
	  <para>Описывает, что делает команда <replaceable>text</replaceable>
	    и её справочная страница.  Команда <command>whatis *</command>
	    расскажет вам обо всех двоичных файлах в текущем каталоге.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>whereis text</command></term>

	<listitem>
	  <para>Ищет файл <replaceable>text</replaceable> и выдаёт полный путь
	    до него.</para>
	</listitem>
      </varlistentry>
    </variablelist>
................................................................................
      <command>cat</command>, <command>more</command>, <command>grep</command>,
      <command>mv</command>, <command>find</command>,
      <command>tar</command>, <command>chmod</command>,
      <command>chown</command>, <command>date</command>, и
      <command>script</command>.  Команда <command>more</command> позволит
      вам читать постранично, как и в DOS, например, <command>ls -l |
      more</command> или <command>more
      filename</command>.  Знак
      <literal>*</literal> работает как общий шаблон&mdash;например,
      <command>ls w*</command> выдаст перечень файлов, начинающихся с буквы
      <literal>w</literal>.</para>

    <para>Некоторые из этих команд работают не очень хорошо?  Обе команды
      &man.locate.1; и &man.whatis.1; зависят от базы данных, которая
      перестраивается еженедельно.  Если ваша машина будет оставаться включенной
................................................................................
    </informalexample>

    <para>для возврата всего на место.</para>

    <para>Для редактирования файла наберите</para>

    <informalexample>
      <screen>&prompt.root; <userinput>vi filename</userinput></screen>
    </informalexample>

    <para>Передвигайтесь по тексту при помощи клавиш со стрелками.
      <keycap>Esc</keycap> (клавиша отмены) переводит редактор
      <command>vi</command> в командный режим.  Вот некоторые из них:</para>

    <variablelist>
................................................................................

	<listitem>
	  <para>для выхода без сохранения изменений</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>/text</command></term>

	<listitem>
	  <para>для перемещения курсора на <replaceable>text</replaceable>;
	    <command>/Enter</command> (клавиша ввода) для
	    поиска следующего экземпляра
	    <replaceable>text</replaceable>.</para>
	</listitem>
................................................................................

	<listitem>
	  <para>для перехода в конец файла</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>nG</command></term>

	<listitem>
	  <para>Для перехода к строке <replaceable>n</replaceable> в файле,
	    где <replaceable>n</replaceable> является числом</para>
	</listitem>
      </varlistentry>

................................................................................
	    <command>more</command> и <command>view</command>.</para>
	</listitem>
      </varlistentry>
    </variablelist>

    <para>Поупражняйтесь с редактором <command>vi</command> в своём домашнем
      каталоге, создав новый файл по команде <command>vi
      filename</command>, добавляя и удаляя текст,
      сохраняя файл и вызывая его снова.  Редактор <command>vi</command>
      преподносит некоторые сюрпризы, потому что он на самом деле достаточно
      сложный, и иногда вы можете неправильно вызвать команду, которая сделает
      нечто, чего вы не ожидали.  (Некоторым людям действительно нравится
      <command>vi</command>&mdash;он более мощный, чем EDIT из
      DOS&mdash;посмотрите команду <command>:r</command>.)  Для того, чтобы
      удостовериться, что вы находитесь в режиме команд, нажимайте
................................................................................
	<listitem>
	  <para>показывает работающие процессы.  <command>ps ax</command>
	    является частоупотребительной формой.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>rm filename</command></term>

	<listitem>
	  <para>удаляет <replaceable>filename</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>rm -R dir</command></term>

	<listitem>
	  <para>удаляет каталог <replaceable>dir</replaceable> и все его
	    подкаталоги&mdash;осторожно!</para>
	</listitem>
      </varlistentry>

................................................................................
    </variablelist>

    <para>Используйте <command>find</command> для поиска
      <filename>filename</filename> в <filename>/usr</filename> или в любом из
      её подкаталогов при помощи команды</para>

    <informalexample>
      <screen>&prompt.user; <userinput>find /usr -name "filename"</userinput></screen>
    </informalexample>

    <para>Вы можете использовать <literal>*</literal> в качестве шаблона внутри
      <parameter>"<replaceable>filename</replaceable>"</parameter>
      (это выражение должно быть в кавычках).  Если вы укажете команде
      <command>find</command> на поиск в <filename>/</filename>, а не в
      <filename>/usr</filename>, то она будет искать файл(ы) во всех
................................................................................
    <para>Теперь вы должны иметь инструменты, которые необходимо держать под
      рукой и умеете редактировать файлы, так что вы должны суметь запустить
      всё, что угодно.  Много полезной информации содержится в Руководстве по
      FreeBSD (которое, скорее всего, есть на вашем жёстком диске) и <link xlink:href="&url.base;/index.html">Web-сайте FreeBSD</link>.  На CDROM, а
      также Web-сайте находятся различные пакеты и порты.  В Руководстве
      рассказывается более подробно о том, как их использовать (получить
      пакет, если он существует, командой <command>pkg_add
      /cdrom/packages/All/packagename</command>,
      где <replaceable>packagename</replaceable> является именем файла
      пакета).  На CDROM находится перечни пакетов и портов с их краткими
      описаниями в файлах <filename>cdrom/packages/index</filename>,
      <filename>cdrom/packages/index.txt</filename> и
      <filename>cdrom/ports/index</filename>, а более полные описания можно
      найти в <filename>/cdrom/ports/*/*/pkg/DESCR</filename>, где знаки
      <literal>*</literal> обозначают тематические подкаталоги с программами







|












|







 







|








|







 







|








|








|









|







 







|







 







|







 







|







 







|







 







|







 







|







|







 







|







 







|







243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
...
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
...
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
...
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
...
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
...
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
...
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
...
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
...
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
...
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
...
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
	    <command>ls</command> для проверки того, что ваш CDROM смонтирован
	    и работает.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>view
	  <replaceable>filename</replaceable></command></term>

	<listitem>
	  <para>Позволяет вам просмотреть файл (с именем
	    <replaceable>filename</replaceable>) без внесения в него изменений.
	    Попробуйте выполнить команду <command>view
	    /etc/fstab</command>.  Для выхода
	    наберите <command>:q</command>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>cat
	  <replaceable>filename</replaceable></command></term>

	<listitem>
	  <para>Выдаёт содержимое <replaceable>filename</replaceable> на экран.
	    если он слишком длинный и вы можете увидеть только его конец,
	    нажмите <keycap>ScrollLock</keycap> и используйте клавишу
	    <keycap>стрелка вверх</keycap> для движения назад; вы можете
	    также использовать <keycap>ScrollLock</keycap> и со страницами
................................................................................

    <para>Вот несколько полезных источников получения помощи.  Здесь
      <replaceable>Text</replaceable> обозначает что-то по вашему выбору, что
      вы вводите&mdash;обычно команду или имя файла.</para>

    <variablelist>
      <varlistentry>
	<term><command>apropos <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Всё, что содержит строку <replaceable>text</replaceable> в
	    <database>базе whatis</database>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>man <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Страница справки по <replaceable>text</replaceable>.  Это
	    главный источник документации в &unix;-системах.
	    <command>man ls</command> покажет вам все
	    способы использования команды <command>ls</command>.  Нажимайте
	    <keycap>Enter</keycap> для передвижения по тексту,
................................................................................
	    продвижения вперёд, <keycap>q</keycap> или
	    <keycombo><keycap>Ctrl</keycap><keycap>C</keycap></keycombo> для
	    выхода.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>which <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Покажет, в каком месте из маршрута поиска пользователя
	    находится команда <replaceable>text</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>locate <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Все маршруты, где находится строчка
	    <replaceable>text</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>whatis <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Описывает, что делает команда <replaceable>text</replaceable>
	    и её справочная страница.  Команда <command>whatis *</command>
	    расскажет вам обо всех двоичных файлах в текущем каталоге.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>whereis <replaceable>text</replaceable></command></term>

	<listitem>
	  <para>Ищет файл <replaceable>text</replaceable> и выдаёт полный путь
	    до него.</para>
	</listitem>
      </varlistentry>
    </variablelist>
................................................................................
      <command>cat</command>, <command>more</command>, <command>grep</command>,
      <command>mv</command>, <command>find</command>,
      <command>tar</command>, <command>chmod</command>,
      <command>chown</command>, <command>date</command>, и
      <command>script</command>.  Команда <command>more</command> позволит
      вам читать постранично, как и в DOS, например, <command>ls -l |
      more</command> или <command>more
      <replaceable>filename</replaceable></command>.  Знак
      <literal>*</literal> работает как общий шаблон&mdash;например,
      <command>ls w*</command> выдаст перечень файлов, начинающихся с буквы
      <literal>w</literal>.</para>

    <para>Некоторые из этих команд работают не очень хорошо?  Обе команды
      &man.locate.1; и &man.whatis.1; зависят от базы данных, которая
      перестраивается еженедельно.  Если ваша машина будет оставаться включенной
................................................................................
    </informalexample>

    <para>для возврата всего на место.</para>

    <para>Для редактирования файла наберите</para>

    <informalexample>
      <screen>&prompt.root; <userinput>vi <replaceable>filename</replaceable></userinput></screen>
    </informalexample>

    <para>Передвигайтесь по тексту при помощи клавиш со стрелками.
      <keycap>Esc</keycap> (клавиша отмены) переводит редактор
      <command>vi</command> в командный режим.  Вот некоторые из них:</para>

    <variablelist>
................................................................................

	<listitem>
	  <para>для выхода без сохранения изменений</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>/<replaceable>text</replaceable></command></term>

	<listitem>
	  <para>для перемещения курсора на <replaceable>text</replaceable>;
	    <command>/Enter</command> (клавиша ввода) для
	    поиска следующего экземпляра
	    <replaceable>text</replaceable>.</para>
	</listitem>
................................................................................

	<listitem>
	  <para>для перехода в конец файла</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command><replaceable>n</replaceable>G</command></term>

	<listitem>
	  <para>Для перехода к строке <replaceable>n</replaceable> в файле,
	    где <replaceable>n</replaceable> является числом</para>
	</listitem>
      </varlistentry>

................................................................................
	    <command>more</command> и <command>view</command>.</para>
	</listitem>
      </varlistentry>
    </variablelist>

    <para>Поупражняйтесь с редактором <command>vi</command> в своём домашнем
      каталоге, создав новый файл по команде <command>vi
      <replaceable>filename</replaceable></command>, добавляя и удаляя текст,
      сохраняя файл и вызывая его снова.  Редактор <command>vi</command>
      преподносит некоторые сюрпризы, потому что он на самом деле достаточно
      сложный, и иногда вы можете неправильно вызвать команду, которая сделает
      нечто, чего вы не ожидали.  (Некоторым людям действительно нравится
      <command>vi</command>&mdash;он более мощный, чем EDIT из
      DOS&mdash;посмотрите команду <command>:r</command>.)  Для того, чтобы
      удостовериться, что вы находитесь в режиме команд, нажимайте
................................................................................
	<listitem>
	  <para>показывает работающие процессы.  <command>ps ax</command>
	    является частоупотребительной формой.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>rm <replaceable>filename</replaceable></command></term>

	<listitem>
	  <para>удаляет <replaceable>filename</replaceable>.</para>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term><command>rm -R <replaceable>dir</replaceable></command></term>

	<listitem>
	  <para>удаляет каталог <replaceable>dir</replaceable> и все его
	    подкаталоги&mdash;осторожно!</para>
	</listitem>
      </varlistentry>

................................................................................
    </variablelist>

    <para>Используйте <command>find</command> для поиска
      <filename>filename</filename> в <filename>/usr</filename> или в любом из
      её подкаталогов при помощи команды</para>

    <informalexample>
      <screen>&prompt.user; <userinput>find /usr -name "<replaceable>filename</replaceable>"</userinput></screen>
    </informalexample>

    <para>Вы можете использовать <literal>*</literal> в качестве шаблона внутри
      <parameter>"<replaceable>filename</replaceable>"</parameter>
      (это выражение должно быть в кавычках).  Если вы укажете команде
      <command>find</command> на поиск в <filename>/</filename>, а не в
      <filename>/usr</filename>, то она будет искать файл(ы) во всех
................................................................................
    <para>Теперь вы должны иметь инструменты, которые необходимо держать под
      рукой и умеете редактировать файлы, так что вы должны суметь запустить
      всё, что угодно.  Много полезной информации содержится в Руководстве по
      FreeBSD (которое, скорее всего, есть на вашем жёстком диске) и <link xlink:href="&url.base;/index.html">Web-сайте FreeBSD</link>.  На CDROM, а
      также Web-сайте находятся различные пакеты и порты.  В Руководстве
      рассказывается более подробно о том, как их использовать (получить
      пакет, если он существует, командой <command>pkg_add
      /cdrom/packages/All/<replaceable>packagename</replaceable></command>,
      где <replaceable>packagename</replaceable> является именем файла
      пакета).  На CDROM находится перечни пакетов и портов с их краткими
      описаниями в файлах <filename>cdrom/packages/index</filename>,
      <filename>cdrom/packages/index.txt</filename> и
      <filename>cdrom/ports/index</filename>, а более полные описания можно
      найти в <filename>/cdrom/ports/*/*/pkg/DESCR</filename>, где знаки
      <literal>*</literal> обозначают тематические подкаталоги с программами

Changes to ru_RU.KOI8-R/articles/pam/article.xml.

521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
        аутентификации, к примеру, относятся базы данных паролей &unix;,
        системы NIS, LDAP или Radius.</para>

      <section xml:id="pam-module-naming">
        <title xml:id="pam-module-naming.title">Именование модулей</title>

        <para>Во FreeBSD каждый механизм реализуется в отдельном модуле с
          именем <literal>pam_mechanism.so</literal>
          (например, <literal>pam_unix.so</literal> для механизма &unix;.)
          В других реализациях иногда отдельные модули используются для разных
          подсистем, и в их имя включается, кроме названия механизма, и имя
          подсистемы.  К примеру, в &solaris; имеется модуль
          <literal>pam_dial_auth.so.1</literal>, который часто используется
          для аутентификации пользователей, работающих по коммутируемым
          каналам связи.</para>







|







521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
        аутентификации, к примеру, относятся базы данных паролей &unix;,
        системы NIS, LDAP или Radius.</para>

      <section xml:id="pam-module-naming">
        <title xml:id="pam-module-naming.title">Именование модулей</title>

        <para>Во FreeBSD каждый механизм реализуется в отдельном модуле с
          именем <literal>pam_<replaceable>mechanism</replaceable>.so</literal>
          (например, <literal>pam_unix.so</literal> для механизма &unix;.)
          В других реализациях иногда отдельные модули используются для разных
          подсистем, и в их имя включается, кроме названия механизма, и имя
          подсистемы.  К примеру, в &solaris; имеется модуль
          <literal>pam_dial_auth.so.1</literal>, который часто используется
          для аутентификации пользователей, работающих по коммутируемым
          каналам связи.</para>

Changes to ru_RU.KOI8-R/articles/portbuild/article.xml.

98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
...
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
...
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
...
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
...
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
...
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
...
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
...
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
  </sect1>

  <sect1 xml:id="setup">
    <title>Подготовка ограниченной среды сборки</title>

    <para>Пакеты собираются в ограниченной (<literal>chroot</literal>) среде,
      которая разворачивается скриптом <filename>portbuild</filename> из архива
      <filename>${arch}/${branch}/tarballs/bindist.tar</filename>.
      Этот архив создается при помощи скрипта <command>mkbindist</command>,
      конфигурация которого описывается файлом
      <filename>${arch}/${branch}/mkbindist.conf</filename>.
    </para>

    <para>Скрипт должен запускаться с правами пользователя
      <systemitem class="username">root</systemitem> и следующими параметрами:
    </para>

    <screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist ${arch} ${branch}</userinput></screen>

    <para>При указании в файле <filename>mkbindist.conf</filename> параметра
      <literal>ftp=1</literal> с адреса
      ftp://<replaceable>${ftpserver}</replaceable>/<replaceable>${ftpurl}</replaceable>/<replaceable>${rel}</replaceable>
      будет загружен предварительно собранный релиз.
      Если указано <literal>ftp=0</literal> и <literal>buildworld=1</literal>,
      скрипт <command>mkbindist</command> выполнит
................................................................................
      будет использовать существующее на момент запуска состояние дерева
      <replaceable>${worlddir}</replaceable> для создания
      <filename>bindist.tar</filename>.  На практике это означает, что вы
      должны предварительно установить систему в ${worlddir}, что обычно
      делается при помощи скрипта <command>makeworld</command>:
    </para>

    <screen>/var/portbuild&prompt.root; <userinput>scripts/makeworld ${arch} ${branch} [-nocvs]</userinput></screen>

    <para>Эта команда соберет систему на базе исходных текстов в дереве
      <filename>${arch}/${branch}/src</filename>
      и установит ее в <replaceable>${worlddir}</replaceable>.
      Исходные тексты будут обновлены, если не указан параметр
      <literal>-nocvs</literal>.
    </para>

    <para>Содержимое архива <filename>bindist.tar</filename> будет распаковано
      на каждом клиенте в период загрузки, а также на старте каждого прохода
................................................................................
    <para>Все они вызывают универсальный скрипт <command>dopackages</command>,
      и являются символьными ссылками на <command>dopackages.wrapper</command>.
      Для создания скрипта для сборки пакетов новой ветви достаточно создать
      символическую ссылку <command>dopackages.${branch}</command>, указывающую
      на <command>dopackages.wrapper</command>.  Могут быть указаны
      многочисленные параметры, например:</para>

    <screen><command>dopackages.6 ${arch} [-options]</command></screen>

    <para><literal>[-options]</literal> может быть произвольным набором из
      следующих опций:</para>

    <itemizedlist>
      <listitem>
	<para><literal>-nofinish</literal> - Не производить пост-обработку
................................................................................
      проблемы.
    </para></note>

    <para>Проверьте, чтобы <filename>ports/Makefile</filename>
      не ссылался на пустые подкаталоги.  В особенности это важно для сборки
      ветви -exp.  Если процесс сборки обнаруживает пустой каталог, обе
      фазы сборки вскоре остановятся.  При этом в файлы
      <filename>${arch}/${branch}/make.[0|1]</filename>
      будет записано сообщение об ошибке примерно такого вида:
    </para>

    <screen><literal>don't know how to make dns-all(continuing)</literal></screen>

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

      <listitem>
	<para>Сборка пакетов (фаза 2) [++]</para>
      </listitem>
    </orderedlist>

    <para>[*] Результаты выполнения этих шагов записываются в файл
      <filename>${arch}/${branch}/build.log</filename>,
      а также в стандартный вывод для ошибок консоли, с которой запускался скрипт
      <command>dopackages</command>.</para>

    <para>[+] При неудачном завершении любого из этих шагов процесс
      прекращается.</para>

    <para>[++] Результаты выполнения пишутся в файл
      <filename>${arch}/${branch}/make.[0|1]</filename>,
      где <filename>make.0</filename> соответствует первой, а
      <filename>make.1</filename> второй фазе сборки.  Журналы сборки отдельных
      портов записываются в файлы
      <filename>${arch}/${branch}/logs</filename>,
      а журналы портов, собравшихся неудачно, в
      <filename>${arch}/${branch}/errors</filename>.
    </para>

    <para>Ранее из репозитория извлекалось также дерево документации;
      в настоящий момент это считается ненужным.
    </para>
  </sect1>

................................................................................
      запущенные на узлах сборки, завершатся самостоятельно в течение
      нескольких минут (их наличие следует проверять командой
      <command>ps x</command>).  Обычно достаточно следующей команды:</para>

    <screen>&prompt.user; <userinput>killall -HUP sh ssh make</userinput></screen>

    <para>Удалите файл
      <filename>${arch}/lock</filename>
      перед тем, как перезапустите сборку.
    </para>
  </sect1>

  <sect1 xml:id="monitoring">
    <title>Слежение за процессом</title>

    <para>Команда
      <command>scripts/stats ${branch}</command>
      показывает количество собранных на настоящий момент пакетов.</para>

    <para>Команда <command>cat /var/portbuild/*/loads/*</command>
      покажет текущую загрузку клиентских машин и количество процессов сборки,
      запущенных на них.</para>

    <para>Выполнение
      <command>tail -f ${arch}/${branch}/build.log</command>
      продемонстрирует общее состояние процесса сборки.</para>

    <para>В случае, если порт не собирается, и из логов не понятны причины
      этого, вы можете сохранить рабочий каталог сборки
      (<literal>WRKDIR</literal>) для последующего анализа.
      Для этого создайте файл <filename>.keep</filename> в каталоге порта.
      При следующей сборке порта кластером архив <literal>WRKDIR</literal>
      будет помещен в файл
      <filename>${arch}/${branch}/wrkdirs</filename>.
    </para>

    <para>Следите за выводом команды &man.df.1;.  Если файловая система,
      содержащая <filename>/var/portbuild</filename>, переполнится, будет
      <trademark>Очень Плохо</trademark>.
    </para>
  </sect1>
................................................................................

    <para>По завершении первого процесса сборки перезапустите его с параметрами
      <literal>-restart -distfiles -fetch-original</literal>,
      для того чтобы выкачать обновленные дистрибутивы.
      Затем, на этапе финальной обработки, соберите список файлов при помощи
      команды</para>

    <screen>&prompt.user; <userinput>cd ${arch}/${branch}</userinput>
&prompt.user; <userinput>find distfiles &gt; distfiles-${release}</userinput></screen>

    <para>Этот файл обычно копируют в каталог
      <filename>i386/${branch}</filename>
      главной машины кластера.</para>

    <para>Данная процедура помогает чистить комплект дистрибутивных архивов,
      располагающийся на <systemitem>ftp-master</systemitem>.  Если дисковое
      пространство заканчивается, можно сохранить архивы для свежих релизов,
      а прочие&nbsp;&mdash; удалить.</para>

    <para>После копирования дистрибутивов (см. ниже) надо создать окончательный
      комплект пакетов для релиза.  Для полного спокойствия, запустите скрипт
      <filename>${arch}/${branch}/cdrom.sh</filename>
      вручную, чтобы быть уверенным, что все пакеты ограниченного
      распространения и их исходные архивы удалены.  Затем скопируйте каталог
      <filename>${arch}/${branch}/packages</filename>
      в
      <filename>${arch}/${branch}/packages-${release}</filename>.
      После того, как пакеты переложены в надежное место, свяжитесь с группой
      &a.re; и сообщите им расположение финального комплекта пакетов.</para>

    <para>Помните о необходимости координации с группой &a.re; по поводу
      времени и статуса сборки пакетов для релизов.
    </para>
  </sect1>
................................................................................
      на <systemitem>ftp-master</systemitem>; затем, перед подготовкой финального
      набора пакетов для релиза выполните <command>cdrom.sh</command>.
    </para>

    <para>Пакеты можно копировать во временную область на
      <systemitem>ftp-master</systemitem> примерно такой командой:</para>

    <screen>&prompt.root; <userinput>cd /var/portbuild/${arch}/${branch}</userinput>
&prompt.root; <userinput>tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/${arch}/tmp/${branch}</userinput></screen>

    <para>Затем, на машине <systemitem>ftp-master</systemitem>, убедитесь, что набор
      пакетов скопирован корректно, удалите старый набор (из каталога
      <filename>~/w/ports/${arch}</filename>),
      и переместите новый на его место.</para>

    <note><para>Некоторые каталоги на <systemitem>ftp-master</systemitem> на самом деле
      являются символьными ссылками.  Убедитесь, что вы перемещаете новый набор
      пакетов в <emphasis>реальный</emphasis> каталог, а не на место
      расположения одной из ссылок.</para></note>

    <para>Для инкрементных сборок пакеты должны загружаться посредством
      <command>rsync</command>.  Так мы не создаём сильной загрузки на
      зеркалах:</para>

    <screen>&prompt.root; <userinput>rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/${arch}/${branch}/ | tee log</userinput></screen>

    <para>Дистрибутивные архивы копируются при помощи команды
      <command>rsync</command>:</para>

    <screen>&prompt.root; <userinput>cd /var/portbuild/${arch}/${branch}</userinput>
&prompt.root; <userinput>rsync -r -v -l -p -c -n distfiles/ portmgr@ftp-master:w/ports/distfiles/ | tee log</userinput></screen>

    <para><emphasis>ВСЕГДА</emphasis> для начала используйте ключ
      <literal>-n</literal> команды <command>rsync</command> и проверяйте
      ее вывод.  Если все выглядит нормально, перезапустите
      <command>rsync</command> без опции <literal>-n</literal>.
    </para>







|


|






|







 







|


|







 







|







 







|







 







|







|



|

|







 







|








|







|








|







 







|
|


|









|


|

|







 







|
|



|











|




|







98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
...
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
...
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
...
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
...
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
...
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
...
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
...
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
  </sect1>

  <sect1 xml:id="setup">
    <title>Подготовка ограниченной среды сборки</title>

    <para>Пакеты собираются в ограниченной (<literal>chroot</literal>) среде,
      которая разворачивается скриптом <filename>portbuild</filename> из архива
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/tarballs/bindist.tar</filename>.
      Этот архив создается при помощи скрипта <command>mkbindist</command>,
      конфигурация которого описывается файлом
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/mkbindist.conf</filename>.
    </para>

    <para>Скрипт должен запускаться с правами пользователя
      <systemitem class="username">root</systemitem> и следующими параметрами:
    </para>

    <screen>/var/portbuild&prompt.root; <userinput>scripts/mkbindist <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable></userinput></screen>

    <para>При указании в файле <filename>mkbindist.conf</filename> параметра
      <literal>ftp=1</literal> с адреса
      ftp://<replaceable>${ftpserver}</replaceable>/<replaceable>${ftpurl}</replaceable>/<replaceable>${rel}</replaceable>
      будет загружен предварительно собранный релиз.
      Если указано <literal>ftp=0</literal> и <literal>buildworld=1</literal>,
      скрипт <command>mkbindist</command> выполнит
................................................................................
      будет использовать существующее на момент запуска состояние дерева
      <replaceable>${worlddir}</replaceable> для создания
      <filename>bindist.tar</filename>.  На практике это означает, что вы
      должны предварительно установить систему в ${worlddir}, что обычно
      делается при помощи скрипта <command>makeworld</command>:
    </para>

    <screen>/var/portbuild&prompt.root; <userinput>scripts/makeworld <replaceable>${arch}</replaceable> <replaceable>${branch}</replaceable> [-nocvs]</userinput></screen>

    <para>Эта команда соберет систему на базе исходных текстов в дереве
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/src</filename>
      и установит ее в <replaceable>${worlddir}</replaceable>.
      Исходные тексты будут обновлены, если не указан параметр
      <literal>-nocvs</literal>.
    </para>

    <para>Содержимое архива <filename>bindist.tar</filename> будет распаковано
      на каждом клиенте в период загрузки, а также на старте каждого прохода
................................................................................
    <para>Все они вызывают универсальный скрипт <command>dopackages</command>,
      и являются символьными ссылками на <command>dopackages.wrapper</command>.
      Для создания скрипта для сборки пакетов новой ветви достаточно создать
      символическую ссылку <command>dopackages.${branch}</command>, указывающую
      на <command>dopackages.wrapper</command>.  Могут быть указаны
      многочисленные параметры, например:</para>

    <screen><command>dopackages.6 <replaceable>${arch}</replaceable> [-options]</command></screen>

    <para><literal>[-options]</literal> может быть произвольным набором из
      следующих опций:</para>

    <itemizedlist>
      <listitem>
	<para><literal>-nofinish</literal> - Не производить пост-обработку
................................................................................
      проблемы.
    </para></note>

    <para>Проверьте, чтобы <filename>ports/Makefile</filename>
      не ссылался на пустые подкаталоги.  В особенности это важно для сборки
      ветви -exp.  Если процесс сборки обнаруживает пустой каталог, обе
      фазы сборки вскоре остановятся.  При этом в файлы
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>
      будет записано сообщение об ошибке примерно такого вида:
    </para>

    <screen><literal>don't know how to make dns-all(continuing)</literal></screen>

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

      <listitem>
	<para>Сборка пакетов (фаза 2) [++]</para>
      </listitem>
    </orderedlist>

    <para>[*] Результаты выполнения этих шагов записываются в файл
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</filename>,
      а также в стандартный вывод для ошибок консоли, с которой запускался скрипт
      <command>dopackages</command>.</para>

    <para>[+] При неудачном завершении любого из этих шагов процесс
      прекращается.</para>

    <para>[++] Результаты выполнения пишутся в файл
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/make.[0|1]</filename>,
      где <filename>make.0</filename> соответствует первой, а
      <filename>make.1</filename> второй фазе сборки.  Журналы сборки отдельных
      портов записываются в файлы
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/logs</filename>,
      а журналы портов, собравшихся неудачно, в
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/errors</filename>.
    </para>

    <para>Ранее из репозитория извлекалось также дерево документации;
      в настоящий момент это считается ненужным.
    </para>
  </sect1>

................................................................................
      запущенные на узлах сборки, завершатся самостоятельно в течение
      нескольких минут (их наличие следует проверять командой
      <command>ps x</command>).  Обычно достаточно следующей команды:</para>

    <screen>&prompt.user; <userinput>killall -HUP sh ssh make</userinput></screen>

    <para>Удалите файл
      <filename><replaceable>${arch}</replaceable>/lock</filename>
      перед тем, как перезапустите сборку.
    </para>
  </sect1>

  <sect1 xml:id="monitoring">
    <title>Слежение за процессом</title>

    <para>Команда
      <command>scripts/stats <replaceable>${branch}</replaceable></command>
      показывает количество собранных на настоящий момент пакетов.</para>

    <para>Команда <command>cat /var/portbuild/*/loads/*</command>
      покажет текущую загрузку клиентских машин и количество процессов сборки,
      запущенных на них.</para>

    <para>Выполнение
      <command>tail -f <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/build.log</command>
      продемонстрирует общее состояние процесса сборки.</para>

    <para>В случае, если порт не собирается, и из логов не понятны причины
      этого, вы можете сохранить рабочий каталог сборки
      (<literal>WRKDIR</literal>) для последующего анализа.
      Для этого создайте файл <filename>.keep</filename> в каталоге порта.
      При следующей сборке порта кластером архив <literal>WRKDIR</literal>
      будет помещен в файл
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/wrkdirs</filename>.
    </para>

    <para>Следите за выводом команды &man.df.1;.  Если файловая система,
      содержащая <filename>/var/portbuild</filename>, переполнится, будет
      <trademark>Очень Плохо</trademark>.
    </para>
  </sect1>
................................................................................

    <para>По завершении первого процесса сборки перезапустите его с параметрами
      <literal>-restart -distfiles -fetch-original</literal>,
      для того чтобы выкачать обновленные дистрибутивы.
      Затем, на этапе финальной обработки, соберите список файлов при помощи
      команды</para>

    <screen>&prompt.user; <userinput>cd <replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.user; <userinput>find distfiles &gt; distfiles-<replaceable>${release}</replaceable></userinput></screen>

    <para>Этот файл обычно копируют в каталог
      <filename>i386/<replaceable>${branch}</replaceable></filename>
      главной машины кластера.</para>

    <para>Данная процедура помогает чистить комплект дистрибутивных архивов,
      располагающийся на <systemitem>ftp-master</systemitem>.  Если дисковое
      пространство заканчивается, можно сохранить архивы для свежих релизов,
      а прочие&nbsp;&mdash; удалить.</para>

    <para>После копирования дистрибутивов (см. ниже) надо создать окончательный
      комплект пакетов для релиза.  Для полного спокойствия, запустите скрипт
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/cdrom.sh</filename>
      вручную, чтобы быть уверенным, что все пакеты ограниченного
      распространения и их исходные архивы удалены.  Затем скопируйте каталог
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/packages</filename>
      в
      <filename><replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/packages-<replaceable>${release}</replaceable></filename>.
      После того, как пакеты переложены в надежное место, свяжитесь с группой
      &a.re; и сообщите им расположение финального комплекта пакетов.</para>

    <para>Помните о необходимости координации с группой &a.re; по поводу
      времени и статуса сборки пакетов для релизов.
    </para>
  </sect1>
................................................................................
      на <systemitem>ftp-master</systemitem>; затем, перед подготовкой финального
      набора пакетов для релиза выполните <command>cdrom.sh</command>.
    </para>

    <para>Пакеты можно копировать во временную область на
      <systemitem>ftp-master</systemitem> примерно такой командой:</para>

    <screen>&prompt.root; <userinput>cd /var/portbuild/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.root; <userinput>tar cfv - packages/ | ssh portmgr@ftp-master tar xfC - w/ports/<replaceable>${arch}</replaceable>/tmp/<replaceable>${branch}</replaceable></userinput></screen>

    <para>Затем, на машине <systemitem>ftp-master</systemitem>, убедитесь, что набор
      пакетов скопирован корректно, удалите старый набор (из каталога
      <filename>~/w/ports/<replaceable>${arch}</replaceable></filename>),
      и переместите новый на его место.</para>

    <note><para>Некоторые каталоги на <systemitem>ftp-master</systemitem> на самом деле
      являются символьными ссылками.  Убедитесь, что вы перемещаете новый набор
      пакетов в <emphasis>реальный</emphasis> каталог, а не на место
      расположения одной из ссылок.</para></note>

    <para>Для инкрементных сборок пакеты должны загружаться посредством
      <command>rsync</command>.  Так мы не создаём сильной загрузки на
      зеркалах:</para>

    <screen>&prompt.root; <userinput>rsync -n -r -v -l -t -p --delete packages/ portmgr@ftp-master:w/ports/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable>/ | tee log</userinput></screen>

    <para>Дистрибутивные архивы копируются при помощи команды
      <command>rsync</command>:</para>

    <screen>&prompt.root; <userinput>cd /var/portbuild/<replaceable>${arch}</replaceable>/<replaceable>${branch}</replaceable></userinput>
&prompt.root; <userinput>rsync -r -v -l -p -c -n distfiles/ portmgr@ftp-master:w/ports/distfiles/ | tee log</userinput></screen>

    <para><emphasis>ВСЕГДА</emphasis> для начала используйте ключ
      <literal>-n</literal> команды <command>rsync</command> и проверяйте
      ее вывод.  Если все выглядит нормально, перезапустите
      <command>rsync</command> без опции <literal>-n</literal>.
    </para>

Changes to ru_RU.KOI8-R/articles/problem-reports/article.xml.

759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
...
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
	    </listitem>

	    <listitem>
	      <para>Если проблема с бинарной программой, например
		с &man.sh.1; или &man.mount.8;, то вам прежде всего необходимо
		определить принадлежность программы к базовой системе
		или к установке из коллекции портов.  Если вы не уверены,
		выполните команду <command>whereis имя
		программы</command>.  В &os; для коллекции портов
		существует договоренность: установка ведется в <filename>/usr/local</filename>, однако это может быть
		переопределено системным администратором.  Для таких программ
		следует использовать категорию <literal>ports</literal> (даже
		если категория порта <literal>www</literal>; см. ниже).
		Если программа располагается в
		<filename>/bin</filename>,
		<filename>/usr/bin</filename>,
................................................................................

	    <listitem>
	      <para>Если вы наблюдаете проблему на страницах <link xlink:href="http://www.FreeBSD.org">сайта FreeBSD</link>,
		то правильным выбором будет <literal>www</literal>.</para>

	      <note>
		<para>Если проблема с чем-то из порта, называемого
		  <literal>www/someportname
		  </literal>, то она все же принадлежит к категории
		  <literal>ports</literal>.</para>
	      </note>
	    </listitem>
	  </itemizedlist>

	  <para>Далее представлены более специализированные категории.</para>







|
|







 







|







759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
...
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
	    </listitem>

	    <listitem>
	      <para>Если проблема с бинарной программой, например
		с &man.sh.1; или &man.mount.8;, то вам прежде всего необходимо
		определить принадлежность программы к базовой системе
		или к установке из коллекции портов.  Если вы не уверены,
		выполните команду <command>whereis <replaceable>имя
		программы</replaceable></command>.  В &os; для коллекции портов
		существует договоренность: установка ведется в <filename>/usr/local</filename>, однако это может быть
		переопределено системным администратором.  Для таких программ
		следует использовать категорию <literal>ports</literal> (даже
		если категория порта <literal>www</literal>; см. ниже).
		Если программа располагается в
		<filename>/bin</filename>,
		<filename>/usr/bin</filename>,
................................................................................

	    <listitem>
	      <para>Если вы наблюдаете проблему на страницах <link xlink:href="http://www.FreeBSD.org">сайта FreeBSD</link>,
		то правильным выбором будет <literal>www</literal>.</para>

	      <note>
		<para>Если проблема с чем-то из порта, называемого
		  <literal>www/<replaceable>someportname</replaceable>
		  </literal>, то она все же принадлежит к категории
		  <literal>ports</literal>.</para>
	      </note>
	    </listitem>
	  </itemizedlist>

	  <para>Далее представлены более специализированные категории.</para>

Changes to ru_RU.KOI8-R/articles/releng/article.xml.

247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
...
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
...
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
...
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
...
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
	предварительных релизов и все основные проблемы были решены, может
	начаться процесс <quote>шлифовки</quote> окончательного релиза.</para>

      <sect3 xml:id="rel-branch">
	<title>Создание ветки релиза</title>

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

	<screen>/usr/src&prompt.root; <userinput>cvs update -rRELENG_4 -P -d</userinput></screen>

	<para>Следующим шагом является создание <emphasis>тэга</emphasis> точки
	  ответвления, чтобы диффы облегчили работу с началом ветки в CVS:</para>

................................................................................

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

	<screen>/usr/src&prompt.root; <userinput>cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 src</userinput></screen>

	<note>
	  <para><emphasis>Использование тэгов
	    <literal>RELENG_*</literal> разрешено
	    только менеджерам CVS и участникам группы по выпуску
	    релизов.</emphasis></para>
	</note>

	<sidebar>
	  <para><quote><emphasis>Тэгом</emphasis></quote> в понятии CVS
	    называют метку, которая идентифицирует исходный текст в некоторый
................................................................................
	  <filename>src/usr.sbin/sysinstall/dist.c</filename>.</para>

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

	<itemizedlist>
	  <listitem>
	    <para><filename>doc/share/images/articles/releng/branches-relengX.pic</filename></para>
	  </listitem>

	  <listitem>
	    <para><filename>www/share/xml/advisories.xml</filename></para>
	  </listitem>

	  <listitem>
................................................................................
	  соответствующие ветки с тэгом
	  <literal>RELEASE_4_8_0</literal>.</para>

	<para>Иногда в последний момент, уже <emphasis>после</emphasis>
	  создания последних тэгов может потребоваться внесение исправлений.
	  На практике это не является проблемой, так как <acronym>CVS</acronym>
	  позволяет выполнять манипуляции с тэгами по команде <command>cvs
	  tag -d tagname filename</command>.  Очень
	  важно, чтобы все последние изменения были помечены соответствующим
	  тэгом, как часть релиза.  Релизы &os; должны быть всегда
	  повторяемыми.  Локальные изменения в параметры окружения выпускающего
	  релиз недопустимы.</para>
      </sect3>
    </sect2>
  </sect1>
................................................................................
	зеркалами главного сервера, открытого только другим серверам FTP.  Этот
	сервер известен под именем <systemitem>ftp-master</systemitem>.  Когда релиз
	готов, на сервере <systemitem>ftp-master</systemitem> должны быть изменены
	следующие строки:</para>

      <variablelist>
	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/arch/X.Y-RELEASE/</filename></term>

	  <listitem>
	    <para>Установочный каталог FTP, получаемый по команде <command>make
	      release</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/ports/arch/packages-X.Y-release/</filename></term>

	  <listitem>
	    <para>Полный комплект построенных пакетов для этого релиза.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/arch/X.Y-RELEASE/tools</filename></term>

	  <listitem>
	    <para>Символическая ссылка на
	      <filename>../../../tools</filename>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/arch/X.Y-RELEASE/packages</filename></term>

	  <listitem>
	    <para>Символическая ссылка на
	      <filename>../../../ports/arch/packages-X.Y-release</filename>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/arch/ISO-IMAGES/X.Y/X.Y-RELEASE-arch-*.iso</filename></term>

	  <listitem>
	    <para>ISO-образы.  Здесь <quote>*</quote> это
	      <filename>disc1</filename>, <filename>disc2</filename> и так
	      далее.  Только если здесь есть <filename>disc1</filename> и
	      альтернативный первый установочный CD (например, обрезанная
	      установка без оконной системы), то здесь может быть также







|



|







 







|







 







|







 







|







 







|








|







|








|



|




|







247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
...
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
...
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
...
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
...
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
	предварительных релизов и все основные проблемы были решены, может
	начаться процесс <quote>шлифовки</quote> окончательного релиза.</para>

      <sect3 xml:id="rel-branch">
	<title>Создание ветки релиза</title>

	<para>Как сказано во вводной части, ветка
	  <literal>RELENG_<replaceable>X</replaceable>_<replaceable>Y</replaceable></literal>
	  является сравнительно новым добавлением в нашей методологии
	  подготовки релизов.  Первым шагом в создании этой ветки является
	  проверка того, что вы работаете с самой последней версией исходных
	  текстов <literal>RELENG_<replaceable>X</replaceable></literal>, из
	  <emphasis>которой</emphasis> вы хотите создать новую ветку.</para>

	<screen>/usr/src&prompt.root; <userinput>cvs update -rRELENG_4 -P -d</userinput></screen>

	<para>Следующим шагом является создание <emphasis>тэга</emphasis> точки
	  ответвления, чтобы диффы облегчили работу с началом ветки в CVS:</para>

................................................................................

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

	<screen>/usr/src&prompt.root; <userinput>cvs rtag -b -rRELENG_4_8_BP RELENG_4_8 src</userinput></screen>

	<note>
	  <para><emphasis>Использование тэгов
	    <literal>RELENG_<replaceable>*</replaceable></literal> разрешено
	    только менеджерам CVS и участникам группы по выпуску
	    релизов.</emphasis></para>
	</note>

	<sidebar>
	  <para><quote><emphasis>Тэгом</emphasis></quote> в понятии CVS
	    называют метку, которая идентифицирует исходный текст в некоторый
................................................................................
	  <filename>src/usr.sbin/sysinstall/dist.c</filename>.</para>

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

	<itemizedlist>
	  <listitem>
	    <para><filename>doc/share/images/articles/releng/branches-releng<replaceable>X</replaceable>.pic</filename></para>
	  </listitem>

	  <listitem>
	    <para><filename>www/share/xml/advisories.xml</filename></para>
	  </listitem>

	  <listitem>
................................................................................
	  соответствующие ветки с тэгом
	  <literal>RELEASE_4_8_0</literal>.</para>

	<para>Иногда в последний момент, уже <emphasis>после</emphasis>
	  создания последних тэгов может потребоваться внесение исправлений.
	  На практике это не является проблемой, так как <acronym>CVS</acronym>
	  позволяет выполнять манипуляции с тэгами по команде <command>cvs
	  tag -d <replaceable>tagname filename</replaceable></command>.  Очень
	  важно, чтобы все последние изменения были помечены соответствующим
	  тэгом, как часть релиза.  Релизы &os; должны быть всегда
	  повторяемыми.  Локальные изменения в параметры окружения выпускающего
	  релиз недопустимы.</para>
      </sect3>
    </sect2>
  </sect1>
................................................................................
	зеркалами главного сервера, открытого только другим серверам FTP.  Этот
	сервер известен под именем <systemitem>ftp-master</systemitem>.  Когда релиз
	готов, на сервере <systemitem>ftp-master</systemitem> должны быть изменены
	следующие строки:</para>

      <variablelist>
	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/<replaceable>arch</replaceable>/<replaceable>X.Y</replaceable>-RELEASE/</filename></term>

	  <listitem>
	    <para>Установочный каталог FTP, получаемый по команде <command>make
	      release</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/ports/<replaceable>arch</replaceable>/packages-<replaceable>X.Y</replaceable>-release/</filename></term>

	  <listitem>
	    <para>Полный комплект построенных пакетов для этого релиза.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/<replaceable>arch</replaceable>/<replaceable>X.Y</replaceable>-RELEASE/tools</filename></term>

	  <listitem>
	    <para>Символическая ссылка на
	      <filename>../../../tools</filename>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/<replaceable>arch</replaceable>/<replaceable>X.Y</replaceable>-RELEASE/packages</filename></term>

	  <listitem>
	    <para>Символическая ссылка на
	      <filename>../../../ports/<replaceable>arch</replaceable>/packages-<replaceable>X.Y</replaceable>-release</filename>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><filename>/pub/FreeBSD/releases/<replaceable>arch</replaceable>/ISO-IMAGES/<replaceable>X.Y</replaceable>/<replaceable>X.Y</replaceable>-RELEASE-<replaceable>arch</replaceable>-*.iso</filename></term>

	  <listitem>
	    <para>ISO-образы.  Здесь <quote>*</quote> это
	      <filename>disc1</filename>, <filename>disc2</filename> и так
	      далее.  Только если здесь есть <filename>disc1</filename> и
	      альтернативный первый установочный CD (например, обрезанная
	      установка без оконной системы), то здесь может быть также

Changes to ru_RU.KOI8-R/articles/solid-state/article.xml.

201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
...
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
...
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
      с запуском распространенных программных пакетов, в <xref linkend="strategies"/>.</para>

    <para>Важно помнить, что файловая система, которая была смонтирована
      только для чтения при помощи файла <filename>/etc/fstab</filename>, в
      любой момент может быть сделана доступной по чтению и записи выдачей
      команды:</para>

    <screen>&prompt.root; <userinput>/sbin/mount -uw partition</userinput></screen>

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

    <screen>&prompt.root; <userinput>/sbin/mount -ur partition</userinput></screen>
  </sect1>

  <sect1>
    <title>Создание файловой системы с нуля</title>

    <para>Так как совместимые с ATA компактные флэш-карты распознаются во &os;
      как обычные жесткие диски IDE, то теоретически вы можете установить &os;
................................................................................
	  в том случае, если Apache настроен сохранять свой pid или лог файл
	  вне каталога <filename>/var</filename>.
	  С настройками по умолчанию Apache формирует свой pid файл в <filename>/var/run/httpd.pid</filename>, а лог файлы &mdash;
	  в <filename>/var/log</filename>.</para>
      </note>

      <para>Далее в статье подразумевается,
	что Apache сохраняет свои лог файлы в каталог <filename>apache_log_dir</filename>
	вне каталога <filename>/var</filename>.  Когда этот
	каталог расположен на файловой системе, смонтированной в режиме только
	для чтения, Apache не сможет сохранять лог файлы, что в свою очередь
	может вызывать проблемы в работе веб-сервера.  В таком случае
	необходимо добавить новый каталог к списку каталогов из
	<filename>/etc/rc.d/var</filename> для их создания в каталоге
	<filename>/var</filename> и связать
	<filename>apache_log_dir</filename>
	с <filename>/var/log/apache</filename>.  Нужно также задать права
	доступа и владельца нового каталога.</para>

      <para>Сначала добавьте каталог <literal>log/apache</literal> к списку
	каталогов, создаваемых скриптом
	<filename>/etc/rc.d/var</filename>.</para>

................................................................................
      <para>Затем добавьте в скрипт <filename>/etc/rc.d/var</filename>
	после секции создания каталогов такие команды:</para>

      <screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput>
&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen>

      <para>И наконец, удалите существующий каталог
	<filename>apache_install/logs</filename>
	и замените его ссылкой:</para>

      <screen>&prompt.root; <userinput>rm -rf apache_log_dir</userinput>
&prompt.root; <userinput>ln -s apache_log_dir</userinput></screen>
    </sect2>
  </sect1>
</article>







|




|







 







|







|







 







|


|
|



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
...
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
...
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
      с запуском распространенных программных пакетов, в <xref linkend="strategies"/>.</para>

    <para>Важно помнить, что файловая система, которая была смонтирована
      только для чтения при помощи файла <filename>/etc/fstab</filename>, в
      любой момент может быть сделана доступной по чтению и записи выдачей
      команды:</para>

    <screen>&prompt.root; <userinput>/sbin/mount -uw <replaceable>partition</replaceable></userinput></screen>

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

    <screen>&prompt.root; <userinput>/sbin/mount -ur <replaceable>partition</replaceable></userinput></screen>
  </sect1>

  <sect1>
    <title>Создание файловой системы с нуля</title>

    <para>Так как совместимые с ATA компактные флэш-карты распознаются во &os;
      как обычные жесткие диски IDE, то теоретически вы можете установить &os;
................................................................................
	  в том случае, если Apache настроен сохранять свой pid или лог файл
	  вне каталога <filename>/var</filename>.
	  С настройками по умолчанию Apache формирует свой pid файл в <filename>/var/run/httpd.pid</filename>, а лог файлы &mdash;
	  в <filename>/var/log</filename>.</para>
      </note>

      <para>Далее в статье подразумевается,
	что Apache сохраняет свои лог файлы в каталог <filename><replaceable>apache_log_dir</replaceable></filename>
	вне каталога <filename>/var</filename>.  Когда этот
	каталог расположен на файловой системе, смонтированной в режиме только
	для чтения, Apache не сможет сохранять лог файлы, что в свою очередь
	может вызывать проблемы в работе веб-сервера.  В таком случае
	необходимо добавить новый каталог к списку каталогов из
	<filename>/etc/rc.d/var</filename> для их создания в каталоге
	<filename>/var</filename> и связать
	<filename><replaceable>apache_log_dir</replaceable></filename>
	с <filename>/var/log/apache</filename>.  Нужно также задать права
	доступа и владельца нового каталога.</para>

      <para>Сначала добавьте каталог <literal>log/apache</literal> к списку
	каталогов, создаваемых скриптом
	<filename>/etc/rc.d/var</filename>.</para>

................................................................................
      <para>Затем добавьте в скрипт <filename>/etc/rc.d/var</filename>
	после секции создания каталогов такие команды:</para>

      <screen>&prompt.root; <userinput>chmod 0774 /var/log/apache</userinput>
&prompt.root; <userinput>chown nobody:nobody /var/log/apache</userinput></screen>

      <para>И наконец, удалите существующий каталог
	<filename><replaceable>apache_install</replaceable>/logs</filename>
	и замените его ссылкой:</para>

      <screen>&prompt.root; <userinput>rm -rf <replaceable>apache_log_dir</replaceable></userinput>
&prompt.root; <userinput>ln -s <replaceable>apache_log_dir</replaceable></userinput></screen>
    </sect2>
  </sect1>
</article>

Changes to ru_RU.KOI8-R/books/handbook/advanced-networking/chapter.xml.

558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
...
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
...
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
....
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
....
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
....
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
....
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
....
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
....
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
....
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934

	<para>В переменной <literal>static_routes</literal> находятся
	  строки, разделенные пробелами.  Каждая строка означает имя
	  маршрута.  В примере выше в <literal>static_routes</literal>
	  есть только одна строка, это
	  <replaceable>internalnet2</replaceable>.  Затем мы добавили
	  переменную
	  <literal>route_internalnet2</literal>,
	  куда помещены все параметры, которые необходимо передать
	  команде &man.route.8;.  В примере выше была использована
	  команда:</para>

	  <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>

	  <para>поэтому нам потребуется
................................................................................
&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen>

	  <para>Теперь необходимо настроить адаптер беспроводной сети.
	  Следующая команда заставит адаптер работать в режиме точки
	    доступа:</para>

	  <screen>
&prompt.root; <userinput>ifconfig wi0 ssid my_net channel 11 media DS/11Mbps mediaopt hostap up stationname "FreeBSD AP"</userinput>
	  </screen>

	  <para>Строчка &man.ifconfig.8; активизирует интерфейс
	    <filename>wi0</filename>, конфигурирует его SSID как
	    <replaceable>my_net</replaceable>, а имя станции как
	    <replaceable>FreeBSD AP</replaceable>.
	    <option>media DS/11Mbps</option> переводит адаптер в
................................................................................
        stationname "FreeBSD Wireless node"
        channel 10 authmode OPEN powersavemode OFF powersavesleep 100
        wepmode OFF weptxkey 1</screen>

	  <para>Теперь мы можем изменить настройки адаптера на те, что соответствуют
	    нашей сети:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net</userinput></screen>

	  <para>Замените <systemitem class="ipaddress">192.168.0.20</systemitem> и <systemitem class="netmask">255.255.255.0</systemitem> на правильные IP-адрес и
	    сетевую маску в вашей проводной сети.  Запомните, что наша точка
	    доступа выступает в роли моста для данных между беспроводной и
	    проводной сетями, так что они будут доступны для других устройств,
	    находящихся в сети, как будто они тоже находятся в проводной
	    сети.</para>
................................................................................
	    поддаётся вскрытию.  Это означает также, что он не тот протокол,
	    на который следует опираться, когда речь идёт о шифровании
	    критически важных данных.</para>

	  <para>Он лучше, чем ничего, так что используйте следующую команду для
	    включения WEP в вашей новой точке доступа FreeBSD:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet up ssid my_net wepmode on wepkey 0x1234567890 media DS/11Mbps mediaopt hostap</userinput></screen>

	  <para>Вы можете включить WEP на клиенте следующей командой:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet 192.168.0.20 netmask 255.255.255.0 ssid my_net wepmode on wepkey 0x1234567890</userinput></screen>

	  <para>Отметьте, что вы должны заменить
	    <replaceable>0x1234567890</replaceable> на более уникальный ключ.</para>
	</sect4>

	<sect4>
	  <title>IPsec</title>
................................................................................
    <para>Следующий шаг это компиляция бинарного драйвера в
      загружаемый модуль ядра.  Чтобы сделать это, сначала зайдите в
      каталог модуля <filename>if_ndis</filename> и с правами
      <systemitem class="username">root</systemitem> скопируйте туда драйверы
      &windows;:</para>

   <screen>&prompt.root; <userinput>cd /usr/src/sys/modules/if_ndis</userinput>
&prompt.root; <userinput>cp /path/to/driver/W32DRIVER.SYS ./</userinput>
&prompt.root; <userinput>cp /path/to/driver/W32DRIVER.INF ./</userinput></screen>

    <para>Теперь используйте утилиту <command>ndiscvt</command> для
      создания заголовка определения драйвера
      <filename>ndis_driver_data.h</filename> перед сборкой
      модуля:</para>

    <screen>&prompt.root; <userinput>ndiscvt -i W32DRIVER.INF -s W32DRIVER.SYS -o ndis_driver_data.h</userinput></screen>

    <para>Параметры <option>-i</option> и <option>-s</option> задают
      соответственно файл настройки и бинарный файл.  Мы используем
      параметр <option>-o ndis_driver_data.h</option>, поскольку
      <filename>Makefile</filename> при создании модуля будет
      обращаться именно к этому файлу.</para>

................................................................................

	  <calloutlist>
	    <callout arearefs="co-dhcp-host-name">
	      <para>Этот параметр указывает <application>dhcpd</application> посылать
		значения деклараций <literal>host</literal> как имя хоста для
		бездисковой машины.  Альтернативным способом было бы добавление
		<literal>option host-name
		margaux</literal> внутри объявлений
		<literal>host</literal>.</para>
	    </callout>

	    <callout arearefs="co-dhcp-next-server">
	      <para>Директива <literal>next-server</literal> определяет сервер
		<acronym>TFTP</acronym> или <acronym>NFS</acronym>,
		используемый для получения загрузчика или файла ядра
................................................................................

	<para>Для создания загрузочной дискеты, вставьте дискету в дисковод на
	  машине, где установлен <application>Etherboot</application>, затем
	  перейдите в каталог <filename>src</filename> в дереве
	  <application>Etherboot</application> и наберите:</para>

	<screen>
&prompt.root; <userinput>gmake bin32/devicetype.fd0</userinput>
	</screen>

	<para><replaceable>devicetype</replaceable> зависит от типа адаптера
	  Ethernet на бездисковой рабочей станции.  Обратитесь к файлу
	  <filename>NIC</filename> в том же самом каталоге для определения
	  правильного значения для
	  <replaceable>devicetype</replaceable>.</para>
................................................................................
	  <para>На стадии загрузки ядро не поддерживает подкачку через
	    <acronym>NFS</acronym>.  Подкачка должна быть разрешена при помощи
	    загрузочных скриптов, монтирующих файловую систему, пригодную для
	    записи и создающих на ней файл подкачки.  Для создания файла
	    подкачки подходящего размера вы можете выполнить следующие
	    команды:</para>

	  <screen>&prompt.root; <userinput>dd if=/dev/zero of=/path/to/swapfile bs=1k count=1 oseek=100000</userinput></screen>

	  <para>Для активации этого файла подкачки следует добавить в файл
	    <filename>rc.conf</filename> строку</para>

	  <programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
        </sect4>
      </sect3>
................................................................................
	настройки туннеля GRE (gif).</para>

      <para>Вот типичный пример настройки туннеля &man.gif.4;:</para>

      <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput>
&prompt.root; <userinput>ifconfig gif0</userinput>
gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
&prompt.root; <userinput>ifconfig gif0 tunnel MY_IPv4_ADDR  MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR</userinput>
&prompt.root; <userinput>ifconfig gif0 inet6 alias MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</userinput></screen>

      <para>Замените слова, написанные заглавными буквами, информацией, которую
	вам дал вышестоящий узел 6bone.</para>

      <para>При этом установится туннель.  Проверьте работу туннеля утилитой
	&man.ping6.8; с адресом <systemitem>ff02::1%gif0</systemitem>.
	Вы должны получить два положительных ответа.</para>
................................................................................
	  сторона туннеля также должна ответить.</para>
      </note>

      <para>Теперь настройка маршрута к вашей вышестоящей точке подключения
	6bone должна быть весьма проста:</para>

      <screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput>
&prompt.root; <userinput>ping6 -n MY_UPLINK</userinput></screen>

      <screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput>
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
     1  atnet-meta6  14.147 ms  15.499 ms  24.319 ms
     2  6bone-gw2-ATNET-NT.ipv6.tilab.com  103.408 ms  95.072 ms *
     3  3ffe:1831:0:ffff::4  138.645 ms  134.437 ms  144.257 ms
     4  3ffe:1810:0:6:290:27ff:fe79:7677  282.975 ms  278.666 ms  292.811 ms







|







 







|







 







|







 







|



|







 







|
|






|







 







|







 







|







 







|







 







|
|







 







|







558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
...
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
...
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
....
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
....
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
....
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
....
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
....
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
....
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
....
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934

	<para>В переменной <literal>static_routes</literal> находятся
	  строки, разделенные пробелами.  Каждая строка означает имя
	  маршрута.  В примере выше в <literal>static_routes</literal>
	  есть только одна строка, это
	  <replaceable>internalnet2</replaceable>.  Затем мы добавили
	  переменную
	  <literal>route_<replaceable>internalnet2</replaceable></literal>,
	  куда помещены все параметры, которые необходимо передать
	  команде &man.route.8;.  В примере выше была использована
	  команда:</para>

	  <screen>&prompt.root; <userinput>route add -net 192.168.2.0/24 192.168.1.2</userinput></screen>

	  <para>поэтому нам потребуется
................................................................................
&prompt.root; <userinput>sysctl net.inet.ip.forwarding=1</userinput></screen>

	  <para>Теперь необходимо настроить адаптер беспроводной сети.
	  Следующая команда заставит адаптер работать в режиме точки
	    доступа:</para>

	  <screen>
&prompt.root; <userinput>ifconfig wi0 ssid <replaceable>my_net</replaceable> channel 11 media DS/11Mbps mediaopt hostap up stationname "<replaceable>FreeBSD AP</replaceable>"</userinput>
	  </screen>

	  <para>Строчка &man.ifconfig.8; активизирует интерфейс
	    <filename>wi0</filename>, конфигурирует его SSID как
	    <replaceable>my_net</replaceable>, а имя станции как
	    <replaceable>FreeBSD AP</replaceable>.
	    <option>media DS/11Mbps</option> переводит адаптер в
................................................................................
        stationname "FreeBSD Wireless node"
        channel 10 authmode OPEN powersavemode OFF powersavesleep 100
        wepmode OFF weptxkey 1</screen>

	  <para>Теперь мы можем изменить настройки адаптера на те, что соответствуют
	    нашей сети:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet <replaceable>192.168.0.20</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>my_net</replaceable></userinput></screen>

	  <para>Замените <systemitem class="ipaddress">192.168.0.20</systemitem> и <systemitem class="netmask">255.255.255.0</systemitem> на правильные IP-адрес и
	    сетевую маску в вашей проводной сети.  Запомните, что наша точка
	    доступа выступает в роли моста для данных между беспроводной и
	    проводной сетями, так что они будут доступны для других устройств,
	    находящихся в сети, как будто они тоже находятся в проводной
	    сети.</para>
................................................................................
	    поддаётся вскрытию.  Это означает также, что он не тот протокол,
	    на который следует опираться, когда речь идёт о шифровании
	    критически важных данных.</para>

	  <para>Он лучше, чем ничего, так что используйте следующую команду для
	    включения WEP в вашей новой точке доступа FreeBSD:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet up ssid <replaceable>my_net</replaceable> wepmode on wepkey <replaceable>0x1234567890</replaceable> media DS/11Mbps mediaopt hostap</userinput></screen>

	  <para>Вы можете включить WEP на клиенте следующей командой:</para>

	  <screen>&prompt.root; <userinput>ifconfig wi0 inet <replaceable>192.168.0.20</replaceable> netmask <replaceable>255.255.255.0</replaceable> ssid <replaceable>my_net</replaceable> wepmode on wepkey <replaceable>0x1234567890</replaceable></userinput></screen>

	  <para>Отметьте, что вы должны заменить
	    <replaceable>0x1234567890</replaceable> на более уникальный ключ.</para>
	</sect4>

	<sect4>
	  <title>IPsec</title>
................................................................................
    <para>Следующий шаг это компиляция бинарного драйвера в
      загружаемый модуль ядра.  Чтобы сделать это, сначала зайдите в
      каталог модуля <filename>if_ndis</filename> и с правами
      <systemitem class="username">root</systemitem> скопируйте туда драйверы
      &windows;:</para>

   <screen>&prompt.root; <userinput>cd /usr/src/sys/modules/if_ndis</userinput>
&prompt.root; <userinput>cp <replaceable>/path/to/driver/W32DRIVER.SYS</replaceable> ./</userinput>
&prompt.root; <userinput>cp <replaceable>/path/to/driver/W32DRIVER.INF</replaceable> ./</userinput></screen>

    <para>Теперь используйте утилиту <command>ndiscvt</command> для
      создания заголовка определения драйвера
      <filename>ndis_driver_data.h</filename> перед сборкой
      модуля:</para>

    <screen>&prompt.root; <userinput>ndiscvt -i <replaceable>W32DRIVER.INF</replaceable> -s <replaceable>W32DRIVER.SYS</replaceable> -o ndis_driver_data.h</userinput></screen>

    <para>Параметры <option>-i</option> и <option>-s</option> задают
      соответственно файл настройки и бинарный файл.  Мы используем
      параметр <option>-o ndis_driver_data.h</option>, поскольку
      <filename>Makefile</filename> при создании модуля будет
      обращаться именно к этому файлу.</para>

................................................................................

	  <calloutlist>
	    <callout arearefs="co-dhcp-host-name">
	      <para>Этот параметр указывает <application>dhcpd</application> посылать
		значения деклараций <literal>host</literal> как имя хоста для
		бездисковой машины.  Альтернативным способом было бы добавление
		<literal>option host-name
		<replaceable>margaux</replaceable></literal> внутри объявлений
		<literal>host</literal>.</para>
	    </callout>

	    <callout arearefs="co-dhcp-next-server">
	      <para>Директива <literal>next-server</literal> определяет сервер
		<acronym>TFTP</acronym> или <acronym>NFS</acronym>,
		используемый для получения загрузчика или файла ядра
................................................................................

	<para>Для создания загрузочной дискеты, вставьте дискету в дисковод на
	  машине, где установлен <application>Etherboot</application>, затем
	  перейдите в каталог <filename>src</filename> в дереве
	  <application>Etherboot</application> и наберите:</para>

	<screen>
&prompt.root; <userinput>gmake bin32/<replaceable>devicetype</replaceable>.fd0</userinput>
	</screen>

	<para><replaceable>devicetype</replaceable> зависит от типа адаптера
	  Ethernet на бездисковой рабочей станции.  Обратитесь к файлу
	  <filename>NIC</filename> в том же самом каталоге для определения
	  правильного значения для
	  <replaceable>devicetype</replaceable>.</para>
................................................................................
	  <para>На стадии загрузки ядро не поддерживает подкачку через
	    <acronym>NFS</acronym>.  Подкачка должна быть разрешена при помощи
	    загрузочных скриптов, монтирующих файловую систему, пригодную для
	    записи и создающих на ней файл подкачки.  Для создания файла
	    подкачки подходящего размера вы можете выполнить следующие
	    команды:</para>

	  <screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/path/to/swapfile</replaceable> bs=1k count=1 oseek=<replaceable>100000</replaceable></userinput></screen>

	  <para>Для активации этого файла подкачки следует добавить в файл
	    <filename>rc.conf</filename> строку</para>

	  <programlisting>swapfile=<replaceable>/path/to/swapfile</replaceable></programlisting>
        </sect4>
      </sect3>
................................................................................
	настройки туннеля GRE (gif).</para>

      <para>Вот типичный пример настройки туннеля &man.gif.4;:</para>

      <screen>&prompt.root; <userinput>ifconfig gif0 create</userinput>
&prompt.root; <userinput>ifconfig gif0</userinput>
gif0: flags=8010&lt;POINTOPOINT,MULTICAST&gt; mtu 1280
&prompt.root; <userinput>ifconfig gif0 tunnel <replaceable>MY_IPv4_ADDR</replaceable>  <replaceable>MY_IPv4_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput>
&prompt.root; <userinput>ifconfig gif0 inet6 alias <replaceable>MY_ASSIGNED_IPv6_TUNNEL_ENDPOINT_ADDR</replaceable> <replaceable>MY_IPv6_REMOTE_TUNNEL_ENDPOINT_ADDR</replaceable></userinput></screen>

      <para>Замените слова, написанные заглавными буквами, информацией, которую
	вам дал вышестоящий узел 6bone.</para>

      <para>При этом установится туннель.  Проверьте работу туннеля утилитой
	&man.ping6.8; с адресом <systemitem>ff02::1%gif0</systemitem>.
	Вы должны получить два положительных ответа.</para>
................................................................................
	  сторона туннеля также должна ответить.</para>
      </note>

      <para>Теперь настройка маршрута к вашей вышестоящей точке подключения
	6bone должна быть весьма проста:</para>

      <screen>&prompt.root; <userinput>route add -inet6 default -interface gif0</userinput>
&prompt.root; <userinput>ping6 -n <replaceable>MY_UPLINK</replaceable></userinput></screen>

      <screen>&prompt.root; <userinput>traceroute6 www.jp.FreeBSD.org</userinput>
(3ffe:505:2008:1:2a0:24ff:fe57:e561) from 3ffe:8060:100::40:2, 30 hops max, 12 byte packets
     1  atnet-meta6  14.147 ms  15.499 ms  24.319 ms
     2  6bone-gw2-ATNET-NT.ipv6.tilab.com  103.408 ms  95.072 ms *
     3  3ffe:1831:0:ffff::4  138.645 ms  134.437 ms  144.257 ms
     4  3ffe:1810:0:6:290:27ff:fe79:7677  282.975 ms  278.666 ms  292.811 ms

Changes to ru_RU.KOI8-R/books/handbook/basics/chapter.xml.

1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
....
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
....
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
....
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
....
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
....
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
....
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835

    <para>Для изменения более чем одного набора прав можно применить список,
      разделенный запятыми.  Например, следующая команда удалит права группы
      и <quote>всех остальных</quote> на запись в
      <replaceable>FILE</replaceable>, а затем добавит права на выполнение для
      всех:</para>

    <screen>&prompt.user; <userinput>chmod go-w,a+x FILE</userinput></screen>
<!--
    <para>Большинство пользователей не знают об этом, но необходимо отметить, что
      при использовании восьмеричного метода права на файл будут установлены явно,
      а не добавлены или удалены.</para>
-->
    </sect2>

................................................................................

      <para>Бит setuid устанавливается добавлением цифры четыре (4) перед
	численным представлением прав доступа, например:</para>

      <screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>

      <para>Теперь права доступа на файл
	<filename>suidexample.sh</filename>
	выглядят подобно следующему:</para>

      <programlisting>-rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh</programlisting>

      <para>В вышеприведенной строке приметно то, что в перечне прав доступа
	для владельца файла присутствует символ <literal>s</literal>,
	который заменил собой бит выполнения.
................................................................................
		портов.  Внутри <filename>/usr/local</filename>
		иерархия каталогов должна следовать &man.hier.7; для
		<filename>/usr</filename>.  Исключение составляют
		каталог <filename>man</filename>, который расположен
		непосредственно в <filename>/usr/local</filename>, а не
		в <filename>/usr/local/share</filename>, и документация портов,
		которая расположена в
		<filename>share/doc/port</filename>.
	      </entry>
	    </row>

	    <row>
	      <entry><filename>/usr/obj/</filename></entry>
	      <entry>Архитектурно-зависимые файлы и каталоги,
		образующиеся в процессе сборки системы из исходных
................................................................................

      <para>Команда &man.mount.8; используется, как следует из ее имени,
	для монтирования файловых систем.</para>

      <para>Пример использования (простейший случай):</para>

      <informalexample>
	<screen>&prompt.root; <userinput>mount устройство точка-монтирования</userinput></screen>
      </informalexample>

      <para>Перечислим основные опции, которые может принимать команда
	&man.mount.8; (полный список смотрите на странице
	справочника):</para>

      <variablelist>
................................................................................
	  <title>Зачем использовать <command>/bin/kill</command>?</title>

	  <para>Во многих оболочках команда <command>kill</command> встроена;
	    таким образом, оболочка вместо вызова <filename>/bin/kill</filename>
	    сама посылает сигнал.  Это может быть очень полезно, но в разных
	    оболочках имя сигнала указывается по-разному.  Чем
	    пытаться выучить их все, гораздо проще использовать
	    <command>/bin/kill ...</command>
	    непосредственно.</para>
	</note>
      </step>
    </procedure>

    <para>Отправка других сигналов очень похожа, просто замените
      <literal>TERM</literal> или <literal>KILL</literal> в командной
................................................................................
      <secondary><command>ee</command></secondary>
    </indexterm>

    <para>Самым простым в изучении и использовании, по-видимому, можно
      назвать <application>ee</application>, что расшифровывается как
      <quote>easy editor</quote>, т.е. <quote>простой редактор</quote>.  Чтобы
      начать редактировать какой-либо файл, наберите в командной строке
      <command>ee filename</command>, где
      <replaceable>filename</replaceable> имя
      редактируемого файла.  Например, для редактирования файла
      <filename>/etc/rc.conf</filename>, наберите <command>ee
      /etc/rc.conf</command>.  В верхней части экрана вы увидите список
      основных команд редактора.  Символ каретки (<literal>^</literal>)
      означает клавишу <keycap>Ctrl</keycap>, таким образом,
      <literal>^e</literal> означает комбинацию клавиш
................................................................................
      <para>Пожалуй, самым полным руководством по FreeBSD является
	системный справочник (man).  Практически каждое приложение или
	утилита имеют соответствующую страницу (часто не одну), описывающую
	тот или иной аспект работы программы, всевозможные опции и
	настройки.  Для просмотра этих страниц существует команда
	<command>man</command>:</para>

      <screen>&prompt.user; <userinput>man command</userinput></screen>

      <para>Здесь <literal>command</literal> &ndash; это команда, о которой вы
	хотите получить информацию.  Например, чтобы узнать побольше о команде
	<command>ls</command>, наберите:</para>

      <screen>&prompt.user; <userinput>man ls</userinput></screen>








|







 







|







 







|







 







|







 







|







 







|







 







|







1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
....
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
....
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
....
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
....
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
....
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
....
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835

    <para>Для изменения более чем одного набора прав можно применить список,
      разделенный запятыми.  Например, следующая команда удалит права группы
      и <quote>всех остальных</quote> на запись в
      <replaceable>FILE</replaceable>, а затем добавит права на выполнение для
      всех:</para>

    <screen>&prompt.user; <userinput>chmod go-w,a+x <replaceable>FILE</replaceable></userinput></screen>
<!--
    <para>Большинство пользователей не знают об этом, но необходимо отметить, что
      при использовании восьмеричного метода права на файл будут установлены явно,
      а не добавлены или удалены.</para>
-->
    </sect2>

................................................................................

      <para>Бит setuid устанавливается добавлением цифры четыре (4) перед
	численным представлением прав доступа, например:</para>

      <screen>&prompt.root; <userinput>chmod 4755 suidexample.sh</userinput></screen>

      <para>Теперь права доступа на файл
	<filename><replaceable>suidexample.sh</replaceable></filename>
	выглядят подобно следующему:</para>

      <programlisting>-rwsr-xr-x   1 trhodes  trhodes    63 Aug 29 06:36 suidexample.sh</programlisting>

      <para>В вышеприведенной строке приметно то, что в перечне прав доступа
	для владельца файла присутствует символ <literal>s</literal>,
	который заменил собой бит выполнения.
................................................................................
		портов.  Внутри <filename>/usr/local</filename>
		иерархия каталогов должна следовать &man.hier.7; для
		<filename>/usr</filename>.  Исключение составляют
		каталог <filename>man</filename>, который расположен
		непосредственно в <filename>/usr/local</filename>, а не
		в <filename>/usr/local/share</filename>, и документация портов,
		которая расположена в
		<filename>share/doc/<replaceable>port</replaceable></filename>.
	      </entry>
	    </row>

	    <row>
	      <entry><filename>/usr/obj/</filename></entry>
	      <entry>Архитектурно-зависимые файлы и каталоги,
		образующиеся в процессе сборки системы из исходных
................................................................................

      <para>Команда &man.mount.8; используется, как следует из ее имени,
	для монтирования файловых систем.</para>

      <para>Пример использования (простейший случай):</para>

      <informalexample>
	<screen>&prompt.root; <userinput>mount <replaceable>устройство</replaceable> <replaceable>точка-монтирования</replaceable></userinput></screen>
      </informalexample>

      <para>Перечислим основные опции, которые может принимать команда
	&man.mount.8; (полный список смотрите на странице
	справочника):</para>

      <variablelist>
................................................................................
	  <title>Зачем использовать <command>/bin/kill</command>?</title>

	  <para>Во многих оболочках команда <command>kill</command> встроена;
	    таким образом, оболочка вместо вызова <filename>/bin/kill</filename>
	    сама посылает сигнал.  Это может быть очень полезно, но в разных
	    оболочках имя сигнала указывается по-разному.  Чем
	    пытаться выучить их все, гораздо проще использовать
	    <command>/bin/kill <replaceable>...</replaceable></command>
	    непосредственно.</para>
	</note>
      </step>
    </procedure>

    <para>Отправка других сигналов очень похожа, просто замените
      <literal>TERM</literal> или <literal>KILL</literal> в командной
................................................................................
      <secondary><command>ee</command></secondary>
    </indexterm>

    <para>Самым простым в изучении и использовании, по-видимому, можно
      назвать <application>ee</application>, что расшифровывается как
      <quote>easy editor</quote>, т.е. <quote>простой редактор</quote>.  Чтобы
      начать редактировать какой-либо файл, наберите в командной строке
      <command>ee <replaceable>filename</replaceable></command>, где
      <replaceable>filename</replaceable> имя
      редактируемого файла.  Например, для редактирования файла
      <filename>/etc/rc.conf</filename>, наберите <command>ee
      /etc/rc.conf</command>.  В верхней части экрана вы увидите список
      основных команд редактора.  Символ каретки (<literal>^</literal>)
      означает клавишу <keycap>Ctrl</keycap>, таким образом,
      <literal>^e</literal> означает комбинацию клавиш
................................................................................
      <para>Пожалуй, самым полным руководством по FreeBSD является
	системный справочник (man).  Практически каждое приложение или
	утилита имеют соответствующую страницу (часто не одну), описывающую
	тот или иной аспект работы программы, всевозможные опции и
	настройки.  Для просмотра этих страниц существует команда
	<command>man</command>:</para>

      <screen>&prompt.user; <userinput>man <replaceable>command</replaceable></userinput></screen>

      <para>Здесь <literal>command</literal> &ndash; это команда, о которой вы
	хотите получить информацию.  Например, чтобы узнать побольше о команде
	<command>ls</command>, наберите:</para>

      <screen>&prompt.user; <userinput>man ls</userinput></screen>

Changes to ru_RU.KOI8-R/books/handbook/boot/chapter.xml.

195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
...
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
...
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
...
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
...
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
...
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
...
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838

      <para>Известно, что другие операционные системы, в частности,
	&windows;&nbsp;95, записывают поверх существующей MBR свою собственную.
	Если так случилось в вашем случае, или же вы хотите заменить
	существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
	командой:</para>

      <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 device</userinput></screen>

      <para>Здесь <replaceable>device</replaceable> является устройством, с
	которого вы загружаетесь, таким, как <filename>ad0</filename> в
	случае первого диска IDE, <filename>ad2</filename> в случае первого
	диска IDE на втором контроллере IDE, <filename>da0</filename> для
	первого диска SCSI и так далее.  Если вы используете MBR
	нестандартного вида, воспользуйтесь &man.boot0cfg.8;.</para>
................................................................................
	</screen>
      </example>

      <para>Если вам когда-либо понадобится заменить установленные
	<filename>boot1</filename> и <filename>boot2</filename>, то используйте
	утилиту &man.bsdlabel.8;:</para>

      <screen>&prompt.root; <userinput>bsdlabel -B diskslice</userinput></screen>

      <para>Здесь <replaceable>diskslice</replaceable> являются диском и
	слайсом, с которых вы загружаетесь, например,
	<filename>ad0s1</filename> в случае первого слайса на первом диске
	IDE.</para>

      <warning>
................................................................................
		указанного в секундах промежутка времени.  Он выводит счетчик,
		и по умолчанию выдерживается интервал в 10 секунд.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>boot
	      <optional>-параметры</optional>
	      <optional>имя ядра</optional></term>

	    <listitem>
	      <para>Продолжить процесс загрузки указанного ядра, если оно было
		указано, и с указанными параметрами, если они были
		указаны.  Загрузка и использование указанного ядра
		возможны лишь после выгрузки текущего ядра, а выгрузка текущего
		ядра производится командой <emphasis>unload</emphasis>.</para>
................................................................................
		<command>unload</command>, изменили некоторые переменные,
		например, наиболее часто меняемую <envar>kernel</envar>.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>help
	      <optional>тема</optional></term>

	    <listitem>
	      <para>Вывод сообщений подсказки из файла
		<filename>/boot/loader.help</filename>.  Если в качестве темы
		указано слово <literal>index</literal>, то выводится список
		имеющихся тем.</para>
	    </listitem>
................................................................................
		приводит к немедленному прекращению выполнения команды
		include.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>load <optional>-t
	      тип</optional>
	      <replaceable>имя файла</replaceable></term>

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

	  <varlistentry>
	    <term>ls <optional>-l</optional>
	      <optional>маршрут</optional></term>

	    <listitem>
	      <para>Выводит список файлов по указанному маршруту или в корневом
		каталоге, если маршрут не был указан.  Если указан параметр
		<option>-l</option>, будут выводиться и размеры файлов.</para>
	    </listitem>
	  </varlistentry>
................................................................................
	  </listitem>

	  <listitem>
	    <para>Для выгрузки обычных ядра и модулей, а потом просто загрузить
	      ваше старое (или другое) ядро:</para>

	    <screen><userinput>unload</userinput>
<userinput>load kernel.old</userinput></screen>

	    <para>Вы можете использовать <filename>kernel.GENERIC</filename>
	      для обозначения стандартного ядра, поставляемого на установочном
	      диске, или <filename>kernel.old</filename><indexterm><primary><filename>kernel.old</filename></primary></indexterm> для обращения к ранее
	      установленному ядру (после того, как, например, вы обновили или
	      отконфигурировали новое ядро).</para>

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

	      <screen><userinput>unload</userinput>
<userinput>set kernel="kernel.old"</userinput>
<userinput>boot-conf</userinput></screen>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Для загрузки скрипта конфигурации ядра (автоматизированный
	      скрипт, который выполняет то, что вы обычно делаете в
	      конфигураторе ядра во время загрузки):</para>

	    <screen><userinput>load -t userconfig_script /boot/kernel.conf</userinput></screen>
	  </listitem>
	</itemizedlist>
      </sect3>

      <sect3 xml:id="boot-splash">
	<info><title>Загрузочные экранные заставки</title>
	  <authorgroup>
................................................................................

	  <programlisting>vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>

	  <para>Вышеприведённый пример подразумевает, что файл
	    <filename>/boot/splash.bmp</filename>
	    содержит изображение заставки.  Если же требуется выводить файл
	    формата <acronym>PCX</acronym>, то используйте следующие строки
	    (в зависимости от необходимого разрешения может также
	    потребоваться строка <literal>vesa_load="YES"</literal>):</para>

	  <programlisting>splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>

	  <para>Возможное имя файла не ограничено одним лишь словом
	    <quote>splash</quote>.  Оно может выбираться произвольно, например:
	    <filename>splash_640x400.bmp</filename>
	    или <filename>blue_wave.pcx</filename>.
	    Важен лишь тип файла: он должен быть либо <acronym>BMP</acronym>,
	    либо <acronym>PCX</acronym>.</para>

	  <para>Далее приведены еще две полезные опции
	    <filename>loader.conf</filename>:</para>

	  <variablelist>
................................................................................

    <para>Синтаксически в файле <filename>/boot/device.hints</filename> в
      каждой строке определяется по
      одной переменной, в качестве метки начала комментария используется
      стандартный символ <quote>#</quote>.  Строки строятся следующим
      образом:</para>

    <screen><userinput>hint.driver.unit.keyword="value"</userinput></screen>

    <para>Синтаксис для начального загрузчика Стадии 3 таков:</para>

    <screen><userinput>set hint.driver.unit.keyword=value</userinput></screen>

    <para><literal>driver</literal> определяет имя драйвера устройства,
      <literal>unit</literal> соответствует порядковому номеру модуля
      устройства, а <literal>keyword</literal> является ключевым словом хинта.
      В качестве ключевых слов могут применяться следующие опции:</para>

    <itemizedlist>







|







 







|







 







|
|







 







|







 







|











|







 







|












|









|







 







|











|
|







 







|



|







195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
...
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
...
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
...
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
...
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
...
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
...
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838

      <para>Известно, что другие операционные системы, в частности,
	&windows;&nbsp;95, записывают поверх существующей MBR свою собственную.
	Если так случилось в вашем случае, или же вы хотите заменить
	существующую MBR на MBR от FreeBSD, то воспользуйтесь следующей
	командой:</para>

      <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>device</replaceable></userinput></screen>

      <para>Здесь <replaceable>device</replaceable> является устройством, с
	которого вы загружаетесь, таким, как <filename>ad0</filename> в
	случае первого диска IDE, <filename>ad2</filename> в случае первого
	диска IDE на втором контроллере IDE, <filename>da0</filename> для
	первого диска SCSI и так далее.  Если вы используете MBR
	нестандартного вида, воспользуйтесь &man.boot0cfg.8;.</para>
................................................................................
	</screen>
      </example>

      <para>Если вам когда-либо понадобится заменить установленные
	<filename>boot1</filename> и <filename>boot2</filename>, то используйте
	утилиту &man.bsdlabel.8;:</para>

      <screen>&prompt.root; <userinput>bsdlabel -B <replaceable>diskslice</replaceable></userinput></screen>

      <para>Здесь <replaceable>diskslice</replaceable> являются диском и
	слайсом, с которых вы загружаетесь, например,
	<filename>ad0s1</filename> в случае первого слайса на первом диске
	IDE.</para>

      <warning>
................................................................................
		указанного в секундах промежутка времени.  Он выводит счетчик,
		и по умолчанию выдерживается интервал в 10 секунд.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>boot
	      <optional><replaceable>-параметры</replaceable></optional>
	      <optional><replaceable>имя ядра</replaceable></optional></term>

	    <listitem>
	      <para>Продолжить процесс загрузки указанного ядра, если оно было
		указано, и с указанными параметрами, если они были
		указаны.  Загрузка и использование указанного ядра
		возможны лишь после выгрузки текущего ядра, а выгрузка текущего
		ядра производится командой <emphasis>unload</emphasis>.</para>
................................................................................
		<command>unload</command>, изменили некоторые переменные,
		например, наиболее часто меняемую <envar>kernel</envar>.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>help
	      <optional><replaceable>тема</replaceable></optional></term>

	    <listitem>
	      <para>Вывод сообщений подсказки из файла
		<filename>/boot/loader.help</filename>.  Если в качестве темы
		указано слово <literal>index</literal>, то выводится список
		имеющихся тем.</para>
	    </listitem>
................................................................................
		приводит к немедленному прекращению выполнения команды
		include.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>load <optional>-t
	      <replaceable>тип</replaceable></optional>
	      <replaceable>имя файла</replaceable></term>

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

	  <varlistentry>
	    <term>ls <optional>-l</optional>
	      <optional><replaceable>маршрут</replaceable></optional></term>

	    <listitem>
	      <para>Выводит список файлов по указанному маршруту или в корневом
		каталоге, если маршрут не был указан.  Если указан параметр
		<option>-l</option>, будут выводиться и размеры файлов.</para>
	    </listitem>
	  </varlistentry>
................................................................................
	  </listitem>

	  <listitem>
	    <para>Для выгрузки обычных ядра и модулей, а потом просто загрузить
	      ваше старое (или другое) ядро:</para>

	    <screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>

	    <para>Вы можете использовать <filename>kernel.GENERIC</filename>
	      для обозначения стандартного ядра, поставляемого на установочном
	      диске, или <filename>kernel.old</filename><indexterm><primary><filename>kernel.old</filename></primary></indexterm> для обращения к ранее
	      установленному ядру (после того, как, например, вы обновили или
	      отконфигурировали новое ядро).</para>

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

	      <screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
<userinput>boot-conf</userinput></screen>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Для загрузки скрипта конфигурации ядра (автоматизированный
	      скрипт, который выполняет то, что вы обычно делаете в
	      конфигураторе ядра во время загрузки):</para>

	    <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
	  </listitem>
	</itemizedlist>
      </sect3>

      <sect3 xml:id="boot-splash">
	<info><title>Загрузочные экранные заставки</title>
	  <authorgroup>
................................................................................

	  <programlisting>vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>

	  <para>Вышеприведённый пример подразумевает, что файл
	    <filename><replaceable>/boot/splash.bmp</replaceable></filename>
	    содержит изображение заставки.  Если же требуется выводить файл
	    формата <acronym>PCX</acronym>, то используйте следующие строки
	    (в зависимости от необходимого разрешения может также
	    потребоваться строка <literal>vesa_load="YES"</literal>):</para>

	  <programlisting>splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>

	  <para>Возможное имя файла не ограничено одним лишь словом
	    <quote>splash</quote>.  Оно может выбираться произвольно, например:
	    <filename><replaceable>splash_640x400.bmp</replaceable></filename>
	    или <filename><replaceable>blue_wave.pcx</replaceable></filename>.
	    Важен лишь тип файла: он должен быть либо <acronym>BMP</acronym>,
	    либо <acronym>PCX</acronym>.</para>

	  <para>Далее приведены еще две полезные опции
	    <filename>loader.conf</filename>:</para>

	  <variablelist>
................................................................................

    <para>Синтаксически в файле <filename>/boot/device.hints</filename> в
      каждой строке определяется по
      одной переменной, в качестве метки начала комментария используется
      стандартный символ <quote>#</quote>.  Строки строятся следующим
      образом:</para>

    <screen><userinput>hint.driver.unit.keyword="<replaceable>value</replaceable>"</userinput></screen>

    <para>Синтаксис для начального загрузчика Стадии 3 таков:</para>

    <screen><userinput>set hint.driver.unit.keyword=<replaceable>value</replaceable></userinput></screen>

    <para><literal>driver</literal> определяет имя драйвера устройства,
      <literal>unit</literal> соответствует порядковому номеру модуля
      устройства, а <literal>keyword</literal> является ключевым словом хинта.
      В качестве ключевых слов могут применяться следующие опции:</para>

    <itemizedlist>

Changes to ru_RU.KOI8-R/books/handbook/bsdinstall/chapter.xml.

435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
...
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
....
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
      <procedure xml:id="bsdinstall-installation-media-memory-stick">
	<step>
	  <title>Получение образа для флеш-накопителя</title>

	  <para>Образы для флеш-накопителя для &os;&nbsp;9.0-RELEASE и более
	    поздних могут быть скачаны с каталога
	    <filename>ISO-IMAGES/</filename>
	    по адресу <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/arch/ISO-IMAGES/version/&os;-version-RELEASE-arch-memstick.img</literal>.
	    Замените <replaceable>arch</replaceable> и
	    <replaceable>version</replaceable> соответственно на архитектуру
	    и номер версии которую вы планируете установить.  Например,
	    образы для флеш-накопителей &os;/&arch.i386;&nbsp;9.0-RELEASE
	    находятся на <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img</uri>.</para>

	  <tip>
................................................................................
	      <para>Файл <filename>.img</filename> не является обычным файлом.
		Это <emphasis>образ</emphasis> всего содержимого
		флеш-накопителя.  Этот файл <emphasis>не может</emphasis>
		быть просто скопированным подобно обычному файлу, он должен
		быть записан непосредственно на целевое устройство при помощи
		&man.dd.1;:</para>

	      <screen>&prompt.root; <userinput>dd if=&os;-9.0-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k</userinput></screen>
	    </step>
	  </procedure>

	  <procedure>
	    <title>Использование &windows; для записи образа</title>

	    <warning>
................................................................................
	<listitem>
	  <para><literal>Login group</literal> &mdash; Имя группы для этого
	    пользователя.  Обычно это поле также не заполняется, система
	    поставит значение по умолчанию.</para>
	</listitem>

	<listitem>
	  <para><literal>Invite user into
	    other groups?</literal> &mdash; Перечень групп, в которые будет
	    внесен пользователь.</para>
	</listitem>

	<listitem>
	  <para><literal>Login class</literal> &mdash; Обычно оставляется
	    пустым для принятия значения по умолчанию.</para>







|







 







|







 







|







435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
...
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
....
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
      <procedure xml:id="bsdinstall-installation-media-memory-stick">
	<step>
	  <title>Получение образа для флеш-накопителя</title>

	  <para>Образы для флеш-накопителя для &os;&nbsp;9.0-RELEASE и более
	    поздних могут быть скачаны с каталога
	    <filename>ISO-IMAGES/</filename>
	    по адресу <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable>arch</replaceable>/<replaceable>arch</replaceable>/ISO-IMAGES/<replaceable>version</replaceable>/&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</literal>.
	    Замените <replaceable>arch</replaceable> и
	    <replaceable>version</replaceable> соответственно на архитектуру
	    и номер версии которую вы планируете установить.  Например,
	    образы для флеш-накопителей &os;/&arch.i386;&nbsp;9.0-RELEASE
	    находятся на <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/&arch.i386;/ISO-IMAGES/9.0/&os;-9.0-RELEASE-&arch.i386;-memstick.img</uri>.</para>

	  <tip>
................................................................................
	      <para>Файл <filename>.img</filename> не является обычным файлом.
		Это <emphasis>образ</emphasis> всего содержимого
		флеш-накопителя.  Этот файл <emphasis>не может</emphasis>
		быть просто скопированным подобно обычному файлу, он должен
		быть записан непосредственно на целевое устройство при помощи
		&man.dd.1;:</para>

	      <screen>&prompt.root; <userinput>dd if=&os;-9.0-RELEASE-&arch.i386;-memstick.img of=/dev/<replaceable>da0</replaceable> bs=64k</userinput></screen>
	    </step>
	  </procedure>

	  <procedure>
	    <title>Использование &windows; для записи образа</title>

	    <warning>
................................................................................
	<listitem>
	  <para><literal>Login group</literal> &mdash; Имя группы для этого
	    пользователя.  Обычно это поле также не заполняется, система
	    поставит значение по умолчанию.</para>
	</listitem>

	<listitem>
	  <para><literal>Invite <replaceable>user</replaceable> into
	    other groups?</literal> &mdash; Перечень групп, в которые будет
	    внесен пользователь.</para>
	</listitem>

	<listitem>
	  <para><literal>Login class</literal> &mdash; Обычно оставляется
	    пустым для принятия значения по умолчанию.</para>

Changes to ru_RU.KOI8-R/books/handbook/config/chapter.xml.

813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
...
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
....
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
	многие PCI и ISA карты.  Обратитесь к Списку поддерживаемого
	оборудования вашего релиза чтобы узнать, поддерживается ли
	карта.</para>

      <para>Как только вы убедились, что карта поддерживается, потребуется
	определить подходящий драйвер.  В файлах
	<filename>/usr/src/sys/conf/NOTES</filename> и
	<filename>/usr/src/sys/arch/conf/NOTES</filename>
	находится список
	драйверов сетевых интерфейсов с информацией о поддерживаемых
	чипсетах/картах.  Если вы сомневаетесь в том, какой драйвер
	подойдет, прочтите страницу справочника к драйверу.
	Страница справочника содержит больше информации о поддерживаемом
	оборудовании и даже о проблемах, которые могут возникнуть.</para>

................................................................................
	</listitem>

	<listitem>
	  <para>Вместо этого, вы можете статически включить поддержку карты,
	    скомпилировав собственное ядро.  Информацию о том, какие
	    параметры нужно включать в ядро, можно получить из
	    <filename>/usr/src/sys/conf/NOTES</filename>,
	    <filename>/usr/src/sys/arch/conf/NOTES</filename>
	    и страницы справочника драйвера сетевой карты.
	    За более подробной информацией о сборке собственного ядра
	    обращайтесь к <xref linkend="kernelconfig"/>.  Если карта
	    была обнаружена вашим ядром (<filename>GENERIC</filename>)
	    во время загрузки, собирать ядро не потребуется.</para>
	</listitem>
      </itemizedlist>
................................................................................
	  <para><acronym>URL</acronym> где можно найти ваш
	    <firstterm><acronym>ACPI</acronym> Source Language</firstterm>
	    (<acronym>ASL</acronym>).  <emphasis>Не</emphasis> отправляйте
	    <acronym>ASL</acronym> непосредственно в список рассылки,
	    поскольку он может быть очень большим.  Копия
	    <acronym>ASL</acronym> может быть создана командой:</para>

	  <screen>&prompt.root; <userinput>acpidump -t -d &gt; name-system.asl</userinput></screen>

	  <para>(Замените вашим логином
	    <filename>name</filename> и производителем/моделью
	    <filename>system</filename>.  Пример:
	    <filename>njl-FooCo6000.asl</filename>)</para>
	</listitem>
      </itemizedlist>







|







 







|







 







|







813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
...
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
....
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
	многие PCI и ISA карты.  Обратитесь к Списку поддерживаемого
	оборудования вашего релиза чтобы узнать, поддерживается ли
	карта.</para>

      <para>Как только вы убедились, что карта поддерживается, потребуется
	определить подходящий драйвер.  В файлах
	<filename>/usr/src/sys/conf/NOTES</filename> и
	<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/NOTES</filename>
	находится список
	драйверов сетевых интерфейсов с информацией о поддерживаемых
	чипсетах/картах.  Если вы сомневаетесь в том, какой драйвер
	подойдет, прочтите страницу справочника к драйверу.
	Страница справочника содержит больше информации о поддерживаемом
	оборудовании и даже о проблемах, которые могут возникнуть.</para>

................................................................................
	</listitem>

	<listitem>
	  <para>Вместо этого, вы можете статически включить поддержку карты,
	    скомпилировав собственное ядро.  Информацию о том, какие
	    параметры нужно включать в ядро, можно получить из
	    <filename>/usr/src/sys/conf/NOTES</filename>,
	    <filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/NOTES</filename>
	    и страницы справочника драйвера сетевой карты.
	    За более подробной информацией о сборке собственного ядра
	    обращайтесь к <xref linkend="kernelconfig"/>.  Если карта
	    была обнаружена вашим ядром (<filename>GENERIC</filename>)
	    во время загрузки, собирать ядро не потребуется.</para>
	</listitem>
      </itemizedlist>
................................................................................
	  <para><acronym>URL</acronym> где можно найти ваш
	    <firstterm><acronym>ACPI</acronym> Source Language</firstterm>
	    (<acronym>ASL</acronym>).  <emphasis>Не</emphasis> отправляйте
	    <acronym>ASL</acronym> непосредственно в список рассылки,
	    поскольку он может быть очень большим.  Копия
	    <acronym>ASL</acronym> может быть создана командой:</para>

	  <screen>&prompt.root; <userinput>acpidump -t -d &gt; <replaceable>name</replaceable>-<replaceable>system</replaceable>.asl</userinput></screen>

	  <para>(Замените вашим логином
	    <filename>name</filename> и производителем/моделью
	    <filename>system</filename>.  Пример:
	    <filename>njl-FooCo6000.asl</filename>)</para>
	</listitem>
      </itemizedlist>

Changes to ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.xml.

1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
....
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
....
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
....
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
....
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
      <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/mergemaster</userinput>
&prompt.root; <userinput>./mergemaster.sh -p</userinput></screen>

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

	<screen>&prompt.root; <userinput>find / -group GID -print</userinput></screen>

	<para>выдаст список всех файлов, владельцем которых является группа
	  <replaceable>GID</replaceable> (задаваемая именем или
	  численным значением ID).</para>
      </tip>
    </sect2>

................................................................................
	  <filename>Makefile</filename>, описывающего, как должны быть
	  перестроены программы, которые составляют систему &os;, в каком
	  порядке они должны быть построены и так далее.</para>

	<para>Общий формат командной строки, которую вы будет набирать,
	  таков:</para>

	<screen>&prompt.root; <userinput>make -x -DVARIABLE target</userinput></screen>

	<para>В этом примере <option>-<replaceable>x</replaceable></option>
	  является параметром, который вы передаете в &man.make.1;.
	  Обратитесь к справочной странице программы &man.make.1;, которая
	  содержит список возможных параметров.</para>

	<para><option>-D<replaceable>VARIABLE</replaceable></option>
	  передает переменную в <filename>Makefile</filename>.  Поведение
	  <filename>Makefile</filename> определяется этими переменными.  Это
	  те же самые переменные, которые задаются в
	  <filename>/etc/make.conf</filename>, и это &mdash; еще один способ
	  их задания.</para>

	<screen>&prompt.root; <userinput>make -DNO_PROFILE=true target</userinput></screen>

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

	<programlisting>NO_PROFILE=    true	# Обход построения библиотек для профилирования</programlisting>

	<para>в файле <filename>/etc/make.conf</filename>.</para>
................................................................................
	  они используются в процессе построения для разбиения его на этапы.</para>

	<para>В большинстве случаев вам не нужно передавать никаких
	  параметров в &man.make.1;, так что ваша команда будет выглядеть
	  примерно так:</para>

	<screen>
&prompt.root; <userinput>make target</userinput>
	</screen>

	<para>Замените <replaceable>target</replaceable> на одну или более из
	  опций сборки.  Первой из них всегда должна быть опция
	  <varname>buildworld</varname>.</para>

	<para>Как указывают на это названия,
................................................................................

      <para>В &os; важно выполнить <link linkend="make-buildworld">buildworld</link> перед сборкой
	нового ядра.</para>

      <note>
	<para>Если вы хотите построить собственное ядро и уже подготовили файл
	  конфигурации, просто используйте
	  <literal>KERNCONF=MYKERNEL</literal>
	  следующим образом:</para>

	<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput>
&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
      </note>

      <para>Заметьте, что, если вы установили
	<literal>kern.securelevel</literal> в значение, превышающее 1,
	<emphasis>и</emphasis> установили флаг <literal>noschg</literal> или
	подобный на бинарный файл ядра, то вы будете вынуждены перейти в
	однопользовательский режим для того, чтобы воспользоваться
................................................................................
	которые будут устанавливаться на каждой машине из набора для
	построения.  Кроме того, у каждой машины построения должно быть задано
	имя ядра посредством переменной <varname>KERNCONF</varname> в файле
	<filename>/etc/make.conf</filename>, а машина построения должна
	перечислить их все в переменной <varname>KERNCONF</varname>, причём
	первым должно быть имя её собственного ядра.  Машина построения должна
	хранить конфигурационные файлы ядра каждой машины в каталоге
	<filename>/usr/src/sys/arch/conf</filename>,
	если на ней будут строиться соответствующие ядра..</para>
    </sect2>

    <sect2>
      <title>Основные системные компоненты</title>

      <para>Теперь, когда всё это сделано, вы готовы к построению.  Постройте







|







 







|













|







 







|







 







|



|
|







 







|







1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
....
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
....
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
....
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
....
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
      <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/mergemaster</userinput>
&prompt.root; <userinput>./mergemaster.sh -p</userinput></screen>

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

	<screen>&prompt.root; <userinput>find / -group <replaceable>GID</replaceable> -print</userinput></screen>

	<para>выдаст список всех файлов, владельцем которых является группа
	  <replaceable>GID</replaceable> (задаваемая именем или
	  численным значением ID).</para>
      </tip>
    </sect2>

................................................................................
	  <filename>Makefile</filename>, описывающего, как должны быть
	  перестроены программы, которые составляют систему &os;, в каком
	  порядке они должны быть построены и так далее.</para>

	<para>Общий формат командной строки, которую вы будет набирать,
	  таков:</para>

	<screen>&prompt.root; <userinput>make -<replaceable>x</replaceable> -D<replaceable>VARIABLE</replaceable> <replaceable>target</replaceable></userinput></screen>

	<para>В этом примере <option>-<replaceable>x</replaceable></option>
	  является параметром, который вы передаете в &man.make.1;.
	  Обратитесь к справочной странице программы &man.make.1;, которая
	  содержит список возможных параметров.</para>

	<para><option>-D<replaceable>VARIABLE</replaceable></option>
	  передает переменную в <filename>Makefile</filename>.  Поведение
	  <filename>Makefile</filename> определяется этими переменными.  Это
	  те же самые переменные, которые задаются в
	  <filename>/etc/make.conf</filename>, и это &mdash; еще один способ
	  их задания.</para>

	<screen>&prompt.root; <userinput>make -DNO_PROFILE=true <replaceable>target</replaceable></userinput></screen>

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

	<programlisting>NO_PROFILE=    true	# Обход построения библиотек для профилирования</programlisting>

	<para>в файле <filename>/etc/make.conf</filename>.</para>
................................................................................
	  они используются в процессе построения для разбиения его на этапы.</para>

	<para>В большинстве случаев вам не нужно передавать никаких
	  параметров в &man.make.1;, так что ваша команда будет выглядеть
	  примерно так:</para>

	<screen>
&prompt.root; <userinput>make <replaceable>target</replaceable></userinput>
	</screen>

	<para>Замените <replaceable>target</replaceable> на одну или более из
	  опций сборки.  Первой из них всегда должна быть опция
	  <varname>buildworld</varname>.</para>

	<para>Как указывают на это названия,
................................................................................

      <para>В &os; важно выполнить <link linkend="make-buildworld">buildworld</link> перед сборкой
	нового ядра.</para>

      <note>
	<para>Если вы хотите построить собственное ядро и уже подготовили файл
	  конфигурации, просто используйте
	  <literal>KERNCONF=<replaceable>MYKERNEL</replaceable></literal>
	  следующим образом:</para>

	<screen>&prompt.root; <userinput>cd /usr/src</userinput>
&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
      </note>

      <para>Заметьте, что, если вы установили
	<literal>kern.securelevel</literal> в значение, превышающее 1,
	<emphasis>и</emphasis> установили флаг <literal>noschg</literal> или
	подобный на бинарный файл ядра, то вы будете вынуждены перейти в
	однопользовательский режим для того, чтобы воспользоваться
................................................................................
	которые будут устанавливаться на каждой машине из набора для
	построения.  Кроме того, у каждой машины построения должно быть задано
	имя ядра посредством переменной <varname>KERNCONF</varname> в файле
	<filename>/etc/make.conf</filename>, а машина построения должна
	перечислить их все в переменной <varname>KERNCONF</varname>, причём
	первым должно быть имя её собственного ядра.  Машина построения должна
	хранить конфигурационные файлы ядра каждой машины в каталоге
	<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf</filename>,
	если на ней будут строиться соответствующие ядра..</para>
    </sect2>

    <sect2>
      <title>Основные системные компоненты</title>

      <para>Теперь, когда всё это сделано, вы готовы к построению.  Постройте

Changes to ru_RU.KOI8-R/books/handbook/desktop/chapter.xml.

625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
      <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice.org-2.0</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para>Если вы хотите собрать локализованную версию, то вместо
	  предыдущей командной строки используйте следующее:</para>

	<screen>&prompt.root; <userinput>make LOCALIZED_LANG=your_language install clean</userinput></screen>

	<para>Вам следует изменить
	  <replaceable>your_language</replaceable> на корректный ISO
	  код языка.  Список поддерживаемых языковых кодов доступен в
	  файле <filename>files/Makefile.localized</filename>, расположенный
	  в директории порта.</para>
      </note>







|







625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
      <screen>&prompt.root; <userinput>cd /usr/ports/editors/openoffice.org-2.0</userinput>
&prompt.root; <userinput>make install clean</userinput></screen>

      <note>
	<para>Если вы хотите собрать локализованную версию, то вместо
	  предыдущей командной строки используйте следующее:</para>

	<screen>&prompt.root; <userinput>make LOCALIZED_LANG=<replaceable>your_language</replaceable> install clean</userinput></screen>

	<para>Вам следует изменить
	  <replaceable>your_language</replaceable> на корректный ISO
	  код языка.  Список поддерживаемых языковых кодов доступен в
	  файле <filename>files/Makefile.localized</filename>, расположенный
	  в директории порта.</para>
      </note>

Changes to ru_RU.KOI8-R/books/handbook/disks/chapter.xml.

896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
....
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
....
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
....
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
....
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
....
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
....
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
....
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
....
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
....
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
....
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
....
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
....
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
....
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
....
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
....
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
....
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
....
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
....
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
....
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
....
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
....
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
....
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
....
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
....
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
....
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
....
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
....
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
....
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
....
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
....
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
....
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
....
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
....
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
	Для установки этой переменной можно также использовать
	&man.sysctl.8;.</para>

      <para>Последний шаг - создание каталога, куда будет монтироваться
	файловая система.  Каталог должен принадлежать пользователю,
	монтирующему файловую систему.  Один из способов сделать это
	под пользователем <systemitem class="username">root</systemitem> - создать каталог
	<filename>/mnt/username</filename>
	(замените <replaceable>username</replaceable> именем
	пользователя, а <replaceable>usergroup</replaceable> &mdash; именем
	главной группы пользователя):</para>

      <screen>&prompt.root; <userinput>mkdir /mnt/username</userinput>
&prompt.root; <userinput>chown username:usergroup /mnt/username</userinput></screen>

      <para>Предположим, что USB брелок подключен, и появилось устройство
	<filename>/dev/da0s1</filename>.  Поскольку эти устройства обычно поставляются
	форматированными с файловой системой FAT, их можно смонтировать так:</para>

      <screen>&prompt.user; <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username</userinput></screen>

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

      <screen>umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
................................................................................
      <title>mkisofs</title>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

................................................................................
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 /dev/cd0 /mnt</userinput></screen>

      <para>Для получения SCSI-адреса пишущего привода, вы можете, работая как
	пользователь <systemitem class="username">root</systemitem>, запустить такую
	команду:</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>
................................................................................
	&man.mkisofs.8; для создания файловой системы и запишет
	DVD.  Это означает, что вам не потребуется создавать образ
	с данными перед началом процесса записи.</para>

      <para>Для записи данных из каталога <filename>/path/to/data</filename> на DVD+R или DVD-R,
	используйте следующую команду:</para>

      <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z /dev/cd0 -J -R /path/to/data</userinput></screen>

      <para>Параметры <option>-J -R</option> передаются
	&man.mkisofs.8; для создания файловой системы (в данном случае:
	файловая система ISO 9660 с расширениями Joliet и Rock Ridge),
	обратитесь к странице справочника &man.mkisofs.8; за более
	подробной информацией.</para>

................................................................................
	станет невозможна.  Это должно улучшить совместимость с
	приводами DVD-ROM.</para>

      <para>Возможна также запись предварительного (pre-mastered) образа,
	например, для записи
	<replaceable>imagefile.iso</replaceable> запустим:</para>

      <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z /dev/cd0=imagefile.iso</userinput></screen>

      <para>Скорость записи должна быть определена и автоматически
	установлена в соответствии с носителем и приводом.  Если вы хотите
	явно указать скорость записи, используйте параметр
	<option>-speed=</option>.  За дальнейшей информацией обратитесь к
	странице справочника &man.growisofs.1;.</para>

................................................................................
	  на диск.  Созданный таким способом диск должен монтироваться
	  утилитой &man.mount.udf.8;.  Диск будет доступен лишь тем
	  операционным системам, которые поддерживают UDF; в противном случае
	  носитель будет отображаться как поврежденный.</para>

	<para>Для того, чтобы создать такой образ, выполните:</para>

	<screen>&prompt.user; <userinput>mkisofs -R -J -udf -iso-level 3 -o imagefile.iso /path/to/data</userinput></screen>

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

	<screen>&prompt.root; <userinput>growisofs -dvd-compat -udf -iso-level 3 -Z /dev/cd0 -J -R /path/to/data</userinput></screen>

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

	<para>Также удостоверьтесь, что у вас установлена последняя
	  версия <package>sysutils/cdrtools</package>
................................................................................
      <para>Если у вас уже есть образ файловой системы DVD-Video,
	просто запишите его как любой другой образ, примеры находятся
	в предыдущем разделе.  Если вы создали DVD и результат находится
	в каталоге <filename>/path/to/video</filename>,
	для записи DVD-Video должна быть использована следующая
	команда:</para>

      <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -dvd-video /path/to/video</userinput></screen>

      <para>Параметр <option>-dvd-video</option> будет передан
	&man.mkisofs.8; и укажет создать файловую систему DVD-Video.
	Помимо этого, параметр <option>-dvd-video</option> подразумевает
	параметр &man.growisofs.1; <option>-dvd-compat</option>.</para>
    </sect2>

................................................................................
      <para>В отличие от CD-RW, новый DVD+RW необходимо отформатировать перед
	первым использованием.  Программа &man.growisofs.1; позаботится об
	этом сама при необходимости, и это
	<emphasis>рекомендованный</emphasis> способ.  Тем не менее,
	для форматирования DVD+RW вы можете использовать команду
	<command>dvd+rw-format</command>:</para>

      <screen>&prompt.root; <userinput>dvd+rw-format /dev/cd0</userinput></screen>

      <para>Эту операцию необходимо выполнить лишь однажды, помните,
	что только новые носители DVD+RW необходимо форматировать.
	Затем запишите DVD+RW тем способом, который описан в предыдущем
	разделе.</para>

      <para>Если вы хотите записать новые данные (полностью новую файловую
	систему, а не дописать данные) на DVD+RW, его не нужно очищать,
	просто запишите поверх предыдущей записи (создав новую начальную
	сессию) примерно так :</para>

      <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -J -R /path/to/newdata</userinput></screen>

      <para>Формат DVD+RW делает возможным легко дописать данные к предыдущей
	записи.  Операция состоит в присоединении предыдущей сессии к
	существующей, это не мультисессионная запись, &man.growisofs.1;
	<emphasis>расширит</emphasis> (grow) файловую систему ISO 9660,
	существующую на носителе.</para>

      <para>Например, для дозаписи данных к предыдущей сессии на
	DVD+RW, используется следующая команда:</para>

      <screen>&prompt.root; <userinput>growisofs -M /dev/cd0 -J -R /path/to/nextdata</userinput></screen>

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

      <note>
	<para>Вы можете использовать параметр <option>-dvd-compat</option>
	  для улучшения совместимости с приводами DVD-ROM.  В случае
	  DVD+RW это не помешает добавлению данных.</para>
      </note>

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

      <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0=/dev/zero</userinput></screen>
    </sect2>

    <sect2>
      <title>Использование DVD-RW</title>

      <indexterm>
	<primary>DVD</primary>
................................................................................
      <para>Новый DVD-RW может быть записан непосредственно без
	необходимости форматирования, однако DVD-RW с данными
	в последовательном формате необходимо очистить перед
	созданием новой начальной сессии.</para>

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

      <screen>&prompt.root; <userinput>dvd+rw-format -blank=full /dev/cd0</userinput></screen>

      <note>
	<para>Полная очистка (<option>-blank=full</option>) займет
	  около одного часа на скорости 1x.  Быструю очистку можно
	  выполнить с параметром <option>-blank</option>, если
	  DVD-RW будет записан в режиме Disk-At-Once (DAO).
	  Для записи DVD-RW в режиме DAO, используйте команду:</para>

	<screen>&prompt.root; <userinput>growisofs -use-the-force-luke=dao -Z /dev/cd0=imagefile.iso</userinput></screen>

	<para>Параметр <option>-use-the-force-luke=dao</option> не
	  должен потребоваться, поскольку &man.growisofs.1; попытается
	  определить был ли носитель быстро очищен и включить
	  DAO запись.</para>

	<para>Фактически, лучше использовать режим с ограниченной
................................................................................
	  перезаписью с любым DVD-RW, этот формат более гибкий, чем
	  формат по умолчанию с последовательной записью.</para>
      </note>

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

      <screen>&prompt.root; <userinput>growisofs -Z /dev/cd0 -J -R /path/to/data</userinput></screen>

      <para>Если вы хотите добавить данные к предыдущей записи,
	используйте параметр &man.growisofs.1; <option>-M</option>.
	Однако при добавлении данных на DVD-RW в последовательном
	режиме, на диске будет создана новая сессия и в результате
	получится мультисессионный диск.</para>

................................................................................
	существующей файловой системы ISO 9660, записанной на диск
	тем же способом, как для DVD+RW с параметром <option>-M</option>.
	В результате получится односессионный DVD.</para>

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

      <screen>&prompt.root; <userinput>dvd+rw-format /dev/cd0</userinput></screen>

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

      <screen>&prompt.root; <userinput>dvd+rw-format -blank=full /dev/cd0</userinput></screen>
    </sect2>

    <sect2>
      <title>Мультисессия</title>

      <para>Лишь несколько DVD-ROM и проигрывателей поддерживают
	мультисессионные DVD, в основном они в лучшем случае прочтут только
................................................................................
	могут работать с несколькими сессиями, и это не относится к
	форматам DVD+RW и DVD-RW в формате ограниченной перезаписи.</para>

      <para>Использование следующей команды после первой (не закрытой) сессии
	для DVD+R, DVD-R, или DVD-RW в последовательном формате, добавит
	на диск новую сессию:</para>

      <screen>&prompt.root; <userinput>growisofs -M /dev/cd0 -J -R /path/to/nextdata</userinput></screen>

      <para>Использование этой командной строки с DVD+RW или DVD-RW в
	режиме ограниченной перезаписи добавит данные, объединив новую сессию
	с предыдущей.  В результате получится односессионный диск.
	Такой способ используется для добавления данных после первой
	записи на эти носители.</para>

................................................................................
    </sect2>

    <sect2>
      <title>Дополнительная информация</title>

      <para>Для получения дополнительной информации о DVD, можно запустить
	команду <command>dvd+rw-mediainfo
	/dev/cd0</command>, диск должен
	находиться в приводе.</para>

      <para>Дополнительная информация о
	<application>dvd+rw-tools</application> может быть найдена на
	странице справочника &man.growisofs.1;, на <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/">Web-сайте
	dvd+rw-tools</link> и в архивах <link xlink:href="http://lists.debian.org/cdwrite/">списка рассылки
	cdwrite</link>.</para>
................................................................................

	<para>Как указывалось ранее, DVD-RAM представляется съемным жестким
	  диском.  Как и другие дисковые устройства, DVD-RAM должен быть
	  <quote>подготовлен</quote> к первому использованию.  В нашем примере
	  мы займём все пространство диска одной файловой системой
	  UFS2:</para>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/acd0 bs=2k count=1</userinput>
&prompt.root; <userinput>bsdlabel -Bw acd0</userinput>
&prompt.root; <userinput>newfs /dev/acd0</userinput></screen>

	<para>Имя устройства DVD device, <filename>acd0</filename>, должно
	  соответствовать вашей конфигурации.</para>
      </sect3>

      <sect3>
	<title>Использование носителя</title>

	<para>После выполнения указанных выше команд, DVD-RAM может быть
	  смонтирован как обычный жесткий диск:</para>

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

	<para>После этого вы можете читать и писать на DVD-RAM.</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 xml:id="floppies">
................................................................................
      <sect3>
	<title>Устройство</title>

	<para>Доступ к гибким дискам, как, впрочем, и к остальным устройствам,
	  осуществляется через соответствующие файлы в
	  каталога <filename>/dev</filename>.  Чтобы обратиться к дискете,
	  просто используйте
	  <filename>/dev/fdN</filename>.</para>
      </sect3>

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

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

	<sect4>
	  <title>Форматирование гибких дисков</title>

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

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

................................................................................
	командой:</para>

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

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

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

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

      <para>Как альтернатива, если вы знаете, на какой дискете расположен файл,
	то вы можете просто подать ее и дать ту же самую команду, что и выше.
	Заметьте, что если первый файл на дискете является продолжением
................................................................................

      <indexterm><primary><command>tar</command></primary></indexterm>

      <para>Чтобы скопировать
	данные на накопитель Exabyte, подключенный к машине Sun по имени
	<systemitem>komodo</systemitem>, используйте такую команду:</para>

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

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

    <sect2>
................................................................................
      <indexterm><primary><command>cpio</command></primary></indexterm>

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

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

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

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

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

	<screen>&prompt.root; <userinput>vnconfig vn0 diskimage</userinput>
&prompt.root; <userinput>mount /dev/vn0c /mnt</userinput></screen>
      </example>

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

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

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=newimage bs=1k count=5k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>vnconfig -s labels -c vn0 newimage</userinput>
&prompt.root; <userinput>bsdlabel -r -w vn0 auto</userinput>
&prompt.root; <userinput>newfs vn0c</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/vn0c /mnt</userinput>
&prompt.root; <userinput>df /mnt</userinput>
Filesystem  1K-blocks	  Used	  Avail Capacity  Mounted on
/dev/vn0c	 4927	     1	   4532     0%	  /mnt</screen>
      </example>
    </sect2>

    <sect2 xml:id="disks-mdconfig">
      <title>Файловые системы, отображаемые в файлы</title>
................................................................................

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

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

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

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

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

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=newimage bs=1k count=5k</userinput>
5120+0 records in
5120+0 records out
&prompt.root; <userinput>mdconfig -a -t vnode -f newimage -u 0</userinput>
&prompt.root; <userinput>bsdlabel -w md0 auto</userinput>
&prompt.root; <userinput>newfs md0a</userinput>
/dev/md0c: 5.0MB (10224 sectors) block size 16384, fragment size 2048
	using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
 160, 2720, 5280, 7840
&prompt.root; <userinput>mount /dev/md0a /mnt</userinput>
&prompt.root; <userinput>df /mnt</userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md0a       4710    4  4330     0%    /mnt</screen>
      </example>

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

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

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

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

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

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

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

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

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

	<screen>&prompt.root; <userinput>mdconfig -a -t swap -s 5m -u 1</userinput>
&prompt.root; <userinput>newfs -U md1</userinput>
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
	using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes.
	with soft updates
super-block backups (for fsck -b #) at:
 160, 2752, 5344, 7936
&prompt.root; <userinput>mount /dev/md1 /mnt</userinput>
&prompt.root; <userinput>df /mnt</userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md1        4718    4  4338     0%    /mnt</screen>
      </example>

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

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

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

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

      <screen>&prompt.root; <userinput>mdconfig -d -u 4</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 vn4</userinput></screen>
    </sect2>
  </sect1>

  <sect1 xml:id="snapshots">
    <info><title>Мгновенные копии файловых систем</title>
      <authorgroup>
	<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Текст предоставил </contrib></author>
................................................................................
      <procedure>
	<step>
	  <title>Подключите новый жёсткий диск</title>

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

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

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

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

................................................................................
    </sect3>

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

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

      <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen>
    </sect3>
................................................................................
	<step>
	  <title>Свяжите сгенерированный ключ с провайдером</title>

	  <screen>&prompt.root; <userinput>geli attach -k /root/da2.key /dev/da2</userinput>
Enter passphrase:</screen>

	  <para>Созданный при этом файл дискового устройства будет называться
	    <filename>/dev/da2.eli</filename>.</para>

	  <screen>&prompt.root; <userinput>ls /dev/da2*</userinput>
/dev/da2  /dev/da2.eli</screen>
	</step>

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







|




|
|





|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|



|







 







|







 







|











|










|













|







 







|








|







 







|







 







|



|







 







|







 







|







 







|
|
|











|







 







|







 







|







 







|







 







|







 







|


|







 







|
|









|


|
|
|





|
|







 







|
|









|


|
|
|




|
|







 







|


|
|







 







|


|
|







 







|
|





|
|








|
|







 







|








|







 







|







 







|







 







|







 







|







896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
....
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
....
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
....
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
....
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
....
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
....
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
....
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
....
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
....
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
....
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
....
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
....
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
....
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
....
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
....
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
....
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
....
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
....
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
....
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
....
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
....
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
....
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
....
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
....
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
....
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
....
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
....
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
....
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
....
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
....
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
....
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
....
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
....
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
	Для установки этой переменной можно также использовать
	&man.sysctl.8;.</para>

      <para>Последний шаг - создание каталога, куда будет монтироваться
	файловая система.  Каталог должен принадлежать пользователю,
	монтирующему файловую систему.  Один из способов сделать это
	под пользователем <systemitem class="username">root</systemitem> - создать каталог
	<filename>/mnt/<replaceable>username</replaceable></filename>
	(замените <replaceable>username</replaceable> именем
	пользователя, а <replaceable>usergroup</replaceable> &mdash; именем
	главной группы пользователя):</para>

      <screen>&prompt.root; <userinput>mkdir /mnt/<replaceable>username</replaceable></userinput>
&prompt.root; <userinput>chown <replaceable>username</replaceable>:<replaceable>usergroup</replaceable> /mnt/<replaceable>username</replaceable></userinput></screen>

      <para>Предположим, что USB брелок подключен, и появилось устройство
	<filename>/dev/da0s1</filename>.  Поскольку эти устройства обычно поставляются
	форматированными с файловой системой FAT, их можно смонтировать так:</para>

      <screen>&prompt.user; <userinput>mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/<replaceable>username</replaceable></userinput></screen>

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

      <screen>umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
................................................................................
      <title>mkisofs</title>

      <para>Программа &man.mkisofs.8;, поставляемая с портом <package>sysutils/cdrtools</package> создаёт
	файловую систему 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>,
................................................................................
      <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/acd0</filename>.  Для получения
	информации о параметрах, задающих скорость записи, выброс диска после
	записи и запись звуковых данных, обратитесь к &man.burncd.8;.</para>
    </sect2>
................................................................................
	либо обновить порт, либо, если вы <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>

................................................................................
	  <screen>&prompt.user; <userinput>cdda2wav -vall -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>
................................................................................
	    отметить, что данная утилита предназначена для корректного
	    извлечения и обработки аудио данных, в отличие от утилиты,
	    приведенной в нижеследующем примере.</para>
	</note>

	<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>
................................................................................

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

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

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

................................................................................
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/cd0</replaceable> /mnt</userinput></screen>

      <para>Для получения SCSI-адреса пишущего привода, вы можете, работая как
	пользователь <systemitem class="username">root</systemitem>, запустить такую
	команду:</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>
................................................................................
	&man.mkisofs.8; для создания файловой системы и запишет
	DVD.  Это означает, что вам не потребуется создавать образ
	с данными перед началом процесса записи.</para>

      <para>Для записи данных из каталога <filename>/path/to/data</filename> на DVD+R или DVD-R,
	используйте следующую команду:</para>

      <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen>

      <para>Параметры <option>-J -R</option> передаются
	&man.mkisofs.8; для создания файловой системы (в данном случае:
	файловая система ISO 9660 с расширениями Joliet и Rock Ridge),
	обратитесь к странице справочника &man.mkisofs.8; за более
	подробной информацией.</para>

................................................................................
	станет невозможна.  Это должно улучшить совместимость с
	приводами DVD-ROM.</para>

      <para>Возможна также запись предварительного (pre-mastered) образа,
	например, для записи
	<replaceable>imagefile.iso</replaceable> запустим:</para>

      <screen>&prompt.root; <userinput>growisofs -dvd-compat -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput></screen>

      <para>Скорость записи должна быть определена и автоматически
	установлена в соответствии с носителем и приводом.  Если вы хотите
	явно указать скорость записи, используйте параметр
	<option>-speed=</option>.  За дальнейшей информацией обратитесь к
	странице справочника &man.growisofs.1;.</para>

................................................................................
	  на диск.  Созданный таким способом диск должен монтироваться
	  утилитой &man.mount.udf.8;.  Диск будет доступен лишь тем
	  операционным системам, которые поддерживают UDF; в противном случае
	  носитель будет отображаться как поврежденный.</para>

	<para>Для того, чтобы создать такой образ, выполните:</para>

	<screen>&prompt.user; <userinput>mkisofs -R -J -udf -iso-level 3 -o <replaceable>imagefile.iso</replaceable> <replaceable>/path/to/data</replaceable></userinput></screen>

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

	<screen>&prompt.root; <userinput>growisofs -dvd-compat -udf -iso-level 3 -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen>

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

	<para>Также удостоверьтесь, что у вас установлена последняя
	  версия <package>sysutils/cdrtools</package>
................................................................................
      <para>Если у вас уже есть образ файловой системы DVD-Video,
	просто запишите его как любой другой образ, примеры находятся
	в предыдущем разделе.  Если вы создали DVD и результат находится
	в каталоге <filename>/path/to/video</filename>,
	для записи DVD-Video должна быть использована следующая
	команда:</para>

      <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -dvd-video <replaceable>/path/to/video</replaceable></userinput></screen>

      <para>Параметр <option>-dvd-video</option> будет передан
	&man.mkisofs.8; и укажет создать файловую систему DVD-Video.
	Помимо этого, параметр <option>-dvd-video</option> подразумевает
	параметр &man.growisofs.1; <option>-dvd-compat</option>.</para>
    </sect2>

................................................................................
      <para>В отличие от CD-RW, новый DVD+RW необходимо отформатировать перед
	первым использованием.  Программа &man.growisofs.1; позаботится об
	этом сама при необходимости, и это
	<emphasis>рекомендованный</emphasis> способ.  Тем не менее,
	для форматирования DVD+RW вы можете использовать команду
	<command>dvd+rw-format</command>:</para>

      <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen>

      <para>Эту операцию необходимо выполнить лишь однажды, помните,
	что только новые носители DVD+RW необходимо форматировать.
	Затем запишите DVD+RW тем способом, который описан в предыдущем
	разделе.</para>

      <para>Если вы хотите записать новые данные (полностью новую файловую
	систему, а не дописать данные) на DVD+RW, его не нужно очищать,
	просто запишите поверх предыдущей записи (создав новую начальную
	сессию) примерно так :</para>

      <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/newdata</replaceable></userinput></screen>

      <para>Формат DVD+RW делает возможным легко дописать данные к предыдущей
	записи.  Операция состоит в присоединении предыдущей сессии к
	существующей, это не мультисессионная запись, &man.growisofs.1;
	<emphasis>расширит</emphasis> (grow) файловую систему ISO 9660,
	существующую на носителе.</para>

      <para>Например, для дозаписи данных к предыдущей сессии на
	DVD+RW, используется следующая команда:</para>

      <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen>

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

      <note>
	<para>Вы можете использовать параметр <option>-dvd-compat</option>
	  для улучшения совместимости с приводами DVD-ROM.  В случае
	  DVD+RW это не помешает добавлению данных.</para>
      </note>

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

      <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable>=<replaceable>/dev/zero</replaceable></userinput></screen>
    </sect2>

    <sect2>
      <title>Использование DVD-RW</title>

      <indexterm>
	<primary>DVD</primary>
................................................................................
      <para>Новый DVD-RW может быть записан непосредственно без
	необходимости форматирования, однако DVD-RW с данными
	в последовательном формате необходимо очистить перед
	созданием новой начальной сессии.</para>

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

      <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen>

      <note>
	<para>Полная очистка (<option>-blank=full</option>) займет
	  около одного часа на скорости 1x.  Быструю очистку можно
	  выполнить с параметром <option>-blank</option>, если
	  DVD-RW будет записан в режиме Disk-At-Once (DAO).
	  Для записи DVD-RW в режиме DAO, используйте команду:</para>

	<screen>&prompt.root; <userinput>growisofs -use-the-force-luke=dao -Z <replaceable>/dev/cd0</replaceable>=<replaceable>imagefile.iso</replaceable></userinput></screen>

	<para>Параметр <option>-use-the-force-luke=dao</option> не
	  должен потребоваться, поскольку &man.growisofs.1; попытается
	  определить был ли носитель быстро очищен и включить
	  DAO запись.</para>

	<para>Фактически, лучше использовать режим с ограниченной
................................................................................
	  перезаписью с любым DVD-RW, этот формат более гибкий, чем
	  формат по умолчанию с последовательной записью.</para>
      </note>

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

      <screen>&prompt.root; <userinput>growisofs -Z <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/data</replaceable></userinput></screen>

      <para>Если вы хотите добавить данные к предыдущей записи,
	используйте параметр &man.growisofs.1; <option>-M</option>.
	Однако при добавлении данных на DVD-RW в последовательном
	режиме, на диске будет создана новая сессия и в результате
	получится мультисессионный диск.</para>

................................................................................
	существующей файловой системы ISO 9660, записанной на диск
	тем же способом, как для DVD+RW с параметром <option>-M</option>.
	В результате получится односессионный DVD.</para>

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

      <screen>&prompt.root; <userinput>dvd+rw-format <replaceable>/dev/cd0</replaceable></userinput></screen>

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

      <screen>&prompt.root; <userinput>dvd+rw-format -blank=full <replaceable>/dev/cd0</replaceable></userinput></screen>
    </sect2>

    <sect2>
      <title>Мультисессия</title>

      <para>Лишь несколько DVD-ROM и проигрывателей поддерживают
	мультисессионные DVD, в основном они в лучшем случае прочтут только
................................................................................
	могут работать с несколькими сессиями, и это не относится к
	форматам DVD+RW и DVD-RW в формате ограниченной перезаписи.</para>

      <para>Использование следующей команды после первой (не закрытой) сессии
	для DVD+R, DVD-R, или DVD-RW в последовательном формате, добавит
	на диск новую сессию:</para>

      <screen>&prompt.root; <userinput>growisofs -M <replaceable>/dev/cd0</replaceable> -J -R <replaceable>/path/to/nextdata</replaceable></userinput></screen>

      <para>Использование этой командной строки с DVD+RW или DVD-RW в
	режиме ограниченной перезаписи добавит данные, объединив новую сессию
	с предыдущей.  В результате получится односессионный диск.
	Такой способ используется для добавления данных после первой
	записи на эти носители.</para>

................................................................................
    </sect2>

    <sect2>
      <title>Дополнительная информация</title>

      <para>Для получения дополнительной информации о DVD, можно запустить
	команду <command>dvd+rw-mediainfo
	<replaceable>/dev/cd0</replaceable></command>, диск должен
	находиться в приводе.</para>

      <para>Дополнительная информация о
	<application>dvd+rw-tools</application> может быть найдена на
	странице справочника &man.growisofs.1;, на <link xlink:href="http://fy.chalmers.se/~appro/linux/DVD+RW/">Web-сайте
	dvd+rw-tools</link> и в архивах <link xlink:href="http://lists.debian.org/cdwrite/">списка рассылки
	cdwrite</link>.</para>
................................................................................

	<para>Как указывалось ранее, DVD-RAM представляется съемным жестким
	  диском.  Как и другие дисковые устройства, DVD-RAM должен быть
	  <quote>подготовлен</quote> к первому использованию.  В нашем примере
	  мы займём все пространство диска одной файловой системой
	  UFS2:</para>

	<screen>&prompt.root; <userinput>dd if=/dev/zero of=<replaceable>/dev/acd0</replaceable> bs=2k count=1</userinput>
&prompt.root; <userinput>bsdlabel -Bw <replaceable>acd0</replaceable></userinput>
&prompt.root; <userinput>newfs <replaceable>/dev/acd0</replaceable></userinput></screen>

	<para>Имя устройства DVD device, <filename>acd0</filename>, должно
	  соответствовать вашей конфигурации.</para>
      </sect3>

      <sect3>
	<title>Использование носителя</title>

	<para>После выполнения указанных выше команд, DVD-RAM может быть
	  смонтирован как обычный жесткий диск:</para>

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

	<para>После этого вы можете читать и писать на DVD-RAM.</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 xml:id="floppies">
................................................................................
      <sect3>
	<title>Устройство</title>

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

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

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

	<sect4>
	  <title>Форматирование гибких дисков</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>

................................................................................
	командой:</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>Как альтернатива, если вы знаете, на какой дискете расположен файл,
	то вы можете просто подать ее и дать ту же самую команду, что и выше.
	Заметьте, что если первый файл на дискете является продолжением
................................................................................

      <indexterm><primary><command>tar</command></primary></indexterm>

      <para>Чтобы скопировать
	данные на накопитель Exabyte, подключенный к машине Sun по имени
	<systemitem>komodo</systemitem>, используйте такую команду:</para>

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

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

    <sect2>
................................................................................
      <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</replaceable>; do</userinput>
<userinput>find $f &gt;&gt; backup.list</userinput>
<userinput>done</userinput>
&prompt.root; <userinput>cpio -v -o --format=newc &lt; backup.list | ssh <replaceable>user</replaceable>@<replaceable>host</replaceable> "cat &gt; <replaceable>backup_device</replaceable>"</userinput></screen>

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

      <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>bsdlabel -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 xml:id="disks-mdconfig">
      <title>Файловые системы, отображаемые в файлы</title>
................................................................................

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

      <example>
	<title>Использование <command>mdconfig</command> для монтирования файла
	  с образом существующей файловой системы</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> <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>bsdlabel -w md<replaceable>0</replaceable> auto</userinput>
&prompt.root; <userinput>newfs md<replaceable>0</replaceable>a</userinput>
/dev/md0c: 5.0MB (10224 sectors) block size 16384, fragment size 2048
	using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes.
super-block backups (for fsck -b #) at:
 160, 2720, 5280, 7840
&prompt.root; <userinput>mount /dev/md<replaceable>0</replaceable>a <replaceable>/mnt</replaceable></userinput>
&prompt.root; <userinput>df <replaceable>/mnt</replaceable></userinput>
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md0a       4710    4  4330     0%    /mnt</screen>
      </example>

      <para>Если в параметре <option>-u</option> вы не задали номер устройства,
	то &man.mdconfig.8; для выбора неиспользуемого устройства будет
	использовать функцию автоматическое выделения в &man.md.4;.  Имя
................................................................................
	смонтировать такой же образ файловой системе, как выше, просто наберите
	такую команду:</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        4718    4  4338     0%    /mnt</screen>
      </example>

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

      <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>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	 4927	     1	   4532     0%	  /mnt</screen>
      </example>

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

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

	<screen>&prompt.root; <userinput>mdconfig -a -t swap -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, 192 inodes.
	with soft updates
super-block backups (for fsck -b #) at:
 160, 2752, 5344, 7936
&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        4718    4  4338     0%    /mnt</screen>
      </example>

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

	<screen>&prompt.root; <userinput>mdmfs -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>
    </sect2>

    <sect2>
      <title>Отключение диска, отображаемого в память, от системы</title>
................................................................................
	делом нужно размонтировать файловую систему, затем воспользоваться
	&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 xml:id="snapshots">
    <info><title>Мгновенные копии файловых систем</title>
      <authorgroup>
	<author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Текст предоставил </contrib></author>
................................................................................
      <procedure>
	<step>
	  <title>Подключите новый жёсткий диск</title>

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

	  <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>

................................................................................
    </sect3>

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

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

      <screen>&prompt.root; <userinput>gbde detach /dev/ad4s1c</userinput></screen>
    </sect3>
................................................................................
	<step>
	  <title>Свяжите сгенерированный ключ с провайдером</title>

	  <screen>&prompt.root; <userinput>geli attach -k /root/da2.key /dev/da2</userinput>
Enter passphrase:</screen>

	  <para>Созданный при этом файл дискового устройства будет называться
	    <filename>/dev/<replaceable>da2</replaceable>.eli</filename>.</para>

	  <screen>&prompt.root; <userinput>ls /dev/da2*</userinput>
/dev/da2  /dev/da2.eli</screen>
	</step>

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

Changes to ru_RU.KOI8-R/books/handbook/filesystems/chapter.xml.

185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204

	<screen>&prompt.root; <userinput>echo 'zfs_enable="YES"' &gt;&gt; /etc/rc.conf</userinput>
&prompt.root; <userinput>/etc/rc.d/zfs start</userinput></screen>

	<para>Здесь и далее в статье подразумевается, что в системе
	  установлено три <acronym>SCSI</acronym> диска с именами
	  устройств
	  <filename>da0</filename>,
	  <filename>da1</filename> и
	  <filename>da2</filename>.
	  Использующим <acronym>IDE</acronym> диски необходимо
	  подставить имена устройств
	  <filename>ad</filename>
	  вместо имен устройств <acronym>SCSI</acronym>.</para>

      <sect3>
	<title>Простой дисковый пул</title>

	<para>Для создания простого пула <acronym>ZFS</acronym>
	  без избыточности, задействовав при этом один жесткий диск,







|
|
|


|







185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204

	<screen>&prompt.root; <userinput>echo 'zfs_enable="YES"' &gt;&gt; /etc/rc.conf</userinput>
&prompt.root; <userinput>/etc/rc.d/zfs start</userinput></screen>

	<para>Здесь и далее в статье подразумевается, что в системе
	  установлено три <acronym>SCSI</acronym> диска с именами
	  устройств
	  <filename><replaceable>da0</replaceable></filename>,
	  <filename><replaceable>da1</replaceable></filename> и
	  <filename><replaceable>da2</replaceable></filename>.
	  Использующим <acronym>IDE</acronym> диски необходимо
	  подставить имена устройств
	  <filename><replaceable>ad</replaceable></filename>
	  вместо имен устройств <acronym>SCSI</acronym>.</para>

      <sect3>
	<title>Простой дисковый пул</title>

	<para>Для создания простого пула <acronym>ZFS</acronym>
	  без избыточности, задействовав при этом один жесткий диск,

Changes to ru_RU.KOI8-R/books/handbook/firewalls/chapter.xml.

1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
....
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
	    IP трафик, за исключением loopback интерфейса.</para>
	</listitem>
	<listitem>
	  <para><literal>UNKNOWN</literal> &mdash; отключить загрузку
	    правил межсетевого экрана.</para>
	</listitem>
	<listitem>
	  <para><filename>filename</filename>
	    &mdash; абсолютный путь к файлу, содержащему правила
	    межсетевого экрана.</para>
	</listitem>
      </itemizedlist>

      <para>Есть два варианта загрузки собственных правил в
	межсетевой экран <application>ipfw</application>.  Первый
................................................................................
      <para>Обнуление счетчиков:</para>

      <screen>&prompt.root; <userinput>ipfw zero</userinput></screen>

      <para>Обнулить счетчики для правила под номером
	<replaceable>NUM</replaceable>:</para>

      <screen>&prompt.root; <userinput>ipfw zero NUM</userinput></screen>
    </sect2>

    <sect2 xml:id="firewalls-ipfw-rules">
      <title>Набор правил IPFW</title>

      <para>Набор правил (ruleset) представляет собой группу правил
	IPFW, которые разрешают или запрещают прохождение пакета через







|







 







|







1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
....
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
	    IP трафик, за исключением loopback интерфейса.</para>
	</listitem>
	<listitem>
	  <para><literal>UNKNOWN</literal> &mdash; отключить загрузку
	    правил межсетевого экрана.</para>
	</listitem>
	<listitem>
	  <para><filename><replaceable>filename</replaceable></filename>
	    &mdash; абсолютный путь к файлу, содержащему правила
	    межсетевого экрана.</para>
	</listitem>
      </itemizedlist>

      <para>Есть два варианта загрузки собственных правил в
	межсетевой экран <application>ipfw</application>.  Первый
................................................................................
      <para>Обнуление счетчиков:</para>

      <screen>&prompt.root; <userinput>ipfw zero</userinput></screen>

      <para>Обнулить счетчики для правила под номером
	<replaceable>NUM</replaceable>:</para>

      <screen>&prompt.root; <userinput>ipfw zero <replaceable>NUM</replaceable></userinput></screen>
    </sect2>

    <sect2 xml:id="firewalls-ipfw-rules">
      <title>Набор правил IPFW</title>

      <para>Набор правил (ruleset) представляет собой группу правил
	IPFW, которые разрешают или запрещают прохождение пакета через

Changes to ru_RU.KOI8-R/books/handbook/geom/chapter.xml.

544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
...
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
<!-- XXXTR: How do you create a file system label without running newfs
            or when there is no newfs (e.g.: cd9660)? -->

      <para>Чтобы создать постоянную метку для файловой системы
	<acronym>UFS</acronym>2 не нарушая самих данных, выполните следующую
	команду:</para>

      <screen>&prompt.root; <userinput>tunefs -L home /dev/da3</userinput></screen>

      <warning>
	<para>Если файловая система заполнена, это может привести к
	  повреждению данных; в случае заполненной файловой системы
	  надо или удалить ненужные файлы, или не добавлять
	  метки.</para>
      </warning>
................................................................................
    <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>

    <para>Предыдущая команда создаст файловую систему <acronym>UFS</acronym>2
      на журналируемом устройстве.</para>

    <para>Смонтируйте устройство в требуемый каталог файловой системы:</para>

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

    <note>
      <para>В случае наличия нескольких слайсов, журнал создается для каждого
	из них.  Например, если есть два слайса, и они называются
	<filename>ad4s1</filename> и <filename>ad4s2</filename>, то
	утилитой <command>gjournal</command> создаются файлы устройств
	<filename>ad4s1.journal</filename> и







|







 







|







544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
...
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
<!-- XXXTR: How do you create a file system label without running newfs
            or when there is no newfs (e.g.: cd9660)? -->

      <para>Чтобы создать постоянную метку для файловой системы
	<acronym>UFS</acronym>2 не нарушая самих данных, выполните следующую
	команду:</para>

      <screen>&prompt.root; <userinput>tunefs -L <replaceable>home</replaceable> <replaceable>/dev/da3</replaceable></userinput></screen>

      <warning>
	<para>Если файловая система заполнена, это может привести к
	  повреждению данных; в случае заполненной файловой системы
	  надо или удалить ненужные файлы, или не добавлять
	  метки.</para>
      </warning>
................................................................................
    <screen>&prompt.root; <userinput>newfs -O 2 -J /dev/da4.journal</userinput></screen>

    <para>Предыдущая команда создаст файловую систему <acronym>UFS</acronym>2
      на журналируемом устройстве.</para>

    <para>Смонтируйте устройство в требуемый каталог файловой системы:</para>

    <screen>&prompt.root; <userinput>mount /dev/da4.journal <replaceable>/mnt</replaceable></userinput></screen>

    <note>
      <para>В случае наличия нескольких слайсов, журнал создается для каждого
	из них.  Например, если есть два слайса, и они называются
	<filename>ad4s1</filename> и <filename>ad4s2</filename>, то
	утилитой <command>gjournal</command> создаются файлы устройств
	<filename>ad4s1.journal</filename> и

Changes to ru_RU.KOI8-R/books/handbook/install/chapter.xml.

603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
...
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
...
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
....
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
....
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
....
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
....
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
....
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
....
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
	<step>
	  <title>Получение образов для USB-накопителя</title>

	  <para>Загрузочные образы для USB-накопителя для
	    &os;&nbsp;8.<replaceable>X</replaceable>-RELEASE и более ранних
	    можно найти в каталоге
	    <filename>ISO-IMAGES/</filename> по адресу
	    <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/arch/ISO-IMAGES/version/&os;-version-RELEASE-arch-memstick.img</literal>.
	    Замените <replaceable>arch</replaceable> и
	    <replaceable>version</replaceable> именем архитектуры и
	    номером версии операционной системы, которую вы планируете
	    установить.  Например, образы USB-накопителя для
	    &os;/&arch.i386;&nbsp;&rel2.current;-RELEASE находятся в
	    <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img</uri>.</para>

................................................................................
	      <para>Файл <filename>.img</filename> <emphasis>не</emphasis>
		является обыкновенным файлом, копируемым на накопитель.  Это
		образ содержимого диска.  Это значит, что вы <emphasis>не
		  можете</emphasis> просто скопировать файлы с диска на диск.
		Вместо копирования вы должны использовать &man.dd.1; для записи
		образа непосредственно на накопитель:</para>

	      <screen>&prompt.root; <userinput>dd if=&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img of=/dev/da0 bs=64k</userinput></screen>

	      <para>Если отображается ошибка
		<computeroutput>Operation not permitted</computeroutput>,
		убедитесь, что целевое устройство не используется и
		не примонтировано вручную или автоматически какой-либо
		полезной утилитой.  Далее, повторите попытку еще раз.</para>
	    </step>
................................................................................

      <procedure>
	<step>
	  <title>Получение образов загрузочных дискет</title>

	  <para>Загрузочные дискеты &os;/&arch.pc98; могут быть закачаны
	    из каталога floppies по адресу
	    <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/version-RELEASE/floppies/</literal>.
	    Замените <replaceable>version</replaceable> номером версии, которую
	    вы хотите установить.</para>

	  <para>Расширение файла образа дискеты &mdash;
	    <filename>.flp</filename>.  Каталог
	    <filename>floppies/</filename> содержит множество
	    разных образов.  Скачайте <filename>boot.flp</filename>, а также
................................................................................
		говорит, что раздел <literal>a</literal> зарезервирован на
		слайсе для корневой (<filename>/</filename>) файловой системы.
		вы можете не следовать этому соглашению, но программа
		<application>sysinstall</application> будет ему следовать,
		поэтому приняв его, вы сделаете установку несколько проще.
		Вы можете монтировать эти файловые системы к любой точке; в
		этом примере предлагается смонтировать их как каталоги
		<filename>/diskn</filename>, где
		<replaceable>n</replaceable> это номер, который уникален для
		каждого диска.  Но вы можете использовать другую схему, если
		захотите.</entry>
	    </row>
	  </tbody>
	</tgroup>
      </table>
................................................................................
	      USB-накопителя,
	      &os; загрузится в нормальный режим установки.  Мы хотим,
	      чтобы &os; загрузилась на последовательную консоль для
	      нашей установки.  Чтобы сделать это, смонтируйте
	      USB-накопитель на вашу систему FreeBSD
	      используя команду &man.mount.8;.</para>

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

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

	  <para>Теперь необходимо настроить USB-накопитель для загрузки
	    на последовательную консоль.  В файл
	    <filename>loader.conf</filename>, находящийся на файловой системе
	    USB-накопителя, добавьте запись, устанавливающую в качестве
	    системной консоли последовательную консоль.</para>

	  <screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>

	  <para>Далее, когда ваш USB-накопитель правильно настроен,
	    размонтируйте его с помощью команды &man.umount.8;:</para>

	  <screen>&prompt.root; <userinput>umount /mnt</userinput></screen>

	  <para>Теперь извлеките USB-накопитель и перейдите к третьему
	    пункту этой инструкции.</para>
	</step>

	<step>
	  <title>Загрузка с CD с выводом на последовательную консоль</title>
................................................................................
	    режим установки.  Однако, вам необходимо, чтобы &os; загрузилась
	    на последовательную консоль.  Для этого придется исправить
	    ISO образ заранее, до его записи на диск CD-R.</para>

	  <para>В приведённом далее примере подразумевается, что подготовку
	    образа вы выполняете на вашем втором компьютере, работающем под
	    управлением &os;.  Также подразумевается, что на нём есть файл
	    загрузочного ISO образа, например <filename>&os;-&rel.current;-RELEASE-i386-disc1.iso</filename>.
	    Извлеките из образа все файлы утилитой &man.tar.1;:</para>

	  <screen>&prompt.root; <userinput>mkdir /path/to/headless-iso</userinput>
&prompt.root; <userinput>tar -C /path/to/headless-iso -pxvf &os;-&rel.current;-RELEASE-i386-disc1.iso</userinput></screen>

	  <para>Теперь необходимо внести некоторые изменения в набор
	    файлов и каталогов, полученных из образа.  Добавьте в файл
	    <filename>loader.conf</filename> запись, устанавливающую в качестве
	    системной консоли последовательную консоль.</para>

	  <screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; /path/to/headless-iso/boot/loader.conf</userinput></screen>

	  <para>Далее необходимо создать новый образ ISO из извлеченного
	    и исправленного старого образа.  Для этого воспользуйтесь
	    утилитой &man.mkisofs.8; (порт <package>sysutils/cdrtools</package>):</para>

	  <screen>&prompt.root; <userinput>mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "Headless_install" \
        -o Headless-&os;-&rel.current;-RELEASE-i386-disc1.iso /path/to/headless-iso</userinput></screen>

	  <para>А теперь, имея в распоряжении модифицированный новый образ
	    ISO, самое время записать его на диск CD-R при помощи вашей
	    любимой программы для записи дисков.</para>
	</step>

	  <step>
................................................................................
	CD-рекордер и дешевый канал интернет, это простейший путь
	установить &os;.</para>

      <procedure>
	<step>
	  <title>Скачайте соответствующие ISO образы</title>

	  <para>ISO образы для каждого релиза могут быть загружены с <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия</filename> или с ближайшего зеркала.
	    Замените <replaceable>архитектура</replaceable> и
	    <replaceable>версия</replaceable> в соответствии архитектурой
	    и номером релиза соответственно.</para>

	  <para>Этот каталог обычно содержит следующие образы:</para>

	  <table frame="none">
................................................................................

	          <entry>Содержимое</entry>
	        </row>
	      </thead>

	      <tbody>
	        <row>
	          <entry><filename>&os;-version-RELEASE-arch-bootonly.iso</filename></entry>

		  <entry>Этот образ CD предоставляет возможность начать
		    процесс установки, загрузившись с диска в приводе CD-ROM.
		    Однако, в нём отсутствуют архивы, необходимые для установки
		    &os; с этого же диска.  Подразумевается, что необходимые
		    файлы будут скачаны из доступных в сети источников
		    (например, c сервера FTP).</entry>
	        </row>

		<row>
		  <entry><filename>&os;-version-RELEASE-arch-dvd1.iso.gz</filename></entry>

		  <entry>Этот образ DVD содержит всё необходимое для установки
		    базовой системы &os;, а также &mdash; документацию и набор
		    прекомпилированных пакетов.  Также образ поддерживает
		    возможность загрузки в режим <quote>livefs</quote>.</entry>
		</row>

		<row>
		  <entry><filename>&os;-version-RELEASE-arch-memstick.img</filename></entry>

		  <entry>Этот образ предназначен для создания загрузочных
		    USB-накопителей.  Такой накопитель может использоваться для
		    установки операционной системы на машины, поддерживающие
		    загрузку с USB дисков.  USB-накопитель также может
		    использоваться для аварийного восстановления системы
		    (содержит <quote>livefs</quote>).  В образе также имеются
		    пакеты с документацией.</entry>
		</row>

	        <row>
	          <entry><filename>&os;-version-RELEASE-arch-disc1.iso</filename></entry>

		  <entry>Этот образ CD содержит базовую систему &os; и набор
		    пакетов с документацией.</entry>
	        </row>

	        <row>
	          <entry><filename>&os;-version-RELEASE-arch-disc2.iso</filename></entry>

		  <entry>Этот образ CD содержит пакеты сторонних
		    разработчиков, которые смогли поместиться на диск.
		    Для &os;&nbsp;9.<replaceable>X</replaceable> подобные
		    образы не создавались.</entry>
		</row>

		<row>
		  <entry><filename>&os;-version-RELEASE-arch-disc3.iso</filename></entry>

		  <entry>Еще один образ CD, заполненный пакетами сторонних
		    разработчиков.  Этот образ не создавался для
		    &os;&nbsp;9.<replaceable>X</replaceable>.</entry>
 		</row>

		<row>
		  <entry><filename>&os;-version-RELEASE-arch-livefs.iso</filename></entry>

		  <entry>Данный образ CD поддерживает загрузку в режим
		    аварийного восстановления системы (содержит
		    <quote>livefs</quote>) и не предназначен для выполнения
		    установки операционной системы с самого диска.</entry>
		</row>
	      </tbody>
................................................................................
	  <para>Убедитесь что сервис FTP включен в
	    <filename>/etc/inetd.conf</filename>.</para>
	</step>
      </procedure>

      <para>Всякий, кто может подсоединиться по сети к вашему компьютеру,
	может выбрать тип носителя FTP и набрать
	<userinput>ftp://ваш компьютер</userinput>
	после выбора <quote>Other</quote> в меню серверов FTP во время
	установки.</para>

      <note>
	<para>Если загрузочный носитель (обычно это дискеты) для ваших
	  FTP-клиентов в точности не соответствует версии, находящейся на
	  локальном сервере FTP, то <application>sysinstall</application> не позволит вам завершить







|







 







|







 







|







 







|







 







|












|




|







 







|


|
|






|





|
|







 







|







 







|










|








|











|






|








|







|







 







|







603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
...
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
...
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
....
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
....
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
....
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
....
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
....
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
....
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
	<step>
	  <title>Получение образов для USB-накопителя</title>

	  <para>Загрузочные образы для USB-накопителя для
	    &os;&nbsp;8.<replaceable>X</replaceable>-RELEASE и более ранних
	    можно найти в каталоге
	    <filename>ISO-IMAGES/</filename> по адресу
	    <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/<replaceable>arch</replaceable>/ISO-IMAGES/<replaceable>version</replaceable>/&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</literal>.
	    Замените <replaceable>arch</replaceable> и
	    <replaceable>version</replaceable> именем архитектуры и
	    номером версии операционной системы, которую вы планируете
	    установить.  Например, образы USB-накопителя для
	    &os;/&arch.i386;&nbsp;&rel2.current;-RELEASE находятся в
	    <uri xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img">ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/&arch.i386;/ISO-IMAGES/&rel2.current;/&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img</uri>.</para>

................................................................................
	      <para>Файл <filename>.img</filename> <emphasis>не</emphasis>
		является обыкновенным файлом, копируемым на накопитель.  Это
		образ содержимого диска.  Это значит, что вы <emphasis>не
		  можете</emphasis> просто скопировать файлы с диска на диск.
		Вместо копирования вы должны использовать &man.dd.1; для записи
		образа непосредственно на накопитель:</para>

	      <screen>&prompt.root; <userinput>dd if=&os;-&rel2.current;-RELEASE-&arch.i386;-memstick.img of=/dev/<replaceable>da0</replaceable> bs=64k</userinput></screen>

	      <para>Если отображается ошибка
		<computeroutput>Operation not permitted</computeroutput>,
		убедитесь, что целевое устройство не используется и
		не примонтировано вручную или автоматически какой-либо
		полезной утилитой.  Далее, повторите попытку еще раз.</para>
	    </step>
................................................................................

      <procedure>
	<step>
	  <title>Получение образов загрузочных дискет</title>

	  <para>Загрузочные дискеты &os;/&arch.pc98; могут быть закачаны
	    из каталога floppies по адресу
	    <literal>ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/pc98/<replaceable>version</replaceable>-RELEASE/floppies/</literal>.
	    Замените <replaceable>version</replaceable> номером версии, которую
	    вы хотите установить.</para>

	  <para>Расширение файла образа дискеты &mdash;
	    <filename>.flp</filename>.  Каталог
	    <filename>floppies/</filename> содержит множество
	    разных образов.  Скачайте <filename>boot.flp</filename>, а также
................................................................................
		говорит, что раздел <literal>a</literal> зарезервирован на
		слайсе для корневой (<filename>/</filename>) файловой системы.
		вы можете не следовать этому соглашению, но программа
		<application>sysinstall</application> будет ему следовать,
		поэтому приняв его, вы сделаете установку несколько проще.
		Вы можете монтировать эти файловые системы к любой точке; в
		этом примере предлагается смонтировать их как каталоги
		<filename>/disk<replaceable>n</replaceable></filename>, где
		<replaceable>n</replaceable> это номер, который уникален для
		каждого диска.  Но вы можете использовать другую схему, если
		захотите.</entry>
	    </row>
	  </tbody>
	</tgroup>
      </table>
................................................................................
	      USB-накопителя,
	      &os; загрузится в нормальный режим установки.  Мы хотим,
	      чтобы &os; загрузилась на последовательную консоль для
	      нашей установки.  Чтобы сделать это, смонтируйте
	      USB-накопитель на вашу систему FreeBSD
	      используя команду &man.mount.8;.</para>

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

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

	  <para>Теперь необходимо настроить USB-накопитель для загрузки
	    на последовательную консоль.  В файл
	    <filename>loader.conf</filename>, находящийся на файловой системе
	    USB-накопителя, добавьте запись, устанавливающую в качестве
	    системной консоли последовательную консоль.</para>

	  <screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/mnt</replaceable>/boot/loader.conf</userinput></screen>

	  <para>Далее, когда ваш USB-накопитель правильно настроен,
	    размонтируйте его с помощью команды &man.umount.8;:</para>

	  <screen>&prompt.root; <userinput>umount <replaceable>/mnt</replaceable></userinput></screen>

	  <para>Теперь извлеките USB-накопитель и перейдите к третьему
	    пункту этой инструкции.</para>
	</step>

	<step>
	  <title>Загрузка с CD с выводом на последовательную консоль</title>
................................................................................
	    режим установки.  Однако, вам необходимо, чтобы &os; загрузилась
	    на последовательную консоль.  Для этого придется исправить
	    ISO образ заранее, до его записи на диск CD-R.</para>

	  <para>В приведённом далее примере подразумевается, что подготовку
	    образа вы выполняете на вашем втором компьютере, работающем под
	    управлением &os;.  Также подразумевается, что на нём есть файл
	    загрузочного ISO образа, например <filename>&os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso</filename>.
	    Извлеките из образа все файлы утилитой &man.tar.1;:</para>

	  <screen>&prompt.root; <userinput>mkdir <replaceable>/path/to/headless-iso</replaceable></userinput>
&prompt.root; <userinput>tar -C <replaceable>/path/to/headless-iso</replaceable> -pxvf &os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso</userinput></screen>

	  <para>Теперь необходимо внести некоторые изменения в набор
	    файлов и каталогов, полученных из образа.  Добавьте в файл
	    <filename>loader.conf</filename> запись, устанавливающую в качестве
	    системной консоли последовательную консоль.</para>

	  <screen>&prompt.root; <userinput>echo 'console="comconsole"' &gt;&gt; <replaceable>/path/to/headless-iso</replaceable>/boot/loader.conf</userinput></screen>

	  <para>Далее необходимо создать новый образ ISO из извлеченного
	    и исправленного старого образа.  Для этого воспользуйтесь
	    утилитой &man.mkisofs.8; (порт <package>sysutils/cdrtools</package>):</para>

	  <screen>&prompt.root; <userinput>mkisofs -v -b boot/cdboot -no-emul-boot -r -J -V "<replaceable>Headless_install</replaceable>" \
        -o <replaceable>Headless</replaceable>-&os;-<replaceable>&rel.current;</replaceable>-RELEASE-<replaceable>i386</replaceable>-disc1.iso <replaceable>/path/to/headless-iso</replaceable></userinput></screen>

	  <para>А теперь, имея в распоряжении модифицированный новый образ
	    ISO, самое время записать его на диск CD-R при помощи вашей
	    любимой программы для записи дисков.</para>
	</step>

	  <step>
................................................................................
	CD-рекордер и дешевый канал интернет, это простейший путь
	установить &os;.</para>

      <procedure>
	<step>
	  <title>Скачайте соответствующие ISO образы</title>

	  <para>ISO образы для каждого релиза могут быть загружены с <filename>ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-<replaceable>архитектура</replaceable>/<replaceable>версия</replaceable></filename> или с ближайшего зеркала.
	    Замените <replaceable>архитектура</replaceable> и
	    <replaceable>версия</replaceable> в соответствии архитектурой
	    и номером релиза соответственно.</para>

	  <para>Этот каталог обычно содержит следующие образы:</para>

	  <table frame="none">
................................................................................

	          <entry>Содержимое</entry>
	        </row>
	      </thead>

	      <tbody>
	        <row>
	          <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-bootonly.iso</filename></entry>

		  <entry>Этот образ CD предоставляет возможность начать
		    процесс установки, загрузившись с диска в приводе CD-ROM.
		    Однако, в нём отсутствуют архивы, необходимые для установки
		    &os; с этого же диска.  Подразумевается, что необходимые
		    файлы будут скачаны из доступных в сети источников
		    (например, c сервера FTP).</entry>
	        </row>

		<row>
		  <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-dvd1.iso.gz</filename></entry>

		  <entry>Этот образ DVD содержит всё необходимое для установки
		    базовой системы &os;, а также &mdash; документацию и набор
		    прекомпилированных пакетов.  Также образ поддерживает
		    возможность загрузки в режим <quote>livefs</quote>.</entry>
		</row>

		<row>
		  <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-memstick.img</filename></entry>

		  <entry>Этот образ предназначен для создания загрузочных
		    USB-накопителей.  Такой накопитель может использоваться для
		    установки операционной системы на машины, поддерживающие
		    загрузку с USB дисков.  USB-накопитель также может
		    использоваться для аварийного восстановления системы
		    (содержит <quote>livefs</quote>).  В образе также имеются
		    пакеты с документацией.</entry>
		</row>

	        <row>
	          <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc1.iso</filename></entry>

		  <entry>Этот образ CD содержит базовую систему &os; и набор
		    пакетов с документацией.</entry>
	        </row>

	        <row>
	          <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc2.iso</filename></entry>

		  <entry>Этот образ CD содержит пакеты сторонних
		    разработчиков, которые смогли поместиться на диск.
		    Для &os;&nbsp;9.<replaceable>X</replaceable> подобные
		    образы не создавались.</entry>
		</row>

		<row>
		  <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-disc3.iso</filename></entry>

		  <entry>Еще один образ CD, заполненный пакетами сторонних
		    разработчиков.  Этот образ не создавался для
		    &os;&nbsp;9.<replaceable>X</replaceable>.</entry>
 		</row>

		<row>
		  <entry><filename>&os;-<replaceable>version</replaceable>-RELEASE-<replaceable>arch</replaceable>-livefs.iso</filename></entry>

		  <entry>Данный образ CD поддерживает загрузку в режим
		    аварийного восстановления системы (содержит
		    <quote>livefs</quote>) и не предназначен для выполнения
		    установки операционной системы с самого диска.</entry>
		</row>
	      </tbody>
................................................................................
	  <para>Убедитесь что сервис FTP включен в
	    <filename>/etc/inetd.conf</filename>.</para>
	</step>
      </procedure>

      <para>Всякий, кто может подсоединиться по сети к вашему компьютеру,
	может выбрать тип носителя FTP и набрать
	<userinput>ftp://<replaceable>ваш компьютер</replaceable></userinput>
	после выбора <quote>Other</quote> в меню серверов FTP во время
	установки.</para>

      <note>
	<para>Если загрузочный носитель (обычно это дискеты) для ваших
	  FTP-клиентов в точности не соответствует версии, находящейся на
	  локальном сервере FTP, то <application>sysinstall</application> не позволит вам завершить

Changes to ru_RU.KOI8-R/books/handbook/kernelconfig/chapter.xml.

185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
...
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
...
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
...
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
...
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
...
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
....
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
....
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
....
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
....
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
    device     = 'AR5212 Atheros AR5212 802.11abg wireless'
    class      = network
    subclass   = ethernet</programlisting>

    <para>Эта часть вывода, полученная в результате запуска команды
      <command>pciconf -lv</command>, показывает, что драйвер
      <filename>ath</filename> обнаружил беспроводное Ethernet устройство.
      Набрав <command>man ath</command>, вы
      получите страницу справочника &man.ath.4;.</para>

    <para>Также, для извлечения необходимой информации, можно воспользоваться
      ключом <option>-k</option> к команде &man.man.1;.  В вышеприведенном
      случае можно набрать:</para>

    <screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
................................................................................

    <para>Во-первых, давайте сделаем краткий обзор каталога, в котором будет
      происходить сборка ядра.  Все каталоги, которые будут упоминаться, будут
      относительными по отношению к основному каталогу
      <filename>/usr/src/sys</filename>, который также доступен как каталог
      <filename>/sys</filename>.  Этот каталог содержит множество подкаталогов,
      представляющих собой различные части ядра, но наиболее важным для нас
      будет каталог <filename>arch/conf</filename>,
      в котором вы будете редактировать конфигурационный файл ядра и в котором
      находится каталог <filename>compile</filename>, где будет
      собираться ваше ядро.  <replaceable>arch</replaceable> может быть
      <filename>i386</filename>,
      <filename>amd64</filename>, <filename>ia64</filename>,
      <filename>powerpc</filename>, <filename>sparc64</filename> или
      <filename>pc98</filename> (альтернативная ветвь аппаратного обеспечения,
................................................................................
	<xref linkend="synching"/>.  Далее, создайте символическую ссылку на
	<filename>/usr/src/sys/</filename>:</para>

      <screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen>
    </note>

    <para>Затем, перейдите в каталог
      <filename>arch/conf</filename>
      и скопируйте файл конфигурации <filename>GENERIC</filename>
      в файл с выбранным вами именем. Например:</para>

    <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
&prompt.root; <userinput>cp GENERIC MYKERNEL</userinput></screen>

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

    <tip>
      <para>Помещение файла конфигурации ядра в <filename>/usr/src</filename>
	может быть плохой идеей.  Если вы испытываете проблемы,
	их можно решить удалив <filename>/usr/src</filename> и начав
	все с начала.  После этого обычно требуется несколько секунд, чтобы
	понять, что вы удалили собственный файл настройки ядра.  Не
	редактируйте непосредственно <filename>GENERIC</filename>, он может
	быть также перезаписан и при следующем <link linkend="updating-upgrading">обновлении дерева исходных текстов</link>,
	и изменения ядра будут потеряны.</para>

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

      <para>Например:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf</userinput>
&prompt.root; <userinput>mkdir /root/kernels</userinput>
&prompt.root; <userinput>cp GENERIC /root/kernels/MYKERNEL</userinput>
&prompt.root; <userinput>ln -s /root/kernels/MYKERNEL</userinput></screen>
    </tip>

    <para>Теперь отредактируйте файл <filename>MYKERNEL</filename> в своём
      любимом текстовом редакторе.  Если вы только начинаете, единственным
      доступным редактором скорее всего будет <application>vi</application>,
      который слишком сложен для того, чтобы описать его здесь,
      но в <link linkend="bibliography">библиографии</link> перечислено
      множество книг, в которых его использование хорошо освещено.  Однако &os;
      предоставляет более простой редактор <application>ee</application>,
      который, если вы &mdash; новичок, подойдёт вам больше всего.  Не стесняйтесь
................................................................................

    <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
      </step>

      <step>
	<para>Соберите ядро:</para>

    <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen>
      </step>

      <step>
	<para>Установите новое ядро:</para>

    <screen>&prompt.root; <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
      </step>
    </procedure>

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

    <note>
      <para>Для сборки ядра со всеми возможными опциями (обычно используется
	для тестирования), выполните от имени суперпользователя
	(<systemitem class="username">root</systemitem>) следующую команду:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/sys/i386/conf &amp;&amp; make LINT</userinput></screen>
    </note>

    <indexterm>
      <primary>kernel</primary>
      <secondary>конфигурационный файл</secondary>
    </indexterm>

    <para>Это пример конфигурационного файла ядра
      <filename>GENERIC</filename> с различными дополнительными комментариями,
      которые могут понадобиться для ясности.  Этот пример должен совпадать с вашей
      копией в
      <filename>/usr/src/sys/i386/conf/GENERIC</filename>
      практически полностью.</para>

    <indexterm>
      <primary>параметры ядра</primary>
      <secondary>machine</secondary>
    </indexterm>

................................................................................
      <secondary>ident</secondary>
    </indexterm>

    <programlisting>ident          GENERIC</programlisting>

    <para>Этот параметр определяет <quote>метку</quote> ядра.  Необходимо,
      чтобы она соответствовала названию файла конфигурации ядра, например
      <literal>MYKERNEL</literal>, если вы следовали инструкциям в предыдущих
      примерах.  Значение, которое вы присвоите параметру
      <literal>ident</literal> будет выводиться в процессе загрузки, поэтому
      полезно давать новым ядрам другие имена для того, чтобы отличать их от
      обычного ядра (например, если вы хотите собрать экспериментальное
      ядро).</para>

    <programlisting>#To statically compile in device wiring instead of /boot/device.hints
................................................................................
device          sn         # SMC's 9000 series of Ethernet chips
device          xe         # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le</programlisting>

    <para>Драйвера сетевых карт ISA.  Ознакомьтесь с файлом
      <filename>/usr/src/sys/i386/conf/NOTES</filename>,
      чтобы узнать, какие
      сетевые карты каким драйвером поддерживаются.</para>

    <programlisting># Wireless NIC cards
device          wlan            # 802.11 support</programlisting>

    <para>Generic 802.11 support.  This line is required for wireless
................................................................................
device          sbp           # SCSI over FireWire (Requires scbus and da)
device          fwe           # Ethernet over FireWire (non-standard!)</programlisting>

    <para>Поддержка различных устройств Firewire.</para>

    <para>За дальнейшей информацией о дополнительных устройствах,
      поддерживаемых &os;, обратитесь к файлу
      <filename>/usr/src/sys/i386/conf/NOTES</filename>.</para>

      <sect2>
	<title>Конфигурации с большим количеством оперативной памяти
	  (<acronym>PAE</acronym>)</title>
	<indexterm>
	  <primary>
	    Расширения физического адресного пространства (Physical Address
................................................................................
	  <para>Если ваше новое ядро не загружается или ему не удаётся обнаружить
	    ваши устройства  &mdash; не паникуйте!  К счастью, в &os; существует отличный
	    механизм для восстановления после установки несовместимого ядра.
	    Просто выберите ядро, которое хотите загрузить, в загрузчике &os;.
	    Доступ к нему вы можете получить, когда система находится в стартовом меню.
	    Выберите шестой пункт (<quote>Escape to a loader prompt</quote>),
	    введите команду
	    <command>boot kernel.old</command>,
	    или используйте любое
	    другое ядро, которое загрузится без проблем.  Во время
	    переконфигурирования ядра всегда полезно оставлять копию ядра, о
	    котором известно, что оно рабочее.</para>

	  <para>После загрузки с рабочим ядром вы можете проверить ваш файл
	  конфигурации и попробовать собрать ядро опять.  Очень полезным в данном
................................................................................
	      перезаписывается последним установленным ядром, которое может
	      оказаться нерабочим.  Также, как можно скорее переместите рабочее
	      ядро в <filename>/boot/kernel</filename>,
	      так как некоторые команды, такие как &man.ps.1; будут работать
	      некорректно.  Для этого просто переместите каталог, содержащий
	      работоспособное ядро:</para>

	    <screen>&prompt.root; <userinput>mv /boot/kernel /boot/kernel.bad</userinput>
&prompt.root; <userinput>mv /boot/kernel.good /boot/kernel</userinput></screen>
	   </note>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>Ядро работает, но &man.ps.1; больше не работает:</term>








|







 







|







 







|



|
|




|













|



|

|
|


|







 







|





|







 







|











|







 







|







 







|







 







|







 







|







 







|
|







185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
...
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
...
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
...
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
...
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
...
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
....
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
....
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
....
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
....
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
    device     = 'AR5212 Atheros AR5212 802.11abg wireless'
    class      = network
    subclass   = ethernet</programlisting>

    <para>Эта часть вывода, полученная в результате запуска команды
      <command>pciconf -lv</command>, показывает, что драйвер
      <filename>ath</filename> обнаружил беспроводное Ethernet устройство.
      Набрав <command>man <replaceable>ath</replaceable></command>, вы
      получите страницу справочника &man.ath.4;.</para>

    <para>Также, для извлечения необходимой информации, можно воспользоваться
      ключом <option>-k</option> к команде &man.man.1;.  В вышеприведенном
      случае можно набрать:</para>

    <screen>&prompt.root; man -k <replaceable>Atheros</replaceable></screen>
................................................................................

    <para>Во-первых, давайте сделаем краткий обзор каталога, в котором будет
      происходить сборка ядра.  Все каталоги, которые будут упоминаться, будут
      относительными по отношению к основному каталогу
      <filename>/usr/src/sys</filename>, который также доступен как каталог
      <filename>/sys</filename>.  Этот каталог содержит множество подкаталогов,
      представляющих собой различные части ядра, но наиболее важным для нас
      будет каталог <filename><replaceable>arch</replaceable>/conf</filename>,
      в котором вы будете редактировать конфигурационный файл ядра и в котором
      находится каталог <filename>compile</filename>, где будет
      собираться ваше ядро.  <replaceable>arch</replaceable> может быть
      <filename>i386</filename>,
      <filename>amd64</filename>, <filename>ia64</filename>,
      <filename>powerpc</filename>, <filename>sparc64</filename> или
      <filename>pc98</filename> (альтернативная ветвь аппаратного обеспечения,
................................................................................
	<xref linkend="synching"/>.  Далее, создайте символическую ссылку на
	<filename>/usr/src/sys/</filename>:</para>

      <screen>&prompt.root; <userinput>ln -s /usr/src/sys /sys</userinput></screen>
    </note>

    <para>Затем, перейдите в каталог
      <filename><replaceable>arch</replaceable>/conf</filename>
      и скопируйте файл конфигурации <filename>GENERIC</filename>
      в файл с выбранным вами именем. Например:</para>

    <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>cp GENERIC <replaceable>MYKERNEL</replaceable></userinput></screen>

    <para>По традиции имя состоит из букв в верхнем регистре, и если
      вы поддерживаете несколько компьютеров &os; на различном оборудовании,
      хорошая идея добавлять это имя к имени хоста.  Мы назвали ядро
      <filename><replaceable>MYKERNEL</replaceable></filename> в этом примере.</para>

    <tip>
      <para>Помещение файла конфигурации ядра в <filename>/usr/src</filename>
	может быть плохой идеей.  Если вы испытываете проблемы,
	их можно решить удалив <filename>/usr/src</filename> и начав
	все с начала.  После этого обычно требуется несколько секунд, чтобы
	понять, что вы удалили собственный файл настройки ядра.  Не
	редактируйте непосредственно <filename>GENERIC</filename>, он может
	быть также перезаписан и при следующем <link linkend="updating-upgrading">обновлении дерева исходных текстов</link>,
	и изменения ядра будут потеряны.</para>

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

      <para>Например:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf</userinput>
&prompt.root; <userinput>mkdir /root/kernels</userinput>
&prompt.root; <userinput>cp GENERIC /root/kernels/<replaceable>MYKERNEL</replaceable></userinput>
&prompt.root; <userinput>ln -s /root/kernels/<replaceable>MYKERNEL</replaceable></userinput></screen>
    </tip>

    <para>Теперь отредактируйте файл <filename><replaceable>MYKERNEL</replaceable></filename> в своём
      любимом текстовом редакторе.  Если вы только начинаете, единственным
      доступным редактором скорее всего будет <application>vi</application>,
      который слишком сложен для того, чтобы описать его здесь,
      но в <link linkend="bibliography">библиографии</link> перечислено
      множество книг, в которых его использование хорошо освещено.  Однако &os;
      предоставляет более простой редактор <application>ee</application>,
      который, если вы &mdash; новичок, подойдёт вам больше всего.  Не стесняйтесь
................................................................................

    <screen>&prompt.root; <userinput>cd /usr/src</userinput></screen>
      </step>

      <step>
	<para>Соберите ядро:</para>

    <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
      </step>

      <step>
	<para>Установите новое ядро:</para>

    <screen>&prompt.root; <userinput>make installkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
      </step>
    </procedure>

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

    <note>
      <para>Для сборки ядра со всеми возможными опциями (обычно используется
	для тестирования), выполните от имени суперпользователя
	(<systemitem class="username">root</systemitem>) следующую команду:</para>

      <screen>&prompt.root; <userinput>cd /usr/src/sys/<replaceable>i386</replaceable>/conf &amp;&amp; make LINT</userinput></screen>
    </note>

    <indexterm>
      <primary>kernel</primary>
      <secondary>конфигурационный файл</secondary>
    </indexterm>

    <para>Это пример конфигурационного файла ядра
      <filename>GENERIC</filename> с различными дополнительными комментариями,
      которые могут понадобиться для ясности.  Этот пример должен совпадать с вашей
      копией в
      <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/GENERIC</filename>
      практически полностью.</para>

    <indexterm>
      <primary>параметры ядра</primary>
      <secondary>machine</secondary>
    </indexterm>

................................................................................
      <secondary>ident</secondary>
    </indexterm>

    <programlisting>ident          GENERIC</programlisting>

    <para>Этот параметр определяет <quote>метку</quote> ядра.  Необходимо,
      чтобы она соответствовала названию файла конфигурации ядра, например
      <literal><replaceable>MYKERNEL</replaceable></literal>, если вы следовали инструкциям в предыдущих
      примерах.  Значение, которое вы присвоите параметру
      <literal>ident</literal> будет выводиться в процессе загрузки, поэтому
      полезно давать новым ядрам другие имена для того, чтобы отличать их от
      обычного ядра (например, если вы хотите собрать экспериментальное
      ядро).</para>

    <programlisting>#To statically compile in device wiring instead of /boot/device.hints
................................................................................
device          sn         # SMC's 9000 series of Ethernet chips
device          xe         # Xircom pccard Ethernet

# ISA devices that use the old ISA shims
#device         le</programlisting>

    <para>Драйвера сетевых карт ISA.  Ознакомьтесь с файлом
      <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>,
      чтобы узнать, какие
      сетевые карты каким драйвером поддерживаются.</para>

    <programlisting># Wireless NIC cards
device          wlan            # 802.11 support</programlisting>

    <para>Generic 802.11 support.  This line is required for wireless
................................................................................
device          sbp           # SCSI over FireWire (Requires scbus and da)
device          fwe           # Ethernet over FireWire (non-standard!)</programlisting>

    <para>Поддержка различных устройств Firewire.</para>

    <para>За дальнейшей информацией о дополнительных устройствах,
      поддерживаемых &os;, обратитесь к файлу
      <filename>/usr/src/sys/<replaceable>i386</replaceable>/conf/NOTES</filename>.</para>

      <sect2>
	<title>Конфигурации с большим количеством оперативной памяти
	  (<acronym>PAE</acronym>)</title>
	<indexterm>
	  <primary>
	    Расширения физического адресного пространства (Physical Address
................................................................................
	  <para>Если ваше новое ядро не загружается или ему не удаётся обнаружить
	    ваши устройства  &mdash; не паникуйте!  К счастью, в &os; существует отличный
	    механизм для восстановления после установки несовместимого ядра.
	    Просто выберите ядро, которое хотите загрузить, в загрузчике &os;.
	    Доступ к нему вы можете получить, когда система находится в стартовом меню.
	    Выберите шестой пункт (<quote>Escape to a loader prompt</quote>),
	    введите команду
	    <command>boot <replaceable>kernel.old</replaceable></command>,
	    или используйте любое
	    другое ядро, которое загрузится без проблем.  Во время
	    переконфигурирования ядра всегда полезно оставлять копию ядра, о
	    котором известно, что оно рабочее.</para>

	  <para>После загрузки с рабочим ядром вы можете проверить ваш файл
	  конфигурации и попробовать собрать ядро опять.  Очень полезным в данном
................................................................................
	      перезаписывается последним установленным ядром, которое может
	      оказаться нерабочим.  Также, как можно скорее переместите рабочее
	      ядро в <filename>/boot/kernel</filename>,
	      так как некоторые команды, такие как &man.ps.1; будут работать
	      некорректно.  Для этого просто переместите каталог, содержащий
	      работоспособное ядро:</para>

	    <screen>&prompt.root; <userinput>mv /boot/kernel <replaceable>/boot/kernel.bad</replaceable></userinput>
&prompt.root; <userinput>mv <replaceable>/boot/kernel.good</replaceable> /boot/kernel</userinput></screen>
	   </note>
	</listitem>
      </varlistentry>

      <varlistentry>
	<term>Ядро работает, но &man.ps.1; больше не работает:</term>

Changes to ru_RU.KOI8-R/books/handbook/l10n/chapter.xml.

357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
...
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
	    <indexterm><primary>login class</primary></indexterm>
	    <para>Используйте <command>adduser</command> для добавления новых
	      пользователей и сделайте следующее:</para>

	    <itemizedlist>
	      <listitem>
		<para>Установите <literal>defaultclass =
		  язык</literal> в
		  <filename>/etc/adduser.conf</filename>. Помните, что в этом
		    случае вы должны задать <literal>default</literal> класс для
		    всех пользователей других языков.</para>
	      </listitem>

	      <listitem>
		<para>Другой способ заключается в задании класса логина каждый
................................................................................
	      </listitem>

	      <listitem>
		<para>Еще один способ - использовать следующее для каждого
		  пользователя другого языка, которого вы хотите
		  добавить:</para>

		<screen>&prompt.root; <userinput>adduser -class язык</userinput></screen>
	      </listitem>
	    </itemizedlist>

	    <bridgehead renderas="sect4">Изменение класса логина с помощью
	      &man.pw.8;</bridgehead>
	    <indexterm><primary><command>pw</command></primary></indexterm>
	    <para>Если для добавления новых пользователей вы используете
	      утилиту &man.pw.8;, запускайте ее с такими параметрами:</para>

	    <screen>&prompt.root; <userinput>pw useradd
	    имя_пользователя -L язык</userinput></screen>
	  </sect5>
	</sect4>

	<sect4 xml:id="startup-file">
	  <title>Метод инициализационных файлов оболочки</title>

	  <note>
................................................................................
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Для расширенных кодировок, а также для многобайтовых кодировок,
	используйте порт FreeBSD из каталога
	<filename>/usr/ports/language</filename>.
	Некоторые порты выводят информацию на консоль, хотя для системы
	выглядят как последовательные псевдотерминалы, следовательно вы
	должны зарезервировать достаточное количество псевдотерминалов
	и для X11 и для последовательных псевдоконсолей.  Вот неполный
	список приложений для использования этих кодировок в консоли:</para>

      <informaltable frame="none" pgwide="1">







|







 







|










|







 







|







357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
...
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
...
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
	    <indexterm><primary>login class</primary></indexterm>
	    <para>Используйте <command>adduser</command> для добавления новых
	      пользователей и сделайте следующее:</para>

	    <itemizedlist>
	      <listitem>
		<para>Установите <literal>defaultclass =
		  <replaceable>язык</replaceable></literal> в
		  <filename>/etc/adduser.conf</filename>. Помните, что в этом
		    случае вы должны задать <literal>default</literal> класс для
		    всех пользователей других языков.</para>
	      </listitem>

	      <listitem>
		<para>Другой способ заключается в задании класса логина каждый
................................................................................
	      </listitem>

	      <listitem>
		<para>Еще один способ - использовать следующее для каждого
		  пользователя другого языка, которого вы хотите
		  добавить:</para>

		<screen>&prompt.root; <userinput>adduser -class <replaceable>язык</replaceable></userinput></screen>
	      </listitem>
	    </itemizedlist>

	    <bridgehead renderas="sect4">Изменение класса логина с помощью
	      &man.pw.8;</bridgehead>
	    <indexterm><primary><command>pw</command></primary></indexterm>
	    <para>Если для добавления новых пользователей вы используете
	      утилиту &man.pw.8;, запускайте ее с такими параметрами:</para>

	    <screen>&prompt.root; <userinput>pw useradd
	    <replaceable>имя_пользователя</replaceable> -L <replaceable>язык</replaceable></userinput></screen>
	  </sect5>
	</sect4>

	<sect4 xml:id="startup-file">
	  <title>Метод инициализационных файлов оболочки</title>

	  <note>
................................................................................
	    </row>
	  </tbody>
	</tgroup>
      </informaltable>

      <para>Для расширенных кодировок, а также для многобайтовых кодировок,
	используйте порт FreeBSD из каталога
	<filename>/usr/ports/<replaceable>language</replaceable></filename>.
	Некоторые порты выводят информацию на консоль, хотя для системы
	выглядят как последовательные псевдотерминалы, следовательно вы
	должны зарезервировать достаточное количество псевдотерминалов
	и для X11 и для последовательных псевдоконсолей.  Вот неполный
	список приложений для использования этих кодировок в консоли:</para>

      <informaltable frame="none" pgwide="1">

Changes to ru_RU.KOI8-R/books/handbook/linuxemu/chapter.xml.

700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
...
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
....
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
....
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
....
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
....
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
....
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
....
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
	    скрипт установки.  Для запуска скрипта установки наберите:</para>

	  <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen>

	  <tip>
	    <para>Запускается графический инсталлятор.  Если вы получаете
	      сообщения о невозможности открыть дисплей, наберите
	      <command>setenv HOME ~USER</command>,
	      где <replaceable>USER</replaceable>&nbsp;&ndash; пользователь, от
	      имени которого выполнена команда &man.su.1;.</para>
	  </tip>
	</step>

	<step>
	  <para>
................................................................................
      <para>Если вы хотите использовать интеллектуальный агент (intelligent
	agent), придется также установить пакет TCL от Red Hat:
	<filename>tcl-8.0.3-20.i386.rpm</filename>.  Универсальная команда
	для установки пакетов с помощью официального порта
	<application>RPM</application>
	(<package>archivers/rpm</package>):</para>

      <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm пакет</userinput></screen>

      <para>Установка этого <replaceable>пакета</replaceable> должна
	пройти без каких-либо ошибок.</para>
    </sect2>

    <sect2>
      <title>Создание среды &oracle;</title>
................................................................................

	<para>Сначала мы установим владельцев и права для ряда каталогов (от
	  имени пользователя <systemitem class="username">root</systemitem>):</para>

	<screen>&prompt.root; <userinput>chmod 775 /oracle</userinput>
&prompt.root; <userinput>chmod 777 /sapmnt</userinput>
&prompt.root; <userinput>chown root:dba /oracle</userinput>
&prompt.root; <userinput>chown sidadm:sapsys /compat/linux/usr/sap</userinput>
&prompt.root; <userinput>chmod 775 /compat/linux/usr/sap</userinput></screen>

	<para>Затем, мы создадим каталоги от имени пользователя
	  <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>.  Все они
	  будут размещены в каталоге
	  <filename>/oracle/SID</filename>:</para>

	<screen>&prompt.root; <userinput>su - orasid</userinput>
&prompt.root; <userinput>cd /oracle/SID</userinput>
&prompt.root; <userinput>mkdir mirrlogA mirrlogB origlogA origlogB</userinput>
&prompt.root; <userinput>mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6</userinput>
&prompt.root; <userinput>mkdir saparch sapreorg</userinput>
&prompt.root; <userinput>exit</userinput></screen>

	<para>Для установки <application>&oracle; 8.1.7</application>
	  потребуется несколько дополнительных каталогов:</para>

	<screen>&prompt.root; <userinput>su - orasid</userinput>
&prompt.root; <userinput>cd /oracle</userinput>
&prompt.root; <userinput>mkdir 805_32</userinput>
&prompt.root; <userinput>mkdir client stage</userinput>
&prompt.root; <userinput>mkdir client/80x_32</userinput>
&prompt.root; <userinput>mkdir stage/817_32</userinput>
&prompt.root; <userinput>cd /oracle/SID</userinput>
&prompt.root; <userinput>mkdir 817_32</userinput></screen>

	<note><para>Каталог <filename>client/80x_32</filename> должен иметь
	  точно такое имя. Не заменяйте <emphasis>x</emphasis> числом или
	  другим символом.</para></note>

	<para>На третьем шаге мы создаем каталоги от имени пользователя
	  <systemitem class="username"><replaceable>sid</replaceable>adm</systemitem>:</para>

	<screen>&prompt.root; <userinput>su - sidadm</userinput>
&prompt.root; <userinput>cd /usr/sap</userinput>
&prompt.root; <userinput>mkdir SID</userinput>
&prompt.root; <userinput>mkdir trans</userinput>
&prompt.root; <userinput>exit</userinput></screen>
      </sect3>

      <sect3 xml:id="entriesinslashetcslashservices">
	<title>Записи в файле <filename>/etc/services</filename></title>

................................................................................
	  <filename>DISK3</filename>, <filename>DISK4</filename> и
	  <filename>LANG</filename> для установки 4.6C SR2.  Все имена
	  файлов на смонтированных дисках должны быть в верхнем регистре,
	  в противном случае, используйте при монтировании опцию
	  <option>-g</option>.  Поэтому используйте следующие команды:</para>

	<screen>&prompt.root; <userinput>mount_cd9660 -g /dev/cd0a /mnt</userinput>
&prompt.root; <userinput>cp -R /mnt/* /oracle/SID/sapreorg/имя_cd</userinput>
&prompt.root; <userinput>umount /mnt</userinput></screen>
      </sect3>

      <sect3 xml:id="runningtheinstall-script">
	<title>Запуск скрипта установки</title>

	<para>Сначала надо подготовить каталог <filename>install</filename>:</para>

	<screen>&prompt.root; <userinput>cd /oracle/SID/sapreorg</userinput>
&prompt.root; <userinput>mkdir install</userinput>
&prompt.root; <userinput>cd install</userinput></screen>

	<para>Затем запускается скрипт установки, который скопирует почти
	  все необходимые файлы в каталог
	  <filename>install</filename>:</para>

	<screen>&prompt.root; <userinput>/oracle/SID/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen>

	<para>Дистрибутив IDES (4.6B) включает полностью настроенную
	  демонстрационную систему &sap.r3;, поэтому он включает шесть
	  дисков EXPORT CD, а не три.  В этот момент шаблон установки
	  <filename>CENTRDB.R3S</filename> предназначен для установки
	  стандартного центрального экземпляра
	  (<application>&r3;</application> и базы данных), а не для
................................................................................
      </sect3>
    </sect2>

    <sect2 xml:id="installingoracle817">
      <title>Установка tar-архива &oracle; 8.1.7 для Linux</title>
      <para>Создайте tar-архив <filename>oracle81732.tgz</filename>
	каталога установки на Linux-системе и разархивируйте его в
	каталог <filename>/oracle/SID/817_32/</filename>.</para>
    </sect2>

    <sect2 xml:id="continuewithsapr4installation">
      <title>Продолжение установки &sap.r3;</title>

      <para>Сначала проверьте настройку среды для пользователей
	<systemitem class="username">idsamd</systemitem> (<replaceable>sid</replaceable>adm) и
................................................................................

	<para>Эти и другие шаги, которые надо выполнить после установки,
	  подробно описаны в руководствах по установке
	  <application>&sap;</application>.</para>
      </sect3>

      <sect3 xml:id="editintsidsap">
	<title>Редактирование <filename>initsid.sap</filename> (<filename>initIDS.sap</filename>)</title>

	<para>Файл <filename>/oracle/IDS/dbs/initIDS.sap</filename>
	  содержит профиль резервного копирования
	  <application>&sap;</application>.  Здесь надо задать размер
	  используемой ленты, тип сжатия и т.д.  Чтобы можно было
	  использовать <command>sapdba</command> /
	  <command>brbackup</command>, мы изменили следующие значения:</para>
................................................................................
	  выполняющие грязную работу по запуску всех остальных процессов
	  <application>&sap;</application>. В результате, сам скрипт
	  не получит уведомления, если что-то пойдет не так.</para>

	<para>Чтобы проверить, нормально ли запустились процессы
	  <application>&sap;</application>, посмотрите на состояние
	  процессов с помощью команды <command>ps ax |
	  grep SID</command>, которая выдаст
	  список всех процессов <application>&oracle;</application> и
	  <application>&sap;</application>.  Если похоже, что некоторых
	  процессов не хватает или вы не можете подключиться к системе
	  <application>&sap;</application>, просмотрите соответствующие
	  журнальные файлы, которые можно найти в каталоге
	  <filename>/usr/sap/SID/DVEBMGSnr/work/</filename>.
	  Надо просматривать файлы <filename>dev_ms</filename> и
	  <filename>dev_disp</filename>.</para>

	<para>Сигнал 31 выдается, если объем памяти, совместно используемой
	  <application>&oracle;</application> и
	  <application>&sap;</application>, превосходит заданный в файле
	  конфигурации ядра, и от него можно избавиться, указав большее
................................................................................
	системных вызовов Linux, а не FreeBSD.</para>

      <para>Плюс ко всему, в Linux&ndash;режиме динамически <quote>изменяется
	корень</quote> файловой системы при поиске файлов; фактически
	так же, как и параметр <literal>union</literal> при монтировании
	файловых систем (не путать с <literal>unionfs</literal>!).
	Сперва, файл ищется в каталоге
	<filename>/compat/linux/исходное_полное_имя</filename>
	и только затем, в случае неудачи, в
	<filename>/исходное_полное_имя</filename>.
	Это гарантирует, что программы, которым требуются другие программы,
	смогут работать (например, весь набор инструментальных средств Linux
	сможет работать в среде поддержки Linux ABI).  Это также дает
	возможность Linux программам выполнять FreeBSD команды, если не
	найдется соответствующих Linux команд.  Например, можно скопировать
	FreeBSD &man.uname.1; в дерево каталогов
	<filename>/compat/linux</filename>, и Linux-программы не смогут







|







 







|







 







|





|

|
|








|





|









|

|







 







|








|







|







 







|







 







|







 







|





|







 







|

|







700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
...
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
....
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
....
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
....
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
....
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
....
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
....
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
	    скрипт установки.  Для запуска скрипта установки наберите:</para>

	  <screen>&prompt.root; <userinput>/compat/linux/bin/sh /cdrom/install</userinput></screen>

	  <tip>
	    <para>Запускается графический инсталлятор.  Если вы получаете
	      сообщения о невозможности открыть дисплей, наберите
	      <command>setenv HOME ~<replaceable>USER</replaceable></command>,
	      где <replaceable>USER</replaceable>&nbsp;&ndash; пользователь, от
	      имени которого выполнена команда &man.su.1;.</para>
	  </tip>
	</step>

	<step>
	  <para>
................................................................................
      <para>Если вы хотите использовать интеллектуальный агент (intelligent
	agent), придется также установить пакет TCL от Red Hat:
	<filename>tcl-8.0.3-20.i386.rpm</filename>.  Универсальная команда
	для установки пакетов с помощью официального порта
	<application>RPM</application>
	(<package>archivers/rpm</package>):</para>

      <screen>&prompt.root; <userinput>rpm -i --ignoreos --root /compat/linux --dbpath /var/lib/rpm <replaceable>пакет</replaceable></userinput></screen>

      <para>Установка этого <replaceable>пакета</replaceable> должна
	пройти без каких-либо ошибок.</para>
    </sect2>

    <sect2>
      <title>Создание среды &oracle;</title>
................................................................................

	<para>Сначала мы установим владельцев и права для ряда каталогов (от
	  имени пользователя <systemitem class="username">root</systemitem>):</para>

	<screen>&prompt.root; <userinput>chmod 775 /oracle</userinput>
&prompt.root; <userinput>chmod 777 /sapmnt</userinput>
&prompt.root; <userinput>chown root:dba /oracle</userinput>
&prompt.root; <userinput>chown <replaceable>sid</replaceable>adm:sapsys /compat/linux/usr/sap</userinput>
&prompt.root; <userinput>chmod 775 /compat/linux/usr/sap</userinput></screen>

	<para>Затем, мы создадим каталоги от имени пользователя
	  <systemitem class="username">ora<replaceable>sid</replaceable></systemitem>.  Все они
	  будут размещены в каталоге
	  <filename>/oracle/<replaceable>SID</replaceable></filename>:</para>

	<screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput>
&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput>
&prompt.root; <userinput>mkdir mirrlogA mirrlogB origlogA origlogB</userinput>
&prompt.root; <userinput>mkdir sapdata1 sapdata2 sapdata3 sapdata4 sapdata5 sapdata6</userinput>
&prompt.root; <userinput>mkdir saparch sapreorg</userinput>
&prompt.root; <userinput>exit</userinput></screen>

	<para>Для установки <application>&oracle; 8.1.7</application>
	  потребуется несколько дополнительных каталогов:</para>

	<screen>&prompt.root; <userinput>su - ora<replaceable>sid</replaceable></userinput>
&prompt.root; <userinput>cd /oracle</userinput>
&prompt.root; <userinput>mkdir 805_32</userinput>
&prompt.root; <userinput>mkdir client stage</userinput>
&prompt.root; <userinput>mkdir client/80x_32</userinput>
&prompt.root; <userinput>mkdir stage/817_32</userinput>
&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable></userinput>
&prompt.root; <userinput>mkdir 817_32</userinput></screen>

	<note><para>Каталог <filename>client/80x_32</filename> должен иметь
	  точно такое имя. Не заменяйте <emphasis>x</emphasis> числом или
	  другим символом.</para></note>

	<para>На третьем шаге мы создаем каталоги от имени пользователя
	  <systemitem class="username"><replaceable>sid</replaceable>adm</systemitem>:</para>

	<screen>&prompt.root; <userinput>su - <replaceable>sid</replaceable>adm</userinput>
&prompt.root; <userinput>cd /usr/sap</userinput>
&prompt.root; <userinput>mkdir <replaceable>SID</replaceable></userinput>
&prompt.root; <userinput>mkdir trans</userinput>
&prompt.root; <userinput>exit</userinput></screen>
      </sect3>

      <sect3 xml:id="entriesinslashetcslashservices">
	<title>Записи в файле <filename>/etc/services</filename></title>

................................................................................
	  <filename>DISK3</filename>, <filename>DISK4</filename> и
	  <filename>LANG</filename> для установки 4.6C SR2.  Все имена
	  файлов на смонтированных дисках должны быть в верхнем регистре,
	  в противном случае, используйте при монтировании опцию
	  <option>-g</option>.  Поэтому используйте следующие команды:</para>

	<screen>&prompt.root; <userinput>mount_cd9660 -g /dev/cd0a /mnt</userinput>
&prompt.root; <userinput>cp -R /mnt/* /oracle/<replaceable>SID</replaceable>/sapreorg/имя_cd</userinput>
&prompt.root; <userinput>umount /mnt</userinput></screen>
      </sect3>

      <sect3 xml:id="runningtheinstall-script">
	<title>Запуск скрипта установки</title>

	<para>Сначала надо подготовить каталог <filename>install</filename>:</para>

	<screen>&prompt.root; <userinput>cd /oracle/<replaceable>SID</replaceable>/sapreorg</userinput>
&prompt.root; <userinput>mkdir install</userinput>
&prompt.root; <userinput>cd install</userinput></screen>

	<para>Затем запускается скрипт установки, который скопирует почти
	  все необходимые файлы в каталог
	  <filename>install</filename>:</para>

	<screen>&prompt.root; <userinput>/oracle/<replaceable>SID</replaceable>/sapreorg/KERNEL/UNIX/INSTTOOL.SH</userinput></screen>

	<para>Дистрибутив IDES (4.6B) включает полностью настроенную
	  демонстрационную систему &sap.r3;, поэтому он включает шесть
	  дисков EXPORT CD, а не три.  В этот момент шаблон установки
	  <filename>CENTRDB.R3S</filename> предназначен для установки
	  стандартного центрального экземпляра
	  (<application>&r3;</application> и базы данных), а не для
................................................................................
      </sect3>
    </sect2>

    <sect2 xml:id="installingoracle817">
      <title>Установка tar-архива &oracle; 8.1.7 для Linux</title>
      <para>Создайте tar-архив <filename>oracle81732.tgz</filename>
	каталога установки на Linux-системе и разархивируйте его в
	каталог <filename>/oracle/<replaceable>SID</replaceable>/817_32/</filename>.</para>
    </sect2>

    <sect2 xml:id="continuewithsapr4installation">
      <title>Продолжение установки &sap.r3;</title>

      <para>Сначала проверьте настройку среды для пользователей
	<systemitem class="username">idsamd</systemitem> (<replaceable>sid</replaceable>adm) и
................................................................................

	<para>Эти и другие шаги, которые надо выполнить после установки,
	  подробно описаны в руководствах по установке
	  <application>&sap;</application>.</para>
      </sect3>

      <sect3 xml:id="editintsidsap">
	<title>Редактирование <filename>init<replaceable>sid</replaceable>.sap</filename> (<filename>initIDS.sap</filename>)</title>

	<para>Файл <filename>/oracle/IDS/dbs/initIDS.sap</filename>
	  содержит профиль резервного копирования
	  <application>&sap;</application>.  Здесь надо задать размер
	  используемой ленты, тип сжатия и т.д.  Чтобы можно было
	  использовать <command>sapdba</command> /
	  <command>brbackup</command>, мы изменили следующие значения:</para>
................................................................................
	  выполняющие грязную работу по запуску всех остальных процессов
	  <application>&sap;</application>. В результате, сам скрипт
	  не получит уведомления, если что-то пойдет не так.</para>

	<para>Чтобы проверить, нормально ли запустились процессы
	  <application>&sap;</application>, посмотрите на состояние
	  процессов с помощью команды <command>ps ax |
	  grep <replaceable>SID</replaceable></command>, которая выдаст
	  список всех процессов <application>&oracle;</application> и
	  <application>&sap;</application>.  Если похоже, что некоторых
	  процессов не хватает или вы не можете подключиться к системе
	  <application>&sap;</application>, просмотрите соответствующие
	  журнальные файлы, которые можно найти в каталоге
	  <filename>/usr/sap/<replaceable>SID</replaceable>/DVEBMGS<replaceable>nr</replaceable>/work/</filename>.
	  Надо просматривать файлы <filename>dev_ms</filename> и
	  <filename>dev_disp</filename>.</para>

	<para>Сигнал 31 выдается, если объем памяти, совместно используемой
	  <application>&oracle;</application> и
	  <application>&sap;</application>, превосходит заданный в файле
	  конфигурации ядра, и от него можно избавиться, указав большее
................................................................................
	системных вызовов Linux, а не FreeBSD.</para>

      <para>Плюс ко всему, в Linux&ndash;режиме динамически <quote>изменяется
	корень</quote> файловой системы при поиске файлов; фактически
	так же, как и параметр <literal>union</literal> при монтировании
	файловых систем (не путать с <literal>unionfs</literal>!).
	Сперва, файл ищется в каталоге
	<filename>/compat/linux/<replaceable>исходное_полное_имя</replaceable></filename>
	и только затем, в случае неудачи, в
	<filename>/<replaceable>исходное_полное_имя</replaceable></filename>.
	Это гарантирует, что программы, которым требуются другие программы,
	смогут работать (например, весь набор инструментальных средств Linux
	сможет работать в среде поддержки Linux ABI).  Это также дает
	возможность Linux программам выполнять FreeBSD команды, если не
	найдется соответствующих Linux команд.  Например, можно скопировать
	FreeBSD &man.uname.1; в дерево каталогов
	<filename>/compat/linux</filename>, и Linux-программы не смогут

Changes to ru_RU.KOI8-R/books/handbook/mac/chapter.xml.

789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
...
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885

	<listitem>
	  <para>
	    <literal>security.mac.seeotheruids.specificgid_enabled</literal>
	    позволит исключить определенные группы из этой политики.
	    Для исключения определенной группы, используйте переменную
	    <command>sysctl</command>
	    <literal>security.mac.seeotheruids.specificgid=XXX</literal>.
	    В примере выше необходимо заменить <replaceable>XXX</replaceable>
	    на числовой ID группы.</para>
	</listitem>

	<listitem>
	  <para>
	    <literal>security.mac.seeotheruids.primarygroup_enabled</literal>
................................................................................
	  <parameter>set</parameter>.  Пример дан ниже.</para></note>

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

      <screen>&prompt.root; <userinput>ugidfw set 2 subject uid user1 object uid user2 mode n</userinput>
&prompt.root; <userinput>ugidfw set 3 subject uid user1 object gid user2 mode n</userinput></screen>

      <para>Эти команды запретят весь и любой доступ пользователя
	<systemitem class="username">user1</systemitem>, включая просмотр подкаталогов, к
	домашнему каталогу пользователя
	<systemitem class="username"><replaceable>user2</replaceable></systemitem>.</para>

      <para>Вместо <systemitem class="username">user1</systemitem> может быть задано







|







 







|
|







789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
...
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885

	<listitem>
	  <para>
	    <literal>security.mac.seeotheruids.specificgid_enabled</literal>
	    позволит исключить определенные группы из этой политики.
	    Для исключения определенной группы, используйте переменную
	    <command>sysctl</command>
	    <literal>security.mac.seeotheruids.specificgid=<replaceable>XXX</replaceable></literal>.
	    В примере выше необходимо заменить <replaceable>XXX</replaceable>
	    на числовой ID группы.</para>
	</listitem>

	<listitem>
	  <para>
	    <literal>security.mac.seeotheruids.primarygroup_enabled</literal>
................................................................................
	  <parameter>set</parameter>.  Пример дан ниже.</para></note>

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

      <screen>&prompt.root; <userinput>ugidfw set 2 subject uid <replaceable>user1</replaceable> object uid <replaceable>user2</replaceable> mode n</userinput>
&prompt.root; <userinput>ugidfw set 3 subject uid <replaceable>user1</replaceable> object gid <replaceable>user2</replaceable> mode n</userinput></screen>

      <para>Эти команды запретят весь и любой доступ пользователя
	<systemitem class="username">user1</systemitem>, включая просмотр подкаталогов, к
	домашнему каталогу пользователя
	<systemitem class="username"><replaceable>user2</replaceable></systemitem>.</para>

      <para>Вместо <systemitem class="username">user1</systemitem> может быть задано

Changes to ru_RU.KOI8-R/books/handbook/mirrors/chapter.xml.

1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
....
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
....
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322

	<para>Файл <filename>refuse</filename> говорит
	  <application>CVSup</application>, что он не должен забирать каждый
	  файл из коллекции; другими словами, он говорит клиенту
	  <emphasis>отказаться</emphasis> (refuse) от получения с сервера
	  определенных файлов.  Файл <filename>refuse</filename> можно найти
	  (или, если у вас его еще нет, должен быть помещен) в
	  <filename>base/sup/</filename>.
	  <replaceable>base</replaceable> определен в файле
	  <filename>supfile</filename>; наше стандартное расположение
	  <replaceable>base</replaceable> это
	  <filename>/var/db</filename>, что означает, что по
	  умолчанию файл <filename>refuse</filename> это
	  <filename>/var/db/sup/refuse</filename>.</para>

................................................................................

    <sect2>
      <title>Запуск <application>CVSup</application></title>

      <para>Теперь вы готовы к тестированию обновления.  Командная строка для
	этого очень проста:</para>

      <screen>&prompt.root; <userinput>cvsup supfile</userinput></screen>

      <para>где <filename>supfile</filename>
	это конечно имя <filename>supfile</filename>, который только что
	был создан.  При запуске под X11, <command>cvsup</command>
	отобразит GUI интерфейс с несколькими полезными кнопками. Нажмите
	кнопку <guibutton>go</guibutton> и смотрите за его работой.</para>

      <para>Поскольку в этом примере обновляется существующее дерево
	<filename>/usr/src</filename> вам потребуется, запуск программы
................................................................................
	работать под <systemitem class="username">root</systemitem> для выполнения пробного
	обновления.</para>

      <para>Если вы не работаете с X11 или просто не любите GUI, добавьте
	набор параметров командной строки при запуске
	<command>cvsup</command>:</para>

      <screen>&prompt.root; <userinput>cvsup -g -L 2 supfile</userinput></screen>

      <para>Параметр <option>-g</option> указывает
	<application>CVSup</application> не использовать GUI.  Он действует
	автоматически, если вы не работаете под X11, но иначе вам потребуется
	его указать.</para>

      <para>Параметр <option>-L 2</option> указывает







|







 







|

|







 







|







1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
....
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
....
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322

	<para>Файл <filename>refuse</filename> говорит
	  <application>CVSup</application>, что он не должен забирать каждый
	  файл из коллекции; другими словами, он говорит клиенту
	  <emphasis>отказаться</emphasis> (refuse) от получения с сервера
	  определенных файлов.  Файл <filename>refuse</filename> можно найти
	  (или, если у вас его еще нет, должен быть помещен) в
	  <filename><replaceable>base</replaceable>/sup/</filename>.
	  <replaceable>base</replaceable> определен в файле
	  <filename>supfile</filename>; наше стандартное расположение
	  <replaceable>base</replaceable> это
	  <filename>/var/db</filename>, что означает, что по
	  умолчанию файл <filename>refuse</filename> это
	  <filename>/var/db/sup/refuse</filename>.</para>

................................................................................

    <sect2>
      <title>Запуск <application>CVSup</application></title>

      <para>Теперь вы готовы к тестированию обновления.  Командная строка для
	этого очень проста:</para>

      <screen>&prompt.root; <userinput>cvsup <replaceable>supfile</replaceable></userinput></screen>

      <para>где <filename><replaceable>supfile</replaceable></filename>
	это конечно имя <filename>supfile</filename>, который только что
	был создан.  При запуске под X11, <command>cvsup</command>
	отобразит GUI интерфейс с несколькими полезными кнопками. Нажмите
	кнопку <guibutton>go</guibutton> и смотрите за его работой.</para>

      <para>Поскольку в этом примере обновляется существующее дерево
	<filename>/usr/src</filename> вам потребуется, запуск программы
................................................................................
	работать под <systemitem class="username">root</systemitem> для выполнения пробного
	обновления.</para>

      <para>Если вы не работаете с X11 или просто не любите GUI, добавьте
	набор параметров командной строки при запуске
	<command>cvsup</command>:</para>

      <screen>&prompt.root; <userinput>cvsup -g -L 2 <replaceable>supfile</replaceable></userinput></screen>

      <para>Параметр <option>-g</option> указывает
	<application>CVSup</application> не использовать GUI.  Он действует
	автоматически, если вы не работаете под X11, но иначе вам потребуется
	его указать.</para>

      <para>Параметр <option>-L 2</option> указывает

Changes to ru_RU.KOI8-R/books/handbook/multimedia/chapter.xml.

281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
...
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
...
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
...
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
...
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
...
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
....
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
....
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
....
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
      более дружественный
      пользователю интерфейс.  Вы можете также установить
      приложения для прослушивания звуковых файлов MP3, как например
      <package>audio/mpg123</package>.  Быстрым способом
      тестирования звуковой карты является отправка данных в
      файл <filename>/dev/dsp</filename>, как показано здесь:</para>

    <screen>&prompt.user; <userinput>cat filename &gt; /dev/dsp</userinput></screen>

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

    <para>Уровни громкости звука могут быть изменены командой &man.mixer.8;.
................................................................................
      <para>Порт <package>audio/mpg123</package> является
	альтернативой, это MP3-проигрыватель для командной строки.</para>

      <para><application>mpg123</application> может быть запущен с указанием
	звукового устройства и файла MP3 в командной строке как показано
	ниже:</para>

      <screen>&prompt.root; <userinput>mpg123 -a /dev/dsp1.0 Foobar-GreatestHits.mp3</userinput>
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!


Playing MPEG stream from Foobar-GreatestHits.mp3 ...
................................................................................
	связанной информации.</para>

      <para>Когда музыкальный CD находится в приводе, следующая команда может
	быть выполнена под <systemitem class="username">root</systemitem> для того,
	чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV
	файлы:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -B</userinput></screen>

      <para><application>cdda2wav</application> поддерживает ATAPI (IDE)
	приводы CDROM. Для копирования с IDE привода, укажите имя устройства
	вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую
	аудио дорожку с IDE-привода:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D /dev/acd0 -t 7</userinput></screen>

      <para>Параметр <option>-D <replaceable>0,1,0</replaceable></option>
	указывает устройство SCSI <filename>0,1,0</filename>,
	соответственно результату работы <command>cdrecord
	-scanbus</command>.</para>

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

      <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -t 7</userinput></screen>

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

      <screen>&prompt.root; <userinput>cdda2wav -D 0,1,0 -t 1+7</userinput></screen>

      <para>Утилита &man.dd.1; также может быть использована для копирования
	аудио дорожек на приводах ATAPI, для того, чтобы узнать больше об этом,
	прочитайте <xref linkend="duplicating-audiocds"/>.</para>

    </sect2>

................................................................................
	<application>Lame</application> находится в дереве портов в подкаталоге
	<package>audio/lame</package>.</para>

      <para>Используя скопированные файлы WAV, следующая команда преобразует
	<filename>audio01.wav</filename> в
	<filename>audio01.mp3</filename>:</para>

      <screen>&prompt.root; <userinput>lame -h -b 128 \
--tt "Foo Song Title" \
--ta "FooBar Artist" \
--tl "FooBar Album" \
--ty "2001" \
--tc "Ripped and encoded by Foo" \
--tg "Genre" \
audio01.wav audio01.mp3</userinput></screen>

      <para>Частота 128&nbsp;килобит является стандартом "де факто" для MP3. Многие,
	однако, используют более высокие частоты для получения лучшего
	качества, 160 или 192 килобита. Чем выше частота, тем больше дискового
	пространства будет занимать получаемый MP3, но качество будет выше.
	Параметр <option>-h</option> включает режим <quote>лучшее качество, но
	меньше скорость</quote>. Параметры, начинающиеся с <option>--t</option>
................................................................................
	</step>
      </procedure>

      <para>Запись в stdout в <application>mpg123</application>:</para>

      <procedure>
	<step>
	  <para>Запустите <command>mpg123 -s audio01.mp3 &gt; audio01.pcm</command></para>
	</step>
      </procedure>

      <para><application>XMMS</application> записывает файл в формате WAV, в то
	время как <application>mpg123</application> преобразовывает MP3 в
	простые аудио данные PCM. Оба формата могут быть использованы
	<application>cdrecord</application> для создания музыкальных
................................................................................
	небольшой щелчок в начале каждой аудио дорожки, этот щелчок - заголовок
	файла в формате WAV. Вы очень просто можете избавиться от него путём
	удаления заголовка WAV при помощи утилиты
	<application>SoX</application> (она может быть установлена из порта
	<package>audio/sox</package> или соответствующего
	пакета:</para>

	<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 track.wav track.raw</userinput></screen>

      <para>Прочтите <xref linkend="creating-cds"/> для того, чтобы узнать
	больше о записи CD в FreeBSD.</para>
    </sect2>
  </sect1>

  <sect1 xml:id="video-playback">
................................................................................

    <para>Параметры для <command>mplayer</command> перечислены в страничке
      руководства mplayer.  За более подробной информацией вы можете обратиться
      к документации в формате HTML. В этом разделе мы опишем несколько самых
      распространённых случаев использования mplayer.</para>

    <para>Для того, чтобы воспроизвести файл, например
      <filename>testfile.avi</filename> через один из многих видеоинтерфейсов,
      используйте параметр <option>-vo</option>:</para>

      <screen>&prompt.user; <userinput>mplayer -vo xv testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo sdl testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo x11 testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo dga testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' testfile.avi</userinput></screen>
................................................................................
      производительность зависит от множества факторов и будет заметно меняться
      в зависимости от аппаратного обеспечения.</para>

    <para>Для того, чтобы воспроизвести DVD, замените
      <filename>testfile.avi</filename> на <option>dvd://<replaceable>N</replaceable> -dvd-device
      <replaceable>DEVICE</replaceable></option>, где <replaceable>N</replaceable> является номером
      дорожки, с которой следует начать воспроизведение и
      <filename>DEVICE</filename> файл устройства
      привода DVD. Например, для того, чтобы воспроизвести дорожку 3 с
      <filename>/dev/dvd</filename>:</para>


    <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>

    <note>
................................................................................
	к файлу устройства, обслуживающему сканер.  В нашем примере
	USB сканер использует устройство <filename>/dev/uscanner0</filename>,
	принадлежащее группе <systemitem class="groupname">operator</systemitem>.
	Добавление пользователя <systemitem class="username">joe</systemitem> в группу
	<systemitem class="groupname">operator</systemitem> разрешит ему использовать сканер:
      </para>

      <screen>&prompt.root; <userinput>pw groupmod operator -m joe</userinput></screen>

      <para>За подробностями обращайтесь к странице справочника &man.pw.8;.
	Вам также потребуется установить нужные права доступа (0660 или 0664)
	к устройству <filename>/dev/uscanner0</filename>, поскольку по
	умолчанию группа <systemitem class="groupname">operator</systemitem> может лишь
	читать из него.  Это достигается добавлением следующей строки
	в файл <filename>/etc/devfs.rules</filename>:</para>







|







 







|







 







|






|









|





|







 







|
|
|
|
|
|
|
|







 







|







 







|







 







|







 







|







 







|







281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
...
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
...
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
...
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
...
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
...
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
....
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
....
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
....
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
      более дружественный
      пользователю интерфейс.  Вы можете также установить
      приложения для прослушивания звуковых файлов MP3, как например
      <package>audio/mpg123</package>.  Быстрым способом
      тестирования звуковой карты является отправка данных в
      файл <filename>/dev/dsp</filename>, как показано здесь:</para>

    <screen>&prompt.user; <userinput>cat <replaceable>filename</replaceable> &gt; /dev/dsp</userinput></screen>

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

    <para>Уровни громкости звука могут быть изменены командой &man.mixer.8;.
................................................................................
      <para>Порт <package>audio/mpg123</package> является
	альтернативой, это MP3-проигрыватель для командной строки.</para>

      <para><application>mpg123</application> может быть запущен с указанием
	звукового устройства и файла MP3 в командной строке как показано
	ниже:</para>

      <screen>&prompt.root; <userinput>mpg123 -a <replaceable>/dev/dsp1.0</replaceable> Foobar-GreatestHits.mp3</userinput>
High Performance MPEG 1.0/2.0/2.5 Audio Player for Layer 1, 2 and 3.
Version 0.59r (1999/Jun/15). Written and copyrights by Michael Hipp.
Uses code from various people. See 'README' for more!
THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!


Playing MPEG stream from Foobar-GreatestHits.mp3 ...
................................................................................
	связанной информации.</para>

      <para>Когда музыкальный CD находится в приводе, следующая команда может
	быть выполнена под <systemitem class="username">root</systemitem> для того,
	чтобы скопировать весь CD в отдельные (один на каждую дорожку) WAV
	файлы:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -B</userinput></screen>

      <para><application>cdda2wav</application> поддерживает ATAPI (IDE)
	приводы CDROM. Для копирования с IDE привода, укажите имя устройства
	вместо номеров SCSI. Например, для того, чтобы скопировать 7-ую
	аудио дорожку с IDE-привода:</para>

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>/dev/acd0</replaceable> -t 7</userinput></screen>

      <para>Параметр <option>-D <replaceable>0,1,0</replaceable></option>
	указывает устройство SCSI <filename>0,1,0</filename>,
	соответственно результату работы <command>cdrecord
	-scanbus</command>.</para>

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

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 7</userinput></screen>

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

      <screen>&prompt.root; <userinput>cdda2wav -D <replaceable>0,1,0</replaceable> -t 1+7</userinput></screen>

      <para>Утилита &man.dd.1; также может быть использована для копирования
	аудио дорожек на приводах ATAPI, для того, чтобы узнать больше об этом,
	прочитайте <xref linkend="duplicating-audiocds"/>.</para>

    </sect2>

................................................................................
	<application>Lame</application> находится в дереве портов в подкаталоге
	<package>audio/lame</package>.</para>

      <para>Используя скопированные файлы WAV, следующая команда преобразует
	<filename>audio01.wav</filename> в
	<filename>audio01.mp3</filename>:</para>

      <screen>&prompt.root; <userinput>lame -h -b <replaceable>128</replaceable> \
--tt "<replaceable>Foo Song Title</replaceable>" \
--ta "<replaceable>FooBar Artist</replaceable>" \
--tl "<replaceable>FooBar Album</replaceable>" \
--ty "<replaceable>2001</replaceable>" \
--tc "<replaceable>Ripped and encoded by Foo</replaceable>" \
--tg "<replaceable>Genre</replaceable>" \
<replaceable>audio01.wav audio01.mp3</replaceable></userinput></screen>

      <para>Частота 128&nbsp;килобит является стандартом "де факто" для MP3. Многие,
	однако, используют более высокие частоты для получения лучшего
	качества, 160 или 192 килобита. Чем выше частота, тем больше дискового
	пространства будет занимать получаемый MP3, но качество будет выше.
	Параметр <option>-h</option> включает режим <quote>лучшее качество, но
	меньше скорость</quote>. Параметры, начинающиеся с <option>--t</option>
................................................................................
	</step>
      </procedure>

      <para>Запись в stdout в <application>mpg123</application>:</para>

      <procedure>
	<step>
	  <para>Запустите <command>mpg123 -s <replaceable>audio01.mp3</replaceable> &gt; audio01.pcm</command></para>
	</step>
      </procedure>

      <para><application>XMMS</application> записывает файл в формате WAV, в то
	время как <application>mpg123</application> преобразовывает MP3 в
	простые аудио данные PCM. Оба формата могут быть использованы
	<application>cdrecord</application> для создания музыкальных
................................................................................
	небольшой щелчок в начале каждой аудио дорожки, этот щелчок - заголовок
	файла в формате WAV. Вы очень просто можете избавиться от него путём
	удаления заголовка WAV при помощи утилиты
	<application>SoX</application> (она может быть установлена из порта
	<package>audio/sox</package> или соответствующего
	пакета:</para>

	<screen>&prompt.user; <userinput>sox -t wav -r 44100 -s -w -c 2 <replaceable>track.wav track.raw</replaceable></userinput></screen>

      <para>Прочтите <xref linkend="creating-cds"/> для того, чтобы узнать
	больше о записи CD в FreeBSD.</para>
    </sect2>
  </sect1>

  <sect1 xml:id="video-playback">
................................................................................

    <para>Параметры для <command>mplayer</command> перечислены в страничке
      руководства mplayer.  За более подробной информацией вы можете обратиться
      к документации в формате HTML. В этом разделе мы опишем несколько самых
      распространённых случаев использования mplayer.</para>

    <para>Для того, чтобы воспроизвести файл, например
      <filename><replaceable>testfile.avi</replaceable></filename> через один из многих видеоинтерфейсов,
      используйте параметр <option>-vo</option>:</para>

      <screen>&prompt.user; <userinput>mplayer -vo xv testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo sdl testfile.avi</userinput></screen>
      <screen>&prompt.user; <userinput>mplayer -vo x11 testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo dga testfile.avi</userinput></screen>
      <screen>&prompt.root; <userinput>mplayer -vo 'sdl:dga' testfile.avi</userinput></screen>
................................................................................
      производительность зависит от множества факторов и будет заметно меняться
      в зависимости от аппаратного обеспечения.</para>

    <para>Для того, чтобы воспроизвести DVD, замените
      <filename>testfile.avi</filename> на <option>dvd://<replaceable>N</replaceable> -dvd-device
      <replaceable>DEVICE</replaceable></option>, где <replaceable>N</replaceable> является номером
      дорожки, с которой следует начать воспроизведение и
      <filename><replaceable>DEVICE</replaceable></filename> файл устройства
      привода DVD. Например, для того, чтобы воспроизвести дорожку 3 с
      <filename>/dev/dvd</filename>:</para>


    <screen>&prompt.root; <userinput>mplayer -vo xv dvd://3 -dvd-device /dev/dvd</userinput></screen>

    <note>
................................................................................
	к файлу устройства, обслуживающему сканер.  В нашем примере
	USB сканер использует устройство <filename>/dev/uscanner0</filename>,
	принадлежащее группе <systemitem class="groupname">operator</systemitem>.
	Добавление пользователя <systemitem class="username">joe</systemitem> в группу
	<systemitem class="groupname">operator</systemitem> разрешит ему использовать сканер:
      </para>

      <screen>&prompt.root; <userinput>pw groupmod operator -m <replaceable>joe</replaceable></userinput></screen>

      <para>За подробностями обращайтесь к странице справочника &man.pw.8;.
	Вам также потребуется установить нужные права доступа (0660 или 0664)
	к устройству <filename>/dev/uscanner0</filename>, поскольку по
	умолчанию группа <systemitem class="groupname">operator</systemitem> может лишь
	читать из него.  Это достигается добавлением следующей строки
	в файл <filename>/etc/devfs.rules</filename>:</para>

Changes to ru_RU.KOI8-R/books/handbook/network-servers/chapter.xml.

1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
....
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
....
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
....
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
....
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
....
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
      файл <filename>passwd</filename> на главном сервере NIS содержит
      учетные записи как для работников факультета, так и студентов.  Что мы
      можем сделать?</para>

    <para>Есть способ ограничить вход некоторых пользователей на этой машине,
      даже если они присутствуют в базе данных NIS.  Чтобы это сделать, вам
      достаточно добавить
      <literal>-username</literal> в конец файла
      <filename>/etc/master.passwd</filename> на клиентской машине, где
      <replaceable>username</replaceable> является именем пользователя,
      которому вы хотите запретить вход.  Рекомендуется сделать это с помощью
      утилиты <command>vipw</command>, так как <command>vipw</command>
      проверит ваши изменения в <filename>/etc/master.passwd</filename>, а
      также автоматически перестроит базу данных паролей по окончании
      редактирования.  Например, если мы хотим запретить пользователю
................................................................................
      </tbody>
      </tgroup>
      </informaltable>

      <para>Если вы попытаетесь реализовать эти требования, ограничивая
	каждого пользователя по отдельности, то вам придется добавить на каждой
	машине в файл <filename>passwd</filename> по одной строчке
	<literal>-user</literal> для каждого пользователя, которому
	запрещено входить на эту систему.  Если вы забудете даже одну строчку,
	у вас могут начаться проблемы.	Гораздо проще делать это правильно во
	время начальной установки, однако вы постепенно <emphasis>будете
	забывать</emphasis> добавлять строчки для новых пользователей во время
	повседневной работы.  В конце концов, Мерфи был оптимистом.</para>

      <para>Использование в этой ситуации сетевых групп дает несколько
................................................................................
	сетевой группе <literal>IT_EMP</literal>, импортируются в
	базу паролей машины <systemitem>war</systemitem> и только этим
	пользователям будет разрешен вход.</para>

      <para>К сожалению, это ограничение также касается и функции <literal>~</literal> командного
	процессора и всех подпрограмм, выполняющих преобразование между
	именами пользователей и их числовыми ID.  Другими
	словами, команда <command>cd ~user</command>
	работать не будет, команда <command>ls -l</command> будет выдавать
	числовые идентификаторы вместо имён пользователей, а
	<command>find . -user joe -print</command> работать откажется, выдавая
	сообщение <errorname>No such user</errorname>.  Чтобы это исправить,
	вам нужно будет выполнить импорт всех записей о пользователях
	<emphasis>без разрешения на вход на ваши серверы</emphasis>.</para>

................................................................................

      <programlisting>named_enable="YES"</programlisting>

      <para>Разумеется, существует множество различных конфигураций
	<filename>/etc/namedb/named.conf</filename>, лежащих за рамками
	данного документа.  Разнообразные опции запуска
	<application>named</application> во &os; описаны в переменных
	<literal>named_*</literal> файла
	<filename>/etc/defaults/rc.conf</filename> и странице справочника
	&man.rc.conf.5;.  Кроме того, полезной может оказаться
	<xref linkend="configtuning-rcd"/>.</para>
    </sect2>

    <sect2>
      <title>Конфигурационные файлы</title>
................................................................................
; Aliases
www             IN      CNAME   example.org.</programlisting>

      <para>Заметьте, что все имена хостов, оканчивающиеся на <quote>.</quote>,
	задают полное имя, тогда как все имена без символа <quote>.</quote> на
	конце считаются заданными относительно origin.  Например,
        <literal>ns1</literal> преобразуется в
        <literal>ns1.example.org.</literal></para>

      <para>Файл зоны имеет следующий формат:</para>

      <programlisting>recordname      IN recordtype  value</programlisting>

      <indexterm>
	<primary>DNS</primary>
................................................................................
	<screen>&prompt.root; <userinput>smbpasswd -a username</userinput></screen>

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

	  <screen>&prompt.root; <userinput>pdbedit -a -u username</userinput></screen>
	</note>

	<para>Пожалуйста, обратитесь к <link xlink:href="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">Official Samba HOWTO</link>
	  за дополнительной информацией о параметрах настройки.
	  Основные настройки, рассмотренные здесь, достаточны для
	  первого запуска <application>Samba</application>.</para>
      </sect3>







|







 







|







 







|







 







|







 







|







 







|







1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
....
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
....
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
....
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
....
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
....
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
      файл <filename>passwd</filename> на главном сервере NIS содержит
      учетные записи как для работников факультета, так и студентов.  Что мы
      можем сделать?</para>

    <para>Есть способ ограничить вход некоторых пользователей на этой машине,
      даже если они присутствуют в базе данных NIS.  Чтобы это сделать, вам
      достаточно добавить
      <literal>-<replaceable>username</replaceable></literal> в конец файла
      <filename>/etc/master.passwd</filename> на клиентской машине, где
      <replaceable>username</replaceable> является именем пользователя,
      которому вы хотите запретить вход.  Рекомендуется сделать это с помощью
      утилиты <command>vipw</command>, так как <command>vipw</command>
      проверит ваши изменения в <filename>/etc/master.passwd</filename>, а
      также автоматически перестроит базу данных паролей по окончании
      редактирования.  Например, если мы хотим запретить пользователю
................................................................................
      </tbody>
      </tgroup>
      </informaltable>

      <para>Если вы попытаетесь реализовать эти требования, ограничивая
	каждого пользователя по отдельности, то вам придется добавить на каждой
	машине в файл <filename>passwd</filename> по одной строчке
	<literal>-<replaceable>user</replaceable></literal> для каждого пользователя, которому
	запрещено входить на эту систему.  Если вы забудете даже одну строчку,
	у вас могут начаться проблемы.	Гораздо проще делать это правильно во
	время начальной установки, однако вы постепенно <emphasis>будете
	забывать</emphasis> добавлять строчки для новых пользователей во время
	повседневной работы.  В конце концов, Мерфи был оптимистом.</para>

      <para>Использование в этой ситуации сетевых групп дает несколько
................................................................................
	сетевой группе <literal>IT_EMP</literal>, импортируются в
	базу паролей машины <systemitem>war</systemitem> и только этим
	пользователям будет разрешен вход.</para>

      <para>К сожалению, это ограничение также касается и функции <literal>~</literal> командного
	процессора и всех подпрограмм, выполняющих преобразование между
	именами пользователей и их числовыми ID.  Другими
	словами, команда <command>cd ~<replaceable>user</replaceable></command>
	работать не будет, команда <command>ls -l</command> будет выдавать
	числовые идентификаторы вместо имён пользователей, а
	<command>find . -user joe -print</command> работать откажется, выдавая
	сообщение <errorname>No such user</errorname>.  Чтобы это исправить,
	вам нужно будет выполнить импорт всех записей о пользователях
	<emphasis>без разрешения на вход на ваши серверы</emphasis>.</para>

................................................................................

      <programlisting>named_enable="YES"</programlisting>

      <para>Разумеется, существует множество различных конфигураций
	<filename>/etc/namedb/named.conf</filename>, лежащих за рамками
	данного документа.  Разнообразные опции запуска
	<application>named</application> во &os; описаны в переменных
	<literal>named_<replaceable>*</replaceable></literal> файла
	<filename>/etc/defaults/rc.conf</filename> и странице справочника
	&man.rc.conf.5;.  Кроме того, полезной может оказаться
	<xref linkend="configtuning-rcd"/>.</para>
    </sect2>

    <sect2>
      <title>Конфигурационные файлы</title>
................................................................................
; Aliases
www             IN      CNAME   example.org.</programlisting>

      <para>Заметьте, что все имена хостов, оканчивающиеся на <quote>.</quote>,
	задают полное имя, тогда как все имена без символа <quote>.</quote> на
	конце считаются заданными относительно origin.  Например,
        <literal>ns1</literal> преобразуется в
        <literal>ns1.<replaceable>example.org.</replaceable></literal></para>

      <para>Файл зоны имеет следующий формат:</para>

      <programlisting>recordname      IN recordtype  value</programlisting>

      <indexterm>
	<primary>DNS</primary>
................................................................................
	<screen>&prompt.root; <userinput>smbpasswd -a username</userinput></screen>

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

	  <screen>&prompt.root; <userinput>pdbedit -a -u <replaceable>username</replaceable></userinput></screen>
	</note>

	<para>Пожалуйста, обратитесь к <link xlink:href="http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/">Official Samba HOWTO</link>
	  за дополнительной информацией о параметрах настройки.
	  Основные настройки, рассмотренные здесь, достаточны для
	  первого запуска <application>Samba</application>.</para>
      </sect3>

Changes to ru_RU.KOI8-R/books/handbook/ports/chapter.xml.

250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
...
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
...
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
...
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
...
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
...
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
...
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
...
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
...
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
...
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
...
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
...
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
....
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
....
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
....
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
....
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
....
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
....
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
	  воспользоваться сайтом типа Freecode (<uri xlink:href="http://www.freecode.com/">http://www.freecode.com/</uri>)
	  для поиска приложения, а затем возвратитесь на сайт &os;, чтобы
          проверить, есть ли порт для этого приложения.</para>
      </listitem>

      <listitem>
	<para>Если вам необходимо определить, в какой категории находится порт,
	  наберите <command>whereis file</command>,
	  где <replaceable>file</replaceable> - программа, которую вы хотите
	  установить:</para>

	<screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>

	<para>Как вариант, можно воспользоваться &man.echo.1;:</para>
................................................................................
      </listitem>

      <listitem>
	<para>Ещё одним способом поиска программного обеспечения является
	  использование встроенной возможности поиска в Коллекции Портов.
	  Чтобы ею воспользоваться, зайдите в <filename>/usr/ports</filename>
	  и выполните команду <command>make search
	  name=program-name</command>, где
	  <replaceable>program-name</replaceable> &ndash; это
	  название программы, которую вы хотите найти.  Например, если
	  вы ищете <command>lsof</command>:</para>

	<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
Port:   lsof-4.56.4
................................................................................
&prompt.root; <userinput>make quicksearch name=lsof</userinput>
Port:   lsof-4.87.a,7
Path:   /usr/ports/sysutils/lsof
Info:   Lists information about open files (similar to fstat(1))</screen>

	<para>Для выполнения более глубокого поиска используйте
	  <command>make search
	    key=string</command> или
	  <command>make quicksearch
	    key=string</command>,
	  где <replaceable>string</replaceable> представляет собой некоторый
	  текст, относящийся к искомому порту.  Текст ищется в комментариях,
	  описаниях или зависимостях.  Этот способ можно
	  использовать для поиска портов, связанных с некоторой темой, когда
	  название программы неизвестно.</para>

	<para>В обоих случаях (<buildtarget>search</buildtarget> и
................................................................................

      <para>Для установки бинарного пакета &os; из локального файла или
	с сервера в сети используйте &man.pkg.add.1;.</para>

      <example>
        <title>Загрузка пакета вручную и его локальная установка</title>

        <screen>&prompt.root; <userinput>ftp -a ftp2.FreeBSD.org</userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
................................................................................
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
<prompt>ftp&gt;</prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add lsof-4.56.4.tgz</userinput></screen>
      </example>

      <para>Если у вас нет источника пакетов, например, такого как набор
	CD-ROM дисков с &os;, то добавьте опцию <option>-r</option> для
	&man.pkg.add.1;.  Утилита автоматически определит правильный формат
	объектных файлов и релиз, а затем загрузит и установит пакет с сервера
	FTP без какого-либо дополнительного взаимодействия с
	пользователем.</para>

      <indexterm>
        <primary><command>pkg_add</command></primary>
      </indexterm>

      <screen>&prompt.root; <userinput>pkg_add -r lsof</userinput></screen>

      <para>Чтобы задействовать альтернативное зеркало пакетов &os;,
	укажите его адрес в переменной окружения <envar>PACKAGESITE</envar>.
	Для загрузки файлов утилита &man.pkg.add.1; использует &man.fetch.3;.
	Последняя учитывает значения различных переменных окружения, включая
	<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> и
	<envar>FTP_PASSWORD</envar>.  Если вы находитесь за сетевым экраном,
................................................................................

        <secondary>удаление</secondary>
      </indexterm>

      <para>Для удаления ранее установленных пакетов с программным
        обеспечением используйте утилиту &man.pkg.delete.1;.</para>

      <screen>&prompt.root; <userinput>pkg_delete xchat-1.7.1</userinput></screen>

      <para>Следует отметить, что для &man.pkg.delete.1; требуется полное
	имя пакета и номер версии; вышеприведенная команда не сработала бы,
	если б ей было указано <replaceable>xchat</replaceable> вместо
	<replaceable>xchat-1.7.1</replaceable>.  Для нахождения версии
	установленного пакета задействуйте утилиту &man.pkg.version.1;.  Или
	же, напечатайте групповой символ (wildcard) вместо номера
	версии:</para>

      <screen>&prompt.root; <userinput>pkg_delete xchat\*</userinput></screen>

      <para>в этом случае будут удалены все пакеты, имена которых начинаются
	на <literal>xchat</literal>.</para>
    </sect2>

    <sect2>
      <title>Разное</title>
................................................................................
	<para>Информация об установленных в системе пакетах может быть
	  отображена при помощи команды <command>pkg info</command>.  Подобно
	  до &man.pkg.info.1;, в выводе перечисляются версии и описания всех
	  установленных пакетов.</para>

	<para>Если необходима информация о конкретном пакете, выполните:</para>

	<screen>&prompt.root; <userinput>pkg info packagename</userinput></screen>

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

	<screen>&prompt.root; <userinput>pkg info pkg</userinput>
pkg-1.0.2			New generation package manager</screen>
      </sect3>
................................................................................

      <sect3 xml:id="pkgng-installing-deinstalling">
	<title>Установка и удаление пакетов при помощи
	  <application>pkgng</application></title>

	<para>В общем, бинарные пакеты устанавливаются при помощи:</para>

	<screen>&prompt.root; <userinput>pkg install packagename</userinput></screen>

	<para>Команда <command>pkg install</command> обращается к пакетному
	  репозиторию, это упоминалось в <xref linkend="pkgng-pkg-conf"/>.
	  Команда pkg-add(8), напротив, не выполняет обращений к пакетному
	  репозиторию, а также игнорирует переменную
	  <envar>PACKAGESITE</envar>.  Как следствие &mdash; зависимости
	  не отслеживаются, и необходимые зависимые компоненты не скачиваются
................................................................................
	  <application>pkgng</application></title>

	<para>В отличие от традиционной системы управления пакетами,
	  <application>pkgng</application> располагает своим собственным
	  механизмом резервного копирования базы данных.  Для ручного создания
	  резервной копии базы данных установленных пакетов, выполните:</para>

	<screen>&prompt.root; <userinput>pkg backup -d pkgng.db</userinput></screen>

	<note>
	  <para>Замените имя файла <replaceable>pkgng.db</replaceable> на
	    более подходящее.</para>
	</note>

	<para>В дополнение, <application>pkgng</application> содержит скрипт
................................................................................
	    переменной <literal>daily_backup_pkgdb_enable</literal> значение
	    <literal>NO</literal> в файле &man.periodic.conf.5;.</para>
	</tip>

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

	<screen>&prompt.root; <userinput>pkg backup -r /path/to/pkgng.db</userinput></screen>
      </sect3>

      <sect3 xml:id="pkgng-clean">
	<title>Удаление копий устаревших пакетов в системе
	  <application>pkgng</application></title>

	<para>По умолчанию, <application>pkgng</application> сохраняет копии
................................................................................
	<para>В отличие от
	  <package>ports-mgmt/portmaster</package> и
	  <package>ports-mgmt/portupgrade</package> для
	  портов, порядок перечисления новой и старой версий отличаются.
	  Для <application>pkgng</application> необходим следующий
	  порядок:</para>

	<screen>&prompt.root; <userinput>pkg set -o category/oldport:category/newport</userinput></screen>

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

	<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>

	<para>Еще один пример: для изменения информации о происхождении
................................................................................

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

	  <screen>&prompt.root; <userinput>pkg install -Rf graphics/freeglut</userinput></screen>
	</note>
      </sect3>
    </sect2>
  </sect1>

  <sect1 xml:id="ports-using">
    <title>Использование Коллекции Портов</title>
................................................................................
	    процесса вместо <replaceable>svn0.us-east.FreeBSD.org</replaceable>
	    укажите ближайшее к вам
	    <link xlink:href="&url.books.handbook.en;/svn-mirrors.html">зеркало
	      Subversion</link>.  Коммиттерам необходимо сначала прочитать
	    <link xlink:href="&url.articles.committers-guide.en;/subversion-primer.html">Subversion Primer</link>,
	    чтобы удостовериться, что выбран корректный протокол.</para>

	  <screen>&prompt.root; <userinput>svn checkout https://svn0.us-east.FreeBSD.org/ports/head /usr/ports</userinput></screen>
	</step>

	<step>
	  <para>При наличии рабочей копии
	    <filename>/usr/ports</filename>
	    все последующие обновления выполняются просто:</para>

................................................................................
      </note>

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

      <screen>&prompt.root; <userinput>cd /usr/ports/directory</userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>

      <para>В этом примере значение переменной <varname>MASTER_SITES</varname>
	изменено на <systemitem class="fqdomainname">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</systemitem>.</para>

      <note>
................................................................................
	  флаг <option>-i</option> если вы желаете получать запрос
	  на каждый обновляемый порт.</para>

	<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>

	<para>Для обновления конкретного приложения, а не всех
	  установленных портов, запустите <command>portupgrade
	    pkgname</command>.  Включите флаг
	  <option>-R</option> при необходимости обновить все порты, требуемые
	  данным приложением.</para>

	<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>

	<para>Для использования при установке пакетов, а не портов, укажите
	  флаг <option>-P</option>.  С этим параметром
................................................................................
	<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>

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

	<screen>&prompt.root; <userinput>portmaster shells/bash</userinput></screen>

	<para>За подробной информацией обратитесь к &man.portmaster.8;.</para>
      </sect3>
    </sect2>

    <sect2 xml:id="ports-disk-space">
      <title>Порты и дисковое пространство</title>
................................................................................
          <filename>etc/</filename>, которые являются конфигурационными
          файлами, и <filename>doc/</filename>, которые являются более
	  полной документацией.</para>

	<para>Чтобы определить, какая версия приложения была установлена,
	  выполните:</para>

	<screen>&prompt.root; <userinput>pkg_info | grep -i foopackage</userinput></screen>

	<para>команда выведет список всех установленных пакетов, в названии
	  которых присутствует <replaceable>foopackage</replaceable>.
	  Замените <replaceable>foopackage</replaceable> на искомый фрагмент
	  текста.</para>
      </listitem>

................................................................................

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

 	<screen>&prompt.root; <userinput>pkg_info foopackage-1.0.0</userinput></screen>

	<para>Строка <literal>WWW:</literal>, если она есть, должна содержать
          URL Web-сайта приложения.</para>
      </listitem>

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







|







 







|







 







|

|







 







|







 







|













|







 







|









|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
...
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
...
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
...
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
...
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
...
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
...
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
...
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
...
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
...
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
...
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
...
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
....
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
....
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
....
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
....
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
....
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
....
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
	  воспользоваться сайтом типа Freecode (<uri xlink:href="http://www.freecode.com/">http://www.freecode.com/</uri>)
	  для поиска приложения, а затем возвратитесь на сайт &os;, чтобы
          проверить, есть ли порт для этого приложения.</para>
      </listitem>

      <listitem>
	<para>Если вам необходимо определить, в какой категории находится порт,
	  наберите <command>whereis <replaceable>file</replaceable></command>,
	  где <replaceable>file</replaceable> - программа, которую вы хотите
	  установить:</para>

	<screen>&prompt.root; <userinput>whereis lsof</userinput>
lsof: /usr/ports/sysutils/lsof</screen>

	<para>Как вариант, можно воспользоваться &man.echo.1;:</para>
................................................................................
      </listitem>

      <listitem>
	<para>Ещё одним способом поиска программного обеспечения является
	  использование встроенной возможности поиска в Коллекции Портов.
	  Чтобы ею воспользоваться, зайдите в <filename>/usr/ports</filename>
	  и выполните команду <command>make search
	  name=<replaceable>program-name</replaceable></command>, где
	  <replaceable>program-name</replaceable> &ndash; это
	  название программы, которую вы хотите найти.  Например, если
	  вы ищете <command>lsof</command>:</para>

	<screen>&prompt.root; <userinput>cd /usr/ports</userinput>
&prompt.root; <userinput>make search name=lsof</userinput>
Port:   lsof-4.56.4
................................................................................
&prompt.root; <userinput>make quicksearch name=lsof</userinput>
Port:   lsof-4.87.a,7
Path:   /usr/ports/sysutils/lsof
Info:   Lists information about open files (similar to fstat(1))</screen>

	<para>Для выполнения более глубокого поиска используйте
	  <command>make search
	    key=<replaceable>string</replaceable></command> или
	  <command>make quicksearch
	    key=<replaceable>string</replaceable></command>,
	  где <replaceable>string</replaceable> представляет собой некоторый
	  текст, относящийся к искомому порту.  Текст ищется в комментариях,
	  описаниях или зависимостях.  Этот способ можно
	  использовать для поиска портов, связанных с некоторой темой, когда
	  название программы неизвестно.</para>

	<para>В обоих случаях (<buildtarget>search</buildtarget> и
................................................................................

      <para>Для установки бинарного пакета &os; из локального файла или
	с сервера в сети используйте &man.pkg.add.1;.</para>

      <example>
        <title>Загрузка пакета вручную и его локальная установка</title>

        <screen>&prompt.root; <userinput>ftp -a <replaceable>ftp2.FreeBSD.org</replaceable></userinput>
Connected to ftp2.FreeBSD.org.
220 ftp2.FreeBSD.org FTP server (Version 6.00LS) ready.
331 Guest login ok, send your email address as password.
230-
230-     This machine is in Vienna, VA, USA, hosted by Verio.
230-         Questions? E-mail freebsd@vienna.verio.net.
230-
................................................................................
local: lsof-4.56.4.tgz remote: lsof-4.56.4.tgz
200 PORT command successful.
150 Opening BINARY mode data connection for 'lsof-4.56.4.tgz' (92375 bytes).
100% |**************************************************| 92375       00:00 ETA
226 Transfer complete.
92375 bytes received in 5.60 seconds (16.11 KB/s)
<prompt>ftp&gt;</prompt> <userinput>exit</userinput>
&prompt.root; <userinput>pkg_add <replaceable>lsof-4.56.4.tgz</replaceable></userinput></screen>
      </example>

      <para>Если у вас нет источника пакетов, например, такого как набор
	CD-ROM дисков с &os;, то добавьте опцию <option>-r</option> для
	&man.pkg.add.1;.  Утилита автоматически определит правильный формат
	объектных файлов и релиз, а затем загрузит и установит пакет с сервера
	FTP без какого-либо дополнительного взаимодействия с
	пользователем.</para>

      <indexterm>
        <primary><command>pkg_add</command></primary>
      </indexterm>

      <screen>&prompt.root; <userinput>pkg_add -r <replaceable>lsof</replaceable></userinput></screen>

      <para>Чтобы задействовать альтернативное зеркало пакетов &os;,
	укажите его адрес в переменной окружения <envar>PACKAGESITE</envar>.
	Для загрузки файлов утилита &man.pkg.add.1; использует &man.fetch.3;.
	Последняя учитывает значения различных переменных окружения, включая
	<envar>FTP_PASSIVE_MODE</envar>, <envar>FTP_PROXY</envar> и
	<envar>FTP_PASSWORD</envar>.  Если вы находитесь за сетевым экраном,
................................................................................

        <secondary>удаление</secondary>
      </indexterm>

      <para>Для удаления ранее установленных пакетов с программным
        обеспечением используйте утилиту &man.pkg.delete.1;.</para>

      <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat-1.7.1</replaceable></userinput></screen>

      <para>Следует отметить, что для &man.pkg.delete.1; требуется полное
	имя пакета и номер версии; вышеприведенная команда не сработала бы,
	если б ей было указано <replaceable>xchat</replaceable> вместо
	<replaceable>xchat-1.7.1</replaceable>.  Для нахождения версии
	установленного пакета задействуйте утилиту &man.pkg.version.1;.  Или
	же, напечатайте групповой символ (wildcard) вместо номера
	версии:</para>

      <screen>&prompt.root; <userinput>pkg_delete <replaceable>xchat\*</replaceable></userinput></screen>

      <para>в этом случае будут удалены все пакеты, имена которых начинаются
	на <literal>xchat</literal>.</para>
    </sect2>

    <sect2>
      <title>Разное</title>
................................................................................
	<para>Информация об установленных в системе пакетах может быть
	  отображена при помощи команды <command>pkg info</command>.  Подобно
	  до &man.pkg.info.1;, в выводе перечисляются версии и описания всех
	  установленных пакетов.</para>

	<para>Если необходима информация о конкретном пакете, выполните:</para>

	<screen>&prompt.root; <userinput>pkg info <replaceable>packagename</replaceable></userinput></screen>

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

	<screen>&prompt.root; <userinput>pkg info pkg</userinput>
pkg-1.0.2			New generation package manager</screen>
      </sect3>
................................................................................

      <sect3 xml:id="pkgng-installing-deinstalling">
	<title>Установка и удаление пакетов при помощи
	  <application>pkgng</application></title>

	<para>В общем, бинарные пакеты устанавливаются при помощи:</para>

	<screen>&prompt.root; <userinput>pkg install <replaceable>packagename</replaceable></userinput></screen>

	<para>Команда <command>pkg install</command> обращается к пакетному
	  репозиторию, это упоминалось в <xref linkend="pkgng-pkg-conf"/>.
	  Команда pkg-add(8), напротив, не выполняет обращений к пакетному
	  репозиторию, а также игнорирует переменную
	  <envar>PACKAGESITE</envar>.  Как следствие &mdash; зависимости
	  не отслеживаются, и необходимые зависимые компоненты не скачиваются
................................................................................
	  <application>pkgng</application></title>

	<para>В отличие от традиционной системы управления пакетами,
	  <application>pkgng</application> располагает своим собственным
	  механизмом резервного копирования базы данных.  Для ручного создания
	  резервной копии базы данных установленных пакетов, выполните:</para>

	<screen>&prompt.root; <userinput>pkg backup -d <replaceable>pkgng.db</replaceable></userinput></screen>

	<note>
	  <para>Замените имя файла <replaceable>pkgng.db</replaceable> на
	    более подходящее.</para>
	</note>

	<para>В дополнение, <application>pkgng</application> содержит скрипт
................................................................................
	    переменной <literal>daily_backup_pkgdb_enable</literal> значение
	    <literal>NO</literal> в файле &man.periodic.conf.5;.</para>
	</tip>

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

	<screen>&prompt.root; <userinput>pkg backup -r <replaceable>/path/to/pkgng.db</replaceable></userinput></screen>
      </sect3>

      <sect3 xml:id="pkgng-clean">
	<title>Удаление копий устаревших пакетов в системе
	  <application>pkgng</application></title>

	<para>По умолчанию, <application>pkgng</application> сохраняет копии
................................................................................
	<para>В отличие от
	  <package>ports-mgmt/portmaster</package> и
	  <package>ports-mgmt/portupgrade</package> для
	  портов, порядок перечисления новой и старой версий отличаются.
	  Для <application>pkgng</application> необходим следующий
	  порядок:</para>

	<screen>&prompt.root; <userinput>pkg set -o <replaceable>category/oldport</replaceable>:<replaceable>category/newport</replaceable></userinput></screen>

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

	<screen>&prompt.root; <userinput>pkg set -o lang/php5:lang/php53</userinput></screen>

	<para>Еще один пример: для изменения информации о происхождении
................................................................................

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

	  <screen>&prompt.root; <userinput>pkg install -Rf <replaceable>graphics/freeglut</replaceable></userinput></screen>
	</note>
      </sect3>
    </sect2>
  </sect1>

  <sect1 xml:id="ports-using">
    <title>Использование Коллекции Портов</title>
................................................................................
	    процесса вместо <replaceable>svn0.us-east.FreeBSD.org</replaceable>
	    укажите ближайшее к вам
	    <link xlink:href="&url.books.handbook.en;/svn-mirrors.html">зеркало
	      Subversion</link>.  Коммиттерам необходимо сначала прочитать
	    <link xlink:href="&url.articles.committers-guide.en;/subversion-primer.html">Subversion Primer</link>,
	    чтобы удостовериться, что выбран корректный протокол.</para>

	  <screen>&prompt.root; <userinput>svn checkout https://<replaceable>svn0.us-east.FreeBSD.org</replaceable>/ports/head /usr/ports</userinput></screen>
	</step>

	<step>
	  <para>При наличии рабочей копии
	    <filename>/usr/ports</filename>
	    все последующие обновления выполняются просто:</para>

................................................................................
      </note>

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

      <screen>&prompt.root; <userinput>cd /usr/ports/<replaceable>directory</replaceable></userinput>
&prompt.root; <userinput>make MASTER_SITE_OVERRIDE= \
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/ fetch</userinput></screen>

      <para>В этом примере значение переменной <varname>MASTER_SITES</varname>
	изменено на <systemitem class="fqdomainname">ftp.FreeBSD.org/pub/FreeBSD/ports/distfiles/</systemitem>.</para>

      <note>
................................................................................
	  флаг <option>-i</option> если вы желаете получать запрос
	  на каждый обновляемый порт.</para>

	<screen>&prompt.root; <userinput>portupgrade -ai</userinput></screen>

	<para>Для обновления конкретного приложения, а не всех
	  установленных портов, запустите <command>portupgrade
	    <replaceable>pkgname</replaceable></command>.  Включите флаг
	  <option>-R</option> при необходимости обновить все порты, требуемые
	  данным приложением.</para>

	<screen>&prompt.root; <userinput>portupgrade -R firefox</userinput></screen>

	<para>Для использования при установке пакетов, а не портов, укажите
	  флаг <option>-P</option>.  С этим параметром
................................................................................
	<screen>&prompt.root; <userinput>portmaster -af</userinput></screen>

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

	<screen>&prompt.root; <userinput>portmaster <replaceable>shells/bash</replaceable></userinput></screen>

	<para>За подробной информацией обратитесь к &man.portmaster.8;.</para>
      </sect3>
    </sect2>

    <sect2 xml:id="ports-disk-space">
      <title>Порты и дисковое пространство</title>
................................................................................
          <filename>etc/</filename>, которые являются конфигурационными
          файлами, и <filename>doc/</filename>, которые являются более
	  полной документацией.</para>

	<para>Чтобы определить, какая версия приложения была установлена,
	  выполните:</para>

	<screen>&prompt.root; <userinput>pkg_info | grep -i <replaceable>foopackage</replaceable></userinput></screen>

	<para>команда выведет список всех установленных пакетов, в названии
	  которых присутствует <replaceable>foopackage</replaceable>.
	  Замените <replaceable>foopackage</replaceable> на искомый фрагмент
	  текста.</para>
      </listitem>

................................................................................

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

 	<screen>&prompt.root; <userinput>pkg_info <replaceable>foopackage-1.0.0</replaceable></userinput></screen>

	<para>Строка <literal>WWW:</literal>, если она есть, должна содержать
          URL Web-сайта приложения.</para>
      </listitem>

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

Changes to ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.xml.

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
....
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
....
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
....
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
....
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
....
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
....
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
....
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
....
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
....
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
	<title>Создание файлов устройств PPP</title>
	<indexterm><primary>PPP</primary><secondary>создание файлов устройств</secondary></indexterm>

	<para>В обычной ситуации, большинству пользователей нужно только
	  одно устройство <filename>tun</filename>
	  (<filename>/dev/tun0</filename>).  Ссылки на
	  <filename>tun0</filename> ниже могут быть заменены на
	  <filename>tunN</filename>,
	  где <replaceable>N</replaceable> это любой номер устройства,
	  соответствующий вашей системе.</para>

	<para>Для систем FreeBSD без &man.devfs.5; (FreeBSD&nbsp;4.X более
	  ранние), необходимо проверить устройство
	  <filename>tun0</filename> (это не требуется, если включена
	  &man.devfs.5;, поскольку файлы устройств будут создаваться
................................................................................
	  <step>
	    <para>Убедитесь, что устройство <filename>tun</filename>
	      встроено в ядро.</para>
	  </step>

	  <step>
	    <para>Убедитесь, что устройства
	      <filename>tunN</filename>
	      находятся в каталоге <filename>/dev</filename>.</para>
	  </step>

	  <step>
	    <para>Создайте запись в
	      <filename>/etc/ppp/ppp.conf</filename>.  Пример
	      <filename>pmdemand</filename> должен подойти для большинства
................................................................................
	  <step>
	    <para>Убедитесь, что устройство <filename>tun</filename>
	      встроено в ядро.</para>
	  </step>

	  <step>
	    <para>Убедитесь, что устройства
	      <filename>tunN</filename>
	      находятся в каталоге <filename>/dev</filename>.</para>
	  </step>

	  <step>
	    <para>Создайте запись в <filename>/etc/passwd</filename>
	      (используя программу &man.vipw.8;).</para>
	  </step>
................................................................................
	  <para>Выйдите из <application>kermit</application> (без
	    обрыва соединения).</para>
	</step>

	<step>
	  <para>Введите следующее:</para>

	  <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200</userinput></screen>

	  <para>Убедитесь, что выбраны подходящая скорость и правильное имя
	    устройства.</para>
	</step>
      </procedure>

      <para>Теперь ваш компьютер подключен по PPP.  Если соединение не
................................................................................
	модема вручную.</para>

      <programlisting>deflink: Entering terminal mode on <filename>/dev/cuaa1</filename>
type '~h' for help</programlisting>

      <screen><userinput>at</userinput>
OK
<userinput>atdt123456789</userinput></screen>

      <para>Использование команды <command>at</command> для инициализации
	модема, а затем <command>atdt</command> и номера провайдера
	для начала дозвона.</para>

      <screen>CONNECT</screen>

................................................................................
	  вам требуется использование аутентификации
	  <acronym>PAP</acronym> или <acronym>CHAP</acronym> вместо
	  &unix; стиля как в примерах выше.  Для использования
	  <acronym>PAP</acronym> или <acronym>CHAP</acronym> просто добавьте
	  следующие параметры <application>PPP</application> перед
	  переходом в терминальный режим:</para>

	<screen>ppp ON example&gt; <userinput>set authname myusername</userinput></screen>

	<para>Необходимо заменить <replaceable>myusername</replaceable>
	  на имя пользователя, выданное провайдером.</para>

	<screen>ppp ON example&gt; <userinput>set authkey mypassword</userinput></screen>

	<para>Где <replaceable>mypassword</replaceable> должен быть
	  заменен на пароль, выданный провайдером.</para>

	<para>Если вы подключаетесь, не можете определить ни одно доменное
	  имя, попробуйте использовать &man.ping.8; с каким-либо
	  <acronym>IP</acronym> адресом и просмотрите выводимую информацию.
................................................................................
	Многие ADSL модемы требуют, чтобы PPTP туннель был создан между
	модемом и компьютером, один из таких модемов это Alcatel
	&speedtouch; Home.</para>

      <para>Сначала установите порт, затем настройте
	<application>mpd</application> под собственные нужды и настройки
	провайдера.  Порт помещает набор примеров настройки в каталог
	<filename>PREFIX/etc/mpd/</filename>.
	<replaceable>PREFIX</replaceable> означает каталог, в который
	устанавливаются порты, по умолчанию это
	<filename>/usr/local/</filename>.  Полное руководство по настройке
	<application>mpd</application> доступно в HTML формате после
	установки порта.  Оно находится в
	<filename>PREFIX/share/doc/mpd/</filename>.
	Ниже находится пример настройки <application>mpd</application>
	для соединения с ADSL сервисом.  Настройка разделена на два
	файла, первый это <filename>mpd.conf</filename>:</para>

      <programlisting>default:
    load adsl

................................................................................
	  &speedtouch; Home этот адрес по умолчанию <systemitem class="ipaddress">10.0.0.138</systemitem>.</para>
      </callout>
    </calloutlist>

    <para>Инициализация соединения возможно простым выполнением следующей
      команды под <systemitem class="username">root</systemitem>:</para>

    <screen>&prompt.root; <userinput>mpd -b adsl</userinput></screen>

    <para>Вы можете просмотреть статус соединения с помощью следующей
      команды:</para>

    <screen>&prompt.user; <userinput>ifconfig ng0</userinput>
ng0: flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
     inet 216.136.204.117 --&gt; 204.152.186.171 netmask 0xffffffff</screen>

    <para>Использование <application>mpd</application> это рекомендуемый
      способ подключения к сервису ADSL из &os;.</para>

    </sect2>
................................................................................
      <para>Следующая команда откроет туннель для PPP сессии к вашему
	DSL маршрутизатору.  Модемы Ethernet DSL поставляются с настроенным
	IP адресом локальной сети, к которому вы подключаетесь. У
	Alcatel &speedtouch; Home этот адрес <systemitem class="ipaddress">10.0.0.138</systemitem>.  В документации на ваш
	маршрутизатор должно быть указано, какой адрес используется.
	Для открытия туннеля и начала PPP сессии выполните:</para>

      <screen>&prompt.root; <userinput>pptp address adsl</userinput></screen>

      <tip>
	<para>Чтобы вернуться в приглашение командной строки после выполнения
	  этой команды, добавьте символ <quote>&amp;</quote> в конец
	  строки.</para>
      </tip>

................................................................................
      <para>Устройство виртуального туннеля <filename>tun</filename>
	будет создано для взаимодействия между процессами
	<application>pptp</application> и <application>ppp</application>.
	Как только вы вернетесь в приглашение, или процесс
	<application>pptp</application> выполнит соединение, вы можете
	проверить туннель примерно такой командой:</para>

      <screen>&prompt.user; <userinput>ifconfig tun0</userinput>
tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
        inet 216.136.204.21 --&gt; 204.152.186.171 netmask 0xffffff00
        Opened by PID 918</screen>

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







|







 







|







 







|







 







|







 







|







 







|




|







 







|





|







 







|




|







 







|







 







|







234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
....
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
....
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
....
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
....
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
....
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
....
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
....
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
....
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
....
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
	<title>Создание файлов устройств PPP</title>
	<indexterm><primary>PPP</primary><secondary>создание файлов устройств</secondary></indexterm>

	<para>В обычной ситуации, большинству пользователей нужно только
	  одно устройство <filename>tun</filename>
	  (<filename>/dev/tun0</filename>).  Ссылки на
	  <filename>tun0</filename> ниже могут быть заменены на
	  <filename>tun<replaceable>N</replaceable></filename>,
	  где <replaceable>N</replaceable> это любой номер устройства,
	  соответствующий вашей системе.</para>

	<para>Для систем FreeBSD без &man.devfs.5; (FreeBSD&nbsp;4.X более
	  ранние), необходимо проверить устройство
	  <filename>tun0</filename> (это не требуется, если включена
	  &man.devfs.5;, поскольку файлы устройств будут создаваться
................................................................................
	  <step>
	    <para>Убедитесь, что устройство <filename>tun</filename>
	      встроено в ядро.</para>
	  </step>

	  <step>
	    <para>Убедитесь, что устройства
	      <filename>tun<replaceable>N</replaceable></filename>
	      находятся в каталоге <filename>/dev</filename>.</para>
	  </step>

	  <step>
	    <para>Создайте запись в
	      <filename>/etc/ppp/ppp.conf</filename>.  Пример
	      <filename>pmdemand</filename> должен подойти для большинства
................................................................................
	  <step>
	    <para>Убедитесь, что устройство <filename>tun</filename>
	      встроено в ядро.</para>
	  </step>

	  <step>
	    <para>Убедитесь, что устройства
	      <filename>tun<replaceable>N</replaceable></filename>
	      находятся в каталоге <filename>/dev</filename>.</para>
	  </step>

	  <step>
	    <para>Создайте запись в <filename>/etc/passwd</filename>
	      (используя программу &man.vipw.8;).</para>
	  </step>
................................................................................
	  <para>Выйдите из <application>kermit</application> (без
	    обрыва соединения).</para>
	</step>

	<step>
	  <para>Введите следующее:</para>

	  <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>

	  <para>Убедитесь, что выбраны подходящая скорость и правильное имя
	    устройства.</para>
	</step>
      </procedure>

      <para>Теперь ваш компьютер подключен по PPP.  Если соединение не
................................................................................
	модема вручную.</para>

      <programlisting>deflink: Entering terminal mode on <filename>/dev/cuaa1</filename>
type '~h' for help</programlisting>

      <screen><userinput>at</userinput>
OK
<userinput>atdt<replaceable>123456789</replaceable></userinput></screen>

      <para>Использование команды <command>at</command> для инициализации
	модема, а затем <command>atdt</command> и номера провайдера
	для начала дозвона.</para>

      <screen>CONNECT</screen>

................................................................................
	  вам требуется использование аутентификации
	  <acronym>PAP</acronym> или <acronym>CHAP</acronym> вместо
	  &unix; стиля как в примерах выше.  Для использования
	  <acronym>PAP</acronym> или <acronym>CHAP</acronym> просто добавьте
	  следующие параметры <application>PPP</application> перед
	  переходом в терминальный режим:</para>

	<screen>ppp ON example&gt; <userinput>set authname <replaceable>myusername</replaceable></userinput></screen>

	<para>Необходимо заменить <replaceable>myusername</replaceable>
	  на имя пользователя, выданное провайдером.</para>

	<screen>ppp ON example&gt; <userinput>set authkey <replaceable>mypassword</replaceable></userinput></screen>

	<para>Где <replaceable>mypassword</replaceable> должен быть
	  заменен на пароль, выданный провайдером.</para>

	<para>Если вы подключаетесь, не можете определить ни одно доменное
	  имя, попробуйте использовать &man.ping.8; с каким-либо
	  <acronym>IP</acronym> адресом и просмотрите выводимую информацию.
................................................................................
	Многие ADSL модемы требуют, чтобы PPTP туннель был создан между
	модемом и компьютером, один из таких модемов это Alcatel
	&speedtouch; Home.</para>

      <para>Сначала установите порт, затем настройте
	<application>mpd</application> под собственные нужды и настройки
	провайдера.  Порт помещает набор примеров настройки в каталог
	<filename><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
	<replaceable>PREFIX</replaceable> означает каталог, в который
	устанавливаются порты, по умолчанию это
	<filename>/usr/local/</filename>.  Полное руководство по настройке
	<application>mpd</application> доступно в HTML формате после
	установки порта.  Оно находится в
	<filename><replaceable>PREFIX</replaceable>/share/doc/mpd/</filename>.
	Ниже находится пример настройки <application>mpd</application>
	для соединения с ADSL сервисом.  Настройка разделена на два
	файла, первый это <filename>mpd.conf</filename>:</para>

      <programlisting>default:
    load adsl

................................................................................
	  &speedtouch; Home этот адрес по умолчанию <systemitem class="ipaddress">10.0.0.138</systemitem>.</para>
      </callout>
    </calloutlist>

    <para>Инициализация соединения возможно простым выполнением следующей
      команды под <systemitem class="username">root</systemitem>:</para>

    <screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen>

    <para>Вы можете просмотреть статус соединения с помощью следующей
      команды:</para>

    <screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput>
ng0: flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
     inet 216.136.204.117 --&gt; 204.152.186.171 netmask 0xffffffff</screen>

    <para>Использование <application>mpd</application> это рекомендуемый
      способ подключения к сервису ADSL из &os;.</para>

    </sect2>
................................................................................
      <para>Следующая команда откроет туннель для PPP сессии к вашему
	DSL маршрутизатору.  Модемы Ethernet DSL поставляются с настроенным
	IP адресом локальной сети, к которому вы подключаетесь. У
	Alcatel &speedtouch; Home этот адрес <systemitem class="ipaddress">10.0.0.138</systemitem>.  В документации на ваш
	маршрутизатор должно быть указано, какой адрес используется.
	Для открытия туннеля и начала PPP сессии выполните:</para>

      <screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen>

      <tip>
	<para>Чтобы вернуться в приглашение командной строки после выполнения
	  этой команды, добавьте символ <quote>&amp;</quote> в конец
	  строки.</para>
      </tip>

................................................................................
      <para>Устройство виртуального туннеля <filename>tun</filename>
	будет создано для взаимодействия между процессами
	<application>pptp</application> и <application>ppp</application>.
	Как только вы вернетесь в приглашение, или процесс
	<application>pptp</application> выполнит соединение, вы можете
	проверить туннель примерно такой командой:</para>

      <screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput>
tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
        inet 216.136.204.21 --&gt; 204.152.186.171 netmask 0xffffff00
        Opened by PID 918</screen>

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

Changes to ru_RU.KOI8-R/books/handbook/printing/chapter.xml.

493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
...
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
...
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
...
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
...
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
....
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
....
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
....
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
....
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
....
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
....
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
....
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
....
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
	    понадобиться добавить поддержку для дополнительного
	    последовательного или параллельного порта, если он еще
	    не сконфигурирован в ядре.</para>

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

	  <screen>&prompt.root; <userinput>grep sioN /var/run/dmesg.boot</userinput></screen>

	  <para>Где <replaceable>N</replaceable> &mdash; номер последовательного
	    порта, начиная с нуля. Если вы получаете результат, подобный
	    следующему:</para>

	  <screen>sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A</screen>

	  <para>значит, ядро поддерживает порт.</para>

	  <para>Чтобы узнать, поддерживает ли ядро параллельный интерфейс,
	    наберите:</para>

	  <screen>&prompt.root; <userinput>grep ppcN /var/run/dmesg.boot</userinput></screen>

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

	  <screen>ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
................................................................................
	  <para><emphasis>Для настройки режима взаимодействия с помощью
	    утилиты </emphasis> &man.lptcontrol.8;:</para>

	  <procedure>
	    <step>
	      <para>Введите команду:</para>

	      <screen>&prompt.root; <userinput>lptcontrol -i -d /dev/lptN</userinput></screen>

	      <para>для установки режима взаимодействия на основе прерываний
		для <literal>lptN</literal>.</para>
	    </step>

	    <step>
	      <para>Введите команду:</para>

	      <screen>&prompt.root; <userinput>lptcontrol -p -d /dev/lptN</userinput></screen>

	      <para>для установки режима взаимодействия по опросу для
	    <literal>lptN</literal>.</para>
	    </step>
	  </procedure>

	  <para>Вы можете поместить эти команды в файл
	    <filename>/etc/rc.local</filename> для установки требуемого режима
	    при каждой загрузке системы. Дополнительную информацию об этом
	    ищите на странице справочного руководства &man.lptcontrol.8;.</para>
................................................................................
		<para>Пошлите данные на принтер.</para>

		<itemizedlist>
		  <listitem>
		    <para>Если принтер может печатать обычный текст, используйте
		      утилиту &man.lptest.1;. Введите команду:</para>

		    <screen>&prompt.root; <userinput>lptest &gt; /dev/lptN</userinput></screen>

		    <para>Где <replaceable>N</replaceable> &mdash; номер параллельного порта,
		      начиная с нуля.</para>
		  </listitem>

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

		    <screen>&prompt.root; <userinput>cat &gt; /dev/lptN</userinput></screen>

		    <para>Затем, построчно, <emphasis>внимательно</emphasis> введите
		      программу, поскольку вы не сможете отредактировать строку
		      после нажатия клавиши <literal>RETURN</literal>
		      или <literal>ENTER</literal>. По окончании ввода программы,
		      нажмите <literal>CONTROL+D</literal> или другую комбинацию клавиш,
		      используемую для ввода символа конца файла.</para>

		    <para>Можно также поместить программу в файл и выполнить команду:</para>

		    <screen>&prompt.root; <userinput>cat file &gt; /dev/lptN</userinput></screen>

		    <para>Где <replaceable>file</replaceable> &mdash; имя файла, содержащего
		      программу, которую вы хотите послать принтеру.</para>
		  </listitem>
		</itemizedlist>
	      </step>
	    </procedure>
................................................................................
		<para>Подключитесь к принтеру с помощью &man.tip.1;.
		  Введите команду:</para>

		<screen>&prompt.root; <userinput>tip printer</userinput></screen>

		<para>Если этот шаг не срабатывает, снова отредактируйте
		  файл <filename>/etc/remote</filename> и попробуйте использовать
		  устройство <filename>/dev/cuaaN</filename>
		  вместо <filename>/dev/ttydN</filename>.</para>
	      </step>

	      <step>
		<para>Пошлите данные на принтер.</para>

		<itemizedlist>
		  <listitem>
................................................................................
		      для принтера. Может также понадобиться нажать специальную
		      комбинацию клавиш, обозначающую конец файла, чтобы принтер
		      понял, что получена вся программа.  Для
		      &postscript;-принтеров нажмите <literal>CONTROL+D</literal>.</para>

		    <para>Можно также поместить программу в файл и ввести команду:</para>

		    <screen>&prompt.user; <userinput>&gt;file</userinput></screen>

		    <para>Где <replaceable>file</replaceable> &mdash; имя файла,
		      содержащего программу. После того, как утилита
		      &man.tip.1; пошлет файл, нажмите требуемую для
		      ввода признака конца файла комбинацию клавиш.</para>
		  </listitem>
		</itemizedlist>
................................................................................
	    Кроме того, не нужно создавать резервные копии содержимого каталогов
	    спулинга. Пересоздать их можно с помощью простой команды
	    &man.mkdir.1;.</para>

	  <para>Принято также задавать для каталога имя, совпадающее с именем
	    принтера, как показано ниже:</para>

	  <screen>&prompt.root; <userinput>mkdir /var/spool/имя-принтера</userinput></screen>

	  <para>Однако при наличии большого количества принтеров в сети
	    может иметь смысл поместить все каталоги спулинга в один каталог,
	    который просто резервируется для печати с помощью
	    <application>LPD</application>. Мы сделаем это для наших двух принтеров,
	    <literal>rattan</literal> и <literal>bamboo</literal>:</para>

................................................................................
	  <para>Следующие характеристики в файле <filename>/etc/printcap</filename>
	    задают параметры взаимодействия через последовательный порт
	    для устройства, указанного в качестве значения характеристики
	    <literal>lp</literal>:</para>

	  <variablelist>
	    <varlistentry>
	      <term><literal>br#bps-rate</literal></term>

	      <listitem>
	    <para>Устанавливает скорость взаимодействия для устройства в
	      <replaceable>bps-rate</replaceable>, где
	      <replaceable>bps-rate</replaceable> может иметь значение 50, 75, 110,
	      134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600,
	      19200, 38400, 57600 или 115200 бит в секунду.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term><literal>ms#stty-mode</literal></term>

	      <listitem>
	    <para>Устанавливает опции для терминального устройства после открытия устройства.
	      Поддерживаемые опции описаны на странице справочного руководства &man.stty.1;.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>
................................................................................
	    взаимодействия с принтером</link>, генерирующей тестовый текст.</para>

	  <para><emphasis>Для тестирования простой настройки
	  <application>LPD</application>:</emphasis></para>

	  <para>Введите команду:</para>

	  <screen>&prompt.root; <userinput>lptest 20 5 | lpr -Pprinter-name</userinput></screen>

	  <para>Где <replaceable>printer-name</replaceable> &mdash; имя
	    (или псевдоним) принтера, заданное в файле
	    <filename>/etc/printcap</filename>. Для проверки стандартного
	    принтера, введите команду &man.lpr.1; без аргумента <option>-P</option>.
	    Как уже отмечалось, если тестируется принтер, предполагающий использование
	    &postscript;, пошлите ему &postscript;-программу вместо использования
	    утилиты &man.lptest.1;. Это можно сделать, поместив программу в файл
	    и выполнив команду <command>lpr file</command>.</para>

	  <para>Для &postscript;-принтера вы должны получить результаты выполнения
	    программы. Если вы используете &man.lptest.1;, ваши результаты должны
	    иметь такой вид:</para>

	  <programlisting>!"#$%&amp;'()*+,-./01234
"#$%&amp;'()*+,-./012345
................................................................................
      среды <envar>PRINTER</envar> не задана.</para>

    <sect2 xml:id="printing-lpr">
      <title>Задания печати</title>

      <para>Для печати файлов, выполните команду:</para>

      <screen>&prompt.user; <userinput>lpr имя-файла ...</userinput></screen>

      <indexterm><primary>печать</primary></indexterm>
      <para>Эта команда печатает каждый из перечисленных файлов на стандартный
	принтер. Если файлы не указаны, команда &man.lpr.1; читает данные для
	печати со стандартного входного потока. Например, следующая команда
	печатает некоторые важные системные файлы:</para>

      <screen>&prompt.user; <userinput>lpr /etc/host.conf /etc/hosts.equiv</userinput></screen>

      <para>Для выбора конкретного принтера, введите:</para>

      <screen>&prompt.user; <userinput>lpr -P имя-принтера имя-файла ...</userinput></screen>

      <para>Следующая команда печатает подробный листинг текущего каталога
	на принтере <literal>rattan</literal>:</para>

      <screen>&prompt.user; <userinput>ls -l | lpr -P rattan</userinput></screen>

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

      <para>Для удаления задания со стандартного принтера сначала используйте
	команду &man.lpq.1; для поиска номера задания. Затем введите команду:</para>

      <screen>&prompt.user; <userinput>lprm номер-задания</userinput></screen>

      <para>Для удаления задания с указанного принтера, задайте опцию
	<option>-P</option> option. Следующая команда удаляет задание номер
	10 из очереди заданий принтера <literal>bamboo</literal>:</para>

      <screen>&prompt.user; <userinput>lprm -P bamboo 10</userinput></screen>

................................................................................
	с каким принтером работать. Можно использовать значение <literal>all</literal>
	вместо <replaceable>имени-принтера</replaceable>, означающее все
	принтеры, перечисленные в файле <filename>/etc/printcap</filename>.</para>

      <variablelist>
	<varlistentry>
	  <term><command>abort
	      имя-принтера</command></term>

	  <listitem>
	    <para>Снять текущее задание и остановить принтер. Пользователи могут
	      продолжать посылать задания, если очередь включена.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>clean
	      имя-принтера</command></term>

	  <listitem>
	    <para>Удалить старые файлы из каталога спулинга принтера.
	      Иногда файлы, составляющие задание, не удаляются как положено
	      системой <application>LPD</application>, особенно если
	      в ходе печати были ошибки и выполнялось много административных
	      действий. Эта команда находит файлы, не принадлежащие каталогу
	      спулинга, и удаляет их.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>disable
	      имя-принтера</command></term>

	  <listitem>
	    <para>Отключить постановку новых заданий в очередь. Если принтер
	      работает, он продолжит печатать задания, остающиеся в очереди.
	      Суперпользователь (<systemitem class="username">root</systemitem>) всегда может посылать
	      задания, даже в отключенную очередь.</para>

................................................................................
	      <systemitem class="username">root</systemitem>. Другие пользователи не смогут посылать
	      задания, пока вы не закончите тестирование и не включите очередь
	      повторно командой <command>enable</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>down имя-принтера
	      сообщение</command></term>

	  <listitem>
	    <para>Отключить принтер. Аналогична последовательности команд
	      <command>disable</command> и <command>stop</command>.
	      Указанное <replaceable>сообщение</replaceable> выдается как
	      состояние принтера при проверке пользователем очереди принтера
	      с помощью &man.lpq.1; или запросе его состояния командой
	      <command>lpc status</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>enable
	      имя-принтера</command></term>

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

	<varlistentry>
	  <term><command>help
	      имя-команды</command></term>

	  <listitem>
	    <para>Выдать справочную информацию по команде
	      <replaceable>имя-команды</replaceable>. Если
	      <replaceable>имя-команды</replaceable> не указано,
	      выдает сводку по имеющимся командам.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>restart
	      имя-принтера</command></term>

	  <listitem>
	    <para>Перезапустить принтер. Обычные пользователи могут использовать эту
	      команду, если в результате неких чрезвычайных обстоятельств система
	      <application>LPD</application> зависла, но они не могут запустить
	      принтер, остановленный командами <command>stop</command> или
	      <command>down</command>. Команда <command>restart</command>
................................................................................
	      эквивалентна последовательности команд <command>abort</command>
	      и <command>start</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>start
	      имя-принтера</command></term>

	  <listitem>
	    <para>Запустить принтер. Принтер будет печатать задания, находящиеся в
	      его очереди.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>stop
	      имя-принтера</command></term>

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

	<varlistentry>
	  <term><command>topq имя-принтера
	      задание-или-имя-пользователя</command></term>

	  <listitem>
	    <para>Переупорядочить очередь для указанного принтера, помещая
	      указанные по номеру <replaceable>задания</replaceable> или
	      задания указанного по имени <replaceable>пользователя</replaceable>
	      в начало очереди. Для этой команды нельзя использовать
	      <literal>all</literal> в качестве <replaceable>имени-принтера</replaceable>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>up
	      имя-принтера</command></term>

	  <listitem>
	    <para>Включить принтер; команда по действию противоположна команде
	      <command>down</command>. Эквивалентна последовательности команд
	      <command>start</command> и <command>enable</command>.</para>
	  </listitem>
	</varlistentry>







|













|







 







|


|





|


|







 







|









|










|







 







|
|







 







|







 







|







 







|











|







 







|








|







 







|











|







 







|







 







|









|













|







 







|
|













|









|











|







 







|









|










|
|












|







493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
...
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
...
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
...
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
...
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
....
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
....
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
....
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
....
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
....
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
....
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
....
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
....
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
	    понадобиться добавить поддержку для дополнительного
	    последовательного или параллельного порта, если он еще
	    не сконфигурирован в ядре.</para>

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

	  <screen>&prompt.root; <userinput>grep sio<replaceable>N</replaceable> /var/run/dmesg.boot</userinput></screen>

	  <para>Где <replaceable>N</replaceable> &mdash; номер последовательного
	    порта, начиная с нуля. Если вы получаете результат, подобный
	    следующему:</para>

	  <screen>sio2 at port 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A</screen>

	  <para>значит, ядро поддерживает порт.</para>

	  <para>Чтобы узнать, поддерживает ли ядро параллельный интерфейс,
	    наберите:</para>

	  <screen>&prompt.root; <userinput>grep ppc<replaceable>N</replaceable> /var/run/dmesg.boot</userinput></screen>

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

	  <screen>ppc0: &lt;Parallel port&gt; at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
................................................................................
	  <para><emphasis>Для настройки режима взаимодействия с помощью
	    утилиты </emphasis> &man.lptcontrol.8;:</para>

	  <procedure>
	    <step>
	      <para>Введите команду:</para>

	      <screen>&prompt.root; <userinput>lptcontrol -i -d /dev/lpt<replaceable>N</replaceable></userinput></screen>

	      <para>для установки режима взаимодействия на основе прерываний
		для <literal>lpt<replaceable>N</replaceable></literal>.</para>
	    </step>

	    <step>
	      <para>Введите команду:</para>

	      <screen>&prompt.root; <userinput>lptcontrol -p -d /dev/lpt<replaceable>N</replaceable></userinput></screen>

	      <para>для установки режима взаимодействия по опросу для
	    <literal>lpt<replaceable>N</replaceable></literal>.</para>
	    </step>
	  </procedure>

	  <para>Вы можете поместить эти команды в файл
	    <filename>/etc/rc.local</filename> для установки требуемого режима
	    при каждой загрузке системы. Дополнительную информацию об этом
	    ищите на странице справочного руководства &man.lptcontrol.8;.</para>
................................................................................
		<para>Пошлите данные на принтер.</para>

		<itemizedlist>
		  <listitem>
		    <para>Если принтер может печатать обычный текст, используйте
		      утилиту &man.lptest.1;. Введите команду:</para>

		    <screen>&prompt.root; <userinput>lptest &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>

		    <para>Где <replaceable>N</replaceable> &mdash; номер параллельного порта,
		      начиная с нуля.</para>
		  </listitem>

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

		    <screen>&prompt.root; <userinput>cat &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>

		    <para>Затем, построчно, <emphasis>внимательно</emphasis> введите
		      программу, поскольку вы не сможете отредактировать строку
		      после нажатия клавиши <literal>RETURN</literal>
		      или <literal>ENTER</literal>. По окончании ввода программы,
		      нажмите <literal>CONTROL+D</literal> или другую комбинацию клавиш,
		      используемую для ввода символа конца файла.</para>

		    <para>Можно также поместить программу в файл и выполнить команду:</para>

		    <screen>&prompt.root; <userinput>cat <replaceable>file</replaceable> &gt; /dev/lpt<replaceable>N</replaceable></userinput></screen>

		    <para>Где <replaceable>file</replaceable> &mdash; имя файла, содержащего
		      программу, которую вы хотите послать принтеру.</para>
		  </listitem>
		</itemizedlist>
	      </step>
	    </procedure>
................................................................................
		<para>Подключитесь к принтеру с помощью &man.tip.1;.
		  Введите команду:</para>

		<screen>&prompt.root; <userinput>tip printer</userinput></screen>

		<para>Если этот шаг не срабатывает, снова отредактируйте
		  файл <filename>/etc/remote</filename> и попробуйте использовать
		  устройство <filename>/dev/cuaa<replaceable>N</replaceable></filename>
		  вместо <filename>/dev/ttyd<replaceable>N</replaceable></filename>.</para>
	      </step>

	      <step>
		<para>Пошлите данные на принтер.</para>

		<itemizedlist>
		  <listitem>
................................................................................
		      для принтера. Может также понадобиться нажать специальную
		      комбинацию клавиш, обозначающую конец файла, чтобы принтер
		      понял, что получена вся программа.  Для
		      &postscript;-принтеров нажмите <literal>CONTROL+D</literal>.</para>

		    <para>Можно также поместить программу в файл и ввести команду:</para>

		    <screen>&prompt.user; <userinput>&gt;<replaceable>file</replaceable></userinput></screen>

		    <para>Где <replaceable>file</replaceable> &mdash; имя файла,
		      содержащего программу. После того, как утилита
		      &man.tip.1; пошлет файл, нажмите требуемую для
		      ввода признака конца файла комбинацию клавиш.</para>
		  </listitem>
		</itemizedlist>
................................................................................
	    Кроме того, не нужно создавать резервные копии содержимого каталогов
	    спулинга. Пересоздать их можно с помощью простой команды
	    &man.mkdir.1;.</para>

	  <para>Принято также задавать для каталога имя, совпадающее с именем
	    принтера, как показано ниже:</para>

	  <screen>&prompt.root; <userinput>mkdir /var/spool/<replaceable>имя-принтера</replaceable></userinput></screen>

	  <para>Однако при наличии большого количества принтеров в сети
	    может иметь смысл поместить все каталоги спулинга в один каталог,
	    который просто резервируется для печати с помощью
	    <application>LPD</application>. Мы сделаем это для наших двух принтеров,
	    <literal>rattan</literal> и <literal>bamboo</literal>:</para>

................................................................................
	  <para>Следующие характеристики в файле <filename>/etc/printcap</filename>
	    задают параметры взаимодействия через последовательный порт
	    для устройства, указанного в качестве значения характеристики
	    <literal>lp</literal>:</para>

	  <variablelist>
	    <varlistentry>
	      <term><literal>br#<replaceable>bps-rate</replaceable></literal></term>

	      <listitem>
	    <para>Устанавливает скорость взаимодействия для устройства в
	      <replaceable>bps-rate</replaceable>, где
	      <replaceable>bps-rate</replaceable> может иметь значение 50, 75, 110,
	      134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600,
	      19200, 38400, 57600 или 115200 бит в секунду.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term><literal>ms#<replaceable>stty-mode</replaceable></literal></term>

	      <listitem>
	    <para>Устанавливает опции для терминального устройства после открытия устройства.
	      Поддерживаемые опции описаны на странице справочного руководства &man.stty.1;.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>
................................................................................
	    взаимодействия с принтером</link>, генерирующей тестовый текст.</para>

	  <para><emphasis>Для тестирования простой настройки
	  <application>LPD</application>:</emphasis></para>

	  <para>Введите команду:</para>

	  <screen>&prompt.root; <userinput>lptest 20 5 | lpr -P<replaceable>printer-name</replaceable></userinput></screen>

	  <para>Где <replaceable>printer-name</replaceable> &mdash; имя
	    (или псевдоним) принтера, заданное в файле
	    <filename>/etc/printcap</filename>. Для проверки стандартного
	    принтера, введите команду &man.lpr.1; без аргумента <option>-P</option>.
	    Как уже отмечалось, если тестируется принтер, предполагающий использование
	    &postscript;, пошлите ему &postscript;-программу вместо использования
	    утилиты &man.lptest.1;. Это можно сделать, поместив программу в файл
	    и выполнив команду <command>lpr <replaceable>file</replaceable></command>.</para>

	  <para>Для &postscript;-принтера вы должны получить результаты выполнения
	    программы. Если вы используете &man.lptest.1;, ваши результаты должны
	    иметь такой вид:</para>

	  <programlisting>!"#$%&amp;'()*+,-./01234
"#$%&amp;'()*+,-./012345
................................................................................
      среды <envar>PRINTER</envar> не задана.</para>

    <sect2 xml:id="printing-lpr">
      <title>Задания печати</title>

      <para>Для печати файлов, выполните команду:</para>

      <screen>&prompt.user; <userinput>lpr <replaceable>имя-файла</replaceable> <replaceable>...</replaceable></userinput></screen>

      <indexterm><primary>печать</primary></indexterm>
      <para>Эта команда печатает каждый из перечисленных файлов на стандартный
	принтер. Если файлы не указаны, команда &man.lpr.1; читает данные для
	печати со стандартного входного потока. Например, следующая команда
	печатает некоторые важные системные файлы:</para>

      <screen>&prompt.user; <userinput>lpr /etc/host.conf /etc/hosts.equiv</userinput></screen>

      <para>Для выбора конкретного принтера, введите:</para>

      <screen>&prompt.user; <userinput>lpr -P <replaceable>имя-принтера</replaceable> <replaceable>имя-файла</replaceable> <replaceable>...</replaceable></userinput></screen>

      <para>Следующая команда печатает подробный листинг текущего каталога
	на принтере <literal>rattan</literal>:</para>

      <screen>&prompt.user; <userinput>ls -l | lpr -P rattan</userinput></screen>

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

      <para>Для удаления задания со стандартного принтера сначала используйте
	команду &man.lpq.1; для поиска номера задания. Затем введите команду:</para>

      <screen>&prompt.user; <userinput>lprm <replaceable>номер-задания</replaceable></userinput></screen>

      <para>Для удаления задания с указанного принтера, задайте опцию
	<option>-P</option> option. Следующая команда удаляет задание номер
	10 из очереди заданий принтера <literal>bamboo</literal>:</para>

      <screen>&prompt.user; <userinput>lprm -P bamboo 10</userinput></screen>

................................................................................
	с каким принтером работать. Можно использовать значение <literal>all</literal>
	вместо <replaceable>имени-принтера</replaceable>, означающее все
	принтеры, перечисленные в файле <filename>/etc/printcap</filename>.</para>

      <variablelist>
	<varlistentry>
	  <term><command>abort
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Снять текущее задание и остановить принтер. Пользователи могут
	      продолжать посылать задания, если очередь включена.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>clean
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Удалить старые файлы из каталога спулинга принтера.
	      Иногда файлы, составляющие задание, не удаляются как положено
	      системой <application>LPD</application>, особенно если
	      в ходе печати были ошибки и выполнялось много административных
	      действий. Эта команда находит файлы, не принадлежащие каталогу
	      спулинга, и удаляет их.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>disable
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Отключить постановку новых заданий в очередь. Если принтер
	      работает, он продолжит печатать задания, остающиеся в очереди.
	      Суперпользователь (<systemitem class="username">root</systemitem>) всегда может посылать
	      задания, даже в отключенную очередь.</para>

................................................................................
	      <systemitem class="username">root</systemitem>. Другие пользователи не смогут посылать
	      задания, пока вы не закончите тестирование и не включите очередь
	      повторно командой <command>enable</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>down <replaceable>имя-принтера</replaceable>
	      <replaceable>сообщение</replaceable></command></term>

	  <listitem>
	    <para>Отключить принтер. Аналогична последовательности команд
	      <command>disable</command> и <command>stop</command>.
	      Указанное <replaceable>сообщение</replaceable> выдается как
	      состояние принтера при проверке пользователем очереди принтера
	      с помощью &man.lpq.1; или запросе его состояния командой
	      <command>lpc status</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>enable
	      <replaceable>имя-принтера</replaceable></command></term>

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

	<varlistentry>
	  <term><command>help
	      <replaceable>имя-команды</replaceable></command></term>

	  <listitem>
	    <para>Выдать справочную информацию по команде
	      <replaceable>имя-команды</replaceable>. Если
	      <replaceable>имя-команды</replaceable> не указано,
	      выдает сводку по имеющимся командам.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>restart
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Перезапустить принтер. Обычные пользователи могут использовать эту
	      команду, если в результате неких чрезвычайных обстоятельств система
	      <application>LPD</application> зависла, но они не могут запустить
	      принтер, остановленный командами <command>stop</command> или
	      <command>down</command>. Команда <command>restart</command>
................................................................................
	      эквивалентна последовательности команд <command>abort</command>
	      и <command>start</command>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>start
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Запустить принтер. Принтер будет печатать задания, находящиеся в
	      его очереди.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>stop
	      <replaceable>имя-принтера</replaceable></command></term>

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

	<varlistentry>
	  <term><command>topq <replaceable>имя-принтера</replaceable>
	      <replaceable>задание-или-имя-пользователя</replaceable></command></term>

	  <listitem>
	    <para>Переупорядочить очередь для указанного принтера, помещая
	      указанные по номеру <replaceable>задания</replaceable> или
	      задания указанного по имени <replaceable>пользователя</replaceable>
	      в начало очереди. Для этой команды нельзя использовать
	      <literal>all</literal> в качестве <replaceable>имени-принтера</replaceable>.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><command>up
	      <replaceable>имя-принтера</replaceable></command></term>

	  <listitem>
	    <para>Включить принтер; команда по действию противоположна команде
	      <command>down</command>. Эквивалентна последовательности команд
	      <command>start</command> и <command>enable</command>.</para>
	  </listitem>
	</varlistentry>

Changes to ru_RU.KOI8-R/books/handbook/security/chapter.xml.

1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
....
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
....
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
....
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
....
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
....
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
....
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
....
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
....
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
....
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
....
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
	обратиться к нему.  Используйте команду &man.mv.1; для перемещения
	его в исходной системе:</para>

      <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen>

      <para>Если файл предназначен для клиентской системы, и сеть не
	безопасна, скопируйте
	<filename>client-new-srvtab</filename>
	на съемный носитель и перенесите файл с его помощью.  Убедитесь, что
	переименовали его в <filename>srvtab</filename> в каталоге
	<filename>/etc/kerberosIV</filename> клиента, и что режим доступа к
	нему 600:</para>

      <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput>
&prompt.root; <userinput>chmod 600 srvtab</userinput></screen>
................................................................................
	<application>Kerberos</application>
	даемонов на этот момент запущен не будет, но у вас должна быть
	возможность убедиться в том, что <acronym>KDC</acronym> функционирует
	путем получения списка доступа для пользователя, которого вы только
	что самостоятельно создали из командной строки самого
	<acronym>KDC</acronym>:</para>

      <screen>&prompt.user; <userinput>k5init tillman</userinput>
tillman@EXAMPLE.ORG's Password:

&prompt.user; <userinput>k5list</userinput>
Credentials cache: FILE:<filename>/tmp/krb5cc_500</filename>
        Principal: tillman@EXAMPLE.ORG

  Issued           Expires          Principal
................................................................................
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<userinput>US</userinput>
State or Province Name (full name) [Some-State]:<userinput>PA</userinput>
Locality Name (eg, city) []:<userinput>Pittsburgh</userinput>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput>My Company</userinput>
Organizational Unit Name (eg, section) []:<userinput>Systems Administrator</userinput>
Common Name (eg, YOUR name) []:<userinput>localhost.example.org</userinput>
Email Address []:<userinput>trhodes@FreeBSD.org</userinput>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<userinput>SOME PASSWORD</userinput>
An optional company name []:<userinput>Another Name</userinput></screen>

      <para>Ввод после приглашения <quote>Common Name</quote>
	содержит имя домена.  Здесь вводится имя сервера для
	верификации; помещение в это поле чего-либо кроме
	этого имени приведет к созданию бесполезного сертификата.
	Доступны и другие параметры, например срок действия,
	альтернативные алгоритмы шифрования и т.д.  Полный список
................................................................................
	<filename>/var/log/maillog</filename> не появятся сообщения
	об ошибках и запустится процесс
	<application>Sendmail</application>.</para>

      <para>Для проведения простого теста подключитесь к почтовому серверу
	программой &man.telnet.1;:</para>

      <screen>&prompt.root; <userinput>telnet example.com 25</userinput>
Trying 192.0.34.166...
Connected to <systemitem class="fqdomainname">example.com</systemitem>.
Escape character is '^]'.
220 <systemitem class="fqdomainname">example.com</systemitem> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
<userinput>ehlo example.com</userinput>
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
................................................................................
      <indexterm>
	<primary>OpenSSH</primary>
	<secondary>клиент</secondary>
      </indexterm>

      <para>Утилита &man.ssh.1; работает подобно &man.rlogin.1;.</para>

      <screen>&prompt.root; <userinput>ssh user@example.com</userinput>
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput>
Host 'example.com' added to the list of known hosts.
user@example.com's password: <userinput>*******</userinput></screen>

      <para>Вход продолжится так же, как если бы сессия была инициирована
	с использованием <command>rlogin</command> или
................................................................................
      </indexterm>
      <indexterm><primary><command>scp</command></primary></indexterm>

      <para>Команда &man.scp.1; работает подобно &man.rcp.1;; она копирует
	файл с удаленного компьютера, но делает это безопасным
	способом.</para>

      <screen>&prompt.root; <userinput> scp user@example.com:/COPYRIGHT COPYRIGHT</userinput>
user@example.com's password: <userinput>*******</userinput>
COPYRIGHT            100% |*****************************|  4735       00:00
&prompt.root;</screen>

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

................................................................................
    <sect2 xml:id="ssh-keygen">
      <title>ssh-keygen</title>

      <para>Вместо использования паролей, с помощью &man.ssh-keygen.1;
	можно создать ключи DSA или RSA, которыми
	пользователи могут аутентифицироваться:</para>

      <screen>&prompt.user; <userinput>ssh-keygen -t dsa</userinput>
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
................................................................................
      <para><application>OpenSSH</application> поддерживает возможность
	создания туннеля для пропуска соединения по другому протоколу
	через защищенную сессию.</para>

      <para>Следующая команда указывает &man.ssh.1; создать туннель для
	<application>telnet</application>:</para>

       <screen>&prompt.user; <userinput>ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com</userinput>
&prompt.user;</screen>

      <para>Команда <command>ssh</command> используется со следующими
	параметрами:</para>

      <variablelist>
	<varlistentry>
................................................................................
      <para>Этот метод можно использовать для любого числа небезопасных
	протоколов, таких как SMTP, POP3, FTP, и так далее.</para>

      <example>
	<title>Использование SSH для создания защищенного туннеля на
	  SMTP</title>

	<screen>&prompt.user; <userinput>ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com</userinput>
user@mailserver.example.com's password: <userinput>*****</userinput>
&prompt.user; <userinput>telnet localhost 5025</userinput>
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTP</screen>

................................................................................
	    поддерживающий протокол POP3.  Сеть или сетевое соединение
	    между вашим домом и офисом могут быть или не быть полностью
	    доверяемыми.  По этой причине вам потребуется проверять
	    почту через защищенное соединение.  Решение состоит в создании
	    SSH соединения к офисному серверу SSH и туннелирование
	    через него к почтовому серверу.</para>

	  <screen>&prompt.user; <userinput>ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com</userinput>
user@ssh-server.example.com's password: <userinput>******</userinput></screen>

	  <para>Когда туннель включен и работает, вы можете настроить
	    почтовый клиент для отправки запросов POP3 на
	    <systemitem>localhost</systemitem>, порт 2110.  Соединение будет
	    безопасно переправлено через туннель на
	    <systemitem>mail.example.com</systemitem>.</para>
................................................................................
	    выдает поток не с портов 22 или 80, вы не сможете получить
	    к нему доступ.</para>

	  <para>Решение состоит в создании SSH соединения с компьютером
	    вне брандмауэра и использование его для туннелирования
	    сервера Ogg Vorbis.</para>

	  <screen>&prompt.user; <userinput>ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org</userinput>
user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen>

	  <para>Клиентскую программу теперь можно настроить на
	    <systemitem>localhost</systemitem> порт 8888, который будет перенаправлен
	    на <systemitem>music.example.com</systemitem> порт 8000, успешно
	    обойдя брандмауэр.</para>
	</sect4>







|







 







|







 







|
|
|
|
|
|
|



|
|







 







|




|







 







|







 







|







 







|







 







|







 







|







 







|







 







|







1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
....
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
....
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
....
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
....
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
....
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
....
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
....
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
....
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
....
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
....
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
	обратиться к нему.  Используйте команду &man.mv.1; для перемещения
	его в исходной системе:</para>

      <screen>&prompt.root; <userinput>mv grunt-new-srvtab srvtab</userinput></screen>

      <para>Если файл предназначен для клиентской системы, и сеть не
	безопасна, скопируйте
	<filename><replaceable>client</replaceable>-new-srvtab</filename>
	на съемный носитель и перенесите файл с его помощью.  Убедитесь, что
	переименовали его в <filename>srvtab</filename> в каталоге
	<filename>/etc/kerberosIV</filename> клиента, и что режим доступа к
	нему 600:</para>

      <screen>&prompt.root; <userinput>mv grumble-new-srvtab srvtab</userinput>
&prompt.root; <userinput>chmod 600 srvtab</userinput></screen>
................................................................................
	<application>Kerberos</application>
	даемонов на этот момент запущен не будет, но у вас должна быть
	возможность убедиться в том, что <acronym>KDC</acronym> функционирует
	путем получения списка доступа для пользователя, которого вы только
	что самостоятельно создали из командной строки самого
	<acronym>KDC</acronym>:</para>

      <screen>&prompt.user; <userinput>k5init <replaceable>tillman</replaceable></userinput>
tillman@EXAMPLE.ORG's Password:

&prompt.user; <userinput>k5list</userinput>
Credentials cache: FILE:<filename>/tmp/krb5cc_500</filename>
        Principal: tillman@EXAMPLE.ORG

  Issued           Expires          Principal
................................................................................
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<userinput><replaceable>US</replaceable></userinput>
State or Province Name (full name) [Some-State]:<userinput><replaceable>PA</replaceable></userinput>
Locality Name (eg, city) []:<userinput><replaceable>Pittsburgh</replaceable></userinput>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput><replaceable>My Company</replaceable></userinput>
Organizational Unit Name (eg, section) []:<userinput><replaceable>Systems Administrator</replaceable></userinput>
Common Name (eg, YOUR name) []:<userinput><replaceable>localhost.example.org</replaceable></userinput>
Email Address []:<userinput><replaceable>trhodes@FreeBSD.org</replaceable></userinput>

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<userinput><replaceable>SOME PASSWORD</replaceable></userinput>
An optional company name []:<userinput><replaceable>Another Name</replaceable></userinput></screen>

      <para>Ввод после приглашения <quote>Common Name</quote>
	содержит имя домена.  Здесь вводится имя сервера для
	верификации; помещение в это поле чего-либо кроме
	этого имени приведет к созданию бесполезного сертификата.
	Доступны и другие параметры, например срок действия,
	альтернативные алгоритмы шифрования и т.д.  Полный список
................................................................................
	<filename>/var/log/maillog</filename> не появятся сообщения
	об ошибках и запустится процесс
	<application>Sendmail</application>.</para>

      <para>Для проведения простого теста подключитесь к почтовому серверу
	программой &man.telnet.1;:</para>

      <screen>&prompt.root; <userinput>telnet <replaceable>example.com</replaceable> 25</userinput>
Trying 192.0.34.166...
Connected to <systemitem class="fqdomainname">example.com</systemitem>.
Escape character is '^]'.
220 <systemitem class="fqdomainname">example.com</systemitem> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT)
<userinput>ehlo <replaceable>example.com</replaceable></userinput>
250-example.com Hello example.com [192.0.34.166], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
................................................................................
      <indexterm>
	<primary>OpenSSH</primary>
	<secondary>клиент</secondary>
      </indexterm>

      <para>Утилита &man.ssh.1; работает подобно &man.rlogin.1;.</para>

      <screen>&prompt.root; <userinput>ssh <replaceable>user@example.com</replaceable></userinput>
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput>
Host 'example.com' added to the list of known hosts.
user@example.com's password: <userinput>*******</userinput></screen>

      <para>Вход продолжится так же, как если бы сессия была инициирована
	с использованием <command>rlogin</command> или
................................................................................
      </indexterm>
      <indexterm><primary><command>scp</command></primary></indexterm>

      <para>Команда &man.scp.1; работает подобно &man.rcp.1;; она копирует
	файл с удаленного компьютера, но делает это безопасным
	способом.</para>

      <screen>&prompt.root; <userinput> scp <replaceable>user@example.com:/COPYRIGHT COPYRIGHT</replaceable></userinput>
user@example.com's password: <userinput>*******</userinput>
COPYRIGHT            100% |*****************************|  4735       00:00
&prompt.root;</screen>

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

................................................................................
    <sect2 xml:id="ssh-keygen">
      <title>ssh-keygen</title>

      <para>Вместо использования паролей, с помощью &man.ssh-keygen.1;
	можно создать ключи DSA или RSA, которыми
	пользователи могут аутентифицироваться:</para>

      <screen>&prompt.user; <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput>
Generating public/private dsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_dsa):
Created directory '/home/user/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_dsa.
Your public key has been saved in /home/user/.ssh/id_dsa.pub.
................................................................................
      <para><application>OpenSSH</application> поддерживает возможность
	создания туннеля для пропуска соединения по другому протоколу
	через защищенную сессию.</para>

      <para>Следующая команда указывает &man.ssh.1; создать туннель для
	<application>telnet</application>:</para>

       <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput>
&prompt.user;</screen>

      <para>Команда <command>ssh</command> используется со следующими
	параметрами:</para>

      <variablelist>
	<varlistentry>
................................................................................
      <para>Этот метод можно использовать для любого числа небезопасных
	протоколов, таких как SMTP, POP3, FTP, и так далее.</para>

      <example>
	<title>Использование SSH для создания защищенного туннеля на
	  SMTP</title>

	<screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput>
user@mailserver.example.com's password: <userinput>*****</userinput>
&prompt.user; <userinput>telnet localhost 5025</userinput>
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailserver.example.com ESMTP</screen>

................................................................................
	    поддерживающий протокол POP3.  Сеть или сетевое соединение
	    между вашим домом и офисом могут быть или не быть полностью
	    доверяемыми.  По этой причине вам потребуется проверять
	    почту через защищенное соединение.  Решение состоит в создании
	    SSH соединения к офисному серверу SSH и туннелирование
	    через него к почтовому серверу.</para>

	  <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>2110:mail.example.com:110 user@ssh-server.example.com</replaceable></userinput>
user@ssh-server.example.com's password: <userinput>******</userinput></screen>

	  <para>Когда туннель включен и работает, вы можете настроить
	    почтовый клиент для отправки запросов POP3 на
	    <systemitem>localhost</systemitem>, порт 2110.  Соединение будет
	    безопасно переправлено через туннель на
	    <systemitem>mail.example.com</systemitem>.</para>
................................................................................
	    выдает поток не с портов 22 или 80, вы не сможете получить
	    к нему доступ.</para>

	  <para>Решение состоит в создании SSH соединения с компьютером
	    вне брандмауэра и использование его для туннелирования
	    сервера Ogg Vorbis.</para>

	  <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput>
user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen>

	  <para>Клиентскую программу теперь можно настроить на
	    <systemitem>localhost</systemitem> порт 8888, который будет перенаправлен
	    на <systemitem>music.example.com</systemitem> порт 8000, успешно
	    обойдя брандмауэр.</para>
	</sect4>

Changes to ru_RU.KOI8-R/books/handbook/serialcomms/chapter.xml.

471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
...
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
...
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
....
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
....
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
....
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
....
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
....
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
....
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
	  <para>В FreeBSD доступ к каждому последовательному порту может быть
	    получен через файл в каталоге <filename>/dev</filename>.
	    Есть два различных типа файлов:</para>

	  <itemizedlist>
	    <listitem>
	      <para>Порты входящих соединений (dial-in) называются
		<filename>/dev/ttydN</filename>,
		где <replaceable>N</replaceable> это номер порта начиная
		с нуля.  Обычно, порты входящих соединений используются для
		терминалов.  Для корректной работы этим портам требуется,
		чтобы последовательный кабель передавал сигнал data carrier
		detect (DCD).</para>
	    </listitem>

	    <listitem>
	      <para>Порты исходящих соединений (call-out) называются
		<filename>/dev/cuadN</filename>.
		Они обычно используются не для терминалов, а только для
		модемов.  Вы можете использовать эти порты если
		последовательный кабель или терминал не поддерживает сигнал
		DCD.</para>

	      <note><para>Call-out порты в &os;&nbsp;5.X и ранее именуются
		<filename>/dev/cuaaN</filename>.
	      </para></note>
	    </listitem>
	  </itemizedlist>

	  <para>Если вы соединили терминал с первым последовательным портом
	    (<filename>COM1</filename> в &ms-dos;), используйте
	    <filename>/dev/ttyd0</filename> для доступа к терминалу.  Если
................................................................................
    <sect2>
      <title>Специальные файлы устройств</title>

      <para>К большинству устройств ядра можно получить доступ через
	<quote>специальные файлы устройств</quote>, расположенные в
	каталоге <filename>/dev</filename>.  К устройствам
	<filename>sio</filename> можно получить доступ через
	<filename>/dev/ttydN</filename>
	(устройства входящих вызовов, dial-in)
	и <filename>/dev/cuadN</filename>
	(устройства исходящих вызовов, call-out).
	FreeBSD предоставляет также устройства инициализации
	(<filename>/dev/ttydN.init</filename> и
	<filename>/dev/cuadN.init</filename>
	в случае &os;&nbsp;6.X,
	<filename>/dev/ttyidN</filename> и
	<filename>/dev/cuaiaN</filename> для
	&os;&nbsp;5.X),
	устройства блокировки
	(<filename>/dev/ttydN.lock</filename> и
	<filename>/dev/cuadN.lock</filename>
	в случае &os;&nbsp;6.X,
	<filename>/dev/ttyldN</filename> и
	<filename>/dev/cualaN</filename> для
	&os;&nbsp;5.X).
	Первые используются для инициализации параметров порта при
	каждом его открытии (таких как <literal>crtscts</literal>
	для модемов, использующих сигналы <literal>RTS/CTS</literal>
	для управления потоком).  Устройства блокировки используются
	для установки флага блокировки на порт и предотвращения
	изменения определенных параметров пользователями или
................................................................................

    <sect2 xml:id="serial-hw-config">
      <title>Настройка последовательных портов</title>

    <indexterm><primary><filename>ttyd</filename></primary></indexterm>
    <indexterm><primary><filename>cuad</filename></primary></indexterm>

    <para>Устройство <filename>ttydN</filename>
      (или
      <filename>cuadN</filename>) это обычное
      устройство, которое потребуется открыть для приложений.  Когда процесс
      открывает устройство применяются настройки ввода/вывода терминала по
      умолчанию.  Вы можете посмотреть эти настройки с помощью команды</para>

    <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>

    <para>Если вы измените настройки устройства, они будут действовать до его
................................................................................
	<programlisting>ttyd0   "/usr/libexec/getty <replaceable>xxx</replaceable>"   dialup on</programlisting>

	<para>Первый пункт в строке выше это специальный файл устройства для
	  этой записи &mdash; <literal>ttyd0</literal> означает,
	  что <command>getty</command> будет запущена на
	  <filename>/dev/ttyd0</filename>.  Второй пункт,
	  <literal>"/usr/libexec/getty
	    xxx"</literal>
	  (<replaceable>xxx</replaceable> будет замещено на запись из
	  <filename>gettytab</filename> для начальной скорости), это процесс,
	  который будет запущен на данном устройстве.  Третий пункт,
	  <literal>dialup</literal>, это тип терминала по умолчанию.
	  Четвертый параметр, <literal>on</literal>, указывает
	  <command>init</command>, что линия включена.  Может быть пятый
	  параметр, <literal>secure</literal>, но он должен использоваться
................................................................................
	    которого фиксирована на значении 19.2&nbsp;Кбит/с, строка в
	    <filename>ttys</filename> может выглядеть так:</para>

	  <programlisting>ttyd0   "/usr/libexec/getty std.19200"   dialup on</programlisting>

	  <para>Если скорость модема фиксирована на другом значении,
	    подставьте соответствующее значение в
	    <literal>std.speed</literal>
	    вместо <literal>std.19200</literal>.  Убедитесь, что вы
	    используете тип, описанный в
	    <filename>/etc/gettytab</filename>.</para>
	</sect4>

	<sect4>
	  <title>Настройка переменной скорости</title>
................................................................................
	  порта.  Это может означать проблему с кабелем или неправильную
	  настройку модема, поскольку <command>getty</command> не должна
	  открывать коммуникационный порт, пока модем не установит
	  <acronym>CD</acronym> (обнаружение несущей).</para>

	<para>Если вы не видите процессов <command>getty</command>, ожидающих
	  открытия соответствующего порта
	  <filename>ttydN</filename>,
	  внимательно проверьте записи в <filename>/etc/ttys</filename>
	  и попробуйте найти ошибки, если они есть.  Проверьте также лог файл
	  <filename>/var/log/messages</filename>, нет ли там сообщений от
	  <command>init</command> или <command>getty</command>, имеющих
	  отношение к проблеме.  Если сообщения есть, проверьте еще раз
	  файлы настройки <filename>/etc/ttys</filename> и
	  <filename>/etc/gettytab</filename>, как и соответствующие
................................................................................
      <para>Используйте для br наибольшее значение bps, поддерживаемое
	модемом.  Для подключения к модему выполните
	<command>tip cuad0</command>.</para>

      <para>Или используйте <command>cu</command> под
	<systemitem class="username">root</systemitem> так:</para>

      <screen>&prompt.root; <userinput>cu -lline -sspeed</userinput></screen>

      <para><replaceable>line</replaceable> это последовательный порт
	(например <filename>/dev/cuad0</filename>), а
	<replaceable>speed</replaceable> это скорость
	(например <literal>57600</literal>).  После ввода команд AT
	наберите <keycap>~.</keycap> для выхода.</para>
    </sect2>
................................................................................
	это <quote>управляющий</quote> символ по умолчанию, используемый
	для указания <command>tip</command> того, что далее идут символьные
	данные.  Вы можете сделать любой другой символ управляющим с помощью
	экранирования <command>~s</command>, которое означает
	<quote>установить переменную</quote>.</para>

      <para>Введите
	<command>~sforce=single-char</command>,
	завершив ввод новой строкой.  <replaceable>single-char</replaceable>
	это любой одиночный символ.  Если вы не введете
	<replaceable>single-char</replaceable>, управляющим символом станет
	nul, который можно получить, введя
	<keycombo action="simul">
	  <keycap>Ctrl</keycap><keycap>2</keycap>
	</keycombo>
................................................................................

      <para>Для получения файла запустите отправляющую программу на удаленной
	стороне.  Затем, наберите <command>~C rz</command> для начала
	локального приема файла.</para>

      <para>Для отправки файлов запустите принимающую программу на удаленной
	стороне.  Затем, наберите
	<command>~C sz файлы</command> для
	отправки их на удаленную систему.</para>
    </sect2>
  </sect1>

  <sect1 xml:id="serialconsole-setup">
    <info><title>Настройка последовательной консоли</title>
      <authorgroup>







|









|






|







 







|

|


|
|

|
|


|
|

|
|







 







|

|







 







|







 







|







 







|







 







|







 







|







 







|







471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
...
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
...
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
....
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
....
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
....
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
....
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
....
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
....
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
	  <para>В FreeBSD доступ к каждому последовательному порту может быть
	    получен через файл в каталоге <filename>/dev</filename>.
	    Есть два различных типа файлов:</para>

	  <itemizedlist>
	    <listitem>
	      <para>Порты входящих соединений (dial-in) называются
		<filename>/dev/ttyd<replaceable>N</replaceable></filename>,
		где <replaceable>N</replaceable> это номер порта начиная
		с нуля.  Обычно, порты входящих соединений используются для
		терминалов.  Для корректной работы этим портам требуется,
		чтобы последовательный кабель передавал сигнал data carrier
		detect (DCD).</para>
	    </listitem>

	    <listitem>
	      <para>Порты исходящих соединений (call-out) называются
		<filename>/dev/cuad<replaceable>N</replaceable></filename>.
		Они обычно используются не для терминалов, а только для
		модемов.  Вы можете использовать эти порты если
		последовательный кабель или терминал не поддерживает сигнал
		DCD.</para>

	      <note><para>Call-out порты в &os;&nbsp;5.X и ранее именуются
		<filename>/dev/cuaa<replaceable>N</replaceable></filename>.
	      </para></note>
	    </listitem>
	  </itemizedlist>

	  <para>Если вы соединили терминал с первым последовательным портом
	    (<filename>COM1</filename> в &ms-dos;), используйте
	    <filename>/dev/ttyd0</filename> для доступа к терминалу.  Если
................................................................................
    <sect2>
      <title>Специальные файлы устройств</title>

      <para>К большинству устройств ядра можно получить доступ через
	<quote>специальные файлы устройств</quote>, расположенные в
	каталоге <filename>/dev</filename>.  К устройствам
	<filename>sio</filename> можно получить доступ через
	<filename>/dev/ttyd<replaceable>N</replaceable></filename>
	(устройства входящих вызовов, dial-in)
	и <filename>/dev/cuad<replaceable>N</replaceable></filename>
	(устройства исходящих вызовов, call-out).
	FreeBSD предоставляет также устройства инициализации
	(<filename>/dev/ttyd<replaceable>N</replaceable>.init</filename> и
	<filename>/dev/cuad<replaceable>N</replaceable>.init</filename>
	в случае &os;&nbsp;6.X,
	<filename>/dev/ttyid<replaceable>N</replaceable></filename> и
	<filename>/dev/cuaia<replaceable>N</replaceable></filename> для
	&os;&nbsp;5.X),
	устройства блокировки
	(<filename>/dev/ttyd<replaceable>N</replaceable>.lock</filename> и
	<filename>/dev/cuad<replaceable>N</replaceable>.lock</filename>
	в случае &os;&nbsp;6.X,
	<filename>/dev/ttyld<replaceable>N</replaceable></filename> и
	<filename>/dev/cuala<replaceable>N</replaceable></filename> для
	&os;&nbsp;5.X).
	Первые используются для инициализации параметров порта при
	каждом его открытии (таких как <literal>crtscts</literal>
	для модемов, использующих сигналы <literal>RTS/CTS</literal>
	для управления потоком).  Устройства блокировки используются
	для установки флага блокировки на порт и предотвращения
	изменения определенных параметров пользователями или
................................................................................

    <sect2 xml:id="serial-hw-config">
      <title>Настройка последовательных портов</title>

    <indexterm><primary><filename>ttyd</filename></primary></indexterm>
    <indexterm><primary><filename>cuad</filename></primary></indexterm>

    <para>Устройство <filename>ttyd<replaceable>N</replaceable></filename>
      (или
      <filename>cuad<replaceable>N</replaceable></filename>) это обычное
      устройство, которое потребуется открыть для приложений.  Когда процесс
      открывает устройство применяются настройки ввода/вывода терминала по
      умолчанию.  Вы можете посмотреть эти настройки с помощью команды</para>

    <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>

    <para>Если вы измените настройки устройства, они будут действовать до его
................................................................................
	<programlisting>ttyd0   "/usr/libexec/getty <replaceable>xxx</replaceable>"   dialup on</programlisting>

	<para>Первый пункт в строке выше это специальный файл устройства для
	  этой записи &mdash; <literal>ttyd0</literal> означает,
	  что <command>getty</command> будет запущена на
	  <filename>/dev/ttyd0</filename>.  Второй пункт,
	  <literal>"/usr/libexec/getty
	    <replaceable>xxx</replaceable>"</literal>
	  (<replaceable>xxx</replaceable> будет замещено на запись из
	  <filename>gettytab</filename> для начальной скорости), это процесс,
	  который будет запущен на данном устройстве.  Третий пункт,
	  <literal>dialup</literal>, это тип терминала по умолчанию.
	  Четвертый параметр, <literal>on</literal>, указывает
	  <command>init</command>, что линия включена.  Может быть пятый
	  параметр, <literal>secure</literal>, но он должен использоваться
................................................................................
	    которого фиксирована на значении 19.2&nbsp;Кбит/с, строка в
	    <filename>ttys</filename> может выглядеть так:</para>

	  <programlisting>ttyd0   "/usr/libexec/getty std.19200"   dialup on</programlisting>

	  <para>Если скорость модема фиксирована на другом значении,
	    подставьте соответствующее значение в
	    <literal>std.<replaceable>speed</replaceable></literal>
	    вместо <literal>std.19200</literal>.  Убедитесь, что вы
	    используете тип, описанный в
	    <filename>/etc/gettytab</filename>.</para>
	</sect4>

	<sect4>
	  <title>Настройка переменной скорости</title>
................................................................................
	  порта.  Это может означать проблему с кабелем или неправильную
	  настройку модема, поскольку <command>getty</command> не должна
	  открывать коммуникационный порт, пока модем не установит
	  <acronym>CD</acronym> (обнаружение несущей).</para>

	<para>Если вы не видите процессов <command>getty</command>, ожидающих
	  открытия соответствующего порта
	  <filename>ttyd<replaceable>N</replaceable></filename>,
	  внимательно проверьте записи в <filename>/etc/ttys</filename>
	  и попробуйте найти ошибки, если они есть.  Проверьте также лог файл
	  <filename>/var/log/messages</filename>, нет ли там сообщений от
	  <command>init</command> или <command>getty</command>, имеющих
	  отношение к проблеме.  Если сообщения есть, проверьте еще раз
	  файлы настройки <filename>/etc/ttys</filename> и
	  <filename>/etc/gettytab</filename>, как и соответствующие
................................................................................
      <para>Используйте для br наибольшее значение bps, поддерживаемое
	модемом.  Для подключения к модему выполните
	<command>tip cuad0</command>.</para>

      <para>Или используйте <command>cu</command> под
	<systemitem class="username">root</systemitem> так:</para>

      <screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen>

      <para><replaceable>line</replaceable> это последовательный порт
	(например <filename>/dev/cuad0</filename>), а
	<replaceable>speed</replaceable> это скорость
	(например <literal>57600</literal>).  После ввода команд AT
	наберите <keycap>~.</keycap> для выхода.</para>
    </sect2>
................................................................................
	это <quote>управляющий</quote> символ по умолчанию, используемый
	для указания <command>tip</command> того, что далее идут символьные
	данные.  Вы можете сделать любой другой символ управляющим с помощью
	экранирования <command>~s</command>, которое означает
	<quote>установить переменную</quote>.</para>

      <para>Введите
	<command>~sforce=<replaceable>single-char</replaceable></command>,
	завершив ввод новой строкой.  <replaceable>single-char</replaceable>
	это любой одиночный символ.  Если вы не введете
	<replaceable>single-char</replaceable>, управляющим символом станет
	nul, который можно получить, введя
	<keycombo action="simul">
	  <keycap>Ctrl</keycap><keycap>2</keycap>
	</keycombo>
................................................................................

      <para>Для получения файла запустите отправляющую программу на удаленной
	стороне.  Затем, наберите <command>~C rz</command> для начала
	локального приема файла.</para>

      <para>Для отправки файлов запустите принимающую программу на удаленной
	стороне.  Затем, наберите
	<command>~C sz <replaceable>файлы</replaceable></command> для
	отправки их на удаленную систему.</para>
    </sect2>
  </sect1>

  <sect1 xml:id="serialconsole-setup">
    <info><title>Настройка последовательной консоли</title>
      <authorgroup>