diff options
author | Andrey Zakhvatov <andy@FreeBSD.org> | 2000-09-18 08:40:01 +0000 |
---|---|---|
committer | Andrey Zakhvatov <andy@FreeBSD.org> | 2000-09-18 08:40:01 +0000 |
commit | 303a9dcfab0fbd0d2b59c4b6e41dffa5095133cf (patch) | |
tree | cc3fd6a732e05f378f377a57c906905b1ca22801 /ru_RU.KOI8-R/books | |
parent | 68b342c3d6249a5bac12f955b54ff57222116d89 (diff) | |
download | doc-303a9dcfab0fbd0d2b59c4b6e41dffa5095133cf.tar.gz doc-303a9dcfab0fbd0d2b59c4b6e41dffa5095133cf.zip |
Synchronize with English 1.91.
Notes
Notes:
svn path=/head/; revision=7968
Diffstat (limited to 'ru_RU.KOI8-R/books')
-rw-r--r-- | ru_RU.KOI8-R/books/faq/book.sgml | 10605 |
1 files changed, 5586 insertions, 5019 deletions
diff --git a/ru_RU.KOI8-R/books/faq/book.sgml b/ru_RU.KOI8-R/books/faq/book.sgml index 1782f9698d..7d6bbc1dba 100644 --- a/ru_RU.KOI8-R/books/faq/book.sgml +++ b/ru_RU.KOI8-R/books/faq/book.sgml @@ -1,10 +1,11 @@ <!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V3.1-Based Extension//EN" [ <!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man; +<!ENTITY % authors SYSTEM "../../../en_US.ISO_8859-1/books/handbook/authors.ent"> %authors; ]> -<!-- FreeBSD Frequently Asked Questions. Russian translation --> -<!-- $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/faq/book.sgml,v 1.13 2000/07/08 17:03:33 phantom Exp $ --> +<!-- $FreeBSD$ --> +<!-- $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/faq/book.sgml,v 1.26 2000/09/18 05:19:01 andy Exp $ --> <book lang="en"> @@ -26,14 +27,13 @@ замечания справедливы для версий FreeBSD 2.0.5 и выше. Пункты с пометкой <XXX> находятся в стадии разработки. Если вы хотите помочь в составлении этого документа, пошлите письмо в список рассылки - проекта по адресу <ulink URL="mailto:freebsd-doc@FreeBSD.org"> - <freebsd-doc@FreeBSD.org></ulink>. + проекта по адресу <email>freebsd-doc@FreeBSD.org</email>. Последняя редакция этого документа всегда доступна с <ulink URL="http://www.FreeBSD.org/">WWW-сервера FreeBSD</ulink>. Его также можно получить в виде одного большого <ulink URL="book.html">HTML-файла</ulink> по HTTP или в виде обычного текстового файла, файла формата postscript или PDF с <ulink - URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc">FTP-сервера</ulink>. + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FTP-сервера</ulink>. Вы также можете осуществить <ulink URL="http://www.FreeBSD.org/search/search.html">поиск</ulink> в FAQ.</para> @@ -54,7 +54,7 @@ <para>Мы прилагаем все усилия, чтобы сделать этот FAQ максимально информативным; если у вас есть идеи по его усовершенствованию, пожалуйста, - напишите <ulink URL="mailto:FAQ@FreeBSD.org">составителям</ulink>.</para> + напишите составителям по адресу &a.faq;.</para> <qandaset> @@ -65,20 +65,20 @@ <answer> - <para>В двух словах, FreeBSD - это UN*X-подобная операционная система, - основанная на версии 4.4BSD Калифорнийского Университета (Беркли) для - платформы i386. Также она косвенно базируется на 386BSD (BSD Net/2, - перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя - от того первоначального кода осталось очень мало. Более подробные - объяснения того, что представляет из себя FreeBSD и для чего она может вам - пригодиться, можно найти на <ulink + <para>В двух словах, FreeBSD - это UN*X-подобная операционная система для + платформ i386 и Alpha/AXP, разработанная на основе операционной системы + 4.4BSD-lite Калифорнийского Университета (Беркли). Также она косвенно + базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом + Джолитцем (William Jolitz)), хотя от того первоначального кода осталось + очень мало. Более подробные объяснения того, что представляет из себя + FreeBSD и для чего она может вам пригодиться, можно найти на <ulink URL="http://www.FreeBSD.org/">домашней странице FreeBSD</ulink>.</para> - + <para>FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Вы можете увидеть некоторых из них в нашей <ulink - URL="../../gallery/gallery.html">галерее</ulink>.</para> + URL="http://www.FreeBSD.org/ru/gallery/gallery.html">галерее</ulink>.</para> <para>Для более детального ознакомления с FreeBSD, пожалуйста, обратитесь к <ulink URL="../../handbook/index.html">Руководству по @@ -100,10 +100,11 @@ ограничений. Многие из нас вкладывают значительные усилия в её разработку (и проектирование) и определённо были бы не против получения финансовой поддержки, но мы не собираемся её требовать. Мы надеемся, что наша основная - и самая значительная "миссия" - предоставить код всем желающим, для любых - целей, так чтобы он нашел самое широкое применение и принес наибольшую - пользу. Это, на наш взгляд, одна из самых фундаментальных целей Free - Software, которую мы с энтузиазмом поддерживаем.</para> + и самая значительная <quote>миссия</quote> - предоставить код всем + желающим, для любых целей, так чтобы он нашел самое широкое применение и + принес наибольшую пользу. Это, на наш взгляд, одна из самых + фундаментальных целей Free Software, которую мы с энтузиазмом + поддерживаем.</para> <para>Исходный код, подпадающий под действие GNU General Public License (GPL) или GNU Library General Public License (LGPL), @@ -149,13 +150,13 @@ </para> <para>Для тех наших читателей, для которых английский не является родным - языком, можно добавить, что слово ``free'' используется здесь в двух - смыслах, один означает ``бесплатно'', а другой ``вы можете делать всё, - что хотите''. За исключением пары вещей, которые вы <emphasis>не - можете</emphasis> делать с FreeBSD, например, претендовать на то, что - являетесь её разработчиком, на самом деле можно делать с ней всё, что вам - заблагорассудится.</para> - + языком, можно добавить, что слово <quote>free</quote> используется здесь в + двух смыслах, один означает <quote>бесплатно</quote>, а другой <quote>вы + можете делать всё, что хотите</quote>. За исключением пары вещей, которые + вы <emphasis>не можете</emphasis> делать с FreeBSD, например, претендовать + на то, что являетесь её разработчиком, на самом деле можно делать с ней + всё, что вам заблагорассудится.</para> + </answer> </qandaentry> @@ -168,8 +169,8 @@ <answer> <para>Версия <ulink - URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.0-RELEASE/"> - 4.0</ulink>, выпущенная мае 2000 года, является самой последней + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.1-RELEASE/"> + 4.1</ulink>, выпущенная в июле 2000 года, является самой последней <emphasis>стабильной</emphasis> версией. Она также является самым последним <emphasis>релизом</emphasis>.</para> @@ -215,14 +216,15 @@ FreeBSD-CURRENT. Эта ветвь зачастую меняется очень быстро и вполне может быть просто не работоспособна некоторое время. Те, кто используют FreeBSD-CURRENT, должны быть в состоянии анализировать любые проблемы и - сообщать о них, если это действительно ошибки, а не ``глюки''. Сообщения - типа ``make world produces some error about groups'' в списке рассылки - -CURRENT иногда воспринимаются пренебрежительно.</para> - - <para>Из ветви -CURRENT регулярно делаются <ulink - URL="../../releases/snapshots.html">снэпшоты</ulink>, некоторые из которых - доступны на CDROM. Их предназначение:</para> + сообщать о них, если это действительно ошибки, а не <quote>глюки</quote>. + Сообщения типа <quote>make world produces some error about groups</quote> + в списке рассылки -CURRENT иногда воспринимаются пренебрежительно.</para> + <para>Ежедневно из веток -CURRENT и -STABLE делаются <ulink + URL="http://www.FreeBSD.org/ru/releases/snapshots.html">снэпшоты</ulink>. + В настоящее время имеются в наличии дистрибутивы некоторых снапшотов. Их + предназначение:</para> + <para> <itemizedlist> <listitem> @@ -230,8 +232,8 @@ </listitem> <listitem> - <para>Дать людям, которые хотят работать с -CURRENT, но не - имеют времени и/или мозможности (пропускной способности) для + <para>Дать людям, которые хотят работать с -CURRENT или -STABLE, но не + имеют времени и/или возможности (пропускной способности) для отслеживания ежедневных измененений, простой способ её установки.</para> </listitem> @@ -250,19 +252,21 @@ </itemizedlist> </para> - <para>Не утверждается, что всякий снэпшот имеет качество ``готового - продукта''. Для стабильной и надёжной работы вам нужно дождаться выхода - полного релиза.</para> + <para>Не утверждается, что всякий снэпшот -CURRENT имеет качество + <quote>готового продукта</quote>. Если вам нужна стабильно работающая и + полностью оттестированная система, то необходимо дождаться выхода полного + релиза или воспользоваться снэпшотами -STABLE.</para> <para>Снэпшоты доступны непосредственно с <ulink URL="ftp://current.FreeBSD.org/pub/FreeBSD/"> ftp://current.FreeBSD.org/pub/FreeBSD/</ulink> - для 5.0-CURRENT и <ulink url="ftp://releng4.FreeBSD.org/pub/FreeBSD/"> - releng4.FreeBSD.org</ulink> для снэпшотов 4-STABLE. Снэпшоты 3-STABLE - находятся на сервере <ulink url="releng3.FreeBSD.org/pub/FreeBSD/"> - releng3.FreeBSD.org</ulink>. Снэпшоты, как правило, генерируются - ежедневно для всех активно разрабатываемых веток.</para> - + для 5.0-CURRENT и <ulink URL="ftp://releng4.FreeBSD.org/pub/FreeBSD/"> + releng4.FreeBSD.org</ulink> для снэпшотов 4-STABLE. На момент написания + этого документа (май 2000) снэпшоты 3-STABLE больше не выпускаются.</para> + + <para>Снэпшоты, как правило, генерируются ежедневно для всех активно + разрабатываемых веток.</para> + </answer> </qandaentry> @@ -286,8 +290,7 @@ пор, как была выпущена 2.0. Если вам поможет картинка, то вот как это выглядит:</para> - <para> - <literallayout> + <programlisting> 2.0 | | @@ -307,26 +310,30 @@ 3.0-RELEASE (Окт 1998) | | [3.0-STABLE] - *ВЕТВЬ* 3.1-RELEASE (Фев 1999) -> 3.2 -> 3.3 -> 3.4 -> ... будущие релизы 3.x ... - | (Май 1999) (Сен 1999) (Дек 1999) + *ВЕТВЬ* 3.1-RELEASE (Фев 1999) -> 3.2 -> 3.3 -> 3.4 -> 3.5 -> 3.5.1 + | (Май 1999) (Сен 1999) (Дек 1999) (Июнь 2000) (Июль 2000) | | [4.0-STABLE] -*ВЕТВЬ* 4.0 (Март 2000) -> ... будущие редизы 4.x ... - | +*ВЕТВЬ* 4.0 (Март 2000) -> 4.1 -> ... будущие редизы 4.x ... | + | (Июль 2000) \|/ + [продолжение 5.0-CURRENT] - </literallayout> - </para> + </programlisting> <para>Ветвь -CURRENT постепенно переходит в 5.0 и выше, тогда как предыдущая - ветвь, 2.2-STABLE, была вытеснена релизом 2.2.8. Теперь его заменила ветвь - 3.4-STABLE, последний релиз которой, 3.4-RELEASE, вышел в середине декабря - 1999 года. 4.0-RELEASE была выпущена в середине марта 2000 года и заменит - ветку 3.X к лету 2000 года. "Текущей веткой" сейчас является 5.0-CURRENT, - выход релиза которой ещё не запланирован.</para> - + ветвь, 2.2-STABLE, была вытеснена релизом 2.2.8. Её заменила ветвь + 3-STABLE, финальный релиз которой, 3.5.1-RELEASE, вышел в июле 2000 года. + В мае 2000 года (хотя релиз 3.5 вышел после этой даты) ветвь 3-STABLE была + более или менее полностью вытеснена ветвью 4-STABLE. В июле 2000 года + была выпущена 4.1-RELEASE. Активно разрабатываемой веткой -STABLE является + 4-STABLE, хотя исправления ошибок (в основном касающиеся вопросов + безопасности) всё ещё вносятся и в 3-STABLE. Предполагается, что ветвь 3.X + будет официально признана устаревшей летом 2000 года. <quote>Текущей + веткой</quote> сейчас является 5.0-CURRENT, хотя выход её релиза ещё не + запланирован.</para> + </answer> </qandaentry> @@ -345,11 +352,10 @@ лучших сторон FreeBSD, хотя она несколько разочаровывает, если вам не терпится попробовать новые возможности..</para> - <para>В среднем новые версии выпускаются примерно каждые четыре - месяца.</para> + <para>В среднем новые версии выпускаются примерно раз в четыре месяца.</para> - <para>Для тех, кому не терпится, предназначены SNAP-релизы, выпускаемые более - часто, в частности, в течении месяца перед релизом.</para> + <para>Для тех, кому не терпится, ежедневно выпускаются бинарные релизы.. + смотрите выше.</para> </answer> </qandaentry> @@ -362,9 +368,9 @@ <answer> - <para>Начиная с версии 3.x, FreeBSD работает как на архитектуре x86, - так и на платформе <ulink URL="../alpha/alpha.html">DEC Alpha</ulink>. - Некоторый интерес был проявлен к переносу на + <para>Начиная с версии 3.x, FreeBSD работает как на архитектуре x86, так и на + платформе <ulink URL="http://www.FreeBSD.org/ru/alpha/alpha.html"> + DEC Alpha</ulink>. Некоторый интерес был проявлен к переносу на SPARC, однако подробности этого проекта ещё не ясны.</para> <para>Если ваш компьютер имеет другую архитектуру и вам нужно что-то прямо @@ -415,34 +421,21 @@ <para> <itemizedlist> <listitem> - <para>Текущий релиз 2.2-STABLE, 2.2.8R, находится в каталоге <ulink - URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/2.2.8-RELEASE/"> - 2.2.8-RELEASE</ulink>.</para> - </listitem> - - <listitem> - <para>Текущий релиз 3.X-STABLE, 3.4-RELEASE, находится в каталоге <ulink - URL="ftp://current.FreeBSD.org/pub/FreeBSD/releases/i386/3.4-RELEASE"> - 3.4-RELEASE</ulink>.</para> + <para>Текущий релиз 3.X-STABLE, 3.4-RELEASE, находится в <ulink + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.4-RELEASE"> + каталоге с 3.4-RELEASE</ulink>.</para> </listitem> <listitem> - <para>Текущий релиз 4.X-STABLE, 4.0-RELEASE, находится в каталоге с - <ulink - url="ftp://current.FreeBSD.org/pub/FreeBSD/releases/i386/4.0-RELEASE"> - 4.0-RELEASE</ulink>.</para> + <para>Текущий релиз ветки 4-STABLE, 4.1-RELEASE, находится в <ulink + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.1-RELEASE"> + каталоге с 4.1-RELEASE</ulink>.</para> </listitem> <listitem> - <para>Выпуски <ulink - URL="ftp://releng3.FreeBSD.org/pub/FreeBSD/"> - 3.X Snapshot</ulink> также делаются ежедневно из ветки RELENG_3 - (после 3.0-RELEASE), пока она переходит в 3.5-RELEASE.</para> - </listitem> - - <listitem> - <para>Кроме того, ежедневно делаются снэпшоты <ulink - url="ftp://releng4.FreeBSD.org/pub/FreeBSD/">4.X</ulink>.</para> + <para><ulink + URL="ftp://releng4.FreeBSD.org/pub/FreeBSD/">Снэпшоты + 4.X</ulink> обычно делаются ежедневно.</para> </listitem> <listitem> @@ -547,7 +540,7 @@ <qandaentry> - <question> + <question id="irc"> <para>Существуют ли каналы IRC (Internet Relay Chat) по FreeBSD?</para> </question> @@ -558,7 +551,7 @@ <para> <itemizedlist> <listitem> - <para>Канал <emphasis remap=tt>#FreeBSD</emphasis> в сети EFNet + <para>Канал <literal>#FreeBSD</literal> в сети EFNet посвящён FreeBSD, но не обращайтесь туда за технической поддержкой и даже не пытайтесь найти человека, который поможет вам обойтись без чтения страниц Справочника или собственных изысканий. Этот канал @@ -569,18 +562,33 @@ </listitem> <listitem> - <para>Канал <emphasis remap=tt>#FreeBSD</emphasis> в сети DALNET + <para>Канал <emphasis>#FreeBSDhelp</emphasis> в сети EFNet предназначен + для помощи пользователям FreeBSD. Здесь гораздо более благосклонно + относятся к вопросам, чем на + канале <emphasis>#FreeBSD</emphasis>.</para> + </listitem> + + <listitem> + <para>Канал <literal>#FreeBSD</literal> в сети DALNET доступен на сервере <hostid>irc.dal.net</hostid> в США и на <hostid>irc.eu.dal.net</hostid> в Европе.</para> </listitem> <listitem> - <para>Канал <emphasis remap=tt>#FreeBSD</emphasis> в сети UNDERNET + <para>Канал <literal>#FreeBSD</literal> в сети UNDERNET доступен на серверах <hostid>us.undernet.org</hostid> в США и <hostid>eu.undernet.org</hostid> в Европе. Так как это канал взаимопомощи, приготовьтесь к чтению документации, к которой вас отошлют.</para> </listitem> + + <listitem> + <para>Канал <literal>#FreeBSD</literal>в сети <ulink + url="http://www.hybnet.com/">HybNet</ulink> доступен на сервере + <hostid>irc.FreeBSD.org</hostid>. Этот канал + <emphasis>на самом деле</emphasis> является каналом + взаимопомощи.</para> + </listitem> </itemizedlist> </para> @@ -604,33 +612,30 @@ <answer> <para>Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше к - нему присоединиться) через список рассылки <emphasis - remap=tt>doc</emphasis>: <ulink - URL="mailto:freebsd-doc@FreeBSD.org"> - <freebsd-doc@FreeBSD.org></ulink>. + нему присоединиться) через список рассылки + <literal>freebsd-doc</literal>: <email>freebsd-doc@FreeBSD.org</email>. Этот список рассылки предназначен для обсуждения документации FreeBSD. Для вопросов по системе предназначен список рассылки - <emphasis remap=tt>questions</emphasis>: <ulink - URL="mailto:freebsd-questions@FreeBSD.org"> - <freebsd-questions@FreeBSD.org></ulink>.</para> + <literal>freebsd-questions</literal>: + <email>freebsd-questions@FreeBSD.org</email>.</para> - <para>``Руководство'' по FreeBSD доступно и может быть найдено на - <ulink URL="../../handbook/index.html">веб-сервере</ulink>. - Заметьте, что этот проект находится в процессе разработки, - так что некоторые части могут отсутствовать.</para> + <para>Имеется <quote>Руководство</quote> по FreeBSD, и оно может быть найдено + на <ulink URL="../../handbook/index.html">веб-сервере</ulink>. + Заметьте, что этот проект находится в процессе разработки; + некоторые части могут отсутствовать или быть устаревшими.</para> <para>Прекрасным печатным руководством по FreeBSD является книга - ``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и + <quote>The Complete FreeBSD</quote>, написанная Грегом Лиэем (Greg Lehay) и изданная Walnut Creek CDROM Books. В настоящее время вышло второе издание, содержащее 1,750 страниц руководств по установке и администрированию системы и прикладных программ, а также страницы Справочника. Книга (и последний релиз FreeBSD) может быть заказана у - <ulink URL="http://www.cdrom.com">Walnut Creek</ulink>, - <ulink URL="http://www.cheapbytes.com">CheapBytes</ulink>, или в + <ulink URL="http://www.cdrom.com/">Walnut Creek</ulink>, + <ulink URL="http://www.cheapbytes.com/">CheapBytes</ulink>, или в вашем любимом книжном магазине. Индекс ISBN 1-57176-227-2.</para> - <para>Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2, - большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X. + <para>Так как FreeBSD основана на выпуске Berkeley 4.4BSD-Lite2, + большинство руководств по 4.4BSD подходят к FreeBSD. O'Reilly and Associates издают следующие руководства:</para> <para> @@ -691,11 +696,16 @@ <para>Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein,<!-- <br> --> - ``Unix System Administration Handbook'', Prentice-Hall, 1995<!-- <br> --> + <quote>Unix System Administration Handbook</quote>, Prentice-Hall, + 1995<!-- <br> --> <ulink URL="http://www.amazon.com/exec/obidos/ASIN/0-13-151051-7">ISBN</ulink>: 0-13-151051-7<!-- <br> --></para> - <para><emphasis remap=bf>ЗАМЕЧАНИЕ</emphasis> Удостоверьтесь, что вы - получили второе издание, с красной обложкой, а не первое.</para> + <para> + <note> + <para>Удостоверьтесь, что вы получили второе издание, с красной + обложкой, а не первое.</para> + </note> + </para> <para>Эта книга касается основ администрирования, в том числе протоколов TCP/IP, DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, системы печати итд.. @@ -720,7 +730,7 @@ <para>Сообщения пользователей обо всех проблемах могут быть запрошены (или добавлены) с помощью нашего <ulink URL="http://www.FreeBSD.org/send-pr.html">веб-интерфейса</ulink> и <ulink - URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi">запроса</ulink>. + URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">запроса</ulink>. Команда <command>send-pr(1)</command> также может быть использована для передачи и изменения сообщений о проблемах через электронную почту.</para> @@ -739,7 +749,7 @@ <para>Да. Документация имеется в нескольких различных форматах и упакованная разными способами на FTP-сервере FreeBSD, и находится она в каталоге <ulink - url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"> + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"> /pub/FreeBSD/doc/</ulink>.</para> <para>Документация подразделяется на категории различными способами. Это @@ -847,7 +857,7 @@ <entry>Формат баз данных Palm Pilot, для использования с утилитой <ulink - url="http://www.iSilo.com/">iSilo</ulink>. + URL="http://www.iSilo.com/">iSilo</ulink>. </entry> </row> @@ -1042,20 +1052,14 @@ File: +DESC (ignored) <itemizedlist> <listitem> - <para>С помошью CVSUP: Вы можете скачивать отформатированные файлы с - помощью CVSUP с сервера cvsup.FreeBSD.org. Добавьте следующую - строку в конфигурационный файл cvsup:</para> - - <programlisting> - www release=current hostname=/home base=/usr/local/etc/cvsup - prefix=/usr/local/www/data/www.FreeBSD.org delete old use-rel-suffix - </programlisting> - </listitem> - - <listitem> - <para>С помощью rsync: Обратитесь к странице, посвящённой <ulink - URL="http://www.FreeBSD.org/internal/mirror.html"> - зеркалированию</ulink>.</para> + <para>С помошью <application>CVSup</application>: + Вы можете запрашивать отформатированные файлы с помощью + <application>CVSup</application> и подключаться к серверу + <application>CVSup</application>.</para> + + <para>Для получения страниц веб-сервера посмотрите на пример, находящийся + в файле + <filename>/usr/share/examples/cvsup/www-supfile</filename>.</para> </listitem> <listitem> @@ -1081,7 +1085,12 @@ File: +DESC (ignored) <para>Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам бесплатный CD или футболку и внести вас в список составителей - Руководства, если вы предоставите перевод.</para> + Руководства, если вы предоставите перевод. Перед тем, как начать перевод, + обратитесь в список рассылки <emphasis>freebsd-doc</emphasis> по адресу + <email>freebsd-doc@FreeBSD.org</email>; здесь можно найти тех, кто способен + помочь в переводе. Может также оказаться, что группа, занимающаяся + переводом документации на выбранный вами язык, уже существует, и она не + откажется от вашей помощи.</para> </answer> </qandaentry> @@ -1252,9 +1261,9 @@ File: +DESC (ignored) дискет, предназначенными для загрузки. Образ содержит полное содержимое дискеты, дорожка за дорожкой, и не предназначен для помещения на дискету в качестве обычного файла. Вам необходимо перенести его - на дискету ``непосредственно'', используя низкоуровневые средства - (такие, как <command>fdimage</command> или <command>rawrite</command>), - описанные в <ulink + на дискету <quote>непосредственно</quote>, используя низкоуровневые + средства (такие, как <command>fdimage</command> или + <command>rawrite</command>), описанные в <ulink URL="../../handbook/install.html">Руководстве</ulink>.</para> </listitem> </itemizedlist> @@ -1263,14 +1272,20 @@ File: +DESC (ignored) </qandaentry> -<qandaentry><question> -<para>Где инструкции по инсталляции FreeBSD?</para></question><answer> +<qandaentry> + <question> + <para>Где инструкции по установке FreeBSD?</para> + </question> + + <answer> + + <para>Инструкции по установке могут быть найдены в + <ulink URL="../../handbook/install.html">главе</ulink> + Руководства, посвящённом установке FreeBSD.</para> + + </answer> +</qandaentry> -<para>Инструкции по установке могут быть найдены в - <ulink URL="../../handbook/install.html">главе</ulink> - Руководства, посвящённом установке FreeBSD.</para> - -</answer></qandaentry> <qandaentry><question> <para>Что мне нужно иметь для запуска FreeBSD?</para></question><answer> @@ -1309,20 +1324,20 @@ File: +DESC (ignored) <para>Есть ещё несколько причин, по которым FreeBSD 2.1.7 не будет устанавливаться с 4Мб. А именно: она не будет устанавливаться на системе с 640Кб основной и 3Мб дополнительной памяти. Если ваша - материнская плата может перемещать некоторую ``потерянную'' + материнская плата может перемещать некоторую <quote>потерянную</quote> память из области 640Кб в область 1Мб, тогда может быть, вы сможете запустить FreeBSD 2.1.7.</para> <para>Попробуйте войти в настройку вашего BIOS и посмотреть параметры - ``перемещения'' (remap). Включите его. Может быть, еще понадобится - выключить теневое ПЗУ (ROM shadowing).</para> + <quote>перемещения</quote> (remap). Включите его. Может быть, ещё + понадобится выключить теневое ПЗУ (ROM shadowing).</para> <para>Может быть, самое простое решение - найти еще 4Мб на время инсталляции. Откомпилируйте ядро только с теми параметрами, которые нужны и затем уберите 4Мб.</para> <para>Вы можете также проинсталлировать версию 2.0.5, а затем - обновить вашу систему до 2.1.7 с помощью пункта ``upgrade'' + обновить вашу систему до 2.1.7 с помощью пункта <quote>upgrade</quote> программы инсталляции 2.1.7.</para> <para>После установки вы можете построить ядро, которое будет работать @@ -1351,35 +1366,46 @@ File: +DESC (ignored) </qandaentry> -<qandaentry><question> -<para> Могу ли я иметь более чем одну операционную систему на моём PC? - </para></question><answer> +<qandaentry> + <question> + <para>Могу ли я иметь более чем одну операционную систему на моём PC?</para> + </question> -<para>Взгляните на это <ulink URL="../../tutorials/multi-os/">руководство</ulink>.</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para>Может ли Windows 95 сосуществовать с FreeBSD?</para></question><answer> + <para>Взгляните на это <ulink + URL="http://www.FreeBSD.org/tutorials/multi-os/">руководство</ulink>.</para> -<para>Сначала проинсталлируйте Windows 95, затем FreeBSD. Менеджер - загрузки FreeBSD будет управлять процессом загрузки Win95 или - FreeBSD, Если вы после этого ещё раз проинсталлируете Windows 95, - то в процессе установки менеджер загрузки будет грубо удалён. - Если такое случится, обратитесь к следующему разделу.</para> - -</answer></qandaentry> + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Может ли Windows 95/98 сосуществовать с FreeBSD?</para> + </question> + + <answer> + + <para>Сначала установите Windows 95/98, а затем FreeBSD. Менеджер загрузки + FreeBSD будет управлять процессом загрузки Win95/98 или FreeBSD. Если + после этого вы ещё раз выполните процедуру установки Windows 95/98, то при + этом менеджер загрузки будет грубо удалён. Если такое случится, обратитесь + к следующему разделу.</para> + + </answer> +</qandaentry> <qandaentry> <question> - <para>Windows 95 уничтожила мой менеджер загрузки! Как мне его + <para>Windows 95/98 уничтожила мой менеджер загрузки! Как мне его вернуть?</para> </question> <answer> - <para>Вы можете переустановить менеджер загрузки FreeBSD двумя + <para>Вы можете переустановить менеджер загрузки FreeBSD тремя способами:</para> <itemizedlist> @@ -1403,9 +1429,30 @@ File: +DESC (ignored) разделов, первым делом (то есть ещё не делая никаких изменений) выберите (W)rite. Последует запрос на подтверждение, ответьте yes, и когда вы попадёте в меню выбора менеджера загрузки, выберите - пункт "Boot Manager". Менеджер загрузки будет переписан на диск. - Теперь нужно выйти из меню установки и загрузиться с винчестера - как обычно.</para> + пункт <literal>Boot Manager</literal>. Менеджер загрузки будет + переписан на диск. Теперь нужно выйти из меню установки и загрузиться + с винчестера как обычно.</para> + </listitem> + + <listitem> + <para>Загрузитесь с установочной дискеты (или компакт-диска) FreeBSD и + найдите пункт меню <quote>Fixit</quote>. Выберите Fixit floppy или + CD-ROM #2 (<quote>живая</quote> файловая система) соответственно + вашему случаю и вы окажетесь в приглашении командного процессора. + Теперь выполните следующую команду:</para> + + <screen> +<prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>bootdevice</replaceable></userinput> + </screen> + + <para></para> + + <para>подставив вместо <replaceable>bootdevice</replaceable> название + реально используемого для загрузки устройства, например, + <devicename>ad0</devicename> (первый диск IDE), + <devicename>ad4</devicename> (первый диск IDE на дополнительном + контроллере), <devicename>da0</devicename> (первый диск SCSI) и + тому подобное.</para> </listitem> </itemizedlist> @@ -1413,22 +1460,33 @@ File: +DESC (ignored) </qandaentry> -<qandaentry><question> -<para> Можно ли использовать диск с повреждёнными блоками? - </para></question><answer> +<qandaentry> + <question> + <para>Можно ли производить установку на диск с повреждёнными + блоками?</para> + </question> -<para>Программа обнаружения повреждённых блоков - (<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?bad144">bad144</ulink>) - помогает не во всех 100% случаев; (к нашему стыду) - можно, к сожалению, сказать, что если у вас диск IDE или ESDI с - большим количеством повреждённых блоков, то FreeBSD, похоже, не для - вас. Однако она работает на тысячах систем с повреждёнными дисками, - так что лучше всего сначала всё же попробовать самим.</para> - -<para>Если повреждённые блоки находятся на SCSI диске, взгляните на - <link linkend="awre">такое решение</link>.</para> - -</answer></qandaentry> + <answer> + + <para>До версии 3.0 в поставку FreeBSD включалась утилита, известная под + именем <command>bad144</command>, которая автоматически переносила + повреждённые блоки. Так как современные диски с интерфейсом IDE выполняют + эту функцию самостоятельно, то утилита <command>bad144</command> была + удалена из дерева исходных текстов FreeBSD. Если вы собираетесь + устанавливать FreeBSD 3.0 и выше, то мы настоятельно рекомендуем приобрести + новый диск. Если вы этого делать не собираетесь, то устанавливайте + FreeBSD 2.x.</para> + + <para>Если вы обнаружите испорченные блоки на современном диске IDE, то + весьма вероятно, что он скоро выйдет из строя совсем (собственная + способность переносить испорченные блоки исчерпана, что означает очень + большую порчу поверхности); мы рекомендуем приобрести новый диск.</para> + + <para>Если повреждённые блоки находятся на SCSI диске, взгляните на <link + linkend="awre">такое решение</link>.</para> + + </answer> +</qandaentry> <qandaentry> @@ -1458,13 +1516,12 @@ File: +DESC (ignored) </listitem> <listitem> - <para>Если вы используете все эти свежеиспеченные операционные - системы типа Windows95 или WindowsNT, удостоверьтесь, что вы их - закрыли и перестартовали машину в добром старом DOS? Похоже, - что эти операционные системы могут влиять на программы, работающие - непосредственно с оборудованием, что и делает программа создания - установочного диска; даже запуск из DOS в графической оболочке может - вызвать проблемы.</para> + <para>Если вы используете Windows95 или Win98, удостоверьтесь, что вы + запускаете <command>fdimage</command> или <command>rawrite</command> + в режиме чистого DOS? Эти операционные системы могут влиять на + программы, работающие непосредственно с оборудованием, что и делает + программа создания установочного диска; даже запуск из DOS в + графической оболочке может вызвать проблемы.</para> </listitem> </orderedlist> @@ -1476,16 +1533,41 @@ File: +DESC (ignored) </qandaentry> +<qandaentry> + <question> + <para>Я загрузился с ATAPI CD-ROM, однако программа установки сообщила, что + CD-ROM не найден. Куда он подевался?</para> + </question> + + <answer> + + <para>Обычной причиной возникновения такой проблемы является неправильно + сконфигурированный привод CD-ROM. Теперь зачастую ПК продаются с CD-ROM, + установленным как ведомое устройство на втором контроллере IDE, но без + ведущего устройства на этом контроллере. Согласно спецификации ATAPI, + такая конфигурация неверна, однако Windows в таком случае всё же работает, + и BIOS игнорирует это при загрузке. Вот почему BIOS может видеть CD-ROM + при загрузке, а FreeBSD для завершения установки - нет.</para> + + <para>Переконфигурируйте вашу систему так, чтобы CD-ROM оказался либо + основным устройством на том IDE-контроллере, на котором он установлен, + либо ведомым устройством на контроллере IDE, который имеет ведущее + устройство.</para> + + </answer> +</qandaentry> + + <qandaentry><question> <para>Помогите! Не могу установить систему с ленты!</para></question><answer> <para>Если вы инсталлируете 2.1.7R с ленты, вы должны создать - ленту с размером блока tar, равным 10 (5120 байт). Размер - блока tar по умолчанию равен 20 (10240 байт), поэтому ленты, - созданные со стандартным размером блока, не могут быть использованы - для установки 2.1.7R; вы получите сообщение об ошибке, говорящее, - что размер записи слишком большой.</para> - +ленту с размером блока tar, равным 10 (5120 байт). Размер +блока tar по умолчанию равен 20 (10240 байт), поэтому ленты, +созданные со стандартным размером блока, не могут быть использованы +для установки 2.1.7R; вы получите сообщение об ошибке, говорящее, +что размер записи слишком большой.</para> + </answer></qandaentry> @@ -1513,13 +1595,11 @@ lp0: TCP/IP capable interface администратором. Например, если вы хотите соединить хосты с именами max и moritz</para> - <para> - <literallayout> - max <-----> moritz + <programlisting> + max <-----> moritz IP Address 10.0.0.1 10.0.0.2 - </literallayout> - </para> - + </programlisting> + <para>на машине max дайте команду</para> <screen> @@ -1715,23 +1795,25 @@ BUSY</literallayout></entry> <answer> - <para>(Под "параметрами" диска мы понимаем число дорожек, головок и - секторов на дорожку на диске, что для простоты обозначается как + <para>(Под <quote>параметрами</quote> диска мы понимаем число дорожек, + головок и секторов на дорожку на диске, что для простоты обозначается как C/H/S. Именно так работает BIOS персональных компьютеров при чтении или записи диска).</para> <para>Похоже, что по каким-то причинам это вызывает много недоразумений. Прежде всего, <emphasis>физические</emphasis> параметры диска SCSI не имеют никакого значения, так как FreeBSD работает в терминах дисковых - блоков. Фактически нет такого показателя, как "физические параметры", - так как плотность размещения секторов различна по всему диску; то, - что производители называют "реальными" физическими параметрами, есть не + блоков. Фактически нет такого показателя, как <emphasis>физические + параметры</emphasis>, так как плотность размещения секторов различна по + всему диску; то, что производители называют <emphasis>реальными</emphasis> + физическими параметрами, есть не что иное, как свободное пространство. Для дисков IDE, FreeBSD работает в терминах C/H/S, но во всех современных дисках они преобразовываются во внутреннее представление.</para> <para>Имеют значение только <emphasis>логические</emphasis> параметры - это - те, что получает BIOS, когда спрашивает "какие у тебя параметры?", а затем + те, что получает BIOS, когда спрашивает <quote>какие у тебя + параметры?</quote>, а затем использует для обращения к диску. Так как FreeBSD использует BIOS при загрузке, очень важно получить верные параметры. В частности, если у вас на диске находятся несколько операционных систем, они обе @@ -1740,9 +1822,10 @@ BUSY</literallayout></entry> <para>В случае дисков SCSI, параметры используются в зависимости от того, включена ли поддержка расширенной трансляции на вашем контроллере - (что часто обозначается как "support for DOS disks >1GB" или + (что часто обозначается как <quote>поддержка дисков DOS >1GB</quote> или что-то похожее). Если эта возможность выключена, то используйте - N дорожек, 64 головки и 32 сектора на дорожку, где N - это ёмкость + <replaceable>N</replaceable> дорожек, 64 головки и 32 сектора на дорожку, + где <replaceable>N</replaceable> - это ёмкость диска в мегабайтах. Например, 2Гбайтный диск должен иметь 2048 дорожек, 64 головки и 32 сектора а дороку.</para> @@ -1762,7 +1845,7 @@ BUSY</literallayout></entry> вещей).</para> <para>Кроме того, существует свободно доступная утилита, распространяемая - вместе с FreeBSD, которая называется ``<filename>pfdisk.exe</filename>'' + вместе с FreeBSD, которая называется <filename>pfdisk.exe</filename> (можно найти в каталоге <filename>tools</filename> компакт-диска с FreeBSD или на различных ftp-серверах), которую можно использовать для определения параметров, которые используются другими операционными системами, @@ -1811,58 +1894,53 @@ BUSY</literallayout></entry> </answer></qandaentry> -<qandaentry><question -id="missing-os"> -<para>При загрузке FreeBSD выдается сообщение ``Missing Operating System'' - </para></question><answer> -<para>Это классический случай, когда FreeBSD и DOS или другая операционная - система конфликтуют по поводу <link linkend="geometry">параметров</link> - диска. Вам нужно будет переустановить FreeBSD, но имейте в виду, что - инструкции, данные выше, помогают всегда.</para> - -</answer></qandaentry> +<qandaentry> + <question id="missing-os"> + <para>При загрузке FreeBSD выдается сообщение <literal>Missing Operating + System</literal></para> + </question> -<qandaentry><question> -<para> После приглашения менеджера загрузки `F?' ничего не происходит. - </para></question><answer> + <answer> -<para>Это ещё один признак проблемы, описанной в предыдущем разделе. - Параметры диска в BIOS и параметры, используемые FreeBSD, не - совпадают. Если ваш контроллер или BIOS поддерживают трансляцию - дорожек (часто обозначаемую как ``>1GB drive support''), - попробуйте включить эту возможность и переустановить FreeBSD.</para> - -</answer></qandaentry> + <para>Это классический случай, когда FreeBSD и DOS или другая операционная + система конфликтуют по поводу <link linkend="geometry">параметров</link> + диска. Вам нужно будет переустановить FreeBSD, но имейте в виду, что + инструкции, данные выше, помогают всегда.</para> -<qandaentry><question -id="bigram"> -<para> У меня >16Мб ОЗУ. Это не вызовет никаких проблем? - </para></question><answer> + </answer> +</qandaentry> -<para>Кроме разве что вопроса производительности, нет. Во FreeBSD 2.X - встроен контроль границ буферов (bounce buffers), что позволяет вашим - контроллерам, работающим в режиме прямого доступа к шине, иметь доступ - к памяти выше 16Мб. (Заметьте, что это будет требоваться только если - вы используете устройства ISA, хотя этого также требуют некоторые - устройства EISA и VLB).</para> - -<para>Обратитесь к разделу о <link linkend="reallybigram">машинах - с >64Mб</link>, если у вас столько ОЗУ или вы используете - машины Compaq или BIOS, который выдаёт неверные параметры ОЗУ.</para> - -</answer></qandaentry> + +<qandaentry> + <question> + <para>После приглашения менеджера загрузки <literal>F?</literal> ничего не + происходит.</para> + </question> + + <answer> + + <para>Это ещё один признак проблемы, описанной в предыдущем разделе. + Параметры диска в BIOS и параметры, используемые FreeBSD, не + совпадают. Если ваш контроллер или BIOS поддерживают трансляцию + дорожек (часто обозначаемую как <literal>>1GB drive support</literal>), + попробуйте включить эту возможность и переустановить FreeBSD.</para> + + </answer> +</qandaentry> <qandaentry> <question> <para>Нужно ли устанавливать все исходные тексты системы?</para> - </question><answer> + </question> + + <answer> <para>В общем случае, нет. Однако мы настоятельно рекомендуем установить, как - минимум, исходные тексты набора ``<emphasis remap=tt>base</emphasis>'', + минимум, исходные тексты набора <literal>base</literal>, включающий некоторые файлы, здесь упоминаемые, - и ``<emphasis remap=tt>sys</emphasis>'', в который включены исходные тексты + и <literal>sys</literal>, в который включены исходные тексты ядра. Для работы системы присутствия исходных текстов не требуется, разве что для программы конфигурирования ядра &man.config.8;. За исключением исходных текстов ядра, структура исходных текстов системы @@ -1877,30 +1955,33 @@ id="bigram"> <para>Для выбора подмножества исходных текстов, которое вы хотите установить, используйте пункт меню Custom, когда находитесь в меню - Distributions программы установки. Скрипт - <filename>src/install.sh</filename> также инсталлирует часть исходных - текстов в зависимости от указанного при его запуске параметра.</para> - + Distributions программы установки.</para> + </answer> </qandaentry> -<qandaentry><question> -<para>Нужно ли перекомпилировать ядро?</para></question><answer> +<qandaentry> + <question> + <para>Нужно ли перекомпилировать ядро?</para> + </question> -<para>Построение нового ядра всегда было необходимым шагом при - установке FreeBSD, однако последние релизы предоставляют более - дружественный инструмент конфигурации ядра. В командной строке - на приглашение загрузчика FreeBSD (boot:) введите "-c" и вы - попадёте в экран визуальной настройки, которая позволяет - конфигурировать настройки ядра для большинства адаптеров ISA.</para> - -<para>Однако рекомендуется, что потом вы всё же построите новое ядро, - содержащее только те дравера, которые вам нужны, для того, - чтобы сэкономить немного ОЗУ, хотя для большиства систем это - больше не является большой необходимостью.</para> + <answer> + + <para>Построение нового ядра всегда было необходимым шагом при + установке FreeBSD, однако последние релизы предоставляют более + дружественный инструмент конфигурации ядра. В командной строке + на приглашение загрузчика FreeBSD (boot:) введите <option>-c</option> и вы + попадёте в экран визуальной настройки, которая позволяет + конфигурировать настройки ядра для большинства адаптеров ISA.</para> -</answer></qandaentry> + <para>Однако рекомендуется, что потом вы всё же построите новое ядро, + содержащее только те дравера, которые вам нужны, для того, + чтобы сэкономить немного ОЗУ, хотя для большиства систем это + больше не является большой необходимостью.</para> + + </answer> +</qandaentry> <qandaentry> @@ -1936,21 +2017,21 @@ id="bigram"> <segmentedlist> <seglistitem> <seg>Южная Африка</seg> - <seg><ulink url="ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/"> + <seg><ulink URL="ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/"> ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/</ulink>, <ulink - url="ftp://storm.sea.uct.ac.za/pub/FreeBSD/"> + URL="ftp://storm.sea.uct.ac.za/pub/FreeBSD/"> ftp://storm.sea.uct.ac.za/pub/FreeBSD/</ulink></seg> </seglistitem> <seglistitem> <seg>Бразилия</seg> - <seg><ulink url="ftp://ftp.iqm.unicamp.br/pub/FreeBSD/"> + <seg><ulink URL="ftp://ftp.iqm.unicamp.br/pub/FreeBSD/"> ftp://ftp.iqm.unicamp.br/pub/FreeBSD/</ulink></seg> </seglistitem> <seglistitem> <seg>Финляндия</seg> - <seg><ulink url="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt/"> + <seg><ulink URL="ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt/"> ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt/</ulink></seg> </seglistitem> </segmentedlist> @@ -1975,29 +2056,34 @@ id="bigram"> <para>Существует <link linkend="mailing">список рассылки</link>, посвящённый неамериканскому криптографическому программному обеспечению. Для запроса информации пошлите письмо, содержащее одну строчку - ``<literal>help</literal>'' в теле сообщения на адрес + <literal>help</literal> в теле сообщения на адрес <email>majordomo@braae.ru.ac.za</email>.</para> </answer> </qandaentry> -<qandaentry><question> -<para> Загрузка с установочной дискеты прерывается на сообщении - ``Probing Devices...''. - </para></question><answer> +<qandaentry> + <question> + <para>Загрузка с установочной дискеты прерывается на сообщении + <literal>Probing Devices...</literal>.</para> + </question> + + <answer> -<para>Если у вас установлены устройства IDE Zip или Jaz, уберите их - и попробуйте снова. Они могут мешать инсталляционной программе. После - того, как система будет установлена, вы можете снова подключить - устройства. Надеемся, что это будет исправлено в более поздних - релизах.</para> + <para>Если у вас установлены устройства IDE Zip или Jaz, уберите их + и попробуйте снова. Они могут мешать инсталляционной программе. После + того, как система будет установлена, вы можете снова подключить + устройства. Надеемся, что это будет исправлено в более поздних + релизах.</para> -</answer></qandaentry> + </answer> +</qandaentry> + <qandaentry> <question> - <para>Сообщение ``panic: cant mount root'' после перезагрузки + <para>Сообщение <literal>panic: cant mount root</literal> после перезагрузки только что установленной системы.</para> </question> @@ -2019,9 +2105,9 @@ id="bigram"> <orderedlist> <listitem> <para>Для FreeBSD 3.3 и выше, перегрузите систему и нажмите - "Enter" при появлении приглашения "Booting kernel in - 10 seconds; hit [Enter] to interrupt". Вы окажетесь в - загрузчике.</para> + <literal>Enter</literal> при появлении приглашения <literal>Booting + kernel in 10 seconds; hit [Enter] to interrupt</literal>. Вы + окажетесь в загрузчике.</para> <para>После этого наберите <literal>set root_disk_unit="<replaceable>disk_number</replaceable>"</literal>. @@ -2033,8 +2119,8 @@ id="bigram"> <emphasis>3</emphasis>, если она установлена на ведомом диске второго контроллера IDE.</para> - <para>Затем введите команду "boot", и ваша система должна - нормально загрузиться.</para> + <para>Затем введите команду <literal>boot</literal>, и ваша система + должна нормально загрузиться.</para> <para>Чтобы сделать эти изменения постоянными (то есть чтобы вам не было нужды выполнять эти действия каждый раз при перезагрузке или @@ -2047,7 +2133,7 @@ id="bigram"> <para>При использовании FreeBSD 3.2 и более ранних версий в приглашении Boot: наберите <literal>1:wd(2,a)kernel</literal> и нажмите клавишу Enter. Если система запустилась, выполните команду - <literal>echo "1:wd(2,a)kernel" > /boot.config</literal> + <command>echo "1:wd(2,a)kernel" > /boot.config</command> чтобы сделать это строкой загрузки по умолчанию.</para> </listitem> @@ -2199,21 +2285,6 @@ disk wd2 at wdc1 drive 1 # change from wd3 to wd2 </tgroup> </table> - <para> - <literallayout> - максимальный размер файла - ---------------------------------- - 2.2.7 3.0 -размер блока fs -STABLE -CURRENT работает должно работать ---------------- ------- -------- -------- --------------- -4K 4T-1 4T-1 4T-1 4+T -8K 32+G 8T-1 32+G 16T-1 -16K 128+G 16T-1 128+G 32T-1 -32K 512+G 32T-1 512+G 64T-1 -64K 2048+G 64T-1 2048+G 128T-1 - </literallayout> - </para> - <para>При размере блока файловой системы 4К, тройная адресация блоков работает и всё должно быть ограничено максимальным количеством блоков, которое задаётся в виде тройной переадресации @@ -2237,27 +2308,31 @@ disk wd2 at wdc1 drive 1 # change from wd3 to wd2 </qandaentry> -<qandaentry><question> -<para>Как можно поместить файлы размером 1ТБ на дискету?</para></question><answer> +<qandaentry> + <question> + <para>Как можно поместить файлы размером 1ТБ на дискету?</para> + </question> -<para>Я храню парочку таких на дискете :-) Максимальный размер + <answer> + + <para>Я храню парочку таких на дискете :-) Максимальный размер файла не связан непосредственно с максимальным размером диска. Максимальный размер диска равен 1ТБ. Особенностью является то, что размер файла может превышать размер диска.</para> -<para>В следующем примере создаётся файл размером 8Т-1 с помощью всего + <para>В следующем примере создаётся файл размером 8Т-1 с помощью всего 32К дискового пространства (3 блока адреса и 1 блок данных) на маленьком корневом разделе. Команда dd должна уметь работать с большими файлами.</para> -<para> -<literallayout>ttyv0:bde@alphplex:/tmp/q> cat foo +<screen> +&prompt.user; <userinput>cat foo</userinput> df . dd if=/dev/zero of=z bs=1 seek=`echo 2^43 - 2 | bc` count=1 ls -l z du z df . -ttyv0:bde@alphplex:/tmp/q> sh foo +&prompt.user; <userinput>sh foo</userinput> Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/da0a 64479 27702 31619 47% / 1+0 records in @@ -2267,42 +2342,46 @@ Filesystem 1024-blocks Used Avail Capacity Mounted on 32 z Filesystem 1024-blocks Used Avail Capacity Mounted on /dev/da0a 64479 27734 31587 47% / -ttyv0:bde@alphplex:/tmp/q> exit</literallayout> -</para> - -<para>Bruce Evans, September 1998</para> + </screen> + + <para>Bruce Evans, September 1998</para> -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para> Я скомпилировал новое ядро и при загрузке получил сообщение об ошибке - "archsw.readin.failed". - </para></question><answer> -<para>Вы можете осуществить загрузку системы, явно указав ядро во время - второго этапа загрузочного процесса, нажав любую клавишу после - появления символа | до запуска загрузчика. Более точно, вы обновили - исходные тексты ядра, откомпилировали и установили новое ядро <emphasis>без - выполнения make world </emphasis>. Такое не поддерживается. Выполните - make world.</para> - +<qandaentry> + <question> + <para>Я скомпилировал новое ядро и при загрузке получил сообщение об ошибке + <literal>archsw.readin.failed</literal>.</para> + </question> + + <answer> + + <para>Вы можете осуществить загрузку системы, явно указав ядро во время + второго этапа загрузочного процесса, нажав любую клавишу после + появления символа | до запуска загрузчика. Более точно, вы обновили + исходные тексты ядра, откомпилировали и установили новое ядро <emphasis>без + выполнения make world </emphasis>. Такое не поддерживается. Выполните + make world.</para> + </answer> </qandaentry> <qandaentry> - <question><para>Как произвести обновление 3.X -> 4.X?</para></question> + <question><para>Как произвести обновление 3.X -> 4.X?</para></question> <answer> <para>Мы <emphasis>настоятельно</emphasis> рекомендуем воспользоваться - для этой цели двоичными снэпшотами. Снэпшоты 4.X-STABLE находятся на + для этой цели бинарными снэпшотами. Снэпшоты ветки 4.STABLE находятся на сервере <ulink - url="ftp://releng4.FreeBSD.org">releng4.FreeBSD.org</ulink>.</para> + URL="ftp://releng4.FreeBSD.org">releng4.FreeBSD.org</ulink>.</para> <para>Если вы хотите произвести обновление с помощью исходных текстов, то за дополнительной пожалуйста, обратитесь к <ulink - url="http://www.FreeBSD.org/handbook/cutting-edge.html">Руководству по + URL="http://www.FreeBSD.org/handbook/cutting-edge.html">Руководству по FreeBSD</ulink>.</para> <para><emphasis>Обновление через исходные тексты, а тем более 3.X -> 4.X, @@ -2315,22 +2394,27 @@ ttyv0:bde@alphplex:/tmp/q> exit</literallayout> </chapter> -<chapter -id="hardware"> +<chapter id="hardware"> <title>Аппаратная совместимость</title> +<qandaset> +<qandaentry> + <question> + <para>Какие типы винчестеров поддерживает FreeBSD?</para> + </question> -<qandaset><qandaentry><question> -<para>Какие типы винчестеров поддерживает FreeBSD?</para></question><answer> + <answer> + + <para>FreeBSD работает с дисками стандартов EIDE и SCSI (с + соответствующими контроллерами; обратитесь к следующему разделу), и + всеми дисками, использующими оригинальный интерфейс <quote>Western + Digital</quote> (MFM, RLL, ESDI и, конечно же, IDE). Некоторые + контроллеры ESDI, использующие собственные интерфейсы, могут и не + работать: к таким относятся WD1002/3/6/7 и их клоны.</para> + + </answer> +</qandaentry> -<para>FreeBSD работает с дисками стандартов EIDE и SCSI (с - соответствующими контроллерами; обратитесь к следующему разделу), и - всеми дисками, использующими оригинальный интерфейс "Western Digital" - (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, - использующие собственные интерфейсы, могут и не работать: к таким - относятся WD1002/3/6/7 и их клоны.</para> - -</answer></qandaentry> <qandaentry><question> <para>Какие поддерживаются контроллеры SCSI?</para></question><answer> @@ -2342,7 +2426,7 @@ id="hardware"> <qandaentry><question> <para>Какие приводы CD-ROM поддерживаются во FreeBSD?</para></question><answer> -<para>Поддерживаются любые SCSI-устройства чнения компакт дисков, +<para>Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру.</para> <para>Кроме того, поддерживаются следующие оригинальные интерфейсы:</para> @@ -2386,52 +2470,65 @@ id="hardware"> </answer></qandaentry> -<qandaentry><question> -<para>Поддерживает ли FreeBSD устройства ZIP?</para></question><answer> - -<para>Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству - ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего - SCSI-адаптера поддерживает такую возможность, вы можете с него даже - загрузиться. Мне не известны адаптеры, позволяющие загрузиться с - устройств, номера которых отличны от 0 или 1... посмотрите в - вашей документации (и сообщите мне, если у вас это работает).</para> - -<para>Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная - с версии 2.2.6.</para> - -<para>FreeBSD поддерживает устройства Zip, работающие через параллельный - порт, начиная с версии 3.0. Если вы используете более новую версию, - проверьте, содержит ли ваше ядро драйверы для <emphasis remap=tt>scbus0</emphasis>, <emphasis remap=tt>da0 - </emphasis>, <emphasis remap=tt>ppbus0</emphasis> и <emphasis remap=tt>vp0</emphasis> (ядро GENERIC содержит всё это, - кроме vp0). Если эти драйверы имеются, то устройство должно быть - доступно как /dev/da0s4. Диски могут быть смонтированы - командами <command>mount /dev/da0s4 /mnt</command> или (для дисков dos) - <emphasis remap=tt>mount_msdos /dev/da0s4 /mnt</emphasis>.</para> - -<para>Также посмотрите <link linkend="jaz">следующее замечание</link> - о съёмных носителях, и <link linkend="disklabel">это замечание</link> - о 'форматировании'.</para> - -</answer></qandaentry> -<qandaentry><question> -<para> Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ? - </para></question><answer> +<qandaentry> + <question> + <para>Поддерживает ли FreeBSD устройства ZIP?</para> + </question> -<para>Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что - для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен - выглядеть как диск IDE.</para> - -<para><anchor id="jaz">Я не знаю, насколько хорошо FreeBSD поддерживает - смену носителя во время работы. Конечно, чтобы сменить диск, вам - сначала нужно его размонтировать, и обратите внимание на то, что при - загрузке все внешние устройства должны быть включены, чтобы FreeBSD - могла их распознать.</para> - -<para>Посмотрите это <link linkend="disklabel">замечание</link> о - 'форматировании'.</para> - -</answer></qandaentry> + <answer> + + <para>Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству + ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего + SCSI-адаптера поддерживает такую возможность, вы можете с него даже + загрузиться. Мне не известны адаптеры, позволяющие загрузиться с + устройств, номера которых отличны от 0 или 1... посмотрите в + вашей документации (и сообщите мне, если у вас это работает).</para> + + <para>Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная + с версии 2.2.6.</para> + + <para>FreeBSD поддерживает устройства Zip, работающие через параллельный + порт, начиная с версии 3.0. Если вы используете более новую версию, + проверьте, содержит ли ваше ядро драйверы для + <devicename>scbus0</devicename>, <devicename>da0</devicename>, + <devicename>ppbus0</devicename> и <devicename>vp0</devicename> (ядро + GENERIC содержит всё это, кроме <devicename>vp0</devicename>). Если эти + драйверы имеются, то устройство должно быть доступно как + <filename>/dev/da0s4</filename>. Диски могут быть смонтированы + командами <command>mount /dev/da0s4 /mnt</command> или (для дисков dos) + <command>mount_msdos /dev/da0s4 /mnt</command> соответственно.</para> + + <para>Также посмотрите <link linkend="jaz">следующее замечание</link> + о съёмных носителях, и <link linkend="disklabel">это замечание</link> + о <quote>форматировании</quote>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ?</para> + </question> + + <answer> + + <para>Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что + для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен + выглядеть как диск IDE.</para> + + <para><anchor id="jaz">Я не знаю, насколько хорошо FreeBSD поддерживает + смену носителя во время работы. Конечно, чтобы сменить диск, вам + сначала нужно его размонтировать, и обратите внимание на то, что при + загрузке все внешние устройства должны быть включены, чтобы FreeBSD + могла их распознать.</para> + + <para>Посмотрите это <link linkend="disklabel">замечание</link> о + <quote>форматировании</quote>.</para> + + </answer> +</qandaentry> <qandaentry> @@ -2479,6 +2576,17 @@ id="hardware"> перестройте ядро.</para> <programlisting> +device uhci +device ohci +device usb +device ukbd +options KBD_INSTALL_CDEV + </programlisting> + + <para>При использовании FreeBSD версий, предшествующих 4.0, добавьте + вместо этого такие строки:</para> + + <programlisting> controller uhci0 controller ohci0 controller usb0 @@ -2509,10 +2617,10 @@ id="hardware"> </orderedlist> <para>После перезагрузки системы AT-клавиатуре будет соответствовать - <devicename>/dev/kbd0</devicename>, а клавиатуре USB - - <devicename>/dev/kbd1</devicename>, если они обе подключены к системе. + <filename>/dev/kbd0</filename>, а клавиатуре USB - + <filename>/dev/kbd1</filename>, если они обе подключены к системе. Если присутствует только клавиатура USB, ей будет соответствовать - <devicename>/dev/ukbd0</devicename>.</para> + <filename>/dev/ukbd0</filename>.</para> <para>Если вы хотите использовать клавиатуру USB на консоли, вы должны явно указать драйверу консоли на использование имеющейся клавиатуры @@ -2524,11 +2632,11 @@ id="hardware"> </screen> <para>Заметьте, что, если клавиатура USB является единственной - присутствующей, она доступна как <devicename>/dev/kbd0</devicename>, + присутствующей, она доступна как <filename>/dev/kbd0</filename>, и поэтому команда должна выглядеть примерно так:</para> <screen> - &prompt.root; <userinput>kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null</userinput> +&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null</userinput> </screen> <para>Вышеуказанную команду хорошо бы добавить в @@ -2548,165 +2656,169 @@ id="hardware"> </qandaentry> -<qandaentry><question id="busmouse"> -<para>У меня необычная мышь типа bus mouse. Как её настроить? - </para></question><answer> +<qandaentry> + <question id="busmouse"> + <para>У меня необычная мышь типа bus mouse. Как её настроить?</para> + </question> -<para>FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких - производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse - включен по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в - версию 3.0 и выше. Если вы строите собственное ядро с этим драйвером, - добавьте следующую строку в конфигурационный файл ядра</para> - -<para>Во FreeBSD 3.0 и ранее, добавьте:</para> + <answer> -<para> - <literallayout> - device mse0 at isa? port 0x23c tty irq5 vector mseintr - </literallayout> -</para> - -<para>Во FreeBSD 3.1 и выше, строчка должна иметь вид:</para> + <para>FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких + производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse + включен по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в + версию 3.0 и выше. Если вы строите собственное ядро с этим драйвером, + добавьте следующую строку в конфигурационный файл ядра</para> -<para> - <literallayout> - device mse0 at isa? port 0x23c tty irq5 - </literallayout> -</para> + <para>Во FreeBSD 3.0 и ранее, добавьте:</para> -<para>Мышь типа bus mouse обычно поставляется с отдельным интерфейсным - адаптером. Он позволяет установить адрес порта ввода/вывода и номер IRQ, - отличающиеся от приведённых выше. Для получения дополнительной информации - обратитесь к документации по вашей мыши и странице Справочника - &man.mse.4;.</para> - -</answer></qandaentry> + <programlisting> +device mse0 at isa? port 0x23c tty irq5 vector mseintr + </programlisting> + <para>Во FreeBSD 3.X строчка должна иметь вид:</para> -<qandaentry><question id="ps2mouse"> -<para>Как использовать мышь PS/2 (типа ``mouse port'' или ``keyboard'')? - </para></question><answer> + <programlisting> +device mse0 at isa? port 0x23c tty irq5 + </programlisting> -<para>Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый - драйвер, <devicename>psm</devicename>, включён в ядро и активизирован. Ядро - должно обнаружить мышь PS/2 во время загрузки.</para> - -<para>Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD - (2.1.x и выше), то вы можете просто включить её поддержку в меню конфигурации - ядра во время инсталляции, либо позже, указав <option>-c</option> в - приглашении <command>boot:</command>. По умолчанию она отключена, так что - вы должны включить её явно.</para> - -<para>Если вы используете более старую версию FreeBSD, то вам нужно добавить - следующие строки в файл конфигурации ядра и построить новое ядро.</para> + <para>А во FreeBSD 4.X и выше строчка должна быть такой:</para> -<para>Во FreeBSD 3.0 и ранее, строчка должна иметь вид:</para> - -<para> - <literallayout> - device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - </literallayout> -</para> + <programlisting> +device mse0 at isa? port 0x23c irq5 + </programlisting> -<para>Во FreeBSD 3.1 и выше, строчка должна быть такой:</para> + <para>Мышь типа bus mouse обычно поставляется с отдельными интерфейсными + адаптерами. Они позволяют установить адрес порта ввода/вывода и номер IRQ, + отличающиеся от приведённых выше. Для получения дополнительной информации + обратитесь к документации по вашей мыши и странице Справочника + &man.mse.4;.</para> -<para> - <literallayout> - device psm0 at isa? tty irq 12 - </literallayout> -</para> + </answer> +</qandaentry> -<para>Во FreeBSD 4.0-CURRENT и выше, строчка должна иметь вид:</para> -<para> - <literallayout> - device psm0 at atkbdc? irq 12 - </literallayout> -</para> - -<para>Обратитесь к главе Руководства о <ulink - URL="../../handbook/kernelconfig.html">конфигурировании ядра</ulink>, если - вы не имели опыта такой работы.</para> - -<para>После того, как ядро правильно обнаружило <devicename>psm0</devicename> - во время загрузки, проверьте существование файла устройства для - <devicename>psm0</devicename> в каталоге <filename>/dev</filename>. Это - можно сделать, набрав:</para> - -<para> - <literallayout> - cd /dev; sh MAKEDEV psm0 - </literallayout> -</para> - -<para>войдя в систему администратором.</para> - -</answer></qandaentry> +<qandaentry> + <question id="ps2mouse"> + <para>Как использовать мышь PS/2 (типа <quote>mouse port</quote> или + <quote>keyboard</quote>)?</para> + </question> + <answer> -<qandaentry><question -id="moused"> -<para> Можно ли каким-либо образом использовать мышь, кроме X Window? - - </para></question><answer> + <para>Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый + драйвер, <devicename>psm</devicename>, включён в ядро и активизирован. + Ядро должно обнаружить мышь PS/2 во время загрузки.</para> -<para>Если вы используете стандартный драйвер консоли, syscons, то можете - использовать указатель мыши в текстовых консолях для выделения и - переноса текста. Запустите демон мыши, moused, и включите отображение - указателя мыши на консоли:</para> - -<para> -<literallayout> moused -p /dev/xxxx -t yyyy - vidcontrol -m on - </literallayout> -</para> + <para>Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD + (2.1.x и выше), то вы можете просто включить её поддержку в меню + конфигурации ядра во время инсталляции, либо позже, указав + <option>-c</option> в приглашении <command>boot:</command>. По умолчанию + она отключена, так что вы должны включить её явно.</para> + + <para>Если вы используете более старую версию FreeBSD, то вам нужно добавить + следующие строки в файл конфигурации ядра и построить новое ядро.</para> + + <para>Во FreeBSD 3.0 и ранее, строчка должна иметь вид:</para> -<para>Здесь <emphasis remap=tt>xxxx</emphasis> - это имя устройства мыши, - а <emphasis remap=tt>yyyy</emphasis> - тип протокола, используемого мышью. - Страница Справочника по &man.moused.8; содержит информацию о поддерживаемых - типах протоколов.</para> + <programlisting> +device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr + </programlisting> + + <para>Во FreeBSD 3.1 и выше, строчка должна быть такой:</para> + + <programlisting> +device psm0 at isa? tty irq 12 + </programlisting> + + <para>Во FreeBSD 4.0 и выше строчка должна иметь вид:</para> + + <programlisting> +device psm0 at atkbdc? irq 12 + </programlisting> + + <para>Обратитесь к главе Руководства о <ulink + URL="../../handbook/kernelconfig.html">конфигурировании ядра</ulink>, если + вы не имели опыта такой работы.</para> + + <para>После того, как ядро правильно обнаружило <devicename>psm0</devicename> + во время загрузки, проверьте существование файла устройства для + <devicename>psm0</devicename> в каталоге <filename>/dev</filename>. Это + можно сделать, набрав:</para> + + <screen> +&prompt.root; <userinput>cd /dev; sh MAKEDEV psm0</userinput> + </screen> + + <para>войдя в систему администратором.</para> -<para>Вы можете запускать демон мыши автоматически во время старта - системы. В версии 2.2.1, установите значение следующей переменной в - <filename>/etc/sysconfig</filename>.</para> - -<para> -<literallayout> mousedtype="yyyy" - mousedport="xxxx" - mousedflags="" - </literallayout> -</para> - -<para> В версиях 2.2.2 и выше, установите значения следующих переменных в - <filename>/etc/rc.conf</filename>.</para> + </answer> +</qandaentry> + + +<qandaentry> + <question id="moused"> + <para>Можно ли каким-либо образом использовать мышь, кроме X Window?</para> + </question> + + <answer> + + <para>Если вы используете стандартный драйвер консоли, syscons, то можете + использовать указатель мыши в текстовых консолях для выделения и + переноса текста. Запустите демон мыши, moused, и включите отображение + указателя мыши на консоли:</para> -<para> -<literallayout> moused_type="yyyy" - moused_port="xxxx" - moused_flags="" - </literallayout> -</para> - -<para>Кроме того, если вы хотите использовать даемон мыши на всех виртуальных - терминалах, а не только на консоли во время загрузки, добавьте следующую - строку в файл <filename>/etc/rc.conf</filename>.</para> + <screen> +&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput> +&prompt.root; <userinput>vidcontrol -m on</userinput> + </screen> - <para> - <literallayout> - allscreens_flags="-m on" - </literallayout> - </para> + <para>Здесь <replaceable>xxxx</replaceable> - это имя устройства мыши, + а <replaceable>yyyy</replaceable> - тип протокола, используемого мышью. + Страница Справочника по &man.moused.8; содержит информацию о поддерживаемых + типах протоколов.</para> -<para>Начиная с FreeBSD 2.2.6, даемон мыши в состоянии определять тип протокола - автоматически, если, конечно, мышь не достаточно древней модели. Укажите - ``<emphasis remap=tt>auto</emphasis>'' для автоматического определения типа - протокола.</para> - -<para>После запуска даемона мыши, доступ к мыши должен согласовываться - между даемоном мыши и другими программами типа X Window. Этот вопрос - рассмотрен в <link linkend="x-and-moused">другом разделе</link>.</para> - -</answer></qandaentry> + <para>Вы можете запускать демон мыши автоматически во время старта + системы. В версии 2.2.1, установите значение следующей переменной в + <filename>/etc/sysconfig</filename>.</para> + + <programlisting> +mousedtype="yyyy" +mousedport="xxxx" +mousedflags="" + </programlisting> + + <para>В версиях от 2.2.2 и до 3.0, установите значения следующих переменных + в файле <filename>/etc/rc.conf</filename>.</para> + + <programlisting> +moused_type="yyyy" +moused_port="xxxx" +moused_flags="" + </programlisting> + + <para>В версиях 3.1 и выше, если предположить, что у вас мышь типа PS/2, то + достаточно добавить строчку <literal>moused_enable="YES"</literal> в файл + <filename>/etc/rc.conf</filename>.</para> + + <para>Кроме того, если вы хотите использовать даемон мыши на всех виртуальных + терминалах, а не только на консоли во время загрузки, добавьте следующую + строку в файл <filename>/etc/rc.conf</filename>.</para> + + <programlisting> +allscreens_flags="-m on" + </programlisting> + + <para>Начиная с FreeBSD 2.2.6, даемон мыши в состоянии определять тип + протокола автоматически, если, конечно, мышь не достаточно древней + модели. Укажите <literal>auto</literal> для автоматического + определения типа протокола.</para> + + <para>После запуска даемона мыши, доступ к мыши должен согласовываться + между даемоном мыши и другими программами типа X Window. Этот вопрос + рассмотрен в <link linkend="x-and-moused">другом разделе</link>.</para> + + </answer> +</qandaentry> <qandaentry> @@ -2724,8 +2836,8 @@ id="moused"> с текущей позиции курсора.</para> <para>В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. - Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у вашей - мыши отсутствует средняя кнопка, вы можете её сэмулировать или + Нажатие на кнопку 3 <quote>расширит</quote> выбранный область текста. Если + у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused. Обратитесь к странице Справочника по <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?moused(8)"> moused(8)</ulink>.</para> @@ -2755,6 +2867,16 @@ id="moused"> перестройте ядро.</para> <programlisting> +device uhci +device ohci +device usb +device ums + </programlisting> + + <para>Во FreeBSD версий, предшествующих 4.0, вместо этого добавьте + такие строчки:</para> + + <programlisting> controller uhci0 controller ohci0 controller usb0 @@ -2773,7 +2895,7 @@ id="moused"> </listitem> <listitem> - <para>Одредактируйте файл <filename>/etc/rc.conf</filename>, добавив + <para>Отредактируйте файл <filename>/etc/rc.conf</filename>, добавив такие строчки:</para> <programlisting> @@ -2828,14 +2950,15 @@ id="moused"> </question> <answer> - <para>Ответ, к сожалению, `в зависимости от обстоятельств'. - Эти мышки с дополнительными возможностями, как правило, требуют наличия - специальных драйверов. До тех пор, пока драйвер мыши или прикладная - программа не будут иметь отдельную поддержку такой мыши, она будет - работать как стандартная двух- или трёхкнопочная мышь.</para> - <para>Возможные способы использования колёсиков мыши при работе в X Window - описаны в <link linkend="x-and-wheel">другом разделе</link>.</para> + <para>Ответ, к сожалению, <quote>в зависимости от обстоятельств</quote>. + Эти мышки с дополнительными возможностями, как правило, требуют наличия + специальных драйверов. До тех пор, пока драйвер мыши или прикладная + программа не будут иметь отдельную поддержку такой мыши, она будет + работать как стандартная двух- или трёхкнопочная мышь.</para> + + <para>Возможные способы использования колёсиков мыши при работе в X Window + описаны в <link linkend="x-and-wheel">другом разделе</link>.</para> </answer> </qandaentry> @@ -2848,13 +2971,14 @@ id="moused"> </question> <answer> - <para>В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются - проблемы при работе с некоторыми мышками, у которых есть колёсико, в том - числе с мышками Logitech модель M-S48 и их OEM-разновидностями. - Исправьте файл <filename>/sys/i386/isa/psm.c</filename> с помощью - следующего патча и перестройте ядро.</para> - <programlisting> + <para>В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются + проблемы при работе с некоторыми мышками, у которых есть колёсико, в том + числе с мышками Logitech модель M-S48 и их OEM-разновидностями. + Исправьте файл <filename>/sys/i386/isa/psm.c</filename> с помощью + следующего патча и перестройте ядро.</para> + + <programlisting> Index: psm.c =================================================================== RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v @@ -2947,32 +3071,48 @@ diff -u -r1.60.2.1 -r1.60.2.2 </qandaentry> -<qandaentry><question> -<para>Какие звуковые платы поддерживаются во FreeBSD?</para></question><answer> - -<para>FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, - SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. - Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. - Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также - поддерживаются драйвером pcm.</para> - -<para><emphasis remap=bf>ЗАМЕЧАНИЕ</emphasis> Это касается только звука! Этот - драйвер не поддерживает CDROM, SCSI или джойстики на всех подобных - адаптерах, кроме SoundBlaster. Поддерживаются устройства на - SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но загрузиться с них - невозможно.</para> - -</answer></qandaentry> +<qandaentry> + <question> + <para>Какие звуковые платы поддерживаются во FreeBSD?</para> + </question> -<qandaentry><question> -<para>Есть ли решение проблемы отсутствия звука при использовании - драйвера pcm с адаптером es1370?</para></question><answer> + <answer> -<para>При каждой перезагрузке вам нужно запускать следующую команду:</para> + <para>FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, + SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. + Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. + Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также + поддерживаются драйвером pcm.</para> -<para>mixer pcm 100 vol 100 cd 100</para> + <para> + <note> + <para>Это касается только звука! Этот драйвер не поддерживает CDROM, + SCSI или джойстики ни на каких подобных адаптерах, кроме SoundBlaster. + Поддерживаются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI + CDROM, но загрузиться с них невозможно.</para> + </note> + </para> + + </answer> +</qandaentry> -</answer></qandaentry> + +<qandaentry> + <question> + <para>Есть ли решение проблемы отсутствия звука при использовании + драйвера pcm с адаптером es1370?</para> + </question> + + <answer> + + <para>При каждой перезагрузке вам нужно запускать следующую команду:</para> + + <screen> +&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput> + </screen> + + </answer> +</qandaentry> <qandaentry><question> @@ -2985,38 +3125,57 @@ diff -u -r1.60.2.1 -r1.60.2.2 </answer></qandaentry> -<qandaentry><question> -<para>На моей машине отсутствует математический сопроцессор - это плохо? - </para></question><answer> +<qandaentry> + <question> + <para>На моей машине отсутствует математический сопроцессор - это + плохо?</para> + </question> -<para><emphasis remap=tt>Замечание</emphasis> Это касается только владельцев - компьютеров 386/486SX/486SLC - во всех остальных машинах модуль вычислений - с плавающей точкой объединён с центральным процессором.</para> + <answer> -<para>В общем случае это не проблема, но в отсутствии сопроцессора вы - можете столкнуться со снижением производительность и точности при - использовании программной эмуляции сопроцессора (обратитесь к разделу - об <link linkend="emul">эмуляции вычислений с плавающей точкой</link>). - В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение - математического сопроцессора настоятельно рекомендуется, он того стоит.</para> + <para> + <note> + <para>Это касается только владельцев компьютеров 386/486SX/486SLC - во + всех остальных машинах модуль вычислений с плавающей точкой объединён + с центральным процессором.</para> + </note> + </para> -<para><emphasis remap=bf>ЗАМЕЧАНИЕ</emphasis> Некоторые математические - сопроцессоры работают лучше, чем другие. Нам неприятно это признавать, - но Intel пока никого не подводил. Если вы не уверены, что сопроцессор - будет работать с FreeBSD, избегайте клонов.</para> + <para>В общем случае это не проблема, но в отсутствии сопроцессора вы + можете столкнуться со снижением производительность и точности при + использовании программной эмуляции сопроцессора (обратитесь к разделу + об <link linkend="emul">эмуляции вычислений с плавающей точкой</link>). + В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение + математического сопроцессора настоятельно рекомендуется, он того + стоит.</para> -</answer></qandaentry> + <para> + <note> + <para>Некоторые математические сопроцессоры работают лучше, чем другие. + Нам неприятно это признавать, но Intel пока никого не подводил. Если + вы не уверены, что сопроцессор будет работать с FreeBSD, избегайте + клонов.</para> + </note> + </para> + </answer> +</qandaentry> -<qandaentry><question> -<para>Какие ещё устройства поддерживаются в 2.X?</para></question><answer> -<para>В <ulink - URL="../../handbook/install-hw.html#INSTALL-MISC">Руководстве</ulink> - приведён список остальных устройств, которые поддерживаются во - FreeBSD.</para> +<qandaentry> + <question> + <para>Какие ещё устройства поддерживаются во FreeBSD?</para> + </question> -</answer></qandaentry> + <answer> + + <para>В <ulink + URL="../../handbook/install-hw.html#INSTALL-MISC">Руководстве</ulink> + приведён список остальных устройств, которые поддерживаются во + FreeBSD.</para> + + </answer> +</qandaentry> <qandaentry> @@ -3028,7 +3187,7 @@ diff -u -r1.60.2.1 -r1.60.2.2 <answer> <para>FreeBSD поддерживает APM на некоторых машинах. Поищите в файле - конфигурации ядра <acronym>LINT</acronym> слово <ulink + конфигурации ядра <filename>LINT</filename> слово <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?apm(4)">APM</ulink>.</para> </answer> @@ -3044,21 +3203,30 @@ diff -u -r1.60.2.1 -r1.60.2.2 </answer></qandaentry> -<qandaentry><question> -<para>Компьютеры Micron зависают при загрузке</para></question><answer> -<para>Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую - стандарту PCI BIOS, что приводит к печальным последствиям при - загрузке FreeBSD, потому что имеет место несоответствие устройств - PCI занимаемым ими адресам.</para> - -<para>Для решения этой проблемы отключите в BIOS опцию "Plug and Play - Operating System" . </para> - -<para>Более подробная информация об этой проблеме находится по следующему - адресу: <ulink URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para> - -</answer></qandaentry> +<qandaentry> + <question> + <para>Компьютеры Micron зависают при загрузке</para> + </question> + + <answer> + + <para>Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую + стандарту PCI BIOS, что приводит к печальным последствиям при + загрузке FreeBSD, потому что имеет место несоответствие устройств + PCI занимаемым ими адресам.</para> + + <para>Для решения этой проблемы отключите в BIOS опцию <quote>Plug and Play + Operating System</quote>.</para> + + <para>Более подробная информация об этой проблеме находится по следующему + адресу: <ulink + URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron"> + http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para> + + </answer> +</qandaentry> + <qandaentry><question> <para> FreeBSD не распознаёт мой новейший контроллер от Adaptec. @@ -3073,87 +3241,112 @@ diff -u -r1.60.2.1 -r1.60.2.2 </answer></qandaentry> -<qandaentry><question> -<para>FreeBSD не находит внутренний модем Plug & Play.</para></question><answer> -<para>Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера - последовательного порта. Для включения поддержки Plug & Play, - откомпилируйте новое ядро с опцией <emphasis remap=tt>controller - pnp0</emphasis> в конфигурационном файле, и перезагрузите машину. Ядро - выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в - таблицу в файле <filename>/sys/i386/isa/sio.c</filename>, где-то в районе - 2777 строки. Чтобы найти таблицу, поищите слово "SUP1310" в структуре - "siopnp_ids[]". Снова постройте ядро, проинсталлируйте его и - перезагрузитесь. Теперь ваш модем должен быть опознан.</para> - -<para>Вам может понадобиться отконфигурировать PnP-устройства командой 'pnp' - в конфигураторе во время загрузки следующим образом:</para> - -<para> -<literallayout> pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 - </literallayout> +<qandaentry> + <question> + <para>FreeBSD не находит внутренний модем Plug & Play.</para> + </question> - чтобы модем был распознан.</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> Как сделать, чтобы приглашение boot: выводилось на консоль на - последовательном порту? - </para></question><answer> + <para>Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера + последовательного порта. Для включения поддержки Plug & Play, + откомпилируйте новое ядро с опцией <literal>controller pnp0</literal> + в конфигурационном файле, и перезагрузите машину. Ядро + выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в + таблицу в файле <filename>/sys/i386/isa/sio.c</filename>, где-то в районе + 2777 строки. Чтобы найти таблицу, поищите слово <literal>SUP1310</literal> + в структуре <literal>siopnp_ids[]</literal>. Снова постройте ядро, + проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть + опознан.</para> + + <para>Вам может понадобиться отконфигурировать PnP-устройства командой + <literal>pnp</literal> в конфигураторе во время загрузки следующим + образом:</para> + + <para> + <programlisting> +pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 + </programlisting> -<para> -<orderedlist> + чтобы модем был распознан.</para> -<listitem> -<para>Постройте ядро с опцией <emphasis remap=tt>options COMCONSOLE</emphasis>. - </para> -</listitem> + </answer> +</qandaentry> -<listitem> -<para>Создайте файл /boot.config, поместив туда только текст <option>-P</option>. - </para> -</listitem> -<listitem> -<para>Отключите клавиатуру. +<qandaentry> + <question> + <para>Как сделать, чтобы приглашение boot: выводилось на консоль на + последовательном порту?</para> + </question> + + <answer> + + <para> + <orderedlist> + <listitem> + <para>Постройте ядро с параметром + <literal>options COMCONSOLE</literal>.</para> + </listitem> + + <listitem> + <para>Создайте файл /boot.config, поместив туда только текст + <option>-P</option>.</para> + </listitem> + + <listitem> + <para>Отключите клавиатуру.</para> + </listitem> + </orderedlist> </para> -</listitem> -</orderedlist> -</para> - -<para>Подробная информация находится в файле - <filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename>.</para> - -</answer></qandaentry> + <para>Подробная информация находится в файле + <filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename>.</para> -<qandaentry><question> -<para> Почему сетевой адаптер 3Com PCI не работает с компьютерами Micron? - </para></question><answer> + </answer> +</qandaentry> -<para>Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую - стандарту PCI BIOS, что приводит к несоответствию устройств PCI - занимаемым ими адресам. Это приводит к печальным последствиям при - загрузке FreeBSD.</para> - -<para>Для решения этой проблемы отключите в BIOS опцию "Plug and Play - Operating System" . </para> - -<para>Более подробная информация об этой проблеме находится по следующему - адресу: <ulink URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para> - -</answer></qandaentry> + +<qandaentry> + <question> + <para>Почему сетевой адаптер 3Com PCI не работает с компьютерами + Micron?</para> + </question> + + <answer> + + <para>Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую + стандарту PCI BIOS, что приводит к несоответствию устройств PCI + занимаемым ими адресам. Это приводит к печальным последствиям при + загрузке FreeBSD.</para> + + <para>Для решения этой проблемы отключите в BIOS опцию <quote>Plug and Play + Operating System</quote>.</para> + + <para>Более подробная информация об этой проблеме находится по следующему + адресу: <ulink + URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron"> + http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para> + + </answer> +</qandaentry> <qandaentry> <question> <para>Поддерживает ли FreeBSD многопроцессорные системы (SMP)?</para> - </question><answer> + </question> + + <answer> + + <para>Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и + последующих релизах. По умолчанию поддержка SMP в ядре + <emphasis>GENERIC</emphasis> не включена, так что для её включения вам + нужно будет перекомпилировать ядро. Посмотрите в файл + <filename>/sys/i386/conf/LINT</filename>, чтобы определить, какие параметры + нужно поместить в конфигурационный файл вашего ядра.</para> -<para>Поддержка SMP (Symmetric Multiprocessing) имеется только в - 3.0-STABLE и последующих релизах.</para> - </answer> </qandaentry> @@ -3178,470 +3371,538 @@ id="troubleshoot"> <title>Устранение некоторых проблем</title> -<qandaset><qandaentry><question -id="awre"> -<para> На моём винчестеры есть запорченные блоки! - </para></question><answer> +<qandaset> +<qandaentry> + <question id="awre"> + <para>На моём винчестеры есть запорченные блоки!</para> + </question> -<para>Если это SCSI-устройство, то винчестер должен иметь возможность - автоматической переадресации таких блоков. Однако по непонятным - причинам во многих поставляемых дисках эта возможность отключена...</para> - -<para>Чтобы её включить, вам нужно изменить режим работы устройства, что - во FreeBSD может быть выполнено администратором посредством команды</para> - -<para> -<literallayout> scsi -f /dev/rsd0c -m 1 -e -P 3 - </literallayout> -</para> - -<para>и изменить значения параметров AWRE и ARRE с 0 на 1:-</para> - -<para> -<literallayout> AWRE (Auto Write Reallocation Enbld): 1 - ARRE (Auto Read Reallocation Enbld): 1 - </literallayout> -</para> - -<para>Последующие параграфы были предоставлены - <ulink URL="mailto:tedm@toybox.placo.com">Тэдом Миттельштадтом</ulink> - (Ted Mittelstaedt):</para> - -<para>Для дисков IDE появление запорченных блоков является признаком - возможных неприятностей. Все современные IDE-диски поставляются с - включенной возможностью переадресации испорченных блоков. Все - производители винчестеров в настоящее время предоставляют расширенные - гарантии и заменяют диски с запорченными блоками.</para> - -<para>Если вы всё же хотите спасти ваш диск IDE с запорченными блоками, - вы можете попытаться найти программу диагностики винчестеров от - производителя и протестировать ею диск. Иногда эти программы могут - заставить электронику винчестера пересканировать диск в поисках - испорченных блоков и заблокировать их.</para> - -<para>В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков - является обычным явлением и не является большой проблемой. В ПК - контроллер винчестера и BIOS берут на себя работу по блокировке - испорченных блоков. Это прекрасно работает в случае операционных систем - типа DOS, которые используют вызовы BIOS для доступа к диску. Однако - драйвер диска во FreeBSD не обращается к BIOS, поэтому для обеспечения - подобной функциональности существует bad144. bad144 работает только с - драйвером wd, её НЕВОЗМОЖНО использовать со SCSI. bad144 помещает все - найденные испорченные сектора в специальный файл.</para> - -<para>У bad144 имеется особенность - специальный файл с испорченными - блоками помещается на последнюю дорожку диска. Так как этот файл - может содержать список испорченных секторов, находящихся в начале - диска, где может располагаться файл ядра /kernel, он должен быть - доступен загрузчику, использующему вызовы BIOS для чтения файла ядра. - Это значит, что диск, который использует bad144, не должен иметь - размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это - ограничивает размер диска, обрабатываемого bad144, 500 мегабайтами.</para> - -<para>Для использования bad144, просто установите "Bad Block" - в положение ON на экране программы fdisk во время начальной установки. - Это работает начиная с FreeBSD 2.2.7. Диск должен иметь размер, - не превышающий 1024 дорожки. Рекомендуется, чтобы до этого диск - проработал не менее 4 часов для перехода в рабочий тепловой режим и - стабильный режим работы головок.</para> - -<para>Если диск имеет размер, превышающий 1024 головки (как, например, - большой диск ESDI), контроллер ESDI использует особый режим - трансляции, чтобы это работало в DOS. Драйвер wd будет знать об этих - режимах трансляции, ЕСЛИ вы укажете на использование "преобразованных" - параметров в команде "set geometry" программы fdisk. Вы также НЕ должны - использовать режим "dangerously dedicated" при выделении раздела для - FreeBSD, так как при этом параметры диска не принимаются во внимание. - Также, хотя fdisk будет использовать изменённые параметры, он всё же - помнит настоящий размер диска, и попытается создать слишком большой - раздел FreeBSD. Если параметры диска изменились на транслированные, - раздел ДОЛЖЕН быть создан вручную с указанием количества блоков.</para> - -<para>Самым быстрым способом является установка большого диска ESDI с - контоллером ESDI, загрузка DOS и выделение на нём раздела DOS. Затем - запустите инсталляционную программу FreeBSD и в экране программы - fdisk найдите и запишите размер блока и их количество раздела DOS. - Затем установите параметры в те же значения, которые использует DOS, - удалите раздел DOS и создайте "совмещённый" раздел FreeBSD с ранее - записанным размером блока. Затем установите загрузку с этого раздела - и включите сканирование испорченных блоков. Во время установки сначала, - ещё до создания файловых систем, запустится bad144 (вы можете это - увидеть по Alt-F2). Если возникнут проблемы при создании файла с - запорченными секторами, вы установили слишком большие параметры диска - - перезагрузитесь и начните всё сначала (включая повторные разбиение - на разделы и форматирование винчестера в DOS).</para> - -<para>Если переадресация включена и всё равно на диске присутствуют - запорченные блоки, то, по-видимому, остаётся только заменить винчестер. - Количество испорченных блоков с течением времени имеет тенденцию только - увеличиваться.</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a! - </para></question><answer> + <para>Если это SCSI-устройство, то винчестер должен иметь возможность + автоматической переадресации таких блоков. Однако по непонятным + причинам во многих поставляемых дисках эта возможность отключена...</para> -<para>Нижеследующая информация специфична для 742a, но может касаться и - других адаптеров от Buslogic (Bustek = Buslogic).</para> - -<para>Существуют две основных ``версии'' адаптеров 742a. Это аппаратные - модификации A-G и модификации H и выше. Буква, обозначающая - модификацию, расположена после номера сборки на кромке адаптера. На - адаптере 742a установлены две микросхемы ПЗУ, одна содержит BIOS, а - другая - микрокод (так называемое firmware). Для FreeBSD не имеет - значения используемая версия BIOS, но имеет значение версия микрокода. - Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел - технической поддержки. Михросхемы с BIOS и микрокодом поставляются - соответствующими парами. В ПЗУ адаптера вы должны иметь самую - последнюю версии микрокода для вашей аппаратной модификации.</para> - -<para>Адаптерам модификаций A-G может только подойти BIOS/Firmware версий - вплоть до 2.41/2.21. Адаптерам модификаций H и старше подходят самые - последние версии BIOS/Firmware 4.70/3.37. Отличие между версиями - микрокода заключается в том, что версия микрокода 3.37 поддерживает - механизм ``round robin''.</para> - -<para>На адаптерах Buslogic проставлен серийный номер. Если у вас - адаптер старой модификации, вы можете позвонить в подразделение RMA - фирмы Buslogic, сказать им серийный номер адаптера и попытаться - обменять его на более новую модификацию. Если адаптер достаточно нов, - то они его поменяют.</para> - -<para>FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. - Если у вас версия микрокода старее, чем эта, то адаптер не будет - распознаваться как адаптер Buslogic. Однако он может быть опознан - как Adaptec 1540. Ранние версии микрокода от Buslogic содержат режим - ``эмуляции'' AHA1540. Однако для EISA-адаптера всё это выглядит как-то - некрасиво.</para> - -<para>Если у вас адаптер старой модификации и вы получили микрокод 2.21 - для него, установите перемычку W1 в положение B-C, по умолчанию она - находится в положении A-B.</para> - -<para>Адаптеры 742a EISA никогда не имели проблему ``>16MB'', описанную в - разделе <link linkend="bigram">о машинах с >16 MB ОЗУ</link>. - Эта проблема возникает со SCSI-адаптерами Vesa-Local Buslogic.</para> - -</answer></qandaentry> + <para>Чтобы её включить, вам нужно изменить режим работы устройства, что + во FreeBSD может быть выполнено администратором посредством команды</para> -<qandaentry><question> -<para> Не распознаётся SCSI-контроллер на HP Netserver! - </para></question><answer> + <screen> +&prompt.root; <userinput>scsi -f /dev/rsd0c -m 1 -e -P 3</userinput> + </screen> -<para>В общем-то это известная проблема. EISA-контроллеры SCSI, - расположенные на материнской плате машин HP Netserver, занимают - EISA-слот номер 11, так что все ``настоящие'' слоты EISA будут ему - предшествовать. Так как адресное пространство для слотов EISA выше 10 - пересекается с адресным пространством, предназначенным для PCI, то - автоконфигуратор FreeBSD в настоящее время не может эту проблему - нормально обойти.</para> - -<para>Так что пока лучшее, что вы можете предпринять, это попытаться - указать, что пересечения диапазонов адресов нет :), установив опцию - ядра <symbol>EISA_SLOTS</symbol> в значение 12. Отконфигурируйте и откомпилируйте - ядро так, как это описано в <ulink URL="../../handbook/kernelconfig.html">разделе Руководства</ulink> о конфигурировании ядра.</para> - -<para>Конечно, это даст вам типичную ситуации "курица или яйцо" - при установке системы на такой машине. Для обхода этой проблемы - внутри <emphasis>UserConfig</emphasis> есть специальный хак. Не используя - ``визуального'' интерфейса, а только интерфейс командной строки, - просто наберите</para> - -<para> -<literallayout> eisa 12 - quit - </literallayout> -</para> + <para>и изменить значения параметров AWRE и ARRE с 0 на 1:-</para> + + <programlisting> +AWRE (Auto Write Reallocation Enbld): 1 +ARRE (Auto Read Reallocation Enbld): 1 + </programlisting> + + <para>Последующие параграфы были предоставлены <ulink + URL="mailto:tedm@toybox.placo.com">Тэдом Миттельштадтом</ulink> + (Ted Mittelstaedt):</para> + + <para>Для дисков IDE появление запорченных блоков является признаком + возможных неприятностей. Все современные IDE-диски поставляются с + включенной возможностью переадресации испорченных блоков. Все + производители винчестеров в настоящее время предоставляют расширенные + гарантии и заменяют диски с запорченными блоками.</para> + + <para>Если вы всё же хотите спасти ваш диск IDE с запорченными блоками, + вы можете попытаться найти программу диагностики винчестеров от + производителя и протестировать ею диск. Иногда эти программы могут + заставить электронику винчестера пересканировать диск в поисках + испорченных блоков и заблокировать их.</para> + + <para>В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков + является обычным явлением и не является большой проблемой. В ПК + контроллер винчестера и BIOS берут на себя работу по блокировке + испорченных блоков. Это прекрасно работает в случае операционных систем + типа DOS, которые используют вызовы BIOS для доступа к диску. Однако + драйвер диска во FreeBSD не обращается к BIOS, поэтому для обеспечения + подобной функциональности существует bad144. bad144 работает только с + драйвером wd (что означает, что эта утилита не поддерживается во FreeBSD + 4.0), её НЕВОЗМОЖНО использовать со SCSI. bad144 помещает все + найденные испорченные сектора в специальный файл.</para> + + <para>У bad144 имеется особенность - специальный файл с испорченными + блоками помещается на последнюю дорожку диска. Так как этот файл + может содержать список испорченных секторов, находящихся в начале + диска, где может располагаться файл ядра /kernel, он должен быть + доступен загрузчику, использующему вызовы BIOS для чтения файла ядра. + Это значит, что диск, который использует bad144, не должен иметь + размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это + ограничивает размер диска, обрабатываемого bad144, 500 мегабайтами.</para> + + <para>Для использования bad144, просто установите <quote>Bad Block</quote> + в положение ON на экране программы fdisk во время начальной установки. + Это работает начиная с FreeBSD 2.2.7. Диск должен иметь размер, + не превышающий 1024 дорожки. Рекомендуется, чтобы до этого диск + проработал не менее 4 часов для перехода в рабочий тепловой режим и + стабильный режим работы головок.</para> + + <para>Если диск имеет размер, превышающий 1024 головки (как, например, + большой диск ESDI), контроллер ESDI использует особый режим + трансляции, чтобы это работало в DOS. Драйвер wd будет знать об этих + режимах трансляции, ЕСЛИ вы укажете на использование + <quote>преобразованных</quote> параметров в команде <quote>set + geometry</quote> программы fdisk. Вы также НЕ должны использовать режим + <quote>dangerously dedicated</quote> при выделении раздела для + FreeBSD, так как при этом параметры диска не принимаются во внимание. + Также, хотя fdisk будет использовать изменённые параметры, он всё же + помнит настоящий размер диска, и попытается создать слишком большой + раздел FreeBSD. Если параметры диска изменились на транслированные, + раздел ДОЛЖЕН быть создан вручную с указанием количества блоков.</para> + + <para>Самым быстрым способом является установка большого диска ESDI с + контоллером ESDI, загрузка DOS и выделение на нём раздела DOS. Затем + запустите инсталляционную программу FreeBSD и в экране программы + fdisk найдите и запишите размер блока и их количество раздела DOS. + Затем установите параметры в те же значения, которые использует DOS, + удалите раздел DOS и создайте <quote>совмещённый</quote> раздел FreeBSD с + ранее записанным размером блока. Затем установите загрузку с этого раздела + и включите сканирование испорченных блоков. Во время установки сначала, + ещё до создания файловых систем, запустится bad144 (вы можете это + увидеть по Alt-F2). Если возникнут проблемы при создании файла с + запорченными секторами, вы установили слишком большие параметры диска + - перезагрузитесь и начните всё сначала (включая повторные разбиение + на разделы и форматирование винчестера в DOS).</para> + + <para>Если переадресация включена и всё равно на диске присутствуют + запорченные блоки, то, по-видимому, остаётся только заменить винчестер. + Количество испорченных блоков с течением времени имеет тенденцию только + увеличиваться.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a!</para> + </question><answer> + + <para>Нижеследующая информация специфична для 742a, но может касаться и + других адаптеров от Buslogic (Bustek = Buslogic).</para> + + <para>Существуют две основных <quote>версии</quote> адаптеров 742a. Это + аппаратные модификации A-G и модификации H и выше. Буква, обозначающая + модификацию, расположена после номера сборки на кромке адаптера. На + адаптере 742a установлены две микросхемы ПЗУ, одна содержит BIOS, а + другая - микрокод (так называемое firmware). Для FreeBSD не имеет + значения используемая версия BIOS, но имеет значение версия микрокода. + Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел + технической поддержки. Михросхемы с BIOS и микрокодом поставляются + соответствующими парами. В ПЗУ адаптера вы должны иметь самую + последнюю версии микрокода для вашей аппаратной модификации.</para> + + <para>Адаптерам модификаций A-G может только подойти BIOS/Firmware версий + вплоть до 2.41/2.21. Адаптерам модификаций H и старше подходят самые + последние версии BIOS/Firmware 4.70/3.37. Отличие между версиями + микрокода заключается в том, что версия микрокода 3.37 поддерживает + механизм <quote>round robin</quote>.</para> + + <para>На адаптерах Buslogic проставлен серийный номер. Если у вас + адаптер старой модификации, вы можете позвонить в подразделение RMA + фирмы Buslogic, сказать им серийный номер адаптера и попытаться + обменять его на более новую модификацию. Если адаптер достаточно нов, + то они его поменяют.</para> + + <para>FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. + Если у вас версия микрокода старее, чем эта, то адаптер не будет + распознаваться как адаптер Buslogic. Однако он может быть опознан + как Adaptec 1540. Ранние версии микрокода от Buslogic содержат режим + <quote>эмуляции</quote> AHA1540. Однако для EISA-адаптера всё это выглядит + как-то неприлично.</para> + + <para>Если у вас адаптер старой модификации и вы получили микрокод 2.21 + для него, установите перемычку W1 в положение B-C, по умолчанию она + находится в положении A-B.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Не распознаётся SCSI-контроллер на HP Netserver!</para> + </question> + + <answer> + + <para>В общем-то это известная проблема. EISA-контроллеры SCSI, + расположенные на материнской плате машин HP Netserver, занимают + EISA-слот номер 11, так что все <quote>настоящие</quote> слоты EISA будут + ему предшествовать. Так как адресное пространство для слотов EISA выше 10 + пересекается с адресным пространством, предназначенным для PCI, то + автоконфигуратор FreeBSD в настоящее время не может эту проблему + нормально обойти.</para> + + <para>Так что пока лучшее, что вы можете предпринять, это попытаться + указать, что пересечения диапазонов адресов нет :), установив опцию + ядра <literal>EISA_SLOTS</literal> в значение 12. Отконфигурируйте и + откомпилируйте ядро так, как это описано в <ulink + URL="../../handbook/kernelconfig.html">разделе Руководства</ulink> о + конфигурировании ядра.</para> + + <para>Конечно, это даст вам типичную ситуации "курица или яйцо" + при установке системы на такой машине. Для обхода этой проблемы + внутри <emphasis>UserConfig</emphasis> есть специальный хак. Не используя + <quote>визуального</quote> интерфейса, а только интерфейс командной строки, + просто наберите</para> + + <programlisting> +eisa 12 +quit + </programlisting> <para>в приглашении, и проинсталлируйте систему как обычно. В любом случае рекомендуется, что вы отконфигурируете и проинсталлируете собственное ядро.</para> -<para>Надеемся, что будущие версии будут содержать полное решение этой - проблемы.</para> - -<para><emphasis remap=tt>ЗАМЕЧАНИЕ:</emphasis> Вы не сможете использовать режим - <emphasis remap=bf>dangerously dedicated</emphasis> на машинах HP - Netserver. Полное описание причин содержится в - <link linkend="dedicate">этом замечании</link>.</para> + <para>Надеемся, что будущие версии будут содержать полное решение этой + проблемы.</para> -</answer></qandaentry> + <para> + <note> + <para>Вы не сможете использовать режим <emphasis remap=bf>dangerously + dedicated</emphasis> на машинах HP Netserver. Полное описание причин + содержится в <link linkend="dedicate">этом замечании</link>.</para> + </note> + </para> -<qandaentry><question> -<para>Что не так с IDE-контроллером CMD640?</para></question><answer> + </answer> +</qandaentry> -<para>Этот контроллер не рабочий. Он не может отрабатывать команды на - обоих каналах одновременно.</para> - -<para>Решение этой проблемы существует и включается автоматически, если - в вашей системе испольщуется этот контроллер. Подробная информация - находится на страницах Справочника по дисковому драйверу (man 4 wd).</para> - -<para>Если вы уже работаете с FreeBSD 2.2.1 или 2.2.2 с IDE-контроллером - CMD640 и хотите использовать второй канал, постройте новое ядро с - включенной опцией <emphasis remap=tt>options "CMD640"</emphasis>. В версии 2.2.6 и выше это - включено по умолчанию.</para> - -</answer></qandaentry> -<qandaentry><question> -<para>Выдаются сообщения типа ``<emphasis remap=tt>ed1: timeout</emphasis>''.</para></question><answer> +<qandaentry> + <question> + <para>Что не так с IDE-контроллером CMD640?</para> + </question> -<para>Обычно это вызвано конфликтом прерываний (например, двух адаптеров, - использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была - нечувствительна к таким конфликтам, и драйвер сетевого адапетра - оставался работоспособен даже при конфликтах IRQ. Однако с версии - 2.0.5R и выше, конфликты IRQ больше не считаются безобидными. - Загрузитесь с опцией -c и смените строку, описывающую ed0/de0/... - на соответствующую вашей системе..</para> - -<para>Если вы используете разъём BNC сетевого адаптера, таймауты - устройства могут быть вызваны плохим терминированием. Чтобы это - проверить, подключите терминатор к адаптеру (без кабеля) и - посмотрите, не исчезли ли сообщения об ошибках.</para> - -<para>Некоторые NE2000-совместимые адаптеры выдают такую ошибку, если нет - связи по UTP-порту или отключен кабель.</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> При монтировании компакт-диска, выдаётся сообщение - ``Incorrect super block''. - </para></question><answer> + <para>Этот контроллер не рабочий. Он не может отрабатывать команды на + обоих каналах одновременно.</para> + + <para>Решение этой проблемы существует и включается автоматически, если + в вашей системе используется этот контроллер. Подробная информация + находится на страницах Справочника по дисковому драйверу (man 4 wd).</para> + + <para>Если вы уже работаете с FreeBSD 2.2.1 или 2.2.2 с IDE-контроллером + CMD640 и хотите использовать второй канал, постройте новое ядро с + включенной опцией <literal>options "CMD640"</literal>. В версии 2.2.6 и + выше это включено по умолчанию.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Выдаются сообщения типа <literal>ed1: timeout</literal>.</para> + </question> + + <answer> + + <para>Обычно это вызвано конфликтом прерываний (например, двух адаптеров, + использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была + нечувствительна к таким конфликтам, и драйвер сетевого адапетра + оставался работоспособен даже при конфликтах IRQ. Однако с версии + 2.0.5R и выше, конфликты IRQ больше не считаются безобидными. + Загрузитесь с опцией -c и смените строку, описывающую ed0/de0/... + на соответствующую вашей системе..</para> + + <para>Если вы используете разъём BNC сетевого адаптера, таймауты + устройства могут быть вызваны плохим терминированием. Чтобы это + проверить, подключите терминатор к адаптеру (без кабеля) и + посмотрите, не исчезли ли сообщения об ошибках.</para> + + <para>Некоторые NE2000-совместимые адаптеры выдают такую ошибку, если нет + связи по UTP-порту или отключен кабель.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>При монтировании компакт-диска, выдаётся сообщение <literal>Incorrect + super block</literal>.</para> + </question> + + <answer> <para>В параметрах команды <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?mount(8)">mount</ulink> вам нужно указать тип устройства, который вы собираетесь смонтировать. По умолчанию <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?mount(8)"> mount(8)</ulink> полагает, что монтируемая файловая система имеет тип - ``<emphasis remap=tt>ufs</emphasis>''. При монтировании файловой системы - CDROM нужно указать опцию ``<option>-t cd9660</option>'' в команде <ulink + <literal>ufs</literal>. При монтировании файловой системы + CDROM нужно указать опцию <option>-t cd9660</option> в команде <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?mount(8)">mount(8)</ulink>. При этом, конечно же, предполагается, что CDROM содержит файловую систему стандарта ISO 9660, как на большинстве CDROM. С версии 1.1R FreeBSD автоматически распознаёт также расширение Rock Ridge (для длинных имён файлов).</para> -<para>Например, если вы хотите смонтировать устройство CDROM - ``<filename>/dev/cd0c</filename>'', в каталог <filename>/mnt</filename>, вы должны выполнить - следующую команду:</para> - -<para> -<literallayout> mount -t cd9660 /dev/cd0c /mnt - </literallayout> -</para> - -<para>Заметьте, что имя устройства (``<filename>/dev/cd0c</filename>'' в этом примере) - может быть другим, в зависимости от интерфейса вашего CDROM. - Отметьте, что опция ``<option>-t cd9660</option>'' всего лишь приводит к вызову - команды ``<symbol>mount_cd9660</symbol>'', так что пример выше может быть - укорочен до такой команды:</para> - -<para> -<literallayout> mount_cd9660 /dev/cd0c /mnt - </literallayout> -</para> - -</answer></qandaentry> + <para>Например, если вы хотите смонтировать устройство CDROM + <filename>/dev/cd0c</filename> в каталог <filename>/mnt</filename>, вы + должны выполнить следующую команду:</para> -<qandaentry><question> -<para> При монтировании компакт-диска выдаётся сообщение - ``Device not configured''. - </para></question><answer> + <screen> +&prompt.root; <userinput>mount -t cd9660 /dev/cd0c /mnt</userinput> + </screen> -<para>Обычно это означает, что в приводе CDROM нет компакт-диска либо - устройство не было обнаружено на этапе загрузки. Вставьте в - привод какой-нибудь диск, и/или проверьте его настройку как - ведущего/ведомого устройства, если оно типа IDE (ATAPI). Для привода - CDROM может потребоваться несколько секунд для обнаружения, что был - вставлен диск, так что будьте терпеливыми.</para> - -<para>Иногда SCSI CDROM может отсутствовать в системе из-за недостатка - времени на ответ при сбросе шины. Если ваш привод CD-ROM является - SCSI-устройством, пожалуйста, попробуйте добавить такой символ в ваш - файл конфигурации ядра и перекомпилируйте его.</para> - -<para> -<literallayout> options "SCSI_DELAY=15" - </literallayout> -</para> - -</answer></qandaentry> + <para>Заметьте, что имя устройства (<filename>/dev/cd0c</filename> в этом + примере) может быть другим, в зависимости от интерфейса вашего CDROM. + Отметьте, что опция <option>-t cd9660</option> всего лишь приводит к вызову + команды <command>mount_cd9660</command>, так что пример выше может быть + укорочен до такой команды:</para> -<qandaentry><question> -<para> Мой принтер печатает невероятно медленно. Что тут можно сделать? - </para></question><answer> + <screen> +&prompt.root; <userinput>mount_cd9660 /dev/cd0c /mnt</userinput> + </screen> -<para>Если принтер подключен к параллельному порту, и единственной - проблемой является его медлительность, попробуйте установить порт в - режим ``polled'':</para> - -<para> -<literallayout> lptcontrol -p - </literallayout> -</para> - -<para>Утверждается, что некоторые новейшие принтеры от HP не работают - корректно в режиме прерываний, скорее всего из-за (это ещё не совсем - точно выянено) проблем с временными задержками.</para> - -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para> Программы аварийно завершают работу с ошибкой ``Signal 11''. - </para></question><answer> -<para>Это может быть вызвано сбоями аппаратного обеспечением (память, - материнская плата, итд). Попробуйте запустить на вашем ПК программу - тестирования памяти. Имейте в виду, что в случае незначительных - отклонений в работе возможна ситуация, когда все программы - тестирования, которые вы будете пробовать, будут утверждать, что с - ОЗУ всё в порядке, а ошибка будет возникать при определённых условиях - (таких, как использование DMA при использовании режима управления - шиной контроллером SCSI типа Adaptec 1542, интенсивное обращение к - ОЗУ при компиляции ядра или значительной нагрузке на систему).</para> - -<para>В FAQ по SIG11 (ссылка дана ниже) сказано, что медленная память - является самая распространённой причиной возникновения этой проблемы. - Увеличьте число тактов ожидания в настройке BIOS или установите более - быструю память.</para> - -<para>Для меня самой распространённой причиной была сбойная кэш-память - или кэш-контроллер. Попробуйте отключить внешний кэш (второго - уровня) в BIOS и посмотрите, не решит ли это вашу проблему.</para> - -<para>Подробная информация по этому вопросу содержится в <ulink URL="http://www.bitwizard.nl/sig11/">FAQ по проблеме SIG11</ulink>.</para> - -</answer></qandaentry> +<qandaentry> + <question> + <para>При монтировании компакт-диска выдаётся сообщение <literal>Device not + configured</literal>.</para> + </question> + <answer> -<qandaentry><question> -<para>При загрузке монитор темнеет и теряет синхронизацию! - </para></question><answer> + <para>Обычно это означает, что в приводе CDROM нет компакт-диска либо + устройство не было обнаружено на этапе загрузки. Вставьте в + привод какой-нибудь диск, и/или проверьте его настройку как + ведущего/ведомого устройства, если оно типа IDE (ATAPI). Для привода + CDROM может потребоваться несколько секунд для обнаружения, что был + вставлен диск, так что будьте терпеливыми.</para> -<para>Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, - что этот адаптер использует адрес <emphasis remap=tt>2e8</emphasis>, как и - четвёртый последовательный порт. Из-за ошибки (или особенности?) в драйвере - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio(4)">sio(4)</ulink> он - обращается к порту, даже если если он не существует, и - <emphasis remap=bf>даже</emphasis> если вы отключите sio3 (четвёртый порт), - который, как правило, использует этот адрес ввода/вывода.</para> - -<para>Пока это не исправлено, используйте следующий метод:</para> - -<para> - <orderedlist> - <listitem> - <para>В приглашенни загрузчика наберите <option>-c</option>. (Это - переведёт ядро в режим конфигурации).</para> - </listitem> + <para>Иногда SCSI CDROM может отсутствовать в системе из-за недостатка + времени на ответ при сбросе шины. Если ваш привод CD-ROM является + SCSI-устройством, пожалуйста, попробуйте добавить такой символ в ваш + файл конфигурации ядра и перекомпилируйте его.</para> - <listitem> - <para>Отключите устройства <emphasis remap=tt>sio0</emphasis>, - <emphasis remap=tt>sio1</emphasis>, <emphasis - remap=tt>sio2</emphasis> и <emphasis remap=tt>sio3</emphasis> - (все). После этого драйвер sio не будет активизироваться и проблем - не будет.</para> - </listitem> + <programlisting> +options "SCSI_DELAY=15" + </programlisting> - <listitem> - <para>Для продолжения загрузки наберите exit.</para> - </listitem> - </orderedlist> -</para> - -<para>Если вам нужно использовать последовательные порты, вм должны построить - новое ядро со следующей модификацией: в файле - <filename>/usr/src/sys/i386/isa/sio.c</filename> найдите строчку, содержащую - число <literal>0x2e8</literal> и удалите её вместе с предшествующий запятой - (оставив следующую). После этого следуйте обычным указаниям по построению - ядра.</para> - -<para>Даже после этих изменений вы можете обнаружить, что X Window работает - ненормально. Если это произошло, удостоверьтесь, что вы используете - XFree86 версии не ниже 3.3.3. Этот и последующие релизы имеют встроенную - поддержку адаптеров Mach64 и даже отдельный X-сервер для таких - адаптеров.</para> + </answer> +</qandaentry> -</answer></qandaentry> +<qandaentry> + <question> + <para>Мой принтер печатает невероятно медленно. Что тут можно + сделать?</para> + </question> -<qandaentry><question id="reallybigram"> -<para>У меня 128 МБ ОЗУ, но система используется только 64. - </para></question><answer> + <answer> -<para>Так как для определения объёма памяти FreeBSD использует информацию - BIOS, она ограничена 16 битами, используемыми для выражения - размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые - BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ - ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка - может и не удасться).</para> - -<para>Для решения этой проблемы вам нужно использовать опцию ядра, - указанную ниже. Способ выяснения полной информации о памяти из BIOS - существует, но у нас нет места в загрузочном блоке, чтобы это делать. - Когда проблема нехватки места в загрузочных блоках будет решена, мы - будем использовать расширенные функции BIOS для получения полной - информации о памяти... но пока мы остановились на опции ядра.</para> - -<para> <literal> options "MAXMEM=<n>" - </literal></para> - -<para>Здесь <emphasis remap=tt>n</emphasis> - это объём памяти в килобайтах. Для машины со 128 МБ - ОЗУ вам нужно использовать значение <emphasis remap=tt>131072</emphasis>.</para> - -</answer></qandaentry> + <para>Если принтер подключен к параллельному порту, и единственной + проблемой является его медлительность, попробуйте установить порт в + режим <quote>polled</quote>:</para> -<qandaentry><question> -<para> FreeBSD 2.0 аварийно завершает работу с сообщением - ``kmem_map too small!'' - </para></question><answer> + <screen> +&prompt.root; <userinput>lptcontrol -p</userinput> + </screen> -<para><emphasis remap=tt>Замечание</emphasis> Сообщение может также выглядеть как - ``mb_map too small!''</para> - -<para>Такое завершение работы показывает, что системе не хватает - виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы - можете увеличить количество виртуальной памяти для структур mbuf, - добавив:</para> - -<para><literal>options "NMBCLUSTERS=<n>"</literal></para> - - <para>в файл конфигурации ядра, где <n> - это число в пределах - 512-4096, в зависимости от числа TCP-соединений, которое вам нужно - одновременно обслуживать. Я рекомендую попробовать значение 2048 - это - должно избавить вас от аварийных остановов. Вы можете отслеживать + <para>Утверждается, что некоторые новейшие принтеры от HP не работают + корректно в режиме прерываний, скорее всего из-за (это ещё не совсем + точно выянено) проблем с временными задержками.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Программы аварийно завершают работу с ошибкой <literal>Signal + 11</literal>.</para> + </question> + + <answer> + + <para>Это может быть вызвано сбоями аппаратного обеспечением (память, + материнская плата, итд). Попробуйте запустить на вашем ПК программу + тестирования памяти. Имейте в виду, что в случае незначительных + отклонений в работе возможна ситуация, когда все программы + тестирования, которые вы будете пробовать, будут утверждать, что с + ОЗУ всё в порядке, а ошибка будет возникать при определённых условиях + (таких, как использование DMA при использовании режима управления + шиной контроллером SCSI типа Adaptec 1542, интенсивное обращение к + ОЗУ при компиляции ядра или значительной нагрузке на систему).</para> + + <para>В FAQ по SIG11 (ссылка дана ниже) сказано, что медленная память + является самая распространённой причиной возникновения этой проблемы. + Увеличьте число тактов ожидания в настройке BIOS или установите более + быструю память.</para> + + <para>Для меня самой распространённой причиной была сбойная кэш-память + или кэш-контроллер. Попробуйте отключить внешний кэш (второго + уровня) в BIOS и посмотрите, не решит ли это вашу проблему.</para> + + <para>Подробная информация по этому вопросу содержится в <ulink + URL="http://www.bitwizard.nl/sig11/">FAQ по проблеме SIG11</ulink>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>При загрузке монитор темнеет и теряет синхронизацию!</para> + </question> + + <answer> + + <para>Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, + что этот адаптер использует адрес <literal>2e8</literal>, как и + четвёртый последовательный порт. Из-за ошибки (или особенности работы?) в + драйвере <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio(4)"> + sio(4)</ulink> он обращается к порту, даже если если он не существует, и + <emphasis remap=bf>даже</emphasis> если вы отключите sio3 (четвёртый порт), + который, как правило, использует этот адрес ввода/вывода.</para> + + <para>Пока это не исправлено, используйте следующий метод:</para> + + <para> + <orderedlist> + <listitem> + <para>В приглашенни загрузчика наберите <option>-c</option>. (Это + переведёт ядро в режим конфигурации).</para> + </listitem> + + <listitem> + <para>Отключите устройства <devicename>sio0</devicename>, + <devicename>sio1</devicename>, <devicename>sio2</devicename> и + <devicename>sio3</devicename> (все их). После этого драйвер sio не + будет активизироваться и проблем не будет.</para> + </listitem> + + <listitem> + <para>Для продолжения загрузки наберите exit.</para> + </listitem> + </orderedlist> + </para> + + <para>Если вам нужно использовать последовательные порты, вм должны построить + новое ядро со следующей модификацией: в файле + <filename>/usr/src/sys/i386/isa/sio.c</filename> найдите строчку, содержащую + число <literal>0x2e8</literal> и удалите её вместе с предшествующий запятой + (оставив следующую). После этого следуйте обычным указаниям по построению + ядра.</para> + + <para>Даже после этих изменений вы можете обнаружить, что X Window работает + ненормально. Если это произошло, удостоверьтесь, что вы используете + XFree86 версии не ниже 3.3.3. Этот и последующие релизы имеют встроенную + поддержку адаптеров Mach64 и даже отдельный X-сервер для таких + адаптеров.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question id="reallybigram"> + <para>У меня 128 МБ ОЗУ, но система используется только 64.</para> + </question> + + <answer> + + <para>Так как для определения объёма памяти FreeBSD использует информацию + BIOS, она ограничена 16 битами, используемыми для выражения + размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые + BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ + ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка + может и не удасться).</para> + + <para>Для решения этой проблемы вам нужно использовать опцию ядра, + указанную ниже. Способ выяснения полной информации о памяти из BIOS + существует, но у нас нет места в загрузочном блоке, чтобы это делать. + Когда проблема нехватки места в загрузочных блоках будет решена, мы + будем использовать расширенные функции BIOS для получения полной + информации о памяти... но пока мы остановились на опции ядра.</para> + + <para><literal>options "MAXMEM=<replaceable>n</replaceable>"</literal></para> + + <para>Здесь <replaceable>n</replaceable> - это объём памяти в килобайтах. Для + машины со 128 МБ ОЗУ вам нужно использовать значение + <literal>131072</literal>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>FreeBSD 2.0 аварийно завершает работу с сообщением <literal>kmem_map + too small!</literal></para> + </question> + + <answer> + + <para> + <note> + <para>Сообщение может также выглядеть как <literal>mb_map too + small!</literal></para> + </note> + </para> + + <para>Такое завершение работы показывает, что системе не хватает + виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы + можете увеличить количество виртуальной памяти для структур mbuf, + добавив:</para> + + <para><literal>options "NMBCLUSTERS=<replaceable>n</replaceable>"</literal> + </para> + + <para>в файл конфигурации ядра, где <replaceable>n</replaceable> - это число + в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам + нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - + это должно избавить вас от аварийных остановов. Вы можете отслеживать количество структур mbuf, выделенных/используемых системой командой <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat(1)">netstat -m</ulink>. - Значение по умолчанию для NMBCLUSTERS равно <emphasis - remap=tt>512 + MAXUSERS * 16</emphasis>.</para> + Значение по умолчанию для NMBCLUSTERS равно + <literal>512 + MAXUSERS * 16</literal>.</para> </answer> </qandaentry> -<qandaentry><question> -<para> Сообщение ``CMAP busy panic'' при перезагрузке с новым ядром. - </para></question><answer> +<qandaentry> + <question> + <para>При перезагрузке с новым ядром выдаётся сообщение <literal>CMAP busy + panic</literal>.</para> + </question> -<para>Процедура определения устаревших фалов <filename>/var/db/kvm_*.db</filename> - иногда даёт сбой и использует не те файлы, что может вызвать аварийный - останов системы.</para> - -<para>Если это случилось, перезагрузитесь в однопользовательском режиме - и выполните команду:</para> - -<para> -<literallayout> rm /var/db/kvm_*.db - </literallayout> -</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</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> + <para>ahc0: brkadrint, Illegal Host Access at seqaddr 0x0</para> + </question> + + <answer> <para>Это - результат конфликта со SCSI-адаптером Ultrastor. </para> @@ -3653,13 +3914,19 @@ id="awre"> </qandaentry> -<qandaentry><question> -<para>Sendmail говорит, что ``mail loops back to myself''</para></question><answer> +<qandaentry> + <question> + <para>Sendmail говорит, что <literal>mail loops back to myself</literal> + </para> + </question> -<para>В FAQ по sendmail на это дан такой ответ:-</para> + <answer> + + <para>В FAQ по sendmail на это дан такой ответ:-</para> -<para> -<literallayout> * Выдаются сообщения "Local configuration error", примерно такие: + <para> + <literallayout> + * Выдаются сообщения "Local configuration error", примерно такие: 553 relay.domain.net config error: mail loops back to myself 554 <user@domain.net>... Local configuration error @@ -3669,167 +3936,191 @@ id="awre"> Согласно записям MX, почта для домена (скажем, domain.net) была перенаправлена на указанный хост (в нашем случае relay.domain.net), но он не распознаётся как domain.net. Добавьте строку domain.net в - файл /etc/sendmail.cw (если вы используете FETURE(use_cw_file)) или + файл /etc/sendmail.cw (если вы используете FEATURE(use_cw_file)) или добавьте "Cw domain.net" в /etc/sendmail.cf. - </literallayout> -</para> - -<para>Текущая версия <ulink URL="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq">FAQ по sendmail</ulink> больше не поставляется вместе с sendmail. - Однако этот документ регулярно помещается в конференции - <ulink URL="news:comp.mail.sendmail">comp.mail.sendmail</ulink>, - <ulink URL="news:comp.mail.misc">comp.mail.misc</ulink>, - <ulink URL="news:comp.mail.smail">comp.mail.smail</ulink>, - <ulink URL="news:comp.answers">comp.answers</ulink> и - <ulink URL="news:news.answers">news.answers</ulink>. - Вы можете получить копию по электронной почте, послав сообщение, - содержащее команду "send usenet/news.answers/mail/sendmail-faq" в теле - письма, в адрес <ulink URL="mailto:mail-server@rtfm.mit.edu">mail-server@rtfm.mit.edu</ulink>.</para> - -</answer></qandaentry> + </literallayout> + </para> -<qandaentry><question> -<para>Полноэкранные приложения на удалённой машине ведут себя неправильно! - </para></question><answer> + <para>Текущая версия <ulink + URL="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq"> + FAQ по sendmail</ulink> больше не поставляется вместе с sendmail. + Однако этот документ регулярно помещается в конференции + <ulink URL="news:comp.mail.sendmail">comp.mail.sendmail</ulink>, + <ulink URL="news:comp.mail.misc">comp.mail.misc</ulink>, + <ulink URL="news:comp.mail.smail">comp.mail.smail</ulink>, + <ulink URL="news:comp.answers">comp.answers</ulink> и + <ulink URL="news:news.answers">news.answers</ulink>. + Вы можете получить копию по электронной почте, послав сообщение, + содержащее команду + <literal>send usenet/news.answers/mail/sendmail-faq</literal> в теле + письма, в адрес <email>mail-server@rtfm.mit.edu</email>.</para> -<para>На удалённой машине тип терминала может быть устанавлен в значение, - отличное от типа терминала <emphasis remap=tt>cons25</emphasis>, - требуемом при использовании консоли FreeBSD.</para> - -<para>Есть несколько возможных способов решения этой проблемы:</para> - -<para> -<itemizedlist> + </answer> +</qandaentry> -<listitem> -<para>После входа на другую машину установите значение переменной - окружения TERM равным <emphasis remap=tt>ansi</emphasis> или - <emphasis remap=tt>sco</emphasis>, если эта машина знает об этих - типах терминалов.</para> -</listitem> -<listitem> -<para>Используйте эмулятор VT100 типа <ulink - URL="http://www.FreeBSD.org/cgi/ports.cgi?screen-">screen</ulink> - на консоли FreeBSD. <emphasis remap=tt>screen</emphasis> даёт вам - возможность открывать несколько рабочих сеансов на одном терминале, и она - имеет ещё ряд полезных особенностей. Каждое окно программы - <emphasis remap=tt>screen</emphasis> ведёт себя как терминал VT100, так - что переменная TERM на удалённой машине должна быть установлена в - значение <emphasis remap=tt>vt100</emphasis>.</para> -</listitem> +<qandaentry> + <question> + <para>Полноэкранные приложения на удалённой машине ведут себя + неправильно!</para> + </question> -<listitem> -<para>Опишите терминал <emphasis remap=tt>cons25</emphasis> в базе данных - характеристик терминалов на удалённой машине. Способ описания зависит от - используемой на этой машине операционной системе. Вам может помочь - чтение руководств по администрированию удалённой системы.</para> -</listitem> + <answer> -<listitem> -<para>Запустите X-сервер на стороне FreeBSD и войдите на удалённую систему - с помощью какого-либо эмулятора терминала, работающего в X Window, такого, - как <emphasis remap=tt>xterm</emphasis> или <emphasis - remap=tt>rxvt</emphasis>. Переменная окружения TERM на удалённой - машине должна быть установлена в значение <emphasis - remap=tt>xterm</emphasis> или <emphasis remap=tt>vt100</emphasis>.</para> -</listitem> + <para>На удалённой машине тип терминала может быть устанавлен в значение, + отличное от типа терминала <literal>cons25</literal>, требуемом при + использовании консоли FreeBSD.</para> -</itemizedlist> -</para> - -</answer></qandaentry> + <para>Есть несколько возможных способов решения этой проблемы:</para> -<qandaentry><question> -<para> Выводятся сообщения "calcru: negative time..." - </para></question><answer> + <para> + <itemizedlist> + <listitem> + <para>После входа на другую машину установите значение переменной + окружения TERM равным <literal>ansi</literal> или + <literal>sco</literal>, если эта машина знает об этих + типах терминалов.</para> + </listitem> -<para>Это может быть вызвано различными аппаратными или программными - проблемами, связанными с прерываниями. Это может быть связано как - с ошибками при программировании, так и с природой самих устройств. - Например, работа с TCP/IP по параллельному порту с использованием - большого MTU приводит к этой проблеме, также как использование - графических акселераторов; в последнем случае вы должны проверить - настройку прерываний на графическом адаптере.</para> - -<para>Одним из проявлений этой проблемы является прерывание работы - процессов с диагностическим сообщением "SIGXCPU exceeded cpu time - limit".</para> - -<para>Если эта проблема не может быть решена, для FreeBSD 3.0 от 29 - ноября 1998 и выше измените значение системной переменной:</para> - -<para> -<literallayout> sysctl -w kern.timecounter.method=1</literallayout> -</para> - -<para>Это коснётся производительности системы, но принимая во внимание - источник этой проблемы, это будет незаметно. Если проблема всё ещё - даёт знать о себе, оставьте значение этой переменной равным единичке - и увеличьте значение параметра "NTIMECOUNTER" в файле конфигурации - вашего ядра. Если в конце концов вы достигнете значения - "NTIMECOUNTER=20", то вам эту проблему решить не удастся, прерывания - дают слишком большую нагрузку на процессор, чтобы обеспечить - отслеживание времени.</para> - -</answer></qandaentry></qandaset> + <listitem> + <para>Используйте эмулятор VT100 типа <ulink + URL="http://www.FreeBSD.org/cgi/ports.cgi?screen-">screen</ulink> + на консоли FreeBSD. <application>Screen</application> даёт вам + возможность открывать несколько рабочих сеансов на одном терминале, + и она имеет ещё ряд полезных особенностей. Каждое окно программы + <application>screen</application> ведёт себя как терминал VT100, так + что переменная TERM на удалённой машине должна быть установлена в + значение <literal>vt100</literal>.</para> + </listitem> + + <listitem> + <para>Опишите терминал <literal>cons25</literal> в базе данных + характеристик терминалов на удалённой машине. Способ описания + зависит от используемой на этой машине операционной системе. Вам + может помочь чтение руководств по администрированию удалённой + системы.</para> + </listitem> + + <listitem> + <para>Запустите X-сервер на стороне FreeBSD и войдите на удалённую + систему с помощью какого-либо эмулятора терминала, работающего в X + Window, такого, как <command>xterm</command> или + <command>rxvt</command>. Переменная окружения TERM на удалённой + машине должна быть установлена в значение <literal>xterm</literal> + или <literal>vt100</literal>.</para> + </listitem> + </itemizedlist> + </para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Выводятся сообщения <literal>calcru: negative + time...</literal></para> + </question> + + <answer> + + <para>Это может быть вызвано различными аппаратными или программными + проблемами, связанными с прерываниями. Это может быть связано как + с ошибками при программировании, так и с природой самих устройств. + Например, работа с TCP/IP по параллельному порту с использованием + большого MTU приводит к этой проблеме, также как использование + графических акселераторов; в последнем случае вы должны проверить + настройку прерываний на графическом адаптере.</para> + + <para>Одним из проявлений этой проблемы является прерывание работы + процессов с диагностическим сообщением <quote>SIGXCPU exceeded cpu time + limit</quote>.</para> + + <para>Если эта проблема не может быть решена, для FreeBSD 3.0 от 29 + ноября 1998 и выше измените значение системной переменной:</para> + + <screen> +&prompt.root; <userinput>sysctl -w kern.timecounter.method=1</userinput> + </screen> + + <para>Это коснётся производительности системы, но, принимая во внимание + источник этой проблемы, это будет незаметно. Если проблема всё ещё + даёт о себе знать, оставьте значение этой переменной равным единичке + и увеличьте значение параметра <literal>NTIMECOUNTER</literal> в файле + конфигурации вашего ядра. Если в конце концов вы достигнете значения + <literal>NTIMECOUNTER=20</literal>, то вам эту проблему решить не удастся, + прерывания дают слишком большую нагрузку на процессор, чтобы обеспечить + отслеживание времени.</para> + + </answer> +</qandaentry> +</qandaset> </chapter> -<chapter -id="commercial"> +<chapter id="commercial"> <title>Коммерческие приложения</title> -<para><emphasis remap=bf>ЗАМЕЧАНИЕ</emphasis> Этот раздел выглядит довольно - заброшенным, однако мы, - конечно же, надеемся, что производители сделают добавления! :) Проект - FreeBSD финансово не заинтересован в успехах никакой из компаний, которые - здесь упоминаются, хотя приводит их список в интересах общества (в - предположении, что коммерческий интерес к FreeBSD может положительно - повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков - коммерческого программного обеспечения присылать нам информацию о - ваших продуктах для включения в этот список. Более подробный список - производителей находится на <ulink - URL="../../commercial/commercial.html">странице производителей</ulink>. - </para> - +<para> + <note> + <para>Этот раздел выглядит довольно заброшенным, однако мы, + конечно же, надеемся, что производители сделают добавления! :) Проект + FreeBSD финансово не заинтересован в успехах никакой из компаний, которые + здесь упоминаются, хотя приводит их список в интересах общества (в + предположении, что коммерческий интерес к FreeBSD может положительно + повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков + коммерческого программного обеспечения присылать нам информацию о + ваших продуктах для включения в этот список. Более полный список + производителей находится на <ulink + URL="http://www.FreeBSD.org/commercial/commercial.html">странице + производителей</ulink>.</para> + </note> +</para> -<qandaset><qandaentry><question> -<para>Где можно купить Motif для FreeBSD?</para></question><answer> -<para>Обратитесь в фирму <link linkend="apps2go">Apps2go</link>, предлагающую - самый дешёвый дистрибутив Motif 2.1.20 для FreeBSD (как для i386, так и для - Alpha) в формате ELF.<anchor id="apps2go"></para> +<qandaset> +<qandaentry> + <question> + <para>Где можно купить Motif для FreeBSD?</para> + </question> + + <answer> + + <para>Обратитесь в фирму <link linkend="apps2go">Apps2go</link>, предлагающую + самый дешёвый дистрибутив Motif 2.1.20 для FreeBSD (как для i386, так и для + Alpha) в формате ELF.<anchor id="apps2go"></para> -<para>Существуют два дистрибутива, "для разработчиков" ("development edition") - и ещё более дешёвая "времени выполнения" ("runtime edition"). В эти - дистрибутивы включены: + <para>Существуют два дистрибутива, <quote>для разработчиков</quote> + (<quote>development edition</quote>) и ещё более дешёвая <quote>времени + выполнения</quote> (<quote>runtime edition</quote>). В эти дистрибутивы + включены: - <itemizedlist> - <listitem> - <para>OSF/Motif manager, xmbind, panner, wsm.</para> - </listitem> + <itemizedlist> + <listitem> + <para>OSF/Motif manager, xmbind, panner, wsm.</para> + </listitem> - <listitem> - <para>Пакет разработчика с uil, mrm, xm, xmcxx, файлами include - и Imake.</para> - </listitem> + <listitem> + <para>Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake.</para> + </listitem> - <listitem> - <para>Статические и динамические ELF-библиотеки (для использования - с FreeBSD 3.0 и выше).</para> - </listitem> + <listitem> + <para>Статические и динамические ELF-библиотеки (для использования + с FreeBSD 3.0 и выше).</para> + </listitem> - <listitem> - <para>Демонстрационные приложения.</para> - </listitem> - </itemizedlist> -</para> - -<para>При оформлении заказа не забудьте указать, что вам нужна версия Motif - именно для FreeBSD (не забудьте также указать архитектуру процессора)! - <emphasis>Apps2go</emphasis> также продаёт версии для NetBSD и OpenBSD. В - настоящий момент их можно получить только по FTP.</para> + <listitem> + <para>Демонстрационные приложения.</para> + </listitem> + </itemizedlist> + </para> + <para>При оформлении заказа не забудьте указать, что вам нужна версия Motif + именно для FreeBSD (не забудьте также указать архитектуру процессора)! + <emphasis>Apps2go</emphasis> также продаёт версии для NetBSD и OpenBSD. В + настоящий момент их можно получить только по FTP.</para> + <para> <variablelist> <varlistentry><term>Дополнительная информация</term> @@ -3945,9 +4236,9 @@ id="commercial"> <para><ulink URL="http://www.kde.org/">KDE</ulink> - это свободно распространяемый вариант десктопа для X11, который во многом похож на CDE. - Вам может также приглянуться <ulink url="http://www.xfce.org/">xfce</ulink>. + Вам может также приглянуться <ulink URL="http://www.xfce.org/">xfce</ulink>. Как KDE, так и xfce могут быть найдены в <ulink - url="http://www.FreeBSD.org/ports/">коллекции портов</ulink>.</para> + URL="http://www.FreeBSD.org/ports/">коллекции портов</ulink>.</para> </answer></qandaentry> @@ -4006,9 +4297,9 @@ id="commercial"> дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также предлагает высокопроизводительный X-сервер с поддержкой компьютеров класса laptop.<anchor id="xig"></para> - -<para>Доступна бесплатная "демонстрационная" версия 5.0.</para> - + + <para>Имеется бесплатная <quote>демонстрационная</quote> версия 5.0.</para> + <para>Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите выше).</para> <para> @@ -4042,17 +4333,25 @@ id="commercial"> </answer></qandaentry> -<qandaentry><question> -<para>Существуют ли СУБД для FreeBSD?</para></question><answer> -<para>Да! Обратитесь к разделу <ulink - URL="../commercial/software_bycat.html#CATEGORY_DATABASE">Поставщики - программного обеспечения</ulink> на веб-сервере FreeBSD.</para> +<qandaentry> + <question> + <para>Существуют ли СУБД для FreeBSD?</para> + </question> + + <answer> + + <para>Да! Обратитесь к разделу <ulink + URL="http://www.FreeBSD.org/commercial/software_bycat.html#CATEGORY_DATABASE"> + Поставщики программного обеспечения</ulink> на веб-сервере FreeBSD.</para> + + <para>Также посмотрите раздел <ulink + URL="http://www.FreeBSD.org/ports/databases.html">Базы данных</ulink> + Коллекции портов.</para> + + </answer> +</qandaentry> -<para>Также посмотрите раздел <ulink URL="../ports/databases.html"> - Базы данных</ulink> коллекции портов.</para> - -</answer></qandaentry> <qandaentry><question> <para>Можно ли запустить Oracle на FreeBSD?</para></question><answer> @@ -4092,21 +4391,22 @@ id="commercial"> <answer> - <para>Пожалуйста, загляните на <ulink URL="../../ports/">страницу - портов</ulink>, содержащую информацию о программных продуктах, перенесённых - во FreeBSD. На данный момент в этом списке находится более 1800 приложений - и он ежедневно увеличивается, так что почаще туда заглядывайте или - подпишитесь на <link linkend="mailing">список рассылки</link> <emphasis - remap=tt>freebsd-announce</emphasis>, в котором публикуется информация + <para>Пожалуйста, загляните на <ulink URL="http://www.FreeBSD.org/ru/ports/"> + страницу портов</ulink>, содержащую информацию о программных продуктах, + перенесённых во FreeBSD. На данный момент в этом списке находится более + 3400 приложений и он ежедневно увеличивается, так что почаще туда + заглядывайте или подпишитесь на <link + linkend="mailing">список рассылки</link> + <literal>freebsd-announce</literal>, в котором публикуется информация о появлении новых приложений.</para> - <para>Большинство портов предназначено для версий 2.2, 3.x и 4.0, и многие из + <para>Большинство портов предназначено для веток 2.2, 3.x и 4.x, и многие из них должны нормально работать на системах версий 2.1.x. При выходе нового релиза FreeBSD в него в каталог <filename>ports/</filename> включается актуальная на момент выхода коллекция портов.</para> - <para>Мы также поддерживаем концепцию ``пакаджа'', являющегося не более - чем упакованным дистрибутивом в бинарной форме с некоторыми + <para>Мы также поддерживаем концепцию <quote>пакаджа</quote>, являющегося не + более чем упакованным дистрибутивом в бинарной форме с некоторыми встроенными возможностями по его настройке во время установки. Пакадж может быть легко проинсталлирован и деинсталлирован снова без углубления в детали того, какие файлы должны быть инсталлированы.</para> @@ -4139,7 +4439,7 @@ id="commercial"> </listitem> </varlistentry> - <varlistentry><term>для 4.0-RELEASE/4.X-STABLE</term> + <varlistentry><term>для 4.1-RELEASE/4-STABLE</term> <listitem> <para><ulink URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/"> @@ -4218,7 +4518,8 @@ id="commercial"> <qandaentry> <question> - <para>Выдаются сообщения "Error: can't find libc.so.4.0"</para> + <para>Выдаются сообщения <literal>Error: can't find + libc.so.4.0</literal></para> </question> <answer> @@ -4231,64 +4532,77 @@ id="commercial"> </qandaentry> -<qandaentry><question -id="emul"> -<para> ghostscript выдаёт массу сообщений на моём 386/486SX. - </para></question><answer> +<qandaentry> + <question id="emul"> + <para>ghostscript выдаёт массу сообщений на моём 386/486SX.</para> + </question> -<para>У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой - емулятор сопроцессора; это делается добавлением следующей строки в файл - конфигурации ядра и последующей его перекомпиляцией.</para> - -<para> -<literallayout> options GPL_MATH_EMULATE - </literallayout> -</para> - -<para><emphasis remap=bf>ЗАМЕЧАНИЕ</emphasis> Если вы поступаете таким образом, вам нужно будет - убрать опцию <symbol>MATH_EMULATE</symbol>.</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> При запуске приложения SCO/iBCS2, он прерывается на <emphasis remap=tt>socksys</emphasis>. - </para></question><answer> + <para>У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой + емулятор сопроцессора; это делается добавлением следующей строки в файл + конфигурации ядра и последующей его перекомпиляцией.</para> -<para>Прежде всего вам нужно отредактировать файл <filename>/etc/sysconfig</filename> - (или <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">/etc/rc.conf</ulink>), изменив в последнем разделе значение следующей - переменной на <acronym>YES</acronym>:</para> - -<para> -<literallayout> # Set to YES if you want ibcs2 (SCO) emulation loaded at startup - ibcs2=NO - </literallayout> -</para> + <programlisting> +options GPL_MATH_EMULATE + </programlisting> + + <para> + <note> + <para>Если вы поступаете таким образом, вам нужно будет + убрать опцию <literal>MATH_EMULATE</literal>.</para> + </note> + </para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>При запуске приложения SCO/iBCS2, оно прерывается на + <literal>socksys</literal> (только во FreeBSD 3.0 и более + ранних версий).</para> + </question> + + <answer> + + <para>Прежде всего вам нужно отредактировать файл + <filename>/etc/sysconfig</filename> (или <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">/etc/rc.conf</ulink>), + изменив в последнем разделе значение следующей переменной на + <literal>YES</literal>:</para> + + <programlisting> +# Set to YES if you want ibcs2 (SCO) emulation loaded at startup +ibcs2=NO + </programlisting> <para>Это включит загрузку модуля поддержки <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ibcs2(8)">ibcs2</ulink> на этапе загрузки системы.</para> -<para>Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он - выглядел следующим образом:</para> - -<para> -<literallayout>lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null + <para>Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он + выглядел следующим образом:</para> + + <screen> +lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - </literallayout> -</para> - -<para>Работа с socksys была значительно упрощена по ставнению с более ранними - версиями. Socksys должен указывать на <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?null(4)">/dev/null</ulink>, чтобы - обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё - остальное. Если вам нужен драйвер <emphasis remap=tt>spx</emphasis> для - подключения X по локальному сокету, определите переменную - <symbol>SPX_HACK</symbol> при компиляции системы.</para> - -</answer></qandaentry> + </screen> + + <para>Работа с socksys была значительно упрощена по ставнению с более ранними + версиями. Socksys должен указывать на <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?null(4)">/dev/null</ulink>, чтобы + обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё + остальное. Если вам нужен драйвер <devicename>spx</devicename> для + подключения X по локальному сокету, определите переменную + <literal>SPX_HACK</literal> при компиляции системы.</para> + + </answer> +</qandaentry> <qandaentry><question> @@ -4340,9 +4654,10 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx <para>Если вам необходимо запустить некоторые приложения в формате aout типа Netscape Navigator на Elf-машине, такой как 3.1-R и выше, - то для этого требуется /usr/libexec/ld.so и некоторые библиотеки в - формате aout. Они включены в дистрибутив как compat22. - Запустите /stand/sysinstall или install.sh в каталоге compat22, чтобы + то для этого требуется <filename>/usr/libexec/ld.so</filename> и некоторые + библиотеки в формате aout. Они включены в дистрибутив как compat22. + Запустите <filename>/stand/sysinstall</filename> или + <filename>install.sh</filename> в каталоге compat22, чтобы установить этот компонент. Прочтите также документы ERRATA от 3.1-R и 3.2-R.</para> @@ -4350,125 +4665,194 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx </chapter> -<chapter -id="kernelconfig"> +<chapter id="kernelconfig"> <title>Конфигурирование ядра</title> -<qandaset><qandaentry><question -id="make-kernel"> -<para> Я хочу изменить настройки ядра. Это сложно? - </para></question><answer> +<qandaset> +<qandaentry> + <question id="make-kernel"> + <para>Я хочу изменить настройки ядра. Это сложно?</para> + </question> -<para>Вовсе нет! Обратитесь к <ulink URL="../../handbook/kernelconfig.html">соответствующему разделу</ulink> Руководства, который посвящён этому - вопросу.</para> - -<para><emphasis remap=bf>ЗАМЕЧАНИЕ:</emphasis> Рекомендуем сохранить копию вашего ядра в - файл <filename>kernel.YYMMDD</filename> после того, как вы получите рабочую версию, - для того, чтобы в следующий раз, если вы испортите что-либо в - вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, - чтобы начинать снова с <filename>kernel.GENERIC</filename>. Это, в частности, имеет - смысл, если вы производите загрузку системы с контроллера, который - не поддерживается в стандартном ядре GENERIC (из моего личного - опыта).</para> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> Я не могу скомпилировать ядро. Отсутствует - <symbol>_hw_float</symbol>. - </para></question><answer> + <para>Вовсе нет! Обратитесь к <ulink URL="../../handbook/kernelconfig.html"> + соответствующему разделу</ulink> Руководства, который посвящён этому + вопросу.</para> -<para>Позвольте мне угадать. Вы, наверное, удалили - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?npx(4)">npx0</ulink> из - вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? - А вот и неправильно! :-) Строка <emphasis remap=tt>npx0</emphasis> - <emphasis remap=bf>ОБЯЗАТЕЛЬНА</emphasis>. Даже если у вас нет - математического сопроцессора, вы <emphasis remap=bf>должны</emphasis> - включить поддержку <emphasis remap=tt>npx0</emphasis>.</para> - -</answer></qandaentry> + <para> + <note> + <para>Рекомендуем сохранить копию вашего ядра в файл + <filename>kernel.YYMMDD</filename> после того, как вы получите рабочую + версию, для того, чтобы в следующий раз, если вы испортите что-либо в + вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, + чтобы начинать снова с <filename>kernel.GENERIC</filename>. Это, в + частности, имеет смысл, если вы производите загрузку системы с + контроллера, который не поддерживается в стандартном ядре GENERIC (из + моего личного опыта).</para> + </note> + </para> -<qandaentry><question> -<para> Конфликты прерываний при включении поддержки многопортовыx - коммуникационных адаптеров. - </para></question><answer> + </answer> +</qandaentry> -<para><emphasis remap=bf>Q.</emphasis> Когда я компилирую ядро с поддержкой многопортовых - коммуникационных адаптеров, сообщается, что только первый порт будет - тестироваться, а все остальные пропускаются из-за конфликтов - прерываний. Как это исправить?</para> - -<para><emphasis remap=bf>A.</emphasis> Проблема состоит в том, что во FreeBSD встроен код, - предохраняющий ядро от аппаратных и программных конфликтов. Вам нужно - убрать указания IRQ на всех портах, кроме одного. Например:</para> - -<para> -<literallayout> # - # Высокоскоростной коммуникационный адаптер - 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 - </literallayout> -</para> - -</answer></qandaentry> -<qandaentry><question> -<para>Как включить поддержку накопителей QIC-40/80?</para></question><answer> +<qandaentry> + <question> + <para>Я не могу скомпилировать ядро. Отсутствует + <literal>_hw_float</literal>.</para> + </question> -<para>Раскомментируйте следующую строку в файле конфигурации стандартного - ядра (или добавьте ее в конфигурационный файл вашего ядра), добавьте - ``<literal>flags 0x1</literal>'' к строке, содержащей - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fdc(4)">fdc</ulink> и перекомпилируйте ядро.</para> - -<para> -<literallayout>controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr + <answer> + + <para>Позвольте мне угадать. Вы, наверное, удалили + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?npx(4)">npx0</ulink> из + вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? + А вот и неправильно! :-) Строка <devicename>npx0</devicename> + <emphasis>ОБЯЗАТЕЛЬНА</emphasis>. Даже если у вас нет + математического сопроцессора, вы <emphasis remap=bf>должны</emphasis> + включить поддержку устройства <devicename>npx0</devicename>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Почему моё ядро такое большое (больше 10МБ)?</para> + </question> + + <answer> + + <para>Скорее всего, вы компилировали ядро в <emphasis>отладочном + режиме</emphasis>. Ядра, построенные в этом режиме, содержат много + символьной информации, которая используется для отладки и сильно + увеличивает размер ядра. Заметьте, что, если вы работаете с FreeBSD версии + 3.0 и старше, то уменьшения производительности при использовании + отладочного ядра нет или оно незначительно, однако отладочное ядро + полезно иметь под рукой на случай аварийного завершения работы + системы.</para> + + <para>Однако, если вы испытываете нехватку дискового пространства или + просто не хотите использовать отладочное ядро, проверьте, что имеют + место следующие две вещи:</para> + + <itemizedlist> + <listitem> + <para>В конфигурационном файле вашего ядра нет строчки, имеющей такой + вид:</para> + + <programlisting>makeoptions DEBUG=-g</programlisting> + </listitem> + + <listitem> + <para>Вы не запускали утилиту <command>config</command> с опцией + <option>-g</option>.</para> + </listitem> + </itemizedlist> + + <para>Обе из вышеперечисленных ситуаций приведут к построению ядра в + отладочном режиме. Если же вы точно следуете указанным шагам, то сможете + построить обычное ядро и заметите значительное уменьшение его размера; + большинство ядер имеют размер от 1.5МБ до 2МБ.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Конфликты прерываний при включении поддержки многопортовыx + коммуникационных адаптеров.</para> + </question> + + <answer> + + <para><emphasis remap=bf>Q.</emphasis> Когда я компилирую ядро с поддержкой + многопортовых коммуникационных адаптеров, сообщается, что только первый + порт будет тестироваться, а все остальные пропускаются из-за конфликтов + прерываний. Как это исправить?</para> + + <para><emphasis remap=bf>A.</emphasis> Проблема состоит в том, что во FreeBSD + встроен код, предохраняющий ядро от аппаратных и программных конфликтов. + Вам нужно убрать указания IRQ на всех портах, кроме одного. + Например:</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> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как включить поддержку накопителей QIC-40/80?</para> + </question> + + <answer> + + <para>Раскомментируйте следующую строку в файле конфигурации стандартного + ядра (или добавьте ее в конфигурационный файл вашего ядра), добавьте + <literal>flags 0x1</literal> к строке, содержащей <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?fdc(4)">fdc</ulink> и + перекомпилируйте ядро.</para> + + <programlisting> +controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr disk fd0 at fdc0 drive 0 ^^^^^^^^^ disk fd1 at fdc0 drive 1 #tape ft0 at fdc0 drive 2 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - </literallayout> -</para> - -<para>Затем создайте устройство с именем <filename>/dev/ft0</filename>, перейдя в - каталог <filename>/dev</filename> и запустив команду</para> - -<para> -<literallayout> sh ./MAKEDEV ft0 - </literallayout> -</para> + </programlisting> -<para>для первого устройства, <emphasis remap=tt>ft1</emphasis> для второго и - так далее.</para> - -<para>У вас появится устройство с именем <filename>/dev/ft0</filename>, на - которое вы можете производить запись с помощью специальной программы - управления, называющейся ``<emphasis remap=tt>ft</emphasis>'' - за - дополнительной информацией обратитесь к странице справочника по - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ft">ft</ulink>.</para> - -<para>Версии операционной системы, предшествующие <option>-CURRENT</option>, - имеют огрехи, связанные с качеством носителя. Если у вас появились - проблема, когда <emphasis remap=tt>ft</emphasis> прокручивает ленту - туда-сюда на одном и том же месте, попробуйте взять последнюю версию - программы <emphasis remap=tt>ft</emphasis> с - <filename>/usr/src/sbin/ft</filename> из <option>-CURRENT</option> и - попробовать её.</para> - -</answer></qandaentry></qandaset> + <para>Затем создайте устройство с именем <filename>/dev/ft0</filename>, + перейдя в каталог <filename>/dev</filename> и запустив команду</para> + + <screen> +&prompt.root; <userinput>sh MAKEDEV ft0</userinput> + </screen> + + <para>для первого устройства, <devicename>ft1</devicename> для второго и + так далее.</para> + + <para>У вас появится устройство с именем <filename>/dev/ft0</filename>, на + которое вы можете производить запись с помощью специальной программы + управления, называющейся <command>ft</command> - за + дополнительной информацией обратитесь к странице справочника по <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ft">ft</ulink>.</para> + + <para>Версии операционной системы, предшествующие <option>-CURRENT</option>, + имеют огрехи, связанные с качеством носителя. Если у вас появились + проблема, когда <command>ft</command> прокручивает ленту + туда-сюда на одном и том же месте, попробуйте взять последнюю версию + программы <command>ft</command> с <filename>/usr/src/sbin/ft</filename> + из <option>-CURRENT</option> и попробовать её.</para> + + </answer> +</qandaentry> +</qandaset> </chapter> -<chapter -id="admin"> +<chapter id="admin"> <title>Системное администрирование</title> -<qandaset><qandaentry><question> -<para>Где расположены файлы конфигурации системы?</para></question><answer> +<qandaset> +<qandaentry> + <question> + <para>Где расположены файлы конфигурации системы?</para> + </question> + + <answer> <para>Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным файлом является <filename>/etc/sysconfig</filename>. Все параметры указываются @@ -4476,196 +4860,269 @@ id="admin"> <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc(8)">/etc/rc</ulink> и <filename>/etc/netstart</filename> просто его используют.</para> -<para>Посмотрите файл <filename>/etc/sysconfig</filename> и измените значения - переменных на соответствующие вашей системе. В файле содержатся - комментарии, описывающие смысл этих переменных и способ их задания.</para> - -<para>В системах выше 2.2.1 и в 3.0 файл <filename>/etc/sysconfig</filename> - сменил название на говорящее само за себя <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>, - синтаксис описания переменных был несколько улучшен. - <filename>/etc/netstart</filename> тоже был переименован в - <filename>/etc/rc.network</filename>, так что все конфигурационные файлы - теперь можно перенести одной командой <command><ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?cp(1)">cp</ulink> - /usr/src/etc/rc* /etc</command>.</para> - -<para><filename>/etc/rc.local</filename> как обычно, можно использовать для - запуска дополнительных местных служб типа <ulink - URL="http://www.FreeBSD.org/cgi/ports.cgi?^inn">INN</ulink> или - для настройки дополнительных параметров.</para> - -<para>Файл <filename>/etc/rc.serial</filename> предназначен для инициализации - коммуникационных адаптеров (например, установки характеристик - работы последовательных портов итд).</para> - -<para>Файл <filename>/etc/rc.i386</filename> предназначен для настройки специфичных - для архитектуры Intel параметров, таких, как эмуляция iBCS2 или - характеристик системной консоли ПК.</para> - -<para>Начиная с версии 2.1.0R, вы можете иметь "местные" файлы - автозапуска в каталоге, указанном в файле <filename>/etc/sysconfig</filename> - (или <filename>/etc/rc.conf</filename>):</para> - -<para> -<literallayout> # Location of local startup files. - local_startup=/usr/local/etc/rc.local.d - </literallayout> -</para> - -<para>Каждый файл, оканчивающийся на <filename>.sh</filename>, будет запущен на выполнение - в алфавитном порядке.</para> - -<para>Если вам нужно добиться определённого порядка выполнения не - меняя имён файлов, можно использовать схему, в которой для - упорядочения используются цифры, предшествующие имени файла.</para> - -<para> -<literallayout> 10news.sh - 15httpd.sh - 20ssh.sh - </literallayout> -</para> - -<para>Это может выглядеть безобразно (как SysV :-)), но это - простой и понятный метод для добавления дополнительных служб без - шаманства с редактированием <filename>/etc/rc.local</filename>. Многие - порты/пакаджи предполагают, что каталог - <filename>/usr/local/etc/rc.d</filename> предназначен для размещения - запускаемых при загрузке системы скриптов.</para> - -</answer></qandaentry> + <para>Посмотрите файл <filename>/etc/sysconfig</filename> и измените значения + переменных на соответствующие вашей системе. В файле содержатся + комментарии, описывающие смысл этих переменных и способ их задания.</para> + + <para>В системах выше 2.2.1 и в 3.0 файл <filename>/etc/sysconfig</filename> + сменил название на говорящее само за себя <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>, + синтаксис описания переменных был несколько улучшен. + <filename>/etc/netstart</filename> тоже был переименован в + <filename>/etc/rc.network</filename>, так что все конфигурационные файлы + теперь можно перенести одной командой <command><ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?cp(1)">cp</ulink> + /usr/src/etc/rc* /etc</command>.</para> + + <para>А в системах версий 3.1 и выше <filename>/etc/rc.conf</filename> был + перемещён в <filename>/etc/defaults/rc.conf</filename>. <emphasis>Не + редактируйте этот файл!</emphasis> Вместо этого, если в файле + <filename>/etc/defaults/rc.conf</filename> имеется параметр, который вы + хотите изменить, то вы должны скопировать строчку с ним в файл + <filename>/etc/rc.conf</filename> и поменять его значение именно + здесь.</para> + + <para>Например, если вы хотите запустить named, сервер DNS, включенный в + поставку FreeBSD начиная с FreeBSD 3.1, всё, что вам нужно сделать, это: + <screen> +&prompt.root; <userinput>echo named_enable="YES" >> /etc/rc.conf</userinput> + </screen> + </para> -<qandaentry><question> -<para>Как проще всего добавить пользователя?</para></question><answer> + <para>Чтобы запустить местные сервисы во FreeBSD 3.1 и выше, поместите + скрипты в каталог <filename>/usr/local/etc.rd</filename>. У этих скриптов + должен быть выставлен бит выполнимости, и их имена должны оканчиваться на + .sh. Во FreeBSD 3.0 и ранее, вы должны отредактировать файл + <filename>/etc/rc.local</filename>.</para> -<para>Используйте команду <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?adduser">adduser</ulink>. - Для выполнения более сложных операций обратитесь к команде <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?pw">pw</ulink>.</para> - -<para>Чтобы удалить пользователя, используйте команду <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?rmuser">rmuser</ulink>.</para> - -</answer></qandaentry> + <para>Файл <filename>/etc/rc.serial</filename> предназначен для инициализации + коммуникационных адаптеров (например, установки характеристик + работы последовательных портов итд).</para> -<qandaentry><question> -<para>Как добавить в систему новый диск?</para></question><answer> + <para>Файл <filename>/etc/rc.i386</filename> предназначен для настройки + специфичных для архитектуры Intel параметров, таких, как эмуляция iBCS2 + или характеристик системной консоли ПК.</para> -<para>Обратитесь к Руководству по форматированию дисков на сервере <ulink - URL="../../tutorials/formatting-media/">www.FreeBSD.org</ulink>.</para> - -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para>Как использовать устройство для чтения сменных дисков? - </para></question><answer> -<para>Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным - дисководом, если вы хотите его использовать) или каким-то - другим, как только оно будет установлено и распознано - системой, и вы вставите в него картридж/дискету/что-там-ещё, всё - будет выглядеть примерно одинаково.</para> - -<para><anchor id="disklabel">(этот раздел опирается на <ulink URL="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">FAQ по устройствам ZIP</ulink> Марка Мэйо (Mark Mayo))</para> - -<para>Если это устройство ZIP или обычный дисковод, и у вас уже есть - файловая система DOS на дискетах, то вы можете нспользовать команду - типа:</para> - -<para> - <literallayout> - mount -t msdos /dev/fd0c /floppy - </literallayout> -</para> - -<para>для обычных дискет, или</para> - -<para> - <literallayout> - mount -t msdos /dev/da2s4 /zip - </literallayout> -</para> - -<para>для дискет ZIP со стандартной конфигурацией.</para> - -<para>Для других дисков посмотрите их параметры с помощью - <emphasis remap=tt>fdisk</emphasis> или <filename>/stand/sysinstall</filename>.</para> - -<para>Остальные примеры даны для привода ZIP на da2, третьем диске SCSI.</para> - -<para>Если это дискета или сменный диск, который будет использоваться для - обмена информацией с другими людьми, хорошой идеей будет помещение туда - файловой системы BSD. Вы получите поддержку длинных имён файлов, - увеличение производительности по крайней мере в два раза и гораздо - большую надёжность. Первым делом вам снова будет нужно выполнить - разбиение диска на разделы/файловые системы. Вы можете воспользоваться - утилитой <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?fdisk">fdisk</ulink> либо - <filename>/stand/sysinstall</filename>, а в случае небольшого диска, на - котором не нужно располагать несколько операционных систем, просто сотрите - таблицу разделов (слайсов) FAT и используйте разбиение на разделы - BSD.</para> - -<para> - <literallayout> - dd if=/dev/zero of=/dev/rda2 count=2 - disklabel -Brw da2 auto - </literallayout> -</para> - -<para>Вы можете использовать disklabel или - <filename>/stand/sysinstall</filename> для создания нескольких разделов - BSD. Вам наверняка придётся это сделать, если вы станете добавлять место - для раздела подкачки на винчестере, хотя это не имеет отношения к - устройствам типа ZIP.</para> - -<para>В итоге вы должны создать новую файловую систему (в этом примере - она занимает весь наш диск ZIP):</para> - -<para> - <literallayout> - newfs /dev/rda2c - </literallayout> -</para> - -<para>и смонтировать её:</para> - -<para> - <literallayout> - mount /dev/da2c /zip - </literallayout> -</para> +<qandaentry> + <question> + <para>Как проще всего добавить пользователя?</para> + </question> + + <answer> + + <para>Используйте команду <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?adduser">adduser</ulink>. + Для выполнения более сложных операций обратитесь к команде <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?pw">pw</ulink>.</para> + + <para>Чтобы удалить пользователя, используйте команду <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rmuser">rmuser</ulink>. И, + снова повторимся, команда <command>pw</command> тоже будет работать.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как добавить в систему новый диск?</para> + </question> + + <answer> + + <para>Обратитесь к Руководству по форматированию дисков на сервере <ulink + URL="../../tutorials/formatting-media/">www.FreeBSD.org</ulink>.</para> -<para>Хорошо ещё добавить строку типа следующей в файл - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fstab">/etc/fstab</ulink>, - чтобы в будущем можно было просто давать команду "mount /zip":</para> + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как использовать устройство для чтения сменных дисков?</para> + </question><answer> + + <para>Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным + дисководом, если вы хотите его использовать) или каким-то + другим, как только оно будет установлено и распознано + системой, и вы вставите в него картридж/дискету/что-там-ещё, всё + будет выглядеть примерно одинаково.</para> + + <para><anchor id="disklabel">(этот раздел опирается на <ulink + URL="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html"> + FAQ по устройствам ZIP</ulink> Марка Мэйо (Mark Mayo))</para> + + <para>Если это устройство ZIP или обычный дисковод, и у вас уже есть + файловая система DOS на дискетах, то вы можете нспользовать команду + типа:</para> + + <screen> +&prompt.root; <userinput>mount -t msdos /dev/fd0c /floppy</userinput> + </screen> + + <para>для обычных дискет, или</para> + + <screen> +&prompt.root; <userinput>mount -t msdos /dev/da2s4 /zip</userinput> + </screen> + + <para>для дискет ZIP со стандартной конфигурацией.</para> -<para> - <literallayout> - /dev/da2c /zip ffs rw,noauto 0 0 - </literallayout> -</para> + <para>Для других дисков посмотрите их параметры с помощью команды + <command>fdisk</command> или <filename>/stand/sysinstall</filename>.</para> -</answer></qandaentry> + <para>Остальные примеры даны для привода ZIP на da2, третьем диске + SCSI.</para> -<qandaentry><question> -<para>Как смонтировать вторичный раздел DOS?</para></question><answer> + <para>Если это дискета или сменный диск, который будет использоваться для + обмена информацией с другими людьми, хорошой идеей будет помещение туда + файловой системы BSD. Вы получите поддержку длинных имён файлов, + увеличение производительности по крайней мере в два раза и гораздо + большую надёжность. Первым делом вам снова будет нужно выполнить + разбиение диска на разделы/файловые системы. Вы можете воспользоваться + утилитой <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?fdisk">fdisk</ulink> либо + <filename>/stand/sysinstall</filename>, а в случае небольшого диска, на + котором не нужно располагать несколько операционных систем, просто сотрите + таблицу разделов (слайсов) 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>Вы можете использовать disklabel или + <filename>/stand/sysinstall</filename> для создания нескольких разделов + BSD. Вам наверняка придётся это сделать, если вы станете добавлять место + для раздела подкачки на винчестере, хотя это не имеет отношения к + устройствам типа ZIP.</para> + + <para>В итоге вы должны создать новую файловую систему (в этом примере + она занимает весь наш диск ZIP):</para> + + <screen> +&prompt.root; <userinput>newfs /dev/rda2c</userinput> + </screen> + + <para>и смонтировать её:</para> + + <screen> +&prompt.root; <userinput>mount /dev/da2c /zip</userinput> + </screen> + + <para>Хорошо ещё добавить строку типа следующей в файл + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fstab">/etc/fstab</ulink>, + чтобы в будущем можно было просто давать команду + <command>mount /zip</command>:</para> + + <programlisting> +/dev/da2c /zip ffs rw,noauto 0 0 + </programlisting> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Почему после редактирования моего файла crontab я получаю сообщения + вида <errorname>root: not found</errorname>?</para> + </question> + + <answer> + + <para>Обычно это случается при редактировании системного crontab-файла + (<filename>/etc/crontab</filename>) и последующего использования утилиты + &man.crontab.1; для его установки:</para> + + <screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen> + + <para>Это неправильно. Системный crontab-файл имеет формат, отличный от + пользовательских crontab-файлов, которые обновляет утилита + &man.crontab.1; (страница Справочника по &man.crontab.5; описывает + отличия более подробно).</para> + + <para>Если вы сделали именно это, то нужно удалить файл + <filename>/var/cron/tabs/root</filename>, так как он будет являться + просто копией <filename>/etc/crontab</filename>, но неправильного формата. + В следующий раз при редактировании <filename>/etc/crontab</filename> + вам не нужно ничего делать для извещения утилиты &man.cron.8; о сделанных + изменениях, так как она заметит изменения автоматически.</para> + + <para>Реальная причина ошибки заключается в том, что системный crontab-файл + имеет дополнительное поле, указывающее, какой пользователь запускает + команду. В системном crontab-файле, поставляемом с FreeBSD и используемом + по умолчанию, это пользователь <username>root</username> для всех + строк. Если этот crontab-файл используется в качестве crontab-файла + пользователя <username>root</username> (что <emphasis>не то же + самое</emphasis>, что системный crontab-файл), &man.cron.8; полагает, + что слово <literal>root</literal> является первым в команде на выполнение, + но такой команды не существует.</para> + + </answer> +</qandaentry> + +<qandaentry> + <question> + <para>Я сделал ошибку в файле <filename>rc.conf</filename>, и теперь не + могу его отредактировать из-за того, что файловая система находится в + режиме только для чтения. Что мне делать?</para> + </question> + + <answer> + + <para>При получении приглашения на ввод полного пути до командного + процессора, просто нажмите <literal>ENTER</literal>, а затем выполните + команду <command>mount /</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>После выполнения этих шагов вы сможете отредактировать файл + <filename>/etc/rc.conf</filename> так, как вы это обычно делаете для + исправления ошибки. Сообщение об ошибке, выводимое сразу же после + сообщений при загрузке ядра, должно указать вам на номер строки в файле, + которая содержит ошибку.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как смонтировать вторичный раздел DOS?</para> + </question> + + <answer> + + <para>Вторичные разделы DOS находятся после ВСЕХ первичных разделов. + Например, если раздел <quote>E</quote> является вторым разделом DOS на + втором диске SCSI, вам нужно создать специальные файлы для пятого + <quote>слайса</quote> в каталоге /dev, затем смонтировать /dev/da1s5:</para> + + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV da1s5</userinput> +&prompt.root; <userinput>mount -t msdos /dev/da1s5 /dos/e</userinput> + </screen> + + </answer> +</qandaentry> -<para>Вторичные разделы DOS находятся после ВСЕХ первичных разделов. - Например, если раздел "E" является вторым разделом DOS на - втором диске SCSI, вам нужно создать специальные файлы для пятого - "слайса" в каталоге /dev, затем смонтировать /dev/da1s5:</para> - -<para> - <literallayout> - # cd /dev - # ./MAKEDEV da1s5 - # mount -t msdos /dev/da1s5 /dos/e - </literallayout> -</para> - -</answer></qandaentry> <qandaentry><question> <para>Можно ли смонтировать другие файловые системы? @@ -4709,16 +5166,15 @@ id="admin"> файл <filename>c:\boot.ini</filename>, чтобы он выглядел примерно так:</para> - <para> - <literallayout> [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="FreeBSD" - C:\="DOS" - </literallayout> - </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="FreeBSD" +C:\="DOS" + </programlisting> <para>Для систем 2.2.x предполагается, что DOS, NT, FreeBSD или другая операционная система были установлены в их соответствующие разделы fdisk на @@ -4730,35 +5186,29 @@ id="admin"> <para>Смонтируйте дискету в формате DOS (если вы используете NTFS) или раздел FAT, скажем, в каталог <filename>/mnt</filename>.</para> - <para> - <literallayout> - dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1 - </literallayout> - </para> + <screen> +&prompt.root; <userinput>dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1</userinput> + </screen> <para>Перезапустите DOS или NT. Пользователи NTFS должны скопировать файл <filename>bootsect.bsd</filename> и/или <filename>bootsect.lnx</filename> - с дискеты на диск <emphasis remap=tt>C:\</emphasis>. Измените атрибуты + с дискеты на диск <filename>C:\</filename>. Измените атрибуты (права) на файл <filename>boot.ini</filename> следующим образом:</para> - <para> - <literallayout> - attrib -s -r c:\boot.ini - </literallayout> - </para> + <screen> +<prompt>C:\></prompt> <userinput>attrib -s -r c:\boot.ini</userinput> + </screen> <para>Отредактируйте этот файл, добавив соответствующие строки из примерного <filename>boot.ini</filename> выше, и восстановите атрибуты:</para> - <para> - <literallayout> - attrib +s +r c:\boot.ini - </literallayout> - </para> + <screen> +<prompt>C:\></prompt> <userinput>attrib +s +r c:\boot.ini</userinput> + </screen> <para>Если FreeBSD загружается из MBR, восстановите его командой DOS - ``<command>fdisk</command>'' после того, как переконфигурировали их для - загрузки с их ``родных'' разделов.</para> + <command>fdisk</command> после того, как переконфигурировали их для + загрузки с их <quote>родных</quote> разделов.</para> <para>Для систем FreeBSD 3.x эта процедура выглядит несколько проще.</para> @@ -4793,21 +5243,24 @@ id="admin"> </qandaentry> -<qandaentry><question> -<para> Как загрузить FreeBSD и Linux с помощью LILO? - </para></question><answer> +<qandaentry> + <question> + <para>Как загрузить FreeBSD и Linux с помощью LILO?</para> + </question> + + <answer> + + <para>Если у вас установлены FreeBSD и Linux на одном и том же диске, + следуйте указаниям по установке LILO о загрузке не-Linux операционных + систем. Они сводятся к следующему:</para> + + <para>Загрузите Linux, и добавьте следующие строки в файл + <filename>/etc/lilo.conf</filename>: -<para>Если у вас установлены FreeBSD и Linux на одном и том же диске, - следуйте указаниям по установке LILO о загрузке не-Linux операционных - систем. Они сводятся к следующему:</para> - -<para>Загрузите Linux, и добавьте следующие строки в файл - <filename>/etc/lilo.conf</filename>: - <programlisting> - other=/dev/hda2 - table=/dev/hda - label=FreeBSD +other=/dev/hda2 +table=/dev/hda +label=FreeBSD </programlisting> (здесь вы предполагаем, что слайс с FreeBSD известен Linux как @@ -4815,36 +5268,39 @@ id="admin"> конфигурацией). Затем достаточно будет запустить <command>lilo</command>, войдя в систему как администратор.</para> -<para>Если FreeBSD располагается на другом диске, вам нужно добавить строчку - ``<literal>loader=/boot/chain.b</literal>'' в конфигурационный файл - LILO. Например: - - <programlisting> - other=/dev/dab4 - table=/dev/dab - loader=/boot/chain.b - label=FreeBSD - </programlisting> -</para> - -<para>В некоторых случаях для успешной загрузки со второго диска вам - может потребоваться указать номер диска BIOS загрузчику FreeBSD. - Например, если диск SCSI с FreeBSD определяется BIOS как диск 1, - в приглашении загрузчика FreeBSD нужно указать: - - <literallayout> - Boot: 1:da(0,a)/kernel - </literallayout> -</para> - -<para>Во FreeBSD 2.2.5 и выше вы можете настроить <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?boot(8)">boot(8)</ulink> - на автоматическое принятие таких параметров во время загрузки.</para> - -<para>В документе <ulink URL="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html">Linux+FreeBSD mini-HOWTO</ulink> содержится много информации, - касающейся взаимодействия FreeBSD и Linux.</para> + <para>Если FreeBSD располагается на другом диске, вам нужно добавить строчку + <literal>loader=/boot/chain.b</literal> в конфигурационный файл + LILO. Например: + + <programlisting> +other=/dev/dab4 +table=/dev/dab +loader=/boot/chain.b +label=FreeBSD + </programlisting> + </para> -</answer></qandaentry> + <para>В некоторых случаях для успешной загрузки со второго диска вам + может потребоваться указать номер диска BIOS загрузчику FreeBSD. + Например, если диск SCSI с FreeBSD определяется BIOS как диск 1, + в приглашении загрузчика FreeBSD нужно указать:</para> + + <screen> +Boot: <userinput>1:da(0,a)/kernel</userinput> + </screen> + + <para>Во FreeBSD 2.2.5 и выше вы можете настроить <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?boot(8)">boot(8)</ulink> + на автоматическое принятие таких параметров во время загрузки.</para> + + <para>В документе <ulink + URL="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html"> + Linux+FreeBSD mini-HOWTO</ulink> содержится много информации, + касающейся взаимодействия FreeBSD и Linux.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para> Как загрузить FreeBSD и Linux с помощью BootEasy? @@ -4865,243 +5321,214 @@ id="admin"> </answer></qandaentry> -<qandaentry><question> -<para> Не угрожает ли режим ``dangerously dedicated'' моему здоровью? - </para></question><answer> - -<para><anchor id="dedicate">В процессе установки вы можете выбрать два - различных метода разбиения вашего диска. По умолчанию это делается - в режиме совместимости с другими операционными системами на этой же - машине с использованием записей в таблице разделов fdisk (то, что - называется ``слайсом'' во FreeBSD), со слайсом (разделом), выделенным - FreeBSD. Опционально, вы можете выбрать установку менеджера - загрузки для переключения между операционными системами. Либо вы - можете выделить диск полностью под FreeBSD, не заботясь о совместимости - с другими операционными системами.</para> - - - -<para>Почему же этот режим называется ``dangerous''? Дело в том, что - диск в этом режиме не будет содержать того, что обычные утилиты для - ПК распознают как таблицу разделов. В зависимости от того, насколько - хорошо они написаны, они могут сообщить вам об этом, как только - обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик - BSD, даже не спрашивая и не сообщая об этом. К тому же известно, что - разметка диска в режиме ``dangerously dedicated'' вводит в заблуждение - BIOS многих производителей, включая AWARD (которые используются в - компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR - (производителя популярных SCSI-контроллеров серии 53C8xx). И это не - полный список, есть ещё другие производители. Симптомами подобных - проблем является сообщение "read error", выводимое загрузчиком FreeBSD, - когда он не может найти сам себя, а также зависания системы при загрузке.</para> - - - -<para>Тогда зачем вообще нужен этот режим? Он экономит всего лишь - несколько килобайт дискового пространства и может вызвать серьёзные - проблемы при новой инсталляции. Причиной появления этого режима - является желание избежать появления одной из самых распространённых - проблем, с которой сталкиваются новички - соответствие параметров - BIOS и реальных параметров диска.</para> - -<para>``Параметры'' диска являются устаревшей концепцией, но она лежит - в основе работы BIOS с диском. Когда программа установки FreeBSD - создаёт слайсы, она записывает их расположение в соответствии с тем, - как с ними будет работать BIOS. Если это делается неправильно, вы не - сможете выполнить загрузку системы.</para> - -<para>Режим ``dangerously dedicated'' пытается обойти это, упрощая решение - данной проблемы. Иногда он делает это правильно. Однако это значит, - что его нужно использовать только как последнюю альтернативу - есть - способы получше, решающие проблему в 99 случаях из 100.</para> - -<para>Итак, как избежать использования режима ``DD'' во время установки? - Сначала запишите параметры диска, которые сообщает BIOS. Вы можете - выяснить это, заставив ядро вывести эти параметры при загрузке, указав - ``-v'' в приглашении ``boot:'', или используя ``boot -v'' в загрузчике. - Перед тем, как запустится программа установки, ядро выведет параметры, - используемые BIOS. Не волнуйтесь - подождите запуска программы - установки, а затем воспользуйтесь скроллингом, чтобы посмотреть - значения этих параметров. Как правило, BIOS нумерует диски в том же - порядке, что и FreeBSD, сначала IDE, затем SCSI.</para> - -<para>Когда вы разбиваете диск на слайсы, проверьте, что параметры диска, - выводимые в окне программы FDISK, корректны (то есть они соответствуют - параметрам BIOS); если это не так, воспользуйтесь командой ``g'', чтобы - их исправить. Вы можете это сделать, если на диске нет абсолютно - ничего или если этот диск был перенесён с другой системы. Заметьте, - что это касается только загрузочного диска; FreeBSD прекрасно разберётся - с остальными дисками, которые могут у вас быть.</para> - - - -<para>Как только вы добились соответствия параметров диска в BIOS и - FreeBSD, скорее всего, проблем у вас больше не будет, и использовать - режим ``DD'' не потребуется. Если, однако, страшной сообщение - ``read error'' продолжает появляться при загрузке, самое время - перекреститься и попробовать этот режим - вам больше нечего терять.</para> - - - -<para>Чтобы вернуть диск из режима ``dangerously dedicated'' к - нормальному режиму использования, есть два способа. Первый заключается - в том, что вы записываете достаточное количество байтов NULL поверх - MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно - сделать, например, командой</para> - -<para> - <literallayout> - dd if=/dev/zero of=/dev/rda0 count=15 - </literallayout> -</para> - -<para>Другой способ - недокументированной командой DOS</para> - -<para> -<literallayout> fdisk /mbr - </literallayout> -</para> - -<para>проинсталлировать новую MBR, удалив загрузчик BSD.</para> - -</answer></qandaentry> -<qandaentry><question> -<para> Как добавить дополнительную виртуальную память? - </para></question><answer> - -<para>Наилучший способ - увеличить размер раздела подкачки, может быть, - добавив для этого ещё один диск. Общим правилом является выбор - размера виртуальной памяти, в два раза превышающий объём физической - памяти. Однако, если у вас очень мало физической памяти, этот объём - гораздо больше. Хорошей практикой является задание достаточного - объёма виртуальной памяти в ожидании добавления физической памяти, - чтобы потом не испытывать трудностей.</para> - - - -<para>Перенос виртуальной памяти на отдельный диск увеличивает - быстродействие системы по сравнению с добавлением виртуальной памяти - на том же диске. Например, компиляция исходных текстов происходит - быстрее, если они находятся не на том же диске, что и раздел подкачки. - Особенно это заметно для дисков SCSI.</para> - +<qandaentry> + <question> + <para>Не угрожает ли режим <quote>dangerously dedicated</quote> моему + здоровью?</para> + </question> - -<para>Если у вас имеется несколько дисков, размещение раздела подкачки - на каждом из них, даже на рабочем диске, обычно бывает полезно. - Как правило, каждый быстрый диск в вашей системе должен иметь раздел - подкачки. FreeBSD поддерживает по умолчанию до 4 устройств подкачки с - чередованием. При задании нескольких разделов подкачки вам захочется - сделать их одинакового размера, однако иногда первичный раздел подкачки - делается несколько больше для того, чтобы он мог поместить аварийный - образ ядра. Размер вашего первичного раздела подкачки должен по крайней - мере быть равным объёму физической памяти, чтобы поместить аварийный - образ ядра.</para> - + <answer> - -<para>Диски IDE не позволяют реализовать одновременный доступ к обоим - дискам по одному каналу (FreeBSD не поддерживает режим 4, так что - весь ввод/вывод для дисков IDE ``программируется''). Однако я всё - равно советую перенести раздел подкачки на отдельный диск. Диски - достаточно дешёвы, и экономить тут не на чем.</para> - + <para><anchor id="dedicate">В процессе установки вы можете выбрать два + различных метода разбиения вашего диска. По умолчанию это делается + в режиме совместимости с другими операционными системами на этой же + машине с использованием записей в таблице разделов fdisk (то, что + называется <quote>слайсом</quote> во FreeBSD), со слайсом (разделом), + выделенным FreeBSD. Опционально, вы можете выбрать установку менеджера + загрузки для переключения между операционными системами. Либо вы + можете выделить диск полностью под FreeBSD, не заботясь о совместимости + с другими операционными системами.</para> + + <para>Почему же этот режим называется <quote>dangerous</quote>? Дело в том, + что диск в этом режиме не будет содержать того, что обычные утилиты для + ПК распознают как таблицу разделов. В зависимости от того, насколько + хорошо они написаны, они могут сообщить вам об этом, как только + обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик + BSD, даже не спрашивая и не сообщая об этом. К тому же известно, что + разметка диска в режиме <quote>dangerously dedicated</quote> вводит в + заблуждение BIOS многих производителей, включая AWARD (которые используются + в компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR + (производителя популярных SCSI-контроллеров серии 53C8xx). И это не + полный список, есть ещё другие производители. Симптомами подобных + проблем является сообщение <quote>read error</quote>, выводимое загрузчиком + FreeBSD, когда он не может найти сам себя, а также зависания системы при + загрузке.</para> + + <para>Тогда зачем вообще нужен этот режим? Он экономит всего лишь + несколько килобайт дискового пространства и может вызвать серьёзные + проблемы при новой инсталляции. Причиной появления этого режима + является желание избежать появления одной из самых распространённых + проблем, с которой сталкиваются новички - соответствие параметров + BIOS и реальных параметров диска.</para> + + <para><quote>Параметры</quote> диска являются устаревшей концепцией, но она + лежит в основе работы BIOS с диском. Когда программа установки FreeBSD + создаёт слайсы, она записывает их расположение в соответствии с тем, + как с ними будет работать 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 нумерует диски в том же + порядке, что и FreeBSD, сначала IDE, затем SCSI.</para> + + <para>Когда вы разбиваете диск на слайсы, проверьте, что параметры диска, + выводимые в окне программы FDISK, корректны (то есть они соответствуют + параметрам BIOS); если это не так, воспользуйтесь командой + <literal>g</literal>, чтобы их исправить. Вы можете это сделать, если на + диске нет абсолютно ничего или если этот диск был перенесён с другой + системы. Заметьте, что это касается только загрузочного диска; FreeBSD + прекрасно разберётся с остальными дисками, которые могут у вас быть.</para> + + <para>Как только вы добились соответствия параметров диска в BIOS и + FreeBSD, скорее всего, проблем у вас больше не будет, и использовать + режим <quote>DD</quote> не потребуется. Если, однако, страшной сообщение + <quote>read error</quote> продолжает появляться при загрузке, самое время + перекреститься и попробовать этот режим - терять вам больше нечего.</para> + + <para>Чтобы вернуть диск из режима <quote>dangerously dedicated</quote> к + нормальному режиму использования, есть два способа. Первый заключается + в том, что вы записываете достаточное количество байтов NULL поверх + MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно + сделать, например, командой</para> - -<para>Использование NFS для размещения раздела подкачки рекомендуется - только в случае, если у вас нет локального диска. Подкачка поверх - NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно - быстра в релизах 4.0 и выше. Кроме того, её скорость будет ограничена - реальной пропускной способностью сети и это даст дополнительную нагрузку - на NFS-сервер.</para> - + <screen> +&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda0 count=15</userinput> + </screen> - -<para>Вот пример vn-файла подкачки размером 64Мб (<filename>/usr/swap0</filename>, - хотя, конечно, вы можете выбрать любое другое имя.</para> - + <para>Другой способ - недокументированной командой DOS</para> - -<para>Удостоверьтесь, что ядро откомпилировано со строкой</para> - -<para> -<literallayout> pseudo-device vn 1 #Vnode driver (turns a file into a device) - </literallayout> -</para> - + <screen> +<prompt>C:\></prompt> <userinput>fdisk /mbr</userinput> + </screen> - -<para>в конфигурационном файле. Ядро GENERIC её содержит</para> - -<para> -<orderedlist> + <para>проинсталлировать новую MBR, удалив загрузчик BSD.</para> + + </answer> +</qandaentry> -<listitem> -<para>создайте vn-устройство - -<literallayout> cd /dev - sh ./MAKEDEV vn0 - </literallayout> +<qandaentry> + <question> + <para>Как добавить дополнительную виртуальную память?</para> + </question> + <answer> - </para> -</listitem> + <para>Наилучший способ - увеличить размер раздела подкачки, может быть, + добавив для этого ещё один диск. Общим правилом является выбор + размера виртуальной памяти, в два раза превышающий объём физической + памяти. Однако, если у вас очень мало физической памяти, этот объём + гораздо больше. Хорошей практикой является задание достаточного + объёма виртуальной памяти в ожидании добавления физической памяти, + чтобы потом не испытывать трудностей.</para> + + <para>Перенос виртуальной памяти на отдельный диск увеличивает + быстродействие системы по сравнению с добавлением виртуальной памяти + на том же диске. Например, компиляция исходных текстов происходит + быстрее, если они находятся не на том же диске, что и раздел подкачки. + Особенно это заметно для дисков SCSI.</para> + + <para>Если у вас имеется несколько дисков, размещение раздела подкачки + на каждом из них, даже на рабочем диске, обычно бывает полезно. + Как правило, каждый быстрый диск в вашей системе должен иметь раздел + подкачки. FreeBSD поддерживает по умолчанию до 4 устройств подкачки с + чередованием. При задании нескольких разделов подкачки вам захочется + сделать их одинакового размера, однако иногда первичный раздел подкачки + делается несколько больше для того, чтобы он мог поместить аварийный + образ ядра. Размер вашего первичного раздела подкачки должен по крайней + мере быть равным объёму физической памяти, чтобы поместить аварийный + образ ядра.</para> + + <para>Диски IDE не позволяют реализовать одновременный доступ к обоим дискам + по одному каналу (FreeBSD не поддерживает режим 4, так что весь ввод/вывод + для дисков IDE <quote>программируется</quote>). Однако я всё + равно советую перенести раздел подкачки на отдельный диск. Диски + достаточно дешёвы, и экономить тут не на чем.</para> + + <para>Использование NFS для размещения раздела подкачки рекомендуется + только в случае, если у вас нет локального диска. Подкачка поверх + NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно + быстра в релизах 4.0 и выше. Кроме того, её скорость будет ограничена + реальной пропускной способностью сети и это даст дополнительную нагрузку + на NFS-сервер.</para> + + <para>Вот пример vn-файла подкачки размером 64Мб + (<filename>/usr/swap0</filename>, хотя, конечно, вы можете выбрать любое + другое имя.</para> + + <para>Удостоверьтесь, что ядро откомпилировано со строкой</para> -<listitem> -<para>создайте файл подкачки (<filename>/usr/swap0</filename>) + <programlisting> +pseudo-device vn 1 #Vnode driver (turns a file into a device) + </programlisting> - -<literallayout> dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 - </literallayout> + <para>в конфигурационном файле. Ядро GENERIC её содержит</para> + <para> + <orderedlist> + <listitem> + <para>создайте vn-устройство</para> - </para> -</listitem> + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV vn0</userinput> + </screen> + </listitem> -<listitem> -<para>Установите корректные права на файл (<filename>/usr/swap0</filename>) + <listitem> + <para>создайте файл подкачки (<filename>/usr/swap0</filename>)</para> - -<literallayout> chmod 0600 /usr/swap0 - </literallayout> + <screen> +&prompt.root; <userinput>dd if=/dev/zero of=/usr/swap0 bs=1024k count=64</userinput> + </screen> + </listitem> - - </para> -</listitem> + <listitem> + <para>Установите корректные права на файл + (<filename>/usr/swap0</filename>)</para> -<listitem> -<para>Включите использование файла подкачки в <filename>/etc/rc.conf</filename> + <screen> +&prompt.root; <userinput>chmod 0600 /usr/swap0</userinput> + </screen> + </listitem> - -<literallayout> swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. - </literallayout> + <listitem> + <para>Включите использование файла подкачки в + <filename>/etc/rc.conf</filename></para> + <programlisting> +swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. + </programlisting> + </listitem> - </para> -</listitem> + <listitem> + <para>перезагрузите машину</para> + </listitem> + </orderedlist> + </para> -<listitem> -<para>перезагрузите машину - </para> -</listitem> + <para>Чтобы включить использование файла подкачки немедленно, наберите</para> -</orderedlist> -</para> - + <screen> +&prompt.root; <userinput>vnconfig -ce /dev/vn0c /usr/swap0 swap</userinput> + </screen> - -<para>Чтобы включить использование файла подкачки немедленно, наберите</para> - -<para> -<literallayout> vnconfig -ce /dev/vn0c /usr/swap0 swap - </literallayout> -</para> - + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para>У меня проблемы с установкой принтера.</para></question><answer> @@ -5113,297 +5540,272 @@ id="admin"> </answer></qandaentry> -<qandaentry><question> -<para>Раскладка клавиатуры неверна.</para></question><answer> -<para>Программа kbdcontrol имеет параметр, задающий файл раскладки. - Файлы раскладок находятся в каталоге - <filename>/usr/share/syscons/keymaps</filename>. Выберите соответствующий вашей - системе и загрузите его.</para> - -<para> -<literallayout> kbdcontrol -l uk.iso - </literallayout> -</para> - -<para>Программа <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?kbdcontrol">kbdcontrol</ulink> - предполагает использование каталога - <filename>/usr/share/syscons/keymaps</filename> - и расширения <filename>.kbd</filename>.</para> - -<para>Это может быть настроено в файле <filename>/etc/sysconfig</filename> (или - <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>). - Обратитесь к соответствующим комментариям в этом файле.</para> +<qandaentry> + <question> + <para>Раскладка клавиатуры неверна.</para> + </question> + + <answer> + + <para>Программа kbdcontrol имеет параметр, задающий файл раскладки. + Файлы раскладок находятся в каталоге + <filename>/usr/share/syscons/keymaps</filename>. Выберите соответствующий + вашей системе и загрузите его.</para> + + <screen> +&prompt.root; <userinput>kbdcontrol -l uk.iso</userinput> + </screen> + + <para>Программа <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?kbdcontrol">kbdcontrol</ulink> + предполагает использование каталога + <filename>/usr/share/syscons/keymaps</filename> + и расширения <filename>.kbd</filename>.</para> -<para>В системах 2.0.5R и выше, всё, относящееся к знакогенератору, - раскладке клавиатуры, находится в каталоге - <filename>/usr/share/examples/syscons</filename>.</para> - + <para>Это может быть настроено в файле <filename>/etc/sysconfig</filename> + (или <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf(5)">rc.conf</ulink>). + Обратитесь к соответствующим комментариям в этом файле.</para> + <para>В системах 2.0.5R и выше, всё, относящееся к знакогенератору, + раскладке клавиатуры, находится в каталоге + <filename>/usr/share/examples/syscons</filename>.</para> + + <para>На данный момент поддерживаются следующие раскладки:</para> -<para>На данный момент поддерживаются следующие раскладки:</para> - -<para> -<itemizedlist> + <para> + <itemizedlist> + <listitem> + <para>Belgian ISO-8859-1</para> + </listitem> -<listitem> -<para>Belgian ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Brazilian 275 keyboard Codepage 850</para> + </listitem> -<listitem> -<para>Brazilian 275 keyboard Codepage 850 - </para> -</listitem> + <listitem> + <para>Brazilian 275 keyboard ISO-8859-1</para> + </listitem> -<listitem> -<para>Brazilian 275 keyboard ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Danish Codepage 865</para> + </listitem> -<listitem> -<para>Danish Codepage 865 - </para> -</listitem> + <listitem> + <para>Danish ISO-8859-1</para> + </listitem> -<listitem> -<para>Danish ISO-8859-1 - </para> -</listitem> + <listitem> + <para>French ISO-8859-1</para> + </listitem> -<listitem> -<para>French ISO-8859-1 - </para> -</listitem> + <listitem> + <para>German Codepage 850</para> + </listitem> -<listitem> -<para>German Codepage 850 - </para> -</listitem> + <listitem> + <para>German ISO-8859-1</para> + </listitem> -<listitem> -<para>German ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Italian ISO-8859-1</para> + </listitem> -<listitem> -<para>Italian ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Japanese 106</para> + </listitem> -<listitem> -<para>Japanese 106 - </para> -</listitem> + <listitem> + <para>Japanese 106x</para> + </listitem> -<listitem> -<para>Japanese 106x - </para> -</listitem> + <listitem> + <para>Latin American</para> + </listitem> -<listitem> -<para>Latin American - </para> -</listitem> + <listitem> + <para>Norwegian ISO-8859-1</para> + </listitem> -<listitem> -<para>Norwegian ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Polish ISO-8859-2 (programmer's)</para> + </listitem> -<listitem> -<para>Polish ISO-8859-2 (programmer's) - </para> -</listitem> + <listitem> + <para>Russian Codepage 866 (alternative)</para> + </listitem> -<listitem> -<para>Russian Codepage 866 (alternative) - </para> -</listitem> + <listitem> + <para>Russian koi8-r (shift)</para> + </listitem> -<listitem> -<para>Russian koi8-r (shift) - </para> -</listitem> + <listitem> + <para>Russian koi8-r</para> + </listitem> -<listitem> -<para>Russian koi8-r - </para> -</listitem> + <listitem> + <para>Spanish ISO-8859-1</para> + </listitem> -<listitem> -<para>Spanish ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Swedish Codepage 850</para> + </listitem> -<listitem> -<para>Swedish Codepage 850 - </para> -</listitem> + <listitem> + <para>Swedish ISO-8859-1</para> + </listitem> -<listitem> -<para>Swedish ISO-8859-1 - </para> -</listitem> + <listitem> + <para>Swiss-German ISO-8859-1</para> + </listitem> -<listitem> -<para>Swiss-German ISO-8859-1 - </para> -</listitem> + <listitem> + <para>United Kingdom Codepage 850</para> + </listitem> -<listitem> -<para>United Kingdom Codepage 850 - </para> -</listitem> + <listitem> + <para>United Kingdom ISO-8859-1</para> + </listitem> -<listitem> -<para>United Kingdom ISO-8859-1 - </para> -</listitem> + <listitem> + <para>United States of America ISO-8859-1</para> + </listitem> -<listitem> -<para>United States of America ISO-8859-1 - </para> -</listitem> + <listitem> + <para>United States of America dvorak</para> + </listitem> -<listitem> -<para>United States of America dvorak - </para> -</listitem> + <listitem> + <para>United States of America dvorakx</para> + </listitem> + </itemizedlist> + </para> -<listitem> -<para>United States of America dvorakx - </para> -</listitem> + </answer> +</qandaentry> -</itemizedlist> -</para> - - -</answer></qandaentry> +<qandaentry> + <question> + <para>Не получается заставить работать дисковые квоты.</para> + </question> -<qandaentry><question> -<para>Не получается заставить работать дисковые квоты.</para></question><answer> + <answer> -<para> -<orderedlist> + <para> + <orderedlist> + <listitem> + <para>Не включайте квотирование на <filename>/</filename>,</para> + </listitem> -<listitem> -<para>Не включайте квотирование на '/', + <listitem> + <para>Помещайте файл с квотами в ту файловую систему, которую + он обслуживает, то есть: + + <programlisting> +ФС ФАЙЛ КВОТ +/usr /usr/admin/quotas +/home /home/admin/quotas +... + </programlisting> + </para> + </listitem> + </orderedlist> + </para> - </para> -</listitem> + </answer> +</qandaentry> -<listitem> -<para>Помещайте файл с квотами в ту файловую систему, которую - он обслуживает, то есть: - -<literallayout> ФС ФАЙЛ КВОТ - /usr /usr/admin/quotas - /home /home/admin/quotas - ... - </literallayout> +<qandaentry> + <question> + <para>Что не так с устройством ccd?</para> + </question> - </para> -</listitem> + <answer> -</orderedlist> -</para> + <para>Симптом выглядит так:</para> + <screen> +&prompt.root; <userinput>ccdconfig -C</userinput> +ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format + </screen> - -</answer></qandaentry> + <para>Это сообщение обычно выдаётся, когда вы пытаетесь объединить разделы + <literal>c</literal>, по умолчанию имеющие тип <literal>unused</literal>. + Драйвер ccd требует, чтобы используемые разделы имели тип FS_BSDFFS. + Отредактируйте метки тех дисков, которые вы хотите использовать, сменив + типы разделов на <literal>4.2BSD</literal>.</para> -<qandaentry><question> -<para>Что не так с устройством ccd?</para></question><answer> + </answer> +</qandaentry> -<para>Симптом выглядит так:</para> - -<para> -<literallayout> # ccdconfig -C - ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format - # - </literallayout> -</para> - - -<para>Это сообщение обычно выдаётся, когда вы пытаетесь объединить разделы - 'c', по умолчанию имеющие тип 'unused'. Драйвер ccd требует, чтобы - используемые разделы имели тип FS_BSDFFS. Отредактируйте метки тех - дисков, которые вы хотите использовать, сменив типы разделов на - '4.2BSD'.</para> - +<qandaentry> + <question> + <para>Почему невозможно отредактировать метку диска ccd?</para> + </question> - -</answer></qandaentry> + <answer> -<qandaentry><question> -<para> Почему невозможно отредактировать метку диска ccd? - </para></question><answer> + <para>Симптом выглядит так:</para> -<para>Симптом выглядит так:</para> - -<para> -<literallayout> # disklabel ccd0 - (здесь выводится информация о диске, пробуем отредактировать метку) - # disklabel -e ccd0 - (редактирование, сохранение, выход) - disklabel: ioctl DIOCWDINFO: No disk label on disk; - use "disklabel -r" to install initial label - # - </literallayout> -</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>Это происходит из-за того, что метка диска, возвращаемая ccd, на - самом деле 'ненастоящая', не соответствующая реально располагающейся - на диске. Вы можете решить эту проблему, явно записав эту метку - обратно следующим образом:</para> - -<para> -<literallayout> # disklabel ccd0 > /tmp/disklabel.tmp - # disklabel -Rr ccd0 /tmp/disklabel.tmp - # disklabel -e ccd0 - (теперь это будет работать) - </literallayout> -</para> - + <para>Это происходит из-за того, что метка диска, возвращаемая ccd, на + самом деле <quote>ненастоящая</quote>, не соответствующая реально + располагающейся на диске. Вы можете решить эту проблему, явно записав эту + метку обратно следующим образом:</para> - -</answer></qandaentry> + <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> -<qandaentry><question> -<para>Поддерживает ли FreeBSD вызовы IPC из System V?</para></question><answer> + </answer> +</qandaentry> -<para>Да, FreeBSD поддерживает IPC из System V, а именно совместно - используемую память, сообщения и семафоры. Чтобы они работали, вам - нужно добавить следующие строки в файл конфигурации ядра.</para> - -<para> -<literallayout> options SYSVSHM - options "SHMMAXPGS=64" # 256Kb of sharable memory - options SYSVSEM # enable for semaphores - options SYSVMSG # enable for messaging - </literallayout> -</para> - - -<para>Перекомпилируйте и проинсталлируйте ядро.</para> - +<qandaentry> + <question> + <para>Поддерживает ли FreeBSD вызовы IPC из System V?</para> + </question> + + <answer> + + <para>Да, FreeBSD поддерживает IPC из System V, а именно совместно + используемую память, сообщения и семафоры. Чтобы они работали, вам + нужно добавить следующие строки в файл конфигурации ядра.</para> + <programlisting> +options SYSVSHM +options SYSVSHM # enable shared memory +options SYSVSEM # enable for semaphores +options SYSVMSG # enable for messaging + </programlisting> + + <para> + <note> + <para>Во FreeBSD 3.2 и выше эти параметры уже включены в ядро + <emphasis>GENERIC</emphasis>, что уже означает их присутствие в вашей + системе.</para> + </note> + </para> + + <para>Перекомпилируйте и проинсталлируйте ядро.</para> -<para><emphasis remap=bf>ЗАМЕЧАНИЕ:</emphasis> Вам может потребоваться увеличить значение - константы SHMMAXGS на что-то большее, типа 4096 (16М!), если вы - собираетесь ипользовать GIMP. 256Кб достаточно для работы X11R6.</para> - -</answer></qandaentry> + </answer> +</qandaentry> <qandaentry><question id="uucpmail"> @@ -5478,7 +5880,7 @@ id="admin"> <para>Параметры <literal>nodns</literal> и <literal>nocanonify</literal> подавляют использование DNS в процессе доставки. Строка - <symbol>UUCP_RELAY</symbol> может понадобиться только в очень странных + <literal>UUCP_RELAY</literal> может понадобиться только в очень странных случаях, не спрашивайте о них. Просто поместите здесь имя хоста Internet, который может обрабатывать адреса с псевдо-доменами .UUCP; в большинстве случаев достаточно поставить сюда имя почтового шлюза @@ -5500,34 +5902,36 @@ id="admin"> . uucp-dom: </programlisting> -<para>Как видите, это часть реально существующего файла. Первые три строки - описывают особые случаи, когда почта, направленная на некоторые домены, будет - посылаться не по стандартному маршруту, а на некоторую близлежащую - UUCP-систему для `сокращения' маршрута доставки. Следующая строка описывает, - что почта на локальный домен в сети Ethernet может быть доставлена по SMTP. - В конце файла описаны близлежащие системы UUCP в псевдо-домене .UUCP, что - позволит выполнять правильную доставку почты на адреса - ``uucp-система!получатель''. В последней строке всегда присутствует одна - точка, соответствующая всем остальным доменам, с доставкой по UUCP на - ближнюю систему UUCP, который является универсальный почтовым шлюзом во весь - остальной мир. Все имена узлов после <literal>uucp-dom:</literal> - должны быть реально существующими узлами UUCP, что можно проверить - командой <literal>uuname</literal>.</para> + <para>Как видите, это часть реально существующего файла. Первые три строки + описывают особые случаи, когда почта, направленная на некоторые домены, + будет посылаться не по стандартному маршруту, а на некоторую близлежащую + UUCP-систему для <quote>сокращения</quote> маршрута доставки. Следующая + строка описывает, + что почта на локальный домен в сети Ethernet может быть доставлена по SMTP. + В конце файла описаны близлежащие системы UUCP в псевдо-домене .UUCP, что + позволит выполнять правильную доставку почты на адреса + <literal><replaceable>uucp-система</replaceable>!<replaceable>получатель</replaceable></literal>. + В последней строке всегда присутствует одна точка, соответствующая всем + остальным доменам, с доставкой по UUCP на + ближнюю систему UUCP, который является универсальный почтовым шлюзом во весь + остальной мир. Все имена узлов после <literal>uucp-dom:</literal> + должны быть реально существующими узлами UUCP, что можно проверить + командой <literal>uuname</literal>.</para> <para>Как напоминание о том, что этот файл должен быть преобразован в формат базы данных DBM перед использованием, командная строка, выполняющая это действие, помещена как комментарий в начало файла. При изменении mailertable всегда нужно выполнять эту команду.</para> -<para>Последняя подсказка: если вы не уверены в правильности настройки - маршрутизаци почты, используйте sendmail с опцией <option>-bt</option>. Она - переводит sendmail в режим <emphasis>проверки адресов</emphasis>; введите - ``0 '', а затем адрес, который вы хотите протестировать на правильность - маршрутизации. В последней строке будут указаны используемый - почтовый агент, хост получателя, с которым будет работать этот агент, - и (может быть преобразованный) адрес. Выход их этого режима - осуществляется по Control-D.</para> - + <para>Последняя подсказка: если вы не уверены в правильности настройки + маршрутизаци почты, используйте sendmail с опцией <option>-bt</option>. Она + переводит sendmail в режим <emphasis>проверки адресов</emphasis>; введите + <literal>0 </literal>, а затем адрес, который вы хотите протестировать на + правильность маршрутизации. В последней строке будут указаны используемый + почтовый агент, хост получателя, с которым будет работать этот агент, + и (может быть преобразованный) адрес. Выход их этого режима + осуществляется по Control-D.</para> + <screen> &prompt.user; <userinput>sendmail -bt</userinput> ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) @@ -5572,22 +5976,18 @@ id="ispmail"> соединения с Internet, добавив такую строку в файл <filename>/etc/ppp/ppp.linkup</filename>:</para> - <para> - <literallayout> - MYADDR: - !bg su user -c fetchmail - </literallayout> - </para> + <programlisting> +MYADDR: + !bg su user -c fetchmail + </programlisting> - <para>Если вы используете <emphasis remap=tt>sendmail</emphasis> (как + <para>Если вы используете <application>sendmail</application> (как показано ниже) для доставки почты для внешних пользователей, поместите команду</para> - <para> - <literallayout> -!bg su user -c "sendmail -q" - </literallayout> - </para> + <programlisting> + !bg su user -c "sendmail -q" + </programlisting> <para>после вышеуказанной строки. Это заставит sendmail обработать вашу очередь почтовых сообщений, как только будет осуществлено подключение @@ -5599,11 +5999,9 @@ id="ispmail"> <filename>bsd.home</filename> создайте файл <filename>.fetchmailrc</filename> такого содержания:</para> - <para> - <literallayout> -poll myISP.com protocol pop3 fetchall pass MySecret; - </literallayout> - </para> + <programlisting> +poll myISP.com protocol pop3 fetchall pass MySecret + </programlisting> <para>Излишним будет напоминание о том, что этот файл никому не должен быть доступен для чтения, кроме пользователя <emphasis @@ -5618,8 +6016,7 @@ poll myISP.com protocol pop3 fetchall pass MySecret; <para>Следующий файл <filename>.mc</filename> должен подойти:</para> - <para> - <literallayout> + <programlisting> VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl @@ -5636,8 +6033,7 @@ define(SMART_HOST, `relay.myISP.com') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl - </literallayout> - </para> + </programlisting> <para>В предыдущем разделе описано, как преобразовать файл <filename>.mc</filename> в <filename>sendmail.cf</filename>. И не забудьте @@ -5647,22 +6043,27 @@ define(`confDELIVERY_MODE',`deferred')dnl </qandaentry> -<qandaentry><question> -<para>Ой! Я забыл пароль администратора!</para></question><answer> - -<para>Без паники! Просто перезапустите систему, наберите <userinput>boot - -s</userinput> в приглашении Boot: (или просто <userinput>-s</userinput> в - случае использования версий FreeBSD до 3.2) для входа в однопользовательский - режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение - &prompt.root; введите <command>mount -u /</command>, чтобы перемонтировать - корневую файловую систему в режиме чтения/записи, после чего выполните - команду <command>mount -a</command> для монтирования всех файловых систем. - Запустите команду <emphasis remap=tt>passwd root</emphasis>, чтобы сменить - пароль администратора и затем <emphasis remap=tt>exit</emphasis> для - продолжения процесса загрузки. -</para> - -</answer></qandaentry> +<qandaentry> + <question> + <para>Ой! Я забыл пароль администратора!</para> + </question> + + <answer> + + <para>Без паники! Просто перезапустите систему, наберите <userinput>boot + -s</userinput> в приглашении Boot: (или просто <userinput>-s</userinput> в + случае использования версий FreeBSD до 3.2) для входа в однопользовательский + режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение + &prompt.root; введите <command>mount -u /</command>, чтобы перемонтировать + корневую файловую систему в режиме чтения/записи, после чего выполните + команду <command>mount -a</command> для монтирования всех файловых систем. + Запустите команду <command>passwd root</command>, чтобы сменить + пароль администратора, а затем <command>exit</command> для + продолжения процесса загрузки.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Как запретить перезагрузку по клавишам Control-Alt-Delete? @@ -5691,33 +6092,39 @@ define(`confDELIVERY_MODE',`deferred')dnl </answer></qandaentry> -<qandaentry><question> -<para>Как преобразовать текстовые файлы DOS в формат UNIX?</para></question><answer> -<para>Используйте такую команду:</para> - -<para> -<literallayout>perl -i.bak -npe 's/\r\n/\n/g' file ...</literallayout> -</para> - +<qandaentry> + <question> + <para>Как преобразовать текстовые файлы DOS в формат UNIX?</para> + </question> + <answer> + + <para>Используйте такую команду:</para> -<para>где file - это имя файла(ов) для преобразования. Преобразование + <screen> +&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' file ...</userinput> + </screen> + + <para>где file - это имя файла(ов) для преобразования. Преобразование делается в том же самом файле, оригинальные файлы сохраняются с расширением .bak.</para> - -<para>Это преобразование также можно выполнить с помощью команды + + <para>Это преобразование также можно выполнить с помощью команды <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tr">tr</ulink>:</para> - -<para> -<literallayout>tr -d '\r' < dos-text-file > unix-file</literallayout> -</para> - -<para>где dos-text-file - это имя файла, содержащего текст DOS, а - в файл unix-file будет помещён уже преобразованный текст. Этот способ - может работать гораздо быстрее, чем при использовании perl.</para> - -</answer></qandaentry> + + <screen> +&prompt.user; <userinput>tr -d '\r' < <replaceable>dos-text-file</replaceable> > <replaceable>unix-file</replaceable></userinput> + </screen> + + <para>где <replaceable>dos-text-file</replaceable> - это имя файла, + содержащего текст DOS, а в файл <replaceable>unix-file</replaceable> будет + помещён уже преобразованный текст. Этот способ может работать гораздо + быстрее, чем при использовании perl.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Как прервать процесс по имени?</para></question><answer> @@ -5740,89 +6147,83 @@ define(`confDELIVERY_MODE',`deferred')dnl </answer></qandaentry> -<qandaentry><question> -<para>Как деинсталлировать Kerberos?</para></question><answer> - -<para>Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin - того релиза, который у вас запущен. Если у вас есть CDROM, вы можете - смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить - команду</para> - -<para> -<literallayout> cd /cdrom/bin - ./install.sh - </literallayout> -</para> - - - -</answer></qandaentry> - -<qandaentry><question> -<para>Как добавить в систему дополнительные псевдотерминалы?</para></question><answer> - -<para>Если у вас много пользователей, работающий в сеансах telnet, ssh, X - или в screen, вам можете столкнуться с проблемой нехватки - псевдотерминалов. Их количество можно уыеличить следующим образом:</para> - -<para> -<orderedlist> - -<listitem> -<para>Откомпилируйте и инсталлируйте новое ядро, в конфигурационный - файл которого входит строка - - -<literallayout> pseudo-device pty 256 - </literallayout> +<qandaentry> + <question> + <para>Как деинсталлировать Kerberos?</para> + </question> - </para> -</listitem> + <answer> -<listitem> -<para>Выполните команду + <para>Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin + того релиза, который у вас запущен. Если у вас есть CDROM, вы можете + смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить + команду</para> - -<literallayout> # cd /dev - # ./MAKEDEV pty{1,2,3,4,5,6,7} - </literallayout> + <screen> +&prompt.root; <userinput>cd /cdrom/bin</userinput> +&prompt.root; <userinput>./install.sh</userinput> + </screen> + </answer> +</qandaentry> - </para> -<para>для создания 256 дополнительных файлов устройств для новых терминалов.</para> +<qandaentry> + <question> + <para>Как добавить в систему дополнительные псевдотерминалы?</para> + </question> + <answer> -</listitem> + <para>Если у вас много пользователей, работающий в сеансах telnet, ssh, X + или в screen, вам можете столкнуться с проблемой нехватки + псевдотерминалов. Их количество можно уыеличить следующим образом:</para> -<listitem> -<para>Отредактируйте файл <filename>/etc/ttys</filename>, добавив по строке для - каждого из 256 терминалов. Они должны соответствовать формату - существующих строк, то есть должны выглядеть как + <para> + <orderedlist> + <listitem> + <para>Откомпилируйте и инсталлируйте новое ядро, в конфигурационный + файл которого входит такая строка:</para> - -<literallayout> ttyqc none network - </literallayout> + <programlisting> +pseudo-device pty 256 + </programlisting> + </listitem> + <listitem> + <para>Выполните следующие команды:</para> - </para> + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV pty{1,2,3,4,5,6,7}</userinput> + </screen> -<para>Порядок назначения букв при записи в виде регулярного выражения имеет - вид <emphasis remap=tt>tty[pqrsPQRS][0-9a-v]</emphasis>.</para> + <para>для создания 256 дополнительных файлов устройств для новых + терминалов.</para> + </listitem> + <listitem> + <para>Отредактируйте файл <filename>/etc/ttys</filename>, добавив по + строке для каждого из 256 терминалов. Они должны соответствовать + формату существующих строк, то есть должны выглядеть вот так:</para> -</listitem> + <programlisting> +ttyqc none network + </programlisting> -<listitem> -<para>Теперь осталось только перезапустить систему с новым ядром. - </para> -</listitem> + <para>Порядок назначения букв при записи в виде регулярного выражения + имеет вид <literal>tty[pqrsPQRS][0-9a-v]</literal>.</para> + </listitem> -</orderedlist> -</para> + <listitem> + <para>Теперь осталось только перезапустить систему с новым ядром.</para> + </listitem> + </orderedlist> + </para> -</answer></qandaentry> + </answer> +</qandaentry> <qandaentry> @@ -5842,163 +6243,179 @@ define(`confDELIVERY_MODE',`deferred')dnl <screen> &prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKDEV snd0</userinput> +&prompt.root; <userinput>sh MAKEDEV snd0</userinput> </screen> </answer> </qandaentry> -<qandaentry><question> -<para>Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc - без перезагрузки системы?</para></question><answer> +<qandaentry> + <question> + <para>Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc + без перезагрузки системы?</para> + </question> -<para>Перейдите в однопользовательский режим, а затем возвратитесь обратно - в многопользовательский.</para> - -<para>На консоли выполните следующее:</para> - -<para> - <literallayout> - # shutdown now - (Замечание: без -r или -h) + <answer> - # return - # exit - </literallayout> -</para> - -</answer></qandaentry> + <para>Перейдите в однопользовательский режим, а затем возвратитесь обратно + в многопользовательский.</para> -<qandaentry><question> -<para>Что означает термин sandbox (песочница)?</para></question><answer> + <para>На консоли выполните следующее:</para> -<para>"Sandbox" - это термин, используемый при обеспечении - безопасности. Он имеет два значения:</para> + <screen> +&prompt.root; <userinput>shutdown now</userinput> +(Замечание: без -r или -h) -<para> -<itemizedlist> +&prompt.root; <userinput>return</userinput> +&prompt.root; <userinput>exit</userinput> + </screen> -<listitem> -<para>Процесс, помещённый внутрь некоторых виртуальных стен, которые - предназначены для того, чтобы предотвратить взлом всей системы в - результате взлома этого конкретного процесса.</para> - -<para>Говорится, что процесс может "играть" в границах этих стен. Что бы - этот процесс ни делал, он эти стены разрушить не может, поэтому вам - не нужен его особый аудит, чтобы с уверенностью сказать, насколько - его работа безопасна для системы.</para> - -<para>Стеной может служить, например, идентификатор пользователя. Вот - определение, даваемое на страницах справочника по named и часто - используемое при обсуждении безопасности систем.</para> - -<para>Рассмотрим, например, службу 'ntalk' (смотрите /etc/inetd.conf). - Раньше эта служба запускалась с идентификатором пользователя root, - а сейчас - tty. Пользователь tty - это та песочница, которая - осложняет взлом системы через ntalk посредством использования этого - идентификатора пользователя.</para> -</listitem> + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Что означает термин sandbox (песочница)?</para> + </question> + + <answer> + + <para><quote>Sandbox</quote> - это термин, используемый при обеспечении + безопасности. Он имеет два значения:</para> + + <para> + <itemizedlist> + <listitem> + <para>Процесс, помещённый внутрь некоторых виртуальных стен, которые + предназначены для того, чтобы предотвратить взлом всей системы в + результате взлома этого конкретного процесса.</para> + + <para>Говорится, что процесс может <command>играть</command> в границах + этих стен. Что бы + этот процесс ни делал, он эти стены разрушить не может, поэтому вам + не нужен его особый аудит, чтобы с уверенностью сказать, насколько + его работа безопасна для системы.</para> + + <para>Стеной может служить, например, идентификатор пользователя. Вот + определение, даваемое на страницах справочника по named и часто + используемое при обсуждении безопасности систем.</para> + + <para>Рассмотрим, например, службу <literal>ntalk</literal> (смотрите + /etc/inetd.conf). Раньше эта служба запускалась с идентификатором + пользователя root, + а сейчас - tty. Пользователь tty - это та песочница, которая + осложняет взлом системы через ntalk посредством использования этого + идентификатора пользователя.</para> + </listitem> -<listitem> + <listitem> + <para>Процесс, помещённый внутрь симулируемой машины. Это даёт больший + уровень безопасности. В общем это означает, что некто, взломавший + процесс, может думать. что может сломать и систему в целом, однако + фактически может сломать только симулятор этой машины и не может + модифицировать никаких реальных данных.</para> + + <para>Самым распространённым способом достигнуть такого результата + является построение имитирующего окружения в каталоге и затем запуск + процессов и этом каталоге через chroot (т.е. задав этот каталог в + качестве <filename>/</filename> для этого процесса, а не реальный + <filename>/</filename> всей системы).</para> + + <para>Другим часто используемым методом является монтирование низлежащей + файловой системы в режиме "только для чтения" и затем создание + уровня фаловой системы поверх неё, что даёт процессу видимость + доступа по записи на ту файловую систему. Процесс будет полагать, + что может записывать в те файлы, но это будет единственный процесс, + который увидит результат - другие процессы не будут этого делать, + ни в коем случае.</para> + + <para>Попытка сделать такой тип песочницы настолько прозрачна, что + пользователь (или взломщик) даже не поймёт, что он в ней + находится.</para> + </listitem> + </itemizedlist> + </para> -<para>Процесс, помещённый внутрь симулируемой машины. Это даёт больший - уровень безопасности. В общем это означает, что некто, взломавший - процесс, может думать. что может сломать и систему в целом, однако - фактически может сломать только симулятор этой машины и не может - модифицировать никаких реальных данных.</para> - -<para>Самым распространённым способом достигнуть такого результата - является построение имитирующего окружения в каталоге и затем запуск - процессов и этом каталоге через chroot (т.е. задав этот каталог в - качестве "/" для этого процесса, а не реальный "/" всей системы).</para> - -<para>Другим часто используемым методом является монтирование низлежащей - файловой системы в режиме "только для чтения" и затем создание - уровня фаловой системы поверх неё, что даёт процессу видимость - доступа по записи на ту файловую систему. Процесс будет полагать, - что может записывать в те файлы, но это будет единственный процесс, - который увидит результат - другие процессы не будут этого делать, - ни в коем случае.</para> - -<para>Попытка сделать такой тип песочницы настолько прозрачна, что - пользователь (или взломщик) даже не поймёт, что он в ней находится.</para> -</listitem> + <para>В UNIX реализованы два типа "песочниц". Один на уровне процесса, и один + на уровне идентификаторов пользователей.</para> -</itemizedlist> -</para> + <para>Каждый процесс в UNIX полностью защищён от других процессов. Никакой + процесс не может модифицировать адресное пространство другого процесса. + Это отличается от Windows, где процесс может легко записать что-либо в + адресное пространство другого процесса, что приводит к аварийным + ситуациям.</para> -<para>В UNIX реализованы два типа "песочниц". Один на уровне процесса, и один - на уровне идентификаторов пользователей.</para> + <para>В UNIX каждым процессом владеет некоторый идентификатор пользователя. + Если этот пользователь не root, от ограждает процесс от других, + владельцами которых являются другие пользователи. Этот идентификатор + используется также для защиты данных на диске.</para> -<para>Каждый процесс в UNIX полностью защищён от других процессов. Никакой - процесс не может модифицировать адресное пространство другого процесса. - Это отличается от Windows, где процесс может легко записать что-либо в - адресное пространство другого процесса, что приводит к аварийным - ситуациям.</para> + </answer> +</qandaentry> -<para>В UNIX каждым процессом владеет некоторый идентификатор пользователя. - Если этот пользователь не root, от ограждает процесс от других, - владельцами которых являются другие пользователи. Этот идентификатор - используется также для защиты данных на диске.</para> -</answer></qandaentry> +<qandaentry> + <question> + <para>Как разрешить обычным пользователям монтировать дискеты и + другие сменные носители?</para> + </question> - <qandaentry> - <question> - <para>Как разрешить обычным пользователям монтировать дискеты и - другие сменные носители?</para> - </question> + <answer> - <answer> - <para>Обычным пользователям можно позволить монтировать устройства. - Вот как это делается:</para> + <para>Обычным пользователям можно позволить монтировать устройства. + Вот как это делается:</para> - <procedure> - <step> - <para>Работая пользователем <username>root</username>, назначьте - соответствующие права на устройства с поблочным доступом, - которые соответствуют сменным носителям.</para> + <procedure> + <step> + <para>Работая пользователем <username>root</username>, назначьте + соответствующие права на устройства с поблочным доступом, + которые соответствуют сменным носителям.</para> - <para>Например, чтобы позволить пользователям монтировать дискеты - в первом дисководе, воспользуйтесь командой</para> + <para>Например, чтобы позволить пользователям монтировать дискеты + в первом дисководе, воспользуйтесь командой</para> - <screen>&prompt.root; <userinput>chmod 777 /dev/fd0</userinput></screen> - </step> + <screen>&prompt.root; <userinput>chmod 777 /dev/fd0</userinput></screen> + </step> - <step> - <para>Как пользователь <username>root</username>, установите - значение sysctl-переменной <varname>vfs.usermount</varname> в - значение <literal>1</literal>.</para> + <step> + <para>Как пользователь <username>root</username>, установите + значение sysctl-переменной <varname>vfs.usermount</varname> в + значение <literal>1</literal>.</para> - <screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen> - </step> - </procedure> + <screen> +&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput> + </screen> + </step> + </procedure> - <para>Теперь пользователи смогут смонтировать - <filename>/dev/fd0</filename> в свои каталоги:</para> + <para>Теперь пользователи смогут смонтировать <filename>/dev/fd0</filename> в + свои каталоги:</para> - <screen>&prompt.user; <userinput> mkdir ~/my-mount-point</userinput> -&prompt.user; <userinput> mount -t msdos /dev/fd0 ~/my-mount-point</userinput></screen> + <screen> +&prompt.user; <userinput> mkdir ~/my-mount-point</userinput> +&prompt.user; <userinput> mount -t msdos /dev/fd0 ~/my-mount-point</userinput> + </screen> - <para>Размонтировка устройства осуществляется просто:</para> + <para>Размонтировка устройства осуществляется просто:</para> - <screen>&prompt.user; <userinput>umount <filename>~/my-mount-point</filename></userinput></screen> + <screen> +&prompt.user; <userinput>umount <filename>~/my-mount-point</filename></userinput> + </screen> - <para> - Использование <varname>vfs.usermount</varname>, однако, имеет - некоторые негативные стороны, связанные с вопросами безопасности. - Более правильным способом работы с носителями в формате MSDOS - является использование <ulink - url="http://www.FreeBSD.org/cgi/ports.cgi?query=%5Emtools-&stype=name">mtools</ulink> - из коллекции портов. - </para> - </answer> - </qandaentry> + <para>Использование <varname>vfs.usermount</varname>, однако, имеет + некоторые негативные стороны, связанные с вопросами безопасности. + Более правильным способом работы с носителями в формате MSDOS + является использование <ulink + URL="http://www.FreeBSD.org/cgi/ports.cgi?query=%5Emtools-&stype=name"> + mtools</ulink> из коллекции портов.</para> + </answer> +</qandaentry> </qandaset> </chapter> - + <chapter id="x"> @@ -6032,44 +6449,43 @@ id="x"> </question> <answer> - <para>Если вы используете syscons (стандартный драйвер консоли), то можете - настроить поддержку указателя мыши во всех виртуальных экранах. Во - избежание конфликтов с X, драйвер syscons поддерживает виртуальное - устройство ``<filename>/dev/sysmouse</filename>''. Все события, - получаемые от реальной мыши, пишутся в устройство sysmouse через moused. - Если вы хотите использовать вашу мышь на одной или нескольких виртуальных - консолях, <emphasis remap=bf>продолжая</emphasis> использовать X, - посмотрите <xref linkend="moused" remap="другой раздел"> и настройте - moused.</para> - <para>Затем отредактируйте <filename>/etc/XF86Config</filename> так, чтобы - в нём были следующие строки.</para> + <para>Если вы используете syscons (стандартный драйвер консоли), то можете + настроить поддержку указателя мыши во всех виртуальных экранах. Во + избежание конфликтов с X, драйвер syscons поддерживает виртуальное + устройство <filename>/dev/sysmouse</filename>. Все события, + получаемые от реальной мыши, пишутся в устройство sysmouse через moused. + Если вы хотите использовать вашу мышь на одной или нескольких виртуальных + консолях, <emphasis remap=bf>продолжая</emphasis> использовать X, + посмотрите <xref linkend="moused" remap="другой раздел"> и настройте + moused.</para> + + <para>Затем отредактируйте <filename>/etc/XF86Config</filename> так, чтобы + в нём были следующие строки.</para> - <programlisting> + <programlisting> Section Pointer Protocol "SysMouse" Device "/dev/sysmouse" ..... - </programlisting> + </programlisting> - <para>Пример выше предназначен для XFree86 3.3.2 и выше. Для более ранних - версий параметр <emphasis>Protocol</emphasis> должен быть - <emphasis>MouseSystems</emphasis>.</para> - - <para>Некоторые предпочитают использовать в X устройство - ``<filename>/dev/mouse</filename>''. Чтобы оно работало, файл устройства - должен являться ссылкой на <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?sysmouse"> - /dev/sysmouse</ulink>:</para> - - <para> - <literallayout> - # cd /dev - # rm -f mouse - # ln -s sysmouse mouse - </literallayout> - </para> + <para>Пример выше предназначен для XFree86 3.3.2 и выше. Для более ранних + версий параметр <emphasis>Protocol</emphasis> должен быть + <emphasis>MouseSystems</emphasis>.</para> + <para>Некоторые предпочитают использовать в X устройство + <filename>/dev/mouse</filename>. Чтобы оно работало, файл устройства + <filename>/dev/mouse</filename> должен являться ссылкой на <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?sysmouse"> + /dev/sysmouse</ulink>:</para> + + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>rm -f mouse</userinput> +&prompt.root; <userinput>ln -s sysmouse mouse</userinput> + </screen> + </answer> </qandaentry> @@ -6270,190 +6686,179 @@ id="x"> </orderedlist> </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Меню и диалоговые окна в X Window работают неправильно!</para> + </question> + + <answer> + <para>Попробуйте выключить Num Lock.</para> + + <para>Если клавиша Num Lock во время загрузки по умолчанию включена, + добавьте в секцию <literal>Keyboard</literal> + файла <filename>XF86Config</filename> следующую строку.</para> + + <programlisting> +# Let the server do the NumLock processing. This should only be +# required when using pre-R6 clients + ServerNumLock + </programlisting> + + </answer> </qandaentry> -<qandaentry><question> -<para> Меню и диалоговые окна в X Window работают неправильно! - </para></question><answer> +<qandaentry> + <question> + <para>Что такое виртуальные консоли и как изменить их количество?</para> + </question> -<para>Попробуйте выключить Num Lock.</para> - + <answer> - -<para>Если клавиша Num Lock во время загрузки по умолчанию включена, - добавьте в секцию ``<emphasis remap=tt>Keyboard</emphasis>'' файла <emphasis remap=tt>XF86Config</emphasis> следующую - строку.</para> - -<para> -<literallayout> # Let the server do the NumLock processing. This should only be - # required when using pre-R6 clients - ServerNumLock - </literallayout> -</para> - + <para>Виртуальные консоли, упрощённо говоря, позволяют вам иметь + несколько одновременных сеансов работы с той же самой машиной без + установки какой бы то ни было сети или запуска X.</para> - -</answer></qandaentry> + <para>При запуске системы после вывода сообщений этапа загрузки на консоль + выдаётся приглашение на вход в систему. Вы можете ввести своё имя и пароль + и начать работать (или играть!) на первой виртуальной консоли.</para> -<qandaentry><question> -<para> Что такое виртуальные консоли и как изменить их количество? - </para></question><answer> + <para>В какой-то момент вы можете захотеть запустить ещё одну сеанс, + скажем, чтобы заглянуть в документацию по программе, которую вы + запустили или для для чтения электронной почты во время ожидания + завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая + клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на + второй <quote>виртуальной консоли</quote>! Когда захотите вернуться к + первоначальному сеансу, нажмите Alt-F1.</para> -<para>Виртуальные консоли, упрощённо говоря, позволяют вам иметь - несколько одновременных сеансов работы с той же самой машиной без - установки какой бы то ни было сети или запуска X.</para> - + <para>После инсталляции по умолчанию во FreeBSD задействованы три виртуальных + консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш Alt-F1, Alt-F2 и + Alt-F3 служат для переключения между ними.</para> - -<para>При запуске системы после вывода сообщений этапа загрузки на консоль - выдаётся приглашение на вход в систему. Вы можете ввести своё имя и - пароль и начать работать (или играть!) на первой виртуальной консоли.</para> - - -<para>В какой-то момент вы можете захотеть запустить ещё одну сеанс, - скажем, чтобы заглянуть в документацию по программе, которую вы - запустили или для для чтения электронной почты во время ожидания - завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая - клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на - второй ``виртуальной консоли''! Когда захотите вернуться к - первоначальному сеансу, нажмите Alt-F1.</para> - -<para>После инсталляции по умолчанию во FreeBSD задействованы три виртуальных - консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш Alt-F1, Alt-F2 и - Alt-F3 служат для переключения между ними.</para> - -<para> Чтобы увеличить количество консолей, отредактируйте файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, - добавив туда записи для терминалов с именами от ``<emphasis remap=tt>ttyv4</emphasis>'' до - ``<emphasis remap=tt>ttyvc</emphasis>'' после слов ``Virtual terminals'':</para> - -<para> -<literallayout> # Edit the existing entry for ttyv3 in /etc/ttys and change - # "off" to "on". - ttyv3 "/usr/libexec/getty Pc" cons25 on secure - ttyv4 "/usr/libexec/getty Pc" cons25 on secure - ttyv5 "/usr/libexec/getty Pc" cons25 on secure - ttyv6 "/usr/libexec/getty Pc" cons25 on secure - ttyv7 "/usr/libexec/getty Pc" cons25 on secure - 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 - </literallayout> -</para> - + <para>Чтобы увеличить количество консолей, отредактируйте файл <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, добавив + туда записи для терминалов с именами от <devicename>ttyv4</devicename> до + <devicename>ttyvc</devicename> после слов <quote>Virtual + terminals</quote>:</para> - -<para>Используйте из них столько, сколько посчитаете нужным. Чем больше - виртуальных терминалов у вас имеется, тем больше ресурсов они - используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. - Вы можете сменить статус консолей с ``<emphasis remap=tt>secure</emphasis>'' на - ``<emphasis remap=tt>insecure</emphasis>''.</para> - + <programlisting> +# Edit the existing entry for ttyv3 in /etc/ttys and change +# "off" to "on". +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +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> - -<para><emphasis remap=bf>ВАЖНОЕ ЗАМЕЧАНИЕ</emphasis> если вы хотите запустить X, вы <emphasis remap=bf>ДОЛЖНЫ</emphasis> - оставить для него по крайней мере один неиспользуемый (или - выключенный) виртуальный терминал. Таким образов, если вы хотите - иметь приглашения login на всех двенадцати функциональнык клавиши, - то вам не повезло - вы можете это сделать только для одиннадцати из - них, если хотите на этой же машине ещё запустить X-сервер.</para> - + <para>Используйте из них столько, сколько посчитаете нужным. Чем больше + виртуальных терминалов у вас имеется, тем больше ресурсов они + используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. + Вы можете сменить статус консолей с <literal>secure</literal> на + <literal>insecure</literal>.</para> - -<para>Самым простым способом убрать консоль является просто её - выключение. Например, если вы запустили на всех 12 консолях - виртуальные терминалы, как указано выше, и ещё хотите запустить X, то - должны будете изменить параметры двенадцатого виртуального - терминала с:</para> - -<para> -<literallayout> ttyvb "/usr/libexec/getty Pc" cons25 on secure - </literallayout> -</para> - + <para> + <important> + <para>Если вы хотите запустить X, вы <emphasis>ДОЛЖНЫ</emphasis> + оставить для него по крайней мере один неиспользуемый (или + выключенный) виртуальный терминал. Таким образов, если вы хотите + иметь приглашения login на всех двенадцати функциональнык клавиши, + то вам не повезло - вы можете это сделать только для одиннадцати из + них, если хотите на этой же машине ещё запустить X-сервер.</para> + </important> + </para> - -<para>на:</para> - -<para> -<literallayout> ttyvb "/usr/libexec/getty Pc" cons25 off secure - </literallayout> -</para> - + <para>Самым простым способом убрать консоль является просто её + выключение. Например, если вы запустили на всех 12 консолях + виртуальные терминалы, как указано выше, и ещё хотите запустить X, то + должны будете изменить параметры двенадцатого виртуального + терминала с:</para> - -<para>Если на вашей клавиатуре только десять функциональных клавиш, - то последние строки будут выглядеть так:</para> - -<para> -<literallayout> ttyv9 "/usr/libexec/getty Pc" cons25 off secure - ttyva "/usr/libexec/getty Pc" cons25 off secure - ttyvb "/usr/libexec/getty Pc" cons25 off secure - </literallayout> -</para> - + <programlisting> +ttyvb "/usr/libexec/getty Pc" cons25 on secure + </programlisting> - -<para>(Вы также можете просто их удалить.)</para> - + <para>на:</para> - -<para>После того, как вы отредактировали файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, - проверьте, что у вас имеется достаточное количество устройств для - виртуальных терминалов. Самый простой способ сделать это:</para> - -<para> -<literallayout> # cd /dev - # ./MAKEDEV vty12 # For 12 devices - </literallayout> -</para> - + <programlisting> +ttyvb "/usr/libexec/getty Pc" cons25 off secure + </programlisting> - -<para>Самым простым (и надёжным) способом активировать виртуальные - консоли является перезагрузка. Однако если вы вовсе не хотите этого - делать, просто остановите X Window System и выполните (как - администратор):</para> - -<para> -<literallayout> kill -HUP 1 - </literallayout> -</para> - + <para>Если на вашей клавиатуре только десять функциональных клавиш, + то последние строки будут выглядеть так:</para> - -<para>При этом требуется, чтобы вы полностью закрыли X Window, если она - была запущена, до запуска этой команды. Если вы это не сделаете, - ваша система может повиснуть/заблокироваться после выполнения команды - kill.</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> - -</answer></qandaentry> + <para>(Вы также можете просто их удалить.)</para> -<qandaentry><question> -<para> Как осуществляется доступ к виртуальным консолям из X? - </para></question><answer> + <para>После того, как вы отредактировали файл <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, + проверьте, что у вас имеется достаточное количество устройств для + виртуальных терминалов. Самый простой способ сделать это:</para> -<para>Если на консоли запущена X Window, вы можете использовать - комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим - работы с виртуальной консолью. Заметьте, однако, что как только вы - переключитесь из X Window в виртуальный терминал, вы можете - использовать только Alt- клавиши для переключения в другой - виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать - клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, - то в старых релизах вы может обнаружить, что ваша текстовая консоль - осталась в режиме ``заблокированного control''. Нажмите эту клавишу - ещё раз.</para> - + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV vty12</userinput> + </screen> - -</answer></qandaentry> + <para>Самым простым (и надёжным) способом активировать виртуальные + консоли является перезагрузка. Однако если вы вовсе не хотите этого + делать, просто остановите X Window System и выполните (как + пользователь <username>root</username>):</para> -<qandaentry><question> -<para>Как запустить XDM во время загрузки?</para></question><answer> + <screen> +&prompt.root; <userinput>kill -HUP 1</userinput> + </screen> + + <para>При этом требуется, чтобы вы полностью закрыли X Window, если она + была запущена, до запуска этой команды. Если вы это не сделаете, + ваша система может повиснуть/заблокироваться после выполнения команды + kill.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как осуществляется доступ к виртуальным консолям из X?</para> + </question> + + <answer> + + <para>Если на консоли запущена X Window, вы можете использовать + комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим + работы с виртуальной консолью. Заметьте, однако, что как только вы + переключитесь из X Window в виртуальный терминал, вы можете + использовать только Alt- клавиши для переключения в другой + виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать + клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, + то в старых релизах вы может обнаружить, что ваша текстовая консоль + осталась в режиме <quote>заблокированного control</quote>. Нажмите эту + клавишу ещё раз.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как запустить XDM во время загрузки?</para> + </question> + + <answer> <para>Есть две философские школы, проповедующие различные методы запуска <ulink @@ -6468,156 +6873,159 @@ id="x"> наоборот. В обоих случая результат один и тот же: X выводит графическое приглашение login:.</para> -<para>Плюсом метода с использованием ttys является документрование того, - на каком vty будет запущен X и то, что ответственность за перезапуск - X-сервера при завершении сеанса работы лежит на процессе init. Метод - с использованием rc.local позволяет просто прекратить работу xdm, если - при запуске X возникли какие-нибудь проблемы.</para> - -<para>Из rc.local <emphasis remap=tt>xdm</emphasis> должен быть запущен без - аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска - getty, иначе они будут конфликтовать, блокируя консоль. Лучше всего - выдержать паузу секунд на 10 и потом запустить xdm.</para> - - <para>Если <command>xdm</command> запускается из - <filename>/etc/ttys</filename>, то есть вероятность конфликта между - <command>xdm</command> и <command>getty</command>. Одним из способов - избежать этого является добавление номера <literal>vt</literal> в файл - <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>.</para> + <para>Плюсом метода с использованием ttys является документрование того, + на каком vty будет запущен X и то, что ответственность за перезапуск + X-сервера при завершении сеанса работы лежит на процессе init. Метод + с использованием rc.local позволяет просто прекратить работу xdm, если + при запуске X возникли какие-нибудь проблемы.</para> - <programlisting> - :0 local /usr/X11R6/bin/X vt4 - </programlisting> + <para>Из rc.local <command>xdm</command> должен быть запущен без + аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска + getty, иначе они будут конфликтовать, блокируя консоль. Лучше всего + выдержать паузу секунд на 10 и потом запустить xdm.</para> - <para>В вышеприведённом случае X-серверу указывается работать на - <filename>/dev/ttyv3</filename>. Заметьте, что номера отличаются на - единицу. Дело в том, что X-сервер считает vty от единицы, когда как - отсчёт vty в ядре FreeBSD ведётся с нуля.</para> + <para>Если <command>xdm</command> запускается из + <filename>/etc/ttys</filename>, то есть вероятность конфликта между + <command>xdm</command> и <command>getty</command>. Одним из способов + избежать этого является добавление номера <literal>vt</literal> в файл + <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>.</para> + + <programlisting> +:0 local /usr/X11R6/bin/X vt4 + </programlisting> + + <para>В вышеприведённом случае X-серверу указывается работать на + <filename>/dev/ttyv3</filename>. Заметьте, что номера отличаются на + единицу. Дело в том, что X-сервер считает vty от единицы, когда как + отсчёт vty в ядре FreeBSD ведётся с нуля.</para> </answer> </qandaentry> -<qandaentry><question> -<para> При запуске xconsole выдаётся сообщение ``Couldn't open console''. - </para></question><answer> +<qandaentry> + <question> + <para>При запуске xconsole выдаётся сообщение <literal>Couldn't open + console</literal>.</para> + </question> -<para>Если вы запускаете <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=X">X</ulink> через скрипт <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx">startx</ulink>, права на устройство /dev/console <emphasis remap=tt>не</emphasis> изменяются, - поэтому такие команды, как <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xterm">xterm -C</ulink> и <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xconsole">xconsole</ulink>, не будут работать.</para> - + <answer> - -<para>Это зависит от прав доступа, установленных для консоли по умолчанию. - В многопользовательской системе вовсе не нужно, чтобы любой - пользователь мог выводить информацию на системную консоль. Для - пользователей, вошедших в систему через VTY, для решения этой проблемы - существует файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab">fbtab</ulink>.</para> - + <para>Если вы запускаете <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=X"> + X</ulink> через скрипт <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=startx"> + startx</ulink>, права на устройство <filename>/dev/console</filename> + <emphasis remap=tt>не</emphasis> изменяются, поэтому такие команды, как + <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xterm"> + xterm -C</ulink> и <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&query=xconsole"> + xconsole</ulink>, не будут работать.</para> - -<para>В общем, раскомментируйте строчку вида</para> - -<para> -<literallayout> /dev/ttyv0 0600 /dev/console - </literallayout> -</para> - + <para>Это зависит от прав доступа, установленных для консоли по умолчанию. + В многопользовательской системе вовсе не нужно, чтобы любой + пользователь мог выводить информацию на системную консоль. Для + пользователей, вошедших в систему через VTY, для решения этой проблемы + существует файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab"> + fbtab</ulink>.</para> - -<para>в файле <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab(5)">/etc/fbtab</ulink>, и этого будет достаточно для того, чтобы всякий, - кто вошёл в систему с <filename>/dev/ttyv0</filename>, будет иметь доступ к - консоли.</para> - + <para>В общем, раскомментируйте строчку вида</para> - -</answer></qandaentry> + <programlisting> +/dev/ttyv0 0600 /dev/console + </programlisting> -<qandaentry><question> -<para>Моя мышь PS/2 в X работает неправильно.</para></question><answer> + <para>в файле <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?fbtab(5)">/etc/fbtab</ulink>, и + этого будет достаточно для того, чтобы всякий, + кто вошёл в систему с <filename>/dev/ttyv0</filename>, будет иметь доступ к + консоли.</para> -<para>Вполне может быть, что ваша мышь и её драйвер - рассинхронизировались.</para> - + </answer> +</qandaentry> - -<para>В версиях 2.2.5 и более ранних это может произойти при переключении - из X в виртуальный терминал и последующем возвращении в X. Если эта - проблема возникает достаточно часто, попробуйте добавить следующую - строку в файл конфигурации ядра и перекомпилировать его.</para> - -<para> -<literallayout> options PSM_CHECKSYNC - </literallayout> -</para> -<para>Если у вас нет опыта перекомпиляции ядра, обратитесь к <link - linkend="make-kernel">соответствующему разделу</link>.</para> - -<para>С этой опцией проблем с синхронизацией мыши и её драйвера должно - быть меньше. Если, однако, эта проблема всё же осталась, щёлкните - любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать - попытку синхронизироваться.</para> +<qandaentry> + <question> + <para>Моя мышь PS/2 в X работает неправильно.</para> + </question> + + <answer> + + <para>Вполне может быть, что ваша мышь и её драйвер + рассинхронизировались.</para> + + <para>В версиях 2.2.5 и более ранних это может произойти при переключении + из X в виртуальный терминал и последующем возвращении в X. Если эта + проблема возникает достаточно часто, попробуйте добавить следующую + строку в файл конфигурации ядра и перекомпилировать его.</para> + + <programlisting> +options PSM_CHECKSYNC + </programlisting> + + <para>Если у вас нет опыта перекомпиляции ядра, обратитесь к <link + linkend="make-kernel">соответствующему разделу</link>.</para> -<para>Заметьте, что в некоторых системах эта опция может не работать и - приводить к отключению функции ``tap'' устройства ALPS GlidePoint, - подключенного к порту мыши PS/2.</para> - + <para>С этой опцией проблем с синхронизацией мыши и её драйвера должно + быть меньше. Если, однако, эта проблема всё же осталась, щёлкните + любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать + попытку синхронизироваться.</para> - -<para>В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше - и включена в стандартный драйвер мыши PS/2. Она должна работать даже с - GlidePort. (Так как код проверки стал стандартной функцией, опция - PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях - драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы - будете видеть такие сообщения ядра:</para> - -<para> -<literallayout> psmintr: out of sync (xxxx != yyyy) - </literallayout> -</para> - -<para> а также обнаружите, что мышь теперь работает неправильно.</para> - + <para>Заметьте, что в некоторых системах эта опция может не работать и + приводить к отключению функции <quote>tap</quote> устройства ALPS + GlidePoint, подключенного к порту мыши PS/2.</para> - -<para>Если это случится, отмените проверку согласования, установив - значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор - <emphasis>UserConfig</emphasis>, задав опцию ``<option>-c</option>'' в приглашении - загрузчика:</para> - -<para> -<literallayout> boot: -c - </literallayout> -</para> - -<para> Затем в командной строке <emphasis>UserConfig</emphasis> наберите:</para> - -<para> -<literallayout> UserConfig> flags psm0 0x100 - UserConfig> quit - </literallayout> -</para> - + <para>В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше + и включена в стандартный драйвер мыши PS/2. Она должна работать даже с + GlidePort. (Так как код проверки стал стандартной функцией, опция + PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях + драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы + будете видеть такие сообщения ядра:</para> + + <programlisting> +psmintr: out of sync (xxxx != yyyy) + </programlisting> + + <para>а также обнаружите, что мышь теперь работает неправильно.</para> + + <para>Если это случится, отмените проверку согласования, установив + значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор + <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> - -</answer></qandaentry> <qandaentry><question> <para>Моя мышь PS/2 от MouseSystems похоже, не работает.</para></question><answer> -<para>Было несколько сообщений, что некоторые модели мышей PS/2 от - MouseSystems работают только в режиме ``высокого разрешения''. В - других режимах курсор мыши постоянно прыгает в верхний левый угол - экрана.</para> - + <para>Было несколько сообщений, что некоторые модели мышей PS/2 от + MouseSystems работают только в режиме <quote>высокого разрешения</quote>. + В других режимах курсор мыши постоянно прыгает в верхний левый угол + экрана.</para> + <para>К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к файлу <filename>/sys/i386/isa/psm.c</filename> и перестройте ядро. Если у вас нет опыта перекомпиляции ядра, обратитесь к <link linkend="make-kernel">соответствующему разделу</link>.</para> -<para> -<literallayout>diff -u psm.c.orig psm.c + <programlisting> @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", @@ -6627,153 +7035,156 @@ id="x"> #if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */ - </literallayout> -</para> - + </programlisting> - -<para>Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 - для перевода её в режим высокого разрешения. Войдите в - <emphasis>UserConfig</emphasis>, задав опцию ``<option>-c</option>'' в приглашении - загрузчика:</para> - -<para> -<literallayout> boot: -c - </literallayout> -</para> - -<para> Затем в командной строке <emphasis>UserConfig</emphasis> наберите:</para> - -<para> -<literallayout> UserConfig> flags psm0 0x04 - UserConfig> quit - </literallayout> -</para> - + <para>Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 для + перевода её в режим высокого разрешения. Войдите в + <emphasis>UserConfig</emphasis>, задав опцию <option>-c</option> в + приглашении загрузчика:</para> - -<para>В предыдущем разделе описана возможная причина проблем с мышью.</para> - -<para> </para> - -</answer></qandaentry> + <screen> +boot: <userinput>-c</userinput> + </screen> -<qandaentry><question> -<para> При компиляции приложений для X <emphasis remap=tt>imake</emphasis> не может найти файл - <filename>Imake.tmpl</filename>. Где он находится? - </para></question><answer> + <para>Затем в командной строке <emphasis>UserConfig</emphasis> + наберите:</para> -<para>Файл Imake.tmpl является частью пакета Imake, стандартного - инструмента для построения X-приложений. Он, также как ещё несколько - заголовочных файлов, требуемых для построения X-приложений, содержится - в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall - или взять из дистрибутива X. </para> - -</answer></qandaentry> + <screen> +UserConfig> <userinput>flags psm0 0x04</userinput> +UserConfig> <userinput>quit</userinput> + </screen> -<qandaentry><question> -<para>Как поменять местами кнопки мыши?</para></question><answer> + <para>В предыдущем разделе описана возможная причина проблем с мышью.</para> -<para>Поместите команду <literal> xmodmap -e "pointer = 3 2 1"</literal> в - один из ваших скриптов .xinitrc или .xsession.</para> - -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para>Как установить экранную заставку и где такие заставки можно - найти?</para></question><answer> - -<para>Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена - возможность вывода "заставки" во время загрузки. На данный - момент экраны заставок должны быть 256-цветными файлами формата BMP - <filename>*.BMP</filename> или ZSoft PCX (<filename>*.PCX</filename>). - Кроме того, они должны иметь разрешение 320x200 или меньше для работы со - стандартными адаптерами VGA. Если вы включили поддержку VESA при компиляции - ядра, то вы можете использовать экраны размером до 1024x768. Заметьте, что - поддержка VESA требует указание опции <emphasis remap=tt>VM86</emphasis> - при компиляции ядра. Реальная поддержка VESA может быть вкомпилирована в - ядро при указании опции <acronym>VESA</acronym> либо загружена в виде - kld-модуля ядра во время начальной загрузки.</para> - -<para>Чтобы использовать заставку, вам нужно изменить файлы, управляющие - процессом загрузки FreeBSD. Формат этих файлов был изменён перед выпуском - релиза FreeBSD 3.2, так что есть два способа загрузки экранных заставок:</para> -<para> -<itemizedlist> +<qandaentry> + <question> + <para>При компиляции приложений для X программа <command>imake</command> не + может найти файл <filename>Imake.tmpl</filename>. Где он + находится?</para> + </question> -<listitem> -<para>FreeBSD 3.1</para> + <answer> -<para>Первым делом нужно найти экранную заставку в формате BMP. Релиз 3.1 - поддерживает заставки только в формате Windows. После того, как вы - нашли понравившуюся вам заставку, скопируйте её в файл - <filename>/boot/splash.bmp</filename>. Затем вам нужно поместить в файл - <filename>/boot/loader.rc</filename> следующие строки:</para> + <para>Файл Imake.tmpl является частью пакета Imake, стандартного + инструмента для построения X-приложений. Он, также как ещё несколько + заголовочных файлов, требуемых для построения X-приложений, содержится + в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall + или взять из дистрибутива X. </para> -<para> - <literallayout> - load kernel - load -t splash_image_data /boot/splash.bmp - load splash_bmp - autoboot - </literallayout> -</para> -</listitem> + </answer> +</qandaentry> -<listitem> -<para>FreeBSD 3.2+</para> +<qandaentry> + <question> + <para>Как поменять местами кнопки мыши?</para> + </question> -<para>Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает более гибкую - систему конфигурации процесса загрузки. Если вы хотите, вы можете - использовать метод, указанный выше для FreeBSD 3.1. Если же вы хотите - использовать формат PCX, замените <symbol>splash_bmp</symbol> на - <symbol>splash_pcx</symbol>. С другой стороны, если вы хотите - использовать новую систему конфигурации процесса загрузки, вам нужно - создать файл <filename>/boot/loader.rc</filename>, содержащий следующие - строки:</para> + <answer> -<para> - <literallayout> - include /boot/loader.4th - start - </literallayout> -</para> + <para>Поместите команду <command>xmodmap -e "pointer = 3 2 1"</command> в + один из ваших скриптов .xinitrc или .xsession.</para> -<para>и файл <filename>/boot/loader.conf</filename> со строками:</para> + </answer> +</qandaentry> -<para> - <literallayout> - splash_bmp_load="YES" - bitmap_load="YES" - </literallayout> -</para> -<para>Здесь предполагается, что в качестве заставки вы используете файл - <filename>/boot/splash.bmp</filename>. Если вы используете PCX-файл, - скопируйте его под именем <filename>/boot/splash.pcx</filename>, создайте - файл <filename>/boot/loader.rc</filename>, как указано выше, и создайте - файл <filename>/boot/loader.conf</filename>, который содержит - следующее:</para> +<qandaentry> + <question> + <para>Как установить экранную заставку и где такие заставки можно + найти?</para> + </question> -<para> - <literallayout> - splash_pcx_load="YES" - bitmap_load="YES" - bitmap_name="/boot/splash.pcx" - </literallayout> -</para> -</listitem> + <answer> -</itemizedlist> -</para> + <para>Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена + возможность вывода <quote>заставки</quote> во время загрузки. На данный + момент экраны заставок должны быть 256-цветными файлами формата BMP + <filename>*.BMP</filename> или ZSoft PCX (<filename>*.PCX</filename>). + Кроме того, они должны иметь разрешение 320x200 или меньше для работы со + стандартными адаптерами VGA. Если вы включили поддержку VESA при компиляции + ядра, то вы можете использовать экраны размером до 1024x768. Заметьте, что + поддержка VESA требует указание опции <literal>VM86</literal> + при компиляции ядра. Реальная поддержка VESA может быть вкомпилирована в + ядро при указании опции <literal>VESA</literal> либо загружена в виде + kld-модуля ядра во время начальной загрузки.</para> + + <para>Чтобы использовать заставку, вам нужно изменить файлы, управляющие + процессом загрузки FreeBSD. Формат этих файлов был изменён перед выпуском + релиза FreeBSD 3.2, так что есть два способа загрузки экранных + заставок:</para> -<para>Теперь всё, что вам нужно - это сама заставка. Поищите заставки в - галерее по адресу <ulink - URL="http://www.cslab.vt.edu/~jobaldwi/splash/">http://www.cslab.vt.edu/~jobaldwi/splash/</ulink>.</para> + <para> + <itemizedlist> + <listitem> + <para>FreeBSD 3.1</para> -</answer></qandaentry> + <para>Первым делом нужно найти экранную заставку в формате BMP. Релиз + 3.1 поддерживает заставки только в формате Windows. После того, как + вы нашли понравившуюся вам заставку, скопируйте её в файл + <filename>/boot/splash.bmp</filename>. Затем вам нужно поместить в + файл <filename>/boot/loader.rc</filename> следующие строки:</para> + + <programlisting> +load kernel +load -t splash_image_data /boot/splash.bmp +load splash_bmp +autoboot + </programlisting> + </listitem> + + <listitem> + <para>FreeBSD 3.2+</para> + + <para>Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает + более гибкую систему конфигурации процесса загрузки. Если вы хотите, + вы можете использовать метод, указанный выше для FreeBSD 3.1. Если + же вы хотите использовать формат PCX, замените + <literal>splash_bmp</literal> на <literal>splash_pcx</literal>. С + другой стороны, если вы хотите использовать новую систему + конфигурации процесса загрузки, вам нужно создать файл + <filename>/boot/loader.rc</filename>, содержащий следующие + строки:</para> + + <programlisting> +include /boot/loader.4th +start + </programlisting> + + <para>и файл <filename>/boot/loader.conf</filename> со строками:</para> + + <programlisting> +splash_bmp_load="YES" +bitmap_load="YES" + </programlisting> + + <para>Здесь предполагается, что в качестве заставки вы используете файл + <filename>/boot/splash.bmp</filename>. Если вы используете PCX-файл, + скопируйте его под именем <filename>/boot/splash.pcx</filename>, + создайте файл <filename>/boot/loader.rc</filename>, как указано + выше, и создайте файл <filename>/boot/loader.conf</filename>, который + содержит следующее:</para> + + <programlisting> +splash_pcx_load="YES" +bitmap_load="YES" +bitmap_name="/boot/splash.pcx" + </programlisting> + </listitem> + </itemizedlist> + </para> + + <para>Теперь всё, что вам нужно - это сама заставка. Поищите заставки в + галерее по адресу <ulink + URL="http://www.cslab.vt.edu/~jobaldwi/splash/"> + http://www.cslab.vt.edu/~jobaldwi/splash/</ulink>.</para> + + </answer> +</qandaentry> <qandaentry> @@ -6787,7 +7198,7 @@ id="x"> <para>Да. Всё, что вам нужно сделать, это с помощью &man.xmodmap.1; задать функции, которые вы хотите к этим клавишам привязать.</para> - <para>Положим, что все клавиатуры "Windows(tm)" стандартны и + <para>Положим, что все клавиатуры <quote>Windows(tm)</quote> стандартны и 3 клавиши имеют следующие клавиатурные коды</para> <itemizedlist> @@ -6867,49 +7278,56 @@ id="x"> </chapter> -<chapter -id="networking"> +<chapter id="networking"> <title>Работа в сети</title> -<qandaset><qandaentry><question> -<para>Где можно найти информацию о ``бездисковой загрузке''?</para></question><answer> +<qandaset> +<qandaentry> + <question> + <para>Где можно найти информацию о <quote>бездисковой + загрузке</quote>?</para> + </question> + + <answer> + + <para><quote>Бездисковая загрузка</quote> означает, что машина с FreeBSD + загружается по сети и читает необходимые файлы с сервера, а не со своего + диска. Подробное описание есть в + <ulink URL="../../handbook/diskless.html">соответствующей главе</ulink> + Руководства.</para> + + </answer> +</qandaentry> -<para>``Бездисковая загрузка'' означает, что машина с FreeBSD загружается - по сети и читает необходимые файлы с сервера, а не со своего диска. - Подробное описание есть в - <ulink URL="../../handbook/diskless.html">соответствующей главе</ulink> - Руководства.</para> - -</answer></qandaentry> <qandaentry><question> <para>Может ли машина с FreeBSD использоваться как маршрутизатор? </para></question><answer> -<para>Стандарты Internet и опыт практической работы не позволяют нам - в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы, - можете сделать это, изменив значение следующей переменной в файле - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">rc.conf</ulink> на <acronym>YES</acronym>:</para> - -<para> -<literallayout> gateway_enable=YES # Set to YES if this host will be a gateway - </literallayout> -</para> - -<para>Этот параметр изменит значение - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sysctl">системной переменной</ulink> - <filename>net.inet.ip.forwarding</filename> на <emphasis remap=tt>1</emphasis>.</para> - -<para>Кроме того, в большинстве случаев вам будет необходимо запустить - программу маршрутизации, для того, чтобы объявить о появлении нового - маршрутизатора другим системам в вашей сети; FreeBSD поставляется со - стандартной для BSD-систем программой маршрутизации <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?routed">routed</ulink>, в более - сложных ситуациях вы можете попробовать <emphasis>GaTeD</emphasis> - (доступный по адресу - <ulink URL="http://www.gated.org/">http://www.gated.org </ulink> - с <filename>ftp.gated.Merit.EDU</filename>), который - поддерживает FreeBSD начиная с версии 3_5Alpha7.</para> + <para>Стандарты Internet и опыт практической работы не позволяют нам + в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы + можете сделать это, изменив значение следующей переменной в файле <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">rc.conf</ulink> на + <literal>YES</literal>:</para> + + <programlisting> +gateway_enable=YES # Set to YES if this host will be a gateway + </programlisting> + + <para>Этот параметр изменит значение <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?sysctl">системной переменной</ulink> + <filename>net.inet.ip.forwarding</filename> на <literal>1</literal>.</para> + + <para>Кроме того, в большинстве случаев вам будет необходимо запустить + программу маршрутизации, для того, чтобы объявить о появлении нового + маршрутизатора другим системам в вашей сети; FreeBSD поставляется со + стандартной для BSD-систем программой маршрутизации <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?routed">routed</ulink>, в более + сложных ситуациях вы можете попробовать <emphasis>GaTeD</emphasis> + (доступный по адресу + <ulink URL="http://www.gated.org/">http://www.gated.org </ulink> + с <filename>ftp.gated.Merit.EDU</filename>), который + поддерживает FreeBSD начиная с версии 3_5Alpha7.</para> <para>Мы обязаны предупредить вас, что даже когда FreeBSD настроена таким образом, она не полностью соответствует стандартам Internet @@ -6917,59 +7335,71 @@ id="networking"> </answer></qandaentry> -<qandaentry><question> -<para> Можно ли подключить машину с Win95 к Internet с помощью FreeBSD? - </para></question><answer> -<para>Как правило, те, кто задает такие вопросы, имеют дома два компьютера, - один с FreeBSD, а другой с Win95; идея состоит в использовании - FreeBSD для подключения к Internet, а затем осуществлять выход в - Internet из Windows95 через FreeBSD. На самом деле это просто - особый случай предыдущего вопроса.</para> - +<qandaentry> + <question> + <para>Можно ли подключить машину с Win95 к Internet с помощью + FreeBSD?</para> + </question> - -<para>Существует полезный <ulink URL="http://www.ssimicro.com/~jeremyc/ppp.html">документ</ulink>, - описывающий, как настроить FreeBSD в качестве маршрутизатора с выходом - по протоколу PPP.</para> - + <answer> - -<para><emphasis remap=bf>ЗАМЕЧАНИЕ:</emphasis> При этом требуется иметь по крайней мере два - фиксированных IP адреса, а может быть, три или больше, в зависимости - от того, сколько машин с Windows вы хотите подключить. Как вариант, - если у вас нет фиксированных IP адресов, вы можете использовать - одну из частных IP подсетей и установить <emphasis remap=bf>прокси</emphasis> типа - <ulink URL="http://squid.nlanr.net/Squid/">SQUID</ulink> или - <ulink URL="http://www.tis.com/">TIS</ulink> на машине с FreeBSD.</para> - -<para>Посмотрите также раздел о <link linkend="natd">natd</link>.</para> + <para>Как правило, те, кто задает такие вопросы, имеют дома два компьютера, + один с FreeBSD, а другой с Win95; идея состоит в использовании + FreeBSD для подключения к Internet, а затем осуществлять выход в + Internet из Windows95 через FreeBSD. На самом деле это просто + особый случай предыдущего вопроса.</para> -</answer></qandaentry> + <para> ... и ответ на него - да! Во FreeBSD 3.x, ppp режима пользователя + имеет параметр <option>-nat</option>. Если вы запустите + <command>ppp</command> с параметром <option>-nat</option>, установив + в файле <filename>/etc/rc.conf</filename> <literal>gateway_enable</literal> + в значение <emphasis>YES</emphasis> и правильно настроите машину с Windows, + то всё должно прекрасно заработать.</para> -<qandaentry><question> -<para> Почему не проходит компиляция последней версии BIND от ISC? - </para></question><answer> + <para>Более подробная информация о настройке может быть найдена в + <ulink URL="http://www.FreeBSD.org/tutorials/ppp/index.html">Подробном + Примере PPP</ulink> Стива Симса (Steve Sims).</para> -<para>Это - результат конфликта между файлом ``<filename>cdefs.h</filename>'' в - дистрибутиве и тем, что поставляется с FreeBSD. Достаточно - удалить файл <filename>compat/include/sys/cdefs.h</filename>.</para> - + <para>Если вы используете ppp режима ядра, или у вас Ethernet-подключение к + Internet, можно воспользоваться командой <command>natd</command>. + Пожалуйста, обратитесь к разделу о <link linkend="natd">natd</link> этого + FAQ.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Почему не проходит компиляция последней версии BIND от ISC?</para> + </question> + + <answer> + + <para>Это - результат конфликта между файлом <filename>cdefs.h</filename> в + дистрибутиве и тем, что поставляется с FreeBSD. Достаточно + удалить файл <filename>compat/include/sys/cdefs.h</filename>.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para>Поддерживает ли FreeBSD протоколы SLIP и PPP?</para></question><answer> -<para>Да. Посмотрите страницы справочника по командам - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink>, <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">sliplogin</ulink>, - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppd">pppd</ulink> и - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>. - <emphasis remap=tt>Pppd</emphasis> и <emphasis remap=tt>ppp</emphasis> могут обслуживать как входящие, так и исходящие - соединения. <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">Sliplogin</ulink> имеет дело исключительно со входящими соединениям, - а <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink> - только с исходящими.</para> - + <para>Да. Посмотрите страницы справочника по командам <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink>, <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">sliplogin</ulink>, + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppd">pppd</ulink> и + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>. + <command>Pppd</command> и <command>ppp</command> могут обслуживать как + входящие, так и исходящие соединения. <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?sliplogin">Sliplogin</ulink> имеет + дело исключительно со входящими соединениям, + а <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?slattach">slattach</ulink> + - только с исходящими.</para> + <para>Эти программы описаны в следующих разделах <ulink URL="../../handbook/index.html">руководства</ulink>:</para> @@ -7001,15 +7431,15 @@ id="networking"> </itemizedlist> </para> - - -<para>Если вы имеете доступ в Internet через командную строку - оболочки, вам может подойти <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^slirp">slirp</ulink>. - С его помощью можно получить (ограниченный) доступ к таким - службам, как ftp и http прямо с вашей машины.</para> + <para>Если вы имеете доступ в Internet через командную строку + оболочки, вам может подойти <ulink + URL="http://www.FreeBSD.org/cgi/ports.cgi?^slirp">slirp</ulink>. + С его помощью можно получить (ограниченный) доступ к таким + службам, как ftp и http прямо с вашей машины.</para> -</answer></qandaentry> + </answer> +</qandaentry> <qandaentry> @@ -7021,8 +7451,8 @@ id="networking"> <para>Если у вас есть локальная сеть (одна или больше машин), но только один IP адрес, предоставленный провайдером, вас может привлечь <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?natd">natd</ulink>. <emphasis - remap=tt>Natd</emphasis> позволяет подключить всю сеть к Internet, + URL="http://www.FreeBSD.org/cgi/man.cgi?natd">natd</ulink>. + <command>natd</command> позволяет подключить всю сеть к Internet, используя единственный IP адрес.</para> <para>Программа <ulink @@ -7055,32 +7485,38 @@ id="networking"> <qandaentry><question> <para>Как настроить алиас на Ethernet?</para></question><answer> -<para>Добавьте ``<literal>netmask 0xffffffff</literal>'' в командной строке <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink> - так, как это сделано здесь:</para> - -<para> -<literallayout> ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff - </literallayout> -</para> - + <para>Добавьте <literal>netmask 0xffffffff</literal> в командной строке + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink> + так, как это сделано здесь:</para> - -</answer></qandaentry> + <screen> +&prompt.root; <userinput>ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff</userinput> + </screen> -<qandaentry><question> -<para> Как заставить адаптер 3C503 использовать другой тип сетевого разъёма? - </para></question><answer> + </answer> +</qandaentry> -<para>Если вы хотите задействовать другой разъём, то должны указать - дополнительный параметр в командной строке - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink>. Разъёмом по умолчанию является ``<emphasis remap=tt>link0</emphasis>''. - Чтобы задействовать разъём AUI, а не BNC, используйте ``<emphasis remap=tt>link2</emphasis>''. - Эти флаги должны быть указаны с помощью переменных ifconfig_* - в <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink>.</para> - - -</answer></qandaentry> +<qandaentry> + <question> + <para>Как заставить адаптер 3C503 использовать другой тип сетевого + разъёма?</para> + </question> + + <answer> + + <para>Если вы хотите задействовать другой разъём, то должны указать + дополнительный параметр в командной строке <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ifconfig">ifconfig</ulink>. + Разъёмом по умолчанию является <literal>link0</literal>. Чтобы + задействовать разъём AUI, а не BNC, используйте <literal>link2</literal>. + Эти флаги должны быть указаны с помощью переменных ifconfig_* + в <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf"> + /etc/rc.conf</ulink>.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>У меня проблемы при работе NFS во FreeBSD.</para></question><answer> @@ -7097,324 +7533,303 @@ id="networking"> </answer></qandaentry> -<qandaentry><question> -<para>Почему я не могу смонтировать диск Linux по NFS?</para></question><answer> -<para>Некоторые версии NFS для Linux поддерживают запросы на монтирование +<qandaentry> + <question> + <para>Почему я не могу смонтировать диск Linux по NFS?</para> + </question> + + <answer> + + <para>Некоторые версии NFS для Linux поддерживают запросы на монтирование только с привилегированного порта; попробуйте</para> - -<para> -<literallayout> mount -o -P linuxbox:/blah /mnt - </literallayout> -</para> - - -</answer></qandaentry> + <screen> +&prompt.root; <userinput>mount -o -P linuxbox:/blah /mnt</userinput> + </screen> -<qandaentry><question> -<para>Почему я не могу смонтировать диск Sun по NFS?</para></question><answer> + </answer> +</qandaentry> -<para>Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы - на монтирование только с привилегированного порта; попробуйте</para> - -<para> -<literallayout> mount -o -P sunbox:/blah /mnt - </literallayout> -</para> - - -</answer></qandaentry> +<qandaentry> + <question> + <para>Почему я не могу смонтировать диск Sun по NFS?</para> + </question> + + <answer> + + <para>Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы + на монтирование только с привилегированного порта; попробуйте</para> + + <screen> +&prompt.root; <userinput>mount -o -P sunbox:/blah /mnt</userinput> + </screen> + + </answer> +</qandaentry> + <qandaentry><question> <para>Проблемы при связи по PPP с машинами NeXTStep.</para></question><answer> <para>Попробуйте отменить все расширения TCP в <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink>, изменив значение следующей переменной в NO:</para> - -<para> -<literallayout> tcp_extensions=NO - </literallayout> -</para> - - -<para>Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, - поэтому при подключении к ним вам нужно проделать то же самое.</para> - + <programlisting> +tcp_extensions=NO + </programlisting> + + <para>Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, + поэтому при подключении к ним вам нужно проделать то же самое.</para> - </answer></qandaentry> + <qandaentry><question> <para>Как включить поддержку multicast IP?</para></question><answer> -<para>Работа с многоадресной рассылкой по умолчанию полностью - поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать - ваш компьютер как маршрутизатор многоадресного трафика, вам нужно - перекомпилировать ядро с включенной опцией <acronym>MROUTING</acronym> и - запустить <emphasis remap=tt>mrouted</emphasis>. Версии FreeBSD 2.2 и выше будут запускать - <emphasis remap=tt>mrouted</emphasis> во время загрузки, если переменная <symbol>mrouted_enable</symbol> - в файле <filename>/etc/rc.conf</filename> установлена в значение "YES".</para> - + <para>Работа с многоадресной рассылкой по умолчанию полностью + поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать + ваш компьютер как маршрутизатор многоадресного трафика, вам нужно + перекомпилировать ядро с включенной опцией <literal>MROUTING</literal> и + запустить <command>mrouted</command>. Версии FreeBSD 2.2 и выше будут + запускать <command>mrouted</command> во время загрузки, если переменная + <literal>mrouted_enable</literal> в файле <filename>/etc/rc.conf</filename> + установлена в значение <literal>YES</literal>.</para> - -<para>Приложения MBONE находятся в своей категории портов, mbone. Если - вы ищете приложения для организации конференций <emphasis remap=tt>vic</emphasis> и <emphasis remap=tt>vat</emphasis>, - посмотрите там!</para> - + <para>Приложения MBONE находятся в своей категории портов, mbone. Если + вы ищете приложения для организации конференций <command>vic</command> и + <command>vat</command>, посмотрите там!</para> - -<para>Более подробная информация располагается на сервере - <ulink URL="http://www.mbone.com/">Mbone Information Web</ulink>.</para> - + <para>Более подробная информация располагается на сервере + <ulink URL="http://www.mbone.com/">Mbone Information Web</ulink>.</para> - -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para> Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI? - </para></question><answer> -<para>Вот список, составленный <ulink URL="mailto:gfoster@driver.nsta.org">Гленом Фостером</ulink> (Glen Foster), с некоторыми незначительными - добавлениями:</para> - -<para> -<literallayout> Производитель Модель - ---------------------------------------------- - ASUS PCI-L101-TB - Accton ENI1203 - Cogent EM960PCI - Compex ENET32-PCI - D-Link DE-530 - Dayna DP1203, DP2100 - DEC DE435, DE450 - Danpex EN-9400P3 - JCIS Condor JC1260 - Linksys EtherPCI - Mylex LNP101 - SMC EtherPower 10/100 (Model 9332) - SMC EtherPower (Model 8432) - TopWare TE-3500P - Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 - (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, - ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd) - </literallayout> -</para> - -</answer></qandaentry> +<qandaentry> + <question> + <para>Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?</para> + </question> + + <answer> + + <para>Вот список, составленный <ulink + URL="mailto:gfoster@driver.nsta.org">Гленом Фостером</ulink> (Glen Foster), + с некоторыми незначительными добавлениями:</para> + + <programlisting> +Vendor Model +---------------------------------------------- +ASUS PCI-L101-TB +Accton ENI1203 +Cogent EM960PCI +Compex ENET32-PCI +D-Link DE-530 +Dayna DP1203, DP2100 +DEC DE435, DE450 +Danpex EN-9400P3 +JCIS Condor JC1260 +Linksys EtherPCI +Mylex LNP101 +SMC EtherPower 10/100 (Model 9332) +SMC EtherPower (Model 8432) +TopWare TE-3500P +Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348 + (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, + ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd) + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Почему я должен использовать FQDN для хостов не в моей сети? </para></question><answer> -<para>Вы, наверное, обнаружили, что хост, к которому вы обратились, - оказался на самом деле в другом домене; например, если вы находитесь - в домене foo.bar.edu и хотите обраттиться к хосту ``mumble'' в домене - bar.edu, то должны указать его полное доменное имя, ``mumble.bar.edu'', - а не просто ``mumble''.</para> - + <para>Вы, наверное, обнаружили, что хост, к которому вы обратились, + оказался на самом деле в другом домене; например, если вы находитесь + в домене foo.bar.edu и хотите обратиться к хосту <hostid>mumble</hostid> в + домене <hostid role="domainname">bar.edu</hostid>, то должны указать его + полное доменное имя, <hostid role="fqdn">mumble.bar.edu</hostid>, а не + просто <hostid>mumble</hostid>.</para> + + <para>Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая + версия <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?named">bind</ulink>, + поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от + того, в котором вы находитесь, для не полностью указанных имён хостов. Так + что неполно указанный хост <hostid>mumble</hostid> будет найден либо как + <hostid role="fqdn">mumble.foo.bar.edu</hostid>, либо будет искаться + в корневом домене.</para> + + <para>Это отличается от предыдущего поведения, при котором поиск продолжался + в <hostid role="fqdn">mumble.bar.edu</hostid> + и <hostid role="domainname">mumble.edu</hostid>. + Посмотрите RFC 1535 о причинах объявления такого поведения плохой + практикой и даже ошибкой в безопасности.</para> + + <para>Как хорошее решение, вы можете поместить строку</para> - -<para>Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая - версия <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?named">bind</ulink>, - поставляемая с FreeBSD, больше не добавляет имена доменов, - отличающихся от того, в котором вы находитесь, для не полностью - указанных имён хостов. Так что неполно указанный хост <emphasis remap=tt>mumble</emphasis> - будет найден либо как <filename>mumble.foo.bar.edu</filename>, либо будет искаться - в корневом домене.</para> - + <programlisting> +search foo.bar.edu bar.edu + </programlisting> - -<para>Это отличается от предыдущего поведения, при котором поиск - продолжался в <filename>mumble.bar.edu</filename>, и <filename>mumble.edu</filename>. - Посмотрите RFC 1535 о причинах объявления такого поведения плохой - практикой и даже ошибкой в безопасности.</para> - + <para>вместо ранее используемой</para> - -<para>Как хорошее решение, вы можете поместить строку</para> - -<para> -<literallayout> search foo.bar.edu bar.edu - </literallayout> -</para> - + <programlisting> +domain foo.bar.edu + </programlisting> - -<para>вместо ранее используемой</para> - -<para> -<literallayout> domain foo.bar.edu - </literallayout> -</para> - + <para>в файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?resolv.conf"> + /etc/resolv.conf</ulink>. Однако удостоверьтесь, что порядок поиска не + нарушает <quote>границ полномочий между местным и внешним + администрированием</quote>, как это названо в RFC 1535.</para> - -<para>в файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?resolv.conf">/etc/resolv.conf</ulink>. Однако удостоверьтесь, что порядок поиска не - нарушает ``границ полномочий между местным и внешним - администрированием'', как это названо в RFC 1535.</para> - + </answer> +</qandaentry> - -</answer></qandaentry> -<qandaentry><question> -<para>``Permission denied'' для любых действий в сети.</para></question><answer> +<qandaentry> + <question> + <para><literal>Permission denied</literal> для любых действий, связанных с + работой сети.</para> + </question> -<para>Если вы компилировали ядро с опцией <acronym>IPFIREWALL</acronym>, имейте в - виду, что политика по умолчанию настроена как в 2.1.7R (она - на самом деле изменилась во время разработки 2.1-STABLE), то есть - указан запрет на прохождение всех пакетов, которые явно не разрешены.</para> - + <answer> - -<para>Если вы случайно неверно отконфигурировали брандмауэр, то для - восстановления работоспособность сети дайте такую команду, войдя - суперпользователем:</para> - -<para> -<literallayout> ipfw add 65534 allow all from any to any - </literallayout> -</para> - + <para>Если вы компилировали ядро с опцией <literal>IPFIREWALL</literal>, + имейте в виду, что политика по умолчанию настроена как в 2.1.7R (она + на самом деле изменилась во время разработки 2.1-STABLE), то есть указан + запрет на прохождение всех пакетов, которые явно не разрешены.</para> - -<para>Также вы можете установить "firewall_type='open'" в файле - <filename>/etc/rc.conf</filename>.</para> - + <para>Если вы случайно неверно отконфигурировали межсетевой экран, то для + восстановления работоспособность сети дайте такую команду, войдя + суперпользователем:</para> - -<para>Более подробная информация о конфигурировании брандмауэра в - FreeBSD находится в <ulink URL="../../handbook/firewalls.html">соответствующем разделе</ulink> Руководства.</para> - + <screen> +&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput> + </screen> - -</answer></qandaentry> + <para>Также вы можете установить <literal>firewall_type='open'</literal> в + файле <filename>/etc/rc.conf</filename>.</para> -<qandaentry><question> -<para>Какую нагрузку вызывает использование IPFW?</para></question><answer> + <para>Более подробная информация о конфигурировании межсетевого экрана в + FreeBSD находится в <ulink + URL="../../handbook/firewalls.html">соответствующем разделе</ulink> + Руководства.</para> -<para>Ответ на этот вопрос зависит главным образом от набора правил - и производительности процессора. Для большинства приложений, имеющих - дело с ethernet и простым набором правил, ответ: незначительно. Для - тех, кому нужны реальные цифры для удовлетвореия любопытства, - читайте дальше.</para> - + </answer> +</qandaentry> - -<para>Следующие измерения были сделаны с использованием 2.2.5-STABLE на - машине 486-66. IPFW был модифицирован для измерения времени, - затрачиваемого внутри процедуры <symbol>ip_fw_chk</symbol> и вывода результатов - на консоль каждую тысячу пакетов.</para> - - -<para>Тестировались два набора по 1000 правил в каждом. Первый набор - был предназначен для демонстрации наихудшего случая, повторяя условие</para> - -<para> -<literallayout> ipfw add deny tcp from any to any 55555 - </literallayout> -</para> - +<qandaentry> + <question> + <para>Какую нагрузку вызывает использование IPFW?</para> + </question> - -<para>Это наихудший случай, так как все условия IPFW будут проверены - перед тем, как будет принято окончательное решение о том, что пакет - не соответствует условию (мы меняли номер порта). После 999 - повторений этого условия находилось правило - <emphasis remap=tt>allow ip from any to any</emphasis>.</para> - + <answer> - -<para>Второй набор был предназначен для быстрого прерывания - процесса проверки условий:</para> - -<para> -<literallayout> ipfw add deny ip from 1.2.3.4 to 1.2.3.4 - </literallayout> -</para> - + <para>Ответ на этот вопрос зависит главным образом от набора правил + и производительности процессора. Для большинства приложений, имеющих + дело с ethernet и простым набором правил, ответ: незначительно. Для + тех, кому нужны реальные цифры для удовлетвореия любопытства, + читайте дальше.</para> - -<para>Неподходяший IP-адрес источника для указанного условия - быстро вызывает пропуск этого правила. Как и ранее, последним правилом - было <emphasis remap=tt>allow ip from any to any</emphasis>.</para> - + <para>Следующие измерения были сделаны с использованием 2.2.5-STABLE на + машине 486-66. IPFW был модифицирован для измерения времени, + затрачиваемого внутри процедуры <literal>ip_fw_chk</literal> и вывода + результатов на консоль каждую тысячу пакетов.</para> - -<para>Затраты на обработку пакета в первом случае было примерно 2.703 - мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, - теоретический предел скорости обработки пакетов с этими правилами - равен примерно 370 пакетам в секунду. Предполагая использование - ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть - только 55.5% использования пропускной способности.</para> - + <para>Тестировались два набора по 1000 правил в каждом. Первый набор был + предназначен для демонстрации наихудшего случая, повторяя условие</para> - -<para>В последнем случае на обработку каждого пакета было затрачено - примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический - предел обработки будет равен около 853 пакетам в секунду, что почти - соответствует скорости 10Мб/с ethernet.</para> - + <screen> +&prompt.root; <userinput>ipfw add deny tcp from any to any 55555</userinput> + </screen> - -<para>Большое количество протестированных правил и природа этих правил - не даёт представление о реальной жизни - они были использованы - только для генерации информации о времени обработки. Вот - несколько наблюдений, которые нужно иметь в виду для построении - эффективного набора правил:</para> - -<para> -<itemizedlist> + <para>Это наихудший случай, так как все условия IPFW будут проверены + перед тем, как будет принято окончательное решение о том, что пакет + не соответствует условию (мы меняли номер порта). После 999 + повторений этого условия находилось правило + <literal>allow ip from any to any</literal>.</para> -<listitem> -<para>Поместите правило `established' в самое начало списка для - обработки основного трафика TCP. Не помещайте перед ним никаких - правил <emphasis remap=tt>allow tcp</emphasis>. + <para>Второй набор был предназначен для быстрого прерывания + процесса проверки условий:</para> - </para> -</listitem> + <screen> +&prompt.root; <userinput>ipfw add deny ip from 1.2.3.4 to 1.2.3.4</userinput> + </screen> -<listitem> -<para>Старайтесь помещать часто вызываемые правила как можно раньше, - а редко используемые - позже (<emphasis remap=bf>без изменения политики</emphasis>, - конечно). Вы можете выяснить частоту использования правил с помощью - вывода статистики командой <command>ipfw -a l</command>. + <para>Неподходяший IP-адрес источника для указанного условия + быстро вызывает пропуск этого правила. Как и ранее, последним правилом + было <literal>allow ip from any to any</literal>.</para> - </para> -</listitem> + <para>Затраты на обработку пакета в первом случае было примерно 2.703 + мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, + теоретический предел скорости обработки пакетов с этими правилами + равен примерно 370 пакетам в секунду. Предполагая использование + ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть + только 55.5% использования пропускной способности.</para> -</itemizedlist> -</para> - + <para>В последнем случае на обработку каждого пакета было затрачено + примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический + предел обработки будет равен около 853 пакетам в секунду, что почти + соответствует скорости 10Мб/с ethernet.</para> - -</answer></qandaentry> + <para>Большое количество протестированных правил и природа этих правил + не даёт представление о реальной жизни - они были использованы + только для генерации информации о времени обработки. Вот + несколько наблюдений, которые нужно иметь в виду для построении + эффективного набора правил:</para> -<qandaentry><question> -<para> Как можно перенаправить запросы с одной машины на другую? - </para></question><answer> + <para> + <itemizedlist> + <listitem> + <para>Поместите правило `established' в самое начало списка для + обработки основного трафика TCP. Не помещайте перед ним никаких + правил <literal>allow tcp</literal>.</para> + </listitem> -<para>Вы можете перенаправить запрос на FTP (или другой сервис) с помощью - пакаджа 'socket', доступного в дереве портов в категории 'sysutils'. - Просто замените командную строку запуска сервиса на вызов socket, - типа:</para> - -<para> -<literallayout>ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp</literallayout> -</para> - + <listitem> + <para>Старайтесь помещать часто вызываемые правила как можно раньше, + а редко используемые - позже (<emphasis remap=bf>без изменения + политики</emphasis>, конечно). Вы можете выяснить частоту + использования правил с помощью вывода статистики командой + <command>ipfw -a l</command>.</para> + </listitem> + </itemizedlist> + </para> - -<para>где 'ftp.foo.com' и 'ftp' являются соответственно хостом и портом - для перенаправления.</para> - + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как можно перенаправить запросы с одной машины на другую?</para> + </question> + + <answer> + + <para>Вы можете перенаправить запрос на FTP (или другой сервис) с помощью + пакаджа <literal>socket</literal>, доступного в дереве портов в категории + <quote>sysutils</quote>. Просто замените командную строку запуска сервиса + на вызов socket, типа:</para> + + <programlisting> +ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.foo.com</replaceable> <replaceable>ftp</replaceable> + </programlisting> + + <para>где <replaceable>ftp.foo.com</replaceable> + и <replaceable>ftp</replaceable> являются соответственно хостом и портом + для перенаправления.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Где можно найти средства управления сетевым трафиком? @@ -7429,208 +7844,252 @@ id="networking"> </answer></qandaentry> -<qandaentry><question> -<para>Почему появляются сообщения - `/dev/bpf0: device not configured'?</para></question><answer> +<qandaentry> + <question> + <para>Почему появляются сообщения + <literal>/dev/bpf0: device not configured</literal>?</para> + </question> -<para>Для работы программ, использующих Berkeley Packet Filter <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?bpf">(bpf)</ulink> необходимо - включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив - в его конфигурационный файл следующую строку:</para> - -<para> - <literallayout> - pseudo-device bpfilter # Berkeley Packet Filter - </literallayout> -</para> - -<para>Затем, после перезапуска системы, вам нужно создать соответствующий файл - устройства. Это можно сделать, сменив текущий каталог на - <filename>/dev</filename> и выполнив команду</para> - -<para> - <informalexample> - <screen> - # sh MAKEDEV bpf0 - </screen> - </informalexample> -</para> + <answer> + + <para>Для работы программ, использующих Berkeley Packet Filter <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?bpf">(bpf)</ulink> необходимо + включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив + в его конфигурационный файл следующую строку:</para> + + <programlisting> +pseudo-device bpfilter # Berkeley Packet Filter + </programlisting> + + <para>Затем, после перезапуска системы, вам нужно создать соответствующий файл + устройства. Это можно сделать, сменив текущий каталог на + <filename>/dev</filename> и выполнив команду</para> -<para>Обратитесь к разделу руководства, посвящённому <ulink - URL="../../handbook/kernelconfig-nodes.html">созданию файлов - устройств</ulink> за подробной информацией по этому вопросу.</para> + <screen> +&prompt.root; <userinput>sh MAKEDEV bpf0</userinput> + </screen> -</answer></qandaentry></qandaset> + <para>Обратитесь к разделу руководства, посвящённому <ulink + URL="../../handbook/kernelconfig-nodes.html">созданию файлов + устройств</ulink> за подробной информацией по этому вопросу.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Как смонтировать диск Windows-машины в моей локальной сети, как это + делает smbmount в Linux?</para> + </question> + + <answer> + + <para>Воспользуйтесь пакетом <ulink + URL="http://www.freebsd.org/cgi/ports.cgi?query=%5Esharity-light-&;amp;stype=name">sharity + light</ulink> из Коллекции Портов.</para> + + <!-- XXX update for bp's SMBFS in CURRENT, when it is imported! --> + </answer> +</qandaentry> + +</qandaset> </chapter> -<chapter -id="ppp"> +<chapter id="ppp"> <title>PPP</title> -<qandaset><qandaentry><question -id="userppp"> +<qandaset> +<qandaentry> + <question id="userppp"> + <para>Не могу заставить работать ppp. Что я делаю не так?</para> + </question> -<para>Не могу заставить работать ppp. Что я делаю не так? - </para></question><answer> + <answer> -<para>Первым делом прочтите <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">страницы справочника</ulink>, посвящённые ppp, а также соответствующий - <ulink URL="../../handbook/ppp-and-slip.html#USERPPP">раздел</ulink> руководства. - Включите протоколирование командой</para> - -<para> -<literallayout> set log Phase Chat Connect Carrier lcp ipcp ccp command - </literallayout> -</para> - -<para>Эта команда может быть набрана в командной строке <emphasis remap=bf>ppp</emphasis> или - она может находиться в конфигурационном файле - <filename>/etc/ppp/ppp.conf</filename> (начало секции <emphasis remap=bf>default</emphasis> - лучшее - для неё место. Удостоверьтесь, что файл - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?syslog.conf">/etc/syslog.conf</ulink> содержит строки</para> - -<para> -<literallayout> !ppp - *.* /var/log/ppp.log - </literallayout> -</para> - -<para>и файл <filename>/var/log/ppp.log</filename> существует. Теперь вы сможете - найти полную информацию о происходящем в файле протокола. Не - беспокойтесь, если не всё вам будет там понятно. Если вы будете - пользоваться чьей-то помощью, протокол вам пригодится.</para> - -<para>Если ваша версия ppp не понимает команду "set log", вы должны скачать - <ulink URL="http://people.FreeBSD.org/~brian/">последнюю версию</ulink>. - Она рассчитана на FreeBSD версий 2.1.5 и выше.</para> - -</answer></qandaentry> + <para>Первым делом прочтите <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">страницы + справочника</ulink>, посвящённые ppp, а также соответствующий <ulink + URL="../../handbook/ppp-and-slip.html#USERPPP">раздел</ulink> Руководства. + Включите протоколирование командой</para> -<qandaentry><question> -<para>Ppp просто зависает, когда я его запускаю</para></question><answer> + <programlisting> +set log Phase Chat Connect Carrier lcp ipcp ccp command + </programlisting> -<para>Обычно это происходит, когда не может быть определено имя - вашего хоста. Наилучший способ исправить это - - удостовериться, что файл <filename>/etc/hosts</filename> используется вашим - ресолвером. Отредактируйте файл <filename>/etc/host.conf</filename>, поместив - на первое место строчку <emphasis remap=tt>hosts</emphasis>. Затем просто добавьте - записи о вашей машине в файл <filename>/etc/hosts</filename>. Если у вас нет - локальной сети, измените строку <emphasis remap=tt>localhost</emphasis>:</para> - -<para> -<literallayout>127.0.0.1 foo.bar.com foo localhost - </literallayout> -</para> - -<para> В противном случае просто добавьте ещё одну запись о вашем хосте. - Обратитесь к соответствующим страницам справочника за подробным - описанием.</para> - -<para>Если вы выполнили эти указания, вы сможете успешно выполнить - команду <command>ping -c1 `hostname`</command>.</para> - -</answer></qandaentry> + <para>Эта команда может быть набрана в командной строке <emphasis + remap=bf>ppp</emphasis> или она может находиться в конфигурационном файле + <filename>/etc/ppp/ppp.conf</filename> (начало секции <emphasis + remap=bf>default</emphasis> - лучшее для неё место. Удостоверьтесь, что + файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?syslog.conf"> + /etc/syslog.conf</ulink> содержит строки</para> -<qandaentry><question> -<para>Ppp не звонит в режиме -auto</para></question><answer> + <programlisting> +!ppp +*.* /var/log/ppp.log + </programlisting> -<para>Во-первых, проверьте, что у вас есть маршрут по умолчанию. - Запустив <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink>, вы должны увидеть две строки вида:</para> - -<para> -<literallayout>Destination Gateway Flags Refs Use Netif Expire + <para>и файл <filename>/var/log/ppp.log</filename> существует. Теперь вы + сможете найти полную информацию о происходящем в файле протокола. Не + беспокойтесь, если не всё вам будет там понятно. Если вы будете + пользоваться чьей-то помощью, протокол вам пригодится.</para> + + <para>Если ваша версия ppp не понимает команду <command>set log</command>, вы + должны скачать <ulink URL="http://people.FreeBSD.org/~brian/">последнюю + версию</ulink>. Она рассчитана на FreeBSD версий 2.1.5 и выше.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Ppp просто зависает, когда я его запускаю</para> + </question> + + <answer> + + <para>Обычно это происходит, когда не может быть определено имя вашего хоста. + Наилучший способ исправить это - удостовериться, что файл + <filename>/etc/hosts</filename> используется вашим ресолвером. + Отредактируйте файл <filename>/etc/host.conf</filename>, поместив + на первое место строчку <literal>hosts</literal>. Затем просто добавьте + записи о вашей машине в файл <filename>/etc/hosts</filename>. Если у вас + нет локальной сети, измените строку <hostid>localhost</hostid>:</para> + + <programlisting> +127.0.0.1 foo.bar.com foo localhost + </programlisting> + + <para>В противном случае просто добавьте ещё одну запись о вашем хосте. + Обратитесь к соответствующим страницам справочника за подробным + описанием.</para> + + <para>Если вы выполнили эти указания, вы сможете успешно выполнить + команду <command>ping -c1 `hostname`</command>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Ppp не звонит в режиме -auto</para> + </question> + + <answer> + + <para>Во-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив + команду <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink>, вы + должны увидеть две строки такого вида:</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 - </literallayout> -</para> - -<para>Здесь предполагается, что вы использовали адреса, - приведённые в Руководстве, Справочнике или файле - ppp.conf.sample. Если у вас нет маршрута по умолчанию, это - может быть из-за использования старой версии - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>, которая не понимает слова <acronym>HISADDR</acronym> в файле - ppp.conf. Если ваша версия <emphasis remap=bf>ppp</emphasis> из FreeBSD версий ранее - чем 2.2.5, замените строку</para> - -<para> -<literallayout> add 0 0 HISADDR - </literallayout> -</para> - -<para>на</para> - -<para> -<literallayout> add 0 0 10.0.0.2 - </literallayout> -</para> - -<para>Другой причиной отсутствия маршрута по умолчанию может быть - то, что вы ошибочно установили маршрут по умолчанию в вашем файле - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink> (этот файл назывался <filename>/etc/sysconfig</filename> - до 2.2.2-RELEASE), и вы пропустили строку</para> - -<para> -<literallayout> delete ALL - </literallayout> -</para> - -<para>в <filename>ppp.conf</filename>. В таком случае обратитесь к соответствующему - <ulink URL="../../handbook/ppp-and-slip.html#USERPPP-FINAL">разделу</ulink> Руководства.</para> - -</answer></qandaentry> + </programlisting> -<qandaentry><question> -<para>Что означает сообщение "No route to host"?</para></question><answer> + <para>Здесь предполагается, что вы использовали адреса, + приведённые в Руководстве, Справочнике или файле + ppp.conf.sample. Если у вас нет маршрута по умолчанию, это + может быть из-за использования старой версии + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>, которая не + понимает слова <literal>HISADDR</literal> в файле + ppp.conf. Если ваша версия <emphasis remap=bf>ppp</emphasis> из FreeBSD + версий ранее чем 2.2.5, замените строку</para> + + <programlisting> +add 0 0 HISADDR + </programlisting> + + <para>на</para> + + <programlisting> +add 0 0 10.0.0.2 + </programlisting> + + <para>Другой причиной отсутствия маршрута по умолчанию может быть + то, что вы ошибочно установили маршрут по умолчанию в вашем файле <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?rc.conf">/etc/rc.conf</ulink> + (этот файл назывался <filename>/etc/sysconfig</filename> + до 2.2.2-RELEASE), и вы пропустили строку</para> + + <programlisting> +delete ALL + </programlisting> + + <para>в <filename>ppp.conf</filename>. В таком случае обратитесь к + соответствующему <ulink + URL="../../handbook/ppp-and-slip.html#USERPPP-FINAL">разделу</ulink> + Руководства.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Что означает сообщение <literal>No route to host</literal>?</para> + </question> + + <answer> + + <para>Эта ошибка появляется из-за отсутствующего раздела</para> + + <programlisting> +MYADDR: + delete ALL + add 0 0 HISADDR + </programlisting> + + <para>в файле <filename>/etc/ppp/ppp.linkup</filename>. Он необходим, если ваш + IP адрес выделяется динамически или адрес маршрутизатора вам не + известен. Если вы используете интерактивный + режим, вы можете набрать следующие команды после входа в + <emphasis remap=tt>пакетный режим</emphasis> (пакетный режим + идентифицируется заглавными буквами <acronym>PPP</acronym> в + приглашении):</para> + + <programlisting> +delete ALL +add 0 0 HISADDR + </programlisting> + + <para>Обратитесь к разделу <ulink + URL="../../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">PPP и + динамические IP адреса</ulink> Руководства за подробной информацией.</para> + + </answer> +</qandaentry> -<para>Эта ошибка появляется из-за отсутствующего раздела</para> - -<para> -<literallayout> MYADDR: - delete ALL - add 0 0 HISADDR - </literallayout> -</para> - -<para>в файле <filename>/etc/ppp/ppp.linkup</filename>. Он необходим, если ваш - IP адрес выделяется динамически или адрес маршрутизатора вам не - известен. Если вы используете интерактивный - режим, вы можете набрать следующие команды после входа в - <emphasis remap=tt>пакетный режим</emphasis> (пакетный режим идентифицируется заглавными - буквами <acronym>PPP</acronym> в приглашении):</para> - -<para> -<literallayout> delete ALL - add 0 0 HISADDR - </literallayout> -</para> - -<para>Обратитесь к разделу <ulink URL="../../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">PPP и динамические IP адреса</ulink> Руководства за подробной - информацией.</para> - -</answer></qandaentry> <qandaentry><question> <para>Соединение разрывается через 3 минуты</para></question><answer> <para>Таймаут для ppp по умолчанию равен 3 минутам. Это может быть изменено строкой</para> - -<para> -<literallayout> set timeout NNN - </literallayout> -</para> - -<para>где <acronym>NNN</acronym> - время неактивности в секундах, после которого - соединение закывается. Если <acronym>NNN</acronym> равно нулю, соединение никогда - не разрывается по таймауту. Эту команду можно поместить в файл - <filename>ppp.conf</filename> или набрать ее в интерактивном режиме. Изменение - этого параметра также возможно при активном соединении, если - подключиться к сокету <emphasis remap=bf>ppp</emphasis> сервера с помощью программ - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?telnet">telnet</ulink> - или <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppctl">pppctl</ulink>. Обратитесь к страницам Справочника, посвящённым - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>.</para> - -</answer></qandaentry> + + <programlisting> +set timeout <replaceable>NNN</replaceable> + </programlisting> + + <para>где <replaceable>NNN</replaceable> - время неактивности в секундах, + после которого соединение закывается. Если <replaceable>NNN</replaceable> + равно нулю, соединение никогда не разрывается по таймауту. Эту команду + можно поместить в файл <filename>ppp.conf</filename> или набрать ее в + интерактивном режиме. Изменение этого параметра также возможно при + активном соединении, если подключиться к сокету <emphasis + remap=bf>ppp</emphasis> сервера с помощью программ + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?telnet">telnet</ulink> + или <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?pppctl">pppctl</ulink>. + Обратитесь к страницам Справочника, посвящённым + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink>.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Соединение разрывается при большой нагрузке</para></question><answer> @@ -7640,13 +8099,14 @@ default 10.0.0.2 UGSc 0 0 tun0 что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5 LQR было включено по умолчанию. Сейчас оно по умолчанию выключено. LQR можно выключить строкой</para> - -<para> -<literallayout> disable lqr - </literallayout> -</para> - -</answer></qandaentry> + + <programlisting> +disable lqr + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Соединение разрывается в случайные промежутки времени @@ -7661,13 +8121,12 @@ default 10.0.0.2 UGSc 0 0 tun0 это определяется значением регистра S10 в десятых долях секунды. Чтобы сделать связь более устойчивой, добавьте следующую последовательность посылок-ожиданий в строку набора:</para> - -<para> -<literallayout> set dial "...... ATS10=10 OK ......" - </literallayout> -</para> - -<para>Обратитесь к руководству по вашему модему.</para> + + <programlisting> +set dial "...... ATS10=10 OK ......" + </programlisting> + + <para>Обратитесь к руководству по вашему модему.</para> </answer></qandaentry> @@ -7678,70 +8137,74 @@ default 10.0.0.2 UGSc 0 0 tun0 <para>Многие сообщают об обрывах соединений без видимой причины. Первым делом нужно выяснить, с какой стороны соединения рвётся связь. </para> -<para>Если вы используете внешний модем, можете просто попробовать - использовать утилиту <emphasis remap=tt>ping</emphasis> и посмотреть, мигает ли индикатор - <acronym>TD</acronym> при передаче данных. Если он мигает (а индикатор <acronym>TD</acronym> нет), - проблема с той стороны. Если индикатор <acronym>TD</acronym> не загорается, проблема - с вашей стороны. При использовании внутреннего модема вам необходимо - воспользоваться командой <emphasis remap=tt>set server</emphasis>, указав её в файле - <filename>ppp.conf</filename>. Когда произойдёт обрыв связи, подключитесь к ppp с - помощью pppctl. Если ваше сетевое подключение неожиданно восстановится - (ppp оживает при проявлении активности на диагностическом сокете) или - или если вы не сможете соединиться (здесь мы полагаем, что команда - <emphasis remap=tt>set socket</emphasis> в начальный момент была выполнена успешно), то проблема - имеет локальный характер. Если вы сможете подключиться, но связи всё - равно нет, включите вывод отладочной информации командой <emphasis remap=tt>set log - local async</emphasis> и запустите <emphasis remap=tt>ping</emphasis> из другого окна или терминала, чтобы - проверить связь. В отладочном выводе будут показаны данные, - передаваемые и получаемые из канала связи. Если данные посылаются, - но не принимаются обратно, проблема с противоположной стороны.</para> - -<para>Выяснив, является эта проблема локальной или удалённой системы, - вы имеете следующие возможности:</para> - -</answer></qandaentry> + <para>Если вы используете внешний модем, можете просто попробовать + использовать утилиту <command>ping</command> и посмотреть, мигает ли + индикатор <acronym>TD</acronym> при передаче данных. Если он мигает (а + индикатор <acronym>RD</acronym> нет), проблема с той стороны. Если + индикатор <acronym>TD</acronym> не загорается, проблема + с вашей стороны. При использовании внутреннего модема вам необходимо + воспользоваться командой <literal>set server</literal>, указав её в файле + <filename>ppp.conf</filename>. Когда произойдёт обрыв связи, подключитесь + к ppp с помощью pppctl. Если ваше сетевое подключение неожиданно + восстановится (ppp оживает при проявлении активности на диагностическом + сокете) или или если вы не сможете соединиться (здесь мы полагаем, что + команда <literal>set socket</literal> в начальный момент была выполнена + успешно), то проблема имеет локальный характер. Если вы сможете + подключиться, но связи всё равно нет, включите вывод отладочной информации + командой <literal>set log local async</literal> и запустите + <command>ping</command> из другого окна или терминала, чтобы проверить + связь. В отладочном выводе будут показаны данные, + передаваемые и получаемые из канала связи. Если данные посылаются, + но не принимаются обратно, проблема с противоположной стороны.</para> + + <para>Выяснив, является эта проблема локальной или удалённой системы, + вы имеете следующие возможности:</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Удалённая система не отвечает</para></question><answer> -<para>Здесь вы мало что можете сделать. Большинство провайдеров - отказываются оказать помощь, если вы используете ОС не от Microsoft. - Вы можете добавить команду <emphasis remap=tt>enable lqr</emphasis> в ваш <filename>ppp.conf</filename>, что - позволит ppp отследить ошибки в удалённой системе и закрывать - соединение, однако такое обнаружение достаточно медленное и поэтому - не так уж полезно. Вы можете также просто не сообщать своему - провайдеру, что запускаете user-ppp....</para> - -<para>Первым делом попробуйте отключить всю местную компрессию, - указав в конфигурационном файле следующее:</para> - -<para> -<literallayout> disable pred1 deflate deflate24 protocomp acfcomp shortseq vj - deny pred1 deflate deflate24 protocomp acfcomp shortseq vj - </literallayout> -</para> - -<para>Теперь попробуйте установить соединение ещё раз и удостовериться, - что ситуация не изменилась. Если качество соединения улучшилось - или проблема окащалась полностью решённой, выясните, настройка - чего приводила к проблемам методом проб и ошибок. Это даст вам - дополнительную защиту, когда вы будете разговаривать с вашим - провайдером (хотя при этом может обнаружиться, что вы работаете - не с продуктом Microsoft). </para> - + <para>Здесь вы мало что можете сделать. Большинство провайдеров + отказываются оказать помощь, если вы используете ОС не от Microsoft. + Вы можете добавить команду <literal>enable lqr</literal> в ваш + <filename>ppp.conf</filename>, что позволит ppp отследить ошибки в + удалённой системе и закрывать соединение, однако такое обнаружение + достаточно медленно и поэтому + не так уж полезно. Вы можете также просто не сообщать своему + провайдеру, что запускаете user-ppp....</para> + + <para>Первым делом попробуйте отключить всю местную компрессию, + указав в конфигурационном файле следующее:</para> + + <programlisting> +disable pred1 deflate deflate24 protocomp acfcomp shortseq vj +deny pred1 deflate deflate24 protocomp acfcomp shortseq vj + </programlisting> + + <para>Теперь попробуйте установить соединение ещё раз и удостовериться, + что ситуация не изменилась. Если качество соединения улучшилось + или проблема окащалась полностью решённой, выясните, настройка + чего приводила к проблемам методом проб и ошибок. Это даст вам + дополнительную защиту, когда вы будете разговаривать с вашим + провайдером (хотя при этом может обнаружиться, что вы работаете + не с продуктом Microsoft). </para> + <para>Перед тем, как звонить провайдеру, включите вывод отладочной информации, как вы это делали ранее и подождите, пока соединение снова не прервётся. Правда, для этого требуется некоторое дисковое пространство. Интерес могут представлять последние прочитанные из порта данные. Обычно это данные в формате ascii - и они могут даже содержать описание проблемы (``Memory fault, - core dumped'' ?).</para> + и они могут даже содержать описание проблемы (<quote>Memory fault, + core dumped</quote> ?).</para> <para>Если ваш провайдер согласен помочь вам, нужно будет включить режим отладки с их стороны, а потом, когда связь прервётся в следующий раз, они могут сказать вам, почему возникли проблемы с их стороны. Будет хорошо, если вы пришлёте детальное описание - на адрес <ulink URL="mailto:brian@Awfulhak.org">brian@Awfulhak.org</ulink>, или даже попросите провайдера связаться + на адрес &a.brian;, или даже попросите провайдера связаться со мной напрямую.</para> </answer></qandaentry> @@ -7749,17 +8212,21 @@ default 10.0.0.2 UGSc 0 0 tun0 <qandaentry><question> <para>Ppp зависает</para></question><answer> -<para>Лучше всего в этом случае перекомпилировать ppp, добавив параметры - <literal>CFLAGS+=-g</literal> и <literal>STRIP=</literal> в конец Makefile, а затем выполнить - <emphasis remap=tt>make clean && make && make install</emphasis>. Когда ppp - зависнет, найдите идентификатор процесса ppp с помощью команды - <emphasis remap=tt>ps ajxww | fgrep ppp</emphasis> и выполните команду <emphasis remap=tt>gdb ppp PID</emphasis>. - Затем в приглашении gdb вы можете использовать команду <emphasis remap=tt>bt</emphasis> для - получения стека вызовов.</para> - -<para>Пошлите результат на адрес <ulink URL="mailto:brian@Awfulhak.org">brian@Awfulhak.org</ulink>.</para> + <para>Лучше всего в этом случае перекомпилировать ppp, добавив параметры + <literal>CFLAGS+=-g</literal> и <literal>STRIP=</literal> в конец + Makefile, а затем выполнить команду + <command>make clean && make && make install</command>. + Когда ppp зависнет, найдите идентификатор процесса ppp с помощью команды + <command>ps ajxww | fgrep ppp</command> и выполните команду + <command>gdb ppp <replaceable>PID</replaceable></command>. Затем в + приглашении gdb вы можете использовать команду <command>bt</command> для + получения стека вызовов.</para> + + <para>Пошлите результат на адрес <email>brian@Awfulhak.org</email>.</para> + + </answer> +</qandaentry> -</answer></qandaentry> <qandaentry><question> <para> Ничего не происходит после сообщения Login OK! @@ -7771,12 +8238,11 @@ default 10.0.0.2 UGSc 0 0 tun0 начинают согласования и предполагают, что это сделает клиент. Чтобы заставить <emphasis remap=bf>ppp</emphasis> инициировать согласование параметров LCP, используйте следующую строку:</para> - -<para> -<literallayout> set openmode active - </literallayout> -</para> - + + <programlisting> +set openmode active + </programlisting> + <para><emphasis remap=bf>Замечание</emphasis>: Ничего страшного не произойдёт, если согласование начнут обе стороны, поэтому режим инициирования сейчас по умолчанию активный. Однако, в следующем разделе описывается @@ -7785,11 +8251,12 @@ default 10.0.0.2 UGSc 0 0 tun0 </answer></qandaentry> <qandaentry><question> -<para> В протоколе есть сообщения о том, что 'magic being the same'. +<para> В протоколе есть сообщения о том, что <quote>magic being the same</quote>. </para></question><answer> <para>Иногда, сразу же после установления соединения, вы можете увидеть - сообщения в протоколе, говорящие что "magic is the same". Иногда + сообщения в протоколе, говорящие что <quote>magic is the same</quote>. + Иногда эти сообщения проходят безболезненно, а иногда одна из сторон прекращают работу. Большинство реализаций ppp не может справиться с такой ситуацией, и, даже когда связь выглядит установившейся, вы @@ -7805,13 +8272,14 @@ default 10.0.0.2 UGSc 0 0 tun0 проходящее между завершением работы getty и запуском ppp, ppp со стороны клиента начинает посылать пакеты Line Control Protocol (LCP). Так как режим эха остаётся всё ещё включенным, ppp клиента - получает "отражения" своих запросов.</para> - -<para>Частью процесса согласования параметров LCP является определение - "магического" числа для каждой стороны соединения для обнаружения - "отражений". Согласно спецификации, когда одна сторона пытается - использовать совпадающее "магическое" число, должен быть послан ответ - NAK и должно быть выбрано новое "магическое" число. В тот момент, + получает <quote>отражения</quote> своих запросов.</para> + + <para>Частью процесса согласования параметров LCP является определение + <quote>магического</quote> числа для каждой стороны соединения для + обнаружения <quote>отражений</quote>. Согласно спецификации, когда одна + сторона пытается использовать совпадающее "магическое" число, должен быть + послан ответ + NAK и должно быть выбрано новое "магическое" число. В тот момент, когда на порту сервера включен режим эха, клиент ppp посылает пакеты LCP, получает то же самое "магическое" число в отражённом пакете и отвечает на него NAK. Он также видит отражённый NAK (который также @@ -7826,21 +8294,19 @@ default 10.0.0.2 UGSc 0 0 tun0 <para>Этого можно избежать, позволив начинать согласование противоположной стороне следующей строкой в файле ppp.conf:</para> - -<para> -<literallayout> set openmode passive - </literallayout> -</para> - + + <programlisting> +set openmode passive + </programlisting> + <para>Это заставит ppp ожидать начала согласования LCP. Некоторые серверы, однако, могут никогда не начать согласование. Если это тот самый случай, вы можете сделать следующее:</para> - -<para> -<literallayout> set openmode active 3 - </literallayout> -</para> - + + <programlisting> +set openmode active 3 + </programlisting> + <para>Это заставит ppp пассивно ждать 3 секунды, и только затем посылать запросы LCP. Если противоположная сторона начнёт посылать в этот момент запросы, ppp немедленно ответит, не ожидая истечения @@ -7884,29 +8350,26 @@ default 10.0.0.2 UGSc 0 0 tun0 <para>Лучшим способом избежать этой ситуации является конфигурация одной из сторон как <emphasis remap=bf>passive</emphasis>, чтобы она ждала другую для начала согласования. Это можно сделать командой</para> - -<para> -<literallayout> set openmode passive - </literallayout> -</para> - -<para> С этой командой нужно быть осторожным. Вы также должны будете - использовать команду</para> - -<para> -<literallayout> set stopped N - </literallayout> -</para> - + + <programlisting> +set openmode passive + </programlisting> + + <para>С этой командой нужно быть осторожным. Вы также должны будете + использовать команду</para> + + <programlisting> +set stopped N + </programlisting> + <para> для ограничения периода ожидания, в течении которого <emphasis remap=bf>ppp</emphasis> ждёт начала согласования с противоположной стороны. Как вариант, может быть использована строка</para> - -<para> -<literallayout> set openmode active N - </literallayout> -</para> - + + <programlisting> +set openmode active N + </programlisting> + <para> (где <emphasis remap=bf>N</emphasis> - период ожидания в секундах перед тем, как начать согласование).</para> @@ -7922,29 +8385,31 @@ default 10.0.0.2 UGSc 0 0 tun0 разные типы CCP (Compression Control Protocol). Эта проблема сейчас решена, но если вы всё ещё используете старую версию <emphasis remap=bf>ppp</emphasis>, проблема может быть обойдена с помощью строки</para> - -<para> -<literallayout> disable pred1 - </literallayout> -</para> - -</answer></qandaentry> + + <programlisting> +disable pred1 + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Когда я выполняю команду shell для тестирования соединения, ppp блокируется </para></question><answer> -<para>Когда вы выполняете команду <emphasis remap=tt>shell</emphasis> или <emphasis remap=tt>!</emphasis>, <emphasis remap=bf>ppp</emphasis> - запускает оболочку (если были заданы параметры, <emphasis remap=bf>ppp</emphasis> их - использует). Ppp будет ждать окончания выполнения команды, прежде + <para>Когда вы выполняете команду <command>shell</command> или + <command>!</command>, <command>ppp</command> запускает оболочку (если были + заданы параметры, <emphasis remap=bf>ppp</emphasis> их + использует). Ppp будет ждать окончания выполнения команды, прежде чем продолжить. Если вы попытаетесь воспользоваться связью ppp после запуска команды, связь будет выглядеть заблокированной. Это - происходит из-за того, что <emphasis remap=bf>ppp</emphasis> ждёт завершения выполнения - запущенной команды.</para> - -<para>Если вам необходимо выполнять подобные команды, используйте - команду <emphasis remap=tt>!bg</emphasis>. В этом случае нужная команда будет выполняться + происходит из-за того, что <command>ppp</command> ждёт завершения + выполнения запущенной команды.</para> + + <para>Если вам необходимо выполнять подобные команды, используйте + команду <command>!bg</command>. В этом случае нужная команда будет выполняться в фоновом режиме, а ppp сможет продолжить обслуживание канала связи.</para> </answer></qandaentry> @@ -7957,12 +8422,11 @@ default 10.0.0.2 UGSc 0 0 tun0 Это происходит из-за метода использования сигнальных линий нуль-модемного кабеля. При использовании такого типа соединения всегда включайте LQR.</para> - -<para> -<literallayout> enable lqr - </literallayout> -</para> - + + <programlisting> +enable lqr + </programlisting> + <para>По умолчанию LQR включается, если это было затребовано с противоположной стороны на этапе согласования параметров соединения.</para> @@ -7976,12 +8440,11 @@ default 10.0.0.2 UGSc 0 0 tun0 звонков.</para> <para>Для выяснения причины такого поведения, используйте строку:</para> - -<para> -<literallayout> set log +tcp/ip - </literallayout> -</para> - + + <programlisting> +set log +tcp/ip + </programlisting> + <para>Это включит протоколирование всего трафика через соединение. В следующий раз, когда неожиданно будет установлено соединение, вы установите причину по временным отметкам в файле протокола.</para> @@ -7991,14 +8454,13 @@ default 10.0.0.2 UGSc 0 0 tun0 к DNS. Для предотвращения обращений к DNS и установления соединения (что <emphasis remap=bf>не</emphasis> запретит <emphasis remap=bf>ppp</emphasis> пропускать пакеты через уже установленное соединение), используйте такую комбинацию:</para> - -<para> -<literallayout> set dfilter 1 deny udp src eq 53 - set dfilter 2 deny udp dst eq 53 - set dfilter 3 permit 0/0 0/0 - </literallayout> -</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> @@ -8011,44 +8473,45 @@ default 10.0.0.2 UGSc 0 0 tun0 за подробным описанием создания конфигурационного файла и что туда нужно поместить. Вам может понадобиться добавить в файл <filename>.mc</filename> строку:</para> - -<para> -<literallayout> define(`confDELIVERY_MODE', `d')dnl - </literallayout> -</para> - -<para>Это заставит sendmail ставить все сообщения в очередь до - тех пор, пока не будет запущена её обработка (как правило, - sendmail запускается с параметрами ``-bd -q30m'', указывающие, что - обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока - не будет выполнена команда ``sendmail -q'' (может быть, из файла - ppp.linkup).</para> - -</answer></qandaentry> + + <programlisting> +define(`confDELIVERY_MODE', `d')dnl + </programlisting> + + <para>Это заставит sendmail ставить все сообщения в очередь до тех пор, пока + не будет запущена её обработка (как правило, sendmail запускается с + параметрами <option>-bd -q30m</option>, указывающими, что + обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока + не будет выполнена команда <command>sendmail -q</command> (может быть, из + файла ppp.linkup).</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Что означают ошибки CCP</para></question><answer> <para>В файле протокола появляются такие сообщения об ошибках:</para> - -<para> -<literallayout> CCP: CcpSendConfigReq - CCP: Received Terminate Ack (1) state = Req-Sent (6) - </literallayout> -</para> - + + <programlisting> +CCP: CcpSendConfigReq +CCP: Received Terminate Ack (1) state = Req-Sent (6) + </programlisting> + <para>Это происходит, если ppp пытается установить компрессию типа Predictor1, а противоположная сторона не хочет устанавливать никакой компрессии. Эти сообщения безобидны, но если вы хотите от них избавиться, вы можете запретить компрессию Predictor1 и у себя тоже:</para> - -<para> -<literallayout> disable pred1 - </literallayout> -</para> - -</answer></qandaentry> + + <programlisting> +disable pred1 + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Ppp блокируется во время передачи файла с ошибками ввода-вывода @@ -8077,88 +8540,90 @@ default 10.0.0.2 UGSc 0 0 tun0 <para>Для вывода протокола взаимодействия с модемом вам нужно включить следующее:</para> - -<para> -<literallayout> set log +connect - </literallayout> -</para> - -<para>Это заставит <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> - протоколировать всё вплоть до последней прочтённой через "expect" - строки.</para> - -<para>Если вы хотите видеть скорость соединения и используете - PAP или CHAP (и поэтому вам не нужно определять никаких сценариев - входа через "set login" после получения строки CONNECT сценарием - дозвонки dial), вы должны указать ppp, что нужно ожидать полную - строку CONNECT, вроде следующего:</para> - -<para> -<literallayout> set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" - </literallayout> -</para> - + + <programlisting> +set log +connect + </programlisting> + + <para>Это заставит <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ppp">ppp</ulink> протоколировать + всё, вплоть до последней прочтённой через <quote>expect</quote> + строки.</para> + + <para>Если вы хотите видеть скорость соединения и используете + PAP или CHAP (и поэтому вам не нужно определять никаких сценариев + входа через <literal>set login</literal> после получения строки CONNECT + сценарием дозвонки dial), вы должны указать ppp, что нужно ожидать полную + строку 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, ничего не посылаем, затем ожидаем символа перевода строки, заставляя <emphasis remap=bf>ppp</emphasis> принять полный ответ модема.</para> </answer></qandaentry> -<qandaentry><question> -<para>Ppp игнорирует символ `\' в chat-скрипте</para></question><answer> - -<para>Ppp обрабатывает каждую строку в ваших конфигурационных файлах, так что - он может проинтерпретировать строку вида - <emphasis remap=tt>set phone "123 456 789"</emphasis> правильно (и - обнаружить. что номер является на самом деле - <emphasis remap=bf>единственным</emphasis> аргументом. Для того, чтобы - указать символ `"', вы должны экранировать его символом - обратного слэша (`\').</para> - -<para>Когда интерпретатор chat обрабатывает каждую строку, он ещё раз - просматривает аргумент для того, чтобы найти какую-либо специальную - последовательность типа `\P' или `\T' (обратитесь к - Справочнику). В результате этой двойной интерпретации вы должны всегда - использовать правильное число экранирующих символов.</para> - -<para>Если вам нужно передать символ `\', например, вашему модему, - вам необходимо указать что-то типа:</para> - -<para> - <literallayout> - set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" - </literallayout> -</para> - -<para>что приведёт к такой последовательности:</para> - -<para> - <literallayout> - ATZ - OK - AT\X - OK - </literallayout> -</para> - -<para>или</para> - -<para> -<literallayout> set phone 1234567 - set dial "\"\" ATZ OK ATDT\\T" - </literallayout> -</para> - -<para>что даст такую последовательность:</para> - -<para> -<literallayout> ATZ - OK - ATDT1234567 - </literallayout> -</para> - -</answer></qandaentry> + +<qandaentry> + <question> + <para>Ppp игнорирует символ <literal>\</literal> + в chat-скрипте</para> + </question> + + <answer> + + <para>Ppp обрабатывает каждую строку в ваших конфигурационных файлах, так что + он может проинтерпретировать строку вида + <literal>set phone "123 456 789"</literal> правильно (и + обнаружить. что номер является на самом деле + <emphasis remap=bf>единственным</emphasis> аргументом. Для того, чтобы + указать символ <literal>"</literal>, вы должны экранировать его символом + обратного слэша (<literal>\</literal>).</para> + + <para>Когда интерпретатор chat обрабатывает каждую строку, он ещё раз + просматривает аргумент для того, чтобы найти какую-либо специальную + последовательность типа <literal>\P</literal> или <literal>\T</literal> + (обратитесь к Справочнику). В результате этой двойной интерпретации вы + должны всегда использовать правильное число экранирующих символов.</para> + + <para>Если вам нужно передать символ <literal>\</literal>, например, вашему + модему, вам необходимо указать что-то типа:</para> + + <programlisting> +set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" + </programlisting> + + <para>что приведёт к такой последовательности:</para> + + <programlisting> +ATZ +OK +AT\X +OK + </programlisting> + + <para>или</para> + + <programlisting> +set phone 1234567 +set dial "\"\" ATZ OK ATDT\\T" + </programlisting> + + <para>что даст такую последовательность:</para> + + <programlisting> +ATZ +OK +ATDT1234567 + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Ppp получает ошибку защиты, но я не вижу файла <filename>ppp.core</filename> @@ -8172,19 +8637,18 @@ default 10.0.0.2 UGSc 0 0 tun0 или по другому сигналу, который вызывает создание дампа памяти, <emphasis remap=bf>и</emphasis> вы уверены, что используете самую последнюю версию (смотрите самое начало раздела), то вы должны сделать следующее:</para> - -<para> -<literallayout> $ tar xfz ppp-*.src.tar.gz - $ cd ppp*/ppp - $ echo STRIP= >>Makefile - $ echo CFLAGS+=-g >>Makefile - $ make clean all - $ su - # make install - # chmod 555 /usr/sbin/ppp - </literallayout> -</para> - + + <screen> +&prompt.user; <userinput>tar xfz ppp-*.src.tar.gz</userinput> +&prompt.user; <userinput>cd ppp*/ppp</userinput> +&prompt.user; <userinput>echo STRIP= >>Makefile</userinput> +&prompt.user; <userinput>echo CFLAGS+=-g >>Makefile</userinput> +&prompt.user; <userinput>make clean all</userinput> +&prompt.user; <userinput>su</userinput> +&prompt.root; <userinput>make install</userinput> +&prompt.root; <userinput>chmod 555 /usr/sbin/ppp</userinput> + </screen> + <para>Теперь у вас есть отладочная версия ppp. Вам нужно стать суперпользователем для запуска ppp, так как соответствующие биты прав были убраны. Когда запустите ppp, обратите особое внимание @@ -8192,21 +8656,20 @@ default 10.0.0.2 UGSc 0 0 tun0 <para>Итак, если ppp получит ошибку нарушения защиты, он сбросит дамп памяти с именем ppp.core. Затем вам нужно сделать следующее:</para> - -<para> -<literallayout> $ su - # gdb /usr/sbin/ppp ppp.core - (gdb) bt - ..... - (gdb) f 0 - ..... - (gdb) i args - ..... - (gdb) l - ..... - </literallayout> -</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> @@ -8221,11 +8684,11 @@ default 10.0.0.2 UGSc 0 0 tun0 затребованного соединения </para></question><answer> -<para>Эта проблема проявлялась, когда <emphasis remap=bf>ppp</emphasis> в режиме auto был - настроен на динамическое согласование локального IP-адреса с - противоположной стороной. Это исправлено в последней версии - - поищите на странице справочника слово <emphasis remap=bf>iface</emphasis>.</para> - + <para>Эта проблема проявлялась, когда <emphasis remap=bf>ppp</emphasis> в + режиме auto был настроен на динамическое согласование локального IP-адреса + с противоположной стороной. Это исправлено в последней версии - + поищите на странице справочника слово <literal>iface</literal>.</para> + <para>Причиной было то, что когда эта программа использует системный вызов <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?connect">connect(2)</ulink>, для сокета назначается IP-адрес tun-интерфейса. Ядро создаёт первый исходящий пакет и записывает его в устройство @@ -8289,7 +8752,7 @@ default 10.0.0.2 UGSc 0 0 tun0 запущенной программой является программное обеспечение, с которым вы испытываете проблемы, затем напустите tcpdump на tun-интерфейс маршрутизатора либо включите протоколирование tcp/ip - в ppp (``set log +tcp/ip'') на маршрутизаторе.</para> + в ppp (<literal>set log +tcp/ip</literal>) на маршрутизаторе.</para> <para>Когда вы запустите некорректно работающее программное обеспечение, вы должны увидеть пакеты, проходящие через маршрутизатор. Когда @@ -8301,15 +8764,15 @@ default 10.0.0.2 UGSc 0 0 tun0 разделе /etc/ppp/ppp.conf заставит программное обеспечение функционировать нормально:</para> - <para> - <literallayout> -nat port proto internalmachine:port port - </literallayout> - </para> + <programlisting> +nat port <replaceable>proto</replaceable> <replaceable>internalmachine</replaceable>:<replaceable>port</replaceable> <replaceable>port</replaceable> + </programlisting> - <para>Здесь ``proto'' - это ``tcp'' либо ``udp'', ``internalmachine'' - - это машина, которой вы хотите перенаправлять пакеты, и ``port'' - это - номер порта получателя пакетов.</para> + <para>Здесь <replaceable>proto</replaceable> - это <literal>tcp</literal> + либо <literal>udp</literal>, <replaceable>internalmachine</replaceable> - + это машина, которой вы хотите перенаправлять пакеты, + и <replaceable>port</replaceable> - это номер порта получателя + пакетов.</para> <para>Несомненно, вы не сможете использовать программное обеспечение на других машинах, не изменяя указанную выше команду, а также запускать @@ -8320,24 +8783,27 @@ nat port proto internalmachine:port port <para>Если номера портов непостоянны, есть ещё три варианта:</para> <para><emphasis remap=bf>1)</emphasis> Настройте поддержку этого в - libalias. Примеры ``особых случаев'' можно найти в - /usr/src/lib/libalias/alias_*.c (alias_ftp.c - хорошее начало). Это + libalias. Примеры <quote>особых случаев</quote> можно найти в + <filename>/usr/src/lib/libalias/alias_*.c</filename> + (<filename>alias_ftp.c</filename> - хорошее начало). Это означает, что вам нужно будет использовать чтение некоторых распознаваемых исходящих пакетов, обнаруживать команды для установления внешней машиной обратной связи на внутреннюю машину на конкретный (случайный) порт и - настраивать ``маршрут'' в таблице соответствий так, чтобы последующие - пакеты проходили нормально.</para> + настраивать <quote>маршрут</quote> в таблице соответствий так, чтобы + последующие пакеты проходили нормально.</para> <para>Это самое трудоёмкое решение, но оно наилучшее и позволит программному обеспечению работать на нескольких машинах.</para> <para><emphasis remap=bf>2)</emphasis> Используйте прокси-сервера. Приложение может поддерживать, например, socks5 или (как в случае - ``cvsup'') может иметь режим ``passive'', обходящийся без запросов к - противоположной стороне на открытие обратного соединения.</para> + <quote>cvsup</quote>) может иметь режим <quote>passive</quote>, обходящийся + без запросов к противоположной стороне на открытие обратного + соединения.</para> <para><emphasis remap=bf>3)</emphasis> Переназначьте всё на внутреннюю - машину с помощью команды ``nat addr''. Это решение в лоб.</para> + машину с помощью команды <literal>nat addr</literal>. Это решение в + лоб.</para> </answer> </qandaentry> @@ -8349,92 +8815,70 @@ nat port proto internalmachine:port port </question><answer> <para>Пока нет, но ниже находится список, могущий таковым стать (если - к этому будет проявлен какой-либо интерес). В каждом примере <emphasis - remap=tt>internal</emphasis> должно быть заменено IP адресом машины, + к этому будет проявлен какой-либо интерес). В каждом примере + <replaceable>internal</replaceable> нужно заменить на IP-адрес машины, участвующей в игре.</para> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>Asheron's Call</emphasis></para> + <itemizedlist> + <listitem> + <para><application>Asheron's Call</application></para> - <para><emphasis remap=tt>nat - port udp internal:65000 65000</emphasis></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:65000 65000</literal></para> - <para>Находясь в игре, вручную смените номер порта на 65000. Если - у вас есть несколько машин, на которых вы хотите играть, назначьте - каждой машине уникальный номер порта (то есть 65001, 65002 и так - далее), и добавьте по строчке <emphasis remap=tt>nat port</emphasis> - для каждой машины.</para> - </listitem> - </itemizedlist> - </para> + <para>Находясь в игре, вручную смените номер порта на 65000. Если + у вас есть несколько машин, на которых вы хотите играть, назначьте + каждой машине уникальный номер порта (то есть 65001, 65002 и так + далее), и добавьте по строчке <literal>nat port</literal> для каждой + машины.</para> + </listitem> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>Half Life</emphasis></para> + <listitem> + <para><application>Half Life</application></para> - <para><emphasis remap=tt>nat - port udp internal:27005 27015</emphasis></para> - </listitem> - </itemizedlist> - </para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:27005 27015</literal></para> + </listitem> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>PCAnywhere 8.0</emphasis></para> + <listitem> + <para><application>PCAnywhere 8.0</application></para> - <para><emphasis remap=tt>nat - port udp internal:5632 5632</emphasis></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:5632 5632</literal></para> - <para><emphasis remap=tt>nat - port tcp internal:5631 5631</emphasis></para> - </listitem> - </itemizedlist> - </para> + <para><literal>nat port tcp + <replaceable>internal</replaceable>:5631 5631</literal></para> + </listitem> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>Quake</emphasis></para> + <listitem> + <para><application>Quake</application></para> - <para><emphasis remap=tt>nat - port udp internal:6112 6112</emphasis></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:6112 6112</literal></para> - <para>Альтернативное решение, обеспечивающее поддержку прокси для - Quake, можно найти на сервере <ulink - URL="http://www.battle.net/support/proxy/"> - www.battle.net</ulink>.</para> - </listitem> - </itemizedlist> - </para> + <para>Альтернативное решение, обеспечивающее поддержку прокси для + Quake, можно найти на сервере <ulink + URL="http://www.battle.net/support/proxy/"> + www.battle.net</ulink>.</para> + </listitem> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>Quake 2</emphasis></para> + <listitem> + <para><application>Quake 2</application></para> - <para><emphasis remap=tt>nat - port udp internal:27901 27910</emphasis></para> - </listitem> - </itemizedlist> - </para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:27901 27910</literal></para> + </listitem> - <para> - <itemizedlist> - <listitem> - <para><emphasis remap=bf>Red Alert</emphasis></para> + <listitem> + <para><application>Red Alert</application></para> - <para><emphasis remap=tt>nat - port udp internal:8675 8675</emphasis></para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:8675 8675</literal></para> - <para><emphasis remap=tt>nat - port udp internal:5009 5009</emphasis></para> - </listitem> - </itemizedlist> - </para> + <para><literal>nat port udp + <replaceable>internal</replaceable>:5009 5009</literal></para> + </listitem> + </itemizedlist> </answer> </qandaentry> @@ -8443,13 +8887,15 @@ nat port proto internalmachine:port port <qandaentry><question> <para>Что такое ошибки FCS?</para></question><answer> -<para>FCS является сокращением от <emphasis remap=bf>F</emphasis>rame <emphasis remap=bf>C</emphasis>heck <emphasis remap=bf>S</emphasis>equence - (контроль последовательности кадров). Каждый кадр ppp имеет - контрольную сумму для проверки того, что принятые данные совпадают - с переданными. Если FCS принятого пакета некорректна, пакет - отбрасывается и счётчик FCS для HDLC увеличиваетя. Значения ошибок - уровня HDLC можно вывести командой <emphasis remap=tt>show hdlc</emphasis>.</para> - + <para>FCS является сокращением от <emphasis + remap=bf>F</emphasis>rame <emphasis remap=bf>C</emphasis>heck <emphasis + remap=bf>S</emphasis>equence + (контроль последовательности кадров). Каждый кадр ppp имеет + контрольную сумму для проверки того, что принятые данные совпадают + с переданными. Если FCS принятого пакета некорректна, пакет + отбрасывается и счётчик FCS для HDLC увеличиваетя. Значения ошибок + уровня HDLC можно вывести командой <literal>show hdlc</literal>.</para> + <para>Если у вас плохая линия (или драйвер коммуникационного адаптера отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является причиной для волнений, хотя это существенно замедляет протоколы @@ -8457,17 +8903,19 @@ nat port proto internalmachine:port port экранирования соединительного кабеля - это может избавить от проблемы.</para> -<para>Если ваша связь замирает, как только вы соединились и - наблюдается большое количество ошибок FCS, это может быть вызвано - не полной прозрачностью канала для 8-битовых данных. Проверьте, что - модем не использует программного управоения потоком, используйте - команду <literal>set accmap 0x000a0000</literal> для указания <emphasis remap=bf>ppp</emphasis> - экранировать символы ^Q и ^S.</para> - -<para>Другой причиной слишком большого количества ошибок FCS может + <para>Если ваша связь замирает, как только вы соединились и + наблюдается большое количество ошибок FCS, это может быть вызвано + не полной прозрачностью канала для 8-битовых данных. Проверьте, что + модем не использует программного управления потоком (XON/XOFF). Если же + оборудование <emphasis>должно</emphasis> , использовать программное + управление потоком, то воспользуйтесь командой <literal>set accmap + 0x000a0000</literal> для указания <command>ppp</command> экранировать + символы <literal>^Q</literal> и <literal>^S</literal>.</para> + + <para>Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса <acronym>PPP</acronym>. В этом случае Вам может понадобиться включить протоколирование - <emphasis remap=tt>async</emphasis> для проверки того, не являются ли поступаемые из линии + <literal>async</literal> для проверки того, не являются ли поступаемые из линии данные на самом деле приглашениями login или shell. Если вы получили приглашение shell с противоположной стороны, возможно завершение ppp без обрыва связи командой <emphasis remap=tt>close lcp</emphasis> @@ -8483,23 +8931,27 @@ nat port proto internalmachine:port port <qandaentry id=PPPoEwithNAT> <question> - <para>Почему в Windows 98 соединения замирают, когда на маршрутизаторе - используется PPPoE</para> + <para>Почему при работе в MacOS и Windows 98 соединения замирают, когда на + маршрутизаторе используется PPPoE</para> </question> <answer> <para>Мы благодарим Майкла Возняка (Michael Wozniak) - <email>mwozniak@netcom.ca</email>, который сообщил следующее:</para> - - <para>Это происходит из-за эффекта, который можно назвать "чёрной дырой" - на маршрутизаторе. Windows 98 (и, может быть, другие операционные системы - от Microsoft), посылают пакеты TCP с запрашиваемым размером сегмента, - который слишком велик для того, чтобы быть помещённым в кадр PPPoE (для - сети ethernet размер MTU по умолчанию равен 1500) <emphasis - remap=bf>и</emphasis> с установленным битом "не фрагментировать" (по - умолчанию для TCP), а маршрутизаторы Telco не посылает пакет ICMP "нужно - фрагментировать" обратно на сайт www, с которым вы работаете. Когда + <email>mwozniak@netcom.ca</email>, который сообщил следующую информацию, и + Дэна Флемминга (Dan Flemming) <email>danflemming@mac.com</email> за решение + проблемы в случае Mac:</para> + + <para>Это происходит из-за эффекта, который можно назвать <quote>чёрной + дырой</quote> на маршрутизаторе. MacOS и Windows 98 (и, может быть, + другие операционные + системы от Microsoft), посылают пакеты TCP с запрашиваемым размером + сегмента, который слишком велик для того, чтобы быть помещённым в кадр + PPPoE (для сети ethernet размер MTU по умолчанию равен 1500) <emphasis + remap=bf>и</emphasis> с установленным битом <quote>не + фрагментировать</quote> (по умолчанию для TCP), а маршрутизаторы Telco не + посылает пакет ICMP <quote>нужно фрагментировать</quote> обратно на сайт + www, с которым вы работаете. Когда www-сервер посылает вам кадры, которые не помещаются в поток PPPoE, то маршрутизаторы Telco их отбрасывают и странички не загружаются (часть страниц/графики всё же видно, потому что они меньше, чем MSS). Похоже, @@ -8525,23 +8977,40 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU for Windows NT</quote> для получения подробной информации по изменению MTU в Windoze для работы с маршрутизатором FreeBSD/NAT/PPPoE.</para> + <para>К несчастью, в MacOS нет возможности изменить настройки TCP/IP. Однако + имеется коммерческое программное обеспечение, такое, как OTAdvancedTuner + (OT for OpenTransport, the MacOS TCP/IP stack) компании <ulink + URL="http://www.softworks.com/">Sustainable Softworks</ulink>, которое + позволяет пользователям настраивать параметры TCP/IP. Пользователи MacOS + NAT должны выбрать <literal>ip_interface_MTU</literal> из выпадающего меню, + ввести число <literal>1450</literal> вместо <literal>1500</literal> в окне, + затем щёлкнуть на кнопке, следующей за <literal>Save as Auto + Configure</literal>, и щёлкнуть на <literal>Make Active</literal>.</para> + </answer> </qandaentry> -<qandaentry><question> -<para>Ничего не помогает - я уже отчаялся!</para></question><answer> - -<para>Если всё уже перепробовано, и ничего не получается, пошлите нам - максимальное количество информации, ваш конфигурационный файл, - способ запуска <emphasis remap=bf>ppp</emphasis>, соответствующие части файла протокола, и - вывод команды <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink> - (до и после соединения) в адрес списка рассылки - <ulink URL="mailto:freebsd-questions@FreeBSD.org">freebsd-questions@FreeBSD.org</ulink> или в телеконференцию - <ulink URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink>, и может быть, кто-нибудь - укажет вам верное направление.</para> - -</answer></qandaentry></qandaset> +<qandaentry> + <question> + <para>Ничего не помогает - я уже отчаялся!</para> + </question> + + <answer> + + <para>Если всё уже перепробовано, и ничего не получается, пошлите нам + максимальное количество информации, ваш конфигурационный файл, + способ запуска <emphasis remap=bf>ppp</emphasis>, соответствующие части + файла протокола, и вывод команды <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?netstat">netstat -rn</ulink> + (до и после соединения) в адрес списка рассылки + <email>freebsd-questions@FreeBSD.org</email> или в телеконференцию <ulink + URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink>, + и может быть, кто-нибудь укажет вам верное направление.</para> + + </answer> +</qandaentry> +</qandaset> </chapter> @@ -8561,46 +9030,40 @@ id="serial"> порты, с поддержкой которых было откомпилировано. Вы можете повнимательней присмотреться к выдаваемым сообщениям либо выполнить команду</para> - -<para> -<literallayout> dmesg | grep sio - </literallayout> -</para> - - -<para>после загрузки и запуска системы.</para> - + <screen> +&prompt.user; <userinput>dmesg | grep sio</userinput> + </screen> - -<para>Вот пример вывода указанной команды:</para> - -<para> -<literallayout> sio0 at 0x3f8-0x3ff irq 4 on isa - sio0: type 16550A - sio1 at 0x2f8-0x2ff irq 3 on isa - sio1: type 16550A - </literallayout> -</para> - + <para>после загрузки и запуска системы.</para> - -<para>Здесь присутствуют два последовательных порта. Первый использует - irq 4, порт ввода/вывода <literal>0x3f8</literal> и построен на микросхеме UART типа - 16550A. Второй использует тот же тип микросхемы, но использует irq 3 и - адрес порта ввода/вывода <literal>0x2f8</literal>. Внутренние модемы выглядят точно - также, как последовательные порты, за исключением того, что к ним - всегда ``подключен'' модем.</para> - -<para>В ядро <acronym>GENERIC</acronym> встроена поддержка двух - последовательных портов, с irq и адресами портов ввода/вывода, как в - примере выше. Если эти настройки не соответствуют вашим, или если вы - добавили внутренние модемы, или у вас больше последовательных портов, чем - описано в ядре, просто переконфигурируйте ядро. За дополнительной - информацией обратитесь к разделу <link linkend="make-kernel">о построении - ядра</link>.</para> + <para>Вот пример вывода указанной команды:</para> + + <programlisting> +sio0 at 0x3f8-0x3ff irq 4 on isa +sio0: type 16550A +sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: type 16550A + </programlisting> + + <para>Здесь присутствуют два последовательных порта. Первый использует irq + 4, порт ввода/вывода <literal>0x3f8</literal> и построен на микросхеме + UART типа 16550A. Второй использует тот же тип микросхемы, но использует + irq 3 и адрес порта ввода/вывода <literal>0x2f8</literal>. Внутренние + модемы выглядят точно также, как последовательные порты, за исключением + того, что к модем ним <quote>подключен</quote> всегда.</para> + + <para>В ядро <filename>GENERIC</filename> встроена поддержка двух + последовательных портов, с irq и адресами портов ввода/вывода, как в + примере выше. Если эти настройки не соответствуют вашим, или если вы + добавили внутренние модемы, или у вас больше последовательных портов, чем + описано в ядре, просто переконфигурируйте ядро. За дополнительной + информацией обратитесь к разделу <link linkend="make-kernel">о построении + ядра</link>.</para> + + </answer> +</qandaentry> -</answer></qandaentry> <qandaentry><question> <para> Как узнать, какие внутренние модемы были обнаружены FreeBSD? @@ -8612,17 +9075,22 @@ id="serial"> </answer></qandaentry> -<qandaentry><question> -<para> Я только что поставил 2.0.5 и не нашёл устройств <emphasis remap=tt>tty0X</emphasis>! - </para></question><answer> -<para>Не волнуйтесь, они были объединены с устройствами <emphasis remap=tt>ttydX</emphasis>. - Вам придётся подправить конфигурационные файлы, которые вы раньше - использовали.</para> - +<qandaentry> + <question> + <para>Я только что поставил 2.0.5 и не нашёл устройств + <filename>tty0X</filename>!</para> + </question> + + <answer> + + <para>Не волнуйтесь, просто они были объединены с устройствами + <filename>ttydX</filename>. Вам придётся подправить конфигурационные + файлы, которые вы раньше использовали.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Как осуществляется доступ к последовательным портам во FreeBSD? @@ -8636,50 +9104,46 @@ id="serial"> -<para>Вы должны использовать <emphasis remap=tt>ttydX</emphasis> для входящих соединений. При - открытии <filename>/dev/ttydX</filename> в блокирующем режиме, процесс будет - ожидать неактивности соответствующего устройства <emphasis remap=tt>cuaaX</emphasis>, а затем - появления сигнала о наличии несущей. При открытии устройства - <emphasis remap=tt>cuaaX</emphasis>, он проверяет, что последовательный порт не используется - уже устройством <emphasis remap=tt>ttydX</emphasis>. Если порт доступен, он ``похищает'' его - у устройства <emphasis remap=tt>ttydX</emphasis>. Также устройство <emphasis remap=tt>cuaXX</emphasis> не следит за - наличием несущей. С такой схемой работы и модемом, находящимся в - режиме автоответа, вы можете позволить пользователям входить в - систему и в то же время можете осуществлять исходящие звонки, а - система позаботится о возможных конфликтах.</para> - + <para>Вы должны использовать <filename>ttydX</filename> для входящих + соединений. При открытии <filename>/dev/ttydX</filename> в блокирующем + режиме, процесс будет ожидать неактивности соответствующего устройства + <filename>cuaaX</filename>, а затем появления сигнала о наличии несущей. + При открытии устройства <filename>cuaaX</filename>, он проверяет, что + последовательный порт не используется уже устройством + <filename>ttydX</filename>. Если порт доступен, он <quote>похищает</quote> + его у устройства <filename>ttydX</filename>. Также устройство + <filename>cuaXX</filename> не следит за наличием несущей. С такой схемой + работы и модемом, находящимся в режиме автоответа, вы можете позволить + пользователям входить в систему и в то же время можете осуществлять + исходящие звонки, а система позаботится о возможных конфликтах.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Как включить поддержку многопортовых последовательных адаптеров? </para></question><answer> -<para>Повторим ещё раз: информация о конфигурировании ядра содержится в - разделе, посвящённом этому вопросу. Для многопортовых последовательных - адаптеров в файле конфигурации ядра поместите ключевое слово - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> - для каждого порта на адаптере. Но irq и вектор должен быть указан - только у одного порта. Все порты на адаптере должны использовать одно - и то же irq. Используйте последний последовательный порт для указания - irq. Также включите опцию <symbol>COM_MULTIPORT</symbol>.</para> - + <para>Повторим ещё раз: информация о конфигурировании ядра содержится в + разделе, посвящённом этому вопросу. Для многопортовых последовательных + адаптеров в файле конфигурации ядра поместите ключевое слово + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?sio">sio</ulink> + для каждого порта на адаптере. Но irq и вектор должен быть указан + только у одного порта. Все порты на адаптере должны использовать одно + и то же irq. Используйте последний последовательный порт для указания + irq. Также включите опцию <literal>COM_MULTIPORT</literal>.</para> - <para>В следующем примере дано описание 4-портового адаптер AST на irq 7:</para> - -<para> -<literallayout> options "COM_MULTIPORT" - device sio4 at isa? port 0x2a0 tty flags 0x781 - device sio5 at isa? port 0x2a8 tty flags 0x781 - device sio6 at isa? port 0x2b0 tty flags 0x781 - device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr - </literallayout> -</para> - - + <programlisting> +options "COM_MULTIPORT" +device sio4 at isa? port 0x2a0 tty flags 0x781 +device sio5 at isa? port 0x2a8 tty flags 0x781 +device sio6 at isa? port 0x2b0 tty flags 0x781 +device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr + </programlisting> + <para>Флаги указывают, что управляющий порт имеет младший номер устройства 7 (<literal>0x700</literal>), включена диагностика на время обнаружения (<literal>0x080</literal>), и все порты используют одно и то же irq (<literal>0x001</literal>).</para> @@ -8701,63 +9165,56 @@ id="serial"> <para> Можно ли установить режим работы по умолчанию для порта? </para></question><answer> -<para>Вашему приложению может понадобиться открыть устройства - <emphasis remap=tt>ttydX</emphasis> (или <emphasis remap=tt>cuaaX</emphasis>). Когда процесс открывает устройство, - оно имеет набор параметров ввода/вывода. Вы можете посмотреть их - значения командой</para> - -<para> -<literallayout> stty -a -f /dev/ttyd1 - </literallayout> -</para> - + <para>Вашему приложению может понадобиться открыть устройства + <filename>ttydX</filename> (или <filename>cuaaX</filename>). Когда процесс + открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете + посмотреть их значения командой</para> - -<para>Когда вы меняете настройки этого устройства, они действуют - вплоть до закрытия устройства. При повторном открытии оно будут - иметь режимы работы по умолчанию. Чтобы изменить значения режимов - работы по умолчанию, вы можете открыть и изменить настройки в - устройстве ``начального состояния''. Например, чтобы сделать режимом - по умолчанию режим <acronym>CLOCAL</acronym>, 8 бит, и управление потоком - <filename>XON/XOFF</filename> для устройства ttyd5, сделайте следующее:</para> - -<para> -<literallayout> stty -f /dev/ttyid5 clocal cs8 ixon ixoff - </literallayout> -</para> - + <screen> +&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput> + </screen> - -<para>Для выполнения таких действий предназначен скрипт - <filename>/etc/rc.serial</filename>. Теперь при открытии устройства <emphasis remap=tt>ttyd5</emphasis> - приложение будет иметь именно такой режим работы с портом. Оно, - однако. может изменить эти режимы по своему усмотрению.</para> - + <para>Когда вы меняете настройки этого устройства, они действуют + вплоть до закрытия устройства. При повторном открытии оно будут + иметь режимы работы по умолчанию. Чтобы изменить значения режимов + работы по умолчанию, вы можете открыть и изменить настройки в устройстве + <quote>начального состояния</quote>. Например, чтобы сделать режимом + по умолчанию режим <acronym>CLOCAL</acronym>, 8 бит, и управление потоком + <filename>XON/XOFF</filename> для устройства ttyd5, сделайте + следующее:</para> - -<para>Вы можете запретить изменение приложением некоторых режимов работы, - выполнив настройки устройства ``постоянного состояния''. Например, - чтобы сделать скорость работы <emphasis remap=tt>ttyd5</emphasis> постоянно равной 57600 bps, - выполните</para> - -<para> -<literallayout> stty -f /dev/ttyld5 57600 - </literallayout> -</para> - + <screen> +&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput> + </screen> - -<para>Теперь, если приложение откроет <emphasis remap=tt>ttyd5</emphasis> и попытается изменить - скорость работы порта, она всё равно останется равной 57600 bps.</para> - + <para>Для выполнения таких действий предназначен скрипт + <filename>/etc/rc.serial</filename>. Теперь при открытии устройства + <filename>ttyd5</filename> приложение будет иметь именно такой режим + работы с портом. Оно, однако. может изменить эти режимы по своему + усмотрению.</para> + + <para>Вы можете запретить изменение приложением некоторых режимов работы, + выполнив настройки устройства <quote>постоянного состояния</quote>. + Например, чтобы сделать скорость работы <filename>ttyd5</filename> + постоянной и равной 57600 bps, выполните</para> + + <screen> +&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput> + </screen> + + <para>Теперь, если приложение откроет <filename>ttyd5</filename> и попытается + изменить скорость работы порта, она всё равно останется равной 57600 + bps.</para> + + <para>Естественно, вы должны сделать устройства начального и + постоянного состояний доступными на запись только пользователю + <username>root</username>. Скрипт <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink> + при создании файлов устройств этого <emphasis>НЕ</emphasis> делает.</para> + + </answer> +</qandaentry> - -<para>Естественно, вы должны сделать устройства начального и - постоянного состояний доступными на запись только пользователю - <emphasis remap=tt>root</emphasis>. Скрипт <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?MAKEDEV">MAKEDEV</ulink> - при создании файлов устройств этого <emphasis remap=bf>НЕ</emphasis> делает.</para> - -</answer></qandaentry> <qandaentry><question> <para>Как сделать вход через модем?</para></question><answer> @@ -8778,12 +9235,11 @@ id="serial"> <para>Для большинства модемов, поддерживающих набор команд Hayes, следующая последовательность команд выполнит эти настройки и сохранит их в энергонезависимой памяти:</para> - -<para> -<literallayout> AT &C1 &D3 &K3 &Q6 S0=1 &W - </literallayout> -</para> - + + <programlisting> +AT &C1 &D3 &K3 &Q6 S0=1 &W + </programlisting> + <para>Информация о том, как сделать эти настройки без обращения к терминальным программам MS-DOS, содержится в разделе о <link linkend="direct-at">посылке AT-команд</link>.</para> @@ -8791,66 +9247,60 @@ id="serial"> <para>Затем опишите модем в файле <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>. В нём перечислены все порты, с которых операционная система ожидает входа пользователей. Добавьте строку, которая выглядит как эта:</para> - -<para> -<literallayout> ttyd1 "/usr/libexec/getty std.57600" dialup on insecure - </literallayout> -</para> - - -<para>В этой строке указано, что ко второму последовательному порту - (<filename>/dev/ttyd1</filename>) подключен модем на скорости 57600 bps без - контроля по чётности (<emphasis remap=tt>std.57600</emphasis>, что берётся из файла - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?gettytab">/etc/gettytab</ulink>). Тип терминала для этого порта определён - как ``dialup''. Порт включен (``on'') и небезопасен (``insecure''), - что означает, что попытки войти в систему пользователем root с этого - порта будут отвергнуты. Для портов, обслуживающих входящие звонки, - как этот, используйте устройства <emphasis remap=tt>ttydX</emphasis>.</para> - + <programlisting> +ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + </programlisting> - -<para>Использование слова ``dialup'' в качестве имени терминала является - обычной практикой. Многие пользователи включают в свои файлы - .profile или .login скрипты для задания реального типа терминала, если - начальным является тип dialup. В примере порт описан небезопасным. - Чтобы войти администратором на этом порту, вам нужно войти обычным - пользователем, а затем командой ``<ulink URL="http://www.FreeBSD.org/cgi/man.cgi?su">su</ulink>'' стать - пользователем <emphasis remap=tt>root</emphasis>. Если порт имеет атрибут ``secure'', то - пользователь <emphasis remap=tt>root</emphasis> может входить с этого порта непосредственно.</para> - + <para>В этой строке указано, что ко второму последовательному порту + (<filename>/dev/ttyd1</filename>) подключен модем на скорости 57600 bps без + контроля по чётности (<literal>std.57600</literal>, что берётся из файла + <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?gettytab">/etc/gettytab</ulink>). + Тип терминала для этого порта определён как <literal>dialup</literal>. + Порт включен (<literal>on</literal>) и небезопасен + (<literal>insecure</literal>), что означает, что попытки войти в систему + пользователем root с этого порта будут отвергнуты. Для портов, + обслуживающих входящие звонки, как этот, используйте устройства вида + <literal>ttydX</literal>.</para> + + <para>Использование слова <literal>dialup</literal> в качестве имени + терминала является обычной практикой. Многие пользователи включают в свои + файлы .profile или .login скрипты для задания реального типа терминала, если + начальным является тип dialup. В примере порт описан небезопасным. + Чтобы войти пользователем <username>root</username> на этом порту, вам + нужно сначала войти обычным пользователем, а затем командой + <command>su</command> стать пользователем <username>root</username>. Если + порт имеет атрибут <literal>secure</literal>, то пользователь + <username>root</username> может входить с этого порта + непосредственно.</para> - <para>После модифицирования <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>, вам нужно послать сигнал потери связи или <acronym>HUP</acronym> процессу <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?init">init</ulink>:</para> - -<para> -<literallayout> kill -HUP 1 - </literallayout> -</para> - - -<para>Это заставит процесс init снова прочитать файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>. - Процесс init запустит процессы getty для всех включенных портов. - Вы можете проверить, доступны ли входы с конкретного порта, выполнив - команду</para> - -<para> -<literallayout> ps -ax | grep '[t]tyd1' - </literallayout> -</para> - + <screen> +&prompt.root; <userinput>kill -HUP 1</userinput> + </screen> + + <para>Это заставит процесс init снова прочитать файл <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink>. + Процесс init запустит процессы getty для всех портов с характеристикой + <literal>on</literal>. Вы можете проверить, доступны ли входы с + конкретного порта, выполнив команду</para> + + <screen> +&prompt.user; <userinput>ps -ax | grep '[t]tyd1'</userinput> + </screen> + + <para>Вы должны увидеть нечто вроде следующего:</para> + + <programlisting> +747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + </programlisting> + + </answer> +</qandaentry> - -<para>Вы должны увидеть нечто вроде следующего:</para> - -<para> -<literallayout> 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 - </literallayout> -</para> - -</answer></qandaentry> <qandaentry><question> <para>Как подключить терминал к FreeBSD?</para></question><answer> @@ -8859,108 +9309,107 @@ id="serial"> терминала для FreeBSD, соедините их послежовательные порты нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его документации.</para> - - <para>Затем модифицируйте файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?ttys">/etc/ttys</ulink> описанным выше способом. Например, если вы подключаете терминал WYSE-50 к пятому последовательному порту, используйте такую строчку:</para> - -<para> -<literallayout> ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure - </literallayout> -</para> - - -<para>В этом примере описан порт на <filename>/dev/ttyd4</filename>, имеющий - терминал wyse50, подключенный на скорости 34800 bps без контроля по - четности (<emphasis remap=tt>std.38400</emphasis> из <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?gettytab">/etc/gettytab</ulink>) и разрешён непосредственный вход пользователя - <emphasis remap=tt>root</emphasis> (secure).</para> - + <programlisting> +ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure + </programlisting> - -</answer></qandaentry> + <para>В этом примере описан порт на <filename>/dev/ttyd4</filename>, имеющий + терминал wyse50, подключенный на скорости 34800 bps без контроля по + четности (<literal>std.38400</literal> из <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?gettytab">/etc/gettytab</ulink>) и + разрешён непосредственный вход пользователя <username>root</username> + (secure).</para> -<qandaentry><question> -<para>Почему не удаётся запустить <emphasis remap=tt>tip</emphasis> или <emphasis remap=tt>cu</emphasis>?</para></question><answer> + </answer> +</qandaentry> -<para>Скорее всего, в вашей системе запуск программ <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> и <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink> разрешён только - пользователю <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?uucp">uucp</ulink> и членам группы <emphasis remap=tt>dialer</emphasis>. Вы можете использовать - группу <emphasis remap=tt>dialer</emphasis> для управления доступом к вашему модему или - удалённым системам. Достаточно добавить пользоватея в группу dialer.</para> - - -<para>Вы можете разрешить всем пользователям вашей системы запускать - <emphasis remap=tt>tip</emphasis> и <emphasis remap=tt>cu</emphasis>, выполнив команды:</para> - -<para> -<literallayout> # chmod 4511 /usr/bin/cu - # chmod 4511 /usr/bin/tip - </literallayout> -</para> - +<qandaentry> + <question> + <para>Почему не удаётся запустить <command>tip</command> или + <command>cu</command>?</para> + </question> + + <answer> + + <para>Скорее всего, в вашей системе запуск программ <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> и <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink> разрешён только + пользователю <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?uucp">uucp</ulink> и членам группы + <literal>dialer</literal>. Вы можете использовать группу + <literal>dialer</literal> для управления доступом к вашему модему или + удалённым системам. Достаточно добавить пользоватея в группу + dialer.</para> + + <para>Вы можете разрешить всем пользователям вашей системы запускать + <command>tip</command> и <command>cu</command>, выполнив команды:</para> + + <screen> +&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput> +&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput> + </screen> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Мой модем Hayes не поддерживается---что можно сделать? </para></question><answer> -<para>На самом деле страница справочника о программе <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> устарела. - Модемы Hayes поддерживаются системой. Просто добавьте - ``<literal>at=hayes</literal>'' в ваш файл <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>.</para> - + <para>На самом деле страница Справочника о программе <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> устарела. Модемы + Hayes поддерживаются системой. Просто добавьте + <literal>at=hayes</literal> в ваш файл <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>.</para> + + <para>Драйвер модемов Hayes не достаточно умён, чтобы поддерживать + некоторые из новых возможностей современных модемов---сообщения + типа <literal>BUSY</literal>, <literal>NO DIALTONE</literal> или + <literal>CONNECT 115200</literal> будут приводить его в замешательство. Вы + должны выключить вывод таких сообщений при использовании программы <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> (командой + <literal>ATX0&W</literal>).</para> + + <para>Кроме того, значение таймаута по умолчанию для программы + <command>tip</command> равен 60 секундам. Ваш модем должен использовать + меньшее значение, иначе tip будет думать, что у вас проблемы со связью. + Попробуйте <literal>ATS7=45&W</literal>.</para> - -<para>Драйвер модемов Hayes не достаточно умён, чтобы поддерживать - некоторые из новых возможностей современных модемов---сообщения - типа <acronym>BUSY</acronym>, <emphasis remap=tt>NO DIALTONE</emphasis>, или <emphasis remap=tt>CONNECT 115200</emphasis> будут - приводить его в замешательство. Вы должны выключить вывод таких - сообщений при использовании программы <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink> (командой - <emphasis remap=tt>ATX0&W</emphasis>).</para> - - - -<para>Таймаут по умолчанию для программы <emphasis remap=tt>tip</emphasis> равен 60 секундам. - Ваш модем должен использовать меньшее значение, иначе tip будет - думать, что у вас проблемы со связью. Попробуйте <literal>ATS7=45&W</literal>.</para> - - - <para>На самом деле <emphasis remap=tt>tip</emphasis> в том виде, каком поставляется, не поддержимает можемы Hayes полностью. Решением является редактирование файла <filename>tipconf.h</filename> в каталоге <filename>/usr/src/usr.bin/tip/tip</filename>. Чтобы это сделать, вам нужен дистрибутив исходных текстов системы.</para> - - -<para>Замените строку ``<emphasis remap=tt>#define HAYES 0</emphasis>'' на ``<emphasis remap=tt>#define HAYES - 1</emphasis>''. Затем выполните ``<emphasis remap=tt>make</emphasis>'' и ``<emphasis remap=tt>make install</emphasis>''. После - этих действий всё работает замечательно.</para> - + <para>Замените строку <literal>#define HAYES 0</literal> на <literal>#define + HAYES 1</literal>. Затем выполните команды <command>make</command> и + <command>make install</command>. После этих действий всё работает + замечательно.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question id="direct-at"> <para> Как я должен ввести эти AT-команды? </para></question><answer> -<para>Создайте так называемое ``<emphasis remap=tt>прямое</emphasis>'' описание в вашем файле - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. Например, если ваш модем подключен к первому - последовательному порту, <filename>/dev/cuaa0</filename>, сделайте такую строку:</para> - -<para> -<literallayout> cuaa0:dv=/dev/cuaa0:br#19200:pa=none - </literallayout> -</para> - + <para>Создайте так называемое <quote>прямое</quote> описание в вашем файле + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. + Например, если ваш модем подключен к первому последовательному порту, + <filename>/dev/cuaa0</filename>, сделайте такую строку:</para> + + <programlisting> +cuaa0:dv=/dev/cuaa0:br#19200:pa=none + </programlisting> - <para>Укажите максимальную скорость обмена с портом, поддерживаемую модемом в параметре br. Затем выполните команду <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip cuaa0</ulink> и вы подключитесь к модему.</para> @@ -8969,127 +9418,124 @@ id="direct-at"> <para>Если в вашей системе нет устройства <filename>/dev/cuaa0</filename>, сделайте следующее:</para> - -<para> -<literallayout> # cd /dev - # ./MAKEDEV cuaa0 - </literallayout> -</para> - - + <screen> +&prompt.root; <userinput>cd /dev</userinput> +&prompt.root; <userinput>sh MAKEDEV cuaa0</userinput> + </screen> + <para>Или используйте cu, войдя администратором, с такими параметрами:</para> - -<para> -<literallayout> # cu -l``line'' -s``speed'' - </literallayout> -</para> - - -<para>где line - это имя последовательного порта (например, - <filename>/dev/cuaa0</filename>), а speed - скорость работы модема с портом - (например, <emphasis remap=tt>57600</emphasis>). После ввода AT-команд, наберите - <emphasis remap=tt>~.</emphasis> для завершения работы.</para> - + <screen> +&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput> + </screen> - -</answer></qandaentry> + <para>где line - это имя последовательного порта (например, + <filename>/dev/cuaa0</filename>), а speed - скорость работы модема с портом + (например, <literal>57600</literal>). После ввода AT-команд, наберите + <literal>~.</literal> для завершения работы.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Знак <literal><@></literal> для описания характеристики pn + не работает! + </para> + </question> + + <answer> + + <para>Знак <literal><@></literal> в характеристике, описывающей + номер телефона, указывает программе tip обратиться к файлу + <filename>/etc/phones</filename> для поиска телефонного номера. Однако + знак <literal><@></literal> является также и специальным символом в + файлах описания характеристик типа <filename>/etc/remote</filename>. + Экранируйте его символом обратного слэша:</para> + + <programlisting>pn=\@</programlisting> + + </answer> +</qandaentry> -<qandaentry><question> -<para>Знак <emphasis remap=tt><@></emphasis> для описания характеристики pn - не работает!</para></question><answer> - -<para>Знак <emphasis remap=tt><@></emphasis> в характеристике, описывающей - номер телефона, указывает программе tip обратиться к файлу <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?phones(5)">/etc/phones</ulink> - для поиска телефонного номера. Однако знак <emphasis - remap=tt><@></emphasis> является также и специальным символом в файлах - описания характеристик типа <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. - Экранируйте его символом обратного слэша:</para> - -<para> -<literallayout> pn=\@ - </literallayout> -</para> - -</answer></qandaentry> <qandaentry><question> <para>Как набрать телефонный номер из командной строки?</para></question><answer> -<para>Поместите так называемое ``<emphasis remap=tt>общее</emphasis>'' описание в ваш файл - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. Например:</para> - -<para> -<literallayout> tip115200|Dial any phone number at 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: - tip57600|Dial any phone number at 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: - </literallayout> -</para> - + <para>Поместите так называемое <quote>общее</quote> описание в ваш файл + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>. + Например:</para> - -<para>Тогда вы сможете выполнять команды вроде ``<command>tip -115200 - 5551234</command>''. Если предпочитаете программу <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink>, а не <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, используйте общее описание для cu:</para> - -<para> -<literallayout> cu115200|Use cu to dial any number at 115200bps:\ + <programlisting> +tip115200|Dial any phone number at 115200 bps:\ + :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: +tip57600|Dial any phone number at 57600 bps:\ + :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: + </programlisting> + + <para>Тогда вы сможете выполнять команды вроде <command>tip -115200 + 5551234</command>. Если предпочитаете программу <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?cu">cu</ulink>, а не <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, используйте + общее описание для cu:</para> + + <programlisting> +cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - </literallayout> -</para> - + </programlisting> - -<para>и выполняйте команду ``<command>cu 5551234 -s 115200</command>''.</para> - + <para>и выполняйте команду <command>cu 5551234 -s 115200</command>.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Нужно ли при этом каждый раз задавать скорость работы с портом? </para></question><answer> -<para>Создайте описание для <emphasis remap=tt>tip1200</emphasis> или <emphasis remap=tt>cu1200</emphasis>, но не - останавливайтесь на этом и используйте подходящую скорость - при задании характеристики br. <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">Tip</ulink> полагает, - что хорошим значением по умолчанию является 1200 bps, поэтому он - использует описание для ``<emphasis remap=tt>tip1200</emphasis>''. Однако вас никто не - заставляет использовать именно эту скорость.</para> - -</answer></qandaentry> + <para>Создайте описание для <literal>tip1200</literal> или + <literal>cu1200</literal>, но не останавливайтесь на этом и используйте + подходящую скорость при задании характеристики br. <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">Tip</ulink> полагает, + что хорошим значением по умолчанию является 1200 bps, поэтому он + использует описание для <literal>tip1200</literal>. Однако вас никто не + заставляет использовать именно эту скорость.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para> Мне нужно иметь доступ к нескольких хостам через терминальный сервер. </para></question><answer> -<para>Вместо того, чтобы каждый раз ожидать подключения к терминальному - серверу, а затем набирать команду ``<emphasis remap=tt>CONNECT <host></emphasis>'', - используйте характеристику <emphasis remap=tt>cm</emphasis> программы tip. Например, вот такое - описание в файле <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>:</para> - -<para> -<literallayout> pain|pain.deep13.com|Forrester's machine:\ - :cm=CONNECT pain\n:tc=deep13: - muffin|muffin.deep13.com|Frank's machine:\ - :cm=CONNECT muffin\n:tc=deep13: - deep13:Gizmonics Institute terminal server:\ - :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: - </literallayout> -</para> - + <para>Вместо того, чтобы каждый раз ожидать подключения к терминальному + серверу, а затем набирать команду <literal>CONNECT + <replaceable>host</replaceable></literal>, используйте характеристику + <literal>cm</literal> программы tip. Например, вот такое описание в файле + <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink>:</para> - -<para>позволит вам просто набрать ``<emphasis remap=tt>tip pain</emphasis>'' или - ``<emphasis remap=tt>tip muffin</emphasis>'' для подключения к хостам pain или muffin и - ``<emphasis remap=tt>tip deep13</emphasis>'' для доступа к терминальному серверу.</para> - + <programlisting> +pain|pain.deep13.com|Forrester's machine:\ + :cm=CONNECT pain\n:tc=deep13: +muffin|muffin.deep13.com|Frank's machine:\ + :cm=CONNECT muffin\n:tc=deep13: +deep13:Gizmonics Institute terminal server:\ + :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: + </programlisting> + + <para>позволит вам просто набирать <command>tip pain</command> или + <command>tip muffin</command> для подключения к хостам + <hostid>pain</hostid> или <hostid>muffin</hostid> и + <command>tip deep13</command> для доступа к терминальному серверу.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Может ли tip использовать несколько телефонов для одного сайта? @@ -9099,131 +9545,123 @@ id="direct-at"> модемных входов и несколько тысяч студентов, пытающихся ими воспользоваться...</para> -<para>Создайте описание для вашего университета в файле <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink> и - используйте символ <emphasis remap=tt><\@></emphasis> при задании - характеристики <emphasis remap=tt>pn</emphasis>:</para> - -<para> -<literallayout> big-university:\ - :pn=\@:tc=dialout - dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: - </literallayout> -</para> - + <para>Создайте описание для вашего университета в файле <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?remote">/etc/remote</ulink> и + используйте <literal><\@></literal> при задании + характеристики <literal>pn</literal>:</para> + + <programlisting> +big-university:\ + :pn=\@:tc=dialout +dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: + </programlisting> - <para>После этого пропишите номера телефонов университета в файле <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?phones">/etc/phones</ulink>:</para> - -<para> -<literallayout> big-university 5551111 - big-university 5551112 - big-university 5551113 - big-university 5551114 - </literallayout> -</para> - - -<para><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">Tip</ulink> будет пытаться воспользоваться всеми телефонными номерами - в указанном порядке, прежде чем завершить работу. Если вы хотите, - чтобы попытки были продолжены, запустите <emphasis remap=tt>tip</emphasis> в цикле while.</para> - + <programlisting> +big-university 5551111 +big-university 5551112 +big-university 5551113 +big-university 5551114 + </programlisting> + + <para><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">Tip</ulink> будет + пытаться воспользоваться всеми телефонными номерами в указанном порядке, + прежде чем завершить работу. Если вы хотите, чтобы попытки были + продолжены, запустите <command>tip</command> в цикле while.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> Почему нужно нажимать CTRL+P дважды для посылки одного этого символа? </para></question><answer> -<para>По умолчанию CTRL+P является специальным символом ``принудительного - ввода'', используемым для указания программе <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, что - следующий символ является байтом данных. Вы можете назначить - функцию символа принудительного ввода любому другому символу с помощью - команды <emphasis remap=tt>~s</emphasis>, которая предназначена для ``установки значений - переменных''.</para> - + <para>По умолчанию CTRL+P является специальным символом <quote>принудительного + ввода</quote>, используемым для указания программе <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, что + следующий символ является байтом данных. Вы можете назначить + функцию символа принудительного ввода любому другому символу с помощью + команды <literal>~s</literal>, которая предназначена для <quote>установки + значений переменных</quote>.</para> + + <para>Наберите + <literal>~sforce=<replaceable>single-char</replaceable></literal>'' с + начала новой строки. Здесь под <replaceable>single-char</replaceable> + имеется в виду любой одиночный символ. Если вы не зададите + <replaceable>single-char</replaceable>, то символом + принудительного ввода будет нулевой символ, который можно получить, + набрав CTRL+2 или CTRL+SPACE. Подходящим значением для + <replaceable>single-char</replaceable> может быть SHIFT+CTRL+6, который + используется только некоторыми терминальными серверами.</para> + + <para>Вы можете задать любое значение для символа принудительного ввода, + указав его в вашем файле <filename>$HOME/.tiprc</filename>:</para> - -<para>Наберите ``<literal>~sforce=<single-char></literal>'' с начала новой - строки. Здесь <emphasis remap=tt><single-char></emphasis> - любой одиночный символ. - Если вы не зададите <emphasis remap=tt><single-char></emphasis>, то символом - принудительного ввода будет нулевой символ, который можно получить, - набрав CTRL+2 или CTRL+SPACE. Подходящим значением для - <emphasis remap=tt><single-char></emphasis> может быть SHIFT+CTRL+6, который используется - только некоторыми терминальными серверами.</para> - + <programlisting> +force=<replaceable>single-char</replaceable> + </programlisting> - -<para>Вы можете задать любое значение для символа принудительного ввода, - указав его в вашем файле <filename>$HOME/.tiprc</filename>:</para> - -<para> -<literallayout> force=<single-char> - </literallayout> -</para> - + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para>Неожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ?</para></question><answer> -<para>Должно быть, вы нажали CTRL+A, символ перехода в верхний регистр - программы <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, специально предназначенный для тех, у кого не работает - клавиша caps-lock. Используйте команду <emphasis remap=tt>~s</emphasis>, как это было сделано - выше, и установите значение переменной ``raisechar'' во что-нибудь - подходящее. В действительности вы можете установить его равным - символу принудительного ввода, если не собираетесь пользоваться этими - особенностями.</para> - + <para>Должно быть, вы нажали CTRL+A, символ <quote>перехода в верхний + регистр</quote> + программы <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?tip">tip</ulink>, + специально предназначенный для тех, у кого не работает клавиша caps-lock. + Используйте команду <literal>~s</literal>, как это было сделано + выше, и установите значение переменной <quote>raisechar</quote> во + что-нибудь подходящее. В действительности вы можете установить его равным + символу принудительного ввода, если не собираетесь пользоваться этими + особенностями.</para> - -<para>Следующий пример файла .tiprc должен понравиться пользователям - редактора Emacs, которым часто приходится нажимать CTRL+2 и CTRL+A:</para> - -<para> -<literallayout> force=^^ - raisechar=^^ - </literallayout> -</para> - + <para>Следующий пример файла .tiprc должен понравиться пользователям + редактора Emacs, которым часто приходится нажимать CTRL+2 и CTRL+A:</para> - -<para>Здесь ^^ это SHIFT+CTRL+6.</para> - + <programlisting> +force=^^ +raisechar=^^ + </programlisting> - -</answer></qandaentry> + <para>Здесь ^^ обозначает SHIFT+CTRL+6.</para> -<qandaentry><question> -<para> Как можно передавать файлы с помощью программы <emphasis remap=tt>tip</emphasis>? - </para></question><answer> + </answer> +</qandaentry> -<para>Если вы соединились с другой UNIX-системой, вы можете посылать и - принимать файлы командами <emphasis remap=tt>~p</emphasis> (передача) и <emphasis remap=tt>~t</emphasis> (приём). Эти - команды запускают программы <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?cat">cat</ulink> и <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?echo">echo</ulink> на - удалённой системе, чтобы принять и послать файлы. Синтаксис вызова - имеет такой вид:</para> - -<para> -<literallayout> ~p <local-file> [<remote-file>] - ~t <remote-file> [<local-file>] - </literallayout> -</para> - - -<para>Контроль ошибок передачи при этом не осуществляется, так что вам - может понадобиться другой протокол передачи, например, zmodem.</para> - +<qandaentry> + <question> + <para>Как можно передавать файлы с помощью программы + <command>tip</command>?</para> + </question><answer> + + <para>Если вы соединились с другой UNIX-системой, вы можете посылать и + принимать файлы командами <literal>~p</literal> (передача) и + <literal>~t</literal> (приём). Эти + команды запускают программы <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?cat">cat</ulink> и <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?echo">echo</ulink> на + удалённой системе, чтобы принять и послать файлы. Синтаксис вызова + имеет такой вид:</para> + + <programlisting> +~p <local-file> [<remote-file>] +~t <remote-file> [<local-file>] + </programlisting> + + <para>Контроль ошибок передачи при этом не осуществляется, так что вам + может понадобиться другой протокол передачи, например, zmodem.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para>Как использовать zmodem вместе с <emphasis remap=tt>tip</emphasis>?</para></question><answer> @@ -9232,24 +9670,22 @@ id="direct-at"> zmodem из коллекции портов (там есть парочка в категории comms, <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^lrzsz">lrzsz</ulink> и <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^rzsz">rzsz</ulink>).</para> - - -<para>Для приёма файлов запустите программу передачи на противоположной - стороне. Затем нажмите enter и наберите ``<emphasis remap=tt>~C rz</emphasis>'' (или - ``<emphasis remap=tt>~C lrz</emphasis>'', если у вас установлеи lrzsz) для начала приёма их на - локальную машину.</para> - + <para>Для приёма файлов запустите программу передачи на противоположной + стороне. Затем нажмите enter и наберите <literal>~C rz</literal> (или + <literal>~C lrz</literal>, если у вас установлен + <application>lrzsz</application>) для начала приёма их на + локальную машину.</para> - -<para>Для посылки файлов, запустите программу приёма на противоположной - стороне. Затем нажмите enter и наберите ``<emphasis remap=tt>~C sz <files></emphasis>'' - (или ``<emphasis remap=tt>~C lsz <files></emphasis>'') для посылки их на удалённую - систему.</para> - + <para>Для посылки файлов, запустите программу приёма на противоположной + стороне. Затем нажмите enter и наберите + <literal>~C sz <replaceable>files</replaceable></literal> (или + <literal>~C lsz <replaceable>files</replaceable></literal>) для посылки + файлов на удалённую систему.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para> FreeBSD не распознаёт последовательные порты на моей машине, хотя @@ -9292,98 +9728,131 @@ id="misc"> </answer></qandaentry> -<qandaentry><question> -<para> Почему используются (и что из себя представляют) форматы выполнимых - файлов a.aut и ELF? - </para></question><answer> -<para>Для понимания того, почему FreeBSD использует формат <filename>a.out</filename>, - вы должны сначала получить представление о трёх "основных" форматах - выполнимых файлов для UNIX:</para> - -<para> -<itemizedlist> +<qandaentry> + <question> + <para>Почему утилита &man.top.1; показывает очень маленький объём + свободной памяти, даже когда запущено всего лишь несколько + приложений?</para> + </question> -<listitem> -<para><ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink> - </para> + <answer> -<para>Это самый старый, `классический' формат объектных файлов для UNIX. В - нём используется короткий и компактный заголовок с магическим числом в - начале, которое часто используется для определения формата (за подробным - описанием обратитесь к странице Справочника о <ulink - URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out(5)</ulink>). - Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу - символов и таблицу строк.</para> + <para>Просто дело в том, что под свободной памятью подразумевается никак не + используемая память. Вся память, которая вашей программе явно не + выделялась, используется ядром FreeBSD для дискового кэша. + Значения, показываемые утилитой &man.top.1;, помеченные как + <literal>Inact</literal>, <literal>Cache</literal> и <literal>Buf</literal> + - это всё кэшированные данные разных степеней устаревания. То, что данные + находятся в кэше, означает, что система не будет обращаться к медленному + диску снова за теми данными, обращение к которым было недавно, повышая таким + образом общую производительность. В общем случае маленькие значения в + пункте <literal>Free</literal>, показываемые утилитой &man.top.1; для + свободной памяти - это хорошо, если, конечно они не + <emphasis>очень</emphasis> маленькие.</para> -</listitem> + </answer> +</qandaentry> -<listitem> -<para><acronym>COFF</acronym> - </para> -<para>Это формат объектных файлов SVR3. Дополнительно в заголовок - включена таблица секций, так что вы можете иметь их больше, чем только - .text, .data и .bss.</para> -</listitem> +<qandaentry> + <question> + <para>Почему используются (и что из себя представляют) форматы выполнимых + файлов a.aut и ELF?</para> + </question> -<listitem> -<para><acronym>ELF</acronym> - </para> + <answer> -<para>Преемник <acronym>COFF</acronym>, в который добавлены возможности иметь много - секций и 32- или 64-разрядные значения. Один большой минус: - <acronym>ELF</acronym> был спроектирован также в предположении, что для каждой - аппаратной платформы будет существовать только один ABI. Это - предположение достаточно некорректно, и даже в мире коммерческих - реализаций SYSV (в котором имеется по крайней мере три ABI: SVR4, - Solaris и SCO) это не так.</para> - -<para> </para> - -<para>FreeBSD каким-то образом пытается решить эту проблему, предоставляя - утилиту для <emphasis>пометки</emphasis> конкретного выполнимого файла - <acronym>ELF</acronym> с информацией о ABI, с которым он совместим. - Обратитесь к странице Справочника об утилите - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?brandelf">brandelf</ulink> - за подробной информацией.</para> -</listitem> + <para>Для понимания того, почему FreeBSD использует формат + <filename>ELF</filename>, вы должны сначала получить представление о трёх + <quote>доминирующих</quote> форматах выполнимых файлов для UNIX:</para> -</itemizedlist> -</para> - -<para>FreeBSD выросла на "классических" традициях и традиционно использовала - формат - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink>, - технологию, опробованную и проверенную во многих - вариациях BSD. Хотя давно уже можно было компилировать и выполнять - родные выполнимые файлы (и ядро) в формате <acronym>ELF</acronym>, FreeBSD с самого - начала сопротивлялась переходу на <acronym>ELF</acronym> как на формат, используемый - по умолчанию. Почему? Когда мир Linux делал болезненный переход к - <acronym>ELF</acronym>, причин отвергнуть формат <filename>a.out</filename> было не так уж и много, - разве что их негибкий механизм работы с совместно используемыми - библиотеками, который был основан на таблице переходов, что делало - построение таких библиотек очень затруднительным для разработчиков. - Так как средства работы с <acronym>ELF</acronym> предоставляли решение этой проблемы - и это было в общем-то "шагом вперёд" в любом случае, цена перехода была - признана стоящей того и переход был сделан.</para> - - - -<para>В случае FreeBSD, наш механизм работы с совместно используемыми - библиотеками очень похож на механизм, применяемый в <emphasis remap=tt>SunOS</emphasis>, - поэтому его очень легко использовать. Однако, начиная с 3.0, FreeBSD - официально поддерживает <acronym>ELF</acronym> как формат, используемый по умолчанию. - И, хотя формат <filename>a.out</filename> поддерживается в полной мере, разработчики - из проекта GNU, являющиеся авторами компилятора, который мы используем, - больше не поддерживают формат <filename>a.out</filename>. Это заставило нас поддерживать - различные версии компилятора и компоновщика, и не позволило - воспользоваться всеми возможностями последних разработок GNU. - Потребность в наличии реализации ISO-C++, в основном конструкторов и - деструкторов, также привела к поддержке <acronym>ELF</acronym> в будущих релизах - FreeBSD.</para> + <para> + <note> + <para>До FreeBSD версии 3.x, во FreeBSD использовался формат + a.out.</para> + </note> + </para> + + <para> + <itemizedlist> + <listitem> + <para><ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink></para> + + <para>Это самый старый, <quote>классический</quote> формат объектных + файлов для UNIX. В нём используется короткий и компактный заголовок + с магическим числом в начале, которое часто используется для + определения формата (за подробным описанием обратитесь к странице + Справочника о <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out(5)</ulink>). + Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу + символов и таблицу строк.</para> + </listitem> + + <listitem> + <para><acronym>COFF</acronym></para> + + <para>Это формат объектных файлов SVR3. Дополнительно в заголовок + включена таблица секций, так что вы можете иметь их больше, чем только + .text, .data и .bss.</para> + </listitem> + + <listitem> + <para><acronym>ELF</acronym></para> + + <para>Преемник <acronym>COFF</acronym>, в который добавлены возможности + иметь много секций и 32- или 64-разрядные значения. Один большой + минус: <acronym>ELF</acronym> был спроектирован также в + предположении, что для каждой аппаратной платформы будет существовать + только один ABI. Это предположение достаточно некорректно, и даже в + мире коммерческих реализаций SYSV (в котором имеется по крайней мере + три ABI: SVR4, Solaris и SCO) это не так.</para> + + <para>FreeBSD каким-то образом пытается решить эту проблему, + предоставляя утилиту для <emphasis>пометки</emphasis> конкретного + выполнимого файла <acronym>ELF</acronym> с информацией о ABI, с + которым он совместим. Обратитесь к странице Справочника об утилите + <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?brandelf">brandelf</ulink> + за подробной информацией.</para> + </listitem> + </itemizedlist> + </para> -</answer></qandaentry> + <para>FreeBSD выросла на <quote>классических</quote> традициях и традиционно + использовала формат <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?a.out(5)">a.out</ulink>, + технологию, опробованную и проверенную во многих вариациях BSD. Хотя давно + уже можно было компилировать и выполнять родные выполнимые файлы (и ядро) в + формате <acronym>ELF</acronym>, FreeBSD с самого начала сопротивлялась + переходу на <acronym>ELF</acronym> как на формат, используемый по + умолчанию. Почему? Когда мир Linux делал болезненный переход к + <acronym>ELF</acronym>, причин отвергнуть формат <filename>a.out</filename> + было не так уж и много, разве что их негибкий механизм работы с совместно + используемыми библиотеками, который был основан на таблице переходов, что + делало построение таких библиотек очень затруднительным для разработчиков. + Так как средства работы с <acronym>ELF</acronym> предоставляли решение этой + проблемы и это было в общем-то <quote>шагом вперёд</quote> в любом случае, + цена перехода была признана стоящей того и переход был сделан.</para> + + <para>В случае FreeBSD, наш механизм работы с совместно используемыми + библиотеками очень похож на механизм, применяемый в <emphasis + remap=tt>SunOS</emphasis>, поэтому его очень легко использовать. Однако, + начиная с 3.0, FreeBSD официально поддерживает <acronym>ELF</acronym> как + формат, используемый по умолчанию. И, хотя формат + <filename>a.out</filename> поддерживается в полной мере, разработчики из + проекта GNU, являющиеся авторами компилятора, который мы используем, больше + не поддерживают формат <filename>a.out</filename>. Это заставило нас + поддерживать различные версии компилятора и компоновщика, и не позволило + воспользоваться всеми возможностями последних разработок GNU. + Потребность в наличии реализации ISO-C++, в основном конструкторов и + деструкторов, также привела к поддержке <acronym>ELF</acronym> в будущих + релизах FreeBSD.</para> + + </answer> +</qandaentry> + <qandaentry><question> <para>Да, но почему так много разных форматов?</para></question><answer> @@ -9489,36 +9958,37 @@ id="misc"> <para>Однако права на файл <filename>foo</filename> не изменятся.</para> - <para>Чтобы это работало, используйте опции ``<option>-H</option>'' или - ``<option>-L</option>'' вместе с опцией ``<option>-R</option>''. + <para>Чтобы это работало, используйте опции <option>-H</option> или + <option>-L</option> вместе с опцией <option>-R</option>. Обратитесь к страницам Справочника по команде <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> и по <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?symlink">symlink</ulink>.</para> - <para><emphasis remap=bf>ПРЕДУПРЕЖДЕНИЕ</emphasis> опция - ``<option>-R</option>'' выполняет команду <emphasis - remap=tt>chmod</emphasis> <emphasis remap=bf>РЕКУРСИВНО</emphasis>. Будьте - осторожны, задавая каталоги или символические ссылки на каталоги в - параметрах <emphasis remap=tt>chmod</emphasis>. Если вы хотите изменить - права на каталог, на который указывает символическая ссылка, используйте - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> - без опций и следуйте символической ссылке с помощью лидирующего слэша - (``<filename>/</filename>''). Например, если ``<emphasis - remap=tt>foo</emphasis>'' является символической ссылкой на каталог - ``<emphasis remap=tt>bar</emphasis>'', а вы хотите изменить права на - ``<emphasis remap=tt>foo</emphasis>'' (на самом деле ``<emphasis - remap=tt>bar</emphasis>''), вы должны выполнить команду - типа следующей:</para> + <para> + <warning> + <para>Опция <option>-R</option> выполняет команду <emphasis + remap=tt>chmod</emphasis> <acronym>РЕКУРСИВНО</acronym>. Будьте + осторожны, задавая каталоги или символические ссылки на каталоги в + параметрах <emphasis remap=tt>chmod</emphasis>. Если вы хотите изменить + права на каталог, на который указывает символическая ссылка, используйте + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> + без опций и следуйте символической ссылке с помощью лидирующего слэша + (<filename>/</filename>). Например, если <filename>foo</filename> + является символической ссылкой на каталог <filename>bar</filename>, а + вы хотите изменить права на <filename>foo</filename> (на самом деле + <filename>bar</filename>), вы должны выполнить команду + типа следующей:</para> - <para> - <literallayout> chmod 555 foo/ - </literallayout> - </para> + <screen> +&prompt.user; <userinput>chmod 555 foo/</userinput> + </screen> - <para>Если задан лидирующий слэш, - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> будет - следовать символической ссылке, ``<emphasis remap=tt>foo</emphasis>'', - меняя права на каталог ``<emphasis remap=tt>bar</emphasis>''.</para> + <para>Если задан лидирующий слэш, <ulink + URL="http://www.FreeBSD.org/cgi/man.cgi?chmod">chmod</ulink> будет + следовать символической ссылке, <filename>foo</filename>, меняя права + на каталог <filename>bar</filename>.</para> + </warning> + </para> </answer> </qandaentry> @@ -9529,18 +9999,17 @@ id="misc"> 8 символами? </para></question><answer> -<para>Наверное, вы думаете, что достаточно будет изменить значение - константы <symbol>UT_NAMESIZE</symbol>, перекомпилировать полностью систему - и всё будет работать. К несчастью, часть приложений и утилит (включая - системные) имеют жёстко заданные малые значения (не всегда "8" или - "9", но и такие странные, как "15" или "20") в структурах и буферах. - Это приведёт не только к порче файлов журналов (из-за записи полей - переменного размера там, где ожидается поле фиксированного размера), но - может повлиять на работу клиентов системы Sun NIS и может в принципе - вызвать другие проблемы при взаимодействии с другими системами UNIX.</para> - + <para>Наверное, вы думаете, что достаточно будет изменить значение + константы <literal>UT_NAMESIZE</literal>, перекомпилировать полностью + систему и всё будет работать. К несчастью, часть приложений и утилит + (включая системные) имеют жёстко заданные малые значения (не всегда + <literal>8</literal> или <literal>9</literal>, но и такие странные, как + <literal>15</literal> или <literal>20</literal>) в структурах и буферах. + Это приведёт не только к порче файлов журналов (из-за записи полей + переменного размера там, где ожидается поле фиксированного размера), но + может повлиять на работу клиентов системы Sun NIS и может в принципе + вызвать другие проблемы при взаимодействии с другими системами UNIX.</para> - <para>Во FreeBSD 3.0 и старше, максимальная длина имени была увеличена до 16 символов и все утилиты с предопределённым размером имени были найдены и исправлены. Так как это касается столь многих областей в @@ -9580,9 +10049,12 @@ id="misc"> </answer></qandaentry> -<qandaentry><question> -<para> Что такое ``<emphasis remap=tt>sup</emphasis>'' и как это можно использовать? - </para></question><answer> +<qandaentry> + <question> + <para>Что такое <command>sup</command> и как это можно использовать?</para> + </question> + + <answer> <para>Сокращение <ulink URL="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</ulink> означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для @@ -9601,236 +10073,357 @@ id="misc"> <para>В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания FreeBSD. Наверное, он сильно греется.</para> - - -<para>О. Нет, но мы сделали различные вкусовые тесты у добровольцев с - завязанными глазами, которые до этого приняли по 250 микрограмм - LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, - тогда как вкус Linux расценивался как фиолетовый туман. Насколько - я помню, ни одна из групп не отметила значительной разницы в - температуре. Вы хотели опубликовать полные результаты этого опроса, - когда обнаружиди, что слишком много добровольцев покинули помещение - во время тестов, что несколько смазало результаты. Я думаю, что - большинство из них работают сейчас в Apple над их новым GUI - ``чеши и нюхай''. Это старый добрый бизнес! </para> - + <para>О. Нет, но мы сделали различные вкусовые тесты у добровольцев с + завязанными глазами, которые до этого приняли по 250 микрограмм + LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, + тогда как вкус Linux расценивался как фиолетовый туман. Насколько + я помню, ни одна из групп не отметила значительной разницы в + температуре. Вы хотели опубликовать полные результаты этого опроса, + когда обнаружиди, что слишком много добровольцев покинули помещение + во время тестов, что несколько смазало результаты. Я думаю, что + большинство из них работают сейчас в Apple над их новым GUI + <quote>чеши и нюхай</quote>. Это старый добрый бизнес!</para> + + <para>Серьёзно, и FreeBSD, и Linux используют инструкцию + <acronym>HLT</acronym> (halt), когда система простаивает, что уменьшает + потребление энергии и в свою очередь, выделение тепла. Вдобавок, если у + вас настроен APM (комплексное управление энергопотреблением), то FreeBSD + может переводить процессор в режим пониженного энергопотребления.</para> - -<para>Серьёзно, и FreeBSD, и Linux используют инструкцию ``<acronym>HLT</acronym>'' - (halt), когда система простаивает, что уменьшает потребление энергии - и в свою очередь, выделение тепла. Вдобавок, если у вас настроен - APM (автоматическое управление энергопотреблением), то FreeBSD - может переводить процессор в режим пониженного энергопотребления.</para> - + </answer> +</qandaentry> - -</answer></qandaentry> -<qandaentry><question> -<para>Кто там скребётся в микросхемах памяти??</para></question><answer> +<qandaentry> + <question> + <para>Кто там скребётся в микросхемах памяти??</para> + </question> -<para>В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что - вызывает поскрипывание микросхем памяти? При компиляции (и в короткий - промежуток времени после обнаружения дисковода при старте системы) - от микросхем памяти исходит странный царапающий звук.</para> - + <answer> - -<para>О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в - документации по BSD, но не многие знают, что это настоящие нематериальные - существа, которые теперь завладели вашим компьютером. Царапающий звук, - издаваемый микросхемами памяти - это на самом деле высокочастотное - перешёптывание между даемонами, когда они решают, как лучше справиться - с различными задачами по администрированию системы.</para> - + <para>В. Делает ли FreeBSD что-нибудь <quote>эдакое</quote> при компиляции + ядра, что вызывает поскрипывание микросхем памяти? При компиляции (и в + короткий промежуток времени после обнаружения дисковода при старте системы) + от микросхем памяти исходит странный царапающий звук.</para> + + <para>О. Да! Вы, наверное, видели частое упоминание <quote>даемонов</quote> + в документации по BSD, но не многие знают, что это настоящие нематериальные + существа, которые теперь завладели вашим компьютером. Царапающий звук, + издаваемый микросхемами памяти - это на самом деле высокочастотное + перешёптывание между даемонами, когда они решают, как лучше справиться + с различными задачами по администрированию системы.</para> + + <para>Если шум достиг ваших ушей, команда DOS <command>fdisk /mbr</command> + их спугнёт, но не удивляйтесь, если они отреагируют соответствующим + образом и попытаются вас остановить. Фактически, если во время + выполнения этой команды вы услышите сатанинский голос Билла Гейтса из + встроенного динамика, бегите и даже не оглядывайтесь! Избавленные + от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто + могут захватить полный контроль не только над вашей машиной и + навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я + думаю, что предпочёл бы царапающий звук.</para> - -<para>Если шум достиг ваших ушей. команда DOS ``<command>fdisk /mbr</command>'' - их спугнёт, но не удивляйтесь, если они отреагируют соответствующим - образом и попытаются вас остановить. Фактически, если во время - выполнения этой команды вы услышите сатанинский голос Билла Гейтса из - встроенного динамика, бегите и даже не оглядывайтесь! Избавленные - от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто - могут захватить полный контроль не только над вашей машиной и - навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я - думаю, что предпочту царапающий звук.</para> - + </answer> +</qandaentry> - -</answer></qandaentry> -<qandaentry><question> -<para>Что такое 'MFC'?</para></question><answer> +<qandaentry> + <question> + <para>Что такое <acronym>MFC</acronym>?</para> + </question> -<para>MFC это сокращение от 'Merged From -CURRENT.' Оно используется в - протоколах изменений CVS для отметки того, что изменение было - перенесено в ветвь STABLE из CURRENT.</para> - + <answer> - -</answer></qandaentry> + <para>MFC - это сокращение от <quote>Merged From -CURRENT</quote>. Оно + используется в протоколах изменений CVS для отметки того, что изменение + было перенесено в ветвь STABLE из CURRENT.</para> -<qandaentry><question> -<para>Что означает сокращение 'BSD'?</para></question><answer> + </answer> +</qandaentry> -<para>Это сокращение значит что-то на секретном языке, который могут знать - только посвящённые. Это нельзя перевести один к одному, однако - достаточно сказать, что перевод с BSD - это что-то между 'Команда - Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем - Linux.' :-)</para> - -<para>Если серьёзно, то BSD является сокращением от 'Berkeley Software - Distribution', названия, которое было выбрано Berkeley CSRG (Computer - Systems Research Group) для их дистрибутива Unix.</para> - -</answer></qandaentry> -<qandaentry><question> -<para>Сколько требуется разработчиков FreeBSD, чтобы сменить лампочку? - </para></question><answer> +<qandaentry> + <question> + <para>Что означает сокращение <acronym>BSD</acronym>?</para> + </question> -<para>Необходимо иметь ровно одну тысячу сто семьдесят два разработчика:</para> - -<para>Двадцать три сообщат в -CURRENT о том, что не горит свет;</para> - -<para>Четыре начнут утверждать, что это проблема конфигурации и такие - сообщения нужно посылать в -questions;</para> - -<para>Трое оформят PR по этому поводу, причём одно их них будет направлено - в doc и будет содержать только строчку "здесь темно";</para> - -<para>Один закоммитит неоттестированную лампочку, что сломает построение - системы, а затем через пять минут вернёт все назад;</para> - -<para>Восемь поругаются с авторами PR по поводу включения патчей в PR;</para> - -<para>Пять сообщат о том, что не проходит компиляция системы;</para> - -<para>Тридцать один человек ответит, что у них всё работает и наверное, те - выполняли cvsup в неподходящее время;</para> - -<para>Один пошлёт патч для новой лампочки в -hackers;</para> - -<para>Один пожалуется, что у него имелись патчики ещё три года назад, - но когда он послал их в -CURRENT, они были проигнорированы и он имел - неудачный опыт работы с системой PR; кроме того предлагаемая лампочка - не имеет отражателя.</para> - -<para>Тридцать семь начнут кричать, что лампочки не относятся к базовой - системе, что коммиттеры не имеют права делать такие вещи без опроса - обшественности и ЧТО ВООБЩЕ -CORE ДЕЛАЕТ ПО ЭТОМУ ПОВОДУ?</para> - -<para>Две сотни напишут о цвете велосипедных фар;</para> - -<para>Трое скажут, что этот патч не соответствует style(9);</para> - -<para>Семнадцать возразят, что предлагаемая новая лампа подпадает под - лицензию GPL;</para> - -<para>Пятьсот восемьдесят шесть раздуют флэйм по поводу сравнения - лицензий GPL, BSD, MIT, NPL и личных мнений о неизвестных основателей - FSF;</para> - -<para>Семеро пошлют различные части этих обсуждений в -chat и - -advocacy;</para> - -<para>Один закоммитит предлагаемую лампу, хотя она светит хуже, чем - старая;</para> - -<para>Двое откатят эти изменения с ужасной руганью в журнале коммита - о том, что лучше FreeBSD будет сидеть в темноте, чем с тусклой лампой.</para> - -<para>Сорок шесть громко воспротивятся этому изменению и потрубуют - объяснений от -core;</para> - -<para>Одиннадцать попросят уменьшить размер лампочки, чтобы она подошла - к их Тамагочи на случай, если мы когда-нибудь соберёмся переносить - FreeBSD на эту платформу;</para> - -<para>Семьдесят три заявят о SNR в -hackers и -chat и в знак протеста - отпишутся;</para> - -<para>Тринадцать пошлют письма "unsubscribe", "How do I unsubscribe?", - и "Please remove me from the list" с обычной подписью;</para> - -<para>Один закоммитит работающую лампочку в то время, как все будут - слишком заняты руганью, чтобы это заметить;</para> - -<para>Тридцать один человек напишет, что новая лампочка будет светить на - 0.364% ярче, если её откомпилировать с помощью TenDRA (хотя при этом - она приобретёт форму куба) и что FreeBSD должна перейти на компилятор - TenDRA, а не на EGCS;</para> - -<para>Один заметит, что у лампочки отсутствует цоколь;</para> - -<para>Девять (включая авторов PR) спросят "что такое MFC?";</para> - -<para>Спустя две недели после смены лампочки пятьдесят семь человек сообщат - о том, что света всё равно нет.</para> - -<para><emphasis><ulink URL="mailto:nik@FreeBSD.org">Ник Клэйтон</ulink> (Nik - Clayton) добавил:</emphasis></para> + <answer> + + <para>Это сокращение значит что-то на секретном языке, который могут знать + только посвящённые. Это нельзя перевести один к одному, однако + достаточно сказать, что перевод с BSD - это что-то между <quote>Команда + Formula-1</quote>, <quote>Пингвины - это вкусные плюшки</quote> и <quote>Мы + прикольнее, чем Linux</quote>. :-)</para> + + <para>Если серьёзно, то BSD является сокращением от <quote>Berkeley Software + Distribution</quote>, названия, которое было выбрано Berkeley + <acronym>CSRG</acronym> (Computer Systems Research Group) для их + дистрибутива Unix.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Что такое repo-copy?</para> + </question> + + <answer> + + <para>repo-copy (что является краткой формой от <quote>repository + copy</quote>) обозначает прямое копирование файлов внутри репозитория + CVS.</para> + + <para>Без repo-copy, если есть необходимость скопировать или переместить + файл в другое место репозитория, то коммиттер должен выполнять команды + <command>cvs add</command> для помещения файла на новое место, а затем + <command>cvs rm</command>, чтобы удалить старый файл, если старая копия + должна быть удалена.</para> + + <para>Минусом этого метода является то, что история (то есть записи в + журналах CVS) работы с файлом не копируются в новое место. Так как + Проект FreeBSD осознаёт важность сохранения истории, вместо описанного + процесса зачастую используется копирование в репозитории. Это действие + заключается в том, что один из хозяев репозитория копирует файлы + непосредственно внутри репозитория, не пользуясь командами + <command>cvs</command>.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Почему я должен беспокоиться о цвете фар велосипеда?</para> + </question> + + <answer> + + <para>На самом деле краткий, очень краткий ответ на этот вопрос заключается в + том, что вы этого делать не должны. Если давать более подробный ответ, + то ваше умение делать фары не должно означать, что вы должны препятствовать + другим делать их просто потому, что вам не нравится цвет, в который + они собираются их окрашивать. Эта метафора означает, что вам не нужно + обсуждать каждую мелочь просто потому, что вы знаете о ней + достаточно много. Некоторые люди отмечают, что объём шума, генерируемый + при появлении некоторого изменения, находится в обратной зависимости от + сложности самого изменения.</para> + + <para>Более пространный и полный ответ заключается в том, что после очень + долгого обсуждения того, должна ли утилита &man.sleep.1; обрабатывать + дробное число, заданное в качестве второго аргумента, &a.phk; + опубликовал большое сообщение, озаглавленное <quote><ulink + url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers"> + Велосипедная фара (любого цвета) на зелёной траве...</ulink></quote>. + Соответствующие части этого сообщения цитируются ниже.</para> + + <blockquote> + <attribution>&a.phk; on freebsd-hackers, + October 2, 1999</attribution> + + <para><quote>Что там насчёт этой велосипедной фары?</quote> Кто-то + из вас меня спрашивал.</para> + + <para>Это долгая история, или же это старая история, но на самом деле + она коротка. В начале 1960-х годов Паркинсон (C. Northcote Parkinson) + написал книгу <quote>Закон Паркинсона</quote>, которая содержит много + интересных взглядов на процесс управления.</para> + + <para>[немного выдержек из краткого содержания книги]</para> + + <para>В конкретном примере с велосипедной фарой другим важным объектом + является атомная электростанция. Я полагаю, что это иллюстрирует + древность книги.</para> + + <para>Паркинсон показал, что вы можете прийти на совещание руководителей + и получить добро на строительство многомиллионной или даже + многомиллиардной атомной электростанции, но если вы хотите получить + финансирование производства велосипедных фар, то погрязнете в + бесконечных обсуждениях.</para> + + <para>Паркинсон объясняет это тем, что атомная станция настолько большой, + дорогой и сложный объект, что люди не могут его осознать и вместо того, + чтобы попробовать это сделать, они полагаются на то, что кто-то уже + проверил все мелочи до того, как всё зашло так далеко. В своей книге + Ричард П. Фейнманн (Richard P. Feynmann) даёт несколько интересных и + очень поучительных примеров, связанных с Лос Аламос.</para> + + <para>Велосипедная фара - это противоположный случай. Любой может + сделать фару за один уикэнд, и у него ещё останется время посмотреть + футбол по телевизору. Так что не важно, насколько хорошо вы готовились + к обсуждению, насколько убедительны будут ваши аргументы, кто-нибудь + воспользуется шансом показать, что он не зря ест свой хлеб, что он + обращает внимание, что он <emphasis>здесь</emphasis>.</para> + + <para>В Дании это называется <quote>оставить отпечаток своего + пальца</quote>. Это касается личной гордости и престижа, это похоже + на возможность указать куда-то и сказать: <quote> Вон там! Это сделал + <emphasis>я</emphasis>.</quote> Это сильно выражено в политиках, но + присутствует во многих людях, которые получают возможность сделать + это. Просто вспомните об отпечатках ног во влажном цементе.</para> + </blockquote> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>Сколько требуется разработчиков FreeBSD, чтобы сменить + электрическую лампочку?</para> + </question> + + <answer> + + <para>Необходимо иметь ровно одну тысячу сто семьдесят два + разработчика:</para> + + <para>Двадцать три сообщат в -CURRENT о том, что не горит свет;</para> + + <para>Четыре начнут утверждать, что это проблема конфигурации и такие + сообщения нужно посылать в -questions;</para> + + <para>Трое оформят PR по этому поводу, причём одно их них будет направлено + в doc и будет содержать только строчку "здесь темно";</para> + + <para>Один закоммитит неоттестированную лампочку, что сломает построение + системы, а затем через пять минут вернёт все назад;</para> + + <para>Восемь поругаются с авторами PR по поводу включения патчей в PR;</para> + + <para>Пять сообщат о том, что не проходит компиляция системы;</para> -<para><emphasis>Я сильно смеялся над всем этим.</emphasis></para> + <para>Тридцать один человек ответит, что у них всё работает и наверное, те + выполняли cvsup в неподходящее время;</para> + + <para>Один пошлёт патч для новой лампочки в -hackers;</para> -<para><emphasis>И тогда я подумал, "Постойте-ка, найдётся ли кто-нибудь, - чтобы задокументировать это где-нибудь?"</emphasis></para> + <para>Один пожалуется, что у него имелись патчики ещё три года назад, + но когда он послал их в -CURRENT, они были проигнорированы и он имел + неудачный опыт работы с системой PR; кроме того предлагаемая лампочка + не имеет отражателя.</para> + + <para>Тридцать семь начнут кричать, что лампочки не относятся к базовой + системе, что коммиттеры не имеют права делать такие вещи без опроса + обшественности и ЧТО ВООБЩЕ -CORE ДЕЛАЕТ ПО ЭТОМУ ПОВОДУ?</para> + + <para>Две сотни напишут о цвете велосипедных фар;</para> + + <para>Трое скажут, что этот патч не соответствует style(9);</para> + + <para>Семнадцать возразят, что предлагаемая новая лампа подпадает под + лицензию GPL;</para> + + <para>Пятьсот восемьдесят шесть раздуют флэйм по поводу сравнения + лицензий GPL, BSD, MIT, NPL и личных мнений о неизвестных основателей + FSF;</para> + + <para>Семеро пошлют различные части этих обсуждений в -chat и + -advocacy;</para> + + <para>Один закоммитит предлагаемую лампу, хотя она светит хуже, чем + старая;</para> + + <para>Двое откатят эти изменения с ужасной руганью в журнале коммита о том, + что лучше FreeBSD будет сидеть в темноте, чем с тусклой лампой.</para> + + <para>Сорок шесть громко воспротивятся этому изменению и потрубуют + объяснений от -core;</para> + + <para>Одиннадцать попросят уменьшить размер лампочки, чтобы она подошла + к их Тамагочи на случай, если мы когда-нибудь соберёмся переносить + FreeBSD на эту платформу;</para> + + <para>Семьдесят три заявят о SNR в -hackers и -chat и в знак протеста + отпишутся;</para> + + <para>Тринадцать пошлют письма "unsubscribe", "How do I unsubscribe?", + и "Please remove me from the list" с обычной подписью;</para> + + <para>Один закоммитит работающую лампочку в то время, как все будут + слишком заняты руганью, чтобы это заметить;</para> + + <para>Тридцать один человек напишет, что новая лампочка будет светить на + 0.364% ярче, если её откомпилировать с помощью TenDRA (хотя при этом + она приобретёт форму куба) и что FreeBSD должна перейти на компилятор + TenDRA, а не на EGCS;</para> + + <para>Один заметит, что у лампочки отсутствует цоколь;</para> + + <para>Девять (включая авторов PR) спросят "что такое MFC?";</para> + + <para>Спустя две недели после смены лампочки пятьдесят семь человек сообщат + о том, что света всё равно нет.</para> + + <para><emphasis>&a.nik; добавил:</emphasis></para> + + <para><emphasis>Я сильно смеялся над всем этим.</emphasis></para> -<para><emphasis>И на меня снизошло озарение :-)</emphasis></para> + <para><emphasis>И тогда я подумал, "Постойте-ка, найдётся ли кто-нибудь, + чтобы задокументировать это где-нибудь?"</emphasis></para> -<para><emphasis>Авторские права на этот параграф: Copyright © 1999 <ulink - URL="mailto:des@FreeBSD.org">Dag-Erling Coidan Smorgrav</ulink>. - Пожалуйста, не воспроизводите этот материал без указания авторских - прав.</emphasis></para> + <para><emphasis>И на меня снизошло озарение :-)</emphasis></para> -</answer></qandaentry></qandaset> + <para><emphasis>Авторские права на этот параграф: + Copyright © 1999 &a.des;. Пожалуйста, не воспроизводите этот материал + без указания авторских прав.</emphasis></para> + + </answer> +</qandaentry> +</qandaset> </chapter> -<chapter -id="hackers"> +<chapter id="hackers"> <title>Только для серьёзных хакеров FreeBSD</title> -<qandaset><qandaentry><question> -<para>Что такое SNAP и RELEASE?</para></question><answer> +<qandaset> +<qandaentry> + <question> + <para>Что такое SNAP и RELEASE?</para> + </question> -<para>В <ulink URL="http://www.FreeBSD.org/cgi/cvsweb.cgi">дереве CVS</ulink> - сейчас находятся три активно/полуактивно развивающихся ветки - FreeBSD:</para> + <answer> + + <para>В <ulink URL="http://www.FreeBSD.org/cgi/cvsweb.cgi">Репозитории + CVS</ulink> сейчас находятся три активно/полуактивно развивающихся ветки + FreeBSD (ветвь RELENG_2 меняется от силы пару раз в год, вот почему в + разработке только три активных ветки):</para> <para> <itemizedlist> <listitem> - <para><symbol>RELENG_2_2</symbol> - AKA <emphasis remap=bf>2.2-STABLE</emphasis></para> + <para><literal>RELENG_2_2</literal> + AKA <emphasis>2.2-STABLE</emphasis></para> </listitem> <listitem> - <para><symbol>RELENG_3</symbol> - AKA <emphasis remap=bf>3.X-STABLE</emphasis></para> + <para><literal>RELENG_3</literal> + AKA <emphasis>3.X-STABLE</emphasis></para> </listitem> <listitem> - <para><symbol>RELENG_4</symbol> - AKA <emphasis remap=bf>4.X-STABLE</emphasis></para> + <para><literal>RELENG_4</literal> + AKA <emphasis>4-STABLE</emphasis></para> </listitem> <listitem> - <para><acronym>HEAD</acronym> AKA <option>-CURRENT</option> - AKA <emphasis remap=bf>5.0-CURRENT</emphasis></para> + <para><literal>HEAD</literal> AKA <emphasis>-CURRENT</emphasis> + AKA <emphasis>5.0-CURRENT</emphasis></para> </listitem> </itemizedlist> </para> - <para><acronym>HEAD</acronym> - это не реальный тэг ветки, как другие два, а - просто символьная константа для обозначения <emphasis>"текущего, не - ветвящегося, находящегося в разработке дерева"</emphasis>, то есть - <option>-CURRENT</option>.</para> + <para><literal>HEAD</literal> - это не реальный тэг ветки, как другие два; + это просто символьная константа для обозначения <quote><emphasis>текущего, + не ветвящегося, находящегося в разработке дерева</emphasis></quote>, то есть + <quote>-CURRENT</quote>.</para> - <para>На данный момент <option>-CURRENT</option> является находящимся в + <para>На данный момент <quote>-CURRENT</quote> является находящимся в разработке деревом 5.0, ветка <emphasis remap=bf>4-STABLE</emphasis>, - <symbol>RELENG_4</symbol>, отделилась от <option>-CURRENT</option> в марте + <symbol>RELENG_4</symbol>, отделилась от <quote>-CURRENT</quote> в марте 2000 года.</para> <para>Ветвь <emphasis remap=bf>2.2-STABLE</emphasis>, @@ -9841,127 +10434,149 @@ id="hackers"> </qandaentry> -<qandaentry><question -id="custrel"> -<para>Как самим сделать релиз?</para></question><answer> +<qandaentry> + <question id="custrel"> + <para>Как самим сделать релиз?</para> + </question> -<para>Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно - работать с ядром, включающим драйвер - <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?vn">vn</ulink>. Добавьте - его в файл конфигурации ядра и откомпилируйте новое ядро:</para> - -<para> -<literallayout> pseudo-device vn #Vnode driver (turns a file into a device) - </literallayout> -</para> - -<para>Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться + <answer> + + <para>Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно + работать с ядром, включающим драйвер + <ulink URL="http://www.FreeBSD.org/cgi/man.cgi?vn">vn</ulink>. Добавьте + его в файл конфигурации ядра и откомпилируйте новое ядро:</para> + + <programlisting> +pseudo-device vn #Vnode driver (turns a file into a device) + </programlisting> + + <para>Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться этого, вы можете использовать <ulink URL="../../handbook/synching.html#CVSUP">CVSUP</ulink>, указав в файле supfile в качестве имени релиза cvs и удалив все поля с тегами и датами:</para> - -<para> - <literallayout> - *default prefix=/home/ncvs - *default base=/a - *default host=cvsup.FreeBSD.org - *default release=cvs - *default delete compress use-rel-suffix - - ## Main Source Tree - src-all - src-eBones - src-secure - - # Other stuff - ports-all - www - doc-all - </literallayout> -</para> - -<para>После этого запустите <command>cvsup -g supfile</command> для выкачки всех - нужных исходных текстов на ваш компьютер...</para> - -<para>Наконец, вам нужно свободное место для построения системы. Допустим, что - свободное место есть в каталоге <filename>/some/big/filesystem</filename> - и, как в примере выше, вы поместили дерево CVS в каталог - <filename>/home/ncvs</filename>:</para> - -<para> -<literallayout> setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs - cd /usr/src/release - make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release - </literallayout> -</para> - - -<para>Полный релиз будет строиться в каталоге - <filename>/some/big/filesystem/release</filename> и по окончании этого - процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в - каталоге <filename>/some/big/filesystem/release/R/ftp</filename>. Если вы - захотите построить SNAP другой ветки, не -CURRENT, то можете указать - <literal>RELEASETAG=SOMETAG</literal> в командной строке make release выше, - например, при указании <literal>RELEASETAG=RELENG_2_2</literal>, будет - строиться самый свежий снэпшот ветки 2.2-STABLE.</para> - -</answer></qandaentry> + <programlisting> +*default prefix=/home/ncvs +*default base=/a +*default host=cvsup.FreeBSD.org +*default release=cvs +*default delete compress use-rel-suffix + +## Main Source Tree +src-all +src-eBones +src-secure + +# Other stuff +ports-all +www +doc-all + </programlisting> -<qandaentry><question> -<para>Как создать инсталляционные диски?</para></question><answer> - -<para>Весь процесс создания инсталляционных дисков и дистрибутивов исходных - текстов и бинарников автоматизирован в файле - <filename>/usr/src/release/Makefile</filename>. Информации, в нём - содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас - предупредить, что этот процесс включает в себя выполнение ``make world'' - и поэтому занимает много времени и дискового пространства.</para> - -</answer></qandaentry> + <para>После этого запустите <command>cvsup -g supfile</command> для выкачки + всех нужных исходных текстов на ваш компьютер...</para> -<qandaentry><question> -<para> По команде ``make world'' были переустановлены все программы. - </para></question><answer> + <para>Наконец, вам нужно свободное место для построения системы. Допустим, + что свободное место есть в каталоге + <filename>/some/big/filesystem</filename> и, как в примере выше, вы + поместили дерево CVS в каталог <filename>/home/ncvs</filename>:</para> -<para>Да, так и должно быть; как говорит название этой команды, ``make - world'' выполняет построение всех системных файлов с нуля, так - что в итоге можете быть уверены, что получите чистую рабочую - систему (вот почему это занимает столько времени).</para> - + <screen> +&prompt.root; <userinput>setenv CVSROOT /home/ncvs</userinput> # or export CVSROOT=/home/ncvs +&prompt.root; <userinput>cd /usr/src</userinput> +&prompt.root; <userinput>make buildworld</userinput> +&prompt.root; <userinput>cd /usr/src/release</userinput> +&prompt.root; <userinput>make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release</userinput> + </screen> - -<para>Если в момент запуска команд ``<emphasis remap=tt>make world</emphasis>'' или ``<emphasis remap=tt>make - install</emphasis>'' определена переменная окружения <acronym>DESTDIR</acronym>, то вновь - создаваемые файлы будут помещены в дерево каталогов. идентичное - существующему, с корнем, располагающимся в - <emphasis remap=tt>${DESTDIR}</emphasis>. Однако некоторые случайные - комбинации модификаций совместно используемых библиотек и версий - компилируемых программ при исполнении команды ``<emphasis remap=tt>make world</emphasis>'', - может этому помешать.</para> - + <blockquote> + <note> + <para>Пожалуйста, отметьте, что вам <emphasis>не нужно</emphasis> + выполнять процедуру построения системы полностью, если у вас уже + есть заполненный <filename>/usr/obj</filename>.</para> + </note> + </blockquote> + + <para>Полный релиз будет строиться в каталоге + <filename>/some/big/filesystem/release</filename> и по окончании этого + процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в + каталоге <filename>/some/big/filesystem/release/R/ftp</filename>. Если вы + захотите построить SNAP другой ветки, не -CURRENT, то можете указать + <literal>RELEASETAG=SOMETAG</literal> в командной строке make release выше, + например, при указании <literal>RELEASETAG=RELENG_2_2</literal>, будет + строиться самый свежий снэпшот ветки 2.2-STABLE.</para> - -</answer></qandaentry> + </answer> +</qandaentry> -<qandaentry><question> -<para> При загрузке системы выдаётся сообщение ``(bus speed defaulted)''. - </para></question><answer> -<para>Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость - доступа к шине. Предыдущие версии драйвера 1542 пытались определить - максимально возможную скорость работы и установить это значение. Мы - обнаружили, что у некоторых пользователей это приводило к нарушению - работоспособности системы, поэтому эта возможность сейчас вынесена - в параметр конфигурации ядра ``<symbol>TUNE_1542</symbol>''. Использование - этой опции на тех системах, где она работает, может привести к - ускорению доступа к дискам, а там, где это не работает, может привести - к потере данных.</para> - +<qandaentry> + <question> + <para>Как создать инсталляционные диски?</para> + </question> + + <answer> + + <para>Весь процесс создания инсталляционных дисков и дистрибутивов исходных + текстов и бинарников автоматизирован в файле + <filename>/usr/src/release/Makefile</filename>. Информации, в нём + содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас + предупредить, что этот процесс включает в себя выполнение + <command>make world</command> и поэтому занимает много времени и дискового + пространства.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>По команде <command>make world</command> были переустановлены все + программы.</para> + </question> + + <answer> + + <para>Да, так и должно быть; как говорит название этой команды, <command>make + world</command> выполняет построение всех системных файлов с нуля, так + что в итоге можете быть уверены, что получите чистую рабочую + систему (вот почему это занимает столько времени).</para> + + <para>Если в момент запуска команд <command>make world</command> или + <command>make install</command> определена переменная окружения + <literal>DESTDIR</literal>, то вновь создаваемые файлы будут помещены в + дерево каталогов. идентичное существующему, с корнем, располагающимся в + <literal>${DESTDIR}</literal>. Однако некоторые случайные + комбинации модификаций совместно используемых библиотек и версий + компилируемых программ при исполнении команды + <command>make world</command>, может этому помешать.</para> + + </answer> +</qandaentry> + + +<qandaentry> + <question> + <para>При загрузке системы выдаётся сообщение <quote>(bus speed + defaulted)</quote>.</para> + </question> + + <answer> + + <para>Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость + доступа к шине. Предыдущие версии драйвера 1542 пытались определить + максимально возможную скорость работы и установить это значение. Мы + обнаружили, что у некоторых пользователей это приводило к нарушению + работоспособности системы, поэтому эта возможность сейчас вынесена + в параметр конфигурации ядра <symbol>TUNE_1542</symbol>. Использование + этой опции на тех системах, где она работает, может привести к + ускорению доступа к дискам, а там, где это не работает, может привести + к потере данных.</para> + + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question id="ctm"> @@ -9979,26 +10594,24 @@ id="ctm"> <qandaentry><question> <para>Как вы разделяете дистрибутив на файлы по 240К?</para></question><answer> -<para>Команда split в современных BSD-системах имеет опцию ``<option>-b</option>'', - позволяющую разрезать файлы на части с точностью до байта.</para> - + <para>Команда split в современных BSD-системах имеет опцию + <option>-b</option>, позволяющую разрезать файлы на части с точностью до + байта.</para> - <para>Вот пример из файла <filename>/usr/src/Makefile</filename>.</para> - -<para> -<literallayout> bin-tarball: - (cd ${DISTDIR}; \ - tar cf - . \ - gzip --no-name -9 -c | \ - split -b 240640 - \ - ${RELEASEDIR}/tarballs/bindist/bin_tgz.) - </literallayout> -</para> - - -</answer></qandaentry> + <programlisting> +bin-tarball: +(cd ${DISTDIR}; \ +tar cf - . \ +gzip --no-name -9 -c | \ +split -b 240640 - \ +${RELEASEDIR}/tarballs/bindist/bin_tgz.) + </programlisting> + + </answer> +</qandaentry> + <qandaentry><question> <para> Я написал некоторое добавление к ядру, кому его послать? @@ -10022,98 +10635,83 @@ id="ctm"> -<para>Если рассматривать на самом низком уровне, то существует несколько - портов ввода/вывода, в которые должны выводить информацию все адаптеры - PnP, когда компьютер пытается выполнить запрос о наличии установленных - адаптеров. Так что, когда запускается процедура определения адаптеров - PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все - такие адаптеры выдают свой номер модели при чтении того же порта - ввода/вывода, поэтому процедура определения получит ответ на свой - запрос, состоящий из логически наложенных номеров моделей, - интерпретируемый как ``да''. В этом ответе по крайней мере один бит - будет установлен в единицу. Затем код определения адаптеров может - ``выключать'' адаптеры с ID (назначаемыми Microsoft/Intel), меньшими, - чем X. Потом следует попытка определить, остались ли ещё адаптеры, - отвечающие на запрос. Если ответ ``<emphasis remap=tt>0</emphasis>'', то адаптеров с - ID, большими чем X, нет. После этого делается попытка определить - наличие адаптеров с номерами, меньшими чем ``X''. Если они есть, - то становится известно, что есть адаптеры с номерами, меньшими чем X. - Тогда происходит запрос адаптерам, большим чем X-(limit-4), на - выключение. Запрос повторяется. Применив этот метод полудвоичного - поиска границ расположения ID достаточное количество раз, код - идентификации найдёт все адаптеры PnP, установленные в данной машине - за число итераций, гораздо меньшее, чем может занять перебор 2^64 - возможных вариантов ID.</para> - - - -<para>ID представляет собой два 32-разрядные числа (всего их 2^64) - + 8 бит контрольной суммы. Первые 32 бита являются идентификатором - производителя. Они никогда не сообщаются, однако часто бывает, что - различные типы адаптеров от одного и того же производителя имеют - различные 32-битные значения идентификатора производителя. - Необходимость в 32 разрядах только для задания производителя адаптера - выглядит несколько излишним.</para> - - - -<para>Оставшиеся 32 бита являются серийным номером, ethernet-адресом, - чем-либо, делающим этот адаптер уникальным. Производитель не должен - выпускать других адаптеров, имеющих то же самое значение этих битов, - если, конечно, у них не разные идентификаторы производителя. Таким - образом, вы можете иметь несколько адаптеров одинакового типа, но с - различными 64-разрядными номерами.</para> - - - -<para>Группы по 32 бита не богут быть нулевыми. Это позволяет при - логическом объединении OR их номеров получать ненулевое значение во - время начального поиска адаптеров.</para> - + <para>Если рассматривать на самом низком уровне, то существует несколько + портов ввода/вывода, в которые должны выводить информацию все адаптеры + PnP, когда компьютер пытается выполнить запрос о наличии установленных + адаптеров. Так что, когда запускается процедура определения адаптеров + PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все + такие адаптеры выдают свой номер модели при чтении того же порта + ввода/вывода, поэтому процедура определения получит ответ на свой + запрос, состоящий из логически наложенных номеров моделей, + интерпретируемый как <quote>да</quote>. В этом ответе по крайней мере + один бит будет установлен в единицу. Затем код определения адаптеров может + <quote>выключать</quote> адаптеры с ID (назначаемыми Microsoft/Intel), + большими, чем X. Потом следует попытка определить, остались ли ещё + адаптеры, отвечающие на запрос. Если ответ <literal>0</literal>, то + адаптеров с ID, большими чем X, нет. После этого делается попытка + определить наличие адаптеров с номерами, меньшими чем <literal>X</literal>. + Если они есть, то становится известно, что есть адаптеры с номерами, + меньшими, чем X. Тогда происходит запрос адаптерам, большим чем + X-(limit-4), на выключение. Запрос повторяется. Применив этот метод + полудвоичного поиска границ расположения ID достаточное количество раз, код + идентификации найдёт все адаптеры PnP, установленные в данной машине + за число итераций, гораздо меньшее, чем может занять перебор 2^64 + возможных вариантов ID.</para> + + <para>ID представляет собой два 32-разрядные числа (всего их 2^64) + + 8 бит контрольной суммы. Первые 32 бита являются идентификатором + производителя. Они никогда не сообщаются, однако часто бывает, что + различные типы адаптеров от одного и того же производителя имеют + различные 32-битные значения идентификатора производителя. + Необходимость в 32 разрядах только для задания производителя адаптера + выглядит несколько излишним.</para> + + <para>Оставшиеся 32 бита являются серийным номером, ethernet-адресом, + чем-либо, делающим этот адаптер уникальным. Производитель не должен + выпускать других адаптеров, имеющих то же самое значение этих битов, + если, конечно, у них не разные идентификаторы производителя. Таким + образом, вы можете иметь несколько адаптеров одинакового типа, но с + различными 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>Microsoft использовала для PnP некоторые порты статуса первого + принтера, по их логике, не существует адаптеров, использующих эти + адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от + IBM, который декодирует запись в порт статуса в момент начального + опроса устройств PnP, на что MS ответил <quote>хулиган</quote>. Так что они + выполняют запись в порт статуса принтера для установки адресов, + вдобавок используют этот адрес + <literal>0x800</literal>, и ещё один порт + ввода/вывода, который может располагаться где угодно в диапазоне между + <literal>0x200</literal> и <literal>0x3ff</literal>, для чтения.</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>Microsoft использовала для PnP некоторые порты статуса первого - принтера, по их логике, не существует адаптеров, использующих эти - адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от - IBM, который декодирует запись в порт статуса в момент начального - опроса устройств PnP, на что MS ответил ``хулиган''. Так что они - выполняют запись в порт статуса принтера для установки адресов, - плюс используют этот адрес + <literal>0x800</literal>, и ещё один порт ввода/вывода, - который может располагаться где угодно в диапазоне между <literal>0x200</literal> и - <literal>0x3ff</literal>, для чтения.</para> - + </answer> +</qandaentry> - -</answer></qandaentry> <qandaentry><question> <para>Поддерживает ли FreeBSD платформы, отличные от x86?</para></question><answer> @@ -10191,29 +10789,32 @@ id="ctm"> </answer></qandaentry> -<qandaentry><question> -<para>Что делать при аварийном остановах системы</para></question><answer> - -<para><emphasis>[Этот раздел был вырезан из письма, написанного <ulink - URL="mailto:wpaul@FreeBSD.org">Биллом Полом</ulink> (Bill Paul) - в <link linkend="mailing">список рассылки</link> freebsd-current <ulink - URL="mailto:des@FreeBSD.org">Дэгом-Элингом Коиданом Смёгравом</ulink> - (Dag-Erling Coidan Smorgrav), который исправил несколько - опечаток и добавил комментарии в квадратных скобках]</emphasis></para> - -<para> -<literallayout>From: Bill Paul <wpaul@skynet.ctr.columbia.edu> + +<qandaentry> + <question> + <para>Что делать при аварийном остановах системы</para> + </question> + + <answer> + + <para><emphasis>[Этот раздел был вырезан из письма, написанного &a.wpaul; в + <link linkend="mailing">список рассылки</link> freebsd-current + &a.des;, который исправил несколько опечаток и добавил комментарии в + квадратных скобках]</emphasis></para> + + <programlisting> +From: Bill Paul <wpaul@skynet.ctr.columbia.edu> Subject: Re: the fs fun never stops To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.org - </literallayout> -</para> + </programlisting> -<para> <emphasis>[<ben@rosengart.com> отправил письмо, содержащее следующее - аварийное сообщение системы]</emphasis> - -<literallayout>> Fatal trap 12: page fault while in kernel mode + <para><emphasis>[<ben@rosengart.com> отправил письмо, содержащее + следующее аварийное сообщение системы]</emphasis> + + <programlisting> +> Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 @@ -10227,62 +10828,56 @@ Cc: current@FreeBSD.org > interrupt mask = > trap number = 12 > panic: page fault - </literallayout> -</para> - + </programlisting> - -<para>[Если] вы увидите такое сообщение, просто его воспроизвести и - послать нам не достаточно. Указатель инструкций, выделенный мною, - важен, к сожалению, его значение зависит от конфигурации ядра. - Другими словами, его значение меняется в зависимости от конкретного - ядра, которое вы используете. Если вы используете ядро GENERIC - одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую - ошибку, но если вы работаете со специально отконфигурированным ядром, - то только <emphasis>вы</emphasis> можете сказать нам, где случилась ошибка.</para> - + [Если] вы увидите такое сообщение, просто его воспроизвести и + послать нам не достаточно. Указатель инструкций, выделенный мною, + важен, к сожалению, его значение зависит от конфигурации ядра. + Другими словами, его значение меняется в зависимости от конкретного + ядра, которое вы используете. Если вы используете ядро GENERIC + одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую + ошибку, но если вы работаете со специально отконфигурированным ядром, + то только <emphasis>вы</emphasis> можете сказать нам, где случилась + ошибка.</para> - -<para>Вот что вы должны сделать:</para> - -<para> -<itemizedlist> + <para>Вот что вы должны сделать:</para> -<listitem> -<para>Запишите значение указателя инструкций. Заметьте, что - часть <literal>0x8:</literal> в этом случае не важна: нам нужна часть - <literal>0xf0xxxxxx</literal>. -</para> -</listitem> + <para> + <itemizedlist> + <listitem> + <para>Запишите значение указателя инструкций. Заметьте, что + часть <literal>0x8:</literal> в этом случае не важна: нам нужна часть + <literal>0xf0xxxxxx</literal>.</para> + </listitem> -<listitem> -<para>Когда система перезагрузится, сделайте следующее: - -<literallayout>% nm /kernel.that.caused.the.panic | grep f0xxxxxx - </literallayout> - - где <literal>f0xxxxxx</literal> - это значение указателя инструкций. Однако - неприятность заключается в том, что вы не получите точного - соответствия, так как в таблице имен ядра для точек входа в функции - даны адреса на начало функций, а указатель инструкций будет указывать - куда-то внутрь её тела. Если вы не получили точного соответствия, - опустите последнюю цифру в значении указателя инструкций и попробуйте - снова, то есть: - -<literallayout>% nm /kernel.that.caused.the.panic | grep f0xxxxx - </literallayout> - - Если и это не привело ни к каким результатам, отрежьте следующую - цифру. Повторяйте, пока не получите хоть что-то. Результатом будет - список функций, которые, возможно, привели к аварийному останову. - Этот механизм обнаружения ошибочного места довольно неточен, но это - всё же лучше чем ничего. - </para> -</listitem> + <listitem> + <para>Когда система перезагрузится, сделайте следующее: + + <screen> +&prompt.user; <userinput>nm /kernel.that.caused.the.panic | grep f0xxxxxx</userinput> + </screen> + + где <literal>f0xxxxxx</literal> - это значение указателя инструкций. + Однако неприятность заключается в том, что вы не получите точного + соответствия, так как в таблице имен ядра для точек входа в функции + даны адреса на начало функций, а указатель инструкций будет указывать + куда-то внутрь её тела. Если вы не получили точного соответствия, + опустите последнюю цифру в значении указателя инструкций и попробуйте + снова, то есть: + + <screen> +&prompt.user; <userinput>nm /kernel.that.caused.the.panic | grep f0xxxxx</userinput> + </screen> + + Если и это не привело ни к каким результатам, отрежьте следующую + цифру. Повторяйте, пока не получите хоть что-то. Результатом будет + список функций, которые, возможно, привели к аварийному останову. + Этот механизм обнаружения ошибочного места довольно неточен, но это + всё же лучше, чем ничего.</para> + </listitem> + </itemizedlist> + </para> -</itemizedlist> -</para> - <para>Зачастую люди приводят подобные аварийные сообщения, на редко кто утруждается привести соотвествие указателя инструкций с функцией в таблице символов ядра.</para> @@ -10297,39 +10892,42 @@ Cc: current@FreeBSD.org CD).</para> <para>Во всяком случае, обычно я использую такой способ:</para> - -<para> - <itemizedlist> - <listitem> - <para>Отредактируйте конфигурационный файл ядра, добавив строку - 'options DDB', если вам зачем-то понадобился встроенный отладчик. - (Я использую его в основном для указания точек останова, если - подозреваю возникновение бесконечных циклов.)</para> - </listitem> - <listitem> - <para>Выполните <command>config -g KERNELCONFIG</command> для создания - каталога построения ядра.</para> - </listitem> + <para> + <itemizedlist> + <listitem> + <para>Отредактируйте конфигурационный файл ядра, добавив строку + <literal>options DDB</literal>, если вам зачем-то понадобился + встроенный отладчик. (Я использую его в основном для указания точек + останова, если подозреваю возникновение бесконечных циклов.)</para> + </listitem> - <listitem> - <para><command>cd /sys/compile/KERNELCONFIG; make</command></para> - </listitem> + <listitem> + <para>Выполните + <command>config -g <replaceable>KERNELCONFIG</replaceable></command> + для создания каталога построения ядра.</para> + </listitem> - <listitem> - <para>Дождитесь окончания компиляции ядра.</para> - </listitem> + <listitem> + <para> + <command>cd /sys/compile/<replaceable>KERNELCONFIG</replaceable>; + make</command></para> + </listitem> - <listitem> - <para><command>make install</command></para> - </listitem> + <listitem> + <para>Дождитесь окончания компиляции ядра.</para> + </listitem> + + <listitem> + <para><command>make install</command></para> + </listitem> + + <listitem> + <para>reboot</para> + </listitem> + </itemizedlist> + </para> - <listitem> - <para>reboot</para> - </listitem> - </itemizedlist> -</para> - <para>В процессе выполнения команды &man.make.1; будут построены два ядра, <filename>kernel</filename> и <filename>kernel.debug</filename>. <filename>kernel</filename> будет установлен как @@ -10350,29 +10948,32 @@ Cc: current@FreeBSD.org <command>savecore(8)</command> автоматически и поместят аварийный дамп в каталог <filename>/var/crash</filename>.</para> -<para>ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный - физическому объёму оперативной памяти вашей машины. Так что если у вас 64МБ - ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, что - в каталоге <filename>/var/crash</filename> достаточно места для хранения - дампа. Либо вы можете вручную запустить <command>savecore(8)</command> - и создать аварийный дамп в другом каталоге, где достаточно места. Размер - аварийного дампа можно уменьшить, указав в конфигурации ядра - <literal>options MAXMEM=(размер)</literal> подходящее значение для объёма - памяти, которое будет использоваться ядром. Например, если у вас - 128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16 мегабайтами, - так что размер аварийного дампа будет равен 16МБ, а не 128.</para> - + <para> + <note> + <para>Аварийные дампы FreeBSD обычно имеют размер, равный физическому + объёму оперативной памяти вашей машины. Так что если у вас 64МБ + ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, + что в каталоге <filename>/var/crash</filename> достаточно места для + хранения дампа. Либо вы можете вручную запустить + <command>savecore(8)</command> и создать аварийный дамп в другом + каталоге, где достаточно места. Размер аварийного дампа можно + уменьшить, указав в конфигурации ядра + <literal>options MAXMEM=(размер)</literal> подходящее значение для + объёма памяти, которое будет использоваться ядром. Например, если у вас + 128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16 + мегабайтами, так что размер аварийного дампа будет равен 16МБ, а не + 128.</para> + </note> + </para> + <para>Как только вы получили аварийный дамп, вы можете выполнить трассировку вызовов с помощью <command>gdb(1)</command> таким образом:</para> - -<para> -<literallayout>% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 -(gdb) where - </literallayout> -</para> - - + <screen> +&prompt.user; <userinput>gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0</userinput> +<prompt>(gdb)</prompt> <userinput>where</userinput> + </screen> + <para>Заметьте, что при этом может быть выведено несколько экранов информации; в идеале вы должны использовать <command>script(1)</command> для их перехвата. При использовании необработанного образа ядра со всей @@ -10418,61 +11019,58 @@ Cc: current@FreeBSD.org </answer></qandaentry> -<qandaentry><question> -<para>Увеличение и уменьшение адресного пространства ядра</para></question><answer> -<para>По умолчанию размер адресного пространства ядра равен 256 МБ во - FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD - в качестве сервера с интенсивной сетевой нагрузкой (скажем, - большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ - недостаточно.</para> - +<qandaentry> + <question> + <para>Увеличение и уменьшение адресного пространства ядра</para> + </question> - -<para>Каким же образом можно увеличить адресное пространство? Здесь - есть два момента. Во-первых, вам нужно указать ядру выделить - большее количество адресного пространства для самого ядра. Во-вторых, - так как ядро загружается в верхнюю часть адресного пространства, вам - нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю - границу. </para> - + <answer> - -<para>Первая проблема решается увеличением значения константы - <acronym>NKPDE</acronym> в файле <filename>src/sys/i386/include/pmap.h</filename>. В случае 1 - ГБ адресного пространства он должен выглядеть примерно так:</para> - -<para> -<literallayout>#ifndef NKPDE + <para>По умолчанию размер адресного пространства ядра равен 256 МБ во + FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD + в качестве сервера с интенсивной сетевой нагрузкой (скажем, + большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ + недостаточно.</para> + + <para>Каким же образом можно увеличить адресное пространство? Здесь + есть два момента. Во-первых, вам нужно указать ядру выделить + большее количество адресного пространства для самого ядра. Во-вторых, + так как ядро загружается в верхнюю часть адресного пространства, вам + нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю + границу. </para> + + <para>Первая проблема решается увеличением значения константы + <literal>NKPDE</literal> в + файле <filename>src/sys/i386/include/pmap.h</filename>. В случае 1 ГБ + адресного пространства он должен выглядеть примерно так:</para> + + <programlisting> +#ifndef NKPDE #ifdef SMP #define NKPDE 254 /* addressable number of page tables/pde's */ #else #define NKPDE 255 /* addressable number of page tables/pde's */ #endif /* SMP */ #endif - </literallayout> -</para> - + </programlisting> - -<para>Для вычисления значения <acronym>NKPDE</acronym> разделите желаемый объём - адресного пространства (в мегабайтах) на четыре и вычтите из - получившегося числа единичку в случае однопроцессорной машины и - двоечку в случае многопроцессорного ядра.</para> - + <para>Для вычисления значения <literal>NKPDE</literal> разделите желаемый + объём адресного пространства (в мегабайтах) на четыре и вычтите из + получившегося числа единичку в случае однопроцессорной машины и + двоечку в случае многопроцессорного ядра.</para> - -<para>Для достижения второй цели вам нужно правильный адрес для загрузки - ядра: просто отнимите размер адресного пространства (в байтах) от - 0x100100000; результат будет равным 0xc0100000 для адресного пространства - в 1 ГБ. Установите значение константы <symbol>LOAD_ADDRESS</symbol> - в файле <filename>src/sys/i386/conf/Makefile.i386</filename> в это - значение; затем установите значение счётчика в начале списка секций в - файле <filename>src/sys/i386/conf/kernel.script</filename> в то же самое - значение, как это сделано здесь:</para> - -<para> -<literallayout>OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") + <para>Для достижения второй цели вам нужно правильный адрес для загрузки + ядра: просто отнимите размер адресного пространства (в байтах) от + 0x100100000; результат будет равным 0xc0100000 для адресного пространства + в 1 ГБ. Установите значение константы <symbol>LOAD_ADDRESS</symbol> + в файле <filename>src/sys/i386/conf/Makefile.i386</filename> в это + значение; затем установите значение счётчика в начале списка секций в + файле <filename>src/sys/i386/conf/kernel.script</filename> в то же самое + значение, как это сделано здесь:</para> + + <programlisting> +OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") OUTPUT_ARCH(i386) ENTRY(btext) SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib); @@ -10481,128 +11079,97 @@ SECTIONS /* Read-only sections, merged into text segment: */ . = 0xc0100000 + SIZEOF_HEADERS; .interp : { *(.interp) } - </literallayout> -</para> - + </programlisting> - -<para>После этого переконфигурируйте и перестройте ядро. Вы можете - столкнуться с проблемами при работе утилит <command>ps(1)</command>, <command>top(1)</command> - и подобных им; решить их может <emphasis remap=tt>make world</emphasis> (или ручная - перекомпиляция <emphasis remap=tt>libkvm</emphasis>, <emphasis remap=tt>ps</emphasis> и <emphasis remap=tt>top</emphasis> после копирования - исправленного <filename>pmap.h</filename> в <filename>/usr/include/vm/)</filename>.</para> - -<para>ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть - кратен четырём мегабайтам.</para> + <para>После этого переконфигурируйте и перестройте ядро. Вы можете + столкнуться с проблемами при работе утилит <command>ps(1)</command>, + <command>top(1)</command> и подобных им; решить их может + <emphasis remap=tt>make world</emphasis> (или ручная перекомпиляция + <emphasis remap=tt>libkvm</emphasis>, <emphasis remap=tt>ps</emphasis> и + <emphasis remap=tt>top</emphasis> после копирования исправленного + <filename>pmap.h</filename> + в <filename>/usr/include/vm/)</filename>.</para> + + <para>ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть + кратен четырём мегабайтам.</para> -<para>[<ulink URL="mailto:dg@FreeBSD.org">Дэвид Гринмэн</ulink> - (David Greenman) добавил: <emphasis> Я думаю, что размер адресного - пространства ядра должен быть степенью двойки, но я в этом не уверен. - Для работы с верхними адресами памяти использовался код старого - загрузчика, и я ожидаю по крайней мере точность в 256 МБ.]</emphasis></para> - + <para>[&a.dg; добавил: <emphasis> Я думаю, что размер адресного пространства + ядра должен быть степенью двойки, но я в этом не уверен. Для работы с + верхними адресами памяти использовался код старого загрузчика, и я ожидаю + по крайней мере точность в 256 МБ.]</emphasis></para> - -</answer></qandaentry></qandaset> + </answer> +</qandaentry> +</qandaset> </chapter> -<chapter -id="acknowledgments"> -<title>Наши благодарности</title> - -<para> -<literallayout> Если вы обнаружили неточности в этом FAQ или хотите что-то в него - добавить, пожалуйста, напишите нам по адресу <FAQ@FreeBSD.org>. - Мы ждём ваши отзывы и пожелания, чтобы с вашей помощью сделать этот - документ ещё лучше! - - - FreeBSD Core Team - </literallayout> -</para> - -<para> -<variablelist> -<varlistentry><term>Jordan Hubbard</term> -<listitem> -<para>Различные упорядочения и добавления в FAQ.</para> - - - -</listitem> -</varlistentry> - -<varlistentry><term>Doug White</term> +<chapter id="acknowledgments"> + <title>Наши благодарности</title> -<listitem> -<para>Работа со списком рассылки freebsd-questions</para> - + <blockquote> + <attribution>FreeBSD Core Team</attribution> - -</listitem> -</varlistentry> - -<varlistentry><term>Joerg Wunsch</term> - -<listitem> -<para>Работа с телеконференциями Usenet</para> - - - -</listitem> -</varlistentry> - -<varlistentry><term>Garrett Wollman</term> - -<listitem> -<para>Раздел о сети и форматирование</para> - + <para>Если вы обнаружили неточности в этом FAQ или хотите что-то + в него добавить, пожалуйста, напишите нам по адресу &a.faq;. + Мы ждём ваши отзывы и пожелания, чтобы с вашей помощью сделать этот + документ ещё лучше!</para> + </blockquote> - -</listitem> -</varlistentry> + <para> + <variablelist> + <varlistentry><term>&a.jkh;</term> + <listitem> + <para>Различные упорядочения и добавления в FAQ.</para> + </listitem> + </varlistentry> -<varlistentry><term>Jim Lowe</term> + <varlistentry><term>&a.dwhite;</term> + <listitem> + <para>Работа со списком рассылки freebsd-questions</para> + </listitem> + </varlistentry> -<listitem> -<para>Информация о протоколе многоадресной передачи</para> - + <varlistentry><term>&a.joerg;</term> + <listitem> + <para>Работа с телеконференциями Usenet</para> + </listitem> + </varlistentry> - -</listitem> -</varlistentry> + <varlistentry><term>&a.wollman;</term> + <listitem> + <para>Раздел о сети и форматирование</para> + </listitem> + </varlistentry> -<varlistentry><term>Peter da Silva</term> + <varlistentry><term>Jim Lowe</term> + <listitem> + <para>Информация о протоколе многоадресной передачи</para> + </listitem> + </varlistentry> -<listitem> -<para>Раб-наборщик</para> - -</listitem> -</varlistentry> + <varlistentry><term>&a.pds;</term> + <listitem> + <para>Раб-наборщик</para> + </listitem> + </varlistentry> -<varlistentry><term>Andrey Zakhvatov</term> + <varlistentry><term>Andrey Zakhvatov</term> + <listitem> + <para>Перевод на русский язык</para> + </listitem> + </varlistentry> -<listitem> -<para>Перевод на русский язык</para> - -</listitem> -</varlistentry> + <varlistentry><term>The FreeBSD Team</term> + <listitem> + <para>Охи, вздохи, стоны, добавления</para> + </listitem> + </varlistentry> + </variablelist> + </para> -<varlistentry><term>The FreeBSD Team</term> + <para>И всем остальным, оставшимся неизвестными, наши глубочайшие + извинения и сердечные благодарности!</para> -<listitem> -<para>Охи, вздохи, стоны, добавления - </para> - -</listitem> -</varlistentry> -</variablelist> -</para> - -<para>И всем остальным, оставшимся неизвестными, наши глубочайшие - извинения и сердечные благодарности! - </para> - </chapter> </book> |