diff options
author | Sergey Kandaurov <pluknet@FreeBSD.org> | 2015-05-09 17:02:15 +0000 |
---|---|---|
committer | Sergey Kandaurov <pluknet@FreeBSD.org> | 2015-05-09 17:02:15 +0000 |
commit | 1eb9614504d4d9058eb173817a77820845a8df44 (patch) | |
tree | 8a14cea3d30c1345b321ef69abf45ba4f14081d1 /ru_RU.KOI8-R | |
parent | b6d6d40cccaeb5747e9ef82e86d30961beb30d6a (diff) | |
download | doc-1eb9614504d4d9058eb173817a77820845a8df44.tar.gz doc-1eb9614504d4d9058eb173817a77820845a8df44.zip |
MFen books/faq:
r38488 -> r46459
Notes
Notes:
svn path=/head/; revision=46673
Diffstat (limited to 'ru_RU.KOI8-R')
-rw-r--r-- | ru_RU.KOI8-R/books/faq/book.xml | 8577 |
1 files changed, 2555 insertions, 6022 deletions
diff --git a/ru_RU.KOI8-R/books/faq/book.xml b/ru_RU.KOI8-R/books/faq/book.xml index cbe22ce3a9..61d2001340 100644 --- a/ru_RU.KOI8-R/books/faq/book.xml +++ b/ru_RU.KOI8-R/books/faq/book.xml @@ -2,40 +2,36 @@ <!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [ <!ENTITY bibliography SYSTEM "../../../share/xml/bibliography.xml"> -<!ENTITY rel.head "<emphasis xmlns='http://docbook.org/ns/docbook'>10-CURRENT</emphasis>"> -<!ENTITY rel.head.relx "10.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> -<!ENTITY rel.head.releng "<symbol xmlns='http://docbook.org/ns/docbook'>HEAD</symbol>"> -<!ENTITY rel.head.packages "packages-10-current"> -<!ENTITY rel.relx "9.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> -<!ENTITY rel.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>9-STABLE</emphasis>"> -<!ENTITY rel.releng "<symbol xmlns='http://docbook.org/ns/docbook'>RELENG_9</symbol>"> -<!ENTITY rel.relengdate "в сентябре 2011 года"> -<!ENTITY rel.packages "packages-9-stable"> -<!ENTITY rel2.relx "8.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> -<!ENTITY rel2.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>8-STABLE</emphasis>"> -<!ENTITY rel2.releng "<symbol xmlns='http://docbook.org/ns/docbook'>RELENG_8</symbol>"> -<!ENTITY rel2.relengdate "в августе 2009 года"> -<!ENTITY rel2.packages "packages-8-stable"> -<!ENTITY rel3.current "7.4"> -<!ENTITY rel3.relx "7.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> -<!ENTITY rel3.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>7-STABLE</emphasis>"> -<!ENTITY rel3.releng "<symbol xmlns='http://docbook.org/ns/docbook'>RELENG_7</symbol>"> -<!ENTITY rel3.relengdate "в октябре 2007 года"> -<!ENTITY rel3.packages "packages-7-stable"> +<!ENTITY rel.numbranch "4"> <!-- number of branches that follow in this list --> +<!ENTITY rel.head "<emphasis xmlns='http://docbook.org/ns/docbook'>11-CURRENT</emphasis>"> +<!ENTITY rel.head.relx "11.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> +<!ENTITY rel.head.releng "<symbol xmlns='http://docbook.org/ns/docbook'>head/</symbol>"> +<!ENTITY rel.relx "10.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> +<!ENTITY rel.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>10-STABLE</emphasis>"> +<!ENTITY rel.releng "<symbol xmlns='http://docbook.org/ns/docbook'>stable/10/</symbol>"> +<!ENTITY rel.relengdate "в январе 2014 года"> +<!ENTITY rel2.relx "9.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> +<!ENTITY rel2.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>9-STABLE</emphasis>"> +<!ENTITY rel2.releng "<symbol xmlns='http://docbook.org/ns/docbook'>stable/9/</symbol>"> +<!ENTITY rel2.relengdate "в сентябре 2011 года"> +<!ENTITY rel3.relx "8.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>"> +<!ENTITY rel3.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>8-STABLE</emphasis>"> +<!ENTITY rel3.releng "<symbol xmlns='http://docbook.org/ns/docbook'>stable/8/</symbol>"> +<!ENTITY rel3.relengdate "в августе 2009 года"> ]> <!-- The FreeBSD Russian Documentation Project $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/faq/book.xml,v 1.213 2007/05/14 19:27:34 gad Exp $ - Original revision: r38488 + Original revision: r46459 --> <book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="ru"> <info><title>Часто задаваемые вопросы по &os; &rel3.relx;, &rel2.relx; и &rel.relx;</title> - <author><orgname>The &os; Documentation Project</orgname></author> + <author><orgname>Проект документации &os;</orgname></author> <copyright> <year>1995</year> @@ -56,6 +52,9 @@ <year>2010</year> <year>2011</year> <year>2012</year> + <year>2013</year> + <year>2014</year> + <year>2015</year> <holder>The &os; Documentation Project</holder> </copyright> @@ -63,64 +62,43 @@ <legalnotice xml:id="trademarks" role="trademarks"> &tm-attrib.freebsd; - &tm-attrib.3com; &tm-attrib.adobe; - &tm-attrib.creative; - &tm-attrib.cvsup; &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; - &tm-attrib.iomega; &tm-attrib.linux; &tm-attrib.microsoft; - &tm-attrib.mips; - &tm-attrib.netscape; + &tm-attrib.netbsd; &tm-attrib.opengroup; - &tm-attrib.oracle; &tm-attrib.sgi; - &tm-attrib.sparc; &tm-attrib.sun; - &tm-attrib.usrobotics; - &tm-attrib.xfree86; &tm-attrib.general; </legalnotice> <releaseinfo>$FreeBSD$</releaseinfo> <abstract> - <para>Этот документ является так называемым FAQ (Frequently Asked - Questions), то есть списком Часто Задаваемых Вопросов по &os; версий + <para>Этот документ является так называемым + <acronym>FAQ</acronym> (Frequently Asked Questions), + то есть списком Часто Задаваемых Вопросов по &os; версий &rel3.relx;, &rel2.relx; и &rel.relx;. - Если не оговорено обратное, предполагается, что все замечания - справедливы для версий &os; &rel3.relx; и выше. - Если вы - хотите помочь в составлении этого документа, пошлите письмо в &a.doc;. - Последняя редакция этого документа всегда доступна с <link xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html"> + Мы прилагаем все усилия, чтобы сделать этот + <acronym>FAQ</acronym> максимально + информативным; если у вас есть идеи по его усовершенствованию, + шлите их на адрес &a.doc;.</para> + + <para>Последняя редакция этого документа всегда доступна с <link + xlink:href="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html"> Web-сервера &os;</link>. Его также можно получить в виде одного большого <link xlink:href="book.html"> - HTML-файла</link> по HTTP или в виде обычного текстового файла, файла - формата &postscript;, PDF или другого формата с <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FTP-сервера</link>. - Вы также можете осуществить <link xlink:href="&url.base;/search/search.html">поиск</link> в - FAQ.</para> + HTML-файла</link> по HTTP или в ряде других форматов с <link + xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FTP-сервера</link>.</para> </abstract> </info> <chapter xml:id="introduction"> <title>Вступление</title> - <para>Добро пожаловать в FAQ по &os; - &rel3.relx;, &rel2.relx; и &rel.relx;!</para> - - <para>Как и обычный FAQ конференций Usenet, этот документ содержит - большинство из часто задаваемых вопросов, касающихся операционной системы - &os; (и, конечно же, ответы на них). Первоначально предназначенный для - уменьшения потока сообщений и избежания повторения одних и тех же - вопросов, постепенно FAQ превратился в ценный источник информации.</para> - - <para>Мы прилагаем все усилия, чтобы сделать этот FAQ максимально - информативным; если у вас есть идеи по его усовершенствованию, - пожалуйста, напишите нам на адрес &a.doc;.</para> - <qandaset> <qandaentry> <question xml:id="what-is-FreeBSD"> @@ -128,27 +106,27 @@ </question> <answer> - <para>В двух словах, &os; - это &unix;-подобная операционная - система для платформ AMD64 и &intel; EM64T, &i386;, PC-98, IA-64, - &arm;, &powerpc; и &ultrasparc;, разработанная на основе операционной - системы <quote>4.4BSD-Lite</quote> с некоторыми - усовершенствованиями, взятыми из <quote>4.4BSD-Lite2</quote> - Калифорнийского Университета (Беркли). Также она косвенно + <para>&os; - это современная операционная система для настольных + компьютеров, ноутбуков, серверов и встраиваемых систем + с поддержкой большого количества <link + xlink:href="http://www.FreeBSD.org/ru/platforms/">платформ</link>.</para> + + <para>В основе &os; лежит операционная система + <quote>4.4BSD-Lite</quote> Калифорнийского Университета (Беркли) + с некоторыми усовершенствованиями из <quote>4.4BSD-Lite2</quote>. + Также она косвенно базируется на 386BSD (BSD Net/2, перенесённой на платформу &i386; Уильямом Джолитцем (William Jolitz)), хотя от того первоначального - кода осталось очень мало. Более подробные объяснения того, что - представляет из себя &os; и для чего она может вам пригодиться, - можно найти на <link xlink:href="&url.base;/index.html">домашней - странице &os;</link>.</para> + кода осталось очень мало.</para> <para>&os; используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха.</para> - <para>Для более детального знакомства с &os;, пожалуйста, - обратитесь к <link xlink:href="&url.books.handbook;/index.html"> - Руководству по &os;</link>.</para> + <para>Для более детального знакомства с &os; обратитесь к + <link xlink:href="&url.books.handbook;/index.html">Руководству + по &os;</link>.</para> </answer> </qandaentry> @@ -158,29 +136,9 @@ </question> <answer> - <para>Цель, преследуемая проектом &os; - это предоставление - программного обеспечения, которое может быть использовано в любых - целях без каких бы то ни было ограничений. Многие из нас - вкладывают значительные усилия в её разработку (и проектирование) и - определённо были бы не против получения финансовой поддержки, но - требовать её мы не будем. Мы надеемся, что наша основная и самая - значительная <quote>миссия</quote> - предоставить код всем - желающим, для любых целей, так чтобы он нашел самое широкое - применение и принёс наибольшую пользу. Это, на наш взгляд, одна - из самых фундаментальных целей Free Software, которую мы с - энтузиазмом поддерживаем.</para> - - <para>Часть исходного кода нашей системы, подпадающая под действие - <link xlink:href="http://www.FreeBSD.org/copyright/COPYING">GNU General - Public License (GPL)</link> или <link xlink:href="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU Library - General Public License (LGPL)</link>, имеет несколько - больше ограничений, хотя и представляет собой навязывание доступа к - исходным текстам, а не наоборот, как обычно. Из-за дополнительных - сложностей, которые могут возникнуть в случае коммерческого - использования программного обеспечения GPL, мы стараемся, где - только это возможно, заменить подобное программное обеспечение - аналогичным, но подпадающим под менее строгую <link xlink:href="http://www.FreeBSD.org/copyright/freebsd-license.html"> - лицензию &os;</link>.</para> + <para>Цель проекта &os; - предоставить быструю и стабильную + операционную систему общего назначения, которую можно + использовать в любых целях без каких-либо ограничений.</para> </answer> </qandaentry> @@ -190,12 +148,11 @@ </question> <answer> - <para>Да. Эти ограничения не касаются того, как именно вы - используете код, но главным образом описывают ваше отношение при - этом в целом к Проекту &os;. Если у вас есть серьезные - проблемы с лицензированием, прочтите собственно <link xlink:href="http://www.FreeBSD.org/copyright/freebsd-license.html">текст - лицензионного соглашения</link>. Упрощенно оно может быть вкратце - изложено следующим образом.</para> + <para>Да. Эти ограничения не касаются аспектов использования + кода, но главным образом описывают отношение к Проекту &os;. + Текст лицензионного соглашения доступен <link + xlink:href="http://www.FreeBSD.org/ru/copyright/freebsd-license.html">здесь</link>, + и вкратце он может быть изложен следующим образом:</para> <itemizedlist> <listitem> @@ -205,7 +162,32 @@ <listitem> <para>Не судитесь с нами, если что-то не работает.</para> </listitem> + + <listitem> + <para>Не удаляйте и не изменяйте лицензию.</para> + </listitem> </itemizedlist> + + <para>Многие из нас вкладывают в проект значительные усилия и + определённо были бы не против получения финансовой поддержки, но + требовать её мы не будем. Мы надеемся, что наша основная и самая + значительная <quote>миссия</quote> - предоставить код всем + желающим, для любых целей, так чтобы он нашел самое широкое + применение и принёс наибольшую пользу. Это, на наш взгляд, одна + из самых фундаментальных целей Free Software, которую мы с + энтузиазмом поддерживаем.</para> + + <para>Часть исходного кода нашей системы, подпадающая под действие + <link xlink:href="http://www.FreeBSD.org/copyright/COPYING">GNU General + Public License (GPL)</link> или <link xlink:href="http://www.FreeBSD.org/copyright/COPYING.LIB">GNU Library + General Public License (LGPL)</link>, имеет несколько + больше ограничений, хотя и представляет собой навязывание доступа к + исходным текстам, а не наоборот, как обычно. Из-за дополнительных + сложностей, которые могут возникнуть в случае коммерческого + использования программного обеспечения GPL, мы стараемся, где + только это возможно, заменить подобное программное обеспечение + аналогичным, но подпадающим под менее строгую <link xlink:href="http://www.FreeBSD.org/copyright/freebsd-license.html"> + лицензию &os;</link>.</para> </answer> </qandaentry> @@ -226,28 +208,30 @@ окружение для приложений. Она поддерживает широкий спектр Web-браузеров, офисных пакетов, программ для работы с электронной почтой, графических пакетов, программных сред, сетевых серверов и - практически все, что вы можете захотеть. Большинство этих + многое другое. Большинство этих приложений могут быть получено из <link xlink:href="http://www.FreeBSD.org/ports/">Коллекции Портов</link>.</para> - <para>Если вам необходимо использовать приложение, которое доступно - только для одной операционной системы, вам просто нельзя заменять - операционную систему. Однако есть вероятность, что похожая - программа существует для &os;. Если вам нужен стабильно - работающий сервер для офиса или сервер Интернет, надежная рабочая - станция или просто возможность выполнять работу без сбоев, &os; + <para>Если приложение доступно только для одной операционной + системы, то нельзя всего лишь заменить эту операционную + систему. Однако есть вероятность, что похожая + программа существует для &os;. В качестве сервера для офиса, + или сервера Интернет, или надежной рабочей станции &os; практически всегда справится со всем, что вам нужно. Многие пользователи по всему миру, включая как новичков, так и опытных администраторов &unix;, используют &os; в качестве своей единственной настольной операционной системы.</para> - <para>Если вы переходите на &os; с какого-то другого варианта - &unix;, вы уже знаете большинство ваших потребностей. Если вы - привыкли к таким графическими операционными системам, как &windows; - или старым версиям &macos;, будьте готовы к затратам - дополнительного - времени на изучение подхода &unix; к работе. Этот FAQ и <link xlink:href="&url.books.handbook;/index.html">Руководство по - &os;</link> являются прекрасным способом начать это + <para>Пользователи при переходе на &os; с другого варианта + &unix; найдут для себя &os; очень похожей. Пользователей + &windows; и &macos;, напротив, может заинтересовать <link + xlink:href="http://www.pcbsd.org/">PC-BSD</link>, + дистрибутив на основе &os;. Пользователям, которые не + использовали до этого &unix;, понадобится затратить + дополнительное время на изучение подхода &unix; к работе. + Этот <acronym>FAQ</acronym> и <link + xlink:href="&url.books.handbook;/index.html">Руководство по + &os;</link> являются прекрасным способом начать это изучение.</para> </answer> </qandaentry> @@ -279,8 +263,8 @@ </itemizedlist> <para>Следует отметить, что слово <quote>free</quote> - используется здесь в двух смыслах, один означает - <quote>бесплатно</quote>, а другой <quote>вы можете делать всё, + используется здесь в двух смыслах: один означает + <quote>бесплатно</quote>, а другой <quote>делать всё, что хотите</quote>. За исключением пары вещей, которые вы <emphasis>не можете</emphasis> делать с &os;, например, претендовать на то, что являетесь её разработчиком, на самом @@ -296,10 +280,44 @@ </question> <answer> - <para>Джеймс Ховард (James Howard) создал хорошее описание истории и - различий между различными проектами под названием <link xlink:href="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html"> - Семейное древо BSD</link>, в котором даётся подробный ответ на - этот вопрос.</para> + <para>Джеймс Ховард (James Howard) создал хорошее описание + истории и различий между различными проектами под + названием <link + xlink:href="http://www.freebsdworld.gr/freebsd/bsd-family-tree.html">Семейное + древо BSD</link>, в котором даётся подробный ответ на + этот вопрос. Некоторая информация там устарела, но + историческая часть остаётся точной.</para> + + <para>Многие из проектов семейства BSD обмениваются + изменениями и готовым кодом даже сегодня. Все они + происходят от общего предка.</para> + + <para>Цели проекта &os; описаны выше в <xref + linkend="FreeBSD-goals"/>. Цели других наиболее + известных проектов семейства BSD можно кратко описать + так:</para> + + <itemizedlist> + <listitem> + <para>OpenBSD в первую очередь ориентируется на + безопасность операционной системы. Команда OpenBSD + написала &man.ssh.1; и &man.pf.4;, которые затем были + портированы во &os;.</para> + </listitem> + + <listitem> + <para>NetBSD ориентируется на простое портирование на + другие аппаратные платформы.</para> + </listitem> + + <listitem> + <para>DragonFly BSD отделилась от &os; 4.8, + и с тех пор в ней были разработаны многие интересные + собственные функциональные возможности, включая + файловую систему HAMMER и поддержку <quote>vkernels</quote> + — запуска ядра в пользовательском режиме.</para> + </listitem> + </itemizedlist> </answer> </qandaentry> @@ -308,34 +326,31 @@ <para>Какова последняя версия &os;?</para> </question> -<!-- - Этот ответ является хаком для работы с тем фактом, что теперь имеется - несколько "последних" версий FreeBSD. ---> - <answer> <para>На любом этапе разработки &os; может существовать несколько параллельных веток. Релизы &rel.relx; выполняются из ветки &rel.stable;, а релизы &rel2.relx; выполняются из &rel2.stable;.</para> - <para>До выпуска 8.0 линейка &rel3.relx; была + <para>До выпуска 9.0 линейка &rel2.relx; была известна как <emphasis>-STABLE</emphasis>. - Однако к моменту выхода 8.0 линейка &rel3.relx; + Однако к моменту выхода &rel.head.relx; линейка &rel2.relx; получит статус <quote>extended support</quote> (расширенная поддержка), и исправления будут вноситься только для серьезных - проблем, к примеру исправления, связанные с безопасностью. Из - ветки &rel3.stable; новые релизы выпускаться не будут, ветка + проблем, к примеру исправления, связанные с безопасностью. + <!--Из + ветки &rel2.stable; новые релизы выпускаться не будут, ветка считается <quote>legacy</quote> (устаревшая), и большинство текущих изменений будет уже частью только &rel.stable; и - &rel2.stable;.</para> + &rel2.stable;.--></para> - <para>Версия <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/"> - &rel.current;</link>, выпущенная &rel.current.date;, является - самым последним релизом в ветке &rel.stable;. - Версия <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/"> - &rel2.current;</link>, выпущенная &rel2.current.date;, является - самым последним релизом в ветке &rel2.stable;.</para> + <para>Версия <link + xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE/">&rel.current;</link>, + дата выхода &rel.current.date;, является последним релизом + в ветке &rel.stable;. Версия <link + xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">&rel2.current;</link>, + дата выхода &rel2.current.date;, является последним + релизом в ветке &rel2.stable;.</para> <para>Если вкратце, то ветка <emphasis>-STABLE</emphasis> предназначена поставщикам услуг Internet, корпоративным @@ -343,10 +358,10 @@ надёжность и минимальное количество отличий от последнего релиза по сравнению с новыми (и, возможно, ненадёжно работающими) возможностями последнего снэпшота <emphasis>-CURRENT</emphasis>. - Релизы можно делать из любой ветки, но - <emphasis>-CURRENT</emphasis> можно использовать только в том - случае, если вы уверены, что готовы к постоянным (по - сравнению со <emphasis>-STABLE</emphasis>) изменениям в работе + Релизы можно делать из любой ветки, но + <emphasis>-CURRENT</emphasis> предназначен для + пользователей, которые готовы к постоянным (по сравнению + со <emphasis>-STABLE</emphasis>) изменениям в работе системы.</para> <para>Релизы делаются <link linkend="release-freq">раз в @@ -355,9 +370,11 @@ вопросы о <link linkend="current">&os.current;</link> и <link linkend="stable">&os.stable;</link>), делать это не обязательно, так как исходные тексты постоянно меняются.</para> - <para>Более полную информацию о релизах &os; можно получить со - страницы о <link xlink:href="http://www.FreeBSD.org/releng/index.html"> - Процессе выпуска релизов</link> на Web-сайте &os;.</para> + <para>Более полную информацию о релизах &os; можно получить + на странице <link + xlink:href="http://www.FreeBSD.org/ru/releng/index.html">Информации + о подготовке релизов</link> и на странице Справочника + &man.release.7;.</para> </answer> </qandaentry> @@ -367,30 +384,28 @@ </question> <answer> - <para><link xlink:href="&url.books.handbook;/current-stable.html#CURRENT"> + <para><link + xlink:href="&url.books.handbook;/current-stable.html#current"> &os.current;</link> - это версия операционной системы, находящаяся в стадии разработки, которая должна потом стать новой веткой &os.stable;. Таким образом, она представляет реальный интерес только для разработчиков системы и её фанатов. - Обратитесь к <link xlink:href="&url.books.handbook;/current-stable.html#CURRENT"> + Обратитесь к <link + xlink:href="&url.books.handbook;/current-stable.html#current"> соответствующему разделу</link> <link xlink:href="&url.books.handbook;/index.html"> Руководства</link> для прояснения деталей работы с <emphasis>-CURRENT</emphasis>.</para> - <para>Если вы не специалист по операционным системам или не в - состоянии отличить реальную проблему от временных явлений, вы не - должны использовать &os.current;. Эта ветвь зачастую меняется - очень быстро и иногда может быть не работоспособна. - Те, кто используют &os.current;, должны быть - в состоянии анализировать любые проблемы и сообщать о них, если - это действительно ошибки, а не <quote>глюки</quote>. Сообщения - типа <quote>make world produces some error about groups</quote>, - отправленные в &a.current;, могут быть восприняты - пренебрежительно.</para> - - <para>Ежемесячно из веток <emphasis>-CURRENT</emphasis> и - <emphasis>-STABLE</emphasis> делаются <link xlink:href="&url.base;/snapshots/">снэпшоты</link>. + <para>Пользователям, не знакомым с &os;, не + следует использовать &os.current;. Эта ветвь зачастую меняется + очень быстро и иногда из-за ошибок может быть не работоспособна. + Те, кто используют &os.current;, должны быть в состоянии + изучить проблему, найти причину и сообщить о этом.</para> + + <para>Из веток <emphasis>-CURRENT</emphasis> и + <emphasis>-STABLE</emphasis> выпускаются <link + xlink:href="&url.base;/snapshots/">снэпшоты</link> &os;. Их предназначение:</para> <itemizedlist> @@ -409,7 +424,8 @@ <listitem> <para>Фиксация точки для последующих ссылок в случае, - если позже мы что-нибудь очень сильно сломаем. (Хотя CVS, как + если позже мы что-нибудь очень сильно сломаем. (Хотя + Subversion, как правило, не позволяет случиться ничему такому ужасному.)</para> </listitem> @@ -421,17 +437,15 @@ <para>Не утверждается, что всякий снэпшот <emphasis>-CURRENT</emphasis> имеет качество - <quote>готового продукта</quote>. Если вам нужна стабильно - работающая и полностью оттестированная система, то необходимо - дождаться выхода полного релиза или воспользоваться снэпшотами - <emphasis>-STABLE</emphasis>.</para> + <quote>готового продукта</quote>. Если нужна стабильно + работающая и полностью оттестированная система, то + придерживайтесь использования полных релизов или + используйте снэпшоты <emphasis>-STABLE</emphasis>.</para> <para>Снэпшот-релизы доступны непосредственно <link xlink:href="&url.base;/snapshots/">отсюда</link>.</para> - <para>Официальные снэпшоты постоянно генерируются каждый месяц - для всех активно разрабатываемых веток. Также ежедневно - делаются снэпшоты популярных веток &arch.i386; и &arch.amd64; - и доступны на <uri xlink:href="http://snapshots.us.freebsd.org/">http://snapshots.us.freebsd.org/</uri>.</para> + <para>Официальные снэпшоты постоянно генерируются + для всех активно разрабатываемых веток.</para> </answer> </qandaentry> @@ -442,9 +456,10 @@ <answer> <para>После того, как была выпущена &os; 2.0.5, разработка &os; - разделилась на две части. Одна ветка получила название <link xlink:href="&url.books.handbook;/current-stable.html#STABLE"> - -STABLE</link>, а другая <link xlink:href="&url.books.handbook;/current-stable.html#CURRENT"> - -CURRENT</link>. + разделилась на две части. Одна ветка получила название <link + xlink:href="&url.books.handbook;/current-stable.html#stable">-STABLE</link>, + а другая <link + xlink:href="&url.books.handbook;/current-stable.html#current">-CURRENT</link>. <emphasis>&os;-STABLE</emphasis> предназначена для провайдеров услуг Интернет и других коммерческих пользователей, для которых неожиданные @@ -456,24 +471,13 @@ разрываемой с момента выхода версии 2.0 и ведущей к &rel.current;-RELEASE и последующим релизам. Для получения более подробной информации по веткам обратитесь к - разделу статьи <quote><link xlink:href="&url.articles.releng;/release-proc.html#REL-BRANCH"> + разделу статьи <quote><link + xlink:href="&url.articles.releng;/release-proc.html#rel-branch"> Подготовка релизов &os;: Создание ветки релиза</link></quote>. Статус веток и расписание предстоящих релизов можно получить на странице <link xlink:href="http://www.FreeBSD.org/releng">Информация о подготовке релизов</link>.</para> - <para>Ветвь 2.2-STABLE была завершена выходом релиза 2.2.8. Ветвь - 3-STABLE была завершена выходом релиза 3.5.1, последнего из - 3.<replaceable>X</replaceable>. Ветвь 4-STABLE была завершена - выходом релиза 4.11, последнего из 4.<replaceable>X</replaceable>. - Единственными изменениями в этих ветвях могут быть только - исправления ошибок, касающихся безопасности. Поддержка ветви - 5-STABLE была завершена выходом релиза 5.5, последнего из - 5.<replaceable>X</replaceable>. Поддержка ветви 6-STABLE - продолжится некоторое время, но в основном будет касаться - исправления ошибок в информационной защите и других серьёзных - вопросах.</para> - <para>Активно разрабатываемой веткой <emphasis>-STABLE</emphasis> является &rel.current;-STABLE. Последним релизом в ветке &rel.current;-STABLE является @@ -511,8 +515,8 @@ страницах Web-сайта &os;, посвящённых <link xlink:href="http://www.FreeBSD.org/releng/index.html">выпуску релизов</link>.</para> - <para>Для тех, кому нужно или хочется, ежедневно выпускаются - бинарные релизы, как это описано выше.</para> + <para>Для тех, кому нужно или хочется, еженедельно выпускаются + бинарные снапшоты, как описано выше.</para> </answer> </qandaentry> @@ -527,7 +531,8 @@ может добавлять код к дереву исходных текстов, принимаются <link xlink:href="&url.base;/administration.html#t-core">основной командой</link> разработчиков (Core Team), состоящей из 9 человек. Также существует многочисленная группа, состоящая из более чем 350 - так называемых <link xlink:href="&url.articles.contributors;/article.html#STAFF-COMMITTERS"> + так называемых <link + xlink:href="&url.articles.contributors;/article.html#staff-committers"> коммиттеров</link> (committers), которые могут вносить изменения прямо в дерево исходных текстов &os;.</para> @@ -548,28 +553,27 @@ <itemizedlist> <listitem> - <para>Последний релиз &rel.stable;, &rel.current;-RELEASE, - можно найти в <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE"> - каталоге с &rel.current;-RELEASE</link>.</para> + <para>Последний релиз &rel.stable;, + &rel.current;-RELEASE, можно найти в <link + xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/&rel.current;-RELEASE">каталоге + &rel.current;-RELEASE</link>.</para> </listitem> <listitem> - <para><link xlink:href="&url.base;/snapshots/"> - Снэпшот-релизы</link> для веток <link linkend="current">-CURRENT</link> и <link linkend="stable">-STABLE</link> выпускаются ежемесячно, но - они нужны исключительно для разработчиков и тех, кто тестирует - самые последние наработки.</para> + <para><link + xlink:href="&url.base;/snapshots/">Снэпшот-релизы</link> + для веток <link linkend="current">-CURRENT</link> и + <link linkend="stable">-STABLE</link> выпускаются + ежемесячно, но они нужны исключительно для + разработчиков и тех, кто тестирует самые последние + наработки.</para> </listitem> <listitem> - <para>Последний релиз &rel2.stable;, &rel2.current;-RELEASE, - можно найти в <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/"> - каталоге с &rel2.current;-RELEASE</link>.</para> - </listitem> - - <listitem> - <para>Последний релиз &rel3.stable;, &rel3.current;-RELEASE, - можно найти в <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel3.current;-RELEASE/"> - каталоге с &rel3.current;-RELEASE</link>.</para> + <para>Последний релиз &rel2.stable;, + &rel2.current;-RELEASE, можно найти в <link + xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel2.current;-RELEASE/">каталоге + &rel2.current;-RELEASE</link>.</para> </listitem> </itemizedlist> @@ -585,32 +589,20 @@ </question> <answer> - <para>База данных всех сообщений пользователей о проблемах может быть - запрошена с помощью нашего <link xlink:href="http://www.FreeBSD.org/cgi/query-pr.cgi?query"> - Web-интерфейса</link>.</para> + <para>База данных всех сообщений пользователей о проблемах + может быть запрошена с помощью нашего <link + xlink:href="https://bugs.FreeBSD.org/search/">Web-интерфейса</link>.</para> - <para>Команда &man.send-pr.1; может быть использована для передачи - и изменения сообщений о проблемах через электронную почту. - Альтернативно можно использовать <link xlink:href="http://www.freebsd.org/send-pr.html">Web-интерфейс для отсылки - сообщений об ошибках</link> через браузер.</para> + <para>Можно использовать <link + xlink:href="&url.base;/support/bugreports.html">Web-интерфейс</link> + для отсылки сообщений об ошибках через браузер.</para> - <para>Перед тем, как посылать сообщение об ошибке, пожалуйста, + <para>Перед тем, как посылать сообщение об ошибке, прочтите статью <link xlink:href="&url.articles.problem-reports;/article.html">Составление сообщений о проблеме во &os;</link> о том, как писать хорошие сообщения об ошибках.</para> </answer> </qandaentry> - - <qandaentry> - <question xml:id="other-info-sources"> - <para>Другие источники информации.</para> - </question> - - <answer> - <para>Пожалуйста, посмотрите список имеющейся <link xlink:href="http://www.FreeBSD.org/docs.html">документации</link> на - главной странице сайта <link xlink:href="http://www.FreeBSD.org">&os;</link>.</para> - </answer> - </qandaentry> </qandaset> </chapter> @@ -624,11 +616,15 @@ </question> <answer> - <para>В рамках проекта создан широкий спектр документации, которая - доступна on-line по следующей ссылке: <uri xlink:href="http://www.FreeBSD.org/docs.html">http://www.FreeBSD.org/docs.html</uri>. Кроме того, - в <link linkend="bibliography">Библиографии</link> - в конце этого FAQ и в <link xlink:href="&url.books.handbook;/bibliography.html">Руководстве</link> - имеются ссылки на другие рекомендуемые для чтения книги.</para> + <para>В рамках проекта создан широкий спектр документации, + которая доступна on-line по следующей ссылке: <uri + xlink:href="http://www.FreeBSD.org/docs.html">http://www.FreeBSD.org/docs.html</uri>. + Кроме того, в <link + linkend="bibliography">Библиографии</link> в конце этого + <acronym>FAQ</acronym> и в <link + xlink:href="&url.books.handbook;/bibliography.html">Руководстве</link> + имеются ссылки на другие рекомендуемые для чтения + книги.</para> </answer> </qandaentry> @@ -655,10 +651,9 @@ <listitem> <para>Язык и кодировка документа. Они опираются на имена - локализаций, которые вы найдёте в каталоге - <filename>/usr/share/locale</filename> - вашей системы &os;. - На данный момент для документации поддерживаются следующие + локализаций, которые находятся в каталоге + <filename>/usr/share/locale</filename> в системе &os;. + На данный момент поддерживаются следующие языки и кодировки:</para> <informaltable frame="none" pgwide="1"> @@ -781,17 +776,17 @@ </row> <row> - <entry><literal>zh_CN.GB2312</literal></entry> + <entry><literal>zh_CN.UTF-8</literal></entry> <entry>Упрощённый китайский (Китай, кодировка - GB2312)</entry> + UTF-8)</entry> </row> <row> - <entry><literal>zh_TW.Big5</literal></entry> + <entry><literal>zh_TW.UTF-8</literal></entry> <entry>Традиционный китайский (Тайвань, кодировка - Big5)</entry> + UTF-8)</entry> </row> </tbody> </tgroup> @@ -854,7 +849,7 @@ <row> <entry><literal>rtf</literal></entry> - <entry>Rich Text Format от Microsoft</entry> + <entry>Rich Text Format от µsoft;</entry> </row> <row> @@ -879,8 +874,7 @@ </listitem> <listitem> - <para>Способ сжатия и создания архива. Сейчас используется - три варианта.</para> + <para>Способ сжатия и создания архива.</para> <orderedlist> <listitem> @@ -891,43 +885,14 @@ </listitem> <listitem> - <para>Все другие форматы генерируют один файл с именем - <filename>type.format</filename> - (то есть <filename>article.pdf</filename>, - <filename>book.html</filename>, и так далее).</para> - - <para>Эти файлы затем сжимаются по двум схемам сжатия.</para> - - <informaltable frame="none" pgwide="1"> - <tgroup cols="2"> - <thead> - <row> - <entry>Схема</entry> - - <entry>Описание</entry> - </row> - </thead> - - <tbody> - <row> - <entry><literal>zip</literal></entry> - - <entry>Формат <literal>zip</literal>. Если - вам нужно будет развернуть это во &os;, то - потребуется установить сначала порт <package>archivers/unzip</package>.</entry> - </row> - - <row> - <entry><literal>bz2</literal></entry> - - <entry>Формат <literal>bzip2</literal>. - Используется реже, чем Zip, но, как правило, - даёт файлы меньшего размера. Чтобы работать - с такими файлами, установите порт <package>archivers/bzip2</package>.</entry> - </row> - </tbody> - </tgroup> - </informaltable> + <para>Все другие форматы генерируют один файл. + Например, <filename>article.pdf</filename>, + <filename>book.html</filename>, и так далее.</para> + + <para>Эти файлы затем сжимаются по двум схемам сжатия, + <literal>zip</literal> или <literal>bz2</literal>. + Для работы с этими файлами можно использовать + &man.tar.1;.</para> <para>Таким образом, сжатая в <literal>bzip2</literal> версия Руководства в формате &postscript;, будет @@ -939,48 +904,39 @@ </listitem> </itemizedlist> - <para>После выбора формата и способа компрессии, в котором вы хотите - получить файл, вам нужно самим - сгрузить упакованные файлы, распаковать их, а затем скопировать + <para>После выбора формата и способа компрессии, сгрузите + упакованные файлы, распакуйте их, а затем скопируйте документацию в соответствующие места.</para> - <para>Например, версия FAQ в виде отдельных HTML-файлов, упакованная + <para>Например, версия <acronym>FAQ</acronym> в виде + отдельных HTML-файлов, упакованная при помощи &man.bzip2.1;, находится в файле <filename>doc/ru_RU.KOI8-R/books/faq/book.html-split.tar.bz2</filename>. - Для сгрузки и распаковки этого файла вам нужно сделать вот - что.</para> + Для сгрузки и распаковки этого файла наберите:</para> <screen>&prompt.root; <userinput>fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput> -&prompt.root; <userinput>bzip2 -d book.html-split.tar.bz2</userinput> -&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen> +&prompt.root; <userinput>tar xvf book.html-split.tar.bz2</userinput></screen> - <para>У вас получится набор файлов <filename>.html</filename>. + <para>Если файл сжат, <application>tar</application> + автоматически определит подходящий формат и корректно + распакует файл в набор файлов <filename>.html</filename>. Главным является <filename>index.html</filename>, и в нём - находится оглавление, вводный материал и ссылки на остальные части - документа. После этого вы их можете копировать и перемещать при - необходимости на окончательное местоположение.</para> + находится оглавление, вводный материал и ссылки на + остальные части документа.</para> </answer> </qandaentry> <qandaentry> <question xml:id="mailing"> - <para>Где найти информацию по спискам рассылки &os;?</para> - </question> - - <answer> - <para>Исчерпывающая информация содержится в <link xlink:href="&url.books.handbook;/eresources.html#ERESOURCES-MAIL"> - разделе</link> - Руководства, который посвящён спискам рассылки.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="newsgroups"> - <para>Какие существуют телеконференции по &os;?</para> + <para>Где найти информацию по спискам рассылки &os;? + Какие существуют телеконференции по &os;?</para> </question> <answer> - <para>Полная информация о группах новостей есть в <link xlink:href="&url.books.handbook;/eresources-news.html">разделе</link> + <para>Исчерпывающая информация содержится в <link + xlink:href="&url.books.handbook;/eresources.html#eresources-mail">разделе</link> + Руководства, который посвящён спискам рассылки, и в <link + xlink:href="&url.books.handbook;/eresources-news.html">разделе</link> Руководства, касающемся телеконференций.</para> </answer> </qandaentry> @@ -996,41 +952,27 @@ <itemizedlist> <listitem> - <para>Канал <literal>#FreeBSD</literal> в сети <link xlink:href="http://www.efnet.org/index.php">EFNet</link> посвящён - &os;, но не обращайтесь туда за технической поддержкой и - даже не пытайтесь найти человека, который поможет вам - обойтись без чтения страниц Справочника или собственных - изысканий. Этот канал предназначен в первую и основную - очередь для общения, и в круг обсуждаемых тем входят секс, - спорт, ядерное оружие, как будто это и есть &os;. В - общем, вас предупредили! Канал доступен на сервере - <systemitem>irc.efnet.org</systemitem>.</para> + <para>Канал <literal>#FreeBSDhelp</literal> в сети <link + xlink:href="http://www.efnet.org/index.php">EFNet</link> + предназначен для помощи пользователям &os;.</para> </listitem> <listitem> - <para>Канал <literal>#FreeBSDhelp</literal> в сети <link xlink:href="http://www.efnet.org/index.php">EFNet</link> - предназначен для помощи пользователям &os;. Здесь гораздо - более благосклонно относятся к вопросам, чем на канале - <literal>#FreeBSD</literal>.</para> - </listitem> - - <listitem> - <para>Канал <literal>##FreeBSD</literal> в сети + <para>Канал <literal>#FreeBSD</literal> в сети <link xlink:href="http://freenode.net/">Freenode</link> предназначен для помощи общего характера, на нём в любое время присутствует много посетителей. Общение в течение уже некоторого времени известно своей тенденцией сводиться к разговорам не по теме, но приоритет - отдается пользователям с вопросами по &os;. Мы рады - помочь разобраться в основах, отсылая к Руководству по мере - возможности и направляя вас туда, где вы сможете более - глубоко изучить интересующие вас темы. В целом, мы - являемся англоговорящим каналом, несмотря на то, что к нам - приходят пользователи со всего мира. Если вы пожелаете - общаться на родном языке, то попробуйте попросить об этом - на английском и затем перейдите на другой канал - <literal>##freebsd-lang</literal> - по мере необходимости.</para> + отдается пользователям с вопросами по &os;. Другие + пользователи помогут разобраться в основах, + отсылая к Руководству по мере возможности и предлагая + ссылки для более глубокого изучения интересующих тем. + Это преимущественно англоговорящий канал, но туда + приходят пользователи со всего мира. Тем, для кого + английский не является родным, следует сперва задать + вопрос на английском и затем перейти на подходящий + канал <literal>##freebsd-lang</literal>.</para> </listitem> <listitem> @@ -1052,7 +994,7 @@ <link xlink:href="http://www.rusnet.org.ru/">RUSNET</link> это канал для русскоговорящих посетителей, посвящённый помощи пользователям &os;. Также это хорошее место - для не технических дискуссий.</para> + для нетехнических дискуссий.</para> </listitem> <listitem> @@ -1061,18 +1003,17 @@ это канал для посетителей, говорящих на китайском традиционном языке (кодировка UTF-8), посвящённый помощи пользователям &os;. Также это хорошее место - для не технических дискуссий.</para> + для нетехнических дискуссий.</para> </listitem> </itemizedlist> - <para>Все эти каналы разные и не имеют отношения друг к другу. Их - стили общения также отличаются, так что вам, может быть, придётся - попробовать все, чтобы найти тот, который соответствует вашему - стилю. Как и обычно с <emphasis>любым</emphasis> каналом IRC, - если вы легко раздражаетесь или не можете иметь дела с большим - количеством лиц школьного (и младшего школьного) возраста, - пытающихся озвучить свои попытки самоутвердиться, не обращайте на - это внимания.</para> + <para>На &os; wiki имеется <link + xlink:href="http://wiki.freebsd.org/IrcChannels">хороший список</link> + каналов IRC.</para> + + <para>Все каналы разные и не имеют отношения друг к другу. + Поскольку их стили общения отличаются, попробуйте каждый, + пока не найдёте подходящий вашему стилю общения.</para> </answer> </qandaentry> @@ -1082,7 +1023,7 @@ </question> <answer> - <para>Официальные форумы &os; расположены по адресу <link xlink:href="http://forums.FreeBSD.org/">http://forums.FreeBSD.org/</link>.</para> + <para>Официальные форумы &os; расположены по адресу <link xlink:href="https://forums.FreeBSD.org/">https://forums.FreeBSD.org/</link>.</para> </answer> </qandaentry> @@ -1102,9 +1043,10 @@ <para>BSD Certification Group, Inc. предоставляет сертификацию системного администрирования DragonFly BSD, &os;, - NetBSD, OpenBSD. Если вы в этом заинтересованы, посетите - <link xlink:href="http://www.BSDCertification.org">их - сайт</link>.</para> + NetBSD и OpenBSD. Для получения дополнительной информации + посетите <link + xlink:href="http://www.BSDCertification.org">их + сайт</link>.</para> <para>Чтобы попасть в этот список, другие организации, осуществляющие обучение и поддержку, должны обратиться к @@ -1121,658 +1063,232 @@ </affiliation></author> </info> - - <qandaset> <qandaentry> - <question xml:id="floppy-download"> - <para>Какой файл нужно скачать для установки &os;?</para> + <question xml:id="which-architecture"> + <para>Какую архитектуру нужно загрузить? У меня есть + 64-разрядный процессор &intel;, но я вижу только + <literal>amd64</literal>.</para> </question> <answer> - <para>Вам нужны образы трёх дискет: - <filename>floppies/boot.flp</filename>, - <filename>floppies/kern1.flp</filename> и - <filename>floppies/kern2.flp</filename>. Эти образы нужно - перенести на дискеты с помощью таких утилит, как - <command>fdimage</command> или &man.dd.1;.</para> - - <para>Если вы хотите скачать дистрибутив самостоятельно (например, - для установки с раздела DOS), вот список рекомендованных частей - дистрибутива:</para> - - <itemizedlist> - <listitem> - <para>base/</para> - </listitem> - - <listitem> - <para>manpages/</para> - </listitem> - - <listitem> - <para>compat*/</para> - </listitem> - - <listitem> - <para>doc/</para> - </listitem> - - <listitem> - <para>src/ssys.*</para> - </listitem> - </itemizedlist> - - <para>Полные инструкции по этой процедуре и об установке вообще можно - найти в <link xlink:href="&url.books.handbook;/install.html"> - разделе</link> Руководства, посвящённом установке &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="floppy-image-too-large"> - <para>Помогите! Загрузочный файл не помещается на дискету!</para> - </question> - - <answer> - <para>На дискету размером 3.5 дюйма (1.44 Мбайт) может - поместиться 1,474,560 байт данных. Образ дискеты имеет - размер ровно 1,474,560 байт.</para> - - <para>Типичные ошибки при подготовке загрузочной дискеты:</para> - - <itemizedlist> - <listitem> - <para>Образ дискеты был загружен по FTP не в режиме - <emphasis>binary</emphasis>.</para> - - <para>Некоторые клиентские программы FTP используют по умолчанию - текстовый (<emphasis>ascii</emphasis>) режим передачи и - пытаются поменять все принятые последовательности символов - "конец строки" на соответствующие им в вашей системе. В таком - случае образ загрузочного диска будет неизбежно испорчен. - Проверьте размер полученного файла: если он не - <emphasis>точно</emphasis> такой же, как на FTP-сервере, то - ошибка произошла, скорее всего, в процессе передачи.</para> - - <para>Во избежание этого введите команду - <emphasis>binary</emphasis> в командной строке FTP после того, - как вы подключитесь к серверу, но до того, как начали - скачивать файл.</para> - </listitem> - - <listitem> - <para>Для переноса образа на дискету была использована команда DOS - <command>copy</command> (или её аналог с графическим - интерфейсом).</para> - - <para>Программы типа <command>copy</command> не работают с - образами дискет, предназначенными для загрузки. Образ содержит - полное содержимое дискеты, дорожка за дорожкой, и не - предназначен для помещения на дискету в качестве обычного - файла. Вам необходимо перенести его на дискету - <quote>непосредственно</quote>, используя низкоуровневые - средства (такие, как <command>fdimage</command> или - <command>rawrite</command>), описанные в <link xlink:href="&url.books.handbook;/install.html"> - Руководстве</link>.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="install-instructions-location"> - <para>Где инструкции по установке &os;?</para> - </question> - - <answer> - <para>Инструкции по установке могут быть найдены в - <link xlink:href="&url.books.handbook;/install.html">главе</link> - Руководства, посвящённой установке &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="need-to-run"> - <para>Что мне нужно иметь для запуска &os;?</para> - </question> - - <answer> - <para>Для работы &os; необходим ПК класса 486 и - выше с оперативной памятью объёмом не менее 24 Мбайт и жёстким - диском объёмом не менее 150 Мбайт.</para> - - <para>Все версии &os; могут работать с недорогими - графическими адаптерами MDA, но для работы с &xorg; требуется - адаптер стандарта VGA или лучше.</para> - - <para>Обратитесь также к <xref linkend="hardware"/>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="custom-boot-floppy"> - <para>Как сделать оригинальную загрузочную дискету?</para> - </question> - - <answer> - <para>В настоящий момент нет <emphasis>простого</emphasis> способа - сделать оригинальную загрузочную дискету. Вам придётся делать - новый релиз полностью, включая загрузочную дискету.</para> - - <para>Чтобы сделать оригинальный релиз, следуйте инструкциям в - статье о <link xlink:href="&url.articles.releng;/article.html">процессе - выпуска релизов</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="windows-coexist"> - <para>Может ли &windows; сосуществовать с &os;?</para> - </question> - - <answer> - <para>Сначала установите &windows;, а затем &os;. Менеджер - загрузки &os; будет управлять процессом загрузки &windows; или - &os;. Если после этого вы ещё раз выполните процедуру установки - &windows;, то при этом менеджер загрузки будет грубо - удалён. Если такое случится, обратитесь к следующему - разделу.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="win95-damaged-boot-manager"> - <para>&windows; уничтожила мой менеджер загрузки! Как мне его - вернуть?</para> - </question> - - <answer> - <para>Вы можете переустановить менеджер загрузки &os; тремя - способами:</para> - - <itemizedlist> - <listitem> - <para>Запустите DOS, перейдите в каталог <filename>tools</filename> вашего - дистрибутива &os; и найдите программу - <filename>bootinst.exe</filename>. Запустите её следующим - образом:</para> - - <screen><prompt>...\TOOLS></prompt> <userinput>bootinst.exe boot.bin</userinput></screen> - - <para>и менеджер загрузки будет переустановлен.</para> - </listitem> - - <listitem> - <para>Загрузитесь с установочной дискеты &os; и перейдите в - меню установки <guimenuitem>Custom</guimenuitem>. Выберите - пункт <guimenuitem>Partition</guimenuitem>. Выберите - устройство, на котором будет располагаться ваш менеджер - загрузки (это будет самый первый диск) и когда вы перейдете - к редактированию разделов, первым делом (то есть ещё не - делая никаких изменений) нажмите <keycap>W</keycap>. - Последует запрос на подтверждение, выберите &gui.yes;, и - когда вы попадёте в меню выбора менеджера загрузки, выберите - пункт <application>&os; Boot Manager</application>. - Менеджер загрузки будет переписан на диск. Теперь нужно - выйти из меню установки и загрузиться с винчестера как - обычно.</para> - </listitem> - - <listitem> - <para>Загрузитесь с установочной дискеты (или компакт-диска) - &os; и найдите пункт меню <guimenuitem>Fixit</guimenuitem>. - Выберите - Fixit floppy или CD-ROM #2 (<quote>живая</quote> файловая - система) соответственно вашему случаю и вы окажетесь в - приглашении командного процессора. - Теперь выполните следующую команду:</para> - - <screen><prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 bootdevice</userinput></screen> - - <para>подставив вместо <replaceable>bootdevice</replaceable> - название реально используемого для загрузки устройства, - например, <filename>ad0</filename> (первый диск IDE), - <filename>ad4</filename> (первый диск IDE на дополнительном - контроллере), <filename>da0</filename> (первый диск SCSI) и - тому подобное.</para> - </listitem> - </itemizedlist> + <para>&arch.amd64; — это термин, применяемый во &os; + для обозначения 64-разрядной архитектуры x86 (также + известна как "x86-64" или "x64"). На большинстве + современных компьютеров следует использовать &arch.amd64;. + Для более старых подойдёт &arch.i386;. При установке + системы на отличную от x86 архитектуру, выберите платформу, + наиболее подходящую для оборудования.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="boot-on-thinkpad"> - <para>На компьютерах IBM Thinkpad серий A, T и X операционная система - устанавливается, но при следующей перезагрузке машины зависают. - Как можно от этого избавиться?</para> + <question xml:id="floppy-download"> + <para>Какой файл нужно скачать для установки &os;?</para> </question> <answer> - <para>Из-за ошибки в первых версиях BIOS от IBM раздел &os; на - этих машинах распознаётся как возможный служебный раздел FAT для - режима сна. Когда BIOS пытается обработать раздел &os;, - происходит зависание.</para> + <para>На странице <link + xlink:href="http://www.freebsd.org/ru/where.html">Получение + &os;</link> выберите <literal>[iso]</literal> с + соответствующей оборудованию архитектурой.</para> - <para>Согласно IBM<footnote> <para>Письмо от Keith Frechette - <email>kfrechet@us.ibm.com</email>.</para></footnote>, - исправление включено в следующие релизы моделей/BIOS.</para> + <para>Можно использовать любой из:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> - <entry>Модель</entry> - - <entry>Номер версии BIOS</entry> + <entry>файл</entry> + <entry>описание</entry> </row> </thead> <tbody> <row> - <entry>T20</entry> - - <entry>IYET49WW и выше</entry> - </row> - - <row> - <entry>T21</entry> - - <entry>KZET22WW и выше</entry> + <entry><filename>disc1.iso</filename></entry> + <entry>Содержит достаточно для установки &os; и + минимальный набор пакетов.</entry> </row> <row> - <entry>A20p</entry> - - <entry>IVET62WW и выше</entry> + <entry><filename>dvd1.iso</filename></entry> + <entry>Наподобие <filename>disc1.iso</filename>, + но с дополнительными пакетами.</entry> </row> <row> - <entry>A20m</entry> - - <entry>IWET54WW и выше</entry> + <entry><filename>memstick.img</filename></entry> + <entry>Образ с автозагрузкой для записи + на USB флешку.</entry> </row> <row> - <entry>A21p</entry> - - <entry>KYET27WW и выше</entry> - </row> - - <row> - <entry>A21m</entry> - - <entry>KXET24WW и выше</entry> - </row> - - <row> - <entry>A21e</entry> - - <entry>KUET30WW</entry> + <entry><filename>bootonly.iso</filename></entry> + <entry>Минимальный образ, требующий сетевое + подключение для завершения установки &os;.</entry> </row> </tbody> </tgroup> </informaltable> - <para>Сообщалось, что в более поздних версиях BIOS от IBM эта - ошибка может появиться снова. <link xlink:href="http://docs.FreeBSD.org/cgi/mid.cgi?20010427133759.A71732">Это - сообщение</link> от &a.nectar.email; в &a.mobile; описывает - процедуру, выполнение которой может помочь, если ваш новый лэптоп - от IBM не загружает &os;, и вы можете изменить BIOS.</para> - - <para>Если у вас BIOS более ранней версии и обновление для вас не - представляется возможным, то это можно обойти, установив &os;, - изменив идентификатор раздела, используемый &os; и установив - новые загрузочные блоки, которые могут работать с различными ID - разделов.</para> - - <para>Во-первых, вам нужно привести компьютер в состояние, когда он - проходит через экран самотестирования. Для этого требуется включить - машину, не позволяя ей найти раздел &os; на ведущем диске. Одним - из способов сделать это является извлечение винчестера и временное - его установка на более старый ThinkPad (такой, как ThinkPad 600) или - настольный ПК с подходящим переходным кабелем. Здесь вы можете - удалить раздел &os; и вернуть диск на место. ThinkPad должен - загружаться снова.</para> - - <para>С работающей машиной вы можете использовать процедуру, описанную - здесь, для получения рабочей системы &os;.</para> - - <procedure> - <step> - <para>Сгрузите файлы <filename>boot1</filename> и - <filename>boot2</filename> по адресу <uri xlink:href="http://people.FreeBSD.org/~bmah/ThinkPad/">http://people.FreeBSD.org/~bmah/ThinkPad/</uri>. - Поместите эти файлы куда-нибудь, откуда вы сможете их потом - взять.</para> - </step> - - <step> - <para>Установите &os; обычным образом на ThinkPad. - <emphasis>Не используйте</emphasis> режим <literal>Dangerously - Dedicated</literal>. <emphasis>Не перезагружайтесь</emphasis> - после окончания установки.</para> - </step> - - <step> - <para>Переключитесь в экран <quote>Emergency Holographic - Shell</quote> (<keycombo action="simul"><keycap>Alt</keycap> - <keycap>F4</keycap></keycombo>) или запустите оболочку - <quote>fixit</quote>.</para> - </step> - - <step> - <para>Используйте команду &man.fdisk.8; для изменения - идентификатора раздела &os; со <literal>165</literal> на - <literal>166</literal> (этот тип используется в OpenBSD).</para> - </step> - - <step> - <para>Перепишите файлы <filename>boot1</filename> и - <filename>boot2</filename> на локальную файловую систему.</para> - </step> - - <step> - <para>Для записи <filename>boot1</filename> и - <filename>boot2</filename> на слайс с &os; воспользуйтесь - командой &man.disklabel.8;.</para> - - <screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0sn</userinput></screen> - - <para>Здесь <replaceable>n</replaceable> означает номер слайса, - в котором установлена &os;.</para> - </step> - - <step> - <para>Выполните перезагрузку. В приглашении загрузчика вам будет - дан выбор для загрузки <literal>OpenBSD</literal>. На самом - деле при этом загружается &os;.</para> - </step> - </procedure> + <para>Пользователям &arch.pc98; нужны образы дискет: + <filename>floppies/boot.flp</filename>, + <filename>floppies/kern1.flp</filename>, + <filename>floppies/kern2.flp</filename> и + <filename>floppies/mfsroot1.flp</filename>. Эти образы + нужно перенести на дискеты с помощью таких утилит, как + &man.dd.1;.</para> - <para>Случай, когда вы хотите загружать OpenBSD и &os; на одном и - том же лэптопе, оставлен читателю в качестве упражнения.</para> + <para>Полные инструкции по этой процедуре и об установке вообще можно + найти в <link xlink:href="&url.books.handbook;/install.html"> + разделе</link> Руководства, посвящённом установке &os;.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="install-bad-blocks"> - <para>Можно ли производить установку на диск с повреждёнными - блоками?</para> + <question xml:id="floppy-image-too-large"> + <para>Помогите! Установочный образ не загружается!</para> </question> <answer> - <para>Вы можете это сделать, но это плохая идея.</para> + <para>Это может быть вызвано тем, что образ был загружен по + FTP не в режиме <emphasis>binary</emphasis>.</para> - <para>Если вы обнаружите испорченные блоки на современном диске IDE, - то весьма вероятно, что он скоро выйдет из строя совсем - (собственная способность переносить испорченные блоки исчерпана, - что означает очень большую порчу поверхности); мы рекомендуем - приобрести новый диск.</para> + <para>В некоторых клиентских программах FTP по умолчанию + используется текстовый (<emphasis>ascii</emphasis>) режим + передачи, в котором любые последовательности символов + "конец строки" заменяются на используемые в системе + клиента. В таком случае образ загрузочного диска будет + неизбежно испорчен. Проверьте контрольную сумму SHA-256 + полученного файла: если он не <emphasis>точно</emphasis> + такой же как на FTP-сервере, то ошибка произошла, скорее + всего, в процессе передачи.</para> - <para>Если повреждённые блоки находятся на SCSI диске, взгляните на - <link linkend="awre">такое решение</link>.</para> + <para>В случае использования командной строки FTP-клиента + введите команду <emphasis>binary</emphasis> в командной + строке FTP после подключения к серверу, но перед началом + передачи файла.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="boot-floppy-strangeness"> - <para>Странные вещи происходят при загрузке с установочного - диска!</para> + <question xml:id="install-instructions-location"> + <para>Где инструкции по установке &os;?</para> </question> <answer> - <para>Если вы видите, что машина зависает или неожиданно - перезагружается, когда вы пытаетесь загрузиться с установочной - дискеты, вы должны задать себе три вопроса:</para> - - <orderedlist> - <listitem> - <para>Вы используете новую, только что отформатированную дискету - (предпочтительно неиспользованную прямо из коробки, а не ту, - что пришла с популярным журналом и последние три года провела - под диваном)?</para> - </listitem> - - <listitem> - <para>Вы скачали образ дискеты в двоичном режиме? - (не смущайтесь, даже лучшие из нас время от времени скачивают - двоичный файл в режиме ASCII!)</para> - </listitem> - - <listitem> - <para>Если вы используете &windows; 95 или - &windows; 98, удостоверьтесь, - что вы запускаете <command>fdimage</command> или - <command>rawrite</command> в режиме чистого DOS? Эти - операционные системы могут влиять на программы, работающие - непосредственно с оборудованием, что и делает программа - создания установочного диска; даже запуск из DOS в графической - оболочке может вызвать проблемы.</para> - </listitem> - </orderedlist> - - <para>Есть сведения, что &netscape; вызывает проблемы при скачивании - загрузочного диска, так что лучше всего использовать специальную - программу FTP, если она у вас есть.</para> + <para>Инструкции по установке &os; 9.0 + и более поздних версий могут быть найдены в <link + xlink:href="&url.books.handbook;/bsdinstall.html">главе</link> + Руководства, посвящённой установке &os;. + Также имеются инструкции по установке <link + xlink:href="&url.books.handbook;/install.html">предыдущих</link> + версий &os;.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="no-install-cdrom"> - <para>Я загрузился с ATAPI CD-ROM, однако программа установки - сообщила, что CD-ROM не найден. Куда он подевался?</para> + <question xml:id="need-to-run"> + <para>Какие минимальные требования для запуска &os;?</para> </question> <answer> - <para>Обычной причиной возникновения такой проблемы является - неправильно сконфигурированный привод CD-ROM. Теперь зачастую ПК - продаются с CD-ROM, установленным как ведомое устройство на втором - контроллере IDE, но без ведущего устройства на этом контроллере. - Согласно спецификации ATAPI, такая конфигурация неверна, однако - &windows; в таком случае всё же работает, и BIOS игнорирует это при - загрузке. Вот почему BIOS может видеть CD-ROM при загрузке, а - &os; для завершения установки - нет.</para> - - <para>Переконфигурируйте вашу систему так, чтобы CD-ROM оказался либо - основным устройством на том IDE-контроллере, на котором он - установлен, либо ведомым устройством на контроллере IDE, который - имеет ведущее устройство.</para> + <para>Для работы &os; необходим ПК класса 486 и выше с + оперативной памятью объёмом не менее 64 Мбайт и + дисковым пространством не менее 1.1 Гбайт.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="install-PLIP"> - <para>Можно ли я установить систему на лэптоп через PLIP (Parallel - Line IP)?</para> + <question xml:id="custom-boot-floppy"> + <para>Как сделать собственный установочный диск?</para> </question> <answer> - <para>Да. Используйте стандартный кабель Laplink. Если необходимо, - обратитесь к <link xlink:href="&url.books.handbook;/network-plip.html"> - разделу Руководства о PLIP</link> для выяснения деталей о работе - в сети через параллельный порт.</para> + <para>Индивидуальный установочный носитель &os; можно + создать, запустив процедуру построения индивидуального + релиза. Следуйте инструкциям в статье о <link + xlink:href="&url.articles.releng;/article.html">подготовке + релизов &os;</link>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="geometry"> - <para>Какие параметры диска я должен использовать?</para> + <question xml:id="windows-coexist"> + <para>Может ли &windows; сосуществовать с &os;?</para> </question> <answer> - <note> - <para>Под <quote>параметрами</quote> диска мы понимаем число - дорожек, головок и секторов на дорожку на диске, что для простоты - обозначается как C/H/S. Именно так работает BIOS персональных - компьютеров при чтении или записи диска.</para> - </note> - - <para>Это вызывает много недоразумений у начинающих системных - администраторов. Прежде всего, <emphasis>физические</emphasis> - параметры диска SCSI не имеют никакого значения, так как &os; - работает в терминах дисковых блоков. Фактически нет такого - показателя, как <emphasis>физические параметры</emphasis>, так как - плотность размещения секторов различна по всему диску. То, что - производители называют <emphasis>физическими - параметрами</emphasis>, есть не что иное, как параметры, которые - они получили по занимаемому пространству. Для - дисков IDE, &os; работает в терминах C/H/S, но во всех - современных дисках они преобразовываются во внутреннее - представление.</para> - - <para>Имеют значение только <emphasis>логические</emphasis> - параметры. Это то, что получает BIOS, когда спрашивает - <quote>какие у тебя параметры?</quote> Затем они используются для - обращения к диску. Так как &os; использует BIOS при загрузке, - очень важно получить верные параметры. В частности, если у вас на - диске находятся несколько операционных систем, они обе должны иметь - одинаковое представление о параметрах диска. В противном случае - серьёзные проблемы при загрузке неизбежны!</para> - - <para>В случае дисков SCSI, параметры используются в зависимости от - того, включена ли поддержка расширенной трансляции на вашем - контроллере (что часто обозначается как <quote>поддержка дисков - DOS >1GB</quote> или что-то похожее). Если эта возможность - выключена, то используйте <replaceable>N</replaceable> дорожек, 64 - головки и 32 сектора на дорожку, где <replaceable>N</replaceable> - - это ёмкость диска в мегабайтах. Например, 2-гигабайтный диск - должен иметь 2048 дорожек, 64 головки и 32 сектора на - дорожку.</para> - - <para>Если трансляция <emphasis>включена</emphasis> (что обычно - используется для преодоления некоторых ограничений &ms-dos;) и - ёмкость диска превышает 1 Гбайт, используйте - <replaceable>M</replaceable> дорожек, 63 - сектора на дорожку (<emphasis>не</emphasis> 64) и 255 головок, где - <replaceable>M</replaceable> обозначает объём диска в мегабайтах, - поделённый на 7.844238 (!). Таким - образом, наш диск объёмом 2 Гбайт будет иметь 261 дорожку, 63 - сектора на дорожку и 255 головок.</para> - - <para>Если вы не уверены, или &os; ошибается при определении - параметров диска во время установки, самый простой способ решить - эту проблему - создать на диске маленький раздел DOS. После этого - BIOS должна определить параметры диска правильно (и вы всегда - можете удалить раздел DOS в редакторе разделов, если вы не хотите - его сохранить. Однако вы можете оставить его для настройки сетевых - адаптеров и тому подобных вещей.</para> - - <para>Кроме того, существует свободно доступная утилита, - распространяемая вместе с &os;, которая называется - <filename>pfdisk.exe</filename>. Вы можете найти её в каталоге - <filename>tools</filename> компакт-диска с - &os; или на различных - FTP-серверах с &os;. Эту программу можно использовать для - определения параметров, используемых другими операционными - системами, расположенными на вашем диске. Затем вы можете - использовать эти параметры в редакторе разделов.</para> + <para>Да, если &windows; установлена первой. Загрузчик + &os; будет управлять процессом выбора загрузки &windows; + или &os;. Если &windows; устанавливается следом, то это + приведёт к перезаписи загрузчика. Если такое случится, + обратитесь к следующему разделу.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="disk-divide-restrictions"> - <para>Есть ли ограничения на разбиение диска?</para> + <question xml:id="bootmanager-restore"> + <para>Другая операционная система уничтожила мой загрузчик + операционной системы! Как мне его вернуть?</para> </question> <answer> - <para>Да. Вы должны убедиться, что корневой раздел находится до - 1024 дорожки, так чтобы BIOS могла загрузить с него ядро. - (Заметьте, что это ограничение BIOS компьютера, а не - &os;).</para> + <para>Способ восстановления зависит от используемого + загрузчика. Меню выбора загрузки, используемое во &os;, + можно переустановить с помощью &man.boot0cfg.8;. + Пример для восстановления меню загрузки на диске + <replaceable>ada0</replaceable>:</para> - <para>Для диска SCSI, это, как правило, будет означать, что - корневой раздел располагается в первых 1024 Мбайтах (или в первых - 4096 Мбайтах, если включен режим расширенной трансляции - - посмотрите предыдущий вопрос). Для дисков IDE соответствующее - значение равно 504 Мбайтам.</para> - </answer> - </qandaentry> + <screen>&prompt.root; <userinput>boot0cfg -B ada0</userinput></screen> - <qandaentry> - <question xml:id="disk-manager"> - <para>Совместима ли &os; с менеджерами дисков?</para> - </question> - - <answer> - <para>&os; распознаёт <application>Ontrack Disk Manager</application> - и допускает его - использование. Другие менеджеры дисков не поддерживаются.</para> + <para>Неинтерактивный загрузчик MBR можно установить + с помощью &man.gpart.8;:</para> - <para>Если вы хотите использовать диск с &os;, вам не нужен - менеджер диска. Отконфигурируйте диск на столько пространства, - сколько сможет обработать BIOS (обычно 504 Мбайта), и - &os; распознает, сколько места у вас есть на самом деле. - Если вы используете старый диск с контроллером MFM, вам может - потребоваться точно указать &os; количество используемых - дорожек.</para> + <screen>&prompt.root; <userinput>gpart bootcode -b /boot/mbr ada0</userinput></screen> - <para>Если вы хотите использовать &os; совместно с другой - операционной системой, это можно сделать и без менеджера диска: - удостоверьтесь, что загрузочный раздел &os; и раздел для другой - операционной системы не выходят за пределы 1024 дорожки. Если вы - будете осторожны, 20 мегабайтного раздела для загрузки будет - достаточно.</para> + <para>Более сложные ситуации, включая использование дисков + GPT, рассматриваются в &man.gpart.8;.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="missing-os"> - <para>При загрузке &os; первый раз после установки выдаётся - сообщение <errorname>Missing Operating System</errorname>. В чём - дело?</para> + <question xml:id="no-install-cdrom"> + <para>Я загрузился с компакт-диска, однако программа установки + сообщила, что CD-ROM не найден. Куда он подевался?</para> </question> <answer> - <para>Это классический случай, когда &os; и DOS или другая - операционная система конфликтуют по поводу <link linkend="geometry">параметров</link> диска. Вам нужно будет - переустановить &os;, но имейте в виду, что инструкции, данные - выше, помогают всегда.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="stop-at-boot-manager"> - <para>После приглашения менеджера загрузки <prompt>F?</prompt> - ничего не происходит.</para> - </question> + <para>Обычной причиной возникновения такой проблемы является + неправильно сконфигурированный привод CD-ROM. Теперь зачастую ПК + продаются с CD-ROM, установленным как ведомое устройство на втором + контроллере IDE, но без ведущего устройства на этом контроллере. + Согласно спецификации ATAPI, такая конфигурация неверна, однако + &windows; в таком случае всё же работает, и BIOS игнорирует это при + загрузке. Вот почему BIOS может видеть CD-ROM при загрузке, а + &os; для завершения установки - нет.</para> - <answer> - <para>Это ещё один признак проблемы, описанной в предыдущем разделе. - Параметры диска в BIOS и параметры, используемые &os;, не - совпадают. Если ваш контроллер или BIOS поддерживают трансляцию - дорожек (часто обозначаемую как <literal>>1GB drive - support</literal>), попробуйте включить эту возможность и - переустановить &os;.</para> + <para>Переконфигурируйте систему так, чтобы CD-ROM оказался либо + основным устройством на том IDE-контроллере, на котором он + установлен, либо ведомым устройством на контроллере IDE, который + имеет ведущее устройство.</para> </answer> </qandaentry> <qandaentry> <question xml:id="need-complete-sources"> - <para>Нужно ли устанавливать все исходные тексты системы?</para> + <para>Нужно ли устанавливать исходные тексты системы?</para> </question> <answer> - <para>В общем случае, нет. Однако мы настоятельно рекомендуем - установить, как минимум, исходные тексты набора - <literal>base</literal>, включающий некоторые файлы, здесь - упоминаемые, и <literal>sys</literal>, в который включены исходные - тексты ядра. Для работы системы присутствия исходных текстов не - требуется, разве что для программы конфигурирования ядра - &man.config.8;. За исключением исходных текстов ядра, структура - исходных текстов системы позволяет монтировать их в режиме "только - для чтения" через NFS и генерировать выполнимые файлы программ - (из-за ограничений в исходных текстах ядра мы рекомендуем - монтировать их не прямо в <filename>/usr/src</filename>, а в - какой-нибудь другой каталог с символическими ссылками для - дублирования структуры каталогов).</para> - - <para>Наличие исходных текстов системы значительно облегчает процесс - перехода на новые версии &os;.</para> - - <para>Для выбора подмножества исходных текстов, которое вы хотите - установить, используйте пункт меню <guimenuitem>Custom</guimenuitem>, - когда находитесь в меню <guimenuitem>Distributions</guimenuitem> - программы установки.</para> + <para>В общем случае, нет. Для работы основной системы + присутствие исходных текстов не требуется. Некоторые порты + наподобие <filename role="package">sysutils/lsof</filename> + не будут собираться без установленных исходных текстов системы. + В частности, если порт собирает модуль ядра или напрямую + обращается к структурам ядра, в этом случае исходные тексты + должны быть установлены.</para> </answer> </qandaentry> @@ -1782,18 +1298,15 @@ </question> <answer> - <para>Изначально построение нового ядра в большинстве случаев - являлось неотъемлемым шагом при установке &os;, однако - последние релизы предоставляют более дружественные методы - конфигурации ядра. Выполнить конфигурацию - ядра очень просто с помощью более гибкой системы параметров - <quote>hints</quote>, которые можно задать в приглашении - загрузчика.</para> - - <para>В дальнейшем всё же стоит построить новое ядро, содержащее - только те драйверы, которые вам нужны, для того, чтобы сэкономить - немного ОЗУ, хотя для большинства систем это делать больше не - обязательно.</para> + <para>Обычно нет. Поставляемое ядро <literal>GENERIC</literal> + содержит драйвера, необходимые для типичного компьютера. + Инструмент &man.freebsd-update.8; не может использоваться + для обновления &os; с собственным ядром. Поэтому по + возможности стоит придерживаться использования ядра + <literal>GENERIC</literal>. Для компьютеров с очень + небольшим объёмом ОЗУ, таких как встраиваемые системы, + может потребоваться собственное небольшое ядро, содержащее + только необходимые драйверы.</para> </answer> </qandaentry> @@ -1805,117 +1318,19 @@ </question> <answer> - <para>По умолчанию во &os; используется формат паролей на основе - <emphasis>MD5</emphasis>. Это делается в предположении, что он - более защищён, чем традиционный формат паролей &unix;, в котором - используется схема на основе алгоритма <emphasis>DES</emphasis>. - Пароли DES остаются применимыми, если вам нужно использовать файл - паролей совместно с более старыми операционными системами, в - которых используется менее защищённый формат паролей. - &os; также позволяет использовать пароли - в более защищённом формате Blowfish. Управление выбором - используемого формата для новых паролей осуществляется через - параметр входа <literal>passwd_format</literal> в файле + <para>Во &os; 9 и выше по умолчанию используется + <emphasis>SHA512</emphasis>. Пароли DES остаются доступны + для обратной совместимости с более старыми операционными + системами, в которых используется менее защищённый формат + паролей. &os; также поддерживает пароли в форматах + Blowfish и MD5. Управление выбором используемого формата + для новых паролей осуществляется через параметр входа + <literal>passwd_format</literal> в файле <filename>/etc/login.conf</filename>, принимающий значения - <literal>des</literal>, <literal>blf</literal> (если они есть) или - <literal>md5</literal>. Более подробная информация о параметрах - входа находится на странице Справочника &man.login.conf.5;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="boot-floppy-hangs"> - <para>Загрузка с установочной дискеты прерывается на сообщении - <literal>Probing Devices...</literal>. Почему?</para> - </question> - - <answer> - <para>Если у вас установлены устройства IDE &iomegazip; или jaz;, - уберите их и попробуйте снова. Они могут мешать установочной - программе. После того, как система будет установлена, вы можете - снова подключить устройства. Надеемся, что это будет исправлено в - более поздних релизах.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="panic-on-install-reboot"> - <para>Почему появляется сообщение <errorname>panic: cant mount - root</errorname> после перезагрузки только что установленной - системы.</para> - </question> - - <answer> - <para>Эта ошибка проявляется, когда есть несогласованность между - представлениями загрузочного блока и ядра о дисковых устройствах. - Эта ошибка обычно проявляется на системах с двумя дисками IDE, с - винчестерами, установленными как ведущий или единственный на - отдельных контроллерах IDE, с &os;, установленной на втором - контроллере IDE. Программа в загрузочных блоках полагает, что - система установлена на <filename>ad0</filename> (второй диск - BIOS), тогда как ядро даёт первому диску на втором контроллере - название <filename>ad2</filename>. После - обнаружения устройства ядро пытается смонтировать то, что - загрузочные блоки выдают за загрузочный диск, - <filename>ad0</filename>, тогда как он - на самом деле <filename>ad2</filename>, и ошибается.</para> - - <para>Для решения этой проблемы выполните одно из следующих - действий:</para> - - <orderedlist> - <listitem> - <para>Перезагрузите систему и нажмите - <keycap>Enter</keycap> при появлении приглашения - <literal>Booting kernel in 10 seconds; hit [Enter] to - interrupt</literal>. Вы окажетесь в загрузчике.</para> - - <para>После этого наберите <userinput>set - root_disk_unit="disk_number"</userinput>. - Здесь в качестве <replaceable>disk_number</replaceable> должен - быть указан <literal>0</literal>, если &os; установлена на - ведущем диске первого контроллера IDE, <literal>1</literal>, - если она установлена на ведомом диске первого контроллера IDE, - <literal>2</literal>, если система находится на ведущем диске - второго IDE-контроллера и <literal>3</literal>, если она - установлена на ведомом диске второго контроллера IDE.</para> - - <para>Затем введите команду <userinput>boot</userinput>, и ваша - система должна нормально загрузиться.</para> - - <para>Чтобы сделать эти изменения постоянными (то есть чтобы вам - не было нужды выполнять эти действия каждый раз при - перезагрузке или включении вашей машины с &os;), поместите - строчку - <userinput>root_disk_unit="disk_number"</userinput> - в файл <filename>/boot/loader.conf.local</filename>.</para> - </listitem> - - <listitem> - <para>Поместите диск с &os; на первичный контроллер IDE, так - чтобы именования диском пришли в соответствие.</para> - </listitem> - </orderedlist> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="memory-limits"> - <para>Какие имеются ограничения на объём оперативной памяти?</para> - </question> - - <answer> - <para>Ограничение на память зависит от используемой платформы. - Для стандартной системы &i386; размер оперативной памяти - ограничен величиной 4 Гбайт, дополнительный объём - памяти поддерживается через &man.pae.4;. Смотрите <link linkend="memory-i386-over-4gb">инструкции по использованию - 4 Гбайт памяти или больше на &i386;</link>.</para> - - <para>&os;/pc98 имеет ограничение в 4 ГБ оперативной памяти, - PAE здесь использовать невозможно. - Остальные архитектуры, поддерживаемые &os;, имеют гораздо - большие теоретические ограничения объёмов памяти (многие - терабайты).</para> + <literal>des</literal>, <literal>blf</literal> (если они + есть) или <literal>md5</literal>. Подробная информация о + параметрах входа находится на странице Справочника + &man.login.conf.5;.</para> </answer> </qandaentry> @@ -1925,136 +1340,64 @@ </question> <answer> - <para>Для файловой системы FFS максимальный теоретический размер - равен 8 ТБ (2Г блоков) или 16 ТБ при стандартном - размере блока 8 КБ. На практике есть программное - ограничение в 1 ТБ, но с некоторыми модификациями - достижимы 4 ТБ (и такие системы существуют).</para> - - <para>Максимальный размер одного файла FFS равен примерно 1 млрд. - блоков, или 4 ТБ при размере блока 4 КБ.</para> - - <table> - <title>Максимальные размеры файлов</title> - - <tgroup cols="3"> - <thead> - <row> - <entry>размер блока ФС</entry> - - <entry>работает</entry> - - <entry>должно работать</entry> - </row> - </thead> - - <tbody> - <row> - <entry>4 KБ</entry> - - <entry>> 4 ГБ</entry> - - <entry>4 ТБ - 1</entry> - </row> - - <row> - <entry>8 КБ</entry> - - <entry>> 32 ГБ</entry> - - <entry>32 ТБ - 1</entry> - </row> - - <row> - <entry>16 КБ</entry> - - <entry>> 128 ГБ</entry> - - <entry>32 ТБ - 1</entry> - </row> - - <row> - <entry>32 КБ</entry> - - <entry>> 512 ГБ</entry> + <para>Наибольший размер файловой системы FFS ограничен + практически количеством памяти, которая требуется для + работы &man.fsck.8;. &man.fsck.8; использует 1 бит на + фрагмент, и для стандартного размера фрагмента 4 Кбайт это + эквивалентно использованию 32 Мбайт памяти на терабайт + дискового пространства. Это означает, что на архитектурах + с ограничением размера пользовательского процесса в 2 Гбайт + (например, &i386;) максимальный размер файловой системы, + доступный для &man.fsck.8;, составляет ~60 Тбайт.</para> - <entry>64 ТБ - 1</entry> - </row> + <para>Без ограничения на память для &man.fsck.8; максимальный + размер файловой системы составляет 2 ^ 64 + (блоков) * 32 Кбайт => 16 экса * 32 Кбайт + => 512 зеттабайт.</para> - <row> - <entry>64 КБ</entry> - - <entry>> 2048 ГБ</entry> - - <entry>128 ТБ - 1</entry> - </row> - </tbody> - </tgroup> - </table> - - <para>При размере блока файловой системы 4 КБ тройная - косвенная адресация блоков работает, и всё должно быть - ограничено максимальным количеством блоков, которое задаётся - в виде тройной переадресации блока (примерно - 1024<superscript>3</superscript> + 1024<superscript>2</superscript> + 1024), - однако всё ограничивается (ошибочным) лимитом - 1 млрд. - 1 на количество блоков файловой системы. - Это ограничение должно быть равным 2 млрд. - 1. - При количестве блоков, приближающемся к 2 млрд. - 1, - появляются некоторые ошибки, но этот предел недостижим при - размере блока 4 КБ.</para> - - <para>При размере блока 8 КБ и больше всё должно быть - ограничено лимитом 2 млрд. - 1 на количество - блоков файловой системы, но реально ограничено пределом в - 1 млрд. - 1. Использование верного ограничения - в 2 млрд. - 1 блоков вызывает проблемы.</para> + <para>Максимальный размер файла на FFS приблизительно равен + 2 петабайт со стандартным размером блока 32 Кбайт. + Каждый 32 Кбайтный блок может адресовать до 4096 блоков. + С использованием тройной косвенной адресации это составляет + 32 Кбайт * 12 + 32 Кбайт * 4096 + 32 Кбайт * + 4096^2 + 32 Кбайт * 4096^3. Увеличение размера блока + до 64 Кбайт увеличит максимальный размер файла в 16 + раз.</para> </answer> </qandaentry> <qandaentry> <question xml:id="archsw-readin-failed-error"> - <para>Я скомпилировал новое ядро и при загрузке получил сообщение об - ошибке <errorname>archsw.readin.failed</errorname>.</para> + <para>Я скомпилировал новое ядро и при загрузке получил + сообщение об ошибке <errorname>readin + failed</errorname>.</para> </question> <answer> - <para>Это произошло, потому что ваше ядро и компоненты системы не - синхронизированы. Такая ситуация не поддерживается. Убедитесь, - что вы используете команды - <command>make buildworld</command> и - <command>make buildkernel</command> - для обновления вашего ядра.</para> + <para>Ядро и компоненты системы не синхронизированы. Такая + конфигурация не поддерживается. Обязательно используйте + команды <command>make buildworld</command> и <command>make + buildkernel</command> для обновления ядра.</para> - <para>Вы можете загрузить систему, непосредственно указав ядро на - втором этапе загрузки, нажав любую клавишу до запуска загрузчика - при появлении символов <literal>|</literal>.</para> + <para>Загрузите систему, непосредственно указав ядро на + втором этапе загрузки, нажав любую клавишу до запуска + загрузчика при появлении символов + <literal>|</literal>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="boot-acpi"> - <para>Установка аварийно завершается ещё при загрузке системы. - Что я могу сделать?</para> + <question xml:id="general-configuration-tool"> + <para>Существует ли инструмент для настройки системы после + её установки?</para> </question> <answer> - <para>Попытайтесь отключить поддержку ACPI. Когда загрузится - загрузчик, нажмите <keycap>Пробел</keycap>. Система отобразит - следующее:</para> - - <screen>OK</screen> - - <para>Наберите:</para> - - <screen><userinput>unset acpi_load</userinput></screen> - - <para>А затем:</para> - - <screen><userinput>boot</userinput></screen> + <para>Да, <application>bsdconfig</application> предоставляет + замечательный интерфейс для пост-установочной настройки + &os;.</para> </answer> </qandaentry> - </qandaset> </chapter> @@ -2072,45 +1415,44 @@ </question> <answer> - <para>Это постоянно обсуждается в списках рассылки &os;. Так - как аппаратура меняется так быстро, мы это ожидаем. Мы - <emphasis>всё же</emphasis> настоятельно рекомендуем, чтобы вы - прочитали Hardware Notes для &os; <link xlink:href="&rel.current.hardware;">&rel.current;</link> или <link xlink:href="&rel2.current.hardware;">&rel2.current;</link>, а также - выполнили поиск по <link xlink:href="http://www.FreeBSD.org/search/#mailinglists">архивам</link> - списков рассылки перед тем, как задавать вопросы о самом последнем - и лучшем оборудовании. Весьма вероятно, что обсуждение требуемого - вам оборудование как раз было на прошлой неделе.</para> - - <para>Если вы подбираете лэптоп, посмотрите архивы &a.mobile;. - В противном случае вам нужны архивы - &a.questions; или, возможно, специфичные списки рассылки по - конкретному типу оборудования.</para> + <para>Это постоянно обсуждается в списках рассылки &os; и + является ожидаемым вопросом, так как аппаратура меняется + очень быстро. + Обратитесь к Hardware Notes для &os; <link + xlink:href="&rel.current.hardware;">&rel.current;</link> + или <link + xlink:href="&rel2.current.hardware;">&rel2.current;</link>, + а также <link + xlink:href="http://www.FreeBSD.org/search/#mailinglists">архивам</link> + списков рассылки перед тем, как задавать вопросы о самом + последнем и лучшем оборудовании. Весьма вероятно, что + обсуждение касаемо этого типа оборудования велось как + раз на прошлой неделе.</para> + + <para>Перед приобретением лэптопа посмотрите архивы + &a.mobile; и &a.questions; или, по возможности, более + специфичные списки рассылки по данному типу + оборудования.</para> </answer> </qandaentry> - </qandaset> - </sect1> - - <sect1 xml:id="compatibility-memory"> - <title>Память</title> - <qandaset> <qandaentry> <question xml:id="memory-upper-limitation"> - <para>Поддерживает ли &os; больше 4 Гбайт памяти (ОЗУ)? + <para>Какие существуют ограничения по памяти? + Поддерживает ли &os; больше 4 Гбайт памяти (ОЗУ)? Больше 16 Гбайт? Больше 48 Гбайт?</para> </question> <answer> - <para>Да. &os; как операционная система в целом поддерживает + <para>&os; как операционная система в целом поддерживает столько же физической памяти (ОЗУ), сколько аппаратная платформа, на которой она работает. Имейте в виду, что различные платформы имеют различные ограничения на память; например, &i386; без <acronym>PAE</acronym> поддерживает максимум 4 Гбайт памяти (и обычно еще меньше из-за адресного пространства PCI), а &i386; с PAE поддерживает - максимум 64 Гбайт. Платформы AMD64, существующие на - текущий момент, ограничены объемом 1 Тбайт физической - памяти.</para> + максимум 64 Гбайт. Для &os; 10 платформы AMD64 + поддерживают до 4 Тбайт физической памяти.</para> </answer> </qandaentry> @@ -2160,9 +1502,9 @@ помеченные как неготовые для использования с PAE, на самом деле являются годными. На практике, если драйвер работает на 64-разрядной архитектуре (такой как AMD64), он также - работает с PAE. Если вы хотите создать свой собственный - файл конфигурации ядра, то вы можете включить PAE, добавив - в свою конфигурацию следующую строку:</para> + работает с PAE. При создании своего собственного файла + конфигурации ядра можно включить PAE, добавив + следующую строку:</para> <programlisting>options PAE</programlisting> @@ -2190,19 +1532,18 @@ </question> <answer> - <para>Да. В настоящее время &os; работает на архитектурах - Intel x86 и AMD64. Также поддерживаются архитектуры Intel - EM64T, IA-64, &arm;, &powerpc; и &sparc64;. Планируются - к поддержке платформы &mips; и &s390;. Дополнительную - информацию о происходящей работе над платформой &mips; можно - получить, подписавшись на &a.mips;. Для обсуждения общих - вопросов, касающихся новых аппаратных платформ, предназначен - &a.platforms;.</para> - - <para>Если аппаратная платформа Вашего компьютера не поддерживается - &os; и Вам нужно его запустить прямо сейчас, мы советуем - обратить Ваш взгляд также на <link xlink:href="http://www.NetBSD.org">NetBSD</link> и - <link xlink:href="http://www.OpenBSD.org">OpenBSD</link>.</para> + <para>Да. Поддержка &os; подразделяется на множество классов. + Архитектуры первого класса, такие как i386 или amd64, + полностью поддерживаются. Архитектуры 2 и 3 класса + поддерживаются по мере возможности. Полное описание + классов доступно в <link + xlink:href="&url.articles.committers-guide;/archs.html">справочнике + коммиттера</link>.</para> + + <para>Полный список поддерживаемых архитектур находится + на <link + xlink:href="http://www.FreeBSD.org/ru/platforms/">странице</link>, + посвящённой платформам.</para> </answer> </qandaentry> @@ -2213,29 +1554,39 @@ </question> <answer> - <para>Системы с симметричным мультипроцессированием (SMP) во - &os; в целом поддерживаются, хотя в некоторых случаях ошибки - в BIOS или системной плате могут вызывать определенные - проблемы.</para> - - <para>&os; задействует преимущества HyperThreading (HTT) на - процессорах Intel, которые это поддерживают. Ядро с включенной - <literal>options SMP</literal> автоматически распознает - дополнительные логические процессоры. Планировщик заданий &os;, - используемый по умолчанию, распознает логические процессоры - как дополнительные физические процессоры; иначе говоря, не - предпринимается никаких попыток оптимизировать распределение - используемых совместно ресурсов между логическими процессорами - внутри одного CPU. Поскольку такое простое планирование - может вызвать деградацию производительности, то в некоторых - случаях рекомендуется отключать логические процессоры через - переменную sysctl <varname>machdep.hlt_logical_cpus</varname>. - Также можно отключить любой CPU, работающий в пустом цикле, - через переменную sysctl <varname>machdep.hlt_cpus</varname>. - За подробной информацией обращайтесь к странице Справочника - &man.smp.4;.</para> + <para>&os; поддерживает симметричное мультипроцессирование + (SMP) на всех невстраиваемых платформах (например, + &arch.i386;, &arch.amd64; и так далее). SMP + также поддерживается для arm и MIPS, хотя некоторые + процессоры могут это не поддерживать. В реализации SMP + во &os; используется мелкодисперсная синхронизация, и + производительность масштабируется почти линейно с ростом + количества процессоров.</para> + + <para>За подробной информацией обращайтесь к странице + Справочника &man.smp.4;.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="microcode"> + <para>Что такое микрокод? Как установить обновления + микрокода для процессоров &intel;?</para> + </question> + + <answer> + <para>Микрокод - это программа, реализующая набор инструкций + процессора на аппаратном уровне. Она позволяет исправлять + ошибки процессора без замены микросхемы.</para> + + <para>Установите <filename + role="package">sysutils/devcpu-data</filename>, + а затем добавьте:</para> + <programlisting>microcode_update_enable="YES"</programlisting> + <para>в <filename>/etc/rc.conf</filename></para> </answer> </qandaentry> + </qandaset> </sect1> @@ -2265,8 +1616,10 @@ <answer> <para>Полный список приведён в Hardware Notes для &os; - <link xlink:href="&rel.current.hardware;">&rel.current;</link> или - <link xlink:href="&rel2.current.hardware;">&rel2.current;</link>.</para> + <link + xlink:href="&rel.current.hardware;">&rel.current;</link> + или <link + xlink:href="&rel2.current.hardware;">&rel2.current;</link>.</para> </answer> </qandaentry> @@ -2276,11 +1629,8 @@ </question> <answer> - <para>&os; поддерживает устройства SCSI и QIC-36 (с интерфейсом - QIC-02), включая 8-мм (Exabyte) и DAT.</para> - - <para>Некоторые ранние модели 8-мм стримеров не совсем соответствуют - стандарту SCSI-2 и могут работать не совсем хорошо.</para> + <para>&os; поддерживает все стандартные интерфейсы + стримеров SCSI.</para> </answer> </qandaentry> @@ -2292,13 +1642,13 @@ <answer> <para>&os; поддерживает роботизированные устройства SCSI через устройство &man.ch.4; и команду &man.chio.1;. Подробная - информация об управлении такими роботами может быть найдена на - странице Справочника по команде &man.chio.1;.</para> + информация об управлении такими роботами находится на + странице Справочника &man.chio.1;.</para> - <para>Если вы не используете <application>AMANDA</application> - или другое программное обеспечение, умеющее работать с роботами, - имейте в виду, что они могут только переносить ленты с одного - места на другое, так что вам нужно самим отслеживать, в каком + <para>В то время как <application>AMANDA</application> и + ещё ряд программных продуктов умеют работать с роботами, + другие приложения могут только переносить ленты с одного + места на другое. В этом случае надо отслеживать, в каком слоте находится нужная лента, и в какой слот нужно вернуть ленту, находящуюся в стримере.</para> </answer> @@ -2306,30 +1656,22 @@ <qandaentry> <question xml:id="supported-cdrom-drives"> - <para>Какие приводы CD-ROM поддерживаются во &os;?</para> + <para>Какие приводы CD-ROM и CD-RW поддерживаются во + &os;?</para> </question> <answer> <para>Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру. Поддерживается большинство ATAPI-совместимых IDE CD-ROM.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="supported-cdrw-drives"> - <para>Какие приводы CD-RW поддерживаются во &os;?</para> - </question> - <answer> <para>&os; поддерживает все ATAPI-совместимые IDE-приводы CD-R - или CD-RW. Более полную информацию можно найти на справочной - странице по команде &man.burncd.8;.</para> + или CD-RW. Более полная информация находится на странице + Справочника &man.burncd.8;.</para> - <para>&os; поддерживает также все SCSI-приводы CD-R или CD-RW. - Установите и используйте программу <command>cdrecord</command> из - системы портов или пакаджей, но проверьте, что в вашем ядре - присутствует устройство <filename>pass</filename>.</para> + <para>&os; поддерживает также все SCSI-приводы CD-R и CD-RW. + Используйте команду <command>cdrecord</command> из + пакета <package>sysutils/cdrtools</package>.</para> </answer> </qandaentry> </qandaset> @@ -2340,126 +1682,16 @@ <qandaset> <qandaentry> - <question xml:id="usbkbd"> - <para>Поддерживает ли &os; USB клавиатуры?</para> - </question> - - <answer> - <para>&os; имеет встроенную поддержку клавиатур USB. - После включения поддержки USB-клавиатуры в системе - AT-клавиатуре будет соответствовать - <filename>/dev/kbd0</filename>, а клавиатуре USB - <filename>/dev/kbd1</filename>, если они обе подключены к - системе. Если присутствует только клавиатура USB, ей будет - соответствовать <filename>/dev/ukbd0</filename>.</para> - - <para>Если вы хотите использовать клавиатуру USB на консоли, вы - должны явно указать драйверу консоли на использование имеющейся - клавиатуры USB. Это может быть сделано в процессе инициализации - системы следующей командой.</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null</userinput></screen> - - <para>Заметьте, что если клавиатура USB является единственной - присутствующей, она доступна как <filename>/dev/ukbd0</filename>, - и поэтому команда должна выглядеть примерно так:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null</userinput></screen> - - <note> - <para>Чтобы сохранить это изменение, добавьте в - <filename>/etc/rc.conf</filename> строку - <literal>keyboard="/dev/ukbd0"</literal>.</para> - </note> - - <para>Как только вы всё это сделаете, клавиатура USB будет работать и - в X-окружении без каких-либо особых настроек.</para> - - <para>Если вам нужно переключиться обратно на клавиатуру, - используемую по умолчанию, выполните такую команду:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 > /dev/null</userinput></screen> - - <para>Для одновременной работы второй USB клавиатуры и первой - AT клавиатуры в консоли через драйвер &man.kbdmux.4;, - наберите следующие команды:</para> - - <screen>&prompt.root; <userinput>kbdcontrol -K < /dev/console > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null</userinput> -&prompt.root; <userinput>kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null</userinput></screen> - - <para>За дополнительной информацией обратитесь к страницам - справочной системы &man.ukbd.4;, &man.kbdcontrol.1; и - &man.kbdmux.4;.</para> - - <note> - <para>Выключение и включение USB-клавиатуры на ходу может ещё - не работать совершенно корректно. Во избежание неприятностей - мы рекомендуем подключить клавиатуру перед запуском системы - и не отключать её до завершения работы системы.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="busmouse"> - <para>У меня необычная мышь типа bus mouse. Как её настроить?</para> - </question> - - <answer> - <para>&os; поддерживает мыши типов bus mouse и InPort bus mouse - от таких производителей, как Microsoft, Logitech и ATI. В ядре - <filename>GENERIC</filename> драйвера таких устройств нет. - Для построения - специального ядра с драйвером такой мыши, добавьте в - конфигурационный файл ядра следующую строку:</para> - - <programlisting>device mse0 at isa? port 0x23c irq5</programlisting> - - <para>Мыши типа bus mouse обычно поставляются с отдельными - интерфейсными адаптерами. Они позволяют установить адрес порта - ввода/вывода и номер IRQ, отличающиеся от приведённых выше. Для - получения дополнительной информации обратитесь к документации по - вашей мыши и странице Справочника &man.mse.4;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ps2mouse"> - <para>Как использовать мышь PS/2 (типа <quote>mouse port</quote> - или <quote>keyboard</quote>)?</para> - </question> - - <answer> - <para>Мышь PS/2 системой поддерживается. Необходимый драйвер - устройства, <filename>psm</filename>, включён в ядро - <filename>GENERIC</filename>.</para> - - <para>Если в вашем ядре его нет, то добавьте следующую строку в - файл конфигурации ядра и постройте новое ядро.</para> - - <programlisting>device psm0 at atkbdc? irq 12</programlisting> - - <para>После того, как ядро правильно обнаружило устройство - <filename>psm0</filename> во время загрузки, файл - устройства для <filename>psm0</filename> будет создан - автоматически.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="moused"> - <para>Можно ли каким-либо образом использовать мышь, кроме - X Window?</para> + <para>Можно ли использовать мышь вне X Window?</para> </question> <answer> - <para>Если вы используете стандартный драйвер консоли, - &man.syscons.4;, то можете использовать указатель мыши в текстовых - консолях для выделения и переноса текста. Запустите демон мыши, - &man.moused.8;, и включите отображение указателя мыши на - виртуальной консоли:</para> + <para>Стандартный драйвер консоли &man.syscons.4; + предоставляет возможность использования указателя мыши + в текстовых консолях для выделения и переноса текста. + Запустите демон мыши &man.moused.8; и включите + отображение указателя мыши в виртуальной консоли:</para> <screen>&prompt.root; <userinput>moused -p /dev/xxxx -t yyyy</userinput> &prompt.root; <userinput>vidcontrol -m on</userinput></screen> @@ -2474,17 +1706,18 @@ справочным страницам по &man.moused.8; для получения списка поддерживаемых типов протоколов.</para> - <para>Если у вас мышь типа PS/2, просто добавьте строчку + <para>Для мыши типа PS/2 добавьте строчку <literal>moused_enable="YES"</literal> в файл <filename>/etc/rc.conf</filename> для запуска даемона мыши во - время загрузки системы. Кроме того, если вы хотите использовать - даемон мыши во всех виртуальных терминалах, а не только на консоли, + время загрузки системы. Кроме того, для использования + даемона мыши во всех виртуальных терминалах, а не только на консоли, добавьте <literal>allscreens_flags="-m on"</literal> в файле <filename>/etc/rc.conf</filename>.</para> <para>После запуска даемона мыши, доступ к мыши должен согласовываться между даемоном мыши и другими программами типа X - Window. Обратитесь к вопросу из FAQ <link linkend="x-and-moused"> + Window. Обратитесь к вопросу из <acronym>FAQ</acronym> + <link linkend="x-and-moused"> Почему моя мышь не работает с X?</link> для получения более полной информации по этому вопросу.</para> </answer> @@ -2497,14 +1730,17 @@ </question> <answer> - <para>После того, как вы запустили даемон мыши (посмотрите <link linkend="moused">предыдущий раздел</link>), нажмите кнопку 1 - (левую) и двигайте мышь для выделения текста. Затем - нажмите кнопку 2 (среднюю) для его вставки с позиции текстового - курсора. Нажатие кнопки 3 (правой) <quote>расширит</quote> - выбранную текстовую область.</para> - - <para>Если у вашей мыши отсутствует средняя кнопка, вы можете её - сэмулировать или переназначить кнопки опциями даемона мыши. + <para>Удалить данные с помощью мыши нельзя. Однако их + можно скопировать и вставить. После + запуска даемона мыши, как описано в ответе на <link + linkend="moused">предыдущий вопрос</link>, нажмите + кнопку 1 (левую) и двигайте мышь для выделения текста. + Затем нажмите кнопку 2 (среднюю) для его вставки с + позиции текстового курсора. Нажатие кнопки 3 (правой) + <quote>расширит</quote> выбранную текстовую область.</para> + + <para>Если у вашей мыши отсутствует средняя кнопка, её можно + сэмулировать либо переназначить кнопки опциями даемона мыши. Обратитесь к справочным страницам по &man.moused.8; для получения полной информации.</para> </answer> @@ -2531,18 +1767,6 @@ </qandaentry> <qandaentry> - <question xml:id="laptop-mouse-trackball"> - <para>Как использовать мышь/трэкболл/сенсорную панель на - лэптопе?</para> - </question> - - <answer> - <para>Посмотрите <link linkend="ps2mouse">ответ на предыдущий - вопрос</link>.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="keyboard-delete-key"> <para>Как использовать клавишу delete в <command>sh</command> и <command>csh</command>?</para> @@ -2550,14 +1774,14 @@ <answer> <para>Для <application>Bourne Shell</application> добавьте - следующие строки в ваш <filename>.shrc</filename>. Смотрите + следующие строки в <filename>~/.shrc</filename>. Смотрите &man.sh.1; и &man.editrc.5;.</para> <programlisting>bind ^? ed-delete-next-char # для консоли bind ^[[3~ ed-delete-next-char # для xterm</programlisting> <para>Для <application>C Shell</application> добавьте следующие - строки в ваш <filename>.cshrc</filename>. Смотрите + строки в <filename>~/.cshrc</filename>. Смотрите &man.csh.1;.</para> <programlisting>bindkey ^? delete-char # для консоли @@ -2570,96 +1794,11 @@ bindkey ^[[3~ delete-char # для xterm</programlisting> </qandaset> </sect1> - <sect1 xml:id="compatibility-networking"> - <title>Сетевые и последовательные устройства</title> - - <qandaset> - <qandaentry> - <question xml:id="network-cards"> - <para>Какие сетевые адаптеры поддерживает &os;?</para> - </question> - - <answer> - <para>Обратитесь к файлу Hardware Notes, поставляемому с каждым - релизом &os;, для получения полного списка.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="support-broadcom"> - <para>Существует ли собственный драйвер для адаптеров Broadcom - 43xx?</para> - </question> - - <answer> - <para>Да, многие из адаптеров Broadcom 43xx поддерживаются - драйверами &man.bwn.4; и &man.bwi.4;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="multiport-serial-support"> - <para>Какие многопортовые последовательные адаптеры поддерживаются во - &os;?</para> - </question> - - <answer> - <para>Список таких устройств находится в главе Руководства - <link xlink:href="&url.books.handbook;/serial.html">Последовательные - соединения</link>.</para> - - <para>Некоторые безымянные клоны таких адаптеров тоже работают - нормально, особенно те, которые заявляют о своей совместимости - с AST.</para> - - <para>Прочтите страницы Справочника о &man.sio.4; для получения - подробной информации о конфигурировании таких адаптеров.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="serial-console-prompt"> - <para>Как сделать, чтобы приглашение boot: выводилось на консоль на - последовательном порту?</para> - </question> - - <answer> - <para>Подробная информация находится в <link xlink:href="&url.books.handbook;/serialconsole-setup.html">этом - разделе Руководства</link>.</para> - </answer> - </qandaentry> - </qandaset> - </sect1> - - <sect1 xml:id="compatibility-sound"> - <title>Звуковые устройства</title> + <sect1 xml:id="compatibility-other"> + <title>Другое оборудование</title> <qandaset> <qandaentry> - <question xml:id="sound-card-support"> - <para>Какие звуковые адаптеры поддерживаются во &os;?</para> - </question> - - <answer> - <para>&os; поддерживает различные звуковые адаптеры - (дополнительную информацию - можно найти в <link xlink:href="&url.base;/releases/">Информации о - релизе &os;</link> и странице справочной системы - по &man.snd.4;). Имеется также ограниченная поддержка MPU-401 - и совместимых с ним адаптеров. Поддерживаются и адаптеры, - соответствующие спецификации µsoft; Sound System.</para> - - <note> - <para>Это касается только звука! Этот драйвер не поддерживает - CD-ROM, SCSI или джойстики ни на каких подобных адаптерах, кроме - &soundblaster;. Поддерживаются устройства на SCSI-интерфейсе - &soundblaster; и не-SCSI CD-ROM, но загрузиться с них - невозможно.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="es1370-silent-pcm"> <para>Есть ли решение проблемы отсутствия звука при использовании звуковых адаптеров &man.pcm.4;?</para> @@ -2673,13 +1812,6 @@ bindkey ^[[3~ delete-char # для xterm</programlisting> <screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen> </answer> </qandaentry> - </qandaset> - </sect1> - - <sect1 xml:id="compatibility-other"> - <title>Другое оборудование</title> - - <qandaset> <qandaentry> <question xml:id="power-management-support"> @@ -2688,74 +1820,12 @@ bindkey ^[[3~ delete-char # для xterm</programlisting> </question> <answer> - <para>&os; поддерживает <acronym>APM</acronym> - на некоторых машинах. Более полная информация может быть найдена - в справочной странице по &man.apm.4;.</para> - - <para>&os; также поддерживает функции - <acronym>ACPI</acronym>, реализованные в основной массе - современного оборудования. Дополнительную информацию можно найти - на странице справочной системы &man.acpi.4;. Если система - поддерживает как <acronym>APM</acronym>, так и - <acronym>ACPI</acronym>, можно использовать любую из них. Мы - рекомендуем опробовать обе и выбрать ту, что подходит вам в - большей степени.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="disable-acpi"> - <para>Как я могу отключить ACPI?</para> - </question> - - <answer> - <para>Добавьте следующую строчку в файл - <filename>/boot/device.hints</filename>:</para> - - <screen>hint.acpi.0.disabled="1"</screen> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="micron-hang-boot"> - <para>Компьютеры Micron зависают при загрузке</para> - </question> - - <answer> - <para>Некоторые материнские платы Micron имеют BIOS, не - удовлетворяющую стандарту PCI BIOS, что приводит к печальным - последствиям при загрузке &os;, потому что имеет место - несоответствие устройств PCI занимаемым ими адресам.</para> - - <para>Для устранения этой проблемы отключите в BIOS опцию - <quote>Plug and Play Operating System</quote>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="asusk7v-boot-failure"> - <para>При загрузке с установочной дискеты машины с материнской платой - ASUS K7V зависают. Как это исправить?</para> - </question> - - <answer> - <para>Войдите в настройку BIOS и выключите <quote>защиту от - загрузочных вирусов</quote>.</para> + <para>&os; поддерживает функции <acronym>ACPI</acronym>, + реализованные в современном оборудовании. + Дополнительная информация находится + на странице Справочника &man.acpi.4;.</para> </answer> </qandaentry> - - <qandaentry> - <question xml:id="micron-3comnic-failure"> - <para>Почему сетевой адаптер &tm.3com; PCI не работает с компьютерами - Micron?</para> - </question> - - <answer> - <para>Смотрите <link linkend="micron-hang-boot">предыдущий - ответ</link>.</para> - </answer> - </qandaentry> - </qandaset> </sect1> </chapter> @@ -2782,24 +1852,23 @@ bindkey ^[[3~ delete-char # для xterm</programlisting> физическая память не может быть получена в данном адресном пространстве.</para> - <para>Какие действия выполняются с памятью в данном регионе - зависит от вашего оборудования. К сожалению, некоторое + <para>Какие действия выполняются с памятью в данном регионе, + зависит от оборудования. К сожалению, некоторое оборудование ничего не выполняет и возможность использовать эти 500 МБ ОЗУ полностью потеряна.</para> <para>К счастью, большинство оборудования перераспределяет память к более верхней позиции, так что она всё ещё может использоваться. Тем не менее, это может вызвать некоторое - замешательство, если вы посмотрите сообщения, выдаваемые при + замешательство при просмотре сообщений, выдаваемых при загрузке.</para> <para>На 32-битной версии &os; кажется, что эта память - потерялась. На самом деле она перераспределится в промежуток, - лежащий за 4 ГБ, который не видим для 32 битного ядра. - В данном случае, решение заключается в сборке ядра, с включенной - опцией PAE. За дополнительной информацией обращайтесь к <link linkend="memory-limits">статье об ограничениях памяти</link> - и <link linkend="memory-upper-limitation">о различных - ограничениях памяти на различных платформах</link>.</para> + потерялась, поскольку она переназначится в диапазон выше + 4 ГБ, который не доступен для 32 битного ядра. + В данном случае, решение заключается в сборке ядра с PAE. + За дополнительной информацией обращайтесь к статье об + ограничениях памяти.</para> <para>На 64nbsp;битной версии &os; или в случае использования ядра с включённым PAE &os; корректно определит и перераспределит память, @@ -2813,137 +1882,6 @@ bindkey ^[[3~ delete-char # для xterm</programlisting> </qandaentry> <qandaentry> - <question xml:id="awre"> - <para>На моём винчестеры есть запорченные блоки!</para> - </question> - - <answer> - <para>Если это SCSI-устройство, то винчестер должен иметь возможность - автоматической переадресации таких блоков. Однако во многих - поставляемых дисках эта возможность отключена.</para> - - <para>Для включения переадресации запорченных блоков, измените - режим работы устройства, что может быть выполнено пользователем - <systemitem class="username">root</systemitem> по команде</para> - - <screen>&prompt.root; <userinput>camcontrol modepage sd0 -m 1 -e -P 3</userinput></screen> - - <para>и изменить значения параметров AWRE и ARRE с 0 на 1:</para> - - <programlisting>AWRE (Auto Write Reallocation Enbld): 1 -ARRE (Auto Read Reallocation Enbld): 1</programlisting> - - <para>Контроллеры современных IDE-дисков имеют встроенную функцию - переадресации запорченных блоков, которая на момент продажи - включена.</para> - - <para>Если вы увидите предупреждения о запорченных блоках (на любом - типе устройства), это значит, что пришло время подумать над заменой - диска. Вы можете воспользоваться диагностической программой - производителя диска для поиска этих запорченных блоков, и в лучшем - случае это только отнимет ваше время.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="hpnetserver-scsi-failure"> - <para>Почему &os; не распознаёт SCSI-контроллер на машине HP - Netserver?</para> - </question> - - <answer> - <para>В общем-то это известная проблема. EISA-контроллеры SCSI, - расположенные на материнской плате машин HP Netserver, занимают - EISA-слот номер 11, так что все <quote>настоящие</quote> слоты - EISA будут ему предшествовать. Так как адресное пространство для - слотов EISA выше 10 пересекается с адресным пространством, - предназначенным для PCI, то автоконфигуратор &os; в настоящее - время не может эту проблему нормально обойти.</para> - - <para>Так что пока лучшее, что вы можете предпринять, это попытаться - указать, что пересечения диапазонов адресов нет :), установив опцию - ядра <literal>EISA_SLOTS</literal> в значение 12. - Отконфигурируйте и откомпилируйте ядро так, как это описано в <link xlink:href="&url.books.handbook;/kernelconfig.html">разделе - Руководства</link> о конфигурировании ядра.</para> - - <para>Конечно, это даст вам типичную ситуации "курица или яйцо" - при установке системы на такой машине. Для обхода этой проблемы - внутри <emphasis>UserConfig</emphasis> есть специальный хак. Не - используя <quote>визуального</quote> интерфейса, а только - интерфейс командной строки, просто наберите следующую команду - в приглашении и установите систему как обычно.</para> - - <programlisting>eisa 12 -quit</programlisting> - - <para>В любом - случае рекомендуется, что вы отконфигурируете и установите - собственное ядро.</para> - - <para>Надеемся, что будущие версии будут содержать полное решение - этой проблемы.</para> - - <note> - <para>Вы не сможете использовать режим <literal>dangerously - dedicated</literal> на машинах HP Netserver. Полное описание - причин содержится в <link linkend="dedicate">этом - замечании</link>.</para> - </note> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ed1-timeout"> - <para>Выдаются сообщения типа <errorname>ed1: - timeout</errorname>.</para> - </question> - - <answer> - <para>Обычно это вызвано конфликтом прерываний (например, двух - адаптеров, использующих один и тот же IRQ). Загрузите систему с - опцией <option>-c</option> и смените строку, описывающую - <filename>ed0</filename>/<filename>de0</filename>/... - на соответствующую вашей системе.</para> - - <para>Если вы используете разъём BNC сетевого адаптера, таймауты - устройства могут быть вызваны плохим терминированием. Чтобы это - проверить, подключите терминатор к адаптеру (без кабеля) и - посмотрите, не исчезли ли сообщения об ошибках.</para> - - <para>Некоторые NE2000-совместимые адаптеры выдают такую ошибку, - если нет связи по UTP-порту или отключен кабель.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="bad-3c509"> - <para>Почему мой адаптер &tm.3com; 3C509 перестал работать без всякой - видимой причины?</para> - </question> - - <answer> - <para>Этот адаптер имеет странную привычку терять информацию о своих - настройках. Обновите настройки вашего адаптера при помощи утилиты - <command>3c5x9.exe</command> из DOS.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="printer-slow"> - <para>Мой параллельный принтер печатает невероятно медленно. Что тут - можно сделать?</para> - </question> - - <answer> - <para>Если проблема только в том, что принтер работает ужасно - медленно, попробуйте сменить <link xlink:href="&url.books.handbook;/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE"> - режим работы порта принтера</link> так, как это описано в разделе - <link xlink:href="&url.books.handbook;/printing-intro-setup.html"> - Настройка принтера</link> Руководства.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="signal11"> <para>Программы аварийно завершают работу с ошибкой <errorname>Signal 11</errorname>.</para> @@ -2951,612 +1889,214 @@ quit</programlisting> <answer> <para>Ошибки выполнения, связанные с сигналом 11, происходят, - когда ваш процесс пытается обратиться к области памяти, доступ к + когда процесс пытается обратиться к области памяти, доступ к которой ему не был дан операционной системой. Если что-то подобное - происходит в случайные, на первый взгляд, промежутки времени, то - вам нужно попытаться выяснить подробности происходящих событий - более детально.</para> + происходит в случайные, казалось бы, промежутки времени, + следует начать поиск причины.</para> <para>Эти проблемы могут быть классифицированы следующим образом:</para> <orderedlist> <listitem> - <para>Если проблема возникает только в определённом приложении, - которое было самостоятельно вами разработано, то, скорее всего, - это ошибка в вашем коде.</para> + <para>Если проблема возникает только в определённом + самостоятельно разработанном приложении, то скорее + всего это ошибка в коде.</para> </listitem> <listitem> <para>Если это проблема в части базового комплекта системы &os;, то это тоже может быть ошибка в программном коде, хотя в большинстве случаев такие проблемы обнаруживаются и ошибки - исправляются задолго до того, как обычным читателям FAQ + исправляются задолго до того, как обычным читателям + <acronym>FAQ</acronym> доводится использовать этот код (именно для этого предназначена - версия -current).</para> + версия -CURRENT).</para> </listitem> </orderedlist> - <para>В частности, достоверно <emphasis>не</emphasis> ошибка &os;, - если вы сталкиваетесь с проблемой при компиляции программы, но при - работе компилятора место сбоя каждый раз изменяется.</para> + <para>Вероятно, это не связано с ошибкой во &os;, + если проблема проявляется при компиляции программы, и при + этом ошибка компилятора каждый раз разная.</para> - <para>Например, положим, что вы запускаете команду <command>make - buildworld</command> и компиляция - завершилась аварийно при попытке - компиляции <filename>ls.c</filename> в <filename>ls.o</filename>. - Если при следующей попытке повторно выполнить <command>make - buildworld</command> и компиляция - прервётся на том же самом месте, - то это ошибки процесса построения — попробуйте обновить исходные - тексты и попробуйте снова. Если же компиляция прерывается в - каком-то другом месте, то в этом практически достоверно виновато - оборудование.</para> + <para>Например, если запуск <command>make + buildworld</command> завершился неудачей при попытке + компиляции <filename>ls.c</filename> в + <filename>ls.o</filename> и при повторном запуске + компиляция снова прервалась на том же месте, то это ошибка + процесса построения. Обновите исходные тексты и попробуйте + снова. Если же компиляция прерывается в каком-то другом + месте, то причина наиболее вероятно кроется в + оборудовании.</para> - <para>Что вы должны сделать:</para> + <para>В первом случае воспользуйтесь отладчиком, к примеру, + &man.gdb.1;, для нахождения точки программы, в которой + делается попытка доступа к неверному адресу, и исправьте + эту ошибку.</para> - <para>В первом случае вы должны воспользоваться отладчиком, к - примеру, &man.gdb.1;, для нахождения точки программы, в которой - делается попытка доступа к неверному адресу и затем исправить эту - ошибку.</para> - - <para>Во втором случае вам нужно проверить, что ваше оборудование - исправно.</para> + <para>Во втором случае проверьте, какой компонент вашего + оборудования неисправен.</para> <para>Среди часто приводящих к этому причин:</para> <orderedlist> <listitem> - <para>Ваши винчестеры могут перегреваться: Проверьте работу - вентиляторов в вашем системном блоке, так как ваш диск (и может, - также другие компоненты, могут перегреваться).</para> - </listitem> - - <listitem> - <para>Работающий процессор перегревается: Это может произойти - из-за выхода частоты процессора за рабочие границы или поломки - вентилятора на процессоре. В любом случае вам нужно - убедиться, что ваше оборудование работает так, как ему - положено, по крайней мере, на момент поиска причин - неисправности, другими словами, установите частоту работы на - настройки по умолчанию.</para> - - <para>Если вы превысили рабочие частоты работы процессора, - заметьте, что дешевле обходится медленная система, чем - сгоревшая система, требующая замены! Также общество не часто - симпатизирует проблемам на таких системах, вне зависимости от - того, считаете ли вы увеличение рабочей частоты не влияющим на - работу или нет.</para> - </listitem> - - <listitem> - <para>Хитрая память: Если у вас установлено множество микросхем - SIMM/DIMM, то вытащите их все и попытайтесь поработать - индивидуально с каждой микросхемой SIMM или DIMM и локализовать - проблему либо до проблематичной микросхемы DIMM/SIMM, либо даже - их комбинации.</para> - </listitem> - - <listitem> - <para>Чересчур оптимистические настройки материнской платы: При - настройке вашей BIOS и выборе положения перемычек на - материнской плате вы имеете возможность задать различные - частоты и задержки, и в большинстве случаев настройки по - умолчанию достаточны, но иногда установка слишком малых - периодов ожидания для ОЗУ, установка параметра <quote>RAM - Speed: Turbo</quote> и подобных параметров в BIOS вызовет - странное поведение. Возможным решением может стать установка - параметров BIOS по умолчанию, но сначала стоит записать ваши - настройки!</para> + <para>Диски могут перегреваться. Проверьте работу + вентиляторов.</para> </listitem> <listitem> - <para>Неустойчивое или недостаточное электропитание материнской - платы. Если в вашей системе есть неиспользуемые адаптеры - ввода/вывода, винчестеры или приводы компакт-дисков, попробуйте - временно их убрать или отключить от кабеля электропитания, - чтобы посмотреть, сможет ли ваш блок питания работать с меньшей - нагрузкой. Или попробуйте воспользоваться другим блоком - питания, желательно большей мощности (например, если имеющийся - блок питания рассчитан на 250 Ватт, попробуйте другой - мощностью 300 Ватт).</para> + <para>Процессор перегревается. Это может произойти + при разгоне процессора или при поломке процессорного + вентилятора. В любом из вариантов убедитесь, что + ваше оборудование работает так, как ему положено по + крайней мере на момент поиска причин неисправности. + В противном случае сбросьте частоту на настройки по + умолчанию.</para> + + <para>Что касается разгона, дешевле обходится медленная + система, чем сгоревшая система, требующая замены! + Также общественность не симпатизирует проблемам на + таких системах.</para> </listitem> - </orderedlist> - - <para>Вы также должны прочитать FAQ по SIG11 (ссылка дана ниже), в - котором даны прекрасные описания всех этих проблем, хотя и с точки - зрения &linux;. Также обсуждается, как аппаратура или программное - обеспечение для тестирования памяти могут пропускать сбойную - память.</para> - - <para>Наконец, если ничего из этого не помогает, то возможно, что - просто вы нашли ошибку во &os; и должны следовать инструкциям - по посылке сообщений о проблемах.</para> - - <para>Подробная информация по этому вопросу содержится в <link xlink:href="http://www.bitwizard.nl/sig11/">FAQ по проблеме - SIG11</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="trap-12-panic"> - <para>Моя система аварийно завершает работу с сообщениями - <errorname>Fatal trap 12: page fault in kernel mode</errorname> - либо <errorname>panic:</errorname>, и выдаёт много дополнительной - информации. Что мне делать?</para> - </question> - <answer> - <para>Разработчики &os; очень интересуются такими ошибками, но - им нужно несколько больше информации, чем просто факт - возникновения этой ошибки. Полностью скопируйте сообщение. - Затем обратитесь к разделу FAQ об <link linkend="kernel-panic-troubleshooting">аварийных завершениях - работы ядра</link>, постройте отладочное ядро и получите - трассу вызовов. Это может звучать трудной задачей, но вам не - нужны никакие знания программирования; просто следуйте - указаниям.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="screen-loses-sync"> - <para>При загрузке монитор темнеет и теряет синхронизацию!</para> - </question> - - <answer> - <para>Это известная проблема с видеоадаптерами ATI Mach64. Она - вызвана тем, что этот адаптер использует адрес - <literal>2e8</literal>, как и четвёртый последовательный порт. - Из-за ошибки (или особенности работы?) в драйвере &man.sio.4; он - обращается к порту, даже если он не существует, и - <emphasis>даже</emphasis> если вы отключите - <filename>sio3</filename> (четвёртый порт), - который, как правило, использует этот адрес ввода/вывода.</para> - - <para>Пока это не исправлено, используйте следующий метод:</para> - - <orderedlist> <listitem> - <para>В приглашении загрузчика наберите <option>-c</option>. - (Это переведёт ядро в режим конфигурации).</para> + <para>Хитроумная память. Если установлены различные + микросхемы SIMM/DIMM, вытащите их все и попробуйте + по одной до локализации проблемы в проблематичной + микросхеме DIMM/SIMM, либо их комбинации.</para> </listitem> <listitem> - <para>Отключите устройства <filename>sio0</filename>, - <filename>sio1</filename>, <filename>sio2</filename> и - <filename>sio3</filename> (все их). После этого драйвер - &man.sio.4; не будет активизироваться и проблем не - будет.</para> + <para>Чересчур оптимистичные настройки материнской платы. + Настройки BIOS и перемычки на материнской плате + предоставляют возможность задавать различные частоты и + задержки. Часто бывает достаточно настроек по + умолчанию, но иногда установка слишком малых периодов + ожидания для ОЗУ или установка параметра <quote>RAM + Speed: Turbo</quote> вызывает странное поведение. + Возможным решением может стать установка параметров + BIOS по умолчанию с предварительной записью текущих + значений.</para> </listitem> <listitem> - <para>Для продолжения загрузки наберите exit.</para> + <para>Неустойчивое или недостаточное электропитание + материнской платы. Уберите неиспользуемые адаптеры + ввода/вывода, винчестеры и приводы компакт-дисков или + отключите их от кабеля электропитания для проверки, + что блок питания может работать с меньшей нагрузкой. + Или попробуйте воспользоваться другим блоком + питания, желательно большей мощности. Например, если + имеющийся блок питания рассчитан на 250 Ватт, + попробуйте другой мощностью 300 Ватт).</para> </listitem> </orderedlist> - <para>Если вам нужно использовать последовательные порты, вы должны - построить новое ядро со следующей модификацией: в файле - <filename>/usr/src/sys/dev/sio/sio.c</filename> (или в файле - <filename>/usr/src/sys/pc98/cbus/sio.c</filename> для pc98) - найдите строчку, - содержащую число <literal>0x2e8</literal> и удалите её вместе с - предшествующий запятой (оставив следующую). После этого следуйте - обычным указаниям по построению ядра.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="reallybigram"> - <para>Почему &os; использует только 64 Мбайт ОЗУ, тогда как - установлено все 128 Мбайт?</para> - </question> - - <answer> - <para>Так как для определения объёма памяти &os; использует - информацию BIOS, она ограничена 16 битами, используемыми для - выражения размера ОЗУ в килобайтах (65535 Кбайт = 64 Мбайт) (или - меньше... некоторые BIOS ограничивают размеры памяти до 16 Мбайт). - Если у вас больше чем 64 Мбайт ОЗУ, &os; будет пытаться - обнаружить эту память; однако эта попытка может и не - удаться).</para> - - <para>Для решения этой проблемы вам нужно использовать опцию ядра, - указанную ниже. Способ выяснения полной информации о памяти из - BIOS существует, но у нас нет места в загрузочном блоке, чтобы это - делать. Когда проблема нехватки места в загрузочных блоках будет - решена, мы будем использовать расширенные функции BIOS для - получения полной информации о памяти... но пока мы остановились на - опции ядра.</para> - - <programlisting>options MAXMEM=<replaceable>n</replaceable></programlisting> - - <para>Здесь <replaceable>n</replaceable> - это объём памяти в - килобайтах. Для машины со 128 Мбайт ОЗУ вам нужно использовать - значение <literal>131072</literal>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="kmem-map-too-small"> - <para>Объём оперативной памяти моей системы превышает 1 Гбайт, работа - завершается аварийно с выдачей сообщения <errorname>kmem_map too - small</errorname> messages. Что не так?</para> - </question> - - <answer> - <para>Как правило, &os; определяет параметры ядра, в частности, - максимальное количество одновременно открытых файлов, исходя из - объёма памяти, установленного в системе. В системах, имеющих 1 - Гбайт или больший объём оперативной памяти, этот механизм - <quote>автоматического определения параметров</quote> может выбрать - слишком большие значения: при запуске ядро выделяет пространство - под различные таблицы и другие структуры, которые заполняют - основной объём доступной ядру памяти. В дальнейшем при работе - системы у ядра не остаётся пространства для динамического - распределения памяти, и оно завершает работу аварийно.</para> + <para>Прочитайте раздел про <link + linkend="signal11">Signal 11</link> для дальнейшего + объяснения и обсуждения, как аппаратура или программное + обеспечение для тестирования памяти могут пропускать + сбойную память. Подробная информация по этому вопросу + содержится в <link + xlink:href="http://www.bitwizard.nl/sig11/"><acronym>FAQ</acronym> + по проблеме SIG11</link>.</para> - <para>Скомпилируйте новое ядро, добавив параметр - <option>VM_KMEM_SIZE_MAX</option> в конфигурационный файл ядра, - увеличив его максимальный размер до 400 Мбайт - (<option>options VM_KMEM_SIZE_MAX=419430400</option>). - 400 Мбайт должно быть достаточно для машин с объёмом - оперативной до 6 Гбайт.</para> + <para>Наконец, если ничего не помогает, то, возможно, это + из-за ошибки во &os;. Следуйте <link linkend="access-pr">этим + инструкциям</link> для отправки сообщения о проблеме.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="panic-kmemmap-too-small"> - <para>В моей системе нет 1 Гбайта оперативной памяти, однако &os; - аварийно завершает работу, выдавая сообщение <errorname>kmem_map - too small</errorname>!</para> + <question xml:id="trap-12-panic"> + <para>Моя система аварийно завершает работу с сообщениями + <errorname>Fatal trap 12: page fault in kernel mode</errorname> + либо <errorname>panic:</errorname>, и выдаёт много дополнительной + информации. Что мне делать?</para> </question> <answer> - <para>Такое завершение работы показывает, что системе не хватает - виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы - можете увеличить количество виртуальной памяти для структур mbuf, - если будете действовать в соответствии с инструкциями раздела - <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#NMBCLUSTERS"> - Ограничения сети</link> Руководства.</para> + <para>Разработчики &os; интересуются такими ошибками, но + им нужно больше информации, чем просто текст ошибки. + Скопируйте весь текст сообщения. + Затем обратитесь к разделу <acronym>FAQ</acronym> об + <link linkend="kernel-panic-troubleshooting">аварийных завершениях + работы ядра</link>, постройте отладочное ядро и получите + трассу вызовов. Это может звучать трудной задачей, зато не + требует навыков программирования. Просто следуйте + указаниям.</para> </answer> </qandaentry> <qandaentry> <question xml:id="proc-table-full"> - <para>Почему я получаю сообщение об ошибке <errorname>kernel: proc: - table is full</errorname>?</para> + <para>Что означает сообщение об ошибке <errorname>maxproc + limit exceeded by uid %i, please see tuning(7) and + login.conf(5)</errorname>?</para> </question> <answer> - <para>Ядро &os; позволяет существовать одновременно ограниченному - числу процессов. Оно зависит от значения переменной - &man.sysctl.8; <varname>kern.maxusers</varname>. - <varname>kern.maxusers</varname> также влияет на другие ограничения - ядра, такие как буферы работы с сетью (обратитесь к <link linkend="panic-kmemmap-too-small">этому</link> рассмотренному ранее - вопросу). Если ваша машина сильно загружена, вам, наверное, - понадобится увеличить <varname>kern.maxusers</varname>. Кроме - максимального числа процессов это увеличит значения и других + <para>Ядро &os; позволяет одновременно существовать + ограниченному числу процессов. Это зависит от значения + переменной &man.sysctl.8; <varname>kern.maxusers</varname>. + <varname>kern.maxusers</varname> также влияет на другие + ограничения ядра, такие как буферы работы с сетью. + Если система сильно загружена, поднимите + <varname>kern.maxusers</varname>. Кроме максимального + числа процессов это также увеличит значения других параметров, ограничивающих систему.</para> - <para>Для корректировки значения <varname>kern.maxusers</varname> - обратитесь к разделу <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> - Ограничения файлов/процессов</link> Руководства. (Хотя в нём - говорится об открытых файлах, те же самые ограничения касаются и - процессов.)</para> + <para>Для корректировки значения + <varname>kern.maxusers</varname> обратитесь к разделу <link + xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#kern-maxfiles"> + Ограничения файлов/процессов</link> Руководства. В нём + говорится об открытых файлах, но те же ограничения касаются + процессов.</para> - <para>Если ваша машина загружена слабо, и просто у вас - слишком много процессов, то вы можете настроить это через sysctl - <varname>kern.maxproc</varname>. Если данная переменная нуждается - в настройке, она должна быть определена в - <filename>/boot/loader.conf</filename>. За дополнительной информацией, - касающейся работы с sysctl переменными обращайтесь к страницам - справочника &man.loader.conf.5; и &man.sysctl.conf.5;. Если эти - процессы запущены одним и тем же пользователем, вам также задать значение - <varname>kern.maxprocperuid</varname> на единицу меньшим, чем новое - значение <varname>kern.maxproc</varname>. (Оно должно быть по - крайней мере на единицу меньшим, потому что системная программа - &man.init.8;, должна работать всегда.)</para> - - <para>Чтобы сохранить значения sysctl, задайте - их в <filename>/etc/sysctl.conf</filename>. Дополнительную информацию - о настройке системы с помощью &man.sysctl.8; можно найти в главе - Руководства <link xlink:href="&url.books.handbook;/configtuning-sysctl.html">Настройка с - помощью sysctl</link> </para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="cmap-busy-panic"> - <para>При перезагрузке с новым ядром выдаётся сообщение - <literal>CMAP busy panic</literal>.</para> - </question> - - <answer> - <para>Процедура определения устаревших файлов - <filename>/var/db/kvm_*.db</filename> иногда даёт сбой и использует - не те файлы, что может вызвать аварийный останов системы.</para> - - <para>Если это случилось, загрузитесь в однопользовательский - режим и выполните команду:</para> - - <screen>&prompt.root; <userinput>rm /var/db/kvm_*.db</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="brkadrint-illegal-host-access"> - <para>Что означает сообщение <errorname>ahc0: brkadrint, Illegal - Host Access at seqaddr 0x0</errorname></para> - </question> - - <answer> - <para>Это - результат конфликта со SCSI-адаптером Ultrastor.</para> - - <para>Во время загрузки войдите в меню конфигурации ядра и выключите - устройство <filename>uha0</filename>, являющееся источником - этой проблемы.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="aci0-illegal-cable"> - <para>При загрузке моей системы выдается сообщение об ошибке - <errorname>ahc0: illegal cable configuration</errorname>. С - подключением кабеля все в порядке. Что происходит?</para> - </question> - - <answer> - <para>На вашей материнской плате отсутствует внешняя логика - поддержки автоматического терминирования. Установите в вашем SCSI - BIOS правильное терминирование для вашей конфигурации вместо - автоматического терминирования. Драйвер &man.ahc.4; не может - определить, есть ли внешняя логика для распознавания кабеля (и, - соответственно, автоматического терминирования). Драйвер просто - полагает, что эта поддержка должна быть, если конфигурация, - содержащаяся в EEPROM, установлена в - <quote>automatic termination</quote>. Без - внешней логики распознавания кабеля драйвер часто будет ошибаться - при настройке терминирования, что может сказаться на надежности - шины SCSI.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="mail-loopback"> - <para><application>Sendmail</application> сообщает, что - <errorname>mail loops back to myself</errorname></para> - </question> - - <answer> - <para>Подробный ответ вы можете получить в <link xlink:href="&url.books.handbook;/mail-trouble.html#Q26.5.2.">Руководстве</link>.</para> + <para>Если система загружена слабо, но в ней запущено + слишком много процессов, поправьте параметр + <varname>kern.maxproc</varname>, определив его значение в + <filename>/boot/loader.conf</filename>. Изменение не вступит + в силу до перезагрузки системы. За дополнительной информацией, + касающейся настройки параметров, обращайтесь к странице + Справочника &man.loader.conf.5;. Если эти процессы запущены + одним и тем же пользователем, поправьте + значение <varname>kern.maxprocperuid</varname>, чтобы оно + было на единицу меньше, чем новое значение + <varname>kern.maxproc</varname>. Оно должно быть меньше по + крайней мере на единицу, потому что системная программа + &man.init.8; должна работать всегда.</para> </answer> </qandaentry> <qandaentry> <question xml:id="remote-fullscreen"> - <para>Полноэкранные приложения на удалённой машине ведут себя + <para>Полноэкранные приложения на удалённой машине работают неправильно!</para> </question> <answer> - <para>На удалённой машине тип терминала может быть установлен - в значение, отличное от типа терминала <literal>cons25</literal>, - требуемом при использовании консоли &os;.</para> - - <para>Есть несколько возможных способов решения этой - проблемы:</para> - - <itemizedlist> - <listitem> - <para>После входа на другую машину установите значение - переменной окружения <envar>TERM</envar> равным - <literal>ansi</literal> - или <literal>sco</literal>, если эта машина знает об этих - типах терминалов.</para> - </listitem> - - <listitem> - <para>Используйте эмулятор VT100, например - <application>screen</application> на консоли &os;. - <application>Screen</application> даёт вам возможность - открывать несколько рабочих сеансов на одном терминале, - и она имеет ещё ряд полезных особенностей. Каждое окно - программы <application>screen</application> ведёт себя - как терминал VT100, так что переменная <envar>TERM</envar> - на удалённой - машине должна быть установлена в - значение <literal>vt100</literal>.</para> - </listitem> - - <listitem> - <para>Опишите терминал <literal>cons25</literal> в базе - данных характеристик терминалов на удалённой машине. - Способ описания зависит от используемой на этой машине - операционной системе. Вам может помочь чтение руководств - по администрированию удалённой системы.</para> - </listitem> - - <listitem> - <para>Запустите X-сервер на стороне &os; и войдите на - удалённую систему с помощью какого-либо эмулятора терминала, - работающего в X Window, такого, как <command>xterm</command> - или <command>rxvt</command>. Переменная окружения - <envar>TERM</envar> - на удалённой машине должна быть установлена в значение - <literal>xterm</literal> или <literal>vt100</literal>.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="pnp-not-found"> - <para>Почему мой PnP-адаптер - не обнаруживается (или определяется - как <literal>unknown</literal>)?</para> - </question> - - <answer> - <para>Причины такого поведения объясняются в следующем сообщении - электронной почты, опубликованном в &a.questions; - &a.peter.email; в ответ на вопрос о внутреннем модеме, - который перестал распознаваться после обновления до &os; - 4.<replaceable>X</replaceable> - (комментарии внутри <literal>[]</literal> были добавлены для - пояснения контекста послания).</para> + <para>На удалённой машине тип терминала может отличаться + от <literal>xterm</literal>, который требуется для + использования консоли &os;. Либо же ядро может иметь + неправильные значения ширины и высоты терминала.</para> - <note> - <para>Содержание этой цитаты по сравнению с оригинальным текстом - было изменено.</para> - </note> + <para>Проверьте, чтобы переменная окружения + <envar>TERM</envar> имела значение + <literal>xterm</literal>. Если удалённая машина его не + поддерживает, попробуйте <literal>vt100</literal>.</para> - <blockquote> - <para>BIOS, поддерживающая PNP, предварительно отводит и оставляет - ему [модему] место в адресном пространстве портов, так что [в - 3.<replaceable>X</replaceable>] процедура обнаружения в старом - стиле ISA <quote>находит</quote> его здесь.</para> - - <para>В 4.0 код для работы с ISA гораздо более PnP-центричен. - [В 3.<replaceable>X</replaceable>] было возможно при - распознавании ISA найти - <quote>беспризорное</quote> устройство и затем по идентификатору - PNP-устройства произвести поиск и получить ошибку из-за конфликта - ресурсов. Поэтому для предотвращения повторной процедуры - распознавания в нём сначала выключаются все управляемые - адаптеры. Это также означает, что для поддерживаемого - оборудования PnP нужно знать их PnP-идентификаторы. Имеются - планы на обеспечение возможности настройки этого со стороны - пользователя.</para> - </blockquote> - - <para>Чтобы заставить устройство работать снова, требуется определить - его PnP-идентификатор и добавить его в список, который используется - процедурой распознавания ISA для идентификации устройств PnP. Этот - идентификатор можно получить при помощи программы &man.pnpinfo.8;, - найдя устройство в её выдаче, вот, например, вывод команды - &man.pnpinfo.8; в случае внутреннего модема:</para> - - <screen>&prompt.root; <userinput>pnpinfo</userinput> -Checking for Plug-n-Play devices... - -Card assigned CSN #1 -Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff -PnP Version 1.0, Vendor Version 0 -Device Description: Pace 56 Voice Internal Plug & Play Modem - -Logical Device ID: PMC2430 0x3024a341 #0 - Device supports I/O Range Check -TAG Start DF - I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8 - [16-bit addr] - IRQ: 4 - only one type (true/edge)</screen> - - <para>[лишние строки TAG исключены]</para> - - <screen>TAG End DF -End Tag - -Successfully got 31 resources, 1 logical fdevs --- card select # 0x0001 - -CSN PMC2430 (0x3024a341), Serial Number 0xffffffff - -Logical device #0 -IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 -IRQ 5 0 -DMA 4 0 -IO range check 0x00 activate 0x01</screen> - - <para>Информация, которая вам нужна, находится в строке - <literal>Vendor ID</literal> в самом начале вывода команды. - Шестнадцатеричное число в скобках (в этом примере - <literal>0x3024a341</literal>) является PnP-идентификатором, а - строчка, идущая прямо перед ним (<literal>PMC2430</literal>) - является уникальным ASCII-идентификатором.</para> - - <para>Либо, если в списке, выдаваемом &man.pnpinfo.8;, адаптера нет, - можно воспользоваться утилитой &man.pciconf.8;. Вот часть выдачи - команды <command>pciconf -vl</command> для интегрированного в - материнскую плату звукового адаптера:</para> - - <screen>&prompt.root; <userinput>pciconf -vl</userinput> -chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00 - vendor = 'Intel Corporation' - device = '82801AA 8xx Chipset AC'97 Audio Controller' - class = multimedia - subclass = audio</screen> - - <para>В данном случае вам нужно использовать значение для - <varname>chip</varname>, <literal>0x24158086</literal>.</para> - - <para>Эту информацию (ID производителя или номер микросхемы) нужно - добавить в файл <filename>/usr/src/sys/dev/sio/sio_isa.c</filename>.</para> - - <para>Сначала вы должны сделать резервную копию файла - <filename>sio_isa.c</filename> просто на тот случай, если что-то пойдёт - не так. Эта копия также может потребоваться для создания патча для - посылки его вместе с вашим PR (вы же собираетесь послать PR, не - правда ли?) отредактировав файл <filename>sio_isa.c</filename> и - поискав строчку:</para> - - <programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting> - - <para>Затем переместитесь ниже и найдите подходящее место, чтобы - добавить строчку для вашего устройства. Записи имеют примерно такой - вид, и они отсортированы по ASCII-строкам Vendor ID, которые должны - быть помещены в поле комментария справа от строки кода вместе с - полным описанием устройства (если оно поместится) или частью из - <emphasis>Device Description</emphasis> вывода программы - &man.pnpinfo.8;:</para> - - <programlisting>{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */ -{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */ -{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */ -{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */ -{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */</programlisting> - - <para>Добавьте шестнадцатеричный идентификатор Vendor ID вашего - устройства в соответствующее место, сохраните файл, перестройте - ядро и выполните перезагрузку. Ваше устройство должно теперь быть - найдено в виде устройства <filename>sio</filename>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="nlist-failed"> - <para>Почему при запуске некоторых программ, например, - <command>top</command> или <command>systat</command>, выдается - сообщение об ошибке <errorname>nlist failed</errorname>?</para> - </question> - - <answer> - <para>Проблема в том, что приложение, которое вы пытаетесь - запустить, ищет специфические ссылки в ядре, но по каким-либо - причинам не может их найти; эта ошибка происходит от одной из - следующих проблем:</para> - - <itemizedlist> - <listitem> - <para>Ваше ядро и программы пользователей не соответствуют - друг другу (например, вы построили ядро, но не выполнили - команду <buildtarget>installworld</buildtarget>, или наоборот), - и поэтому таблица имен отличается от того, что думают о ней - пользовательские приложения. Если это ваш случай, просто - завершите процесс обновления (обратитесь к файлу - <filename>/usr/src/UPDATING</filename> для выяснения - правильной последовательности действий).</para> - </listitem> + <para>Запустите <command>stty -a</command>, чтобы узнать, + какие размеры терминала заданы в ядре. Если значения + неправильные, их можно поменять командой + <command>stty rows <replaceable>RR</replaceable> cols + <replaceable>CC</replaceable></command>.</para> - <listitem> - <para>Для загрузки ядра вы не используете - <command>/boot/loader</command>, а делаете это - непосредственно из <filename>boot2</filename> (обратитесь - к справочно странице по &man.boot.8;). Хотя нет ничего - плохого в обходе <command>/boot/loader</command>, обычно - работу по доступности символьной информации ядра из - пользовательских приложений он выполняет лучше.</para> - </listitem> - </itemizedlist> + <para>Либо же, если на клиентской машине установлен + <package>x11/xterm</package>, запуск + <command>resize</command> позволит узнать у терминала + правильные размеры и применить эти значения.</para> </answer> </qandaentry> @@ -3581,94 +2121,55 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00 прочего, записать имя хоста в файле журнала для справки администратора.</para> - <para>Лечение: Если проблема возникает вне зависимости от того, - к какому серверу вы подключаетесь с вашего компьютера (клиента), - то причина в клиенте; или же, если проблема возникает только - при чьей-либо попытке подключиться к вашему компьютеру (серверу), - то проблема с сервером.</para> + <para>Лечение: Если проблема возникает при подключении + клиента к любому серверу, то причина в клиенте. Если + проблема возникает только при чьей-либо попытке + подключиться к серверу, то проблема в сервере.</para> <para>Если проблема с клиентом, то единственным методом ее решения является исправление DNS, чтобы сервер смог распознать вашу машину. Если это происходит в локальной сети, то предположите, - что это проблема с сервером и продолжайте чтение; обратно, если - это происходит в глобальной сети Интернет, то в большинстве - случаев вам нужно обратиться к вашему провайдеру и попросить - исправить положение.</para> - - <para>Если проблема с сервером, и это происходит в локальной - сети, то вам нужно настроить сервер для разрешения запросов на - преобразование адреса в имя хоста в диапазоне ваших локальных + что это проблема с сервером, и продолжайте чтение. Если + это происходит в сети Интернет, обратитесь к вашему + провайдеру.</para> + + <para>Если проблема с сервером в локальной + сети, настройте сервер для разрешения запросов на + преобразование адреса в имя хоста в диапазоне локальных адресов. Обратитесь к страницам Справочника по &man.hosts.5; и &man.named.8; для получения более подробной информации. - Если это происходит в глобальной сети Интернет, то проблема - может заключаться в некорректной работе ресолвера вашего сервера. - Для проверки попробуйте найти другой хост, скажем, + Если это происходит в сети Интернет, то проблема + может заключаться в некорректной работе ресолвера локального сервера. + Для проверки попробуйте получить адрес другого хоста, такого как <systemitem>www.yahoo.com</systemitem>. Если это не работает, то - проблема у вас.</para> + в этом и состоит проблема.</para> <para>Из-за свежей установки &os;, также возможно, что информация о домене и сервере имён отсутствует в <filename>/etc/resolv.conf</filename>. Это часто будет вызывать задержку в работе <application>SSH</application>, так как опция <literal>UseDNS</literal> по умолчанию - установлена в значение <literal>yes</literal> в файле - <filename>sshd_config</filename> из каталога <filename>/etc/ssh</filename>. Если именно это является - причиной проблемы, то вам нужно будет либо добавить недостающую + установлена в значение <literal>yes</literal> в + <filename>/etc/ssh/sshd_config</filename>. Если именно это является + причиной проблемы, то добавьте недостающую информацию в <filename>/etc/resolv.conf</filename>, либо в - качестве временной меры установить <literal>UseDNS</literal> + качестве временной меры установите <literal>UseDNS</literal> в <literal>no</literal> в файле <filename>sshd_config</filename>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="stray-irq"> - <para>Что означает сообщение <errorname>stray IRQ</errorname>?</para> - </question> - - <answer> - <para>Потерянные IRQ являются признаком странностей в работе - аппаратных IRQ, в основном оборудования, которое удаляет свои - запросы на прерывание посреди цикла подтверждения запроса на - прерывание.</para> - - <para>Имеется три варианта работы с такими ситуациями:</para> - - <itemizedlist> - <listitem> - <para>Примириться с сообщениями. В любом случае подавляются все - сообщения, кроме каждых первых 5 на IRQ.</para> - </listitem> - - <listitem> - <para>Убрать предупреждающие сообщения, изменив значение - <varname>MAX_STRAY_LOG</varname> с <literal>5</literal> на - <literal>0</literal> в файле - <filename>intr_machdep.c</filename> для вашей платформы - (например, &i386;), и собрать новое ядро, и тогда все - предупреждения будут подавлены.</para> - </listitem> - - <listitem> - <para>Избавиться от предупреждений, установив параллельный порт, - использующий IRQ 7 и драйвер PPP для него (это есть на - большинстве систем), и установив диск IDE или другое - оборудование, использующее IRQ 15 и подходящий драйвер.</para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="file-table-full"> <para>Почему в &man.dmesg.8; регулярно выводятся сообщения <errorname>file: table is full</errorname>?</para> </question> <answer> - <para>Такое сообщение об ошибке сигнализирует о том, что в вашей - системе исчерпано количество доступных файловых дескрипторов. - Пожалуйста, обратитесь к разделу <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#KERN-MAXFILES"> + <para>Такое сообщение об ошибке сигнализирует о том, что в + системе закончились доступные файловые дескрипторы. + Обратитесь к разделу <link + xlink:href="&url.books.handbook;/configtuning-kernel-limits.html#kern-maxfiles"> kern.maxfiles</link> главы о <link xlink:href="&url.books.handbook;/configtuning-kernel-limits.html"> Настройке ограничений ядра</link> Руководства для выяснения всех подробностей и устранения этой проблемы.</para> @@ -3676,46 +2177,14 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00 </qandaentry> <qandaentry> - <question xml:id="calcru-negative-runtime"> - <para>Почему выводятся сообщения - <errorname>calcru: negative runtime</errorname> или - <errorname>calcru: runtime went backwards</errorname>?</para> - </question> - - <answer> - <para>При включении в BIOS &intel; Enhanced SpeedStep может - возникнуть проблема, при которой ядро начинает выводить - сообщения <errorname>calcru</errorname> как показано - ниже:</para> - - <screen>calcru: runtime went backwards from 6 usec to 3 usec for pid 37 (pagezero) -calcru: runtime went backwards from 6 usec to 3 usec for pid 36 (vmdaemon) -calcru: runtime went backwards from 170 usec to 138 usec for pid 35 (pagedaemon) -calcru: runtime went backwards from 553 usec to 291 usec for pid 15 (swi6: task queue) -calcru: runtime went backwards from 15521 usec to 10366 usec for pid 2 (g_event) -calcru: runtime went backwards from 25 usec to 12 usec for pid 11 (swi1: net) -calcru: runtime went backwards from 4417 usec to 3960 usec for pid 1 (init) -calcru: runtime went backwards from 2084385 usec to 1793542 usec for pid 1 (init) -calcru: runtime went backwards from 408 usec to 204 usec for pid 0 (swapper)</screen> - - <para>Причиной является то, что &intel; SpeedStep (EIST) не - совместим с некоторыми системными платами.</para> - - <para>Обходной путь: отключить EIST в BIOS. При этом у вас - сохраняется возможность управлять частотой ACPI-совместимого - процессора, используя &man.powerd.8;.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="computer-clock-skew"> <para>Почему часы на моем компьютере показывают неправильное время?</para> </question> <answer> - <para>На вашем компьютере установлены двое или большее количество - таймеров, а &os; выбрала не тот.</para> + <para>На компьютере установлено по меньшей мере два + таймера, и &os; выбрала не тот.</para> <para>Запустите &man.dmesg.8; и посмотрите строки, содержащие слово <literal>Timecounter</literal>. &os; выбирает таймер с @@ -3727,7 +2196,7 @@ Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 Timecounter "TSC" frequency 2998570050 Hz quality 800 Timecounters tick every 1.000 msec</screen> - <para>Вы можете удостовериться в этом, проверив + <para>Удостоверьтесь в этом, проверив &man.sysctl.3;-переменную <varname>kern.timecounter.hardware</varname>.</para> @@ -3736,7 +2205,7 @@ kern.timecounter.hardware: ACPI-fast</screen> <para>Это может быть неработающий таймер ACPI. Самым простым решением будет отключить таймер ACPI в - <filename>/etc/loader.conf</filename>:</para> + <filename>/boot/loader.conf</filename>:</para> <programlisting>debug.acpi.disabled="timer"</programlisting> @@ -3750,10 +2219,10 @@ kern.timecounter.hardware: ACPI-fast</screen> &man.sysctl.3;-переменную <varname>kern.timecounter.hardware</varname>.</para> - <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput> + <screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware=i8254</userinput> kern.timecounter.hardware: TSC -> i8254</screen> - <para>Теперь ваш компьютер будет аккуратнее следить за временем.</para> + <para>Теперь компьютер должен аккуратнее следить за временем.</para> <para>Чтобы это изменение вступало в силу во время загрузки системы, добавьте в файл <filename>/etc/sysctl.conf</filename> такую @@ -3763,83 +2232,6 @@ kern.timecounter.hardware: TSC -> i8254</screen> </answer> </qandaentry> - - <qandaentry> - <question xml:id="null-null"> - <para>Почему мой лэптоп некорректно распознаёт PC-карты?</para> - </question> - - <answer> - <para>Эта проблема часто встречается на лэптопах, которые работают - более чем с одной операционной системой. Некоторые не-BSD - операционные системы оставляют аппаратную часть PC-карт в - неустойчивом состоянии. &man.pccardd.8; распознает - карту как <errorname>"(null)""(null)"</errorname>, а не как - реально используемую модель.</para> - - <para>Вы должны убрать всё питание со слота PC-карты для полного - сброса аппаратуры. Полностью выключите лэптоп. (Не переводите его - ни в спящий, ни в ждущий режим; питание должно быть выключено - полностью.) Подождите несколько секунд и выполните перезагрузку. - Теперь ваша PC-карта должна заработать.</para> - - <para>В некоторых лэптопах аппаратная часть неверно сообщает о - своём выключении. Если описанное выше не работает, остановите - работу, выньте батарею, подождите несколько секунд, вставьте - батарею и выполните перезагрузку.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="boot-read-error"> - <para>Сразу после экрана BIOS начальный загрузчик &os; выводит - сообщение <errorname>Read error</errorname> и - останавливается.</para> - </question> - - <answer> - <para>Начальный загрузчик &os; неверно определяет параметры - винчестера. Их можно установить вручную утилитой &man.fdisk.8; при - создании или изменении параметров слайса &os;.</para> - - <para>Правильные значения параметров диска можно посмотреть в BIOS. - Обратите внимание на число дорожек, головок и секторов для этого - диска.</para> - - <para>В подпрограмме fdisk утилиты &man.sysinstall.8; нажмите - <keycap>G</keycap> для установки параметров диска (disk - geometry).</para> - - <para>Появится диалоговое окно, запрашивающее количество дорожек, - головок и секторов. Задайте значения, взятые из BIOS и разделяемые - символами слэша. Например, 5000 дорожек, 250 головок и 60 секторов - будут введены как <userinput>5000/250/60</userinput>.</para> - - <para>Нажмите <keycap>Enter</keycap> для установки этих значений, - а затем клавишу - <keycap>W</keycap> для того, чтобы записать новую таблицу - разделов на диск.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="bootmanager-restore"> - <para>Другая операционная система уничтожила мой менеджер загрузки, - как мне его восстановить?</para> - </question> - - <answer> - <para>Запустите утилиту &man.sysinstall.8; и выберите пункт - <guimenuitem>Configure</guimenuitem>, а затем - <guimenuitem>Fdisk</guimenuitem>. Выберите диск, на котором ранее - находился менеджер загрузки, при помощи клавиши - <keycap>Пробел</keycap>. Нажмите <keycap>W</keycap> для записи - изменений на диск. Появится диалоговое окно для выбора - устанавливаемого начального загрузчика. Выберите нужный, и он - будет восстановлен.</para> - </answer> - </qandaentry> - <qandaentry> <question xml:id="indefinite-wait-buffer"> <para>Что означает сообщение <errorname>swap_pager: indefinite @@ -3848,63 +2240,57 @@ kern.timecounter.hardware: TSC -> i8254</screen> <answer> <para>Это значит, что процесс пытается сбросить страницу памяти на - диск, и попытка сделать это оканчивается неудачно вот уже в течение - более чем 20 секунд. Это может быть вызвано испорченными блоками + диск, и попытка сделать это оканчивается неудачно в течение + более 20 секунд. Это может быть вызвано испорченными блоками на диске, кабелями, подключением или другим оборудованием - ввода/вывода. Если диск сам по себе на самом деле испорчен, вы + ввода/вывода. Если диск сам по себе испорчен, вы также увидите ошибки работы с диском в - <filename>/var/log/messages</filename> и при работе команды + <filename>/var/log/messages</filename> и в выводе <command>dmesg</command>. В противном случае проверьте кабели и подключения.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="udma-icrc"> - <para>Что означают ошибки <errorname>UDMA ICRC</errorname>, и как их - исправить?</para> - </question> - - <answer> - <para>Драйвер &man.ata.4; сообщает об ошибках - <errorname>UDMA ICRC</errorname>, когда нарушается передача в или с - диска в режиме DMA. Драйвер будет повторять передачу - несколько раз. Если повторные попытки окончатся неудачей, он - переключится из режима DMA в более медленный режим PIO - взаимодействия с устройством.</para> - - <para>Проблема может возникать по многим причинам, хотя самым - распространённой является неправильное или сбоящее подключение - кабелей. Проверьте кабели ATA на наличие повреждений и - соответствие используемому режиму Ultra DMA. Если вы используете - диски на съёмных салазках, они также должны быть совместимыми с - этим режимом. Удостоверьтесь, что все соединения подключены - хорошо. Проблемы также наблюдались, когда старый диск - устанавливался на тот же самый канал ATA, что и Ultra DMA 66 - (или более быстрый) диск. Наконец, такие ошибки могут указывать на - сбойность самого диска. Большинство производителей дисков - предоставляют программное обеспечение для тестирования своих - дисков, так что проверьте свой диск, и, если это необходимо, - сделайте резервную копию данных и замените его.</para> - - <para>Для просмотра и выбора режимов DMA или PIO для каждого - устройства ATA можно использовать утилиту &man.atacontrol.8;. В - частности, команда <command>atacontrol mode - channel</command> выдаст режимы, - используемые заданным каналом ATA, причём первичный канал - нумеруется нулём, и так далее.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="lock-order-reversal"> <para>Что означают сообщения <errorname>lock order reversal</errorname>?</para> </question> <answer> - <para>Ответ на этот вопрос можно найти в глоссарии &os;, - смотрите <link xlink:href="&url.books.handbook;/freebsd-glossary.html#LOR-GLOSSARY">LOR</link>.</para> + <para>Ядро &os; использует несколько блокировок для арбитража + доступа к соответствующим ресурсам. Когда несколько + потоков в ядре пытаются захватить несколько блокировок + подряд, всегда существует возможность появления мёртвой + блокировки (deadlock), где два потока захватили по одной + блокировке и заблокированы в ожидании освобождения другим + потоком второй блокировки. Такой проблемы синхронизации + можно избежать, если все потоки захватывают блокировки в + одинаковом порядке.</para> + + <para>Система диагностирования блокировок &man.witness.4;, + которая по умолчанию включена во &os.current; и выключена + для стабильных веток и релизов, определяет возможность + появления мёртвых блокировок из-за ошибок их использования, + включая захват нескольких блокировок в различном порядке + в разных частях ядра. Инфраструктура &man.witness.4; + пытается обнаруживать эту проблему по мере её появления + и сообщает о ней на системную консоль в сообщении + <errorname>lock order reversal</errorname> (которое также + часто называют <acronym>LOR</acronym>).</para> + + <para>В силу консервативности &man.witness.4; возможны ложные + срабатывания. При правильном срабатывании такое сообщение + <emphasis>не</emphasis> означает, что система находится в + состоянии мёртвой блокировки; его следует рассматривать + как предупреждение о том, что в этом месте могла бы + произойти мёртвая блокировка.</para> + + <note> + <para>Плохие <acronym>LOR</acronym> обычно быстро + исправляют, поэтому перед написанием сообщения в списки + рассылки следует проверить архивы &a.current.url;.</para> + </note> </answer> </qandaentry> @@ -3930,7 +2316,7 @@ kern.timecounter.hardware: TSC -> i8254</screen> подсистем в ядре, которые бы занимались блокировкой длительный период, используя мьютекс.</para> - <para>Для ловли таких ошибок, в ядро могут быть добавлены + <para>Для нахождения таких ошибок в ядро могут быть добавлены assertions, которые будут взаимодействовать с подсистемой &man.witness.4; для генерирования предупреждения или фатальной ошибки (в @@ -3942,6 +2328,9 @@ kern.timecounter.hardware: TSC -> i8254</screen> с неудачной синхронизацией (timing) они могут вызвать нежелательные эффекты, начиная от незначительной задержки в ответной реакции системы до полной блокировки системы.</para> + + <para>Дополнительная информация о синхронизации во &os; + находится на странице Справочника &man.locking.9;.</para> </answer> </qandaentry> @@ -3956,205 +2345,27 @@ kern.timecounter.hardware: TSC -> i8254</screen> <answer> <para>Эта ошибка не означает, что не найдена утилита &man.touch.1;. Ошибка наверняка появляется из-за того, что даты модификации файлов - установлены в будущем. Если ваши CMOS часы установлены на локальное - время, то вам надо отрегулировать часовой механизм ядра, запустив - команду <command>adjkerntz -i</command>, при загрузке в + установлены в будущем. Если CMOS часы установлены на локальное + время, отрегулируйте часовой механизм ядра, запустив + команду <command>adjkerntz -i</command> в однопользовательском режиме.</para> </answer> </qandaentry> </qandaset> </chapter> - <chapter xml:id="commercial"> - <title>Коммерческие приложения</title> - - <note> - <para>Этот раздел выглядит довольно заброшенным, однако мы, - конечно же, надеемся, что производители сделают добавления! :) Проект - &os; финансово не заинтересован в успехах ни одной из компаний, - которые здесь упоминаются, хотя приводит их список в интересах - общества (в предположении, что коммерческий интерес к &os; может - положительно повлиять на дальнейшее развитие &os;). Мы просим - поставщиков коммерческого программного обеспечения присылать нам - информацию о ваших продуктах для включения в этот список. Более - полный список производителей находится на <link xlink:href="&url.base;/commercial/commercial.html">странице - производителей</link>.</para> - </note> - - <qandaset> - <qandaentry> - <question xml:id="officesuite"> - <para>Где можно найти набор офисных программ для &os;?</para> - </question> - - <answer> - <para>Офисные пакеты с открытым кодом <application>OpenOffice.org</application> - и <application>LibreOffice</application> - имеют версии, предназначенные для работы во &os;. - &linux;-версия <application> - Oracle Open Office</application>, - расширенной закрытой версии OpenOffice.org, также работает во - &os;.</para> - - <para>В Коллекции Портов &os; имеется также множество текстовых - редакторов, электронных таблиц и программ для работы с - изображениями.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="motif"> - <para>Где можно купить <application>&motif;</application> для - &os;?</para> - </question> - - <answer> - <para>Open Group опубликовала исходные тексты - <application>&motif; 2.2.2</application>. Вы можете - установить пакет - <package>x11-toolkits/open-motif</package> - или скомпилировать его из портов. Воспользуйтесь <link xlink:href="&url.books.handbook;/ports.html">секцией Порты Руководства</link> для - получения детальной информации о том, как это сделать.</para> - - <note> - <para>Лицензия <application>Open &motif;</application> - позволяет распространение, только если - библиотека используется на операционной системе - <link xlink:href="http://www.opensource.org/"> - с открытыми исходными текстами</link>.</para> - </note> - - <para>В дополнение нужно сказать, что существуют также, - дистрибьюторы предлагающие коммерческий вариант - <application>&motif;</application>. Эта библиотека не - бесплатна, но ее лицензия позволяет вести разработку приложений с - закрытыми исходными текстами. Обратитесь в фирму - <link linkend="apps2go">Apps2go</link>, предлагающую - самый дешёвый дистрибутив - <application>&motif; 2.1.20</application> для &os; - (&i386;) в формате ELF.<anchor xml:id="apps2go"/></para> - - <para>Существуют два дистрибутива, <quote>для разработчиков</quote> - (<quote>development edition</quote>) и ещё более дешёвая - <quote>времени выполнения</quote> (<quote>runtime edition</quote>). - В эти дистрибутивы включены:</para> - - <itemizedlist> - <listitem> - <para><application>OSF/&motif; manager</application>, - <application>xmbind</application>, - <application>panner</application>, - <application>wsm</application>.</para> - </listitem> - - <listitem> - <para>Пакет разработчика с uil, mrm, xm, xmcxx, заголовочными - файлами и файлами <application>Imake</application>.</para> - </listitem> - - <listitem> - <para>Статические и динамические ELF-библиотеки.</para> - </listitem> - - <listitem> - <para>Демонстрационные приложения.</para> - </listitem> - </itemizedlist> - - <para>При оформлении заказа не забудьте указать, что вам нужна - версия <application>&motif;</application> именно для &os; - (не забудьте также указать архитектуру процессора)! - <emphasis>Apps2go</emphasis> также продаёт версии для NetBSD - и OpenBSD. В настоящий момент их можно получить только по - FTP.</para> - - <variablelist> - <varlistentry><term>Дополнительная информация</term> - <listitem> - <para><link xlink:href="http://www.apps2go.com/">WWW-сервер Apps2go</link></para> - </listitem> - </varlistentry> - - <varlistentry><term>или</term> - <listitem> - <para>электронные адреса отделов <link xlink:href="mailto:sales@apps2go.com">продаж</link> и <link xlink:href="mailto:support@apps2go.com">поддержки</link>.</para> - </listitem> - </varlistentry> - - <varlistentry><term>или</term> - <listitem> - <para>телефоны (817) 431 8775 или - +1 817 431-8775</para> - </listitem> - </varlistentry> - </variablelist> - - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="cde"> - <para>Где можно купить <application>CDE</application> для - &os;?</para> - </question> - - <answer> - <para>Фирма <emphasis>Xi Graphics</emphasis> предлагала - <application>CDE</application> для - &os;, но сейчас этот продукт в продаже отсутствует.</para> - - <para><link xlink:href="http://www.kde.org/"><application>KDE</application></link> - - это свободно - распространяемый вариант графической среды для X11, которая во - многом похожа на <application>CDE</application>. Вам может - также приглянуться <link xlink:href="http://www.xfce.org/"><application>xfce</application></link>. - <application>KDE</application> и <application>xfce</application> - можно получить из - <link xlink:href="&url.base;/ports/">Коллекции Портов</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="database-systems"> - <para>Существуют ли СУБД для &os;?</para> - </question> - - <answer> - <para>Да! Обратитесь к разделу <link xlink:href="&url.base;/commercial/software_bycat.html#CATEGORY_DATABASE"> - Поставщики программного обеспечения</link> на Web-сервере &os;.</para> - - <para>Также посмотрите раздел <link xlink:href="&url.base;/ports/databases.html">Базы данных</link> - Коллекции Портов.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="oracle-support"> - <para>Можно ли запустить <application>&oracle;</application> - на &os;?</para> - </question> - - <answer> - <para>Да. Указания по настройке &linux; - <application>&oracle;</application> на &os; - находятся по адресу <link xlink:href="http://www.shadowcom.net/freebsd-oracle9i/"> - http://www.shadowcom.net/freebsd-oracle9i/</link></para> - </answer> - </qandaentry> - </qandaset> - </chapter> - <chapter xml:id="applications"> <title>Прикладные программы</title> <qandaset> <qandaentry> <question xml:id="user-apps"> - <para>Итак, где находятся все прикладные программы?</para> + <para>Где находятся все прикладные программы?</para> </question> <answer> - <para>Пожалуйста, загляните на <link xlink:href="&url.base;/ports/index.html">страницу портов</link>, + <para>Обратитесь на <link + xlink:href="&url.base;/ports/index.html">страницу портов</link>, содержащую информацию о программных продуктах, перенесённых во &os;. На данный момент в этом списке находится более &os.numports; приложений и он ежедневно увеличивается, так @@ -4162,78 +2373,54 @@ kern.timecounter.hardware: TSC -> i8254</screen> в котором публикуется информация о появлении новых приложений.</para> - <para>Большинство портов должно нормально работать на системах - веток &rel3.relx;, &rel2.relx; и &rel.relx;. - При выходе нового релиза &os; в него в каталог <filename>ports/</filename> включается актуальная на + <para>Большинство портов должно нормально работать во всех + поддерживаемых версиях &os;. Неработающие порты + специально помечаются соответствующим образом. + При выходе нового релиза &os; в него в каталог + <filename>ports/</filename> включается актуальная на момент выхода Коллекция Портов.</para> - <para>Мы также поддерживаем концепцию <quote>пакаджа</quote>, - являющегося не более чем упакованным дистрибутивом в бинарной - форме с некоторыми встроенными возможностями по его настройке - во время установки. Пакадж может быть легко установлен и - деинсталлирован снова без углубления в детали того, какие файлы - должны быть установлены.</para> - - <para>Используйте меню установки пакаджей - <guimenuitem>Packages</guimenuitem> в &man.sysinstall.8; (в - пункте меню <guimenuitem>Configure</guimenuitem>) или - запускайте &man.pkg.add.1; с указанием конкретных файлов с - пакаджами, которые вы хотите установить. Файл с пакаджем, как - правило, идентифицируется по его суффиксу - <filename>.tbz</filename>. Для обладателей дистрибутива - системы на компакт-диске предназначен каталог <filename>packages/All</filename>, содержащий все эти - файлы. Также разные версии &os; можно получить по сети со - следующих серверов:</para> - - <variablelist> - <varlistentry> - <term>для &rel3.relx; -RELEASE/&rel3.stable;</term> - - <listitem> - <para><link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel3.packages;/"> - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel3.packages;</link></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>для &rel2.relx; -RELEASE/&rel2.stable;</term> - - <listitem> - <para><link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;/"> - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel2.packages;</link></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>для &rel.relx; -RELEASE/&rel.stable;</term> - - <listitem> - <para><link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;/"> - ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/&rel.packages;</link></para> - </listitem> - </varlistentry> - </variablelist> - - <para>или с ближайшего к вам зеркального сервера.</para> - - <para>Имейте в виду, что не все порты могут быть доступны в виде - пакаджей, так как постоянно идёт добавление новых. Неплохо - время от времени проверять, какие пакаджи доступны на основном - сервере <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org</link>.</para> + <para>&os; умеет работать со сжатыми двоичными пакетами для + упрощения установки и удаления портов. Используйте + &man.pkg.7; для управления процессом установки + пакетов.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="configure-inn"> - <para>Как настроить INN (Internet News) на моей машине?</para> + <question xml:id="how-do-download-ports-tree"> + <para>Как загрузить дерево Портов? Следует ли использовать + SVN?</para> </question> <answer> - <para>После установки пакаджа или порта <package>news/inn</package> для начала загляните в - <link xlink:href="http://www.eyrie.org/~eagle/faqs/inn.html">INN - FAQ</link>.</para> + <para>Любым из указанных способов:</para> + + <itemizedlist> + <listitem> + <para>Используйте portsnap в большинстве случаев. + Обратитесь к разделу <link + xlink:href="&url.books.handbook;/ports-using.html">Использование + Коллекции Портов</link> для получения инструкций по + использованию этого инструмента.</para> + </listitem> + <listitem> + <para>Используйте SVN, если нужны собственные патчи для + дерева портов. Обратитесь к разделу <link + xlink:href="&url.books.handbook;/svn.html">Использование + Subversion</link> для получения дополнительной + информации.</para> + </listitem> + <listitem> + <para>Используйте <acronym>CTM</acronym> как это описано + в разделе <link + xlink:href="&url.books.handbook;/ctm.html">Использование + <acronym>CTM</acronym></link> для получения + изменений по почте при нестабильном соединении.</para> + </listitem> + </itemizedlist> </answer> - </qandaentry> + </qandaentry> <qandaentry> <question xml:id="java"> @@ -4241,33 +2428,32 @@ kern.timecounter.hardware: TSC -> i8254</screen> </question> <answer> - <para>Да. Посетите страницу <link xlink:href="&url.base;/java/index.html"> - http://www.FreeBSD.org/java/</link>.</para> + <para>Да. Для получения дополнительной информации посетите + страницу <link + xlink:href="&url.base;/java/index.html">http://www.FreeBSD.org/java/</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="ports-4x"> <para>Почему этот порт не компилируется на моей машине с - &rel3.relx; -, &rel2.relx; - - или &rel.relx; -STABLE?</para> + &rel2.relx; - или &rel.relx; -STABLE?</para> </question> <answer> - <para>Если вы пользуетесь версией &os;, значительно отстающей от + <para>Если установленная версия &os;, значительно отстаёт от <emphasis>-CURRENT</emphasis> или <emphasis>-STABLE</emphasis>, - вам может потребоваться обновить Коллекцию - Портов. Дополнительную информацию о том, как это сделать, можно - найти в <link xlink:href="&url.books.porters-handbook;/keeping-up.html"> - соответствующем разделе</link> Руководства по созданию портов. - Если ваша Коллекция Портов находится в актуальном состоянии, - то, скорее всего, кто-то внёс изменения в порт, так что - он работает в <emphasis>-CURRENT</emphasis>, но не работает в - <emphasis>-STABLE</emphasis>. Так как - предполагается, что Коллекция Портов должна работать как в ветке - <emphasis>-CURRENT</emphasis>, так и в ветви - <emphasis>-STABLE</emphasis>, то, пожалуйста, пошлите сообщение - об этой ошибке с помощью команды &man.send-pr.1;.</para> + обновите Коллекцию Портов с использованием указаний в + разделе <link + xlink:href="&url.books.handbook;/ports-using.html">Использование + Коллекции Портов</link>. Если система в актуальном + состоянии, значит кто-то мог внести изменение в + порт, с которым он работает в <emphasis>-CURRENT</emphasis>, + но не работает в <emphasis>-STABLE</emphasis>. <link + xlink:href="https://bugs.FreeBSD.org/submit/">Пошлите</link> + сообщение об ошибке, так как Коллекция Портов должна + работать как в <emphasis>-CURRENT</emphasis>, так и в + ветках <emphasis>-STABLE</emphasis>.</para> </answer> </qandaentry> @@ -4279,40 +2465,12 @@ kern.timecounter.hardware: TSC -> i8254</screen> </question> <answer> - <para>Первым делом всегда проверяйте, что ваша Коллекция Портов + <para>Первым делом убедитесь, что Коллекция Портов находится в актуальном состоянии. Ошибки, которые отражаются на построении файла <filename>INDEX</filename> из актуальной копии Коллекции Портов, бросаются в глаза и поэтому практически всегда исправляются немедленно.</para> - <para>Если ваши данные обновлены, возможно, вы столкнулись с другой - проблемой. У команды <command>make - index</command> имеется - известная ошибка, касающаяся работы с неполными копиями - Коллекции Портов. При выполнении команды предполагается, что у вас - имеется локальная копия каждого порта, от которого зависит любой - другой порт, локальная копия которого у вас имеется. Предположив, - что у вас на диске есть копия <filename>foo/bar</filename>, и - <filename>foo/bar</filename> зависит от - <filename>baz/quux</filename>, то у вас также должна быть копия - <filename>baz/quux</filename>, а также всех портов, от которых - зависит <filename>baz/quux</filename>, и так далее. В противном - случае у <command>make index</command> - будет недостаточно - информации для создания дерева зависимостей.</para> - - <para>В частности, эта проблема отражается на пользователях &os;, - использующих &man.cvsup.1; (или &man.csup.1;) для отслеживания - Коллекции Портов, но - отказывающихся от установки определенных категорий приложений их - перечислением в файле <filename>refuse</filename>. Теоретически - любой пользователь может отказаться от некоторых категорий, однако - на практике имеется слишком много портов, которые зависят от - портов, относящихся к другим категориям. Пока кто-нибудь не - предложит решения этой проблемы, общая рекомендация заключается в - том, что если вы хотите сформировать <filename>INDEX</filename>, то - должны иметь полную копию Коллекции Портов.</para> - <para>В редких случаях <filename>INDEX</filename> не перестраивается из-за странных комбинаций значений переменных <varname>WITH_<replaceable>*</replaceable></varname> или @@ -4325,57 +2483,19 @@ kern.timecounter.hardware: TSC -> i8254</screen> </qandaentry> <qandaentry> - <question xml:id="cvsup-in-base"> - <para>Почему <application>CVSup</application> не интегрирована - в основное дерево &os;?</para> - </question> - - <answer> - <para>Базовый комплект установки &os; спроектирован - самодостаточным — то есть операционную систему возможно полностью - построить, имея весьма ограниченный набор инструментов. Так, все - инструменты, действительно необходимые для компиляции исходных - текстов &os;, сами поставляются с исходными текстами. Речь идёт - о компиляторе C (&man.gcc.1;), &man.make.1;, &man.awk.1; и подобных - средствах.</para> - - <para>Так как <application>CVSup</application> написан на языке - Modula-3, его включение в - базовый комплект &os; также потребует добавление и поддержку - компилятора Modula-3. Это приведёт как к увеличению как дискового - пространства, требуемого исходным текстам &os;, так и усилий - по их поддержке. Таким образом, как - разработчикам, так и пользователям гораздо проще держать - <application>CVSup</application> в - виде отдельного порта, который легко устанавливается как пакадж, - размещаемый на установочных CD с &os;.</para> - - <para>Тем не менее, начиная с версии &os; 6.2-RELEASE, - пользователи &os; больше не страдают от отсутствия встроенного - клиента, совместимого с <application>CVSup</application>. - Благодаря &a.mux.email;, <application>CVSup</application> был - переписан на языке Си и получил название &man.csup.1;, и теперь - является частью базового комплекта. И хотя в настоящее время - в клиенте не реализованы все функциональные возможности - <application>CVSup</application>, он является хорошим (и - весьма быстрым!) вариантом для синхронизации ваших исходных - текстов. Для систем, выпущенных до 6.2, клиент можно установить - из порта или пакета (смотрите <package>net/csup</package>).</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="ports-update"> <para>Я обновил исходные тексты. Как теперь обновить установленные порты?</para> </question> <answer> - <para>С &os; не поставляется инструмент обновления портов, но - есть несколько программ, немного облегчающих этот процесс. Вы - можете также установить дополнительные инструменты для упрощения - работы с портами, смотрите раздел Руководства &os; <link xlink:href="&url.books.handbook;/ports-using.html">Использование - Коллекции Портов</link>.</para> + <para>С &os; не поставляется инструмент обновления портов, + но есть несколько инструментов, немного облегчающих этот + процесс. Кроме того, для упрощения работы с портами + доступны дополнительные инструменты; смотрите раздел + Руководства &os; <link + xlink:href="&url.books.handbook;/ports-using.html">Использование + Коллекции Портов</link>.</para> </answer> </qandaentry> @@ -4387,11 +2507,9 @@ kern.timecounter.hardware: TSC -> i8254</screen> </question> <answer> - <para>Разумеется! На свежеобновленной системе программное + <para>Да! На свежеобновленной системе программное обеспечение, скомпилированное под более старый релиз, будет - по прежнему работать, но в конечном счете вы придёте к тому, - что некоторые приложения перестанут правильно работать и - будут падать в произвольном месте, как только вы начнете + по прежнему работать, но только до тех пор, пока вы не начнете устанавливать другие порты или обновлять существующие.</para> <para>Когда система обновлена, различные совместно используемые @@ -4400,7 +2518,8 @@ kern.timecounter.hardware: TSC -> i8254</screen> старыми версиями, могут перестать запускаться либо начнут функционировать неправильно.</para> - <para>Для получения дополнительной информации обращайтесь к <link xlink:href="&url.books.handbook.en;/updating-upgrading-freebsdupdate.html#FREEBSDUPDATE-UPGRADE">разделу, + <para>Для получения дополнительной информации обращайтесь к <link + xlink:href="&url.books.handbook.en;/updating-upgrading-freebsdupdate.html#freebsdupdate-upgrade">разделу, посвящённому обновлениям,</link> руководства &os;.</para> </answer> </qandaentry> @@ -4429,14 +2548,12 @@ kern.timecounter.hardware: TSC -> i8254</screen> </question> <answer> - <para>Потому что в стандарте &posix; сказано, что все командные - процессоры должны вести себя так же, как shell.</para> - - <para>Более подробный ответ заключается в следующем: многим + <para>Многим требуется, чтобы разрабатываемые скрипты для командного процессора были переносимы между многими системами. Именно поэтому в &posix; очень подробно описан командный процессор и набор утилит. - Большинство скриптов пишутся на языке процессора Bourne shell, к + Большинство скриптов пишутся на языке процессора Bourne shell + (&man.sh.1;), к тому же некоторые важные программные вызовы (&man.make.1;, &man.system.3;, &man.popen.3; и их аналоги на языках скриптов высокого уровня, таких как Perl или Tcl) предполагают для @@ -4450,50 +2567,13 @@ kern.timecounter.hardware: TSC -> i8254</screen> воплощения в жизнь всех этих требований одновременно. Для того, чтобы сохранить <command>/bin/sh</command> небольшим по размеру, мы не включили многие из обычных возможностей, которые имеются в - других командных процессорах. Однако в Коллекцию Портов включены + других командных процессорах. Для этого имеются в наличии командные процессоры, обладающие гораздо большими возможностями, - такие, как <command>bash</command>, <command>scsh</command>, - <command>tcsh</command> и <command>zsh</command>. (Вы можете - сами сравнить - использование памяти всеми этими оболочками, посмотрев в колонки + такие как <command>bash</command>, <command>scsh</command>, + &man.tcsh.1; и <command>zsh</command>. Сравните + использование памяти этими оболочками, посмотрев в колонки <quote>VSZ</quote> и <quote>RSS</quote> вывода команды - <command>ps -u</command>.)</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="netscape-slow-startup"> - <para>Почему <application>&netscape;</application> и - <application>Opera</application> запускаются так долго?</para> - </question> - - <answer> - <para>Обычно проблема заключается в том, что на вашей машине - неправильно настроен DNS. И <application>&netscape;</application>, - и <application>Opera</application> при запуске - обращаются к DNS. Браузер не появится на вашем рабочем столе, пока - программа либо не получит ответ на свой запрос, либо не определит, - что система к сети не подключена.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ports-base-update"> - <para>Я обновил некоторые разделы Коллекции Портов при помощи - <application>CVSup</application>, - и теперь многие порты перестали строиться со странными - диагностическими сообщениями! Что случилось? Коллекция Портов - каким-то образом оказалась неработоспособной?</para> - </question> - - <answer> - <para>Если вы обновляете Коллекцию Портов только частично, используя - один из более мелких наборов <application>CVSup</application>, - обходясь без <application>CVSup</application>-набора - <literal>ports-all</literal>, то вы должны - <emphasis>всегда</emphasis> обновлять также и набор - <literal>ports-base</literal>! Причины описаны в <link xlink:href="&url.books.handbook;/cvsup.html#CVSUP-COLLEC-PBASE-WARN"> - Руководстве</link>.</para> + <command>ps -u</command>.</para> </answer> </qandaentry> @@ -4538,58 +2618,50 @@ kern.timecounter.hardware: TSC -> i8254</screen> в каталог <filename>/boot/kernel</filename> вместе со своими модулями, а старое ядро и его модули будут сдвинуты в каталог - <filename>/boot/kernel.old</filename>, так - что если вы - допустите ошибку в следующей конфигурации, то сможете - загрузить предыдущую версию вашего ядра.</para> + <filename>/boot/kernel.old</filename>. Если сделана + ошибка в конфигурации, просто загрузите предыдущую + версию ядра.</para> </note> </answer> </qandaentry> <qandaentry> - <question xml:id="missing-hw-float"> - <para>Я не могу скомпилировать ядро. Отсутствует - <literal>_hw_float</literal>.Почему?</para> - </question> - - <answer> - <para>Наверное, вы удалили <filename>npx0</filename> (посмотрите - справку по &man.npx.4;) из вашего файла конфигурации ядра, потому - что у вас нет математического сопроцессора. Устройство - <filename>npx0</filename> является - <emphasis>ОБЯЗАТЕЛЬНЫМ</emphasis>. Где-то в вашем оборудовании всё - же присутствует устройство, обеспечивающее поддержку вычислений с - плавающей точкой, которое уже не является отдельной микросхемой, - как это было в старые добрые времена 386 процессоров. Вы - <emphasis>должны</emphasis> включить поддержку устройства - <filename>npx0</filename>. Даже если вам удастся построить - ядро без поддержки <filename>npx0</filename>, оно всё равно не - загрузится.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="why-kernel-big"> - <para>Почему моё ядро такое большое (больше 10 Мбайт)?</para> + <para>Почему моё ядро такое большое?</para> </question> <answer> - <para>Скорее всего, вы компилировали ядро в <emphasis>отладочном - режиме</emphasis>. Ядра, построенные в этом режиме, содержат - много символьной информации, которая используется для отладки - и сильно увеличивает размер ядра. Заметьте, что уменьшения + <para>Конфигурация ядра <literal>GENERIC</literal>, которая + содержится в дистрибутиве &os;, компилируется в + <emphasis>отладочном режиме</emphasis>. В таком режиме + ядра содержат много символьной информации в разных файлах, + которая используется для отладки и сильно увеличивает размер + <filename class="directory">/boot/kernel/</filename>. + Заметьте, что уменьшения производительности при использовании отладочного ядра нет или оно незначительно, однако отладочное ядро полезно иметь под рукой на случай аварийного завершения работы системы.</para> - <para>Однако, если вы испытываете нехватку дискового пространства - или просто не хотите использовать отладочное ядро, проверьте, - что имеют место следующие две вещи:</para> + <para>Однако при нехватке дискового пространства существует + несколько вариантов уменьшения размера <filename + class="directory">>/boot/kernel/</filename>.</para> + + <para>Чтобы не устанавливать файлы с символьной + информацией, убедитесь в наличии следующей строки в + <filename>/etc/src.conf</filename>:</para> + + <programlisting>WITHOUT_KERNEL_SYMBOLS=yes</programlisting> + + <para>Для получения дополнительной информации смотрите страницу + Справочника &man.src.conf.5;.</para> + + <para>Если вы не хотите компилировать отладочное ядро, + убедитесь в выполнении следующих условий:</para> <itemizedlist> <listitem> - <para>В конфигурационном файле вашего ядра нет строчки, - имеющей такой вид:</para> + <para>В конфигурационном файле ядра нет такой + строчки:</para> <programlisting>makeoptions DEBUG=-g</programlisting> </listitem> @@ -4601,37 +2673,30 @@ kern.timecounter.hardware: TSC -> i8254</screen> </itemizedlist> <para>В любой из вышеописанных ситуаций ядро будет построено с - отладочным режимом. Если же вы точно следуете указанным шагам, - то сможете построить обычное ядро и заметите значительное - уменьшение его размера; большинство ядер имеют размер от - 1.5 Мбайт до 2 Мбайт.</para> - </answer> - </qandaentry> + отладочным режимом.</para> - <qandaentry> - <question xml:id="multiport-serial-interrupts"> - <para>Почему появляются конфликты прерываний при включении поддержки - многопортовых коммуникационных адаптеров.</para> - </question> + <para>Чтобы скомпилировать и установить только нужные модули, + укажите их в <filename>/etc/make.conf</filename>:</para> - <answer> - <para>Когда я компилирую ядро с поддержкой многопортовых - коммуникационных адаптеров, сообщается, что только первый порт - будет тестироваться, а все остальные пропускаются из-за конфликтов - прерываний. Как это исправить?</para> + <programlisting>MODULES_OVERRIDE= <replaceable>accf_http ipfw</replaceable></programlisting> - <para>Проблема состоит в том, что во &os; встроен код, - предохраняющий ядро от аппаратных и программных конфликтов. - Вам нужно убрать указания IRQ на всех портах, кроме одного. - Например:</para> + <para>Замените <emphasis>accf_httpd ipfw</emphasis> на нужный + список модулей. Это уменьшит размер каталога с ядром, а + также время сборки. Для получения дополнительной информации + почитайте <filename>/usr/share/examples/etc/make.conf</filename>. + </para> - <programlisting># -# Высокоскоростной многопортовый коммуникационный адаптер - 16550 UARTS -# -device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr -device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr -device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr -device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting> + <para>Для дальнейшего уменьшения размера также можно удалить + ненужные устройства из ядра. Для получения дополнительной + информации смотрите <xref linkend="make-kernel"/>.</para> + + <para>Для вступления любого из этих действий в силу следуйте + указаниям по <link + xlink:href="&url.books.handbook;/kernelconfig-building.html">сборке + и установке</link> нового ядра.</para> + + <para>Большинство ядер (<filename>/boot/kernel/kernel</filename>), + как правило, занимают от 12 до 16 Мбайт.</para> </answer> </qandaentry> @@ -4643,46 +2708,38 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting> <answer> <para>Есть несколько причин, приводящих к возникновению этой - проблемы. Вот они, в случайном порядке:</para> + проблемы:</para> <itemizedlist> <listitem> - <para>Вы не используете цели - <command>make buildkernel</command> и - <command>make installkernel</command>, - и ваше дерево исходных текстов отличается от того, которое - использовалось для построения работающей в данный момент - системы (например, вы выполняете построение - &rel.current;-RELEASE на системе &rel2.current;-RELEASE). - Если вы пытаетесь выполнить обновление, - то, пожалуйста, прочитайте файл - <filename>/usr/src/UPDATING</filename>, обратив особое внимание - на раздел <quote>COMMON ITEMS</quote> в его конце.</para> + <para>Дерево исходных текстов отличается от того, что + использовалось для построения работающей в данный + момент системы. Перед обновлением прочитайте + файл <filename>/usr/src/UPDATING</filename>, + обращая особое внимание на раздел + <quote>COMMON ITEMS</quote> в его конце.</para> </listitem> <listitem> - <para>Вы используете цели - <command>make buildkernel</command> и - <command>make installkernel</command>, - но выполнение цели - <command>make buildworld</command> - не было завершено. Полное и корректное выполнение цели + <para>Команда <command>make buildkernel</command> + не завершилась успешно. + Корректное выполнение цели <command>make buildkernel</command> - зависит от файлов, генерирующихся при выполнении цели + зависит от файлов, полученных после выполнения <command>make buildworld</command>.</para> </listitem> <listitem> - <para>Даже если вы пытаетесь построить <link linkend="stable">&os;-STABLE</link>, возможно, что вы - скачали дерево исходных текстов в момент, когда оно - модифицировалось или было неработоспособно по другим причинам; - абсолютно гарантируется построение только релизов, хотя в - большинстве случаев <link linkend="stable"> - &os;-STABLE</link> строится без проблем. Если вы ещё этого - не сделали, попробуйте сгрузить дерево исходных текстов - повторно и посмотреть, разрешилась ли проблема. Попробуйте - использовать другой сервер в случае, если есть проблемы с тем, - который вы используете сейчас.</para> + <para>Даже при построении <link + linkend="stable">&os;-STABLE</link> возможно, что + дерево исходных текстов было загружено в тот момент, + когда оно модифицировалось или было неработоспособно. + Построение гарантируется только для релизов, хотя в + большинстве случаев <link linkend="stable">&os;-STABLE</link> + строится без проблем. Попробуйте сгрузить дерево + исходных текстов повторно и посмотрите, разрешилась + ли проблема. Если с сервером есть проблемы, + попробуйте другое зеркало.</para> </listitem> </itemizedlist> </answer> @@ -4690,33 +2747,17 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting> <qandaentry> <question xml:id="scheduler-in-use"> - <para>Каким образом можно определить, какой планировщик используется + <para>Какой планировщик используется в работающей системе?</para> </question> <answer> - <para>Проверьте существование sysctl-переменной - <varname>kern.sched.quantum</varname>. Если она у вас есть, - то вы должны увидеть примерно такое сообщение:</para> - - <screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable> -kern.sched.quantum: 99960</screen> - - <para>Если sysctl-переменная <varname>kern.sched.quantum</varname> - существует, то у вас используется планировщик 4BSD - (&man.sched.4bsd.4;). Если это не так, то вы получите сообщение - об ошибке, которое выдаст &man.sysctl.8;, (и которое вы можете - проигнорировать):</para> - - <screen>&prompt.user; sysctl <replaceable>kern.sched.quantum</replaceable> -sysctl: unknown oid 'kern.sched.quantum'</screen> - - <para>Название используемого - планировщика доступно напрямую в виде значения sysctl-параметра + <para>Название используемого планировщика доступно напрямую + в виде значения sysctl-параметра <varname>kern.sched.name</varname>:</para> <screen>&prompt.user; sysctl <replaceable>kern.sched.name</replaceable> -kern.sched.name: 4BSD</screen> +kern.sched.name: ULE</screen> </answer> </qandaentry> @@ -4728,9 +2769,7 @@ kern.sched.name: 4BSD</screen> <answer> <para><varname>kern.sched.quantum</varname> определяет максимальное количество тактов, которое процесс может выполняться, не будучи - прерванным. Этот параметр специфичен для планировщика 4BSD, так - что вы можете использовать его наличие для определения типа - используемого планировщика.</para> + прерванным.</para> </answer> </qandaentry> </qandaset> @@ -4757,40 +2796,38 @@ kern.sched.name: 4BSD</screen> </question> <answer> - <para>Самый лучший способ заключается в переустановке ОС на новый - диск и последующем переносе данных пользователей. Это очень - рекомендуется делать, если вы следовали ветке - <emphasis>-STABLE</emphasis> в течение - более одного релиза или обновляли релиз, а не устанавливали - новый. Вы можете установить программу booteasy на оба диска с - помощью команды &man.boot0cfg.8; и выполнять загрузку с любого из - них до тех пор, пока не будете удовлетворены новой конфигурацией - системы. Пропустите следующий абзац, чтобы перейти к вопросу + <para>Самый лучший способ заключается в переустановке + операционной системы на новый диск с последующим переносом + пользовательских данных. Это настоятельно рекомендуется + при отслеживании ветки <emphasis>-STABLE</emphasis> в + течение более одного релиза или при обновлении релиза + вместо установки нового. Установите booteasy на оба диска + с помощью &man.boot0cfg.8; и выполняйте загрузку с любого + из них, пока не будете довольны новой конфигурацией. + Пропустите следующий абзац, чтобы перейти к вопросу переноса данных после этой операции.</para> - <para>Если вы решили не делать новой установки, то вам нужно разбить - на разделы и разметить новый диск с помощью - &man.sysinstall.8; или &man.fdisk.8; и - &man.disklabel.8;. Вы также должны установить на оба диска - программу booteasy с помощью &man.boot0cfg.8;, чтобы иметь - возможность выполнять загрузку как старой, так и новой системы - после выполнения копирования.</para> - - <para>Итак, после подготовки диска вы можете переносить данные. К - сожалению, вы не можете просто скопировать данные. Такие вещи, как - файлы устройств (в каталоге <filename>/dev</filename>), флаги и - ссылки будут этому мешать. Вам нужно использовать инструменты, - которые работают с такими случаями, а именно &man.dump.8;. Хотя - рекомендуется выполнять перенос данных в однопользовательском - режиме, это не обязательное условие.</para> - - <para>Вы не должны использовать ничего, кроме &man.dump.8; и - &man.restore.8; для переноса корневой файловой системы. Команда - &man.tar.1; может сработать, а может и не сработать. Также вы - должны использовать &man.dump.8; и &man.restore.8; при переносе - одного раздела в другой пустой раздел. Последовательность шагов - при использовании программы <command>dump</command> для переноса - данных раздела в новый раздел такова:</para> + <para>Либо разбейте на разделы и разметьте новый диск с + помощью &man.sade.8; или &man.gpart.8;. Если диски + отформатированы в MBR, то booteasy можно установить на оба + диска с помощью &man.boot0cfg.8; для того, чтобы иметь + возможность выполнять загрузку как старой, так и новой + системы после выполнения копирования.</para> + + <para>После подготовки диска данные нельзя просто так взять + и перенести. Используйте для этого инструменты, + которые учитывают файлы устройств и системные флаги, + например, &man.dump.8;. И хотя рекомендуется выполнять + перенос данных в однопользовательском режиме, это не + является обязательным условием.</para> + + <para>Если на дисках стоит <acronym>UFS</acronym>, никогда + не используйте ничего, кроме &man.dump.8; и &man.restore.8; + для переноса корневой файловой системы. Эти команды + также следует использовать при переносе отдельного раздела + на другой пустой раздел. Последовательность шагов при + использовании <command>dump</command> для переноса данных + с раздела <acronym>UFS</acronym> на новый раздел:</para> <procedure> <step> @@ -4814,15 +2851,13 @@ kern.sched.name: 4BSD</screen> </step> </procedure> - <para>Например, если вы собираетесь перенести корневую файловую - систему на устройство - <filename>/dev/ad1s1a</filename> + <para>Например, чтобы перенести корневую файловую + систему на устройство <filename>/dev/ada1s1a</filename> с использованием каталога <filename>/mnt</filename> - в качестве - временной точки монтирования, то это делается так:</para> + в качестве временной точки монтирования, наберите:</para> - <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> -&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> + <screen>&prompt.root; <userinput>newfs /dev/ad1as1a</userinput> +&prompt.root; <userinput>mount /dev/ad1as1a /mnt</userinput> &prompt.root; <userinput>cd /mnt</userinput> &prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen> @@ -4836,8 +2871,8 @@ kern.sched.name: 4BSD</screen> нижестоящий раздел в пустой каталог, созданный при первом перемещении:</para> - <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> -&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> + <screen>&prompt.root; <userinput>newfs /dev/ada1s1a</userinput> +&prompt.root; <userinput>mount /dev/ad1as1a /mnt</userinput> &prompt.root; <userinput>cd /mnt</userinput> &prompt.root; <userinput>dump 0af - / | restore rf -</userinput> &prompt.root; <userinput>cd var</userinput> @@ -4850,118 +2885,18 @@ kern.sched.name: 4BSD</screen> подходящий каталог во временную точку монтирования, а затем переместите старый единый раздел:</para> - <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput> -&prompt.root; <userinput>newfs /dev/ad1s1d</userinput> -&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput> + <screen>&prompt.root; <userinput>newfs /dev/ada1s1a</userinput> +&prompt.root; <userinput>newfs /dev/ada1s1d</userinput> +&prompt.root; <userinput>mount /dev/ada1s1a /mnt</userinput> &prompt.root; <userinput>mkdir /mnt/var</userinput> -&prompt.root; <userinput>mount /dev/ad1s1d /mnt/var</userinput> +&prompt.root; <userinput>mount /dev/ada1s1d /mnt/var</userinput> &prompt.root; <userinput>cd /mnt</userinput> &prompt.root; <userinput>dump 0af - / | restore rf -</userinput></screen> - <para>Вы можете использовать &man.cpio.1;, &man.pax.1;, &man.tar.1; - вместо &man.dump.8; для данных пользователей. На момент написания - этого документа было известно, что они теряют информацию о флагах - файлов, так что используйте их с осторожностью.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="dangerously-dedicated"> - <para>Не угрожает ли режим <quote>dangerously dedicated</quote> моему - здоровью?</para> - </question> - - <answer> - <para><anchor xml:id="dedicate"/>В процессе установки вы можете выбрать - два различных метода разбиения вашего диска (дисков). По умолчанию - это делается - в режиме совместимости с другими операционными системами на этой же - машине с использованием записей в таблице разделов &man.fdisk.8; - (то, что называется <quote>слайсом</quote> во &os;), со слайсом - (разделом), выделенным &os;. Опционально, вы можете выбрать - установку менеджера загрузки для переключения между операционными - системами. Либо вы можете выделить диск полностью под &os;, не - заботясь о совместимости с другими операционными системами.</para> - - <para>Почему же этот режим называется <quote>dangerous</quote>? Дело - в том, что диск в этом режиме не будет содержать того, что обычные - утилиты для ПК распознают как таблицу разделов &man.fdisk.8;. - В зависимости от - того, насколько хорошо они написаны, они могут сообщить вам об - этом, как только обнаружат такой диск, или, что гораздо хуже, - могут запортить загрузчик BSD, даже не спрашивая и не сообщая об - этом. К тому же известно, что разметка диска в режиме - <quote>dangerously dedicated</quote> вводит в заблуждение BIOS - многих производителей, включая AWARD (которые используются в - компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR - (производителя популярных SCSI-контроллеров серии 53C8xx). И это не - полный список, есть ещё другие производители. Симптомами подобных - проблем является сообщение <errorname>read error</errorname>, - выводимое загрузчиком &os;, когда он не может найти сам себя, а - также зависания системы при загрузке.</para> - - <para>Тогда зачем вообще нужен этот режим? Он экономит всего лишь - несколько килобайт дискового пространства и может вызвать - серьёзные проблемы при новой установке. Причиной появления - этого режима является желание избежать появления одной из самых - распространённых проблем, с которой сталкиваются новички — - соответствие параметров BIOS и реальных параметров диска.</para> - - <para><quote>Параметры</quote> диска являются устаревшей концепцией, - но она лежит в основе работы BIOS с диском. Когда программа - установки &os; создаёт слайсы, она записывает их расположение в - соответствии с тем, как с ними будет работать BIOS. Если это - делается неправильно, вы не сможете выполнить загрузку - системы.</para> - - <para>Режим <quote>dangerously dedicated</quote> пытается обойти - это, упрощая решение данной проблемы. Иногда он делает это - правильно. Однако это значит, что его нужно использовать только - как последнюю альтернативу — есть способы получше, решающие - проблему в 99 случаях из 100.</para> - - <para>Итак, как избежать использования режима <quote>DD</quote> во - время установки? Сначала запишите параметры диска, которые - сообщает BIOS. Вы можете выяснить это, заставив ядро вывести эти - параметры при загрузке, указав <option>-v</option> в приглашении - <literal>boot:</literal>, или используя <command>boot -v</command> - в загрузчике. Перед тем, как запустится программа установки, ядро - выведет параметры, используемые BIOS. Не волнуйтесь — подождите - запуска программы установки, а затем воспользуйтесь прокруткой, - чтобы посмотреть значения этих параметров. Как правило, BIOS - нумерует диски в том же порядке, что и &os;, сначала IDE, затем - SCSI.</para> - - <para>Когда вы разбиваете диск на слайсы, проверьте, что параметры - диска, выводимые в окне программы FDISK, корректны (то есть они - соответствуют параметрам BIOS); если это не так, нажмите - <keycap>G</keycap>, чтобы их исправить. Вы можете это - сделать, если на диске нет абсолютно ничего или если этот диск был - перенесён с другой системы. Заметьте, что это касается только - загрузочного диска; &os; прекрасно разберётся с остальными - дисками, которые могут у вас быть.</para> - - <para>Как только вы добились соответствия параметров диска в BIOS и - &os;, скорее всего, проблем у вас больше не будет, и - использовать режим <quote>DD</quote> не потребуется. Если, - однако, страшное сообщение <errorname>read error</errorname> - продолжает появляться при загрузке, самое время перекреститься и - попробовать этот режим — терять вам больше нечего.</para> - - <para>Чтобы вернуть диск из режима <quote>dangerously - dedicated</quote> к нормальному режиму использования, есть два - способа. Первый заключается в том, что вы записываете достаточное - количество байтов NULL поверх MBR, чтобы любая программа установки - системы полагала, что это чистый диск. Например, это можно - сделать такой командой:</para> - - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda0 count=15</userinput></screen> - - <para>Другой способ - недокументированной командой DOS</para> - - <screen><prompt>C:\></prompt> <userinput>fdisk /mbr</userinput></screen> - - <para>установить новую MBR, удалив загрузчик BSD.</para> + <para>Для перемещения пользовательских данных также имеются + программы &man.cpio.1; и &man.pax.1;. Известно, что они + теряют информацию о флагах файлов, так что используйте их + с осторожностью.</para> </answer> </qandaentry> @@ -4970,113 +2905,60 @@ kern.sched.name: 4BSD</screen> <para>На каких разделах можно без опаски использовать механизм Soft Updates? Я слышал, что использование Soft Updates на <filename>/</filename> могут приводить к - проблемам.</para> + проблемам. Что насчёт журналируемых Soft Updates?</para> </question> <answer> - <para>Краткий ответ: обычно вы можете использовать Soft Updates + <para>Краткий ответ: обычно Soft Updates можно использовать без опаски на всех разделах.</para> - <para>Подробный ответ: Было несколько возражений против использования - Soft Updates на корневом разделе. Soft Updates имеют две - характеристики, которые этому способствуют. Во-первых, раздел с - Soft Updates имеет мало шансов потери данных по время - аварийного останова системы. (Раздел не будет попорчен; просто - будут потеряны данные.) Кроме того, Soft Updates могут приводить к + <para>Подробный ответ: Soft Updates имеют две характеристики, + которые могут быть нежелательны на некоторых разделах. Во-первых, + раздел с Soft Updates имеет небольшой шанс потери данных по время + аварийного останова системы. Раздел не будет попорчен, + поскольку данные будет просто потеряны. Во-вторых, Soft Updates могут приводить к временной нехватке дискового пространства.</para> - <para>При использовании Soft Updates ядро может задерживать до - тридцати секунд реальную запись изменений на физический диск. Если - вы удаляете большой файл, он остается на диске, пока ядро не - выполнит удаления на самом деле. Это может привести к очень - простой проблеме. Предположим, что вы удалили один большой файл и - тут же создали другой большой файл. Первый большой файл еще не - удален реально с физического диска, так что на диске может не - оказаться достаточного пространства для второго большого файла. Вы - получите ошибку, говорящую о том, что на разделе нет достаточного - пространства, хотя вы точно знаете, что только что освободили - его большой объем! Если вы попробуете еще раз выполнить операцию - секундами позже, создание файла сработает так, как это и ожидалось. - Это не раз заставляло пользователей почесать голову и дважды - проверить свое психическое здоровье, файловую систему &os; или оба - этих объекта.</para> + <para>При использовании Soft Updates ядро может задерживать + до тридцати секунд запись изменений на физический диск. + При удалении большого файла он остается на диске, пока + ядро не выполнит фактическое удаление. Это может привести + к очень простой гонке. Предположим, удаляется один + большой файл и тут же создаётся другой большой файл. + Первый файл на самом деле ещё не удалён с диска, поэтому + для второго файла на диске может не хватить места. Это + приведёт к ошибке о том, что на разделе нет достаточного + пространства, несмотря на то, что только что освободилось + много места. Через пару секунд создание файла сработает, + как и ожидалось.</para> <para>Если система может аварийно остановиться после того, как ядро примет набор данных для записи на диск, но перед тем, как данные - реально запишутся, то данные могут потеряться или оказаться - испорченными. Такой риск весьма мал, но в общем-то, управляем. - Использование кэширование записи на IDE очень сильно увеличивает - этот риск; настоятельно рекомендуется выключить кэширование записи - для IDE при использовании Soft Updates.</para> + реально запишутся, то данные могут потеряться. + Такой риск чрезвычайно мал, но в целом управляем.</para> <para>Эти проблемы влияют на все разделы, использующие Soft Updates. Итак, что это означает для корневого раздела?</para> <para>Жизненно важная информация на корневом разделе меняется очень - редко. Файлы, такие как <filename>/boot/kernel/kernel</filename> - и содержимое - <filename>/etc</filename>, меняются только - при обслуживании системы, - или когда пользователи меняют свои пароли. Если в системе + редко. Если в системе произойдет сбой в период тридцатисекундного окна после выполнения такого изменения, возможно, что данные окажутся потерянными. Этот - риск незначителен для большинства применений, но вы должны иметь в - виду, что он есть. Если ваша система не может принять такой риск, + риск незначителен для большинства применений, но его нужно + учитывать. Если система не может принять такой риск, не используйте Soft Updates с корневой файловой системой!</para> <para><filename>/</filename> традиционно - является одним из самых маленьких разделов. Если вы размещаете - каталог <filename>/tmp</filename> в <filename>/</filename> и у вас заполнен <filename>/tmp</filename>, вы можете встретиться с - возникающими время от времени проблемами с дисковым пространством. - Создание символической ссылки <filename>/tmp</filename>, указывающей на <filename>/var/tmp</filename>, решит эту проблему.</para> - </answer> - </qandaentry> + является одним из самых маленьких разделов. Если каталог + <filename>/tmp</filename> размещён в <filename>/</filename> и у + вас заполнен <filename>/tmp</filename>, то могут + периодически возникать проблемы с дисковым пространством. + Создание символической ссылки <filename>/tmp</filename>, + указывающей на <filename>/var/tmp</filename> решит эту проблему.</para> - <qandaentry> - <question xml:id="inappropriate-ccd"> - <para>Что не так с устройством &man.ccd.4;?</para> - </question> - - <answer> - <para>Симптом выглядит так:</para> - - <screen>&prompt.root; <userinput>ccdconfig -C</userinput> -ccdconfig: ioctl (CCDIOCSET): /dev/<replaceable>ccd0c</replaceable>: Inappropriate file type or format</screen> - - <para>Это сообщение обычно выдаётся, когда вы пытаетесь объединить - разделы <literal>c</literal>, по умолчанию имеющие тип - <literal>unused</literal>. Драйвер &man.ccd.4; требует, чтобы - используемые разделы имели тип <literal>FS_BSDFFS</literal>. - Отредактируйте метки - тех дисков, которые вы хотите использовать, сменив типы разделов - на <literal>4.2BSD</literal>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ccd-disklabel"> - <para>Почему невозможно отредактировать метку диска &man.ccd.4;?</para> - </question> - - <answer> - <para>Симптом выглядит так:</para> - - <screen>&prompt.root; <userinput>disklabel ccd0</userinput> -(здесь выводится информация о диске, пробуем отредактировать метку) -&prompt.root; <userinput>disklabel -e ccd0</userinput> -(редактирование, сохранение, выход) -disklabel: ioctl DIOCWDINFO: No disk label on disk; -use "disklabel -r" to install initial label</screen> - - <para>Это происходит из-за того, что метка диска, возвращаемая &man.ccd.4;, - на самом деле <quote>ненастоящая</quote>, не соответствующая - реально располагающейся на диске. Вы можете решить эту проблему, - явно записав эту метку обратно следующим образом:</para> - - <screen>&prompt.root; <userinput>disklabel ccd0 > /tmp/disklabel.tmp</userinput> -&prompt.root; <userinput>disklabel -Rr ccd0 /tmp/disklabel.tmp</userinput> -&prompt.root; <userinput>disklabel -e ccd0</userinput> -(теперь это будет работать)</screen> + <para>В заключение, &man.dump.8; не работает в режиме реального + времени (-L) с файловой системой, для которой включены + журналируемые Soft Updates (<acronym>SU+J</acronym>).</para> </answer> </qandaentry> @@ -5108,7 +2990,7 @@ use "disklabel -r" to install initial label</screen> <para>&os; поддерживает разделы <literal>ext2fs</literal> и <literal>ext3fs</literal>. За дополнительной информацией обратитесь к странице - справочника &man.mount.ext2fs.8;.</para> + Справочника &man.ext2fs.5;.</para> </listitem> </varlistentry> @@ -5116,12 +2998,11 @@ use "disklabel -r" to install initial label</screen> <term>NTFS</term> <listitem> - <para>Во &os; имеется драйвер доступа к NTFS в режиме - только для чтения. Для получения более полной - информации обратитесь к странице справочника - &man.mount.ntfs.8;. Порт <link xlink:href="http://www.tuxera.com/community/"><application>ntfs-3g</application></link> - также поддерживает операции записи на NTFS (смотрите - <package>sysutils/fusefs-ntfs</package>).</para> + <para>Поддержка NTFS через FUSE доступна через порт + <package>sysutils/fusefs-ntfs</package>. + Для получения более полной информации смотрите + документацию к <link + xlink:href="http://www.tuxera.com/community/ntfs-3g-manual/"><application>ntfs-3g</application></link>.</para> </listitem> </varlistentry> @@ -5136,35 +3017,23 @@ use "disklabel -r" to install initial label</screen> </varlistentry> <varlistentry> - <term>ReiserFS</term> - - <listitem> - <para>Во &os; имеется драйвер для работы с ReiserFS в режиме - только для чтения. Для получения более полной - информации обратитесь к странице справочника &man.mount.reiserfs.8;.</para> - </listitem> - </varlistentry> - - <varlistentry> <term>ZFS</term> <listitem> - <para>На момент написания &os; включает в себя порт - драйвера для работы с &sun; ZFS. В настоящее время - рекомендуется использовать его только на платформе + <para>&os; включает в себя портированную из &sun; + реализацию файловой системы ZFS. В настоящее время + рекомендуется использовать её только на платформе &arch.amd64; с достаточным объемом памяти. Для получения - более полной информации обратитесь к странице справочника + более полной информации обратитесь к странице Справочника &man.zfs.8;.</para> </listitem> </varlistentry> </variablelist> - <para>&os; также поддерживает такие сетевые файловые системы, как - NFS (смотрите &man.mount.nfs.8;), NetWare (смотрите - &man.mount.nwfs.8;) и файловые системы SMB в стиле Microsoft - (обратитесь к &man.mount.smbfs.8;). Вы также можете найти - полезными порты, основанные на FUSE (<package>sysutils/fusefs-kmod</package>), для множества - других файловых систем.</para> + <para>&os; включает сетевую файловую систему + <acronym>NFS</acronym>. В Коллекции портов &os; имеется + несколько приложений FUSE для поддержки многих других + файловых систем.</para> </answer> </qandaentry> @@ -5176,10 +3045,10 @@ use "disklabel -r" to install initial label</screen> <answer> <para>Вторичные разделы DOS находятся после <emphasis>всех</emphasis> первичных разделов. - Например, если раздел <quote>E</quote> является вторым разделом + Например, если <quote>E</quote> является вторым разделом DOS на втором диске SCSI, то здесь будет файл устройства для - пятого <quote>слайса</quote> в каталоге <filename>/dev</filename>, - так что просто смонтируйте его:</para> + пятого <quote>слайса</quote> в каталоге <filename>/dev</filename>. + Чтобы смонтировать:</para> <screen>&prompt.root; <userinput>mount -t msdosfs /dev/da1s5 /dos/e</userinput></screen> @@ -5193,141 +3062,35 @@ use "disklabel -r" to install initial label</screen> </question> <answer> - <para>Да. Вы можете использовать &man.gbde.8; или &man.geli.8;. + <para>Да, &man.gbde.8; и &man.geli.8;. Смотрите раздел <link xlink:href="&url.books.handbook;/disks-encrypting.html">Шифрование - дисковых разделов</link> Руководства &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="nt-bootloader"> - <para>Как можно использовать загрузчик &windowsnt; для запуска - &os;?</para> - </question> - - <answer> - <para>Идея заключается в копировании первого сектора корневого - раздела &os; в файл, находящийся в разделе DOS/&windowsnt;. - Предположим, что вы назвали этот файл - <filename>c:\bootsect.bsd</filename> (по аналогии с - <filename>c:\bootsect.dos</filename>), после чего можете - отредактировать файл <filename>c:\boot.ini</filename>, чтобы он - выглядел примерно так:</para> - - <programlisting>[boot loader] -timeout=30 -default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS -[operating systems] -multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" -C:\BOOTSECT.BSD="&os;" -C:\="DOS"</programlisting> - - <para>Если &os; установлена на тот же самый диск, что и - загрузочный раздел &windowsnt;, просто скопируйте - <filename>/boot/boot1</filename> в - <filename>C:\BOOTSECT.BSD</filename>. Однако, если &os; - установлена на другой диск, то <filename>/boot/boot1</filename> - работать не будет, нужно копировать - <filename>/boot/boot0</filename>.</para> - - <para><filename>/boot/boot0</filename> нужно устанавливать с помощью - &man.sysinstall.8;, выбрав менеджер загрузки &os; в диалоговом - окне при выборе менеджера загрузки. Это потому что - в <filename>/boot/boot0</filename> область таблицы разделов - заполнена символами NULL, а &man.sysinstall.8; копирует сюда - таблицу разделов перед тем, как скопировать - <filename>/boot/boot0</filename> в область MBR.</para> - - <warning> - <para>Не копируйте просто <filename>/boot/boot0</filename> вместо - <filename>/boot/boot1</filename>, этим вы перезапишете таблицу - разделов винчестера и ваш компьютер перестанет - загружаться!</para> - </warning> - - <para>При запуске менеджер загрузки &os; задаёт ОС, которая - загружалась последний раз, устанавливая для этой операционной - системы признак активизации в таблице разделов, а затем записывает - 512 байт самого себя обратно в MBR, так что если вы просто - скопируете <filename>/boot/boot0</filename> - в <filename>C:\BOOTSECT.BSD</filename>, то в MBR будет записана - пустая таблица разделов с флагом активности в некотором - месте.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="lilo-bootloader"> - <para>Как загрузить &os; и &linux; с помощью LILO?</para> - </question> - - <answer> - <para>Если у вас установлены &os; и &linux; на одном и том же - диске, следуйте указаниям по установке LILO о загрузке не-&linux; - операционных систем. Они сводятся к следующему:</para> - - <para>Загрузите &linux; и добавьте следующие строки в файл - <filename>/etc/lilo.conf</filename>:</para> - - <programlisting>other=/dev/hda2 -table=/dev/hda -label=&os;</programlisting> - - <para>(здесь мы предполагаем, что слайс с &os; известен - &linux; как <filename>/dev/hda2</filename>; измените - эту строку в соответствии с вашей конфигурацией). Затем - достаточно будет запустить <command>lilo</command>, войдя - в систему как администратор.</para> - - <para>Если &os; располагается на другом диске, вам нужно - добавить строчку <literal>loader=/boot/chain.b</literal> в - конфигурационный файл LILO. Например:</para> - - <programlisting>other=/dev/dab4 -table=/dev/dab -loader=/boot/chain.b -label=&os;</programlisting> - - <para>В некоторых случаях для успешной загрузки со второго диска - вам может потребоваться указать номер диска BIOS загрузчику - &os;. Например, если диск SCSI с &os; определяется BIOS - как диск 1, в приглашении загрузчика &os; нужно указать:</para> - - <screen>Boot: <userinput>1:da(0,a)/boot/kernel/kernel</userinput></screen> - - <para>Вы можете настроить &man.boot.8; на автоматическое принятие - таких параметров во время загрузки.</para> - - <para>В документе <link xlink:href="http://tldp.org/HOWTO/Linux+FreeBSD.html"> - &linux;+&os; mini-HOWTO</link> содержится много информации, - касающейся взаимодействия &os; и &linux;.</para> - + дисковых разделов</link> Руководства &os;.</para> </answer> </qandaentry> <qandaentry> <question xml:id="grub-loader"> - <para>Как загрузить &os; и &linux; с помощью GRUB?</para> + <para>Как загрузить &os; и &linux; с помощью + <application>GRUB</application>?</para> </question> <answer> - <para>Настройка загрузки &os;, используя GRUB очень простой - процесс. Всего лишь добавьте следующие строки в ваш - конфигурационный файл - <filename>/boot/grub/menu.lst</filename> (в некоторых системах - <filename>/boot/grub/grub.conf</filename>, например, - Red Hat Linux и производных системах).</para> + <para>Для загрузки &os; с использованием + <application>GRUB</application> добавьте следующие строки + в <filename>/boot/grub/menu.lst</filename> или + <filename>/boot/grub/grub.conf</filename>, в зависимости + от используемого дистрибутива &linux;.</para> - <programlisting>title &os; 6.1 + <programlisting>title &os; 9.1 root <replaceable>(hd0,a)</replaceable> kernel /boot/loader</programlisting> - <para>Где <replaceable>hd0,a</replaceable> указывает на ваш - корневой раздел на первом диске. Если вам нужно указать номер - слайса, который должен использоваться, напишите что-то вроде - <replaceable>(hd0,2,a)</replaceable>. По умолчанию, если номер - слайса не указан, GRUB ищет первый слайс, содержащий в себе - партицию <literal>a</literal>.</para> + <para>Где <replaceable>hd0,a</replaceable> указывает на + корневой раздел на первом диске. Чтобы указать номер + слайса, напишите что-то вроде + <replaceable>(hd0,2,a)</replaceable>. По умолчанию, если + номер слайса не указан, <application>GRUB</application> + ищет первый слайс c разделом <literal>a</literal>.</para> </answer> </qandaentry> @@ -5338,16 +3101,14 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Установите LILO в начало загрузочного раздела &linux;, а не в - Master Boot Record. После этого можно запустить LILO из - <application>BootEasy</application>.</para> + <para>Установите LILO в начало загрузочного раздела &linux;, + а не в Master Boot Record. После этого LILO можно будет + запустить LILO из <application>BootEasy</application>.</para> - <para>Это рекомендуется сделать в любом случае при одновременном + <para>Это рекомендуется делать при одновременном использовании &windows; и &linux;, чтобы упростить - восстановление работоспособности &linux; после переустановки - &windows; (которая является Ревнивой Операционной - Системой и не терпит присутствия других операционных систем - в Master Boot Record).</para> + восстановление работоспособности &linux; в случае + переустановки &windows;.</para> </answer> </qandaentry> @@ -5358,11 +3119,10 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Вы не можете сделать это со стандартным менеджером загрузки, не - переписав его. Среди портов из категории - <filename>sysutils</filename> есть несколько - других менеджеров - загрузки, которые предоставляют такую функциональность.</para> + <para>Этого нельзя сделать со стандартным загрузчиком, не + переписав его. В категории <filename>sysutils</filename> + Коллекции Портов есть ряд других менеджеров + загрузки.</para> </answer> </qandaentry> @@ -5372,85 +3132,51 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Каким бы ни было это устройство, типа &iomegazip;, EZ (или даже обычным - дисководом, если вы хотите его использовать) или каким-то - другим, как только оно будет установлено и распознано - системой, и вы вставите в него картридж/дискету/что-там-ещё, всё - будет выглядеть примерно одинаково.</para> - - <para>(этот раздел основан на материалах <link xlink:href="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html"> - FAQ по устройствам ZIP</link> Марка Мэйо (Mark Mayo))</para> - - <para>Если это устройство ZIP или обычный дисковод, и у вас уже есть - файловая система DOS на дискетах, то вы можете использовать команду - типа:</para> - - <screen>&prompt.root; <userinput>mount -t msdosfs /dev/fd0c /floppy</userinput></screen> + <para>Если у вас уже есть файловая система на устройстве, + то используйте такую команду:</para> - <para>для обычных дискет, или</para> + <screen>&prompt.root; <userinput>mount -t msdosfs /dev/da0s1 /mnt</userinput></screen> - <screen>&prompt.root; <userinput>mount -t msdosfs /dev/da2s4 /zip</userinput></screen> + <para>Если это устройство будет использоваться только на + системах &os;, то разбейте его на разделы + <acronym>UFS</acronym> или <acronym>ZFS</acronym>. Это + обеспечит поддержку длинных имён файлов, увеличение + производительности и надёжность. Если устройство будет + использоваться с другими операционными системами, то лучше + сделать более совместимый выбор, например, msdosfs.</para> - <para>для дискет ZIP со стандартной конфигурацией.</para> + <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/da0 count=2</userinput> +&prompt.root; <userinput>gpart create -s GPT /dev/da0</userinput> +&prompt.root; <userinput>gpart add -t freebsd-ufs /dev/da0</userinput></screen> - <para>Для других дисков посмотрите их параметры с помощью команды - &man.fdisk.8; или &man.sysinstall.8;.</para> + <para>Наконец, остаётся создать новую файловую систему:</para> - <para>Остальные примеры даны для привода ZIP на - <filename>da2</filename>, третьем диске SCSI.</para> - - <para>Если это дискета или сменный диск, который будет - использоваться для обмена информацией с другими людьми, хорошей - идеей будет помещение туда файловой системы BSD. Вы получите - поддержку длинных имён файлов, увеличение производительности по - крайней мере в два раза и гораздо большую надёжность. Первым - делом вам снова будет нужно выполнить разбиение диска на - разделы/файловые системы. Вы можете воспользоваться утилитой - &man.fdisk.8; либо &man.sysinstall.8;, а в случае небольшого - диска, на котором не нужно располагать несколько операционных - систем, просто сотрите таблицу разделов (слайсов) FAT и используйте - разбиение на разделы BSD.</para> - - <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda2 count=2</userinput> -&prompt.root; <userinput>disklabel -Brw da2 auto</userinput></screen> - - <para>Вы можете использовать &man.disklabel.8; или &man.sysinstall.8; - для создания нескольких разделов BSD. - Вам наверняка придётся это сделать, если вы станете добавлять место - для раздела подкачки на винчестере, хотя это не имеет отношения к - устройствам типа ZIP.</para> - - <para>В итоге вы должны создать новую файловую систему (в этом примере - она занимает весь наш диск ZIP):</para> - - <screen>&prompt.root; <userinput>newfs /dev/rda2c</userinput></screen> + <screen>&prompt.root; <userinput>newfs /dev/da0p1</userinput></screen> <para>и смонтировать её:</para> - <screen>&prompt.root; <userinput>mount /dev/da2c /zip</userinput></screen> + <screen>&prompt.root; <userinput>mount /dev/da0s1 /mnt</userinput></screen> - <para>Хорошо ещё добавить строку типа следующей в файл + <para>Хорошо ещё добавить строку в файл <filename>/etc/fstab</filename> (прочтите справку по &man.fstab.5;), чтобы в будущем можно было просто давать команду - <command>mount /zip</command>:</para> + <command>mount /mnt</command>:</para> - <programlisting>/dev/da2c /zip ffs rw,noauto 0 0</programlisting> + <programlisting>/dev/da0p1 /mnt ufs rw,noauto 0 0</programlisting> </answer> </qandaentry> <qandaentry> <question xml:id="mount-cd-superblock"> - <para>При монтировании компакт-диска, выдаётся сообщение + <para>При монтировании компакт-диска выдаётся сообщение <errorname>Incorrect super block</errorname>.</para> </question> <answer> - <para>В параметрах команды &man.mount.8; вам нужно указать тип - устройства, который вы собираетесь смонтировать. Это описано в - <link xlink:href="&url.books.handbook;/creating-cds.html">разделе - Руководства об оптических носителях</link>, а именно в разделе - <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD"> - Использование CD с данными</link>.</para> + <para>Необходимо указать тип монтируемого устройства. + Это описано в в разделе Руководства <link + xlink:href="&url.books.handbook;/creating-cds.html#mounting-cd">Использование + CD с данными</link>.</para> </answer> </qandaentry> @@ -5461,10 +3187,10 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Обычно это означает, что в приводе CD-ROM нет компакт-диска либо - устройство на шине не было увидено. Пожалуйста, посмотрите раздел - об <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD"> - использовании CD с данными</link> в Руководстве, где подробно + <para>Обычно это означает, что в приводе нет компакт-диска либо + устройство не обнаружено на шине. Обратитесь к разделу + <link xlink:href="&url.books.handbook;/creating-cds.html#mounting-cd"> + Использование CD с данными</link> в Руководстве, где подробно обсуждается этот вопрос.</para> </answer> </qandaentry> @@ -5476,27 +3202,26 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Скорее всего, на вашем компакт-диске для хранения информации о + <para>Скорее всего, на компакт-диске для хранения информации о файлах и каталогах используется расширение <quote>Joliet</quote>. - Это описано в главе Руководства о <link xlink:href="&url.books.handbook;/creating-cds.html">создании и - использовании CD-ROM</link>, а именно в разделе об <link xlink:href="&url.books.handbook;/creating-cds.html#MOUNTING-CD"> - использовании CD-ROM с данными</link>.</para> + Это описано в разделе Руководства об <link + xlink:href="&url.books.handbook;/creating-cds.html#mounting-cd">использовании + CD с данными</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="burncd-isofs"> - <para>Я записал CD во &os; и теперь не могу считать его ни в какой + <para>Записанный во &os; CD не читается ни в какой другой операционной системой. Почему?</para> </question> <answer> - <para>Скорее всего, вы записали на CD непосредственно необработанный - файл без создания файловой системы ISO 9660. - Прочтите <link xlink:href="&url.books.handbook;/creating-cds.html">главу - Руководства о создании CD-ROM</link>, в частности, раздел о - <link xlink:href="&url.books.handbook;/creating-cds.html#RAWDATA-CD"> - записи данных непосредственно на компакт-диски</link>.</para> + <para>Это означает, что на CD был записан непосредственно + необработанный файл без создания файловой системы + ISO 9660. Прочтите раздел Руководства о <link + xlink:href="&url.books.handbook;/creating-cds.html#rawdata-cd">записи + данных непосредственно на компакт-диски</link>.</para> </answer> </qandaentry> @@ -5506,11 +3231,13 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Это описано в разделе Руководства о <link xlink:href="&url.books.handbook;/creating-cds.html#IMAGING-CD">копировании - CD с данными</link>. Более полную информацию о работе с - компакт-дисками можно найти в разделе о <link xlink:href="&url.books.handbook;/creating-cds.html">создании - компакт-дисков</link> - главы об устройствах хранения данных Руководства.</para> + <para>Это описано в разделе Руководства о <link + xlink:href="&url.books.handbook;/creating-cds.html#imaging-cd">копировании + CD с данными</link>. Более полную информацию о работе с + компакт-дисками можно найти в разделе о <link + xlink:href="&url.books.handbook;/creating-cds.html">создании + компакт-дисков</link> + в главе Руководства об устройствах хранения данных.</para> </answer> </qandaentry> @@ -5521,13 +3248,14 @@ kernel /boot/loader</programlisting> </question> <answer> - <para>Если вы попытаетесь смонтировать аудио CD, вы получите примерно - такое сообщение об ошибке: <errorname>cd9660: /dev/acd0c: Invalid - argument</errorname>. Причина этого заключается в том, что команда - <command>mount</command> работает только с файловыми системами. На - аудио CD файловых систем нет; они содержат только данные. Вам - нужна программа, читающая аудио CD, например, порт - <package>audio/xmcd</package> port.</para> + <para>Попытка смонтировать аудио CD приведёт к сообщению об + ошибке вида: <errorname>cd9660: /dev/acd0c: Invalid + argument</errorname>. Причина этого заключается в том, + что команда <command>mount</command> работает только с + файловыми системами. На аудио CD файловых систем нет; + они содержат только данные. Используйте вместо этого + программу, которая умеет читать аудио CD, например, порт + <package>audio/xmcd</package>.</para> </answer> </qandaentry> @@ -5539,94 +3267,48 @@ kernel /boot/loader</programlisting> <answer> <para>По умолчанию &man.mount.8; будет пытаться смонтировать - последнюю дорожку (сеанс) CD с данными. Если вы хотите - загрузить более ранний сеанс, то должны воспользоваться опцией - командной строки <option>-s</option>. Пожалуйста, обратитесь к - справке по команде &man.mount.cd9660.8; для получения конкретных - примеров.</para> + последнюю дорожку (сеанс) CD с данными. Для загрузки + более раннего сеанса используйте параметр командной строки + <option>-s</option>. За конкретными примерами обращайтесь + к странице Справочника &man.mount.cd9660.8;.</para> </answer> </qandaentry> <qandaentry> <question xml:id="user-floppymount"> - <para>Как разрешить обычным пользователям монтировать дискеты, - компакт-диски и другие сменные носители?</para> + <para>Как разрешить обычным пользователям монтировать + компакт-диски, DVD, USB-диски и другие сменные носители?</para> </question> <answer> - <para>Обычным пользователям можно позволить монтировать устройства. - Вот как это делается:</para> + <para>Как пользователь <systemitem + class="username">root</systemitem>, установите + системную переменную <varname>vfs.usermount</varname> в + значение <literal>1</literal>.</para> - <procedure> - <step> - <para>Как пользователь <systemitem class="username">root</systemitem>, установите - системную переменную <varname>vfs.usermount</varname> в - значение <literal>1</literal>.</para> - - <screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen> - </step> - - <step> - <para>Работая пользователем <systemitem class="username">root</systemitem>, назначьте - соответствующие права на устройства с поблочным доступом, - которые соответствуют сменным носителям.</para> - - <para>Например, чтобы позволить пользователям монтировать дискеты - в первом дисководе, воспользуйтесь командой</para> + <screen>&prompt.root; <userinput>sysctl vfs.usermount=1</userinput></screen> - <screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen> - - <para>Чтобы разрешить пользователям из группы - <systemitem class="groupname">operator</systemitem> монтировать CD-ROM, - сделайте так:</para> - - <screen>&prompt.root; <userinput>chgrp operator /dev/acd0c</userinput> -&prompt.root; <userinput>chmod 640 /dev/acd0c</userinput></screen> - </step> - - <step> - <para>Вам нужно - внести изменения в файл <filename>/etc/devfs.conf</filename>, - чтобы они сохранялись между перезагрузками.</para> - - <para>Как пользователь <systemitem class="username">root</systemitem>, добавьте нужные - строки в файл <filename>/etc/devfs.conf</filename>. К примеру, - чтобы разрешить пользователям монтировать диски на первом - приводе для гибких дисков, добавьте такую строчку:</para> - - <programlisting># Разрешить пользователям монтировать дискеты. -own /dev/fd0 root:operator -perm /dev/fd0 0666</programlisting> - - <para>Чтобы разрешить пользователям группы - <systemitem class="groupname">operator</systemitem> монтировать диск в приводе - CD-ROM, добавьте такую строку:</para> - - <programlisting># Разрешить членам группы operator монтировать CD-ROM. -own /dev/acd0 root:operator -perm /dev/acd0 0660</programlisting> - </step> + <para>Чтобы это срабатывало во время загрузки системы, + добавьте строчку <literal>vfs.usermount=1</literal> в файл + <filename>/etc/sysctl.conf</filename>.</para> - <step> - <para>Наконец, добавьте строчку - <literal>vfs.usermount=1</literal> в файл - <filename>/etc/sysctl.conf</filename>, чтобы она срабатывала - во время загрузки системы.</para> - </step> - </procedure> + <para>Пользователи могут монтировать только те устройства, + к которым у них имеется доступ на чтение. Чтобы разрешить + пользователям монтировать устройство, должны быть заданы + разрешения в <filename>/etc/devfs.conf</filename>.</para> - <para>Теперь все пользователи могут монтировать дискету - <filename>/dev/fd0</filename> в собственные каталоги:</para> + <para>Например, чтобы разрешить пользователям монтировать + первое устройство USB, добавьте такую строчку:</para> - <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput> -&prompt.user; <userinput>mount -t msdosfs /dev/fd0 ~/my-mount-point</userinput></screen> + <programlisting># Allow all users to mount a USB drive. + own /dev/da0 root:operator + perm /dev/da0 0666</programlisting> - <para>Пользователи из группы <systemitem class="groupname">operator</systemitem> теперь - могут монтировать CD-ROM <filename>/dev/acd0c</filename> - в собственные каталоги:</para> + <para>Теперь все пользователи могут монтировать устройства + с правами доступа на чтение в собственные каталоги:</para> <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput> -&prompt.user; <userinput>mount -t cd9660 /dev/acd0c ~/my-mount-point</userinput></screen> +&prompt.user; <userinput>mount -t msdosfs /dev/da0 ~/my-mount-point</userinput></screen> <para>Размонтирование устройства осуществляется просто:</para> @@ -5639,9 +3321,9 @@ perm /dev/acd0 0660</programlisting> из Коллекции Портов.</para> <note> - <para>Имя, использованное для обозначения устройства в предыдущих - примерах, должно быть изменено в соответствии с конфигурацией - вашей системы.</para> + <para>Имя устройства, использованное в предыдущих + примерах, должно быть изменено в соответствии с + конфигурацией.</para> </note> </answer> </qandaentry> @@ -5649,46 +3331,40 @@ perm /dev/acd0 0660</programlisting> <qandaentry> <question xml:id="du-vs-df"> <para>Команды <command>du</command> и <command>df</command> - показывают разный объем доступного дискового пространства. Что - происходит?</para> + показывают разный объем доступного дискового пространства. + Что происходит?</para> </question> <answer> - <para>Вам нужно разобраться, что на самом деле делают команды - <command>du</command> и <command>df</command>. - <command>du</command> проходит по дереву каталогов, замеряя, - насколько большой объем занимает каждый файл, и выдает общий объем. - <command>df</command> просто запрашивает файловую систему об - оставшемся объеме. Это выглядит как одно и то же, однако файл без - записи в каталоге затронет <command>df</command>, но не повлияет на + <para>Это связано с тем, как эти команды на самом деле + работают. <command>du</command> проходит по дереву + каталогов, замеряя, насколько большой объем занимает + каждый файл, и выдает общий объем. <command>df</command> + просто запрашивает файловую систему об оставшемся объеме. + Это выглядит как одно и то же, однако файл без записи в + каталоге затронет <command>df</command>, но не повлияет на <command>du</command>.</para> - <para>Когда программа использует файл, а вы его удалили, файл на - самом деле не удаляется из файловой системы, пока программа не - прекратит его использовать. Однако файл тут же удаляется из списка - каталога. Вы можете легко это видеть при помощи такой программы, - как <command>more</command>. Предположим, что у вас имеется файл, - настолько большой, что его присутствие влияет на вывод команд - <command>du</command> и <command>df</command>. (Так как в - настоящее время диски могут быть настолько большими, это может быть - <emphasis>очень</emphasis> большой файл!) Если вы удалите этот - файл в процессе работы <command>more</command> над ним, на команду - <command>more</command> это не повлияет и она не сообщит, что не - может просматривать файл. Запись о файле просто удалена из - каталога, так что другие программы или пользователи не смогут к - нему обратиться. <command>du</command> покажет, что файл исчез - — она просматривает дерево каталогов, а файла там не будет. - <command>df</command> показывает, что он все еще здесь, так как - файловая система знает, что <command>more</command> все еще - использует это пространство. Как только вы закончите работу с + <para>Когда программа использует файл и этот файл удаляется, + то на самом деле он не удаляется из файловой системы, пока + программа не прекратит его использовать. Однако файл тут + же удаляется из списка каталога. Представим себе файл + достаточно большого размера, чтобы его присутствие влияло + на вывод <command>du</command> и <command>df</command>. + Если файл удаляется в процессе работы с ним команды + <command>more</command>, команда <command>more</command> + не сообщает сразу же, что не может просматривать файл. + Запись о файле просто удалена из каталога, так что другие + программы или пользователи не смогут к нему обратиться. + Тем не менее, <command>du</command> покажет, что файл + исчез, поскольку она просматривает дерево каталогов, а + файла там нет. <command>df</command> показывает, что файл + всё ещё здесь, так как файловая система знает, что + <command>more</command> всё ещё использует это + пространство. Как только закончится работа с <command>more</command>, команды <command>du</command> и <command>df</command> придут в соответствие.</para> - <para>Заметьте, что подсистема отложенных обновлений (Soft Updates) - может задерживать освобождение дискового пространства; вам может - потребоваться подождать до 30 секунд, прежде, чем изменения будут - заметны!</para> - <para>Такая ситуация часта на Web-серверах. Многие устанавливают Web-сервер на &os; и забывают обновлять файлы протоколов. Журнал доступа заполняет <filename>/var</filename>. Новый @@ -5696,6 +3372,11 @@ perm /dev/acd0 0660</programlisting> раздел заполнен. Остановка и перезапуск программы Web-сервера освободит файл, позволяя системе освободить дисковое пространство. Для предотвращения этого настройте &man.newsyslog.8;.</para> + + <para>Заметьте, что подсистема отложенных обновлений + (Soft Updates) может задерживать освобождение дискового + пространства, и может потребоваться до 30 секунд, чтобы + изменения стали заметны.</para> </answer> </qandaentry> @@ -5705,9 +3386,9 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>В главе Руководства о <link xlink:href="&url.books.handbook;/config-tuning.html">конфигурации и тонкой - настройке</link> вы найдёте <link xlink:href="&url.books.handbook;/adding-swap-space.html">раздел</link>, в - котором описывается, как это сделать.</para> + <para>В этом разделе <link + xlink:href="&url.books.handbook;/adding-swap-space.html">Руководства</link> + описывается, как это сделать.</para> </answer> </qandaentry> @@ -5739,7 +3420,7 @@ perm /dev/acd0 0660</programlisting> использования операционной системой и пользователем <systemitem class="username">root</systemitem>. Утилита &man.df.1; не учитывает это при подсчёте значения в колонке <literal>Capacity</literal>, так - что оно может превышать 100%. Также вы заметите, что колонка + что оно может превышать 100%. Обратите внимание, что колонка <literal>Blocks</literal> всегда больше, чем сумма значений в колонках <literal>Used</literal> и <literal>Avail</literal>, обычно на 8%.</para> @@ -5748,6 +3429,180 @@ perm /dev/acd0 0660</programlisting> опции <option>-m</option> в справке по &man.tunefs.8;.</para> </answer> </qandaentry> + + <qandaentry> + <question xml:id="slow-boot-memtest"> + <para>Почему загрузка &os; задерживается на длительное время + на системах с большим объёмом ОЗУ?</para> + </question> + + <answer> + <para>&os; выполняет короткую проверку памяти на раннем + этапе загрузки. Обычно эта проверка занимает всего + несколько секунд, но если система имеет много десятков + или сотен Гбайт памяти, это можно занять до нескольких + минут. Эту проверку можно отключить, установив + <literal>hw.memtest.tests</literal> в значение + <literal>0</literal> в + <filename>/boot/loader.conf</filename>.</para> + + <para>Для получения дополнительной информации смотрите + страницу Справочника &man.loader.conf.5;.</para> + </answer> + </qandaentry> + </qandaset> + </chapter> + + <chapter xml:id="all-about-zfs"> + <title>ZFS</title> + + <qandaset> + <qandaentry> + <question xml:id="how-much-ram-for-zfs"> + <para>Какой минимальный объём ОЗУ нужно иметь для ZFS?</para> + </question> + + <answer> + <para>Для комфортного использования требуется 4 Гбайт + ОЗУ, но конкретная нагрузка может сильно различаться.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="what-is-zil"> + <para>Что такое ZIL и когда оно используется?</para> + </question> + + <answer> + <para><acronym>ZIL</acronym> ((<acronym>ZFS</acronym> + intent log) — это журнал записи, используемый для + фиксации операций записи. Обычно операции собираются + в группу транзакций и при заполнении группы пишутся на + диск (<quote>Transaction Group Commit</quote>). Однако + системные вызовы типа &man.fsync.2; требуют фиксацию + записи данных на устройстве перед возвратом управления. + ZIL нужен для подтверждения такой записи, но когда данные + ещё не находятся на диске. Группа транзакций помечается + временной меткой. В случае системного сбоя ищется + последняя неповреждённая метка и из ZIL извлекаются + недостающие данные.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="need-ssd-for-zil"> + <para>Нужен ли мне SSD для ZIL?</para> + </question> + + <answer> + <para>По умолчанию ZFS хранит ZIL в пуле со всеми данными. + Если приложение имеет большой процент записи, вынос ZIL + на отдельное устройство с очень быстрой синхронной + последовательной записью может улучшить общую + производительность. В остальных случаях SSD вряд ли + сможет что-то сильно улучшить.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="what-is-l2arc"> + <para>Что такое L2ARC?</para> + </question> + + <answer> + <para><acronym>L2ARC</acronym> — это кеш на чтение, + хранимый на быстром устройстве, таком как + <acronym>SSD</acronym>. Этот кеш не сохраняется между + перезагрузками. Следует заметить, что ОЗУ выступает + как кеш первого уровня, а L2ARC задействуется только + при нехватке ОЗУ.</para> + + <para>Для L2ARC нужно пространство в ARC для его индексации. + Таким образом, рабочий набор, который идеально помещается + в ARC, не будет помещаться при использовании L2ARC, потому + что часть ARC будет отведена под индекс L2ARC с + вытеснением части рабочего набора в L2ARC, более + медленный, чем ОЗУ.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="should-enable-dedup"> + <para>Целесообразно ли включение дедупликации?</para> + </question> + + <answer> + <para>В общем случае нет.</para> + + <para>Дедупликация занимает значительный объём ОЗУ и может + увеличить задержки операций ввода/вывода. Если данные + не являются сильно дублированными (образы виртуальных + машин или пользовательские бекапы), то, возможно, + дедупликация даст больше вреда. Другое соображение + касается невозможности отменить статус дедупликации. + Если данные записаны при включённой дедупликации, её + выключение не приведёт к обратной репликации объединённых + блоков до момента следующей перезаписи.</para> + + <para>Дедупликация также может приводить к некоторым + неожиданным ситуациям. В частности, удаление файлов + может сильно замедлиться.</para> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="zpool-fully-full"> + <para>Я не могу создать или удалить файлы на пуле ZFS. + Как я могу это исправить?</para> + </question> + + <answer> + <para>Такое может произойти при 100% заполненности пула. + ZFS требуется свободное место на диске для записи + метаданных транзакций. Для восстановления + работоспособного состояния пула обрежьте файл перед его + удалением.</para> + + <screen>&prompt.user; <userinput>truncate -s 0 <replaceable>unimportant-file</replaceable></userinput></screen> + + <para>Обрезание файла работает по той причине, что новая + транзакция при этом не запускается; вместо этого создаются + новые свободные блоки.</para> + + <note> + <para>На системах с дополнительной настройкой ZFS dataset, + такой как дедупликация, свободное место может не быть + доступно сразу.</para> + </note> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="zfs-ssd-trim"> + <para>Поддерживается ли TRIM в ZFS для твердотельных + накопителей?</para> + </question> + + <answer> + <para>Поддержка ZFS TRIM была добавлена во + &os; 10-CURRENT в ревизии + r<revnumber>240868</revnumber> и стала доступна + в ветках -STABLE в r<revnumber>252162</revnumber> и + r<revnumber>251419</revnumber>.</para> + + <para>ZFS TRIM включена по умолчанию и может быть отключена + посредством добавления такой строки в + <filename>/etc/sysctl.conf</filename>:</para> + + <programlisting>vfs.zfs.trim_disable=1</programlisting> + + <note> + <para>ZFS TRIM может не работать на всех конфигурациях, + в частности для файловой системы ZFS на устройствах с + использованием GELI.</para> + </note> + </answer> + </qandaentry> </qandaset> </chapter> @@ -5761,19 +3616,19 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Основным настроечным файлом является - <filename>/etc/defaults/rc.conf</filename> (обратитесь к - &man.rc.conf.5;). Скрипты начального запуска системы, такие как - <filename>/etc/rc</filename> и <filename>/etc/rc.d</filename> - (обратитесь к &man.rc.8;), просто включают этот файл. <emphasis>Не - редактируйте этот файл!</emphasis> Вместо этого, если в файле - <filename>/etc/defaults/rc.conf</filename> имеется параметр, - который вы хотите изменить, то вы должны скопировать строчку с ним - в файл <filename>/etc/rc.conf</filename> и поменять его значение - именно здесь.</para> + <para>Основным конфигурационным файлом является + <filename>/etc/defaults/rc.conf</filename>, который описан + в &man.rc.conf.5;). Этот файл подключают системные + скрипты запуска, такие как <filename>/etc/rc</filename> и + <filename>/etc/rc.d</filename>, которые описаны в + &man.rc.8;. <emphasis>Не редактируйте этот + файл!</emphasis> Вместо изменения параметра в + <filename>/etc/defaults/rc.conf</filename> скопируйте + эту строку в <filename>/etc/rc.conf</filename> и поменяйте + значение там.</para> - <para>Например, если вы хотите запустить &man.named.8;, поставляемый - сервер DNS, то всё, что вам нужно сделать, это:</para> + <para>Пример запуска &man.named.8;, поставляемого с системой + сервера DNS:</para> <screen>&prompt.root; <userinput>echo 'named_enable="YES"' >> /etc/rc.conf</userinput></screen> @@ -5807,73 +3662,54 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Обычно это случается при редактировании системного crontab-файла - (<filename>/etc/crontab</filename>) и последующего использования - утилиты &man.crontab.1; для его установки:</para> + <para>Обычно это случается при редактировании системного + файла crontab.</para> - <screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen> + <para>Это неправильный подход, потому что системный crontab + имеет формат, отличный от пользовательских crontab. + Системный crontab имеет дополнительное поле, указывающее, + под каким пользователем запускать команду. &man.cron.8; + полагает, что имя пользователя является первым словом в + команде на выполнение. Поскольку такой команды не + существует, отображается это сообщение об ошибке.</para> - <para>Это неправильно. Системный crontab-файл имеет формат, отличный - от пользовательских crontab-файлов, которые обновляет утилита - &man.crontab.1; (страница Справочника по &man.crontab.5; описывает - отличия более подробно).</para> - - <para>Если это именно то, что вы сделали, то дополнительный - crontab-файл является просто копией файла - <filename>/etc/crontab</filename> в неправильном формате. Удалите - его такой командой:</para> + <para>Чтобы удалить лишний неправильный crontab:</para> <screen>&prompt.root; <userinput>crontab -r</userinput></screen> - - <para>В следующий раз при редактировании файла - <filename>/etc/crontab</filename>, вам не нужно делать ничего для - оповещения утилиты &man.cron.8; о сделанных изменениях, так как она - распознает их автоматически.</para> - - <para>Если вы хотите запускать что-то один раз в день, неделю или - месяц, то, наверное, лучше обновить скрипты - <filename>/usr/local/etc/periodic</filename> - и позволить команде - &man.periodic.8;, запускаемой системной утилитой - <command>cron</command>, планировать - их выполнение вместе с другими периодическими системными - задачами.</para> - - <para>Реальная причина ошибки заключается в том, что системный - crontab-файл имеет дополнительное поле, указывающее, какой - пользователь запускает команду. В системном crontab-файле, - поставляемом с &os; и используемом по умолчанию, это - пользователь <systemitem class="username">root</systemitem> для всех строк. Если этот - crontab-файл используется в качестве crontab-файла пользователя - <systemitem class="username">root</systemitem> (что <emphasis>не то же самое</emphasis>, - что системный crontab-файл), &man.cron.8; полагает, что слово - <literal>root</literal> является первым в команде на выполнение, - но такой команды не существует.</para> </answer> </qandaentry> <qandaentry> <question xml:id="su-wheel-group"> - <para>Команда <command>su</command> выдает, что <errorname>you are - not in the correct group to su root</errorname>, когда я пытаюсь - сменить привилегии на <systemitem class="username">root</systemitem>.</para> - </question> - - <answer> - <para>Это особенность работы системы защиты. Для того, чтобы - изменить свои привилегии на пользователя <systemitem class="username">root</systemitem> - (или любого другого пользователя, имеющего привилегии - администратора), вы должны быть членом группы - <systemitem class="groupname">wheel</systemitem>. Если бы этого не было, любой, - имеющий доступ к системе и узнавший пароль пользователя - <systemitem class="username">root</systemitem>, смог получить в системе - административные полномочия. С такой же защитой этого не - получится; &man.su.1; будет препятствовать попыткам даже ввести - пароль, если некто не являетесь членом группы - <systemitem class="groupname">wheel</systemitem>.</para> + <para>Команда <command>su</command> выдает ошибку + <errorname>you are not in the correct group to su + root</errorname>, когда я пытаюсь сменить привилегии на + <systemitem class="username">root</systemitem>.</para> + </question> + + <answer> + <para>Это особенность работы системы защиты. Для того, + чтобы сменить пользовательский идентификатор с помощью + <command>su</command> на пользователя <systemitem + class="username">root</systemitem> или любого другого + с привилегиями суперпользователя, учётная запись должна + являться членом группы <systemitem + class="groupname">wheel</systemitem>. Если бы этого не + было, то любой, имеющий доступ к системе и узнавший пароль + пользователя <systemitem + class="username">root</systemitem>, смог бы получить в + системе уровень доступа суперпользователя.</para> <para>Чтобы разрешить кому-либо менять привилегии на - <systemitem class="username">root</systemitem>, просто включите его в группу + <systemitem class="username">root</systemitem>, включите + его в группу <systemitem + class="groupname">wheel</systemitem> с помощью + <command>pw</command>.</para> + + <screen>&prompt.root; <userinput>pw groupmod wheel -m lisa</userinput></screen> + + <para>В примере выше пользователь <systemitem + class="username">lisa</systemitem> будет добавлен в группу <systemitem class="groupname">wheel</systemitem>.</para> </answer> </qandaentry> @@ -5887,32 +3723,34 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Перезапустите систему, используя в приглашении загрузчика - команду <userinput>boot -s</userinput> для входа в - однопользовательский режим. При получении приглашения на ввод - полного пути до командного - процессора просто нажмите <literal>Enter</literal>, а затем - выполните команду <command>mount -urw /</command> для повторного - монтирования корневой файловой системы в режиме чтения/записи. Вам - может также потребоваться выполнить команду <command>mount -a -t - ufs</command> для монтирования файловой системы, в которой - расположен ваш любимый редактор. Если редактор расположен на - сетевой файловой системе, то вам потребуется выполнить сетевые - настройки вручную до монтирования сетевой файловой системы, либо - воспользоваться редактором, находящимся в локальной файловой - системе, таким, как &man.ed.1;.</para> + <para>Перезапустите систему, используя в приглашении + загрузчика команду <userinput>boot -s</userinput> для + входа в однопользовательский режим. При получении + приглашения на ввод полного пути до командного процессора + нажмите <literal>Enter</literal>, а затем выполните + команду <command>mount -urw /</command> для повторного + монтирования корневой файловой системы в режиме + чтения/записи. Вам может также потребоваться выполнить + команду <command>mount -a -t ufs</command> для + монтирования файловой системы, в которой расположен ваш + любимый текстовый редактор. Если редактор расположен на + сетевой файловой системе, либо выполните сетевые настройки + вручную до монтирования сетевой файловой системы, либо + воспользоваться редактором, находящимся в локальной + файловой системе, таким, как &man.ed.1;.</para> - <para>Если вы собираетесь использовать полноэкранный редактор, - такой, как &man.vi.1; или &man.emacs.1;, то вам нужно будет - выполнить команду <command>export TERM=cons25</command>, чтобы - такие редакторы смогли корректно взять данные из базы данных - &man.termcap.5;.</para> + <para>Чтобы использовать полноэкранный редактор, такой как + &man.vi.1; или &man.emacs.1;, выполните команду + <command>export TERM=xterm</command> во &os; 9.0+ или + <command>export TERM=cons25</command> во &os; 8.X, чтобы + такие редакторы смогли корректно взять данные из базы + данных &man.termcap.5;.</para> - <para>После выполнения этих шагов вы сможете отредактировать файл - <filename>/etc/rc.conf</filename> так, как вы это обычно делаете - для исправления ошибки. Сообщение об ошибке, выводимое сразу же - после сообщений при загрузке ядра, должно указать вам на номер - строки в файле, которая содержит ошибку.</para> + <para>После выполнения этих шагов отредактируйте файл + <filename>/etc/rc.conf</filename> для исправления ошибки. + Сообщение об ошибке, выводимое сразу же после сообщений + при загрузке ядра, должно указать на номер строки в файле, + которая содержит ошибку.</para> </answer> </qandaentry> @@ -5922,18 +3760,10 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Обратитесь к соответствующему <link xlink:href="&url.books.handbook;/printing.html">разделу</link> - Руководства, посвящённому печати. В нём описаны решения - большинства ваших проблем.</para> - - <para>Некоторые принтеры для выполнения любых операций по печати - требуют наличия на хосте драйвера. Такие так называемые - <quote>WinPrinters</quote> изначально во &os; не - поддерживаются. Если ваш принтер не работает в DOS или &windows;, - то, скорее всего, это WinPrinter. Единственное, что вам - остаётся сделать в надежде на то, что вы заставите его работать, - это проверить, поддерживает ли его порт - <package>print/pnm2ppa</package>.</para> + <para>Обратитесь к соответствующему <link + xlink:href="&url.books.handbook;/printing.html">разделу</link> + Руководства, посвящённому печати, за советами по + разрешению проблем.</para> </answer> </qandaentry> @@ -5943,64 +3773,43 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Пожалуйста, обратитесь к разделу Руководства, посвящённому + <para>Обратитесь к разделу Руководства, посвящённому <link xlink:href="&url.books.handbook;/using-localization.html"> использованию локализации</link>, а именно к части, описывающей - <link xlink:href="&url.books.handbook;/using-localization.html#SETTING-CONSOLE"> + <link xlink:href="&url.books.handbook;/using-localization.html#setting-console"> настройку консоли</link>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="pnp-resources"> - <para>У меня при загрузке появляются сообщения вида - <errorname>unknown: <PNP0303> can't assign - resources</errorname></para> - </question> - - <answer> - <para>Ниже следует часть письма, адресованного в &a.current;.</para> - - <blockquote> - <attribution>&a.wollman.email;, 24 апреля 2001</attribution> - - <para>Сообщение <quote>can't assign resources</quote> говорит о - том, что устройство является устаревшим ISA-устройством, для - которого в ядре присутствует драйвер, не поддерживающий PnP. К - таким устройствам относятся контроллеры клавиатуры, микросхема - контроллера программируемых прерываний, а также другие части - стандартного набора. Ресурсы не могут выделены, потому что уже - есть драйвер, использующий эти адреса.</para> - </blockquote> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="user-quotas"> <para>Почему не получается заставить работать дисковые квоты?</para> </question> <answer> - <!-- XXX Наверное, это самый худший ответ во всём документе. --> <orderedlist> <listitem> - <para>Возможно, что ваше ядро не сконфигурировано должным образом - для работы с квотами. Если это действительно так, то вам надо - добавить следующую строчку в ваш конфигурационный файл ядра и - пересобрать его:</para> - <programlisting>options QUOTA</programlisting> - - <para>Пожалуйста, прочтите <link xlink:href="&url.books.handbook;/quotas.html">главу - руководства по квотам</link> для полной информации.</para> + <para>Возможно, что ядро не сконфигурировано должным + образом для работы с квотами. В этом случае добавьте + следующую строчку в конфигурационный файл ядра и + пересоберите ядро:</para> + + <programlisting>options QUOTA</programlisting> + + <para>Прочтите <link + xlink:href="&url.books.handbook;/quotas.html">главу + руководства по квотам</link> для полной + информации.</para> </listitem> <listitem> - <para>Не включайте квотирование на <filename>/</filename>.</para> + <para>Не включайте квотирование на разделе + <filename>/</filename>.</para> </listitem> <listitem> - <para>Помещайте файл с квотами в ту файловую систему, которую - он обслуживает, то есть:</para> + <para>Помещайте файл с квотами в ту файловую систему, + которую он обслуживает:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> @@ -6044,11 +3853,15 @@ perm /dev/acd0 0660</programlisting> </question> <answer> - <para>Да, во &os; в ядро <filename>GENERIC</filename> включена - поддержка IPC в стиле - System V, в том числе совместно используемой памяти, сообщений и - семафоров. Для включения их поддержки в конфигурационный файл - вашего ядра нужно добавить следующие строки.</para> + <para>Да, во &os; в ядро <filename>GENERIC</filename> + включена поддержка IPC в стиле System V, в том числе + совместно используемой памяти, сообщений и семафоров. + В вашем собственном ядре поддержка может быть включена + посредством загрузки модулей ядра + <filename>sysvshm.ko</filename>, + <filename>sysvsem.ko</filename> и + <filename>sysvmsg.ko</filename> или добавлением в + конфигурационный файл ядра следующих строк:</para> <programlisting>options SYSVSHM # enable shared memory options SYSVSEM # enable for semaphores @@ -6060,38 +3873,29 @@ options SYSVMSG # enable for messaging</programlisting> <qandaentry> <question xml:id="sendmail-alternative"> - <para>Какое другое программное обеспечение для почтового сервера - можно использовать вместо <application>sendmail</application>?</para> + <para>Какое другое программное обеспечение для почтового + сервера можно использовать вместо + <application>Sendmail</application>?</para> </question> <answer> - <para><link xlink:href="http://www.sendmail.org/"><application>sendmail</application></link> - является - программным обеспечением для работы почтового сервера во &os;, - используемым по умолчанию, но вы можете с легкостью заменить его - другим MTA (к примеру, установленным из портов).</para> - - <para>В дереве портов уже имеются различные альтернативные MTA, из - которых <package>mail/exim</package>, - <package>mail/postfix</package>, - <package>mail/qmail</package> и - <package>mail/zmailer</package> являются одними - из самых популярных.</para> - - <para>Разнообразие хорошо, а тот факт, что у вас есть выбор из многих - различных почтовых серверов, является хорошим признаком; поэтому - попытайтесь не задавать вопросы типа - <quote><application>Sendmail</application> лучше, чем - <application>qmail</application>?</quote> в списках рассылки. Если - вы захотите получить ответ, сначала просмотрите архивы списков - рассылки. Достоинства и недостатки каждого из имеющихся MTA уже - обсуждались неоднократно.</para> + <para>Сервер <link + xlink:href="http://www.sendmail.org/"><application>Sendmail</application></link> + является программным обеспечением для работы почтового + сервера во &os;, используемым по умолчанию, но его можно + заменить другим MTA, установленным из Коллекции Портов. + В дереве портов имеется <package>mail/exim</package>, + <package>mail/postfix</package> и + <package>mail/qmail</package>. Проверьте архивы списков + рассылки на предмет обсуждения достоинств и недостатков + имеющихся MTA.</para> </answer> </qandaentry> <qandaentry> <question xml:id="forgot-root-pw"> - <para>Я забыл пароль пользователя <systemitem class="username">root</systemitem>! Что + <para>Я забыл пароль пользователя <systemitem + class="username">root</systemitem>! Что делать?</para> </question> @@ -6100,32 +3904,40 @@ options SYSVMSG # enable for messaging</programlisting> <userinput>boot -s</userinput> в приглашении <literal>Boot:</literal> для входа в однопользовательский режим. На вопрос об используемой оболочке нажмите - <keycap>Enter</keycap>. На приглашение - &prompt.root; введите <command>mount -urw /</command>, чтобы - перемонтировать корневую файловую систему в режиме чтения/записи, - после чего выполните команду <command>mount -a</command> для - монтирования всех файловых систем. Запустите команду - <command>passwd root</command>, чтобы сменить - пароль пользователя <systemitem class="username">root</systemitem>, а затем - &man.exit.1; для продолжения процесса загрузки.</para> + <keycap>Enter</keycap> для получения приглашения + &prompt.root;. Введите <command>mount -urw /</command>, + чтобы перемонтировать корневую файловую систему в режиме + чтения/записи, после чего выполните команду <command>mount + -a</command> для монтирования всех файловых систем. + Запустите команду <command>passwd root</command>, чтобы + сменить пароль пользователя <systemitem + class="username">root</systemitem>, а затем &man.exit.1; + для продолжения процесса загрузки.</para> <note> - <para>Если при входе в однопользовательский режим предлагается - ввести пароль пользователя <systemitem class="username">root</systemitem>, то - это означает, что консоль была помечена как - <literal>insecure</literal> в <filename>/etc/ttys</filename>. - В этом случае потребуется загрузиться с установочного диска - &os;, выбрать оболочку <guimenuitem>Fixit</guimenuitem> из - меню &man.sysinstall.8; и выполнить указанные выше команды.</para> + <para>Если при входе в однопользовательский режим + предлагается ввести пароль пользователя <systemitem + class="username">root</systemitem>, это означает, что + консоль была помечена как <literal>insecure</literal> в + <filename>/etc/ttys</filename>. В этом случае + потребуется загрузиться с установочного диска &os;, + выбрать <guimenuitem>Live CD</guimenuitem> или + <guimenuitem>Shell</guimenuitem> в начале процесса + установки и выполнить указанные выше команды. В этом + случае смонтируйте нужный раздел и выполните туда + chroot. Например, замените команду <command>mount + -urw /</command> на <command>mount /dev/ada0p1 /mnt; + chroot /mnt</command> для системы, расположенной на + <replaceable>ada0p1</replaceable>.</para> </note> <note> - <para>Если вы не можете смонтировать корневой раздел в + <para>Если корневой раздел не получается смонтировать в однопользовательском режиме, то возможно, что разделы - являются зашифрованными, и смонтировать их без ключей доступа - не представляется возможным. Ваши шансы зависят от выбранного - способа шифрования. За дополнительной информацией обращайтесь - к разделу <link xlink:href="&url.books.handbook;/disks-encrypting.html">Руководства</link>, + являются зашифрованными, и смонтировать их без ключей + доступа не представляется возможным. За дополнительной + информацией обращайтесь к разделу <link + xlink:href="&url.books.handbook;/disks-encrypting.html">Руководства</link>, посвященному шифрованию дисков во &os;.</para> </note> </answer> @@ -6133,14 +3945,16 @@ options SYSVMSG # enable for messaging</programlisting> <qandaentry> <question xml:id="CAD-reboot"> - <para>Как запретить перезагрузку по нажатию <keycombo action="simul"><keycap>Control</keycap><keycap>Alt</keycap> - <keycap>Delete</keycap></keycombo>?</para> + <para>Как запретить перезагрузку по нажатию <keycombo + action="simul"><keycap>Control</keycap> + <keycap>Alt</keycap> + <keycap>Delete</keycap></keycombo>?</para> </question> <answer> - <para>Если вы используете драйвер консоли &man.syscons.4; (который - является стандартным), перегенерируйте и установите новое ядро с - таким параметром в конфигурационном файле:</para> + <para>При использовании стандартного драйвера консоли + &man.syscons.4; перегенерируйте и установите новое ядро + с таким параметром в конфигурационном файле:</para> <programlisting>options SC_DISABLE_REBOOT</programlisting> @@ -6151,15 +3965,9 @@ options SYSVMSG # enable for messaging</programlisting> <note> <para>Оба этих метода являются взаимоисключающими. Данный - &man.sysctl.8; не существует, если вы скомпилировали ядро + &man.sysctl.8; не существует, если ядро скомпилировано с параметром <literal>SC_DISABLE_REBOOT</literal>.</para> </note> - - <para>Если же вы используете драйвер консоли &man.pcvt.4;, - то включите в конфигурационный файл следующую строку и - пересоберите ядро:</para> - - <programlisting>options PCVT_CTRL_ALT_DEL</programlisting> </answer> </qandaentry> @@ -6178,8 +3986,7 @@ options SYSVMSG # enable for messaging</programlisting> Преобразование делается в том же самом файле, оригинальные файлы сохраняются с расширением <filename>.bak</filename>.</para> - <para>Это преобразование также можно выполнить с помощью команды - &man.tr.1;:</para> + <para>Либо используйте &man.tr.1;:</para> <screen>&prompt.user; <userinput>tr -d '\r' < dos-text-file > unix-file</userinput></screen> @@ -6197,96 +4004,6 @@ options SYSVMSG # enable for messaging</programlisting> </qandaentry> <qandaentry> - <question xml:id="kill-by-name"> - <para>Как прервать процесс по имени?</para> - </question> - - <answer> - <para>Используйте команду &man.killall.1;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="root-acl"> - <para>Почему &man.su.1; выдаёт сообщение о том, что я - не вхожу в <systemitem class="username">root</systemitem> ACL?</para> - </question> - - <answer> - <para>Эта ошибка выдаётся распределённой системой аутентификации - <application>Kerberos</application>. Эта ошибка не фатальна, - однако это раздражает. Вы можете запустить su с ключом - <option>-K</option> либо деинсталлировать - <application>Kerberos</application>, как описано в ответе на - следующий вопрос.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="uninstall-kerberos"> - <para>Как деинсталлировать - <application>Kerberos</application>?</para> - </question> - - <answer> - <para>Чтобы удалить <application>Kerberos</application> из - системы, переустановите дистрибутив <literal>base</literal> - того релиза, который у вас запущен. Если у вас есть CD-ROM, - вы можете смонтировать компакт-диск (положим, в каталог - <filename>/cdrom</filename>) и выполнить - команду</para> - - <screen>&prompt.root; <userinput>cd /cdrom/base</userinput> -&prompt.root; <userinput>./install.sh</userinput></screen> - - <para>Либо вы можете задействовать опцию - <varname>NO_KERBEROS</varname> в файле - <filename>/etc/make.conf</filename> и выполнить полное перестроение - системы.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="where-is-makedev"> - <para>Что случилось с <filename>/dev/MAKEDEV</filename>?</para> - </question> - - <answer> - <para>Во &os; 5.<replaceable>X</replaceable> и выше - используется система &man.devfs.8;, работающая по принципу - "устройства по требованию". Драйверы устройств - автоматически создают новые файлы - устройств, как только в них появляется необходимость, таким образом - обходясь без <filename>/dev/MAKEDEV</filename>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="add-pty"> - <para>Как добавить в систему дополнительные псевдотерминалы?</para> - </question> - - <answer> - <para>Если у вас много пользователей, работающих в сеансах - <command>telnet</command>, <command>ssh</command>, X или в - <command>screen</command>, то вы можете столкнуться с проблемой - нехватки псевдотерминалов. По умолчанию до &os; 6.2 - включительно поддерживается 256 псевдотерминалов, а начиная с - &os; 6.3 — 512.</para> - - <tip> - <para>При необходимости можно добавить дополнительные - псевдотерминалы. Однако, это требует изменений в стандартной - библиотеке C, ядре и <filename>/etc/ttys</filename>. - Например, <uri xlink:href="http://www.freebsd.org/~jhb/patches/pty_1152.patch">http://www.freebsd.org/~jhb/patches/pty_1152.patch</uri> - расширяет количество псевдотерминалов до 1152. Отметим, что - данный патч может быть применен без ошибок только для - &os; 6.3 или выше.</para> - </tip> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="reread-rc"> <para>Как перечитать содержимое <filename>/etc/rc.conf</filename> и перестартовать <filename>/etc/rc</filename> без перезагрузки @@ -6297,11 +4014,7 @@ options SYSVMSG # enable for messaging</programlisting> <para>Перейдите в однопользовательский режим, а затем возвратитесь обратно в многопользовательский.</para> - <para>На консоли выполните следующее:</para> - <screen>&prompt.root; <userinput>shutdown now</userinput> -(Замечание: без -r или -h) - &prompt.root; <userinput>return</userinput> &prompt.root; <userinput>exit</userinput></screen> @@ -6318,8 +4031,8 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para>Краткий ответ: это же просто название. <emphasis>RC</emphasis> - означает + <para>Краткий ответ: это же просто название. + <emphasis>RC</emphasis> означает <quote>Release Candidate</quote>. Это значит, что вскоре произойдет выход релиза. Во &os; появление <emphasis>-PRERELEASE</emphasis>, как @@ -6330,7 +4043,7 @@ options SYSVMSG # enable for messaging</programlisting> <para>Подробный ответ: во &os; релизы выпускаются из одного из двух мест. Крупные релизы, точка-ноль, такие, как - 7.0-RELEASE и 8.0-RELEASE, ответвляются от основного потока + 9.0-RELEASE и 10.0-RELEASE, ответвляются от основного потока разработки, более известного как <link linkend="current">-CURRENT</link>. Мелкие релизы, такие, как 6.3-RELEASE или 5.2-RELEASE, являлись снэпшотами активной ветки <link linkend="stable">-STABLE</link>. Начиная с 4.3-RELEASE, @@ -6356,7 +4069,7 @@ options SYSVMSG # enable for messaging</programlisting> созданы, ветвь будет переименована в 6.3-STABLE.</para> <para>Для получения дополнительной информации о номерах версий и - различных ветках CVS обратитесь к статье о <link xlink:href="&url.articles.releng;/article.html">выпуске + различных ветках Subversion обратитесь к статье о <link xlink:href="&url.articles.releng;/article.html">выпуске релизов</link>.</para> </answer> </qandaentry> @@ -6368,26 +4081,26 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para>Краткий ответ: Скорее всего, вы работаете в режиме - безопасности, большем, чем 0. Для установки ядра - перезагрузите машину и войдите в - однопользовательский режим.</para> + <para>Краткий ответ: Режим безопасности имеет значение + больше нуля. Для установки ядра перезагрузите машину и + войдите в однопользовательский режим.</para> <para>Подробный ответ: &os; запрещает менять системные флаги при работе на уровнях безопасности, превышающих 0. - Вы можете определить ваш уровень такой командой:</para> + Чтобы проверить текущий уровень безопасности:</para> <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> - <para>Вы не можете понизить уровень безопасности; для установки - ядра вам нужно перезагрузиться в однопользовательский режим, - или изменить уровень безопасности в - <filename>/etc/rc.conf</filename>, а затем выполнить - перезагрузку. Обратитесь к странице Справочника по &man.init.8; - за подробной информацией об <literal>securelevel</literal> и - посмотрите <filename>/etc/defaults/rc.conf</filename> и - справочную страницу по &man.rc.conf.5; для выяснения - подробностей о файле <filename>rc.conf</filename>.</para> + <para>Уровень безопасности нельзя понизить в + многопользовательском режиме, поэтому для установки ядра + загрузитесь в однопользовательский режим, или измените + уровень безопасности в <filename>/etc/rc.conf</filename>, + а затем выполните перезагрузку. Обратитесь к странице + Справочника по &man.init.8; за подробной информацией о + <literal>securelevel</literal> и посмотрите + <filename>/etc/defaults/rc.conf</filename> и справочную + страницу по &man.rc.conf.5; для выяснения подробностей о + файле <filename>rc.conf</filename>.</para> </answer> </qandaentry> @@ -6398,26 +4111,27 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para>Краткий ответ: Скорее всего, вы работаете на уровне - безопасности, превышающем 1. Для смены даты перезагрузите - машину и войдите в однопользовательский режим.</para> + <para>Краткий ответ: Система работает на уровне безопасности + со значением выше 1. Для смены даты перезагрузите машину + и войдите в однопользовательский режим.</para> <para>Подробный ответ: &os; запрещает менять системное время - на больше чем одну секунду при работе на уровнях безопасности, - превышающих 1. Вы можете определить ваш уровень такой - командой:</para> + больше чем на одну секунду на уровне безопасности выше 1. + Чтобы определить уровень безопасности:</para> <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> - <para>Вы не можете понизить уровень безопасности; для изменения - даты вам нужно перезагрузиться в однопользовательский режим, - или изменить уровень безопасности в - <filename>/etc/rc.conf</filename>, а затем выполнить - перезагрузку. Обратитесь к странице Справочника по &man.init.8; - за подробной информацией об <literal>securelevel</literal> и - посмотрите <filename>/etc/defaults/rc.conf</filename> и - справочную страницу по &man.rc.conf.5; для выяснения - подробностей о файле <filename>rc.conf</filename>.</para> + <para>Уровень безопасности нельзя понизить в + многопользовательском режиме. Для изменения даты + перезагрузите систему в однопользовательский режим, + либо измените уровень безопасности в + <filename>/etc/rc.conf</filename>, а затем выполните + перезагрузку. Обратитесь к странице Справочника по + &man.init.8; за подробной информацией о + <literal>securelevel</literal> и посмотрите + <filename>/etc/defaults/rc.conf</filename> и справочную + страницу по &man.rc.conf.5; для выяснения подробностей о + файле <filename>rc.conf</filename>.</para> </answer> </qandaentry> @@ -6453,50 +4167,12 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para>Вы работаете в системе с повышенным (то есть большим, чем 0) - уровнем защиты. Понизьте уровень защиты и попробуйте еще раз. - Для получения более подробной информации обратитесь к <link linkend="securelevel">разделу FAQ об уровне защиты</link> и - справочной странице о &man.init.8;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ssh-shosts"> - <para>Почему в <application>SSH</application> аутентификация - посредством файла - <filename>.shosts</filename> не включена по умолчанию в - последних версиях &os;?</para> - </question> - - <answer> - <para>Причиной, по которой <filename>.shosts</filename> - аутентификация не работает по умолчанию в последних версиях - &os;, является то что &man.ssh.1; не устанавливается более - с битом изменения привилегий на пользователя - <systemitem class="username">root</systemitem>. Если вы хотите - <quote>исправить</quote> это, то вы можете сделать одно - из двух нижеприведённых действий:</para> - - <itemizedlist> - <listitem> - <para>Как постоянную правку, установите - <varname>ENABLE_SUID_SSH</varname> в <literal>true</literal> в - файле <filename>/etc/make.conf</filename>, затем - перекомпилируйте и установите &man.ssh.1; (или выполните - команду <command>make world</command>).</para> - </listitem> - - <listitem> - <para>Как временную правку, измените права доступа к файлу - <filename>/usr/bin/ssh</filename> на <literal>4555</literal> - командой <command>chmod 4555 /usr/bin/ssh</command> из-под - администратора. А потом добавьте строку - <literal>ENABLE_SUID_SSH= true</literal> - в файл <filename>/etc/make.conf</filename>, чтоб это изменение - осталось в силе после очередного обновления системы с помощью - <command>make world</command>.</para> - </listitem> - </itemizedlist> + <para>Система работает с уровнем защиты выше нуля. Понизьте + уровень защиты и попробуйте еще раз. Для получения более + подробной информации обратитесь к <link + linkend="securelevel">разделу <acronym>FAQ</acronym> + об уровне защиты</link> и + справочной странице &man.init.8;.</para> </answer> </qandaentry> @@ -6506,12 +4182,12 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para><literal>vnlru</literal> сбрасывает и освобождает vnode, когда - система достигает своего ограничения по параметру - <varname>kern.maxvnodes</varname>. Этот подпроцесс ядра в основном - работает вхолостую и активируется только при наличии огромного - объема ОЗУ и обращении к десяткам или тысячам файлов маленького - размера.</para> + <para><literal>vnlru</literal> сбрасывает и освобождает + vnode, когда система достигает ограничения по параметру + <varname>kern.maxvnodes</varname>. Этот поток ядра в + основном работает вхолостую и активируется только при + наличии огромного объема ОЗУ и обращении к десяткам тысяч + файлов небольшого размера.</para> </answer> </qandaentry> @@ -6611,150 +4287,97 @@ options SYSVMSG # enable for messaging</programlisting> <qandaentry> <question xml:id="var-empty"> - <para>Что такое <filename>/var/empty</filename>? - Я не могу его удалить!</para> + <para>Что такое <filename>/var/empty</filename>?</para> </question> <answer> - <para><filename>/var/empty</filename> - представляет собой каталог, который использует программа - &man.sshd.8; при выполнении разделения полномочий. Каталог - <filename>/var/empty</filename> пуст, его - владельцем является <systemitem class="username">root</systemitem> и на нём - установлен флаг <literal>schg</literal>.</para> - - <para>Хотя этот каталог удалять не рекомендуется, для выполнения этой - операции вам нужно сначала снять флаг <literal>schg</literal>. - Обратитесь к справочным страницам по &man.chflags.1; для получения - более полной информации (и помните про ответ на <link linkend="unsetting-schg">вопрос о снятии флага schg</link>).</para> + <para><filename>/var/empty</filename> представляет собой + каталог, который используется в программе &man.sshd.8; + при выполнении разделения полномочий. Каталог + <filename>/var/empty</filename> пуст, его владельцем + является <systemitem class="username">root</systemitem>, + и на нём установлен флаг <literal>schg</literal>. + Этот каталог не должен удаляться.</para> </answer> </qandaentry> - </qandaset> - </chapter> - <chapter xml:id="x"> - <title>X Window System и виртуальные консоли</title> - - <qandaset> <qandaentry> - <question xml:id="whatis-X"> - <para>Что такое X Window System?</para> + <question xml:id="newsyslog-expectations"> + <para>Я поменял <filename>/etc/newsyslog.conf</filename>. + Как проверить правильность изменений?</para> </question> <answer> - <para>X Window System (обычно <literal>X11</literal>) - является самой широкодоступной оконной - системой, которая может работать на &unix; и &unix;-подобных - системах, в том числе и во &os;. Разработкой стандартов на - используемый <link xlink:href="http://en.wikipedia.org/wiki/X_Window_System_core_protocol"> - X-протокол</link> занимается организация <link xlink:href="http://www.x.org/wiki/">The X.Org Foundation</link>, с - текущей эталонной реализацией version 11 release &xorg.version;, - поэтому вы будете часто встречать краткую ссылку на них в виде - сокращения <literal>X11</literal>.</para> + <para>Чтобы посмотреть, что будет делать &man.newsyslog.8;, + используйте следующую команду:</para> - <para>Для разных архитектур и операционных систем существует - множество реализаций этой системы. Реализацию кода для - серверной части называют <literal>X-сервером</literal>.</para> + <screen>&prompt.user; <userinput>newsyslog -nrvv</userinput></screen> </answer> </qandaentry> <qandaentry> - <question xml:id="which-X"> - <para>Какие реализации X существуют для &os;?</para> + <question xml:id="timezone"> + <para>Как поправить часовой пояс?</para> </question> <answer> - <para>Исторически складывалось так, что во &os; в качестве - используемой по умолчанию реализации X выступал пакет - &xfree86;, который поддерживает <link xlink:href="http://www.xfree86.org">The XFree86 Project, - Inc.</link> Данное программное обеспечение устанавливалось по - умолчанию в версиях &os; до 4.10 и 5.2. Хотя &xorg; поддерживала - в то время свою реализацию, в целом она позиционировалась как - ссылочная платформа, от чего долгие годы значительно - страдала.</para> - - <para>Однако в начале 2004 года несколько разработчиков XFree86 - покинули проект из-за разногласий по поводу темпов внесения - изменений в код, будущего направления развития и личных конфликтов. - Теперь они передают свой код непосредственно в &xorg;. - Одновременно с этим &xorg; обновила своё дерево исходных текстов до - состояния, соответствующего последнему релизу &xfree86; - перед изменением лицензионного соглашения (<application>XFree86 - version 4.3.99.903</application>), включила туда множество - изменений, ранее поддерживаемых отдельно, и выпустила этот набор - как <application>X11R6.7.0</application>. Существует отдельный, - но связанный с этим проект <link xlink:href="http://www.freedesktop.org/wiki/">freedesktop.org</link> - (для краткости <literal>fd.o</literal>), работающий над - перепроектированием оригинального кода &xfree86;, в котором больше - нагрузки должно лечь на графический адаптер (для улучшения - производительности), и который должен стать более модульным (для - улучшения поддержки и ускорения выпуска - релизов, а также упрощения настройки). &xorg; планирует включить - изменения, разработанные <literal>freedesktop.org</literal>, в - свои будущие релизы.</para> - - <para>С июля 2004 в &os.current; в качестве реализации, используемой - по умолчанию, &xfree86; была заменена на &xorg;. С тех пор - в качестве реализации X11 по умолчанию используется &xorg;.</para> - - <para>Для получения более полной информации прочтите раздел о <link xlink:href="&url.books.handbook;/x11.html">X11</link> Руководства - &os;.</para> + <para>Используйте &man.tzsetup.8;.</para> </answer> </qandaentry> + </qandaset> + </chapter> - <qandaentry> - <question xml:id="xfree86-split"> - <para>Всё же почему разделились два проекта X?</para> - </question> - - <answer> - <para>Ответ на этот вопрос находится вне круга проблем, описываемых - в FAQ. Заметим, что в Internet в архивах различных списков - рассылки хранится объёмная переписка. Для изучения истории этого - вопроса, пожалуйста, воспользуйтесь вашей любимой поисковой - системой, а не задавайте вопросы в списках рассылки &os;. Может - статься, что только непосредственные участники событий будут знать - доподлинно все произошедшее.</para> - </answer> - </qandaentry> + <chapter xml:id="x"> + <title>X Window System и виртуальные консоли</title> + <qandaset> <qandaentry> - <question xml:id="why-choose-xorg"> - <para>Почему для установки по умолчанию во &os; были выбраны - порты &xorg;?</para> + <question xml:id="whatis-X"> + <para>Что такое X Window System?</para> </question> <answer> - <para>Разработчики &xorg; заявляют, что их целями является более - частый выпуск релизов и быстрое добавление новых функций. Если - они смогут это осуществить, что их разработка будет весьма - привлекательна. Кроме того, использование их программного - обеспечение продолжает подпадать под условия стандартного для X - лицензионного соглашения, тогда как &xfree86; пользуется несколько - модифицированным её вариантом.</para> + <para>X Window System (обычно <literal>X11</literal>) + является наиболее общедоступной оконной системой, которая + может работать на &unix; и &unix;-подобных системах, в том + числе и во &os;. Разработкой стандартов на используемый + <link + xlink:href="http://en.wikipedia.org/wiki/X_Window_System_core_protocol">X-протокол</link> + занимается организация <link + xlink:href="http://www.x.org/wiki/">The X.Org Foundation</link>, + с текущей эталонной реализацией version 11 release + &xorg.version;, поэтому название часто сокращается до + <literal>X11</literal>.</para> + + <para>Для разных архитектур и операционных систем существует + множество реализаций этой системы. Реализацию кода для + серверной части называют <literal>X-сервером</literal>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="running-X"> - <para>Я хочу запустить X, как это сделать?</para> + <para>Я хочу запустить &xorg;, как это сделать?</para> </question> <answer> - <para>Если вы планируете установить X на уже работающую систему, то - вам необходимо использовать мета-порт <package>x11/xorg</package>, который построит и установит - все необходимые компоненты, либо установить &xorg; из - пакетов &os;.</para> + <para>Для установки &xorg; выполните одно из действий:</para> + + <para>Используйте мета-порт <filename + role="package">x11/xorg</filename>, который выполняет + построение и установку всех компонентов &xorg;.</para> - <screen><userinput>&prompt.root; pkg_add -r xorg</userinput></screen> + <para>Используйте <filename + role="package">x11/xorg-minimal</filename>, который + выполняет построение и установку только необходимых + компонентов &xorg;.</para> - <para>Кроме того, установить &xorg; можно из &man.sysinstall.8;, - выбрав <guimenuitem>Configure</guimenuitem>, затем - <guimenuitem>Distributions</guimenuitem>, затем - <guimenuitem>The X.Org Distribution</guimenuitem>.</para> + <para>Установите &xorg; из пакетов &os;.</para> - <para>После того, как &xorg; был успешно установлен, следуйте - указаниям в разделе <link xlink:href="&url.books.handbook;/x-config.html">Конфигурация + <screen><userinput>&prompt.root; pkg install xorg</userinput></screen> + + <para>После установки &xorg; следуйте указаниям в разделе <link + xlink:href="&url.books.handbook;/x-config.html">Конфигурация X11</link> Руководства &os;.</para> </answer> </qandaentry> @@ -6762,26 +4385,24 @@ options SYSVMSG # enable for messaging</programlisting> <qandaentry> <question xml:id="running-X-securelevels"> <para>Я <emphasis>попытался</emphasis> запустить X, но получил - сообщение <errorname>KDENABIO failed (Operation not - permitted)</errorname> после ввода команды + сообщение <errorname>No devices detected.</errorname> после + ввода команды <command>startx</command>. Что мне теперь делать?</para> </question> <answer> - <para>Вероятнее всего, в вашей системе установлен повышенный уровень - безопасности (<literal>securelevel</literal>). При повышенном - уровне защиты систему X запустить - невозможно, потому что X требуются права на операции записи в - устройство &man.io.4;. Дополнительную - информацию можно найти на страницах справочной системы по - &man.init.8;.</para> + <para>Вероятно, в системе установлен повышенный уровень + безопасности (<literal>securelevel</literal>). При + повышенном уровне защиты систему X запустить невозможно, + потому что X требуются права на операции записи в + устройство &man.io.4;. Дополнительная информация + находится на странице Справочника &man.init.8;.</para> - <para>Так что вопрос сводится к тому, как вам это обойти, и у вас - здесь есть в основном два варианта: установить значение - <literal>securelevel</literal> обратно в ноль (обычно это делается в - <filename>/etc/rc.conf</filename>) или во время загрузки - запускать &man.xdm.1; (до того, как повышается значение - <literal>securelevel</literal>).</para> + <para>Существует два решения проблемы: установить значение + <literal>securelevel</literal> обратно в ноль или + запускать &man.xdm.1; (или любой другой оконный менеджер) + во время загрузки, до того как повышается значение + <literal>securelevel</literal>.</para> <para>Обратитесь к <xref linkend="xdm-boot"/> для получения более полной информации о запуске &man.xdm.1; во время загрузки.</para> @@ -6794,18 +4415,21 @@ options SYSVMSG # enable for messaging</programlisting> </question> <answer> - <para>Если вы используете &man.syscons.4; (стандартный драйвер - консоли), то можете настроить поддержку указателя мыши во всех - виртуальных экранах. Во избежание конфликтов с X, драйвер - &man.syscons.4; поддерживает виртуальное устройство - <filename>/dev/sysmouse</filename>. Все события, получаемые - от реальной мыши, пишутся в устройство &man.sysmouse.4; через - &man.moused.8;. Если вы хотите использовать вашу мышь на одной или - нескольких виртуальных консолях, <emphasis>продолжая</emphasis> - использовать X, посмотрите <xref linkend="moused" remap="другой раздел"/> и настройте &man.moused.8;.</para> + <para>При использовании стандартного драйвера консоли + &man.syscons.4; во &os; можно включить поддержку указателя + мыши во всех виртуальных экранах. Во избежание конфликтов + с X, драйвер &man.syscons.4; поддерживает виртуальное + устройство <filename>/dev/sysmouse</filename>. Все события + от реального устройства мыши пишутся в устройство + &man.sysmouse.4; через &man.moused.8;. Чтобы использовать + мышь на одной и более виртуальных консолях, и при этом + продолжать использовать X, посмотрите <xref + linkend="moused" remap="другой раздел"/> и настройте + &man.moused.8;.</para> - <para>Затем отредактируйте <filename>/etc/X11/xorg.conf</filename> - так, чтобы в нём были следующие строки:</para> + <para>Затем отредактируйте + <filename>/etc/X11/xorg.conf</filename>, + чтобы в нём были следующие строки:</para> <programlisting>Section "InputDevice" Option "Protocol" "SysMouse" @@ -6836,32 +4460,25 @@ options SYSVMSG # enable for messaging</programlisting> с использованием следующей команды (из под пользователя <systemitem class="username">root</systemitem>):</para> - <screen>&prompt.root; <userinput>/etc/rc.d/devfs restart</userinput></screen> + <screen>&prompt.root; <userinput>service devfs restart</userinput></screen> </answer> </qandaentry> <qandaentry> <question xml:id="x-and-wheel"> - <para>У моей мыши есть колёсико. Могу ли я его использовать при - работе в X?</para> + <para>У моей мыши есть колёсико. Могу ли я его использовать + при работе в X?</para> </question> <answer> - <para>Да.</para> - - <para>Вам нужно указать X, что используется 5-кнопочная мышь. Для - этого просто добавьте строчки <literal>Buttons 5</literal> и - <literal>ZAxisMapping 4 5</literal> в раздел - <quote>InputDevice</quote> файла - <filename>/etc/X11/xorg.conf</filename>. Например, в - вашем файле <filename>/etc/X11/xorg.conf</filename> секция - <quote>InputDevice</quote> может принять такой вид:</para> - - <example> - <title>Секция <quote>InputDevice</quote> для мыши с - колёсиком в файле конфигурации &xorg;</title> + <para>Да, если X настроена для использования 5-кнопочной + мыши. Для этого добавьте строчки <literal>Buttons + 5</literal> и <literal>ZAxisMapping 4 5</literal> в + раздел <quote>InputDevice</quote> файла + <filename>/etc/X11/xorg.conf</filename> как показано + в этом примере:</para> - <programlisting>Section "InputDevice" + <programlisting>Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Protocol" "auto" @@ -6869,16 +4486,48 @@ options SYSVMSG # enable for messaging</programlisting> Option "Buttons" "5" Option "ZAxisMapping" "4 5" EndSection</programlisting> - </example> - <example> - <title>Пример <quote>.emacs</quote> для простой прокрутки страницы - при помощи мыши с колёсиком (опционально)</title> + <para>Для использования мыши в + <application>Emacs</application> также добавьте в + <filename>~/.emacs</filename> следующие строки:</para> - <programlisting>;; wheel mouse + <programlisting>;; wheel mouse (global-set-key [mouse-4] 'scroll-down) (global-set-key [mouse-5] 'scroll-up)</programlisting> - </example> + </answer> + </qandaentry> + + <qandaentry> + <question xml:id="x-and-synaptic"> + <para>Как заставить работать тачпад Synaptics в X?</para> + </question> + + <answer> + <para>Для его работы понадобится настроить некоторые вещи.</para> + + <para>Чтобы использовать драйвер synaptics из Xorg, для + начала удалите строку moused_enable из + <filename>rc.conf</filename>.</para> + + <para>Для включения synaptics добавьте следующую строку в + <filename>/boot/loader.conf</filename>:</para> + + <programlisting>hw.psm.synaptics_support="1"</programlisting> + + <para>Добавьте следующее в + <filename>/etc/X11/xorg.conf</filename>:</para> + + <programlisting>Section "InputDevice" +Identifier "Touchpad0" +Driver "synaptics" +Option "Protocol" "psm" +Option "Device" "/dev/psm0" +EndSection</programlisting> + + <para>И не забыть добавить следующее в раздел + <quote>ServerLayout</quote>:</para> + + <programlisting>InputDevice "Touchpad0" "SendCoreEvents"</programlisting> </answer> </qandaentry> @@ -6891,7 +4540,7 @@ EndSection</programlisting> <para>Из соображений обеспечения информационной безопасности открывать удалённые окна на машине по умолчанию запрещено.</para> - <para>Для включения этой возможности просто запустите + <para>Для включения этой возможности запустите <application>X</application> с аргументом <option>-listen_tcp</option>:</para> @@ -6906,94 +4555,77 @@ EndSection</programlisting> </question> <answer> - <para>Виртуальные консоли, упрощённо говоря, позволяют вам иметь - несколько одновременных сеансов работы с той же самой машиной без + <para>Виртуальные консоли предоставляют несколько + одновременных сеансов работы с той же самой машиной без установки какой бы то ни было сети или запуска X.</para> - <para>При запуске системы после вывода сообщений этапа загрузки на - консоль выдаётся приглашение на вход в систему. Вы можете ввести - своё имя и пароль и начать работать (или играть!) на первой - виртуальной консоли.</para> - - <para>В какой-то момент вы можете захотеть запустить ещё одну сеанс, - скажем, чтобы заглянуть в документацию по программе, которую вы - запустили или для для чтения электронной почты во время ожидания - завершения передачи данных по FTP. Просто нажмите <keycombo action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo> - (удерживая клавишу <keycap>Alt</keycap>, нажмите - <keycap>F2</keycap>) и вы обнаружите приглашение, ждущее вас на - второй <quote>виртуальной консоли</quote>! Когда захотите - вернуться к первоначальному сеансу, нажмите <keycombo action="simul"><keycap>Alt</keycap> - <keycap>F1</keycap></keycombo>.</para> - - <para>После установки по умолчанию во &os; задействованы восемь - виртуальных консолей, а комбинации клавиш - <keycombo action="simul"><keycap>Alt</keycap> - <keycap>F1</keycap></keycombo>, <keycombo action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>, + <para>При запуске системы после вывода сообщений этапа + загрузки на консоль выдаётся приглашение для входа в + систему. Введите своё имя и пароль, чтобы начать работу + на первой виртуальной консоли.</para> + + <para>Чтобы запустить ещё один сеанс, скажем, чтобы + заглянуть в документацию по программе или для чтения + электронной почты во время ожидания завершения передачи + данных по FTP, нажмите <keycap>F2</keycap>, удерживая + <keycap>Alt</keycap>. Это отобразит приглашение на + второй виртуальной консоли. Чтобы вернуться к + первоначальному сеансу, нажмите <keycombo + action="simul"><keycap>Alt</keycap> + <keycap>F1</keycap></keycombo>.</para> + + <para>По умолчанию во &os; задействованы восемь виртуальных + консолей, а комбинации клавиш <keycombo action="simul"> + <keycap>Alt</keycap><keycap>F1</keycap></keycombo>, <keycombo action="simul"><keycap>Alt</keycap> - <keycap>F3</keycap></keycombo> и так далее служат для переключения - между ними.</para> - - <para>Чтобы увеличить количество консолей, отредактируйте файл - <filename>/etc/ttys</filename> (посмотрите справку - по &man.ttys.5;), добавив туда записи для терминалов с именами от - <filename>ttyv8</filename> до <filename>ttyvc</filename> - после слов <quote>Virtual terminals</quote>:</para> + <keycap>F2</keycap></keycombo>, <keycombo + action="simul"><keycap>Alt</keycap> + <keycap>F3</keycap></keycombo> и далее служат для + переключения между ними.</para> + + <para>Чтобы увеличить количество виртуальных консолей, + отредактируйте <filename>/etc/ttys</filename> (смотрите + страницу Справочника &man.ttys.5;), добавив туда записи + для терминалов с именами от <filename>ttyv8</filename> до + <filename>ttyvc</filename> после комментария про + <quote>Virtual terminals</quote>:</para> <programlisting># Edit the existing entry for ttyv8 in /etc/ttys and change # "off" to "on". -ttyv8 "/usr/libexec/getty Pc" cons25 on secure -ttyv9 "/usr/libexec/getty Pc" cons25 on secure -ttyva "/usr/libexec/getty Pc" cons25 on secure -ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting> +ttyv8 "/usr/libexec/getty Pc" xterm on secure +ttyv9 "/usr/libexec/getty Pc" xterm on secure +ttyva "/usr/libexec/getty Pc" xterm on secure +ttyvb "/usr/libexec/getty Pc" xterm on secure</programlisting> - <para>Используйте из них столько, сколько посчитаете нужным. Чем - больше виртуальных терминалов у вас имеется, тем больше ресурсов - они используют; это может иметь значение, если у вас меньше чем - 8 Мбайт ОЗУ. Вы можете сменить статус консолей с - <literal>secure</literal> на <literal>insecure</literal>.</para> + <para>Чем больше виртуальных терминалов, тем больше ресурсов + используется. Это может привести к проблемам на системах + с 8 Мбайт ОЗУ или меньше. Подумайте о смене статуса + консолей с <literal>secure</literal> на + <literal>insecure</literal>.</para> + + <note> + <para>Во &os; до версии 9.0 использовался тип терминала + <quote>cons25</quote> вместо <quote>xterm</quote>. + При добавлении в <filename>/etc/ttys</filename> новых + записей используйте существующий формат.</para> + </note> <important> - <para>Если вы хотите запустить X, вы <emphasis>должны</emphasis> - оставить для него по крайней мере один неиспользуемый (или - выключенный) виртуальный терминал. Таким образов, если вы хотите - иметь приглашения login на всех двенадцати функциональных клавиши, - то вам не повезло — вы можете это сделать только для одиннадцати - из них, если хотите на этой же машине ещё запустить - X-сервер.</para> + <para>Чтобы запустить сервер X, нужно зарезервировать под + него хотя бы один виртуальный терминал со значением + <literal>off</literal>. Это означает, что под + виртуальные консоли можно отвести только одиннадцать + функциональных клавиш, и ещё одна остаётся за + X-сервером.</para> </important> - <para>Самым простым способом убрать консоль является просто её - выключение. Например, если вы запустили на всех 12 консолях - виртуальные терминалы, как указано выше, и ещё хотите запустить - X, то должны будете изменить параметры двенадцатого виртуального - терминала с:</para> - - <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting> - - <para>на:</para> - - <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> - - <para>Если на вашей клавиатуре только десять функциональных клавиш, - то последние строки будут выглядеть так:</para> - - <programlisting>ttyv9 "/usr/libexec/getty Pc" cons25 off secure -ttyva "/usr/libexec/getty Pc" cons25 off secure -ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> - - <para>(Вы также можете просто их удалить.)</para> - - <para>Самым простым (и надёжным) способом активировать виртуальные - консоли является перезагрузка. Однако если вы вовсе не хотите - этого делать, просто остановите X Window System и выполните (как - пользователь <systemitem class="username">root</systemitem>):</para> + <para>Например, чтобы запустить X и 11 виртуальных консолей, + нужно настроить двенадцатый виртуальный терминал:</para> - <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> + <programlisting>ttyvb "/usr/libexec/getty Pc" xterm off secure</programlisting> - <para>При этом требуется, чтобы вы полностью закрыли X Window, если - она была запущена, до запуска этой команды. Если вы это не - сделаете, ваша система может повиснуть или заблокироваться после - выполнения команды <command>kill</command>.</para> + <para>Самым простым способом активировать виртуальные + консоли является перезагрузка.</para> </answer> </qandaentry> @@ -7009,34 +4641,31 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> <keycap>Alt</keycap> <keycap>F<replaceable>n</replaceable></keycap> </keycombo> - для переключения обратно в виртуальную консоль. Нажатие + для переключения обратно в виртуальную консоль. Нажмите <keycombo action="simul"> <keycap>Ctrl</keycap> <keycap>Alt</keycap> <keycap>F1</keycap> - </keycombo> - вернёт вас на первую виртуальную консоль.</para> + </keycombo>, + чтобы вернуться на первую виртуальную консоль.</para> - <para>После того, как вы оказались в текстовой консоли, можете использовать, - как обычно, комбинации + <para>После того, как вы оказались в текстовой консоли, + используйте комбинации <keycombo action="simul"> <keycap>Alt</keycap> <keycap>F<replaceable>n</replaceable></keycap> </keycombo> для переключения между ними.</para> - <para>Чтобы вернуться в сеанс работы X, вы должны переключиться - в виртуальную консоль, на которой запущена X Window. Если вы - запустили X из командной строки (например, при помощи команды - <command>startx</command>), то сеанс работы X будет привязан - к следующей неиспользуемой виртуальной консоли, а не к той - текстовой консоли, с которой он был запущен. Если у вас - имеется восемь активных виртуальных терминалов, то X будет - работать на девятом, и вам нужно будет воспользоваться комбинацией - <keycombo action="simul"> - <keycap>Alt</keycap> - <keycap>F9</keycap> - </keycombo> - для возврата в X.</para> + <para>Чтобы вернуться в сеанс работы X, переключитесь + в виртуальную консоль, на которой запущена X Window. + Если X был запущен из командной строки с использованием + команды <command>startx</command>, то сеанс работы X будет + привязан к следующей неиспользуемой виртуальной консоли, а + не к той текстовой консоли, с которой он был запущен. + В случае восьми активных виртуальных терминалов X будет + работать на девятом, поэтому используйте комбинацию + <keycombo action="simul"><keycap>Alt</keycap> + <keycap>F9</keycap></keycombo>.</para> </answer> </qandaentry> @@ -7070,17 +4699,18 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> если при запуске X возникли какие-нибудь проблемы.</para> <para>Из &man.rc.8; <command>xdm</command> должен быть запущен - без аргументов, (то есть как даемон). <command>xdm</command> + без аргументов. <command>xdm</command> должен быть запущен <emphasis>после</emphasis> запуска &man.getty.8;, иначе они будут конфликтовать, блокируя консоль. Лучше всего выдержать паузу секунд на 10 и потом запустить <command>xdm</command>.</para> <para>Если <command>xdm</command> запускается из - <filename>/etc/ttys</filename>, то есть вероятность конфликта - между <command>xdm</command> и &man.getty.8;. Одним из способов - избежать этого является добавление номера <literal>vt</literal> в - файл <filename>/usr/local/lib/X11/xdm/Xservers</filename>:</para> + <filename>/etc/ttys</filename>, остаётся вероятность + конфликта между <command>xdm</command> и &man.getty.8;. + Одним из способов избежать этого является добавление + номера <literal>vt</literal> в файл + <filename>/usr/local/lib/X11/xdm/Xservers</filename>:</para> <programlisting>:0 local /usr/local/bin/X vt4</programlisting> @@ -7098,12 +4728,12 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> </question> <answer> - <para>Если вы запускаете <application>X</application> с использованием - сценария <application>startx</application>, права на устройство - <filename>/dev/console</filename> - <emphasis>не</emphasis> изменяются, поэтому такие программы, как - <application>xterm -C</application> и - <application>xconsole</application>, не будут работать.</para> + <para>Если <application>X</application> запускается с + помощью <application>startx</application>, права на + устройство <filename>/dev/console</filename> + <emphasis>не</emphasis> изменяются, поэтому такие + программы как <application>xterm -C</application> и + <application>xconsole</application> не будут работать.</para> <para>Это зависит от прав доступа, установленных для консоли по умолчанию. В многопользовательской системе вовсе не нужно, чтобы любой @@ -7124,111 +4754,22 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting> </qandaentry> <qandaentry> - <question xml:id="xfree86-root"> - <para>Раньше я запускал &xfree86;, работая как обычный пользователь, а - теперь при запуске выдается сообщение о том, что я должен быть - пользователем <systemitem class="username">root</systemitem>!</para> - </question> - - <answer> - <para>Все X-серверы должны запускаться пользователем - <systemitem class="username">root</systemitem>, чтобы иметь прямой доступ к вашему - видеооборудованию. Более старые версии &xfree86; - (<= 3.3.6) устанавливали все поставляемые серверы так, что они - автоматически запускались пользователем root (с установленным битом - смены владельца запускаемого процесса). Несомненно, это рискованно, - потому что X-серверы являются большими, сложными программами. Более - новые версии &xfree86; не устанавливают на серверах бит смены - владельца на пользователя <systemitem class="username">root</systemitem> именно по этой - причине.</para> - - <para>Очевидно, что запускать X-сервер, работая как - пользователь <systemitem class="username">root</systemitem>, неправильно и небезопасно. - Есть два способа использовать X, работая как - обычный пользователь. Первый способ заключается в использовании - <application>xdm</application> или другого менеджера дисплеев (к - примеру, <application>kdm</application>); второй способ - в - использовании программы <command>Xwrapper</command>.</para> - - <para><application>xdm</application> представляет собой даемон, - который обрабатывает входы в систему в графическом режиме. Обычно - он запускается во время загрузки и отвечает за аутентификацию - пользователей и запуск их сеансов; практически это графический - аналог программ &man.getty.8; и &man.login.1;. Более подробная - информация о <application>xdm</application> находится в <link xlink:href="http://www.xfree86.org/sos/resources.html">документации по - &xfree86;</link> и в <link linkend="xdm-boot">соответствующем разделе - FAQ</link>.</para> - - <para><command>Xwrapper</command> является оболочкой для X-сервера; - это маленькая утилита, позволяющая кому-либо запускать X-сервер, и - достаточно безопасная в использовании. Она выполняет некоторую - проверку передаваемых ей в командной строке аргументов, и если всё - в порядке, запускает соответствующий X-сервер. Если по каким-либо - причинам вы не хотите запускать менеджер дисплеев, то эта утилита - вам подойдет. Если у вас установлена полная Коллекция Портов, вы - можете найти этот порт в каталоге - <package>x11/wrapper</package>.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="ps2-x"> <para>Моя мышь PS/2 в X работает неправильно.</para> </question> <answer> - <para>Вполне может быть, что ваша мышь и её драйвер - рассинхронизировались.</para> - - <para>В редких случаях драйвер может ошибочно обнаруживать проблемы - с синхронизацией, и вы будете видеть такие сообщения ядра:</para> + <para>Мышь и драйвер могли рассинхронизироваться. В редких + случаях драйвер может ошибочно сообщать о проблемах + синхронизации:</para> <programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting> - <para>и заметите, что мышь теперь работает неправильно.</para> - - <para>Если это случится, отмените проверку согласования, установив - значение флага для драйвера мыши PS/2 в <literal>0x100</literal>. - Войдите в - конфигуратор <emphasis>UserConfig</emphasis>, задав опцию - <option>-c</option> в приглашении загрузчика:</para> - - <screen>boot: <userinput>-c</userinput></screen> - - <para>Затем в командной строке <emphasis>UserConfig</emphasis> - наберите:</para> - - <screen>UserConfig> <userinput>flags psm0 0x100</userinput> -UserConfig> <userinput>quit</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ps2-mousesystems"> - <para>Почему моя мышь PS/2 от MouseSystems не работает?</para> - </question> - - <answer> - <para>Было несколько сообщений, что некоторые модели мышей PS/2 от - MouseSystems работают только в режиме <quote>высокого - разрешения</quote>. В других режимах курсор мыши постоянно - прыгает в верхний левый угол экрана.</para> - - <para>Укажите флаг <literal>0x04</literal> драйверу мыши PS/2 для - перевода её в режим - высокого разрешения. Войдите в <emphasis>UserConfig</emphasis>, - задав опцию <option>-c</option> в приглашении загрузчика:</para> - - <screen>boot: <userinput>-c</userinput></screen> - - <para>Затем в командной строке <emphasis>UserConfig</emphasis> - наберите:</para> - - <screen>UserConfig> <userinput>flags psm0 0x04</userinput> -UserConfig> <userinput>quit</userinput></screen> - - <para>В предыдущем разделе описана возможная причина проблем с - мышью.</para> + <para>Если это случилось, отмените проверку согласования, + установив значение флага для драйвера мыши PS/2 в + <literal>0x100</literal>. Проще всего это сделать + добавлением <literal>hint.psm.0.flags="0x100"</literal> в + <filename>/boot/loader.conf</filename> с перезагрузкой.</para> </answer> </qandaentry> @@ -7238,10 +4779,12 @@ UserConfig> <userinput>quit</userinput></screen> </question> <answer> - <para>Поместите команду <command>xmodmap - -e "pointer = 3 2 1"</command> в один из ваших скриптов - <filename>.xinitrc</filename> или - <filename>.xsession</filename>.</para> + <para>Наберите + <command>xmodmap -e "pointer = 3 2 1"</command>. + Добавьте эту команду в + <filename>~/.xinitrc</filename> или + <filename>~/.xsession</filename> для автоматического + запуска.</para> </answer> </qandaentry> @@ -7252,22 +4795,23 @@ UserConfig> <userinput>quit</userinput></screen> </question> <answer> - <para>Подробный ответ находится в разделе <link xlink:href="&url.books.handbook;/boot-blocks.html#BOOT-SPLASH">Загрузочные + <para>Подробный ответ находится в разделе <link + xlink:href="&url.books.handbook;/boot-blocks.html#boot-splash">Загрузочные экранные заставки</link> Руководства &os;.</para> </answer> </qandaentry> <qandaentry> <question xml:id="windows-keys"> - <para>Можно ли в X использовать клавиши <keycap>Windows</keycap>, - которые есть на клавиатуре?</para> + <para>Можно ли в X использовать клавишу + <keycap>Windows</keycap>?</para> </question> <answer> - <para>Да. Всё, что вам нужно сделать, это с помощью &man.xmodmap.1; - задать функции, которые вы хотите к этим клавишам привязать.</para> + <para>Да. Используйте &man.xmodmap.1; для привязки функций + к этим клавишам.</para> - <para>Положим, что все клавиатуры <quote>Windows</quote> стандартны и + <para>Если все клавиатуры Windows стандартны, то эти три клавиши имеют следующие клавиатурные коды:</para> <itemizedlist> @@ -7279,7 +4823,7 @@ UserConfig> <userinput>quit</userinput></screen> <listitem> <para><keycode>116</keycode> — клавиша - <keycap>Windows</keycap> справа от клавиши + <keycap>Windows</keycap> справа от <keycap>AltGr</keycap></para> </listitem> @@ -7295,48 +4839,45 @@ UserConfig> <userinput>quit</userinput></screen> <screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen> - <para>Чтобы увидеть результат, вам нужно будет перезапустить ваш - оконный менеджер.</para> - <para>Для того, чтобы переопределения клавиш - <keycap>Windows</keycap> выполнялось автоматически - каждый раз при запуске X, можно поместить вызов команд - <command>xmodmap</command> в ваш <filename>~/.xinitrc</filename> - либо, что предпочтительней, создать файл - <filename>~/.xmodmaprc</filename> и включить в него параметры - для <command>xmodmap</command>, по одному на строку, и добавить - в <filename>~/.xinitrc</filename> такую строку:</para> + <keycap>Windows</keycap> выполнялось автоматически каждый + раз при запуске X, поместите команды + <command>xmodmap</command> в + <filename>~/.xinitrc</filename> либо, что + предпочтительней, создайте файл + <filename>~/.xmodmaprc</filename> и включите в него + параметры <command>xmodmap</command> по одному на строку, + затем добавьте в <filename>~/.xinitrc</filename> такую + строку:</para> <programlisting>xmodmap $HOME/.xmodmaprc</programlisting> - <para>Например, вы можете переопределить эти 3 клавиши так, чтобы они - выполняли функции клавиш <keycap>F13</keycap>, <keycap>F14</keycap> - и <keycap>F15</keycap> соответственно. Это позволит - легко привязать их к полезным функциям в приложениях или вашем - менеджере окон, как будет показано далее.</para> + <para>Например, чтобы переопределить эти 3 клавиши так, + чтобы они выполняли функции клавиш <keycap>F13</keycap>, + <keycap>F14</keycap> и <keycap>F15</keycap>. Это позволит + легко привязать их к полезным функциям в приложениях или + менеджере окон.</para> - <para>Чтобы сделать это, поместите в файл - <filename>~/.xmodmaprc</filename> вот такие строки:</para> + <para>Чтобы сделать это, поместите такие строки в файл + <filename>~/.xmodmaprc</filename>:</para> <programlisting>keycode 115 = F13 keycode 116 = F14 keycode 117 = F15</programlisting> - <para>Если, к примеру, вы используете порт - <package>x11-wm/fvwm2</package>, то - можете переопределить клавиши таким образом, что - <keycap>F13</keycap> сворачивает в иконку (или восстанавливает - предыдущие размеры) окна, на которое указывает курсор, - <keycap>F14</keycap> перемещает окно с курсором на передний план - или, если оно уже впереди, возвращает обратно, а - <keycap>F15</keycap> вызывает главное меню приложения - Workplace, даже если курсор находится не на рабочем - столе, что бывает полезно, если нет - ни одного видимого кусочка рабочего стола (к тому же логотип на - клавише соответствует этой функции).</para> - - <para>Вот строки из <filename>~/.fvwmrc</filename>, с помощью которых - достигаются описанные выше функции:</para> + <para>При использовании оконного менеджера + <package>x11-wm/fvwm2</package> клавиши можно + переопределить так, чтобы <keycap>F13</keycap> сворачивал + в иконку (и восстанавливал предыдущий размер) то окно, на + которое указывает курсор, <keycap>F14</keycap> перемещал + окно с курсором на передний план или, если оно уже + впереди, возвращал обратно, а <keycap>F15</keycap> вызывал + главное меню Workplace, даже если курсор находится не на + рабочем столе, что бывает полезно, когда не видно ни + одного кусочка рабочего стола.</para> + + <para>Следующие записи в <filename>~/.fvwmrc</filename> + позволяют достичь описанных выше функций:</para> <programlisting>Key F13 FTIWS A Iconify Key F14 FTIWS A RaiseLower @@ -7351,40 +4892,27 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Наличие 3D-ускорения зависит от версии используемого вами - сервера &xorg; и типа графического адаптера. Если у - вас адаптер nVidia, то вы можете использовать бинарные файлы - драйверов для &os;, установив один из следующих портов:</para> + <para>Наличие 3D-ускорения зависит от версии сервера &xorg; + и типа графического адаптера. Для адаптера nVidia + используйте двоичный драйвер для &os;, установив один из + нижеследующих портов:</para> - <itemizedlist> - <listitem> - <para>Последние версии адаптеров nVidia поддерживаются - портом <package>x11/nvidia-driver</package>.</para> - </listitem> - <listitem> - <para>Адаптеры nVidia, такие как GeForce2 MX/3/4, - поддерживаются драйверами серии 96XX, доступными в - порте <package>x11/nvidia-driver-96xx</package>.</para> - </listitem> - <listitem> - <para>Более старые адаптеры, такие как GeForce and - RIVA TNT, поддерживаются драйверами серии 71XX, - доступными в порте <package>x11/nvidia-driver-71xx</package>.</para> - </listitem> - </itemizedlist> + <para>Последние версии адаптеров nVidia поддерживаются + портом <package>x11/nvidia-driver</package>.</para> + + <para>Более старые драйверы доступны как + <package>x11/nvidia-driver-<replaceable>###</replaceable></package>.</para> <para>nVidia предоставляет подробную информацию о том, какие - адаптеры поддерживаются тем или иным драйвером. Эта - информация доступна непосредственно с их сайта: <uri xlink:href="http://www.nvidia.com/object/IO_32667.html">http://www.nvidia.com/object/IO_32667.html</uri>.</para> + адаптеры поддерживаются тем или иным драйвером, + на своём сайте: <uri + xlink:href="http://www.nvidia.com/object/IO_32667.html">http://www.nvidia.com/object/IO_32667.html</uri>.</para> - <para>Для адаптеров Matrox G200/G400 вам следует + <para>Для адаптеров Matrox G200/G400 следует попробовать порт <package>x11-servers/mga_hal</package>.</para> <para>Для ATI Rage 128 и Radeon посмотрите страницы Справочника &man.ati.4x;, &man.r128.4x; и &man.radeon.4x;.</para> - - <para>Для адаптеров 3dfx Voodoo 3, 4, 5, и Banshee есть - порт <package>x11-servers/driglide</package>.</para> </answer> </qandaentry> </qandaset> @@ -7416,7 +4944,7 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Да. Пожалуйста, обратитесь к разделу Руководства, + <para>Да. Обратитесь к разделу Руководства, посвящённому <link xlink:href="&url.books.handbook;/advanced-networking.html">сложным вопросам работы в сети</link>, особенно в той части, что касается <link xlink:href="&url.books.handbook;/network-routing.html">маршрутизации @@ -7438,46 +4966,35 @@ Key F15 A A Menu Workplace Nop</programlisting> из &windows; через &os;. На самом деле это просто частный случай предыдущего вопроса, который хорошо отработан.</para> - <para>Если для подключения к Internet вы используете - коммутируемое соединение, то &man.ppp.8; режима - пользователя имеет параметр <option>-nat</option>. Если вы - запустите &man.ppp.8; с параметром <option>-nat</option>, - установив в файле <filename>/etc/rc.conf</filename> переменную + <para>Для подключения к Internet с использованием + коммутируемого соединения нужно указать параметр + <option>-nat</option> и установить в файле + <filename>/etc/rc.conf</filename> переменную <literal>gateway_enable</literal> в значение - <emphasis>YES</emphasis> и правильно настроите машину с - &windows;, то всё должно прекрасно заработать. Для получения - дополнительной информации, пожалуйста, обратитесь к страницам + <emphasis>YES</emphasis>. Для получения + дополнительной информации обратитесь к страницам справочной системы по команде &man.ppp.8; или <link xlink:href="&url.books.handbook;/userppp.html"> разделу Руководства о PPP режима пользователя</link>.</para> - <para>Если вы используете PPP режима ядра, или у вас - Ethernet-подключение к Internet, то нужно использовать - &man.natd.8;. Пожалуйста, обратитесь к разделу о <link xlink:href="&url.books.handbook;/network-natd.html">natd</link> - Руководства для получения вводной информации.</para> + <para>Если подключение к Internet выполняется через + Ethernet, используйте &man.natd.8;. Вводная информация + находится в разделе Руководства <link + xlink:href="&url.books.handbook;/network-natd.html">natd</link>.</para> </answer> </qandaentry> <qandaentry> <question xml:id="slip-ppp-support"> - <para>Поддерживает ли &os; протоколы SLIP и PPP?</para> + <para>Поддерживает ли &os; протокол PPP?</para> </question> <answer> - <para>Да. Обратитесь к страницам справочника по командам - &man.slattach.8;, &man.sliplogin.8;, &man.ppp.8;, и &man.pppd.8;. - &man.ppp.8; и &man.pppd.8; могут обслуживать как входящие, так и - исходящие соединения, когда как &man.sliplogin.8; имеет дело - исключительно со входящими соединениям, а &man.slattach.8; только - с исходящими.</para> + <para>Да. &man.ppp.8; может обслуживать как входящие, так и + исходящие соединения.</para> <para>Более подробная информация об их использовании находится в <link xlink:href="&url.books.handbook;/ppp-and-slip.html">разделе - Руководства о протоколах PPP и SLIP</link>.</para> - - <para>Если вы имеете доступ в Internet только через командную строку - оболочки, вам может подойти пакадж <package>net/slirp</package>. - С его помощью можно получить (ограниченный) доступ к таким - службам, как FTP и http прямо с вашей машины.</para> + Руководства о протоколе PPP</link>.</para> </answer> </qandaentry> @@ -7487,23 +5004,13 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Да. Если вы собираетесь использовать NAT с пользовательским - соединением PPP, пожалуйста, обратитесь к <link xlink:href="&url.books.handbook;/userppp.html">разделу Руководства о - пользовательском PPP</link>. Если же вы хотите использовать NAT - вместе с другим типом сетевого подключения, пожалуйста, взгляните - на раздел о <link xlink:href="&url.books.handbook;/network-natd.html"> - natd</link> Руководства.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="parallel-connect"> - <para>Как я могу соединить две &os; системы с помощью - параллельного соединения, используя PLIP?</para> - </question> - - <answer> - <para>Пожалуйста, обратитесь к разделу Руководства о <link xlink:href="&url.books.handbook;/network-plip.html">PLIP</link>.</para> + <para>Да. Для получения указаний по использованию NAT через + подключение PPP обратитесь к <link + xlink:href="&url.books.handbook;/userppp.html">разделу + Руководства о PPP</link>. Чтобы использовать NAT вместе + с другим типом сетевого подключения, взгляните на раздел + Руководства <link + xlink:href="&url.books.handbook;/network-natd.html">natd</link>.</para> </answer> </qandaentry> @@ -7514,55 +5021,23 @@ Key F15 A A Menu Workplace Nop</programlisting> <answer> <para>Если алиас находится в той же самой сети, что и уже - настроенный на интерфейсе адрес, то к команде для - &man.ifconfig.8; допишите <literal>netmask 0xffffffff</literal> - примерно следующим образом:</para> + настроенный на интерфейсе адрес, допишите к этой команде + <literal>netmask 0xffffffff</literal>:</para> - <screen>&prompt.root; <userinput>ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff</userinput></screen> + <screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>192.0.2.2</replaceable> netmask 0xffffffff</userinput></screen> - <para>В противном случае просто задайте сетевой адрес и маску + <para>В противном случае укажите сетевой адрес и маску обычным образом:</para> - <screen>&prompt.root; <userinput>ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00</userinput></screen> + <screen>&prompt.root; <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>172.16.141.5</replaceable> netmask 0xffffff00</userinput></screen> - <para>Для получения подробной информации обращайтесь к <link xlink:href="&url.books.handbook;/configtuning-virtual-hosts.html">Руководству</link> + <para>Дополнительная информация находится в <link + xlink:href="&url.books.handbook;/configtuning-virtual-hosts.html">Руководстве</link> &os;.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="port-3c503"> - <para>Как заставить адаптер 3C503 использовать другой тип сетевого - разъёма?</para> - </question> - - <answer> - <para>Если вы хотите задействовать другой разъём, то должны указать - дополнительный параметр при вызове команды &man.ifconfig.8;. - Разъёмом по умолчанию является <literal>link0</literal>. Чтобы - задействовать разъём AUI, а не BNC, используйте <literal>link2</literal>. - Эти флаги должны быть указаны с помощью переменных ifconfig_* - в файле <filename>/etc/rc.conf</filename> (посмотрите справку по - &man.rc.conf.5;).</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="nfs"> - <para>У меня проблемы при работе NFS во &os;.</para> - </question> - - <answer> - <para>Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем - другие, что может иногда вызывать проблемы при работе приложений - типа NFS, интенсивно использующих сеть.</para> - - <para>Подробности описаны в <link xlink:href="&url.books.handbook;/network-nfs.html"> - соответствующей главе</link> Руководства, посвящённой NFS.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="nfs-linux"> <para>Почему я не могу смонтировать диск &linux; по NFS?</para> </question> @@ -7577,21 +5052,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </qandaentry> <qandaentry> - <question xml:id="nfs-sun"> - <para>Почему я не могу смонтировать диск &sun; по NFS?</para> - </question> - - <answer> - <para>Рабочие станции &sun; под управлением - &sunos; 4.<replaceable>X</replaceable> поддерживают - запросы на монтирование только с привилегированного порта; - попробуйте следующую команду:</para> - - <screen>&prompt.root; <userinput>mount -o -P sunbox:/blah /mnt</userinput></screen> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="exports-errors"> <para>Почему <command>mountd</command> продолжает выдавать сообщения <errorname>can't change attributes</errorname> и <errorname>bad @@ -7602,168 +5062,24 @@ Key F15 A A Menu Workplace Nop</programlisting> <answer> <para>В большинстве случаев проблема заключается в недостаточном понимании корректного формата файла - <filename>/etc/exports</filename>. Пожалуйста, просмотрите ещё раз + <filename>/etc/exports</filename>. Просмотрите ещё раз справочную информацию по &man.exports.5; и раздел об <link xlink:href="&url.books.handbook;/network-nfs.html">NFS</link> в Руководстве, - особенно в части <link xlink:href="&url.books.handbook;/network-nfs.html#CONFIGURING-NFS">настройки + особенно в части <link + xlink:href="&url.books.handbook;/network-nfs.html#configuring-nfs">настройки NFS</link>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="ppp-nextstep"> - <para>Проблемы при связи по PPP с машинами NeXTStep.</para> - </question> - - <answer> - <para>Попробуйте отменить все расширения TCP в файле - <filename>/etc/rc.conf</filename> (посмотрите справку - по &man.rc.conf.5;), изменив значение следующей переменной - в <literal>NO</literal>:</para> - - <programlisting>tcp_extensions=NO</programlisting> - - <para>Маршрутизаторы Annex фирмы Xylogic не работают по этой же - причине, поэтому при подключении к ним вам нужно проделать то же - самое.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="ip-multicast"> <para>Как включить поддержку multicast IP?</para> </question> <answer> - <para>По умолчанию &os; поддерживает работу с многоадресного - сетевого вещания. Если вы хотите использовать ваш компьютер как - маршрутизатор многоадресного трафика, вам нужно перекомпилировать - ядро с включенной опцией <literal>MROUTING</literal> и запустить - &man.mrouted.8;. Во &os; во время загрузки будет запускаться - &man.mrouted.8;, если переменная <literal>mrouted_enable</literal> - в файле <filename>/etc/rc.conf</filename> установлена в - значение <literal>YES</literal>.</para> - - <note> - <para>В последних версиях &os; даемон маршрутизации multicast - &man.mrouted.8; и утилиты &man.map-mbone.8; и &man.mrinfo.8; - удалены из состава основной системы. Эти программы теперь - доступны из Коллекции Портов &os; в виде порта <package>net/mrouted</package>.</para> - </note> - - <para>Приложения MBONE находятся в собственной категории портов, - <link xlink:href="http://www.FreeBSD.org/ports/mbone.html">mbone</link>. - Если вы ищете приложения для организации конференций - <command>vic</command> и <command>vat</command>, посмотрите - там!</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="dec-pci-chipset"> - <para>Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?</para> - </question> - - <answer> - <para>Вот список, составленный - Гленом Фостером (Glen Foster) <email>gfoster@driver.nsta.org</email>, - с некоторыми незначительными добавлениями:</para> - - <table> - <title>Сетевые карты созданные на основе наборе микросхем - DEC PCI</title> - - <tgroup cols="2"> - <thead> - <row> - <entry>Производитель</entry> - <entry>Модель</entry> - </row> - </thead> - - <tbody> - <row> - <entry>ASUS</entry> - <entry>PCI-L101-TB</entry> - </row> - - <row> - <entry>Accton</entry> - <entry>ENI1203</entry> - </row> - - <row> - <entry>Cogent</entry> - <entry>EM960PCI</entry> - </row> - - <row> - <entry>Compex</entry> - <entry>ENET32-PCI</entry> - </row> - - <row> - <entry>D-Link</entry> - <entry>DE-530</entry> - </row> - - <row> - <entry>Dayna</entry> - <entry>DP1203, DP2100</entry> - </row> - - <row> - <entry>DEC</entry> - <entry>DE435, DE450</entry> - </row> - - <row> - <entry>Danpex</entry> - <entry>EN-9400P3</entry> - </row> - - <row> - <entry>JCIS</entry> - <entry>Condor JC1260</entry> - </row> - - <row> - <entry>Linksys</entry> - <entry>EtherPCI</entry> - </row> - - <row> - <entry>Mylex</entry> - <entry>LNP101</entry> - </row> - - <row> - <entry>SMC</entry> - <entry>EtherPower 10/100 (Модель 9332)</entry> - </row> - - <row> - <entry>SMC</entry> - <entry>EtherPower (Модель 8432)</entry> - </row> - - <row> - <entry>TopWare</entry> - <entry>TE-3500P</entry> - </row> - - <row> - <entry>Znyx (2.2.x)</entry> - <entry>ZX312, ZX314, ZX342, ZX345, ZX346, ZX348</entry> - </row> - - <row> - <entry>Znyx (3.x)</entry> - <entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, - ZX474, ZX478, ZX212, ZX214 (10mbps/hd)</entry> - </row> - </tbody> - </tgroup> - </table> + <para>Установите пакет <package>net/mrouted</package> и + добавьте <literal>mrouted_enable="YES"</literal> в + <filename>/etc/rc.conf</filename> для запуска этого + сервиса во время загрузки.</para> </answer> </qandaentry> @@ -7774,7 +5090,8 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>За ответом на этот вопрос обращайтесь к <link xlink:href="&url.books.handbook;/mail-trouble.html">Руководству</link> + <para>За ответом на этот вопрос обращайтесь к <link + xlink:href="&url.books.handbook;/mail-trouble.html">Руководству</link> &os;.</para> </answer> </qandaentry> @@ -7786,24 +5103,26 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Если вы компилировали ядро с опцией - <literal>IPFIREWALL</literal>, имейте в виду, что политикой по - умолчанию является запрет прохождения + <para>Если ядро скомпилировано с параметром + <literal>IPFIREWALL</literal>, имейте в виду, что + политикой по умолчанию является запрет прохождения всех пакетов, которые явно не разрешены.</para> - <para>Если вы случайно неверно отконфигурировали межсетевой экран, - то для восстановления работоспособность сети дайте такую команду, - войдя суперпользователем:</para> + <para>Если межсетевой экран был случайно сконфигурирован + неверным образом, то для восстановления работоспособности + сети наберите такую команду из-под пользователя + <systemitem class="username">root</systemitem>:</para> <screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen> - <para>Также вы можете задать + <para>Рассмотрите использование <literal>firewall_type='open'</literal> в файле <filename>/etc/rc.conf</filename>.</para> - <para>Более подробная информация о конфигурировании межсетевого - экрана в &os; находится в <link xlink:href="&url.books.handbook;/firewalls.html">соответствующей - главе</link> Руководства.</para> + <para>Дополнительная информация о настройке данного + межсетевого экрана находится в <link + xlink:href="&url.books.handbook;/firewalls-ipfw.html">соответствующей + главе</link> Руководства.</para> </answer> </qandaentry> @@ -7815,26 +5134,28 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Возможно, потому что вы хотите выполнять трансляцию сетевых - адресов (NAT), а не просто перенаправлять пакеты. Правило - <quote>fwd</quote> делает точно то, что означает; оно - перенаправляет пакеты. Данные внутри пакета оно не меняет. Пусть, - скажем, у нас имеется правило такого вида:</para> + <para>Возможно, потому, что вместо простого перенаправления + пакетов нужна трансляция сетевых адресов (NAT). Правило + <quote>fwd</quote> только перенаправляет пакеты и данные + внутри него не меняет. Рассмотрим такое правило:</para> <screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen> - <para>Когда пакет с адресом назначения <replaceable>foo</replaceable> - достигает машины с этим правилом, то он перенаправляется на - <replaceable>10.0.0.1</replaceable>, но в нём остаётся адрес - назначения <replaceable>foo</replaceable>! Адрес назначения - пакета <emphasis>не</emphasis> меняется на - <replaceable>10.0.0.1</replaceable>. Большинство машин, скорее - всего, отбросят полученный пакет, имеющий адрес назначения, им не - соответствующий. Таким образом, правило <quote>fwd</quote> не - часто работает так, как ожидает пользователь. Такое поведение - является особенностью, а не ошибкой.</para> - - <para>Обратитесь к <link linkend="service-redirect">FAQ о + <para>Когда пакет с адресом назначения + <replaceable>foo</replaceable> достигает машины с этим + правилом, пакет перенаправляется на + <replaceable>10.0.0.1</replaceable>, но в нём остаётся + адрес назначения <replaceable>foo</replaceable>. Адрес + назначения пакета не меняется на + <replaceable>10.0.0.1</replaceable>. Большинство машин, + скорее всего, отбросят полученный пакет, имеющий адрес + назначения, им не соответствующий. Таким образом, правило + <quote>fwd</quote> не часто работает так, как ожидает + пользователь. Такое поведение является особенностью, а не + ошибкой.</para> + + <para>Обратитесь к <link + linkend="service-redirect"><acronym>FAQ</acronym> о перенаправлении сервисов</link>, руководству по &man.natd.8; или одной из нескольких утилит для перенаправления из <link xlink:href="&url.base;/ports/index.html">Коллекции Портов</link> для того, чтобы сделать это правильно.</para> @@ -7847,16 +5168,18 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Вы можете перенаправить запрос на FTP (или другой сервис) с + <para>Запросы FTP и других сервисов можно перенаправить с помощью порта <package>sysutils/socket</package>. - Просто замените командную строку запуска сервиса на вызов - <command>socket</command>:</para> + Замените запись для этого сервиса в + <filename>/etc/inetd.conf</filename> на вызов + <command>socket</command>, как показано в этом примере для + <application>ftpd</application>:</para> <programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting> <para>где <replaceable>ftp.example.com</replaceable> и - <replaceable>ftp</replaceable> являются соответственно хостом и - портом для перенаправления.</para> + <replaceable>ftp</replaceable> являются соответственно + хостом и портом для перенаправления.</para> </answer> </qandaentry> @@ -7882,10 +5205,10 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Вы запускаете программу, которой требуется Berkeley Packet - Filter (&man.bpf.4;), однако его нет в вашем ядре. - Перекомпилируйте ядро, добавив в его конфигурационный файл - следующую строку:</para> + <para>Для работы приложения требуется Berkeley Packet + Filter (&man.bpf.4;), однако это устройство удалено из + вашего ядра. Постройте новое ядро с добавлением в его + конфигурационный файл следующей строки:</para> <programlisting>device bpf # Berkeley Packet Filter</programlisting> </answer> @@ -7907,19 +5230,19 @@ Key F15 A A Menu Workplace Nop</programlisting> <qandaentry> <question xml:id="icmp-response-bw-limit"> - <para>Что значат эти сообщения: <errorname>Limiting icmp/open - port/closed port response</errorname> в моих журнальных - файлах?</para> + <para>Что значат сообщения <errorname>Limiting icmp/open + port/closed port response</errorname> в файле журнала?</para> </question> <answer> - <para>Это ядро сообщает вам, что имела место некоторая активность, - приводящая к посылке большего количества ответных пакетов ICMP или - сбросов TCP (RST), чем, как предполагается, это следует делать. - Ответы ICMP часто генерируются в результате попыток подключения к - незанятым портам UDP. Сбросы TCP генерируются в результате попыток - подключения к закрытым портам TCP. Кроме всяких прочих, такие - сообщения могут быть вызваны следующими действиями:</para> + <para>Данное сообщение ядра означает, что имеет место + некоторая активность, приводящая к отправке большого + количества ответных пакетов ICMP или сбросов TCP (RST). + Ответы ICMP часто генерируются в результате попыток + подключения к незанятым портам UDP. Сбросы TCP + генерируются в результате попыток подключения к закрытым + портам TCP. Помимо всего прочего, такие сообщения могут + быть вызваны следующими действиями:</para> <itemizedlist> <listitem> @@ -7935,28 +5258,26 @@ Key F15 A A Menu Workplace Nop</programlisting> </listitem> </itemizedlist> - <para>Первое число в сообщении указывает вам, какое количество пакетов - ядро посылало бы при отсутствии ограничений, а второе число - указывает лимит. Вы можете управлять этим ограничением при помощи - системной переменной <varname>net.inet.icmp.icmplim</varname> - приводимым ниже способом, где <literal>300</literal> является - ограничением на количество посылаемых пакетов в секунду:</para> + <para>Первое число в сообщении показывает количество пакетов, + которое ядро посылало бы при отсутствии ограничений, а + второе число указывает лимит. Этот лимит меняется при + помощи <varname>net.inet.icmp.icmplim</varname>. В этом + примере устанавливается лимит на <literal>300</literal> + пакетов в секунду:</para> - <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen> + <screen>&prompt.root; <userinput>sysctl net.inet.icmp.icmplim=300</userinput></screen> - <para>Если вы не хотите видеть подобные сообщения в журнальных - файлах, но хотите использовать это ограничение в ядре, то можете - использовать системную переменную - <varname>net.inet.icmp.icmplim_output</varname> для подавления - вывода, как это показано здесь:</para> + <para>Для выключения подобных сообщений без отключения + самого ограничения используйте + <varname>net.inet.icmp.icmplim_output</varname>, чтобы + подавить вывода:</para> - <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen> + <screen>&prompt.root; <userinput>sysctl net.inet.icmp.icmplim_output=0</userinput></screen> - <para>И наконец, если вы хотите выключить это ограничение, то можете - установить значение системной переменной - <varname>net.inet.icmp.icmplim</varname> (смотрите пример выше) - равным <literal>0</literal>. Выключение этого лимита не - приветствуется по причинам, перечисленным выше.</para> + <para>И наконец, чтобы полностью выключить это ограничение, + сделайте <varname>net.inet.icmp.icmplim</varname> равным + <literal>0</literal>. Выключение этого лимита не + приветствуется по причинам, изложенным выше.</para> </answer> </qandaentry> @@ -7967,12 +5288,12 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Это означает, что какое-то устройство в вашей локальной сети - использует MAC-адрес в формате, не распознаваемом &os;. Скорее - всего, это происходит из-за того, что кто-то в сети - экспериментирует с сетевым адаптером. Чаще всего это происходит - в сетях с кабельными модемами. Это безобидно и не должно влиять на - производительность машины с &os;.</para> + <para>Это означает, что какое-то устройство в локальной сети + Ethernet использует MAC-адрес в формате, неизвестном &os;. + Вероятно, это происходит из-за того, что кто-то в сети + экспериментирует с сетевым адаптером. Чаще всего это + происходит в сетях с кабельными модемами. Это безобидно и + не должно влиять на производительность системы &os;.</para> </answer> </qandaentry> @@ -7991,34 +5312,6 @@ Key F15 A A Menu Workplace Nop</programlisting> в значение <literal>0</literal>.</para> </answer> </qandaentry> - - <qandaentry> - <question xml:id="cvsup-missing-libs"> - <para>Я только что установил <application>CVSup</application>, - но при попытке его запустить - получил сообщения об ошибках. Что не так?</para> - </question> - - <answer> - <para>Сначала посмотрите, есть ли среди получаемых вами сообщений - то, что показано ниже.</para> - - <programlisting>/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found</programlisting> - - <para>Ошибки, подобные этой, возникают при установке порта - <package>net/cvsup</package> на машину без - пакета <application>&xorg;</application>. Если вы хотите - использовать <acronym>GUI</acronym>, имеющийся в - <application>CVSup</application>, то вам нужно теперь установить - <application>&xorg;</application>. Либо, если вы хотите - использовать <application>CVSup</application> только из командной - строки, то вы должны удалить ранее установленный пакадж. Затем - установите порт <package>net/cvsup-without-gui</package> или <package>net/csup</package>. Если у вас установлена одна - из последних версий &os;, то вы можете использовать &man.csup.1;. - Более подробно это описано в <link xlink:href="&url.books.handbook;/cvsup.html">разделе о CVSup</link> - Руководства.</para> - </answer> - </qandaentry> </qandaset> </chapter> @@ -8037,19 +5330,20 @@ Key F15 A A Menu Workplace Nop</programlisting> <itemizedlist> <listitem> - <para>Процесс, помещённый внутрь некоторых виртуальных стен, - которые предназначены для того, чтобы предотвратить взлом всей - системы в результате взлома этого конкретного процесса.</para> + <para>Процесс, помещённый внутрь некоторых виртуальных + стен, которые предназначены для предотвращения взлома + всей системы в результате взлома этого конкретного + процесса.</para> - <para>Говорится, что процесс может <quote>играть</quote> в - границах этих стен. Что бы этот процесс ни делал, он эти стены - разрушить не может, поэтому вам не нужен его особый аудит, - чтобы с уверенностью сказать, насколько его работа безопасна - для системы.</para> + <para>Процесс может работать в границах этих стен. + Поскольку, что бы этот процесс ни делал, он эти стены + разрушить не может, особый аудит его кода не нужен для + того, чтобы с уверенностью сказать, насколько его + работа безопасна для системы.</para> - <para>Стеной может служить, например, идентификатор пользователя. - Вот определение, даваемое на страницах справочной системы - &man.security.7; и &man.named.8;.</para> + <para>Стеной может служить, например, идентификатор + пользователя. Вот определение, даваемое на страницах + Справочника &man.security.7; и &man.named.8;.</para> <para>Рассмотрим, например, службу <literal>ntalk</literal> (смотрите &man.inetd.8;). Раньше эта @@ -8062,8 +5356,8 @@ Key F15 A A Menu Workplace Nop</programlisting> </listitem> <listitem> - <para>Процесс, помещённый внутрь симулируемой машины. Это даёт - больший уровень безопасности. В общем это означает, что + <para>Процесс, помещённый внутрь симулируемой машины. Это + даёт больший уровень безопасности. Это означает, что некто, взломавший процесс, может думать, что может сломать и систему в целом, однако фактически может сломать только симулятор этой машины и не может модифицировать никаких @@ -8098,9 +5392,7 @@ Key F15 A A Menu Workplace Nop</programlisting> <para>Каждый процесс в &unix; полностью защищён от других процессов. Никакой процесс не может модифицировать адресное пространство - другого процесса. Это отличается от &windows;, где процесс может - легко записать что-либо в адресное пространство другого процесса, - что приводит к аварийным ситуациям.</para> + другого процесса.</para> <para>В &unix; каждым процессом владеет некоторый идентификатор пользователя. Если этот пользователь не @@ -8116,12 +5408,12 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Уровень защиты является механизмом обеспечения безопасности, - реализованным в ядре. В общем, когда уровень защиты больше нуля, + <para><literal>securelevel</literal> является механизмом + обеспечения безопасности, который реализован в ядре. Когда + уровень защиты больше нуля, ядро ограничивает выполнение некоторых операций; даже - администратору (то есть пользователю <systemitem class="username">root</systemitem>) - запрещается их выполнять. На момент написания этого текста - механизм уровня защиты может, кроме всего прочего, ограничивать + суперпользователю <systemitem class="username">root</systemitem> + запрещается их выполнять. Механизм уровня защиты ограничивает возможности по:</para> <itemizedlist> @@ -8145,26 +5437,22 @@ Key F15 A A Menu Workplace Nop</programlisting> </listitem> </itemizedlist> - <para>Для выяснения состояния уровня защиты в работающей системе - просто выполните следующую команду:</para> + <para>Для выяснения состояния уровня защиты в работающей + системе:</para> - <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen> + <screen>&prompt.root; <userinput>sysctl -n kern.securelevel</userinput></screen> - <para>Результат будет содержать название &man.sysctl.8;-переменной (в - нашем случае это <varname>kern.securelevel</varname>) и число. - Последнее и является текущим значением уровня защиты. Если оно - положительно (то есть больше нуля), то по крайней мере некоторые + <para>Результат содержит текущее значение уровня защиты. + Если оно больше нуля, то по крайней мере некоторые из защит этого механизма включены.</para> - <para>Вы не можете понизить уровень защиты работающей системы; - возможность сделать это противоречит назначению этого механизма. - Если вам нужно выполнить работу, которая требует не положительный - уровень защиты (к примеру, выполнение - <buildtarget>installworld</buildtarget> или смена даты), - вам потребуется изменить настройки уровня защиты системы в файле - <filename>/etc/rc.conf</filename> (вам нужно обратить внимание на - переменные <varname>kern_securelevel</varname> и - <varname>kern_securelevel_enable</varname>) и перезагрузить + <para>Уровень защиты работающей системы не может быть понижен, + поскольку это противоречит назначению этого механизма. + Если для задачи требуется неположительный + уровень защиты, измените значения переменных + <varname>kern_securelevel</varname> и + <varname>kern_securelevel_enable</varname> в файле + <filename>/etc/rc.conf</filename> и перезагрузите систему.</para> <para>Более подробная информация об уровнях защиты и о том, какие @@ -8190,13 +5478,10 @@ Key F15 A A Menu Workplace Nop</programlisting> переводя её по крайней мере в однопользовательский режим.</para> <para>Это обстоятельство, а также ряд других, часто обсуждаются в - списках рассылки, в частности, во &a.security;. Пожалуйста, - поищите в <link xlink:href="&url.base;/search/index.html"> - архивах</link> более подробное обсуждение. Некоторые надеются, - что механизм уровней защиты вскоре отомрёт, а на его смену придёт - более гибкий механизм, но пока всё это туманно.</para> - - <para>Считайте себя предупреждёнными.</para> + списках рассылки, в частности, во &a.security;. + Поищите в <link xlink:href="&url.base;/search/index.html"> + архивах</link> более подробное обсуждение. Предпочтителен + более гибкий механизм.</para> </warning> </answer> </qandaentry> @@ -8213,8 +5498,8 @@ Key F15 A A Menu Workplace Nop</programlisting> при каждом запросе выбирается новый случайный порт UDP. Это может вызвать проблемы в некоторых сетевых конфигурациях, особенно если фаервол блокирует входящие UDP пакеты на - определенных портах. Если вы хотите обеспечить хождение - пакетов через фаервол, то вы можете попробовать параметры + определенных портах. Чтобы обеспечить прохождение + пакетов через фаервол, попробуйте параметры <literal>avoid-v4-udp-ports</literal> и <literal>avoid-v6-udp-ports</literal>, чтобы предотвратить случайный выбор номеров портов, пересекающихся с блокируемым @@ -8230,80 +5515,70 @@ Key F15 A A Menu Workplace Nop</programlisting> указания фиксированных номеров порта.</para> </warning> - <para>Кстати, поздравляем. Прекрасно, что вы читаете вывод команды - &man.sockstat.1; и обращаете внимание на аномалии!</para> + <para>Кстати, поздравляем. Прекрасно, что вы читаете вывод + команды &man.sockstat.1; и обращаете внимание на + аномалии!</para> </answer> </qandaentry> <qandaentry> <question xml:id="sendmail-port-587"> - <para>Даемон <application>sendmail</application> ждёт соединений как - на стандартном порту 25, так и на + <para>Даемон <application>Sendmail</application> ждёт + соединений как на стандартном порту 25, так и на порту 587! Что происходит?</para> </question> <answer> - <para>Последние версии <application>sendmail</application> - поддерживают - механизм посылки почты, который работает по порту 587. Эта - возможность пока широко не используется, но ее популярность - растет.</para> + <para>Последние версии <application>Sendmail</application> + поддерживают механизм посылки почты, который работает по + порту 587. Эта возможность пока широко не используется, + но её популярность растёт.</para> </answer> </qandaentry> <qandaentry> <question xml:id="toor-account"> - <para>Что это за пользователь <systemitem class="username">toor</systemitem> с UID 0? Я + <para>Что это за пользователь <systemitem + class="username">toor</systemitem> с UID 0? Я подвергся взлому?</para> </question> <answer> - <para>Не волнуйтесь, <systemitem class="username">toor</systemitem> является - <quote>альтернативным</quote> административным пользователем - (toor - это root, записанный задом наперед). Раньше он создавался - при установке командного интерпретатора &man.bash.1;, однако - теперь он создается по умолчанию. Его предполагается использовать - с нестандартным командным интерпретатором, так чтобы вам не нужно - было менять используемый по умолчанию командный процессор для - пользователя <systemitem class="username">root</systemitem>. Это важно, так как - оболочки, не являющиеся частью дистрибутива системы (например, - командный процессор, устанавливаемый из портов или пакаджей), - скорее всего, устанавливаются в каталог <filename>/usr/local/bin</filename>, который по + <para>Не волнуйтесь, <systemitem + class="username">toor</systemitem> является + <quote>альтернативной</quote> учётной записью + суперпользователя (toor - это root, записанный задом + наперёд). Его предлагается использовать с нестандартным + командным интерпретатором, так чтобы не нужно было менять + используемый по умолчанию командный процессор для + <systemitem class="username">root</systemitem>. Это + важно, так как оболочки, не являющиеся частью дистрибутива + системы, устанавливаются в каталог + <filename>/usr/local/bin</filename>, который по умолчанию располагается в другой файловой системе. Если - командный процессор для пользователя <systemitem class="username">root</systemitem> - располагается в <filename>/usr/local/bin</filename>, и <filename>/usr</filename> (или другая файловая система, - содержащая <filename>/usr/local/bin</filename>) - по какой-либо причине не - смонтирована, то <systemitem class="username">root</systemitem> не сможет войти в - систему для исправления этой проблемы (хотя если вы перезагрузите - систему в однопользовательский режим, вы сможете указать командный - процессор).</para> - - <para>Некоторые используют <systemitem class="username">toor</systemitem> для выполнения - повседневных административных работ с нестандартным командным - процессором, оставляя <systemitem class="username">root</systemitem> со стандартной - оболочкой для работы в однопользовательском режиме или выполнения - аварийных работ. По умолчанию вы не сможете войти в систему как - пользователь <systemitem class="username">toor</systemitem>, потому что у него нет - пароля, так что, если вы хотите его использовать, - зарегистрируйтесь в системе как <systemitem class="username">root</systemitem> и задайте - пароль для пользователя <systemitem class="username">toor</systemitem>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="suidperl"> - <para>Почему <command>suidperl</command> работает неправильно?</para> - </question> - - <answer> - <para>В целях обеспечения безопасности <command>suidperl</command> - по умолчанию не устанавливается. Если вы хотите, чтобы команда - <command>suidperl</command> была установлена во время обновления - из исходных текстов, отредактируйте - <filename>/etc/make.conf</filename>, добавив - <literal>ENABLE_SUIDPERL=true</literal> перед - сборкой <command>perl</command>.</para> + командный процессор для пользователя <systemitem + class="username">root</systemitem> располагается в + <filename>/usr/local/bin</filename> и файловая система, + содержащая <filename>/usr/local/bin</filename>, не + смонтирована, то <systemitem + class="username">root</systemitem> не сможет войти в + систему для исправления проблемы и понадобится + перезагрузиться в однопользовательском режиме, чтобы + указать командный процессор.</para> + + <para>Некоторые используют <systemitem + class="username">toor</systemitem> для выполнения + повседневных административных работ с нестандартным + командным процессором, оставляя <systemitem + class="username">root</systemitem> со стандартной + оболочкой для работы в однопользовательском режиме или + выполнения аварийных работ. По умолчанию пользователь не + сможет войти в систему как <systemitem + class="username">toor</systemitem>, потому что для него + не указан пароль, поэтому войдите из-под <systemitem + class="username">root</systemitem> и установите пароль + для <systemitem class="username">toor</systemitem> до того + как использовать его для входа в систему.</para> </answer> </qandaentry> </qandaset> @@ -8319,28 +5594,28 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Первым делом прочтите страницы справочника, посвящённые - &man.ppp.8;, а также соответствующий <link xlink:href="&url.books.handbook;/ppp-and-slip.html#USERPPP">раздел</link> - Руководства. Включите протоколирование следующей командой:</para> + <para>Первым делом прочтите страницу Справочника &man.ppp.8; + и <link + xlink:href="&url.books.handbook;/ppp-and-slip.html#userppp">раздел + PPP</link> Руководства. Для помощи с устранением + неполадок включите протоколирование следующей командой:</para> <programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting> - <para>Эта команда может быть набрана в командной строке - &man.ppp.8; или она может находиться в конфигурационном - файле <filename>/etc/ppp/ppp.conf</filename> (начало секции - <literal>default</literal> - лучшее для неё место. - Удостоверьтесь, что файл <filename>/etc/syslog.conf</filename> - (посмотрите справку по &man.syslog.conf.5;) содержит + <para>Эту команду можно набрать в командной строке + &man.ppp.8; или ввести в начале раздела + <literal>default</literal> в + <filename>/etc/ppp/ppp.conf</filename>. Проверьте, что + файл <filename>/etc/syslog.conf</filename> содержит указанные ниже строки и существует файл <filename>/var/log/ppp.log</filename>:</para> <programlisting>!ppp *.* /var/log/ppp.log</programlisting> - <para>Теперь вы сможете найти полную информацию о происходящем в - файле протокола. Не беспокойтесь, если не всё вам будет там - понятно. Если вы будете пользоваться чьей-то помощью, - протокол вам пригодится.</para> + <para>Полную информацию о происходящем можно найти в файле + протокола. Не беспокойтесь, если не всё будет понятно, + ведь это может быть понятно кому-то ещё.</para> </answer> </qandaentry> @@ -8350,24 +5625,24 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Обычно это происходит, когда не может быть определено имя - вашего хоста. Наилучший способ исправить это - удостовериться, - что файл <filename>/etc/hosts</filename> используется вашим - резолвером. Отредактируйте файл - <filename>/etc/host.conf</filename>, поместив - на первое место строчку <literal>hosts</literal>. Затем просто - добавьте записи о вашей машине в файл - <filename>/etc/hosts</filename>. Если у вас нет локальной - сети, измените строку <systemitem>localhost</systemitem>:</para> + <para>Обычно это происходит, когда имя хоста не может быть + преобразовано в адрес. Наилучший способ исправить это - + удостовериться, что файл <filename>/etc/hosts</filename> + читается первым. Для этого нужно проверить, что в файле + <filename>/etc/host.conf</filename> на первом месте стоит + строчка <literal>hosts</literal>. Затем добавьте в файл + <filename>/etc/hosts</filename> запись о локальной машине. + Если локальная сеть отсутствует, измените строку для + <systemitem>localhost</systemitem>:</para> <programlisting>127.0.0.1 foo.example.com foo localhost</programlisting> - <para>В противном случае просто добавьте ещё одну запись о вашем - хосте. Обратитесь к соответствующим страницам справочника за + <para>В противном случае добавьте для хоста ещё одну запись. + Обратитесь к соответствующим страницам Справочника за подробным описанием.</para> - <para>Если вы выполнили эти указания, вы сможете успешно выполнить - команду <command>ping -c1 `hostname`</command>.</para> + <para>В конце убедитесь, что эта команда выполняется + успешно: <command>ping -c1 `hostname`</command>.</para> </answer> </qandaentry> @@ -8377,30 +5652,28 @@ Key F15 A A Menu Workplace Nop</programlisting> </question> <answer> - <para>Во-первых, проверьте, что у вас есть маршрут по умолчанию. - Выполнив команду <command>netstat -rn</command> (посмотрите - справку по &man.netstat.1;), вы должны увидеть две строки - такого вида:</para> + <para>Сначала проверьте наличие маршрута по умолчанию. + Команда <command>netstat -rn</command> должна показать + две строки:</para> <programlisting>Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0</programlisting> - <para>Здесь предполагается, что вы использовали адреса, - приведённые в Руководстве, Справочнике или файле - <filename>ppp.conf.sample</filename>. Если у вас нет маршрута - по умолчанию, это может быть из-за того, что вы забыли добавить - строку <literal>HISADDR</literal> в файл ppp.conf.</para> + <para>Если нет маршрута по умолчанию, убедитесь, что строка + <literal>HISADDR</literal> была добавлена в + <filename>/etc/ppp/ppp.conf</filename>.</para> - <para>Другая причина отсутствия маршрута по умолчанию может - крыться в том, что вы ошибочно установили маршрут по умолчанию - в вашем файле <filename>/etc/rc.conf</filename> (посмотрите - справку по &man.rc.conf.5;), и пропустили указанную ниже - строку в <filename>ppp.conf</filename>:</para> + <para>Другая причина отсутствия строки с маршрутом по + умолчанию может крыться в том, что маршрут по умолчанию + был добавлен в <filename>/etc/rc.conf</filename>, и эта + строка отсутствует в + <filename>/etc/ppp/ppp.conf</filename>:</para> <programlisting>delete ALL</programlisting> - <para>В таком случае обратитесь к соответствующему <link xlink:href="&url.books.handbook;/userppp.html#USERPPP-FINAL">разделу</link> + <para>В таком случае обратитесь к соответствующему <link + xlink:href="&url.books.handbook;/userppp.html#userppp-final">разделу</link> Руководства.</para> </answer> </qandaentry> @@ -8412,25 +5685,26 @@ default 10.0.0.2 UGSc 0 0 tun0 </question> <answer> - <para>Эта ошибка появляется из-за того, что в файле - <filename>/etc/ppp/ppp.linkup</filename> отсутствует - следующий раздел:</para> + <para>Обычно эта ошибка появляется из-за отсутствия в файле + <filename>/etc/ppp/ppp.linkup</filename> следующего + раздела:</para> <programlisting>MYADDR: delete ALL add 0 0 HISADDR</programlisting> - <para>Он необходим, если ваш IP адрес выделяется динамически или - адрес маршрутизатора вам не известен. Если вы используете - интерактивный режим, вы можете набрать следующие команды - после входа в <literal>пакетный режим</literal> (пакетный - режим идентифицируется заглавными буквами <acronym>PPP</acronym> - в приглашении):</para> + <para>Он необходим только для динамического IP адреса или + когда адрес маршрутизатора не известен. При использовании + интерактивного режима можно набрать следующие команды + после входа в пакетный режим. Пакетный режим обозначается + заглавными буквами <acronym>PPP</acronym> + в приглашении:</para> <programlisting>delete ALL add 0 0 HISADDR</programlisting> - <para>Обратитесь к разделу <link xlink:href="&url.books.handbook;/userppp.html#USERPPP-DYNAMICIP">PPP + <para>Обратитесь к разделу <link + xlink:href="&url.books.handbook;/userppp.html#userppp-dynamicip">PPP и динамические IP адреса</link> Руководства за подробной информацией.</para> </answer> @@ -8466,14 +5740,14 @@ add 0 0 HISADDR</programlisting> </question> <answer> - <para>Если у вас включен Link Quality Reporting (LQR), возможно, - что слишком много пакетов LQR теряется в канале. Программа - &man.ppp.8; делает вывод, - что канал плох, и разрывает соединение. В &os; до версии 2.2.5 - LQR было включено по умолчанию. Сейчас оно по умолчанию выключено. - LQR можно выключить такой строкой:</para> + <para>Если включен Link Quality Reporting + (<acronym>LQR</acronym>), то возможно слишком много + пакетов <acronym>LQR</acronym> теряется в канале. + &man.ppp.8; делает вывод, что канал плох, и разрывает + соединение. <acronym>LQR</acronym> по умолчанию выключен. + Включить <acronym>LQR</acronym> можно так:</para> - <programlisting>disable lqr</programlisting> + <programlisting>enable lqr</programlisting> </answer> </qandaentry> @@ -8483,58 +5757,52 @@ add 0 0 HISADDR</programlisting> </question> <answer> - <para>Иногда, на шумной линии или даже на линии с включенным режимом - ожидания звонка, ваш модем может вешать трубку, думая (совершенно - напрасно), что потерял несущую.</para> + <para>Иногда на шумной линии или даже на линии с включенным + режимом ожидания звонка модем может вешать трубку, + ошибочно полагая, что потеряна несущая.</para> <para>В большинстве модемов есть параметр, определяющий - чувствительность к временной потере несущей. Например, в - модеме &usrobotics; &sportster; это определяется значением - регистра <literal>S10</literal> в десятых долях секунды. - Чтобы сделать связь более устойчивой, добавьте следующую - последовательность посылок-ожиданий в строку набора:</para> - - <programlisting>set dial "...... ATS10=10 OK ......"</programlisting> - - <para>Обратитесь к руководству по вашему модему.</para> + чувствительность к временной потере несущей. + Обратитесь к документации модема.</para> </answer> </qandaentry> <qandaentry> <question xml:id="ppp-hangs-random"> - <para>Соединение часто рвётся в случайные промежутки времени</para> - </question> - - <answer> - <para>Многие сообщают об обрывах соединений без видимой причины. - Первым делом нужно выяснить, с какой стороны соединения рвётся - связь.</para> - - <para>Если вы используете внешний модем, можете просто попробовать - использовать утилиту &man.ping.8; и посмотреть, мигает ли - индикатор <acronym>TD</acronym> при передаче данных. Если он - мигает (а индикатор <acronym>RD</acronym> нет), проблема с той - стороны. Если индикатор <acronym>TD</acronym> не загорается, - проблема с вашей стороны. При использовании внутреннего модема - вам необходимо воспользоваться командой <literal>set - server</literal>, указав её в файле <filename>ppp.conf</filename>. - Когда произойдёт обрыв связи, подключитесь к &man.ppp.8; с - помощью &man.pppctl.8;. Если ваше сетевое подключение - неожиданно восстановится (PPP оживает при проявлении активности на - диагностическом сокете) или или если вы не сможете соединиться - (здесь мы полагаем, что команда <literal>set socket</literal> в - начальный момент была выполнена успешно), то проблема имеет - локальный характер. Если вы сможете подключиться, но связи всё - равно нет, включите вывод отладочной информации командой - <literal>set log local async</literal> и запустите - <command>ping</command> из другого окна или терминала, чтобы - проверить связь. В отладочном выводе будут показаны данные, - передаваемые и получаемые из канала связи. Если данные посылаются, - но не принимаются обратно, проблема с противоположной + <para>Соединение часто рвётся в случайные промежутки + времени</para> + </question> + + <answer> + <para>Многие сообщают об обрывах соединений без видимой + причины. Первым делом нужно выяснить, с какой стороны + рвётся соединение.</para> + + <para>При использовании внешнего модема проверьте утилитой + &man.ping.8;, + мигает ли индикатор <acronym>TD</acronym> при передаче + данных. Если он мигает, а индикатор <acronym>RD</acronym> + нет, проблема с той стороны. Если <acronym>TD</acronym> + не загорается, проблема является локальной. Для + внутреннего модема используйте команду <literal>set + server</literal> в <filename>ppp.conf</filename>. При + обрыве связи подключитесь к &man.ppp.8; с помощью + &man.pppctl.8;. Если сетевое подключение неожиданно + восстанавливается при проявлении активности на + диагностическом сокете или нет соединения, но команда + <literal>set socket</literal> в начальный момент была + выполнена успешно, то проблема имеет локальный характер. + Если получается подключиться, но связи всё равно нет, + включите вывод локальной отладочной информации командой + <literal>set log local async</literal> и используйте + &man.ping.8; в другом окне или терминале, чтобы проверить + связь. В отладочном выводе будут показаны данные, + передаваемые и получаемые из канала связи. Если данные + посылаются, но не принимаются обратно, то проблема с той стороны.</para> - <para>Выяснив, является эта проблема локальной или удалённой системы, - вы имеете два варианта действий:</para> + <para>Теперь, после выяснения местонахождения проблемы, + имеется два варианта действий:</para> <itemizedlist> <listitem> @@ -8554,43 +5822,41 @@ add 0 0 HISADDR</programlisting> </question> <answer> - <para>Здесь вы мало что можете сделать. Большинство провайдеров - отказываются оказать помощь, если вы используете ОС не от µsoft;. - Вы можете добавить команду <literal>enable lqr</literal> в ваш - <filename>ppp.conf</filename>, что позволит &man.ppp.8; отследить ошибки в - удалённой системе и закрывать соединение, однако такое обнаружение - достаточно медленно и поэтому - не так уж полезно. Вы можете также просто не сообщать своему - провайдеру, что запускаете user-PPP.</para> + <para>Здесь мало что можно сделать. Большинство провайдеров + отказываются помогать пользователям, которые не используют + ОС от µsoft;. Добавьте <literal>enable lqr</literal> + в <filename>/etc/ppp/ppp.conf</filename>, чтобы позволить + &man.ppp.8; отследить ошибки в удалённой системе и закрыть + соединение. Такое обнаружение достаточно медленно и + поэтому не так уж полезно.</para> - <para>Первым делом попробуйте отключить всю местную компрессию, + <para>Первым делом попробуйте отключить любое сжатие, указав в конфигурационном файле следующее:</para> <programlisting>disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> - <para>Теперь попробуйте установить соединение ещё раз и удостовериться, - что ситуация не изменилась. Если качество соединения улучшилось - или проблема оказалась полностью решённой, выясните, настройка - чего приводила к проблемам методом проб и ошибок. Это даст вам - дополнительную защиту, когда вы будете разговаривать с вашим - провайдером (хотя при этом может обнаружиться, что вы работаете - не с продуктом µsoft;).</para> + <para>Теперь попробуйте установить соединение ещё раз и + удостоверьтесь, что ситуация не изменилась. Если качество + соединения улучшилось или проблема оказалась полностью + решённой, выясните, настройка чего приводила к проблемам + методом проб и ошибок. Это полезная информация для + провайдера, хотя при этом может обнаружиться, что вы + работаете не с продуктом µsoft;.</para> - <para>Перед тем, как звонить провайдеру, включите вывод отладочной - информации, как вы это делали ранее и подождите, пока соединение - снова не прервётся. Правда, для этого требуется некоторое - дисковое пространство. Интерес могут представлять последние - прочитанные из порта данные. Обычно это данные в формате ASCII - и они могут даже содержать описание проблемы (<errorname>Memory - fault</errorname>, <errorname>Core dumped</errorname>).</para> + <para>Перед тем, как звонить провайдеру, включите вывод + отладочной информации и подождите, пока соединение снова + не прервётся. Для этого может потребоваться некоторое + дисковое пространство. Интерес могут представлять + последние прочитанные из порта данные. Обычно это данные + в формате ASCII и они могут даже содержать описание + проблемы (<errorname>Memory fault</errorname>, + <errorname>Core dumped</errorname>).</para> - <para>Если ваш провайдер согласен помочь вам, нужно будет включить - режим отладки с их стороны, а потом, когда связь прервётся в - следующий раз, они могут сказать вам, почему возникли проблемы - с их стороны. Будет хорошо, если вы пришлёте детальное описание - на адрес &a.brian.email;, или даже попросите провайдера связаться - с ним напрямую.</para> + <para>Если провайдер согласен помочь, нужно будет включить + режим отладки с их стороны, и затем, когда связь прервётся + в следующий раз, они смогут сказать, почему с их стороны + возникли проблемы.</para> </answer> </qandaentry> @@ -8600,8 +5866,8 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> </question> <answer> - <para>Лучше всего в этом случае перекомпилировать &man.ppp.8; - с отладочной информацией, и затем использовать &man.gdb.1; + <para>В этом случае перекомпилируйте &man.ppp.8; с + отладочной информацией, и затем используйте &man.gdb.1; для получения стека вызовов для зависшего процесса <application>ppp</application>. Чтобы откомпилировать программу <application>ppp</application> с отладочной @@ -8611,47 +5877,21 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> &prompt.root; <userinput>env DEBUG_FLAGS='-g' make clean</userinput> &prompt.root; <userinput>env DEBUG_FLAGS='-g' make install</userinput></screen> - <para>Затем следует перезапустить <application>ppp</application> - и дождаться следующего зависания. Когда отладочная сборка - &man.ppp.8; зависнет, запустите <application>gdb</application> - для зависшего процесса:</para> + <para>Затем перезапустите <application>ppp</application> + и дождитесь следующего зависания. Когда отладочная сборка + &man.ppp.8; зависнет, запустите + <application>gdb</application> для зависшего + процесса:</para> <screen>&prompt.root; <userinput>gdb ppp `pgrep ppp`</userinput></screen> - <para>В приглашении <application>gdb</application> вы можете - использовать команду <command>bt</command> или + <para>В приглашении <application>gdb</application> + используйте команду <command>bt</command> или <command>where</command> для получения стека вызовов. - Сохраните вывод вашей сессии <application>gdb</application> + Сохраните вывод сессии <application>gdb</application> и <quote>отключитесь</quote> от работающего процесса, выполнив команду <command>quit</command> в <application>gdb</application>.</para> - - <para>В завершение, отошлите результат сессии - <application>gdb</application> на адрес &a.brian.email;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="ppp-loginok-thennothing"> - <para>Ничего не происходит после сообщения Login OK!</para> - </question> - - <answer> - <para>До версии &os; 2.2.5, как только связь устанавливалась, &man.ppp.8; - ожидал начала согласования Line Control Protocol - (LCP) с противоположной стороны. Многие провайдеры Internet не - начинают согласования и предполагают, что это сделает клиент. - Чтобы заставить &man.ppp.8; инициировать согласование - параметров LCP, используйте следующую строку:</para> - - <programlisting>set openmode active</programlisting> - - <note> - <para>Ничего страшного не произойдёт, если согласование начнут обе - стороны, поэтому режим инициирования сейчас по умолчанию активный. - Однако, в следующем разделе описывается ситуация, когда это - <emphasis>приводит</emphasis> к некоторым неприятностям.</para> - </note> </answer> </qandaentry> @@ -8662,15 +5902,15 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> </question> <answer> - <para>Иногда, сразу же после установления соединения, вы можете - увидеть в журнале сообщения <errorname>Magic is the - same</errorname>. Иногда эти сообщения проходят безболезненно, - а иногда одна из сторон прекращает работу. Большинство реализаций - PPP не может справиться с такой ситуацией, и, даже когда связь - выглядит установившейся, вы будете видеть только бесконечно - повторяющиеся конфигурационные запросы и подтверждения в файле - протокола до тех пор, пока &man.ppp.8; - окончательно не закроет соединение.</para> + <para>Иногда, сразу после установления соединения, в журнале + могут возникать сообщения <errorname>Magic is the + same</errorname>. Иногда эти сообщения проходят + безболезненно, а иногда одна из сторон прекращает работу. + Большинство реализаций PPP не может справиться с такой + ситуацией, и даже когда связь выглядит установившейся, вы + будeт только бесконечно повторяющиеся конфигурационные + запросы и подтверждения в файле протокола до тех пор, пока + &man.ppp.8; окончательно не закроет соединение.</para> <para>Обычно это происходит на серверах с медленными дисками, на которых порт обслуживает программа &man.getty.8;, а &man.ppp.8; @@ -8708,9 +5948,10 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> <programlisting>set openmode passive</programlisting> - <para>Это заставит &man.ppp.8; ожидать начала согласования LCP. Некоторые - серверы, однако, могут никогда не начать согласование. Если это тот - самый случай, вы можете сделать следующее:</para> + <para>Это заставит &man.ppp.8; ожидать начала согласования + LCP. Некоторые серверы, однако, могут никогда не начать + согласование. В этом случае попробуйте сделать + следующее:</para> <programlisting>set openmode active 3</programlisting> @@ -8773,9 +6014,9 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> <programlisting>set openmode passive</programlisting> - <para>С этой командой нужно быть осторожным. Вы также должны будете - использовать эту команду для ограничения периода ожидания, в - течении которого &man.ppp.8; ждёт начала согласования с + <para>С этой командой нужно быть осторожным. Эту команду + можно также использовать для ограничения периода ожидания, + в течении которого &man.ppp.8; ждёт начала согласования с противоположной стороны:</para> <programlisting>set stopped <replaceable>N</replaceable></programlisting> @@ -8798,18 +6039,18 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> </question> <answer> - <para>Когда вы выполняете команду <command>shell</command> или - <command>!</command>, &man.ppp.8; запускает оболочку (если были - заданы параметры, &man.ppp.8; их - использует). Программа <application>ppp</application> будет - ждать окончания выполнения команды, прежде - чем продолжить. Если вы попытаетесь воспользоваться связью PPP - после запуска команды, связь будет выглядеть заблокированной. Это + <para>При использовании <command>shell</command> или + <command>!</command> &man.ppp.8; запускает оболочку или + переданные параметры. Программа + <application>ppp</application> будет ждать окончания + выполнения команды, прежде чем продолжить. При любой + попытке воспользоваться связью PPP во время выполнения + команды связь будет выглядеть заблокированной. Это происходит из-за того, что &man.ppp.8; ждёт завершения - выполнения запущенной команды.</para> + команды.</para> - <para>Если вам необходимо выполнять подобные команды, используйте - команду <command>!bg</command>. В этом случае нужная команда будет + <para>Для выполнения подобных команд используйте вместо этого + <command>!bg</command>. В этом случае нужная команда будет выполняться в фоновом режиме, а &man.ppp.8; сможет продолжить обслуживание канала связи.</para> </answer> @@ -8842,8 +6083,8 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> </question> <answer> - <para>Если &man.ppp.8; начинает неожиданно звонить, вы - должны определить причину и задать фильтры dfilters для + <para>Если &man.ppp.8; начинает неожиданно звонить, + определите причину и настройте фильтры дозвона для предотвращения подобных звонков.</para> <para>Для выяснения причины такого поведения, используйте @@ -8851,47 +6092,46 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting> <programlisting>set log +tcp/ip</programlisting> - <para>Это включит протоколирование всего трафика через соединение. - В следующий раз, когда неожиданно будет установлено соединение, - вы установите причину по временным отметкам в файле - протокола.</para> + <para>Это включит протоколирование всего трафика через + соединение. В следующий раз, когда неожиданно будет + установлено соединение, в файл протокола будет следом + занесена причина с отметкой времени.</para> - <para>После этого вы можете запретить дозвонку при выясненных - условиях. Как правило, такие проблемы возникают из-за обращений - к DNS. Для предотвращения обращений к DNS и установления - соединения (что <emphasis>не</emphasis> запретит &man.ppp.8; - пропускать пакеты через уже - установленное соединение), используйте такую комбинацию:</para> + <para>Теперь отключите дозвон при данных условиях. Как + правило, такие проблемы возникают из-за обращений к DNS. + Для предотвращения обращений к DNS и установления + соединения (что <emphasis>не</emphasis> запретит + &man.ppp.8; пропускать пакеты через уже установленное + соединение), используйте такую комбинацию:</para> <programlisting>set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0</programlisting> - <para>Это может вам не подойти, так как закроет возможность дозвонки - по запросу — большинству программ нужно обратиться к DNS - до того, как начать работать.</para> - - <para>В случае DNS, вы должны попытаться определить, кто пытается - определить имя хоста. В большинстве случаев виновным оказывается - &man.sendmail.8;. Удостоверьтесь, что вы указали программе - <application>sendmail</application> - не осуществлять обращений к DNS в его конфигурационном файле. - Обратитесь к разделу об <link xlink:href="&url.books.handbook;/smtp-dialup.html"> - использовании электронной почты при коммутируемом соединении</link> в - Руководстве за подробным описанием создания конфигурационного файла и что - туда нужно поместить. Вам может понадобиться добавить в файл + <para>Это не всегда удобно, так как закрывает возможность + дозвона по запросу. Большинству программ нужно обратиться + к DNS до того, как начать работать.</para> + + <para>В случае DNS попытайтесь установить, что именно + пытается определить имя хоста. В большинстве случаев + виновным оказывается <application>Sendmail</application>. + Проверьте, чтобы в конфигурационном файле программы + <application>Sendmail</application> не было указано + обращаться к DNS. Обратитесь к разделу об <link + xlink:href="&url.books.handbook;/smtp-dialup.html">использовании + электронной почты при коммутируемом соединении</link> в + Руководстве &os; за подробным описанием. Вам может + понадобиться добавить в файл <filename>.mc</filename> строку:</para> <programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting> - <para>Это заставит <application>sendmail</application> ставить все - сообщения в очередь до тех пор, пока - не будет запущена её обработка (как правило, sendmail запускается с - параметрами <option>-bd -q30m</option>, указывающими, что - обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока - не будет выполнена команда <command>sendmail - -q</command> (может быть, из - файла <filename>ppp.linkup</filename>).</para> + <para>Это заставит <application>Sendmail</application> + добавлять все сообщения в очередь до тех пор, пока не + будет запущена её обработка, как правило, каждые 30 минут, + или пока не будет выполнена команда + <command>sendmail -q</command>, возможно, из файла + <filename>/etc/ppp/ppp.linkup</filename>).</para> </answer> </qandaentry> @@ -8901,16 +6141,16 @@ set dfilter 3 permit 0/0 0/0</programlisting> </question> <answer> - <para>В файле протокола появляются такие сообщения об ошибках:</para> + <para>В файле протокола появляются такие сообщения об + ошибках:</para> <programlisting>CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting> - <para>Это происходит, если &man.ppp.8; пытается установить компрессию - типа Predictor1, а противоположная сторона не хочет устанавливать - никакой компрессии. Эти сообщения безобидны, но если вы хотите - от них избавиться, вы можете запретить компрессию Predictor1 и - у себя тоже:</para> + <para>Это происходит, если &man.ppp.8; пытается установить + сжатие Predictor1, а противоположная сторона не хочет + устанавливать никакого сжатия. Эти сообщения безобидны, + но их можно заглушить отключением сжатия:</para> <programlisting>disable pred1</programlisting> </answer> @@ -8922,26 +6162,25 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting> </question> <answer> - <para>Для вывода протокола взаимодействия с модемом вам нужно - включить следующее:</para> + <para>Для записи полного протокола взаимодействия с модемом + включите следующее:</para> <programlisting>set log +connect</programlisting> - <para>Это заставит &man.ppp.8; протоколировать всё, вплоть до последней - прочтённой через <quote>expect</quote> строки.</para> + <para>Это заставит &man.ppp.8; протоколировать всё, вплоть + до последней прочтённой через <quote>expect</quote> + строки.</para> - <para>Если вы хотите видеть скорость соединения и используете - PAP или CHAP (и поэтому вам не нужно определять никаких сценариев - входа через <literal>set login</literal> после получения строки - CONNECT сценарием дозвонки dial), вы должны указать &man.ppp.8;, - что нужно ожидать полную строку CONNECT, вроде следующего:</para> + <para>Чтобы увидеть скорость соединения при использовании + PAP или CHAP, укажите &man.ppp.8; ожидать полную строку + CONNECT:</para> <programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \ \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting> - <para>Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем - символа перевода строки, заставляя &man.ppp.8; принять - полный ответ модема.</para> + <para>Здесь мы получаем строку CONNECT, ничего не посылаем, + а затем ожидаем символа перевода строки, заставляя + &man.ppp.8; читать целиком содержимое ответа CONNECT.</para> </answer> </qandaentry> @@ -8952,24 +6191,24 @@ CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting> </question> <answer> - <para>Программа <application>ppp</application> обрабатывает - каждую строку в ваших конфигурационных файлах, - так что он может проинтерпретировать строку вида - <literal>set phone "123 456 789"</literal> правильно и - обнаружить, что номер является на самом деле - <emphasis>единственным</emphasis> аргументом. Для того, чтобы - указать символ <literal>"</literal>, вы должны экранировать - его символом обратного слэша (<literal>\</literal>).</para> + <para>Программа <application>ppp</application> разбирает + каждую строку в конфигурационных файлах и поэтому может + правильно интерпретировать строки вида + <literal>set phone "123 456 789"</literal> и обнаруживать, + что на самом деле номер является единственным аргументом. + Для того, чтобы указать символ <literal>"</literal>, + заэкранируйте его символом обратного слэша + (<literal>\</literal>).</para> - <para>Когда интерпретатор chat обрабатывает каждую строку, он ещё - раз просматривает аргумент для того, чтобы найти какую-либо - специальную последовательность типа <literal>\P</literal> или - <literal>\T</literal> (обратитесь к Справочнику). В результате - этой двойной интерпретации вы должны всегда использовать - правильное число экранирующих символов.</para> + <para>Когда интерпретатор chat разбирает каждый параметр, он + ещё раз просматривает аргумент на предмет каких-либо + специальных последовательностей типа <literal>\P</literal> + или <literal>\T</literal>. Вследствие этой двойной + интерпретации не забывайте об использовании нужного + количества экранирующих символов.</para> - <para>Если вам нужно передать символ <literal>\</literal>, например, - вашему модему, вам необходимо указать что-то типа:</para> + <para>Чтобы передать сам символ <literal>\</literal>, + укажите что-то типа:</para> <programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting> @@ -8995,62 +6234,6 @@ ATDT1234567</programlisting> </qandaentry> <qandaentry> - <question xml:id="ppp-segfault-nocore"> - <para>&man.ppp.8; получает ошибку защиты - (<errorname>Segmentation fault</errorname>), но я не вижу файла - <filename>ppp.core</filename></para> - </question> - - <answer> - <para>Программа <application>ppp</application> (или любая другая - программа такого рода) никогда не - создаёт файлов дампа памяти. Так так &man.ppp.8; запускается с - эффективным uid, равным <literal>0</literal>, то операционная - система не будет записывать дамп памяти &man.ppp.8; на диск - перед его завершением. Однако если - &man.ppp.8; всё же прекратит работу из-за нарушения защиты, - или по другому сигналу, который вызывает создание дампа памяти, - <emphasis>и</emphasis> вы уверены, что используете самую - последнюю версию (смотрите - самое начало раздела), то вы должны установить исходный код - системы и выполнить следующее:</para> - - <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/ppp</userinput> -&prompt.root; <userinput>echo STRIP= >> /etc/make.conf</userinput> -&prompt.root; <userinput>echo CFLAGS+=-g >> /etc/make.conf</userinput> -&prompt.root; <userinput>make install clean</userinput></screen> - - <para>Теперь у вас есть отладочная версия &man.ppp.8;. Вам - нужно стать суперпользователем для запуска &man.ppp.8;, так - как соответствующие биты прав были убраны. Когда запустите - &man.ppp.8;, обратите особое внимание на то, какой каталог - у вас был текущим на этот момент.</para> - - <para>Итак, если &man.ppp.8; получит ошибку нарушения защиты, - он сбросит дамп памяти с именем <filename>ppp.core</filename>. - Затем вам нужно сделать следующее:</para> - - <screen>&prompt.user; <userinput>su</userinput> -&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput> -<prompt>(gdb)</prompt> <userinput>bt</userinput> -..... -<prompt>(gdb)</prompt> <userinput>f 0</userinput> -.... -<prompt>(gdb)</prompt> <userinput>i args</userinput> -.... -<prompt>(gdb)</prompt> <userinput>l</userinput> -.....</screen> - - <para>Вся эта информация должна быть предоставлена вместе с вашим - вопросом, чтобы проблему можно было продиагностировать.</para> - - <para>Если вы умеете обращаться с &man.gdb.1;, вы можете - попробовать найти причины образования дампа либо адреса и - значения относящихся к этому переменных.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="ppp-autodialprocess-noconnect"> <para>Процесс, вызвавший прозвонку в режиме <option>-auto</option>, никогда не получает затребованного соединения</para> @@ -9116,185 +6299,12 @@ ATDT1234567</programlisting> </qandaentry> <qandaentry> - <question xml:id="ppp-nat-games"> - <para>Почему большинство игр не работает с опцией - <option>-nat</option>?</para> - </question> - - <answer> - <para>Причиной, по которой игры и подобные программы не работают с - библиотекой &man.libalias.3; заключается в том, что внешняя - машина будет пытаться открыть соединение или посылать - (незапрошенные) UDP пакеты на машину внутренней сети. - Программное обеспечение, обеспечивающее опцию -nat, не - знает о том, что она должна пересылать эти пакеты машине во - внутренней сети.</para> - - <para>Чтобы это всё же заработало, удостоверьтесь, что единственной - запущенной программой является программное обеспечение, с которым - вы испытываете проблемы, затем запустите &man.tcpdump.1; на - интерфейсе &man.tun.4; маршрутизатора либо включите - протоколирование TCP/IP в &man.ppp.8; - (<literal>set log +tcp/ip</literal>) на маршрутизаторе.</para> - - <para>Когда вы запустите некорректно работающее программное - обеспечение, - вы должны увидеть пакеты, проходящие через маршрутизатор. Когда - что-то начнёт приходить извне, оно будет отброшено (в этом-то и - проблема). Заметьте номер порта получателя этих пакетов, затем - завершите работу вашего программного обеспечения. Выполните эту - процедуру несколько раз для того, чтобы убедиться, что номер порта - постоянен. Если это так, то следующая строчка в соответствующем - разделе <filename>/etc/ppp/ppp.conf</filename> заставит - программное обеспечение функционировать нормально:</para> - - <programlisting>nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable></programlisting> - - <para>Здесь <replaceable>proto</replaceable> - это - <literal>tcp</literal> либо <literal>udp</literal>, - <replaceable>internalmachine</replaceable> — - это машина, которой вы хотите перенаправлять пакеты, - и <replaceable>port</replaceable> - это номер порта получателя - пакетов.</para> - - <para>Несомненно, вы не сможете использовать программное - обеспечение на других машинах, не изменяя указанную выше - команду, а также запускать программное обеспечение на двух - машинах внутри сети одновременно — в конце концов, - внешний мир видит всю вашу сеть как единственную машину.</para> - - <para>Если номера портов непостоянны, есть ещё три варианта:</para> - - <orderedlist> - <listitem> - <para>Настройте поддержку этого в &man.libalias.3;. Примеры - <quote>особых случаев</quote> можно найти в - <filename>/usr/src/sys/netinet/libalias/alias_*.c</filename> - (<filename>alias_ftp.c</filename> — хорошее начало). - Обычно это подразумевает чтение определенных распознаваемых - исходящих пакетов, выявление команд для установления - внешней машиной обратной связи на внутреннюю машину на - конкретный (случайный) порт и настройку значения - <quote>route</quote> в таблице соответствий таким образом, - чтобы последующие пакеты проходили нормально.</para> - - <para>Это самое трудоёмкое решение, но оно наилучшее и позволит - программному обеспечению работать на нескольких машинах.</para> - </listitem> - - <listitem> - <para>Используйте прокси-сервер. Например, приложение может - поддерживать <literal>socks5</literal> или (как в случае - <command>cvsup</command>) может иметь режим - <quote>passive</quote>, обходящийся без запросов к - противоположной стороне на открытие обратного - соединения.</para> - </listitem> - - <listitem> - <para>Переназначьте всё на внутреннюю - машину с помощью команды <literal>nat addr</literal>. - Это решение в лоб.</para> - </listitem> - </orderedlist> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="useful-port-numbers"> - <para>Кто-нибудь ведёт список полезных номеров портов?</para> - </question> - - <answer> - <para>Пока нет, но ниже находится список, могущий таковым стать (если - к этому будет проявлен какой-либо интерес). В каждом примере - <replaceable>internal</replaceable> нужно заменить на IP-адрес - машины, участвующей в игре.</para> - - <itemizedlist> - <listitem> - <para><application>Asheron's Call</application></para> - - <para><literal>nat port udp - internal:65000 - 65000</literal></para> - - <para>Находясь в игре, вручную смените номер порта на - <literal>65000</literal>. Если - у вас есть несколько машин, на которых вы хотите играть, - назначьте каждой машине уникальный номер порта (то есть - <literal>65001</literal>, <literal>65002</literal> и так - далее), и добавьте по строчке <literal>nat - port</literal> для каждой машины.</para> - </listitem> - - <listitem> - <para><application>Half Life</application></para> - - <para><literal>nat port udp - internal:27005 - 27015</literal></para> - </listitem> - - <listitem> - <para><application>PCAnywhere 8.0</application></para> - - <para><literal>nat port udp - internal:5632 - 5632</literal></para> - - <para><literal>nat port tcp - internal:5631 - 5631</literal></para> - </listitem> - - <listitem> - <para><application>Quake</application></para> - - <para><literal>nat port udp - internal:6112 - 6112</literal></para> - </listitem> - - <listitem> - <para><application>Quake 2</application></para> - - <para><literal>nat port udp - internal:27901 - 27910</literal></para> - - <para><literal>nat port udp - internal:60021 - 60021</literal></para> - - <para><literal>nat port udp - internal:60040 - 60040</literal></para> - </listitem> - - <listitem> - <para><application>Red Alert</application></para> - - <para><literal>nat port udp - internal:8675 - 8675</literal></para> - - <para><literal>nat port udp - internal:5009 - 5009</literal></para> - </listitem> - </itemizedlist> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="fcs-errors"> <para>Что такое ошибки FCS?</para> </question> <answer> - <para>FCS является сокращением от <literal>F</literal>rame - <literal>C</literal>heck <literal>S</literal>equence + <para>FCS является сокращением от Frame Check Sequence (контроль последовательности кадров). Каждый кадр PPP имеет контрольную сумму для проверки того, что принятые данные совпадают с переданными. Если FCS принятого пакета некорректна, пакет @@ -9302,112 +6312,36 @@ ATDT1234567</programlisting> ошибок уровня HDLC можно вывести командой <literal>show hdlc</literal>.</para> - <para>Если у вас плохая линия (или драйвер коммуникационного адаптера - отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является - причиной для волнений, хотя это существенно замедляет протоколы - компрессии. Если у вас внешний модем, проверьте качество - экранирования соединительного кабеля — это может избавить от - проблемы.</para> - - <para>Если ваша связь замирает, как только вы соединились, и - наблюдается большое количество ошибок FCS, это может быть вызвано - не полной прозрачностью канала для 8-битовых данных. Проверьте, - чтобы модем не использовал программного управления потоком - (XON/XOFF). Если же оборудование <emphasis>должно</emphasis> - использовать программное управление потоком, то воспользуйтесь - командой <literal>set accmap 0x000a0000</literal> для указания + <para>Если линия плохого качества или драйвер + коммуникационного адаптера отбрасывает пакеты, будут + появляться случайные ошибки FCS. Это обычно не является + причиной для волнений, хотя это существенно замедляет + протоколы компрессии.</para> + + <para>Если связь замирает сразу при установлении соединения + и наблюдается большое количество ошибок FCS, убедитесь, + чтобы модем не использовал программное управление потоком + (XON/XOFF). Если же для соединения должно использоваться + программное управление потоком, то воспользуйтесь командой + <literal>set accmap 0x000a0000</literal> для указания &man.ppp.8; экранировать символы <literal>^Q</literal> и <literal>^S</literal>.</para> <para>Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса - <acronym>PPP</acronym>. - В этом случае Вам может понадобиться включить протоколирование - <literal>async</literal> для проверки того, не являются ли - поступаемые из линии данные на самом деле приглашениями login - или shell. Если вы получили приглашение shell с противоположной - стороны, возможно завершение &man.ppp.8; без обрыва связи - командой <command>close lcp</command> (последующая команда - <command>term</command> снова вернёт вас к приглашению - shell на удалённой машине).</para> - - <para>Если ничего в файле протокола не говорит о том, что связь - была прервана, вы должны спросить у администратора удалённой - машины (вашего провайдера), почему сеанс был закрыт.</para> - </answer> - </qandaentry> - - <qandaentry xml:id="PPPoEwithNAT"> - <question xml:id="macos-win98-pppoe-freeze"> - <para>Почему при использовании на маршрутизаторе PPPoE замирают - соединения в &macos; и &windows; 98?</para> - </question> - - <answer> - <para>Мы благодарим Майкла Возняка (Michael Wozniak) - <email>mwozniak@netcom.ca</email>, который сообщил следующую - информацию, и Дэна Флемминга (Dan Flemming) - <email>danflemming@mac.com</email> за решение проблемы в случае - Mac:</para> - - <para>Это происходит из-за эффекта, который можно назвать - <quote>чёрной дырой</quote> на маршрутизаторе. &macos; и - &windows; 98 (и, может быть, другие операционные системы - от µsoft;), посылают пакеты TCP с запрашиваемым размером - сегмента, который слишком велик для того, чтобы быть помещённым - в кадр PPPoE (для сети Ethernet размер MTU по умолчанию равен - <literal>1500</literal>) <emphasis>и</emphasis> с установленным - битом <quote>do not fragment</quote> (по умолчанию для TCP), а - маршрутизаторы Telco не посылает пакет ICMP <quote>must - fragment</quote> обратно на сайт WWW, который вы пытаетесь - открыть. (Либо маршрутизатор посылает пакеты ICMP правильно, а - межсетевой экран на стороне сервера WWW их сбрасывает.) Когда - Web-сервер посылает вам кадры, которые не помещаются в поток PPPoE, - то маршрутизаторы Telco их отбрасывают и странички не загружаются - (часть страниц/графики всё же видно, потому что они меньше, чем - MSS). Похоже, что такие настройки действуют по умолчанию на - большинстве конфигураций PPPoE Telco.</para> - - <para>Одним из способов устранения проблемы является использование - утилиты <application>regedit</application> на системах 95/98 для - того, чтобы добавить в реестр следующий параметр:</para> - - <programlisting>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU</programlisting> - - <para>Это должна быть строка со значением <literal>1436</literal>, - так как имеются сведения, что некоторые маршрутизаторы ADSL не - могут работать с пакетами размером, превышающим эту величину. - В &windows; 2000 этот параметр реестра переименован в - <literal>Tcpip\Parameters\Interfaces\ID - адаптера\MTU</literal> и имеет тип - <literal>DWORD</literal>.</para> - - <para>Обратитесь к документам из Microsoft Knowledge Base <link xlink:href="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp"> - Q158474 - Windows TCPIP Registry Entries</link> и <link xlink:href="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp"> - Q120642 - TCPIP & NBT Configuration Parameters for - &windowsnt;</link> для получения более полной информации по - изменению MTU в &windows; для работы с NAT-маршрутизатором.</para> - - <para>Другим вариантом с &windows; 2000 является установка в - регистре <literal>DWORD</literal>-параметра - <literal>Tcpip\Parameters\Interfaces\ID - адаптера\EnablePMTUBHDetect</literal> в - <literal>1</literal>, как это - отмечено в документе Microsoft 120642, указанном выше.</para> - - <para>К несчастью, в &macos; нет возможности изменить настройки - TCP/IP. Однако имеется множество коммерческого программного - обеспечения, позволяющего пользователям настраивать - параметры TCP/IP. Пользователям NAT в &macos; нужно поискать - у себя настройки MTU и заменить там значение <literal>1500</literal> - на <literal>1450</literal>.</para> - - <para>В &man.ppp.8; имеется команда <command>enable - tcpmssfixup</command>, которая автоматически выравнивает MSS - до подходящего значения. Эта возможность включена по умолчанию. - Если у вас возникли проблемы с более старой версией - &man.ppp.8;, то вас может заинтересовать порт - <package>net/tcpmssd</package>.</para> + <acronym>PPP</acronym>. В этом случае включите + протоколирование <literal>async</literal> для проверки + того, не являются ли поступаемые из линии данные на самом + деле приглашением login или shell. Если с противоположной + стороны находится приглашение shell, завершить &man.ppp.8; + без обрыва связи можно командой + <command>close lcp</command> и последующей командой + <command>term</command>, чтобы переподключиться к + приглашению shell на удалённой машине.</para> + + <para>Если ничего в файле протокола не говорит о причине + разрыва связи, спросите у администратора удалённой машины + или вашего провайдера, почему сеанс был закрыт.</para> </answer> </qandaentry> @@ -9417,12 +6351,11 @@ ATDT1234567</programlisting> </question> <answer> - <para>Если всё уже перепробовано, и ничего не получается, пошлите - нам максимальное количество информации, ваш конфигурационный - файл, способ запуска &man.ppp.8;, соответствующие части файла - протокола, и вывод команды <command>netstat -rn</command> (до - и после соединения) в &a.questions; или в телеконференцию <link xlink:href="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</link>, - и может быть, кто-нибудь укажет вам верное направление.</para> + <para>Если всё уже перепробовано, и ничего не получается, + пошлите подробности об ошибке, конфигурационные файлы, + способ запуска &man.ppp.8;, соответствующие части файла + протокола, и вывод команды <command>netstat -rn</command> + до и после соединения в &a.questions;.</para> </answer> </qandaentry> </qandaset> @@ -9432,59 +6365,81 @@ ATDT1234567</programlisting> <title>Коммуникационные адаптеры</title> <para>В этом разделе освещены вопросы о работе последовательных - адаптеров во &os;. Протоколы PPP и SLIP рассматриваются в разделе + адаптеров во &os;. Протокол PPP рассматривается в разделе <link linkend="networking">Работа в сети</link>.</para> <qandaset> <qandaentry> - <question xml:id="found-serial"> - <para>Как узнать, какие последовательные порты были обнаружены + <question xml:id="multiport-serial-support"> + <para>Какие многопортовые последовательные адаптеры поддерживаются во &os;?</para> </question> <answer> - <para>В процессе своей загрузки ядро &os; будет пытаться - найти последовательные порты, с поддержкой которых оно было - откомпилировано. Вы можете повнимательней присмотреться к - выдаваемым сообщениям либо выполнить такую команду после того, - как система запустилась и работает:</para> + <para>Список таких устройств находится в главе Руководства + <link xlink:href="&url.books.handbook;/serial.html">Последовательные + соединения</link>.</para> - <screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput></screen> + <para>Большинство многопортовых PCI адаптеров на базе 16550 и их + клоны поддерживаются без дополнительных усилий.</para> - <para>Вот пример вывода вышеуказанной команды:</para> + <para>Некоторые безымянные клоны таких адаптеров тоже работают + нормально, особенно те, которые заявляют о своей совместимости + с AST.</para> - <programlisting>sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 -sio0: type 16550A -sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 -sio1: type 16550A</programlisting> + <para>Прочтите страницы Справочника &man.uart.4; и &man.sio.4; для получения + подробной информации о конфигурировании таких адаптеров.</para> + </answer> + </qandaentry> - <para>Здесь присутствуют два последовательных порта. Первый - находится на IRQ 4, использует порт ввода/вывода - <literal>0x3f8</literal> и построен на микросхеме UART типа - 16550A. Второй использует тот же тип микросхемы, но находится - на IRQ 3 и использует адрес порта ввода/вывода - <literal>0x2f8</literal>. Внутренние модемы выглядят точно - также, как последовательные порты, за исключением того, - что модем к ним <quote>подключен</quote> всегда.</para> + <qandaentry> + <question xml:id="serial-console-prompt"> + <para>Как сделать, чтобы приглашение boot: выводилось на консоль на + последовательном порту?</para> + </question> - <para>В ядро <filename>GENERIC</filename> встроена поддержка двух - последовательных портов, с теми же IRQ и адресами портов - ввода/вывода, как указано в примере выше. Если эти настройки - не соответствуют вашим, или если вы добавили внутренние модемы, - или у вас больше последовательных портов, чем описано в ядре, - просто переконфигурируйте ядро. За дополнительной информацией - обратитесь к разделу <link linkend="make-kernel">о построении - ядра</link>.</para> + <answer> + <para>Подробная информация находится в <link xlink:href="&url.books.handbook;/serialconsole-setup.html">этом + разделе Руководства</link>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="found-modem"> - <para>Как узнать, какие внутренние модемы были обнаружены &os;?</para> + <question xml:id="found-serial"> + <para>Как узнать, обнаружила ли &os; последовательные порты + или внутренние модемы?</para> </question> <answer> - <para>Посмотрите ответ на предыдущий вопрос.</para> + <para>В процессе своей загрузки ядро &os; будет пытаться + найти последовательные порты, с поддержкой которых ядро + сконфигурировано. Внимательно просмотрите сообщения + загрузки либо выполните такую команду после того, + как система запустилась и работает:</para> + + <screen>&prompt.user; <userinput>dmesg | grep -E "^sio[0-9]"</userinput> +sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 +sio0: type 16550A +sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0 +sio1: type 16550A</screen> + + <para>Здесь присутствуют два последовательных порта. Первый + находится на IRQ4, порт ввода/вывода + <literal>0x3f8</literal>, и построен на микросхеме UART + типа 16550A. Второй использует тот же тип микросхемы, но + находится на IRQ3 и использует адрес порта ввода/вывода + <literal>0x2f8</literal>. Внутренние модемы выглядят + точно также, как последовательные порты, за исключением + того, что модем к ним подключен всегда.</para> + + <para>В ядро <filename>GENERIC</filename> встроена поддержка + двух последовательных портов, с теми же IRQ и адресами + портов ввода/вывода, как указано в примере выше. Если эти + настройки не соответствуют системе или имеется больше + внутренних модемов или последовательных портов, чем + описано в ядре, переконфигурируйте его, следуя инструкциям + в разделе <link linkend="make-kernel">о построении + ядра</link>.</para> </answer> </qandaentry> @@ -9496,33 +6451,26 @@ sio1: type 16550A</programlisting> <answer> <para>Третий последовательный порт, <filename>sio2</filename> - (посмотрите справку по &man.sio.4;), который в DOS называется - <filename>COM3</filename>), обозначается как + или <filename>COM3</filename>, обозначается как <filename>/dev/cuad2</filename> для устройств, выполняющих исходящие звонки, и <filename>/dev/ttyd2</filename> для - устройств, принимающих входящие звонки. Какая разница между этими - двумя классами устройств?</para> - - <para>Вы должны использовать - <filename>ttydX</filename> для - входящих соединений. При открытии - <filename>/dev/ttydX</filename> в - блокирующем режиме, процесс будет ожидать неактивности - соответствующего устройства - <filename>cuadX</filename>, а затем - появления сигнала о наличии несущей. При открытии устройства - <filename>cuadX</filename> он - проверяет, что последовательный порт не используется уже - устройством - <filename>ttydX</filename>. Если - порт доступен, он <quote>похищает</quote> его у устройства - <filename>ttydX</filename>. Также - устройство - <filename>cuadX</filename> не следит - за наличием несущей. С такой схемой работы и модемом, находящимся в - режиме автоответа, вы можете позволить пользователям входить в - систему и в то же время можете осуществлять исходящие звонки, а - система позаботится о возможных конфликтах.</para> + устройств, принимающих входящие звонки. Какая разница + между этими двумя классами устройств?</para> + + <para>При открытии <filename>/dev/ttydX</filename> в + блокирующем режиме процесс будет ожидать неактивности + соответствующего устройства <filename>cuadX</filename>, а + затем появления сигнала о наличии несущей. При открытии + устройства <filename>cuadX</filename> он проверяет, что + последовательный порт не занят устройством + <filename>ttydX</filename>. Если порт доступен, он + похищает его у устройства <filename>ttydX</filename>. + Также устройство <filename>cuadX</filename> не следит за + наличием несущей. С такой схемой работы и модемом + в режиме автоответа удалённые пользователи могут входить + в систему, а локальные пользователи через тот же модем + могут по прежнему осуществлять исходящие звонки, а система + позаботится о возможных конфликтах.</para> </answer> </qandaentry> @@ -9533,8 +6481,8 @@ sio1: type 16550A</programlisting> </question> <answer> - <para>Повторим ещё раз: информация о конфигурировании ядра - содержится в разделе, посвящённом этому вопросу. Для + <para>Информация о конфигурировании ядра содержится в + соответствующем разделе, посвящённом этому вопросу. Для многопортовых последовательных адаптеров добавьте в файл &man.device.hints.5; по строке &man.sio.4; на каждый порт. Но IRQ должен быть указан только у одного порта. Все порты @@ -9571,24 +6519,13 @@ hint.sio.7.irq="12"</programlisting> </qandaentry> <qandaentry> - <question xml:id="multiport-serial-share-irq"> - <para>Может ли &os; использовать несколько многопортовых - адаптеров с одинаковым IRQ?</para> - </question> - - <answer> - <para>Пока нет. Вы должны назначить уникальный IRQ для каждого - адаптера.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="default-serial-params"> <para>Можно ли настроить для порта режим работы по умолчанию?</para> </question> <answer> - <para>Смотрите раздел Руководства &os;, посвящённый <link xlink:href="&url.books.handbook;/serial.html#SERIAL-HW-CONFIG">последовательным + <para>Смотрите раздел Руководства &os;, посвящённый <link + xlink:href="&url.books.handbook;/serial.html#serial-hw-config">последовательным соединениям</link>.</para> </answer> </qandaentry> @@ -9599,7 +6536,9 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Ознакомьтесь с разделом Руководства &os;, посвящённого <link xlink:href="&url.books.handbook;/dialup.html">входящим + <para>Ознакомьтесь с разделом Руководства &os;, посвящённым + <link + xlink:href="&url.books.handbook;/dialup.html">входящим соединениям</link>.</para> </answer> </qandaentry> @@ -9610,7 +6549,8 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Информацию по этому вопросы можно найти в разделе <link xlink:href="&url.books.handbook;/term.html">Терминалы</link> + <para>Информация по этому вопросу находится в разделе <link + xlink:href="&url.books.handbook;/term.html">Терминалы</link> Руководства &os;.</para> </answer> </qandaentry> @@ -9622,152 +6562,24 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Скорее всего, в вашей системе программы - &man.tip.1; и &man.cu.1; могут получить доступ к каталогу + <para>Встроенные утилиты &man.tip.1; и &man.cu.1; могут + получить доступ к каталогу <filename>/var/spool/lock</filename> только из-под пользователя - <systemitem class="username">uucp</systemitem> и членов группы - <systemitem class="groupname">dialer</systemitem>. Вы можете использовать группу - <systemitem class="groupname">dialer</systemitem> для управления доступом к вашему - модему или удалённым системам. Достаточно добавить пользователя - в группу <systemitem class="groupname">dialer</systemitem>.</para> + <systemitem class="username">uucp</systemitem> и членов + группы <systemitem class="groupname">dialer</systemitem>. + Используйте группу <systemitem + class="groupname">dialer</systemitem> для управления + доступом к модему или удалённым системам посредством + добавления в неё пользовательских учётных записей.</para> - <para>Вы можете разрешить всем пользователям вашей системы запускать - &man.tip.1; и &man.cu.1;, выполнив команды:</para> + <para>Либо же можно разрешить всем запускать + &man.tip.1; и &man.cu.1;:</para> <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput> &prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen> </answer> </qandaentry> - - <qandaentry> - <question xml:id="hayes-unsupported"> - <para>Мой модем Hayes не поддерживается — что можно сделать?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#HAYES-UNSUPPORTED">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="direct-at"> - <para>Как я должен ввести эти AT-команды?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#DIRECT-AT">этот ответ</link> - в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="gt-failure"> - <para>Почему не срабатывает знак <literal>@</literal> для - описания характеристики <literal>pn</literal>?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#GT-FAILURE">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="dial-command-line"> - <para>Как набрать телефонный номер из командной строки?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#DIAL-COMMAND-LINE">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="set-bps"> - <para>Нужно ли при этом каждый раз задавать скорость работы с - портом?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#SET-BPS">этот ответ</link> - в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="terminal-server"> - <para>Мне нужно иметь доступ к нескольких хостам через терминальный - сервер.</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#TERMINAL-SERVER">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="tip-multiline"> - <para>Может ли tip использовать несколько телефонов для одного - сайта?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#TIP-MULTILINE">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="multi-controlp"> - <para>Почему нужно нажимать <keycombo action="simul"><keycap>Ctrl</keycap><keycap>P</keycap></keycombo> - дважды для посылки одного этого символа <keycombo action="simul"><keycap>Ctrl</keycap> - <keycap>P</keycap></keycombo>?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#MULTI-CONTROLP">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="uppercase"> - <para>Неожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#UPPERCASE">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="tip-filetransfer"> - <para>Как можно передавать файлы с помощью программы - <command>tip</command>?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#TIP-FILETRANSFER">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="zmodem-tip"> - <para>Как использовать zmodem вместе с - <command>tip</command>?</para> - </question> - - <answer> - <para>Смотрите <link xlink:href="&url.books.handbook;/dialout.html#ZMODEM-TIP">этот - ответ</link> в Руководстве &os;.</para> - </answer> - </qandaentry> </qandaset> </chapter> @@ -9777,28 +6589,23 @@ hint.sio.7.irq="12"</programlisting> <qandaset> <qandaentry> <question xml:id="more-swap"> - <para>Почему &os; использует гораздо больше места в разделе - подкачки, чем &linux;?</para> + <para>Почему &os; использует много места в разделе подкачки + даже при большом объёме свободной памяти?</para> </question> <answer> - <para>Это только кажется, что для &os; требуется больше места - на разделе подкачки, чем для &linux;. На самом деле это не - так. Главное отличие &os; от &linux; в этом плане заключается - в том, что &os; активно перемещает неиспользуемые страницы + <para>&os; активно перемещает неиспользуемые страницы памяти, к которым не было обращений, в раздел подкачки, чтобы увеличить объём доступной физической памяти для - активного использования. &linux; же перемещает страницы - памяти в раздел подкачки только в крайнем случае. Получаемое - во &os; увеличение нагрузки на раздел подкачки компенсируется - более эффективным использованием оперативной памяти.</para> + активного использования. Такое активное использование + раздела подкачки компенсируется использованием дополнительной + свободной оперативной памяти для кеширования.</para> - <para>Заметьте, что, хотя &os; предпочитает использовать раздел - подкачки, она не может сбросить все неактивные страницы в - своп при полностью неактивной системе. Так что вряд ли может - возникнуть ситуация, когда, проснувшись рано утром, вы - обнаружите, что вся ваша система находится в разделе подкачки, - хотя она простаивала всю ночь.</para> + <para>Заметьте, что хотя &os; предпочитает использовать + раздел подкачки, страницы не перемещаются произвольно + при полностью неактивной системе. По этой причине + система не будет находиться целиком в разделе подкачки + после ночного простаивания.</para> </answer> </qandaentry> @@ -9812,7 +6619,7 @@ hint.sio.7.irq="12"</programlisting> <answer> <para>Просто дело в том, что под свободной памятью подразумевается никак не используемая память. Вся память, - которая вашей программе явно не выделялась, используется + которая программам явно не выделялась, используется ядром &os; для дискового кэша. Значения, показываемые утилитой &man.top.1;, помеченные как <literal>Inact</literal>, <literal>Cache</literal> и <literal>Buf</literal> - это @@ -9837,10 +6644,9 @@ hint.sio.7.irq="12"</programlisting> <para>Символические ссылки не имеют атрибутов доступа, и по умолчанию утилита &man.chmod.1; следует по символической ссылке, чтобы по возможности изменить права доступа на - исходный файл. Поэтому, если - у вас есть файл, скажем, с именем <filename>foo</filename> и - символическая ссылка <filename>bar</filename> на этот файл, - то эта команда всегда будет выполняться успешно.</para> + исходный файл. Для файла <filename>foo</filename> с + символической ссылкой <filename>bar</filename> на этот файл + эта команда всегда будет выполняться успешно.</para> <screen>&prompt.user; <userinput>chmod g-w bar</userinput></screen> @@ -9853,23 +6659,23 @@ hint.sio.7.irq="12"</programlisting> &man.symlink.7;.</para> <warning> - <para>Опция <option>-R</option> выполняет команду &man.chmod.1; - <emphasis>рекурсивно</emphasis>. Будьте осторожны, задавая - каталоги или символические ссылки на каталоги в параметрах - &man.chmod.1;. Если вы хотите изменить права на каталог, - на который указывает символическая ссылка, используйте - &man.chmod.1; без опций и следуйте символической ссылке - с помощью лидирующего слэша (<filename>/</filename>). Например, если + <para>Опция <option>-R</option> выполняет &man.chmod.1; + <emphasis>рекурсивно</emphasis>. Будьте внимательны, + задавая каталоги или символические ссылки на каталоги + в параметрах &man.chmod.1;. Чтобы изменить права на + каталог, на который указывает символическая ссылка, + используйте &man.chmod.1; без опций и следуйте + символической ссылке с помощью лидирующего слэша + (<filename>/</filename>). Например, если <filename>foo</filename> является символической ссылкой - на каталог <filename>bar</filename>, а - вы хотите изменить права на <filename>foo</filename> (на - самом деле <filename>bar</filename>), - вы должны выполнить команду типа следующей:</para> + на каталог <filename>bar</filename>, то чтобы изменить + права на <filename>foo</filename> (на самом деле на + <filename>bar</filename>), выполните такую команду:</para> <screen>&prompt.user; <userinput>chmod 555 foo/</userinput></screen> - <para>Если задан лидирующий слэш, то &man.chmod.1; будет - следовать символической ссылке, <filename>foo</filename>, + <para>Если задан ведущий слэш, то &man.chmod.1; будет + следовать символической ссылке <filename>foo</filename>, меняя права на каталог <filename>bar</filename>.</para> </warning> </answer> @@ -9881,17 +6687,19 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Да, вы можете использовать программу эмуляции DOS <package>emulators/doscmd</package>, включённую в + <para>Да. Программа эмуляции DOS + <package>emulators/doscmd</package> включена в Коллекцию Портов &os;.</para> - <para>Если <application>doscmd</application> вас не удовлетворит, - то дополнительная утилита <package>emulators/pcemu</package> эмулирует 8088 и набор + <para>Если <application>doscmd</application> не достаточно, + <package>emulators/pcemu</package> эмулирует 8088 и набор сервисов BIOS, достаточный для запуска многих приложений - текстового режима DOS. Ей требуется X Window System.</para> + текстового режима DOS. Требуется X Window System.</para> - <para>Также можно попробовать <package>emulators/dosbox</package> из Коллекции Портов - &os;. Программа в основном предназначена для эмуляции старых - игр, написанных под DOS, для хранения файлов которых используется + <para>В Коллекции Портов &os; также имеется + <package>emulators/dosbox</package>. Программа в основном + предназначена для эмуляции старых игр, написанных под DOS, + для хранения файлов которых используется локальная файловая система.</para> </answer> </qandaentry> @@ -9903,8 +6711,9 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Ознакомьтесь с <link xlink:href="&url.books.fdp-primer;/translations.html"> - FAQ по Переводам</link> из &os; Documentation Project + <para>Ознакомьтесь с <link + xlink:href="&url.books.fdp-primer;/translations.html"><acronym>FAQ</acronym> + по Переводам</link> из &os; Documentation Project Primer.</para> </answer> </qandaentry> @@ -9918,68 +6727,49 @@ hint.sio.7.irq="12"</programlisting> <answer> <para>В почтовой системе <systemitem class="fqdomainname">FreeBSD.org</systemitem> в <application>Postfix</application> применяются некоторые - более строгие проверки входящей почты, и отвергаются сообщения, - которые сформированы неправильно либо потенциально являются спамом. - Ваша почта может не приниматься по одной из следующих - причин:</para> + проверки входящей почты, и отвергаются сообщения, + которые были неправильно сформированы при пересылке либо + как-то иначе похожи на спам. + Некоторые из требований:</para> <itemizedlist> <listitem> - <para>Электронная почта была послана с домена или блока - IP-адресов, которые известны нам как спамеры.</para> - - <para>Почтовые серверы &os; отвергают электронную почту от - известных источников спама. Если вы пользуетесь услугами - компании или домена, рассылающего или пересылающего спам, - пожалуйста, переключитесь на другого поставщика услуг, который - этого не делает.</para> + <para>IP-адрес клиента SMTP должен иметь обратное + преобразование в символическое имя.</para> </listitem> <listitem> - <para>Тело сообщения электронной почты содержит только - HTML.</para> - - <para>Почта должна посылать только как обычный текст. - Пожалуйста, настройте ваш почтовый агент на отправку только - текста.</para> + <para>Полное имя хоста, указанное на этапе EHLO/HELO + в процессе обмена сообщениями SMTP, должно разрешаться + в IP-адрес клиента.</para> </listitem> + </itemizedlist> - <listitem> - <para>Почтовая программа <systemitem class="fqdomainname">FreeBSD.org</systemitem> - не может преобразовать - адрес IP подключающегося хоста в символическое имя.</para> - - <para>Работа обратного DNS является стандартным требованием для - принятия почты от хоста. Настройте обратный DNS для IP-адреса - вашего почтового сервера. Многие способы домашнего подключения - (DSL, кабель, коммутируемое соединение и тому подобное) не - предоставляют такой возможности. В таком случае пересылайте - свою электронную почту через почтовый сервер вашего поставщика - услуг.</para> - </listitem> + <para>Дополнительные советы по доставке письма:</para> + <itemizedlist> <listitem> - <para>Имя хоста, указанное на этапе EHLO/HELO процесса обмена - сообщениями SMTP не может быть преобразовано в IP-адрес.</para> - - <para>На этом этапе диалога SMTP, перед принятием почты, - необходим полное и преобразуемое имя хоста. Если у вас нет - имени хоста, который зарегистрирован в DNS, то для пересылки - своей почты вы должны использовать почтовый сервер вашего - поставщика услуг.</para> + <para>Письмо должно быть отправлено в текстовом формате. + Сообщение в почтовый список рассылки, как правило, не + должно иметь размер больше 200 Кбайт.</para> </listitem> <listitem> - <para>Ваше сообщение имеет идентификатор, оканчивающийся - строчкой <quote>localhost</quote>.</para> - - <para>Некоторые почтовые программы генерируют неправильные - идентификаторы сообщений, которые не могут быть приняты. Вам - нужно заставить почтовую программу пользователя генерировать - правильный идентификатор сообщения либо настроить ваш агент - передачи почты на замену этих идентификаторов.</para> + <para>Избегайте избыточного кросспостинга. Выберите + <emphasis>один</emphasis> список рассылки, который + кажется наиболее подходящим.</para> </listitem> </itemizedlist> + + <para>Если у вас всё ещё остались трудности при работе + с почтовой инфраструктурой + <systemitem class="fqdomainname">FreeBSD.org</systemitem>, + отправьте сообщение с подробным описанием на адрес + <email>postmaster@freebsd.org</email>. Укажите в нём + временной интервал для проверки логов — + и обратите внимание, что мы держим журнал почтовых логов + всего за неделю. + (Обязательно укажите часовой пояс или разницу в UTC.)</para> </answer> </qandaentry> @@ -10008,33 +6798,6 @@ hint.sio.7.irq="12"</programlisting> организация. <emphasis>M-Net</emphasis> предоставляет также услуги электронной доски объявлений (BBS) и интерактивного чата.</para> - - <para><link xlink:href="http://www.grex.org/">Grex</link> представляет - собой сайт, очень похожий на <emphasis>M-Net</emphasis>, - включая то же самое - программное обеспечение для электронной доски объявлений (BBS) и - интерактивного чата. Однако платформой является &sun; 4M под - управлением &sunos;.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="sup-define"> - <para>Что такое <command>sup</command> и как это можно - использовать?</para> - </question> - - <answer> - <para>Сокращение <link xlink:href="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</link> - означает Software Update Protocol, который был разработан в - CMU для синхронизации исходных текстов. Он использовался для - синхронизации исходных текстов на удалённых сайтах с основным - сервером разработки Проекта.</para> - - <para>Протокол SUP использует пропускную способность канала - неэффективно, и был отвергнут. В настоящее время рекомендуемым - методом для синхронизации исходных текстов является протокол <link xlink:href="&url.books.handbook;/synching.html#CVSUP"> - CVSup</link>.</para> </answer> </qandaentry> @@ -10049,8 +6812,9 @@ hint.sio.7.irq="12"</programlisting> называйте его <quote>beastie</quote>. Заметьте, что <quote>beastie</quote> произносится как <quote>BSD</quote>.</para> - <para>Больше о даемоне BSD вы можете узнать из его <link xlink:href="http://www.mckusick.com/beastie/index.html">домашней - страницы</link>.</para> + <para>Больше о даемоне BSD можно узнать из его <link + xlink:href="http://www.mckusick.com/beastie/index.html">домашней + страницы</link>.</para> </answer> </qandaentry> @@ -10060,17 +6824,20 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Вполне. Права на даемона BSD имеет Marshall - Kirk McKusick. Для выяснения подробностей относительно правил - его использования вы можете обратиться к странице автора <link xlink:href="http://www.mckusick.com/beastie/mainpage/copyright.html"> - Statement on the Use of the BSD Daemon Figure</link>.</para> + <para>Вполне. Права на даемона BSD имеет Marshall Kirk + McKusick. Для выяснения подробностей относительно правил + его использования обратитесь к странице автора <link + xlink:href="http://www.mckusick.com/beastie/mainpage/copyright.html">Statement + on the Use of the BSD Daemon Figure</link>.</para> - <para>В общем, вы можете свободно использовать изображение в + <para>В общем, использовать изображение можно в высокохудожественном стиле и в личных целях, если даются - соответствующие отсылки. Если вы хотите использовать его в - коммерческих целях, вы должны обратиться к &a.mckusick.email;. - Дополнительная информация находится на <link xlink:href="http://www.mckusick.com/beastie/index.html">домашней странице - Даемона BSD</link>.</para> + соответствующие отсылки. Перед использованием знака в + коммерческих целях обратитесь за разрешением к + &a.mckusick.email;. Дополнительная информация находится + на <link + xlink:href="http://www.mckusick.com/beastie/index.html">домашней + странице Даемона BSD</link>.</para> </answer> </qandaentry> @@ -10094,8 +6861,9 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>Пожалуйста, обращайтесь к <link xlink:href="&url.books.handbook;/freebsd-glossary.html"> - Глоссарию &os;</link>.</para> + <para>Пожалуйста, обращайтесь к <link + xlink:href="&url.books.handbook;/freebsd-glossary.html">Глоссарию + &os;</link>.</para> </answer> </qandaentry> @@ -10198,12 +6966,13 @@ hint.sio.7.irq="12"</programlisting> большинство из них работают сейчас в Apple над их новым GUI <quote>чеши и нюхай</quote>. Это старый добрый бизнес!</para> - <para>Серьёзно, и &os;, и &linux; используют инструкцию + <para>Если серьёзно, то &os; использует инструкцию <acronym>HLT</acronym> (halt), когда система простаивает, что - уменьшает потребление энергии и в свою очередь, выделение тепла. - Вдобавок, если у вас настроен APM (комплексное управление - энергопотреблением), то &os; может переводить процессор в режим - пониженного энергопотребления.</para> + уменьшает потребление энергии и, в свою очередь, выделение тепла. + Вдобавок, если у вас настроен + <acronym>ACPI</acronym> (усовершенствованный интерфейс + управления конфигурацией и питанием), то &os; может переводить + процессор в режим пониженного энергопотребления.</para> </answer> </qandaentry> @@ -10271,7 +7040,7 @@ hint.sio.7.irq="12"</programlisting> <para>Пять сообщат о том, что не проходит компиляция системы;</para> <para>Тридцать один человек ответит, что у них всё работает и - наверное, те выполняли cvsup в неподходящее время;</para> + наверное, те обновились в неподходящее время;</para> <para>Один пошлёт патч для новой лампочки в -hackers;</para> @@ -10419,20 +7188,13 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>В настоящее время существует только одна книга по внутреннему - устройству ОС, посвящённая &os;, а именно <quote>The Design and - Implementation of the &os; Operating System</quote> Маршалла - Кёрка МакКузика (Marshall Kirk McKusick) и Джорджа В. Невилле-Нейла - (George V. Neville-Neil), ISBN 0-201-70245-2. В ней - рассматривается &os; версии 5.<replaceable>X</replaceable>.</para> - - <para>Кроме того, большинство общих знаний о &unix; непосредственно - применимо к &os;.</para> - <para>Список относящихся к делу книг можно найти в разделе Руководства <link xlink:href="&url.books.handbook;/bibliography-osinternals.html"> Библиография по внутреннему устройству операционной системы</link>.</para> + + <para>Кроме того, большинство общих знаний о &unix; непосредственно + применимо к &os;.</para> </answer> </qandaentry> @@ -10454,11 +7216,12 @@ hint.sio.7.irq="12"</programlisting> </question> <answer> - <para>В <link xlink:href="http://www.FreeBSD.org/cgi/cvsweb.cgi">Хранилище - CVS</link> сейчас находятся четыре активно/полуактивно - развивающихся ветки &os;. (Более ранние ветки изменяются - очень редко, именно поэтому в разработке только четыре - активных ветки):</para> + <para>В <link + xlink:href="http://svnweb.FreeBSD.org/base/">Хранилище + Subversion</link> сейчас находятся &rel.numbranch; + активно/полуактивно развивающихся ветки &os;. (Более + ранние ветки изменяются очень редко, именно поэтому в + разработке только &rel.numbranch; активные ветки):</para> <itemizedlist> <listitem> @@ -10482,11 +7245,9 @@ hint.sio.7.irq="12"</programlisting> </listitem> </itemizedlist> - <para><literal>HEAD</literal> - это не реальный тэг ветки, - в отличие от остальных; это просто символьная константа - для обозначения - <quote><emphasis>текущего, не ветвящегося, находящегося в - разработке дерева</emphasis></quote>, то есть + <para><literal>HEAD</literal> - это не настоящий тэг ветки. + Это символьная константа для обозначения текущего, + не ветвящегося, находящегося в разработке дерева, то есть <emphasis>-CURRENT</emphasis>.</para> <para>На данный момент <emphasis>-CURRENT</emphasis> является @@ -10500,68 +7261,6 @@ hint.sio.7.irq="12"</programlisting> </qandaentry> <qandaentry> - <question xml:id="custrel"> - <para>Как самому сделать релиз?</para> - </question> - - <answer> - <para>Пожалуйста, обратитесь к статье о <link xlink:href="&url.articles.releng;/article.html">процессе выпуска - релизов</link>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="makeworld-clobbers"> - <para>По команде <command>make world</command> - были переустановлены все программы.</para> - </question> - - <answer> - <para>Да, так и должно быть; как говорит название этой команды, - <command>make world</command> выполняет - построение всех системных - файлов с нуля, так что в итоге можете быть уверены, что получите - чистую рабочую систему (вот почему это занимает столько - времени).</para> - - <para>Если в момент запуска команд <command>make - world</command> или <command>make - install</command> определена переменная - окружения - <envar>DESTDIR</envar>, то вновь создаваемые файлы будут - помещены в дерево каталогов. идентичное существующему, с корнем, - располагающимся в <literal>${DESTDIR}</literal>. Однако некоторые - случайные комбинации модификаций совместно используемых библиотек - и версий компилируемых программ при исполнении команды - <command>make world</command>, могут - этому помешать.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="cvsup-round-robin"> - <para>Почему <systemitem class="fqdomainname">cvsup.FreeBSD.org</systemitem> не - является одной DNS-записью - для нескольких машин для распределения нагрузки между - несколькими <application>CVSup</application>-серверами?</para> - </question> - - <answer> - <para>Хотя зеркала <application>CVSup</application> обновляются - с основного <application>CVSup</application>-сервера каждый - час, это обновление может происходить в любой момент в течение - часа. Это значит, что некоторые серверы будут иметь более новый - код, чем остальные, хотя разница между версиями кода не превышает - часа. Если бы для серверов <systemitem class="fqdomainname">cvsup.FreeBSD.org</systemitem> использовалась одна - DNS-запись, то простое перенаправление пользователей на случайно - выбранный сервер <application>CVSup</application>, при условии, - что <application>CVSup</application> будет запускаться - два раза подряд, может привести к сгрузке кода, более старого, чем - тот, что присутствует в системе.</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="ctm"> <para>Можно ли работать с <emphasis>-CURRENT</emphasis> при ограниченном доступе в Internet?</para> @@ -10569,29 +7268,12 @@ hint.sio.7.irq="12"</programlisting> <answer> <para>Да, это можно делать <emphasis>без</emphasis> скачивания - полного дерева исходных текстов с помощью <link xlink:href="&url.books.handbook;/synching.html#CTM">системы + полного дерева исходных текстов с помощью <link xlink:href="&url.books.handbook;/synching.html#ctx">системы CTM</link>.</para> </answer> </qandaentry> <qandaentry> - <question xml:id="split-1392k"> - <para>Как вы разделяете дистрибутив на файлы по 1392 Кбайт?</para> - </question> - - <answer> - <para>Команда &man.split.1; в современных BSD-системах имеет опцию - <option>-b</option>, позволяющую разрезать файлы на части с точностью до - байта.</para> - - <para>Вот пример из файла - <filename>/usr/src/release/Makefile</filename>.</para> - - <programlisting>ZIPNSPLIT= gzip --no-name -9 -c | split -b 1392k -</programlisting> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="submitting-kernel-extensions"> <para>Я написал некоторое добавление к ядру, кому его послать?</para> </question> @@ -10605,150 +7287,6 @@ hint.sio.7.irq="12"</programlisting> </qandaentry> <qandaentry> - <question xml:id="pnp-initialize"> - <para>Как распознаются и инициализируются адаптеры ISA - Plug N Play?</para> - </question> - - <answer> - <para>От: Фрэнка Дурды IV (Frank Durda IV) - <email>uhclem@nemesis.lonestar.org</email></para> - - <para>Если рассматривать на самом низком уровне, то существует - несколько портов ввода/вывода, в которые должны выводить - информацию все адаптеры PnP, когда компьютер пытается - выполнить запрос о наличии установленных адаптеров. Так что, - когда запускается процедура определения адаптеров PnP, она - выполняет запрос о наличии каких-либо адаптеров PnP, а все - такие адаптеры выдают свой номер модели при чтении того же - порта ввода/вывода, поэтому процедура определения получит - ответ на свой запрос, состоящий из логически наложенных - номеров моделей, интерпретируемый как <quote>да</quote>. - В этом ответе по крайней мере один бит будет установлен в - единицу. Затем код определения адаптеров может - <quote>выключать</quote> адаптеры с ID (назначаемыми - µsoft;/&intel;), большими, чем <literal>X</literal>. - Потом следует попытка определить, остались ли ещё адаптеры, - отвечающие на запрос. Если ответ <literal>0</literal>, то - адаптеров с ID, большими чем <literal>X</literal>, нет. - После этого делается попытка определить наличие адаптеров с - номерами, меньшими чем <literal>X</literal>. В заключение - происходит запрос на выключение адаптерам, большим чем - <literal>X - (limit / 4)</literal>. - Запрос повторяется. Применив этот метод полудвоичного поиска - границ расположения ID достаточное количество раз, код - идентификации найдёт все адаптеры PnP, установленные в данной - машине за число итераций, гораздо меньшее, чем может занять - перебор 2<superscript>64</superscript> возможных вариантов - ID.</para> - - <para>ID представляет собой два 32-разрядные числа (отсюда число - 2<superscript>64</superscript>) + 8 бит контрольной суммы. - Первые 32 бита являются идентификатором производителя. - Они никогда не сообщаются, однако часто бывает, что различные - типы адаптеров от одного и того же производителя имеют - различные 32-битные значения идентификатора производителя. - Необходимость в 32 разрядах только для задания - производителя адаптера выглядит несколько излишним.</para> - - <para>Оставшиеся 32 бита являются серийным номером или - чем-либо, делающим этот адаптер уникальным. Производитель - не должен выпускать других адаптеров, имеющих то же самое - значение этих битов, если, конечно, у них не различаются при - этом старшие биты идентификатора производителя. Так что - вы можете иметь несколько адаптеров одинакового типа; при - этом, 64-разрядные номера будут разными.</para> - - <para>Группы по 32 бита не могут быть нулевыми. Это - позволяет при логическом объединении OR их номеров получать - ненулевое значение во время начального поиска адаптеров.</para> - - <para>Как только система определила ID всех адаптеров, она - активизирует каждый адаптер, по одному за раз (через те же - порты ввода/вывода), и определяет, какие ресурсы требуются - данному адаптеру, какие возможные прерывания доступны и т.д. - Сканирование и сбор информации происходит по всем адаптерам.</para> - - <para>Эта информация соотносится с содержащейся в файлах ECU - на диске или в MLB BIOS. Поддержка PnP из ECU и BIOS для - аппаратуры на MLB обычно имеет синтетический характер, и - периферия не выполняет полностью процедуру настоящего PnP. - Однако, используя BIOS и информацию из ECU, процедура - инициализации может обнаружить устройства PnP, которые не - могут быть найдены другим способом.</para> - - <para>Затем устройства PnP опрашиваются ещё раз для назначения - им портов ввода/вывода, DMA, IRQ и адресов отображаемой памяти. - Теперь устройства должны иметь именно такие настройки и они - должны оставаться такими до следующей перезагрузки, хотя нигде - не сказано, что вы не можете их менять, когда захотите.</para> - - <para>Здесь сделано много упрощений, однако общую идею вы должны - уловить.</para> - - <para>µsoft; использовала для PnP некоторые порты статуса - первого принтера, по их логике, не существует адаптеров, - использующих эти адреса для ввода/вывода. Я обнаружил один - такой адаптер принтера от IBM, который декодирует запись в - порт статуса в момент начального опроса устройств PnP, на - что µsoft; ответила <quote>хулиган</quote>. Так что они - выполняют запись в порт статуса принтера для установки адресов, - вдобавок используют этот адрес + <literal>0x800</literal>, и - ещё один порт ввода/вывода используют для чтения, который - может располагаться где угодно в диапазоне между - <literal>0x200</literal> и <literal>0x3ff</literal>.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="major-numbers"> - <para>Мне нужно старшее число для написанного мною драйвера - устройства.</para> - </question> - - <answer> - <para>В версиях &os;, вышедших после февраля 2003 года, есть - механизм динамического и автоматического выделения старших - номеров для драйверов устройств во время выполнения (смотрите - &man.devfs.5;), поэтому в этом нет необходимости.</para> - </answer> - </qandaentry> - - <qandaentry> - <question xml:id="alternate-directory-layout"> - <para>Альтернативный метод размещения каталогов</para> - </question> - - <answer> - <para>В ответ на вопрос о других методах размещения каталогов - могу сказать, что используемая в настоящее схема не претерпела - изменений с того момента, как я реализовал её в 1983 году. - Эти соглашения были разработаны для оригинальной файловой - системы FFS, и я никогда их не пересматривал. Эта схема хорошо - работает, позволяя избежать переполнения групп дорожек. Как - некоторые из вас заметили, она работает плохо при поиске. - Большинство файловых систем создаются из архивов, которые были - созданы с глубиной первого поиска (aka ftw). Это приводит к - тому, что их каталоги размещаются на нескольких группах дорожек, - создавая наихудший случай для последующего поиска глубиной один. - Если бы было известно общее количество каталогов, которые должны - быть созданы, выходом было бы создание каталогов в количестве - <literal>(total / fs_ncg)</literal> на каждую группу - дорожек. Очевидно, что пришлось бы придумать некоторую эвристику - для определения этого числа. Даже при использовании небольшого - фиксированного количества, скажем 10, ситуация улучшилась бы на - порядок. Чтобы различать операции восстановления от обычных - операций (для которых текущий алгоритм, вероятно, является - более разумным), вы могли бы использовать объединение в кластеры - объёмом до 10, если они помещаются в 10-секундном окне. - Как бы то ни было, я думаю, что это большое поле для - экспериментов.</para> - - <para>&a.mckusick.email;, сентябрь 1998 года</para> - </answer> - </qandaentry> - - <qandaentry> <question xml:id="kernel-panic-troubleshooting"> <para>Что делать при аварийном останове системы?</para> </question> @@ -10770,18 +7308,16 @@ interrupt mask = trap number = 12 panic: page fault</programlisting> - <para>Если вы видите такое сообщение, просто его воспроизвести - и послать нам не достаточно. Здесь важно значение указателя - инструкций; к сожалению, его значение зависит - от конфигурации ядра. Другими словами, его значение меняется - в зависимости от конкретного ядра, которое вы используете. - Если вы используете ядро <filename>GENERIC</filename> одного - из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую - ошибку, но если вы работаете со специально отконфигурированным - ядром, то только <emphasis>вы</emphasis> можете сказать нам, + <para>Этого сообщения не достаточно. Здесь важно значение + указателя инструкций, но оно зависит от конфигурации, + поскольку значение меняется для каждого конкретного файла + ядра. Если это ядро <filename>GENERIC</filename> из + одного из снэпшотов, то кто-то ещё может отследить + функцию, вызвавшую ошибку, но в случае со специально + сконфигурированным ядром только вы можете сказать нам, где случилась ошибка.</para> - <para>Вот что вы должны сделать:</para> + <para>Чтобы продолжить:</para> <procedure> <step> @@ -10802,7 +7338,7 @@ panic: page fault</programlisting> на начало функций, а указатель инструкций будет указывать куда-то внутрь её тела. Если вы не получили точного соответствия, опустите последнюю цифру в значении - указателя инструкций и попробуйте снова, то есть:</para> + указателя инструкций и попробуйте снова:</para> <screen>&prompt.user; <userinput>nm -n kernel.that.caused.the.panic | grep f0xxxxx</userinput></screen> @@ -10825,8 +7361,7 @@ panic: page fault</programlisting> <procedure> <step> <para>Убедитесь в том, что в файле конфигурации ядра имеется - следующая строка - (<filename>/usr/src/sys/arch/conf/MYKERNEL</filename>):</para> + следующая строка:</para> <programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting> </step> @@ -10840,7 +7375,7 @@ panic: page fault</programlisting> <step> <para>Скомпилируйте ядро:</para> - <screen>&prompt.root; <userinput>make buildkernel KERNCONF=MYKERNEL</userinput></screen> + <screen>&prompt.root; <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen> </step> <step> @@ -10857,8 +7392,8 @@ panic: page fault</programlisting> </procedure> <note> - <para>Если вы не используете переменную make - <varname>KERNCONF</varname>, то будет собрано и + <para>Если не указать <varname>KERNCONF</varname>, то + будет собрано и установлено ядро <filename>GENERIC</filename>.</para> </note> @@ -10872,13 +7407,13 @@ panic: page fault</programlisting> <filename>kernel.debug</filename> может быть использован в качестве источника отладочных символов для &man.kgdb.1;.</para> - <para>Чтобы включить сброс аварийного дампа, вам нужно - отредактировать файл <filename>/etc/rc.conf</filename> так, + <para>Чтобы получать аварийный дамп, отредактируйте файл + <filename>/etc/rc.conf</filename> так, чтобы устройство <literal>dumpdev</literal> указывало на - раздел подкачки (или имело значение <literal>AUTO</literal>). + раздел подкачки или имело значение <literal>AUTO</literal>. В этом случае скрипты &man.rc.8; будут вызывать команду - &man.dumpon.8; для создания аварийных дампов. Также вы - можете запустить команду &man.dumpon.8; вручную. После + &man.dumpon.8; для создания аварийных дампов. Эту команду + можно также запускать вручную. После аварийной остановки аварийный дамп может быть получен с помощью программы &man.savecore.8; если значение переменной <literal>dumpdev</literal> было установлено в @@ -10888,57 +7423,55 @@ panic: page fault</programlisting> <note> <para>Аварийные дампы &os; обычно имеют размер, равный - физическому объёму оперативной памяти вашей машины. Так - что если у вас установлено 512 Мбайт ОЗУ, вы получите - дамп размером 512 Мбайт. Поэтому вы должны - удостовериться, что в каталоге <filename>/var/crash</filename> - достаточно места для хранения дампа. Либо вы можете вручную - запустить &man.savecore.8; и создать аварийный дамп в другом + объёму оперативной памяти. Поэтому убедитесь в наличии + достаточного места для хранения дампа в каталоге + <filename>/var/crash</filename>. Либо запустите вручную + &man.savecore.8;, чтобы создать аварийный дамп в другом каталоге, где достаточно места. Размер аварийного дампа можно уменьшить, указав в конфигурации ядра - <literal>options MAXMEM=N</literal>, - где <replaceable>N</replaceable> — значение в Кбайт + <literal>options MAXMEM=N</literal>, где + <replaceable>N</replaceable> — значение в Кбайт для объёма памяти, которое будет использоваться ядром. - Например, если у вас 1 Гбайт ОЗУ, вы можете ограничить - использование памяти ядром 128 Мбайтами, так что - размер аварийного дампа будет равен 128 Мбайт, а не + Например, для 1 Гбайт ОЗУ установите ограничение на + использование памяти ядром в 128 Мбайт, так чтобы + размер аварийного дампа был равен 128 Мбайт, а не 1 Гбайт.</para> </note> - <para>Как только вы получили аварийный дамп, вы можете выполнить - трассировку вызовов с помощью &man.kgdb.1; таким образом:</para> + <para>Как только аварийный дамп получен, трассировку вызовов + можно получить таким образом:</para> <screen>&prompt.user; <userinput>kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0</userinput> <prompt>(kgdb)</prompt> <userinput>backtrace</userinput></screen> - <para>Заметьте, что при этом может быть выведено несколько экранов - информации; в идеале вы должны использовать &man.script.1; для их - перехвата. При использовании необработанного образа ядра со всей - отладочной информацией может быть найдена конкретная строка исходного - текста ядра, при достижении которой случилась аварийная остановка. - Для выяснения последовательности событий, приведших к аварийному - останову, обычно читается трассировка стека снизу вверх. Вы можете - также использовать &man.kgdb.1; для вывода значений различных - переменных или структур, чтобы выяснить состояние системы во время - аварии.</para> + <para>Заметьте, что это может дать несколько экранов + полезной информации. Лучше всего использовать + &man.script.1; для перехвата всего вывода. При + использовании необработанного файла ядра со всей + отладочной информацией может быть найдена конкретная + строка исходного текста ядра, при достижении которой + случилась аварийная остановка. Для выяснения + последовательности событий, приведших к аварийному + останову, трассировка стека обычно читается снизу вверх. + Также можно использовать &man.kgdb.1; для вывода значений + различных переменных или структур, чтобы выяснить + состояние системы во время аварии.</para> <tip> - <para>Теперь, если вы в самом деле душевнобольной и у вас есть - второй компьютер, то вы можете настроить &man.kgdb.1; для - удалённой отладки, так, что сможете использовать &man.kgdb.1; - на одном компьютере, чтобы отладить ядро на другом, включая - использование точек останова, пошагового прохода по коду - ядра, всё как с обычной прикладной программой.</para> + <para>Если есть второй компьютер, то можно настроить + &man.kgdb.1; для удалённой отладки, включая точки + останова и пошаговый проход по коду ядра.</para> </tip> <note> - <para>Если у вас включена поддержка <literal>DDB</literal> и - ядро переходит в режим отладки, вы можете намеренно вызвать - аварийный останов (и создание аварийного дампа), набрав - <literal>panic</literal> в командной строке - <literal>ddb</literal>. Этот процесс может снова вызвать - отладчик. В этом случае наберите <literal>continue</literal> - и процесс будет завершён созданием аварийного дампа.</para> + <para>Если включена поддержка <literal>DDB</literal> и + ядро переходит в режим отладки, можно намеренно вызвать + аварийный останов и создание аварийного дампа, набрав + <literal>panic</literal> в приглашении командной строки + <literal>ddb</literal>. Выполнение фазы аварийного + останова может снова остановиться с вызовом отладчика. + В этом случае наберите <literal>continue</literal>, и + процесс будет завершён созданием аварийного дампа.</para> </note> </answer> </qandaentry> @@ -10957,9 +7490,9 @@ panic: page fault</programlisting> дескриптору, полученному после вызова <function>dlopen(NULL, flags)</function>, желаемый результат достигнут не будет.</para> - <para>Если вы хотите осуществить поиск в выполнимом файле + <para>Чтобы осуществить поиск символов в исполняемом файле процесса с помощью функции <function>dlsym()</function>, - вам нужно скомпоновать выполнимый файл с опцией + выполните компоновку исполняемого файла с параметром <option>--export-dynamic</option> компоновщика ELF (&man.ld.1;).</para> </answer> @@ -10972,21 +7505,21 @@ panic: page fault</programlisting> </question> <answer> - <para>По умолчанию размер адресного пространства ядра для i386 - равен 1 Гбайт (2 Гбайт для PAE). Если вы используете - &os; в качестве сервера с интенсивной сетевой нагрузкой (скажем, - большой FTP или HTTP сервер) или хотите использовать ZFS, то - вы можете обнаружить, что этого недостаточно.</para> + <para>По умолчанию размер адресного пространства ядра для + i386 равен 1 Гбайт (2 Гбайт для PAE). Для + работы сервера с интенсивной сетевой нагрузкой или при + использовании ZFS этого может быть недостаточно.</para> - <para>Чтобы увеличить доступное пространство, добавьте следующую - строку в файл конфигурации ядра и пересоберите его:</para> + <para>Чтобы увеличить доступное пространство, добавьте + следующую строку в файл конфигурации ядра и пересоберите + ядро:</para> <programlisting>options KVA_PAGES=<replaceable>N</replaceable></programlisting> <para>Чтобы получить нужное значение для <replaceable>N</replaceable>, разделите желаемый размер - адресного пространства (в мегабайтах) на четыре. (Например, - для 2 Гбайт это будет <literal>512</literal>.)</para> + адресного пространства (в мегабайтах) на четыре (для + 2 Гбайт это будет <literal>512</literal>).</para> </answer> </qandaentry> </qandaset> @@ -11003,7 +7536,7 @@ panic: page fault</programlisting> сотен, если не тысяч, людей. Постоянно.</para> <para>Мы хотим поблагодарить всех их и приглашаем вас <link xlink:href="&url.articles.contributing;/article.html">присоединиться</link>, - чтобы сделать этот FAQ ещё лучше.</para> + чтобы сделать этот <acronym>FAQ</acronym> ещё лучше.</para> </chapter> &bibliography; |