From 303a9dcfab0fbd0d2b59c4b6e41dffa5095133cf Mon Sep 17 00:00:00 2001 From: Andrey Zakhvatov Date: Mon, 18 Sep 2000 08:40:01 +0000 Subject: [PATCH] Synchronize with English 1.91. --- ru_RU.KOI8-R/books/faq/book.sgml | 10759 +++++++++++++++-------------- 1 file changed, 5663 insertions(+), 5096 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 @@ %man; + %authors; ]> - - + + @@ -26,14 +27,13 @@ замечания справедливы для версий FreeBSD 2.0.5 и выше. Пункты с пометкой <XXX> находятся в стадии разработки. Если вы хотите помочь в составлении этого документа, пошлите письмо в список рассылки - проекта по адресу - <freebsd-doc@FreeBSD.org>. + проекта по адресу freebsd-doc@FreeBSD.org. Последняя редакция этого документа всегда доступна с WWW-сервера FreeBSD. Его также можно получить в виде одного большого HTML-файла по HTTP или в виде обычного текстового файла, файла формата postscript или PDF с FTP-сервера. + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">FTP-сервера. Вы также можете осуществить поиск в FAQ. @@ -54,7 +54,7 @@ Мы прилагаем все усилия, чтобы сделать этот FAQ максимально информативным; если у вас есть идеи по его усовершенствованию, пожалуйста, - напишите составителям. + напишите составителям по адресу &a.faq;. @@ -65,20 +65,20 @@ - В двух словах, FreeBSD - это UN*X-подобная операционная система, - основанная на версии 4.4BSD Калифорнийского Университета (Беркли) для - платформы i386. Также она косвенно базируется на 386BSD (BSD Net/2, - перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя - от того первоначального кода осталось очень мало. Более подробные - объяснения того, что представляет из себя FreeBSD и для чего она может вам - пригодиться, можно найти на В двух словах, FreeBSD - это UN*X-подобная операционная система для + платформ i386 и Alpha/AXP, разработанная на основе операционной системы + 4.4BSD-lite Калифорнийского Университета (Беркли). Также она косвенно + базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом + Джолитцем (William Jolitz)), хотя от того первоначального кода осталось + очень мало. Более подробные объяснения того, что представляет из себя + FreeBSD и для чего она может вам пригодиться, можно найти на домашней странице FreeBSD. - + FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Вы можете увидеть некоторых из них в нашей галерее. + URL="http://www.FreeBSD.org/ru/gallery/gallery.html">галерее. Для более детального ознакомления с FreeBSD, пожалуйста, обратитесь к Руководству по @@ -100,10 +100,11 @@ ограничений. Многие из нас вкладывают значительные усилия в её разработку (и проектирование) и определённо были бы не против получения финансовой поддержки, но мы не собираемся её требовать. Мы надеемся, что наша основная - и самая значительная "миссия" - предоставить код всем желающим, для любых - целей, так чтобы он нашел самое широкое применение и принес наибольшую - пользу. Это, на наш взгляд, одна из самых фундаментальных целей Free - Software, которую мы с энтузиазмом поддерживаем. + и самая значительная миссия - предоставить код всем + желающим, для любых целей, так чтобы он нашел самое широкое применение и + принес наибольшую пользу. Это, на наш взгляд, одна из самых + фундаментальных целей Free Software, которую мы с энтузиазмом + поддерживаем. Исходный код, подпадающий под действие GNU General Public License (GPL) или GNU Library General Public License (LGPL), @@ -149,13 +150,13 @@ Для тех наших читателей, для которых английский не является родным - языком, можно добавить, что слово ``free'' используется здесь в двух - смыслах, один означает ``бесплатно'', а другой ``вы можете делать всё, - что хотите''. За исключением пары вещей, которые вы не - можете делать с FreeBSD, например, претендовать на то, что - являетесь её разработчиком, на самом деле можно делать с ней всё, что вам - заблагорассудится. - + языком, можно добавить, что слово free используется здесь в + двух смыслах, один означает бесплатно, а другой вы + можете делать всё, что хотите. За исключением пары вещей, которые + вы не можете делать с FreeBSD, например, претендовать + на то, что являетесь её разработчиком, на самом деле можно делать с ней + всё, что вам заблагорассудится. + @@ -168,8 +169,8 @@ Версия - 4.0, выпущенная мае 2000 года, является самой последней + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.1-RELEASE/"> + 4.1, выпущенная в июле 2000 года, является самой последней стабильной версией. Она также является самым последним релизом. @@ -215,14 +216,15 @@ FreeBSD-CURRENT. Эта ветвь зачастую меняется очень быстро и вполне может быть просто не работоспособна некоторое время. Те, кто используют FreeBSD-CURRENT, должны быть в состоянии анализировать любые проблемы и - сообщать о них, если это действительно ошибки, а не ``глюки''. Сообщения - типа ``make world produces some error about groups'' в списке рассылки - -CURRENT иногда воспринимаются пренебрежительно. - - Из ветви -CURRENT регулярно делаются снэпшоты, некоторые из которых - доступны на CDROM. Их предназначение: + сообщать о них, если это действительно ошибки, а не глюки. + Сообщения типа make world produces some error about groups + в списке рассылки -CURRENT иногда воспринимаются пренебрежительно. + Ежедневно из веток -CURRENT и -STABLE делаются снэпшоты. + В настоящее время имеются в наличии дистрибутивы некоторых снапшотов. Их + предназначение: + @@ -230,8 +232,8 @@ - Дать людям, которые хотят работать с -CURRENT, но не - имеют времени и/или мозможности (пропускной способности) для + Дать людям, которые хотят работать с -CURRENT или -STABLE, но не + имеют времени и/или возможности (пропускной способности) для отслеживания ежедневных измененений, простой способ её установки. @@ -250,19 +252,21 @@ - Не утверждается, что всякий снэпшот имеет качество ``готового - продукта''. Для стабильной и надёжной работы вам нужно дождаться выхода - полного релиза. + Не утверждается, что всякий снэпшот -CURRENT имеет качество + готового продукта. Если вам нужна стабильно работающая и + полностью оттестированная система, то необходимо дождаться выхода полного + релиза или воспользоваться снэпшотами -STABLE. Снэпшоты доступны непосредственно с ftp://current.FreeBSD.org/pub/FreeBSD/ - для 5.0-CURRENT и - releng4.FreeBSD.org для снэпшотов 4-STABLE. Снэпшоты 3-STABLE - находятся на сервере - releng3.FreeBSD.org. Снэпшоты, как правило, генерируются - ежедневно для всех активно разрабатываемых веток. - + для 5.0-CURRENT и + releng4.FreeBSD.org для снэпшотов 4-STABLE. На момент написания + этого документа (май 2000) снэпшоты 3-STABLE больше не выпускаются. + + Снэпшоты, как правило, генерируются ежедневно для всех активно + разрабатываемых веток. + @@ -286,8 +290,7 @@ пор, как была выпущена 2.0. Если вам поможет картинка, то вот как это выглядит: - - + 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] - - + Ветвь -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, - выход релиза которой ещё не запланирован. - + ветвь, 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 года. Текущей + веткой сейчас является 5.0-CURRENT, хотя выход её релиза ещё не + запланирован. + @@ -345,11 +352,10 @@ лучших сторон FreeBSD, хотя она несколько разочаровывает, если вам не терпится попробовать новые возможности.. - В среднем новые версии выпускаются примерно каждые четыре - месяца. + В среднем новые версии выпускаются примерно раз в четыре месяца. - Для тех, кому не терпится, предназначены SNAP-релизы, выпускаемые более - часто, в частности, в течении месяца перед релизом. + Для тех, кому не терпится, ежедневно выпускаются бинарные релизы.. + смотрите выше. @@ -362,9 +368,9 @@ - Начиная с версии 3.x, FreeBSD работает как на архитектуре x86, - так и на платформе DEC Alpha. - Некоторый интерес был проявлен к переносу на + Начиная с версии 3.x, FreeBSD работает как на архитектуре x86, так и на + платформе + DEC Alpha. Некоторый интерес был проявлен к переносу на SPARC, однако подробности этого проекта ещё не ясны. Если ваш компьютер имеет другую архитектуру и вам нужно что-то прямо @@ -415,34 +421,21 @@ - Текущий релиз 2.2-STABLE, 2.2.8R, находится в каталоге - 2.2.8-RELEASE. + Текущий релиз 3.X-STABLE, 3.4-RELEASE, находится в + каталоге с 3.4-RELEASE. - Текущий релиз 3.X-STABLE, 3.4-RELEASE, находится в каталоге - 3.4-RELEASE. + Текущий релиз ветки 4-STABLE, 4.1-RELEASE, находится в + каталоге с 4.1-RELEASE. - Текущий релиз 4.X-STABLE, 4.0-RELEASE, находится в каталоге с - - 4.0-RELEASE. - - - - Выпуски - 3.X Snapshot также делаются ежедневно из ветки RELENG_3 - (после 3.0-RELEASE), пока она переходит в 3.5-RELEASE. - - - - Кроме того, ежедневно делаются снэпшоты 4.X. + Снэпшоты + 4.X обычно делаются ежедневно. @@ -547,7 +540,7 @@ - + Существуют ли каналы IRC (Internet Relay Chat) по FreeBSD? @@ -558,7 +551,7 @@ - Канал #FreeBSD в сети EFNet + Канал #FreeBSD в сети EFNet посвящён FreeBSD, но не обращайтесь туда за технической поддержкой и даже не пытайтесь найти человека, который поможет вам обойтись без чтения страниц Справочника или собственных изысканий. Этот канал @@ -569,18 +562,33 @@ - Канал #FreeBSD в сети DALNET + Канал #FreeBSDhelp в сети EFNet предназначен + для помощи пользователям FreeBSD. Здесь гораздо более благосклонно + относятся к вопросам, чем на + канале #FreeBSD. + + + + Канал #FreeBSD в сети DALNET доступен на сервере irc.dal.net в США и на irc.eu.dal.net в Европе. - Канал #FreeBSD в сети UNDERNET + Канал #FreeBSD в сети UNDERNET доступен на серверах us.undernet.org в США и eu.undernet.org в Европе. Так как это канал взаимопомощи, приготовьтесь к чтению документации, к которой вас отошлют. + + + Канал #FreeBSDв сети HybNet доступен на сервере + irc.FreeBSD.org. Этот канал + на самом деле является каналом + взаимопомощи. + @@ -604,33 +612,30 @@ Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше к - нему присоединиться) через список рассылки doc: - <freebsd-doc@FreeBSD.org>. + нему присоединиться) через список рассылки + freebsd-doc: freebsd-doc@FreeBSD.org. Этот список рассылки предназначен для обсуждения документации FreeBSD. Для вопросов по системе предназначен список рассылки - questions: - <freebsd-questions@FreeBSD.org>. + freebsd-questions: + freebsd-questions@FreeBSD.org. - ``Руководство'' по FreeBSD доступно и может быть найдено на - веб-сервере. - Заметьте, что этот проект находится в процессе разработки, - так что некоторые части могут отсутствовать. + Имеется Руководство по FreeBSD, и оно может быть найдено + на веб-сервере. + Заметьте, что этот проект находится в процессе разработки; + некоторые части могут отсутствовать или быть устаревшими. Прекрасным печатным руководством по FreeBSD является книга - ``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и + The Complete FreeBSD, написанная Грегом Лиэем (Greg Lehay) и изданная Walnut Creek CDROM Books. В настоящее время вышло второе издание, содержащее 1,750 страниц руководств по установке и администрированию системы и прикладных программ, а также страницы Справочника. Книга (и последний релиз FreeBSD) может быть заказана у - Walnut Creek, - CheapBytes, или в + Walnut Creek, + CheapBytes, или в вашем любимом книжном магазине. Индекс ISBN 1-57176-227-2. - Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2, - большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X. + Так как FreeBSD основана на выпуске Berkeley 4.4BSD-Lite2, + большинство руководств по 4.4BSD подходят к FreeBSD. O'Reilly and Associates издают следующие руководства: @@ -691,11 +696,16 @@ Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, - ``Unix System Administration Handbook'', Prentice-Hall, 1995 + Unix System Administration Handbook, Prentice-Hall, + 1995 ISBN: 0-13-151051-7 - ЗАМЕЧАНИЕ Удостоверьтесь, что вы - получили второе издание, с красной обложкой, а не первое. + + + Удостоверьтесь, что вы получили второе издание, с красной + обложкой, а не первое. + + Эта книга касается основ администрирования, в том числе протоколов TCP/IP, DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, системы печати итд.. @@ -720,7 +730,7 @@ Сообщения пользователей обо всех проблемах могут быть запрошены (или добавлены) с помощью нашего веб-интерфейса и запроса. + URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">запроса. Команда send-pr(1) также может быть использована для передачи и изменения сообщений о проблемах через электронную почту. @@ -739,7 +749,7 @@ Да. Документация имеется в нескольких различных форматах и упакованная разными способами на FTP-сервере FreeBSD, и находится она в каталоге + URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/"> /pub/FreeBSD/doc/. Документация подразделяется на категории различными способами. Это @@ -847,7 +857,7 @@ Формат баз данных Palm Pilot, для использования с утилитой iSilo. + URL="http://www.iSilo.com/">iSilo. @@ -1042,20 +1052,14 @@ File: +DESC (ignored) - С помошью CVSUP: Вы можете скачивать отформатированные файлы с - помощью CVSUP с сервера cvsup.FreeBSD.org. Добавьте следующую - строку в конфигурационный файл cvsup: + С помошью CVSup: + Вы можете запрашивать отформатированные файлы с помощью + CVSup и подключаться к серверу + CVSup. - - www release=current hostname=/home base=/usr/local/etc/cvsup - prefix=/usr/local/www/data/www.FreeBSD.org delete old use-rel-suffix - - - - - С помощью rsync: Обратитесь к странице, посвящённой - зеркалированию. + Для получения страниц веб-сервера посмотрите на пример, находящийся + в файле + /usr/share/examples/cvsup/www-supfile. @@ -1081,7 +1085,12 @@ File: +DESC (ignored) Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам бесплатный CD или футболку и внести вас в список составителей - Руководства, если вы предоставите перевод. + Руководства, если вы предоставите перевод. Перед тем, как начать перевод, + обратитесь в список рассылки freebsd-doc по адресу + freebsd-doc@FreeBSD.org; здесь можно найти тех, кто способен + помочь в переводе. Может также оказаться, что группа, занимающаяся + переводом документации на выбранный вами язык, уже существует, и она не + откажется от вашей помощи. @@ -1252,9 +1261,9 @@ File: +DESC (ignored) дискет, предназначенными для загрузки. Образ содержит полное содержимое дискеты, дорожка за дорожкой, и не предназначен для помещения на дискету в качестве обычного файла. Вам необходимо перенести его - на дискету ``непосредственно'', используя низкоуровневые средства - (такие, как fdimage или rawrite), - описанные в непосредственно, используя низкоуровневые + средства (такие, как fdimage или + rawrite), описанные в Руководстве. @@ -1263,14 +1272,20 @@ File: +DESC (ignored) - -Где инструкции по инсталляции FreeBSD? + + + Где инструкции по установке FreeBSD? + + + + + Инструкции по установке могут быть найдены в + главе + Руководства, посвящённом установке FreeBSD. + + + -Инструкции по установке могут быть найдены в - главе - Руководства, посвящённом установке FreeBSD. - - Что мне нужно иметь для запуска FreeBSD? @@ -1309,20 +1324,20 @@ File: +DESC (ignored) Есть ещё несколько причин, по которым FreeBSD 2.1.7 не будет устанавливаться с 4Мб. А именно: она не будет устанавливаться на системе с 640Кб основной и 3Мб дополнительной памяти. Если ваша - материнская плата может перемещать некоторую ``потерянную'' + материнская плата может перемещать некоторую потерянную память из области 640Кб в область 1Мб, тогда может быть, вы сможете запустить FreeBSD 2.1.7. Попробуйте войти в настройку вашего BIOS и посмотреть параметры - ``перемещения'' (remap). Включите его. Может быть, еще понадобится - выключить теневое ПЗУ (ROM shadowing). + перемещения (remap). Включите его. Может быть, ещё + понадобится выключить теневое ПЗУ (ROM shadowing). Может быть, самое простое решение - найти еще 4Мб на время инсталляции. Откомпилируйте ядро только с теми параметрами, которые нужны и затем уберите 4Мб. Вы можете также проинсталлировать версию 2.0.5, а затем - обновить вашу систему до 2.1.7 с помощью пункта ``upgrade'' + обновить вашу систему до 2.1.7 с помощью пункта upgrade программы инсталляции 2.1.7. После установки вы можете построить ядро, которое будет работать @@ -1351,35 +1366,46 @@ File: +DESC (ignored) - - Могу ли я иметь более чем одну операционную систему на моём PC? - + + + Могу ли я иметь более чем одну операционную систему на моём PC? + -Взгляните на это руководство. - - + - -Может ли Windows 95 сосуществовать с FreeBSD? + Взгляните на это руководство. -Сначала проинсталлируйте Windows 95, затем FreeBSD. Менеджер - загрузки FreeBSD будет управлять процессом загрузки Win95 или - FreeBSD, Если вы после этого ещё раз проинсталлируете Windows 95, - то в процессе установки менеджер загрузки будет грубо удалён. - Если такое случится, обратитесь к следующему разделу. - - + + - Windows 95 уничтожила мой менеджер загрузки! Как мне его + Может ли Windows 95/98 сосуществовать с FreeBSD? + + + + + Сначала установите Windows 95/98, а затем FreeBSD. Менеджер загрузки + FreeBSD будет управлять процессом загрузки Win95/98 или FreeBSD. Если + после этого вы ещё раз выполните процедуру установки Windows 95/98, то при + этом менеджер загрузки будет грубо удалён. Если такое случится, обратитесь + к следующему разделу. + + + + + + + + Windows 95/98 уничтожила мой менеджер загрузки! Как мне его вернуть? - Вы можете переустановить менеджер загрузки FreeBSD двумя + Вы можете переустановить менеджер загрузки FreeBSD тремя способами: @@ -1403,9 +1429,30 @@ File: +DESC (ignored) разделов, первым делом (то есть ещё не делая никаких изменений) выберите (W)rite. Последует запрос на подтверждение, ответьте yes, и когда вы попадёте в меню выбора менеджера загрузки, выберите - пункт "Boot Manager". Менеджер загрузки будет переписан на диск. - Теперь нужно выйти из меню установки и загрузиться с винчестера - как обычно. + пункт Boot Manager. Менеджер загрузки будет + переписан на диск. Теперь нужно выйти из меню установки и загрузиться + с винчестера как обычно. + + + + Загрузитесь с установочной дискеты (или компакт-диска) FreeBSD и + найдите пункт меню Fixit. Выберите Fixit floppy или + CD-ROM #2 (живая файловая система) соответственно + вашему случаю и вы окажетесь в приглашении командного процессора. + Теперь выполните следующую команду: + + +Fixit# fdisk -B -b /boot/boot0 bootdevice + + + + + подставив вместо bootdevice название + реально используемого для загрузки устройства, например, + ad0 (первый диск IDE), + ad4 (первый диск IDE на дополнительном + контроллере), da0 (первый диск SCSI) и + тому подобное. @@ -1413,22 +1460,33 @@ File: +DESC (ignored) - - Можно ли использовать диск с повреждёнными блоками? - + + + Можно ли производить установку на диск с повреждёнными + блоками? + -Программа обнаружения повреждённых блоков - (bad144) - помогает не во всех 100% случаев; (к нашему стыду) - можно, к сожалению, сказать, что если у вас диск IDE или ESDI с - большим количеством повреждённых блоков, то FreeBSD, похоже, не для - вас. Однако она работает на тысячах систем с повреждёнными дисками, - так что лучше всего сначала всё же попробовать самим. - -Если повреждённые блоки находятся на SCSI диске, взгляните на - такое решение. - - + + + До версии 3.0 в поставку FreeBSD включалась утилита, известная под + именем bad144, которая автоматически переносила + повреждённые блоки. Так как современные диски с интерфейсом IDE выполняют + эту функцию самостоятельно, то утилита bad144 была + удалена из дерева исходных текстов FreeBSD. Если вы собираетесь + устанавливать FreeBSD 3.0 и выше, то мы настоятельно рекомендуем приобрести + новый диск. Если вы этого делать не собираетесь, то устанавливайте + FreeBSD 2.x. + + Если вы обнаружите испорченные блоки на современном диске IDE, то + весьма вероятно, что он скоро выйдет из строя совсем (собственная + способность переносить испорченные блоки исчерпана, что означает очень + большую порчу поверхности); мы рекомендуем приобрести новый диск. + + Если повреждённые блоки находятся на SCSI диске, взгляните на такое решение. + + + @@ -1458,13 +1516,12 @@ File: +DESC (ignored) - Если вы используете все эти свежеиспеченные операционные - системы типа Windows95 или WindowsNT, удостоверьтесь, что вы их - закрыли и перестартовали машину в добром старом DOS? Похоже, - что эти операционные системы могут влиять на программы, работающие - непосредственно с оборудованием, что и делает программа создания - установочного диска; даже запуск из DOS в графической оболочке может - вызвать проблемы. + Если вы используете Windows95 или Win98, удостоверьтесь, что вы + запускаете fdimage или rawrite + в режиме чистого DOS? Эти операционные системы могут влиять на + программы, работающие непосредственно с оборудованием, что и делает + программа создания установочного диска; даже запуск из DOS в + графической оболочке может вызвать проблемы. @@ -1476,16 +1533,41 @@ File: +DESC (ignored) + + + Я загрузился с ATAPI CD-ROM, однако программа установки сообщила, что + CD-ROM не найден. Куда он подевался? + + + + + Обычной причиной возникновения такой проблемы является неправильно + сконфигурированный привод CD-ROM. Теперь зачастую ПК продаются с CD-ROM, + установленным как ведомое устройство на втором контроллере IDE, но без + ведущего устройства на этом контроллере. Согласно спецификации ATAPI, + такая конфигурация неверна, однако Windows в таком случае всё же работает, + и BIOS игнорирует это при загрузке. Вот почему BIOS может видеть CD-ROM + при загрузке, а FreeBSD для завершения установки - нет. + + Переконфигурируйте вашу систему так, чтобы CD-ROM оказался либо + основным устройством на том IDE-контроллере, на котором он установлен, + либо ведомым устройством на контроллере IDE, который имеет ведущее + устройство. + + + + + Помогите! Не могу установить систему с ленты! Если вы инсталлируете 2.1.7R с ленты, вы должны создать - ленту с размером блока tar, равным 10 (5120 байт). Размер - блока tar по умолчанию равен 20 (10240 байт), поэтому ленты, - созданные со стандартным размером блока, не могут быть использованы - для установки 2.1.7R; вы получите сообщение об ошибке, говорящее, - что размер записи слишком большой. - +ленту с размером блока tar, равным 10 (5120 байт). Размер +блока tar по умолчанию равен 20 (10240 байт), поэтому ленты, +созданные со стандартным размером блока, не могут быть использованы +для установки 2.1.7R; вы получите сообщение об ошибке, говорящее, +что размер записи слишком большой. + @@ -1513,13 +1595,11 @@ lp0: TCP/IP capable interface администратором. Например, если вы хотите соединить хосты с именами max и moritz - - - max <-----> moritz + + max <-----> moritz IP Address 10.0.0.1 10.0.0.2 - - - + + на машине max дайте команду @@ -1715,23 +1795,25 @@ BUSY - (Под "параметрами" диска мы понимаем число дорожек, головок и - секторов на дорожку на диске, что для простоты обозначается как + (Под параметрами диска мы понимаем число дорожек, + головок и секторов на дорожку на диске, что для простоты обозначается как C/H/S. Именно так работает BIOS персональных компьютеров при чтении или записи диска). Похоже, что по каким-то причинам это вызывает много недоразумений. Прежде всего, физические параметры диска SCSI не имеют никакого значения, так как FreeBSD работает в терминах дисковых - блоков. Фактически нет такого показателя, как "физические параметры", - так как плотность размещения секторов различна по всему диску; то, - что производители называют "реальными" физическими параметрами, есть не + блоков. Фактически нет такого показателя, как физические + параметры, так как плотность размещения секторов различна по + всему диску; то, что производители называют реальными + физическими параметрами, есть не что иное, как свободное пространство. Для дисков IDE, FreeBSD работает в терминах C/H/S, но во всех современных дисках они преобразовываются во внутреннее представление. Имеют значение только логические параметры - это - те, что получает BIOS, когда спрашивает "какие у тебя параметры?", а затем + те, что получает BIOS, когда спрашивает какие у тебя + параметры?, а затем использует для обращения к диску. Так как FreeBSD использует BIOS при загрузке, очень важно получить верные параметры. В частности, если у вас на диске находятся несколько операционных систем, они обе @@ -1740,9 +1822,10 @@ BUSY В случае дисков SCSI, параметры используются в зависимости от того, включена ли поддержка расширенной трансляции на вашем контроллере - (что часто обозначается как "support for DOS disks >1GB" или + (что часто обозначается как поддержка дисков DOS >1GB или что-то похожее). Если эта возможность выключена, то используйте - N дорожек, 64 головки и 32 сектора на дорожку, где N - это ёмкость + N дорожек, 64 головки и 32 сектора на дорожку, + где N - это ёмкость диска в мегабайтах. Например, 2Гбайтный диск должен иметь 2048 дорожек, 64 головки и 32 сектора а дороку. @@ -1762,7 +1845,7 @@ BUSY вещей). Кроме того, существует свободно доступная утилита, распространяемая - вместе с FreeBSD, которая называется ``pfdisk.exe'' + вместе с FreeBSD, которая называется pfdisk.exe (можно найти в каталоге tools компакт-диска с FreeBSD или на различных ftp-серверах), которую можно использовать для определения параметров, которые используются другими операционными системами, @@ -1811,58 +1894,53 @@ BUSY - -При загрузке FreeBSD выдается сообщение ``Missing Operating System'' - -Это классический случай, когда FreeBSD и DOS или другая операционная - система конфликтуют по поводу параметров - диска. Вам нужно будет переустановить FreeBSD, но имейте в виду, что - инструкции, данные выше, помогают всегда. - - + + + При загрузке FreeBSD выдается сообщение Missing Operating + System + - - После приглашения менеджера загрузки `F?' ничего не происходит. - + -Это ещё один признак проблемы, описанной в предыдущем разделе. - Параметры диска в BIOS и параметры, используемые FreeBSD, не - совпадают. Если ваш контроллер или BIOS поддерживают трансляцию - дорожек (часто обозначаемую как ``>1GB drive support''), - попробуйте включить эту возможность и переустановить FreeBSD. - - + Это классический случай, когда FreeBSD и DOS или другая операционная + система конфликтуют по поводу параметров + диска. Вам нужно будет переустановить FreeBSD, но имейте в виду, что + инструкции, данные выше, помогают всегда. - - У меня >16Мб ОЗУ. Это не вызовет никаких проблем? - + + -Кроме разве что вопроса производительности, нет. Во FreeBSD 2.X - встроен контроль границ буферов (bounce buffers), что позволяет вашим - контроллерам, работающим в режиме прямого доступа к шине, иметь доступ - к памяти выше 16Мб. (Заметьте, что это будет требоваться только если - вы используете устройства ISA, хотя этого также требуют некоторые - устройства EISA и VLB). - -Обратитесь к разделу о машинах - с >64Mб, если у вас столько ОЗУ или вы используете - машины Compaq или BIOS, который выдаёт неверные параметры ОЗУ. - - + + + + После приглашения менеджера загрузки F? ничего не + происходит. + + + + + Это ещё один признак проблемы, описанной в предыдущем разделе. + Параметры диска в BIOS и параметры, используемые FreeBSD, не + совпадают. Если ваш контроллер или BIOS поддерживают трансляцию + дорожек (часто обозначаемую как >1GB drive support), + попробуйте включить эту возможность и переустановить FreeBSD. + + + Нужно ли устанавливать все исходные тексты системы? - + + + В общем случае, нет. Однако мы настоятельно рекомендуем установить, как - минимум, исходные тексты набора ``base'', + минимум, исходные тексты набора base, включающий некоторые файлы, здесь упоминаемые, - и ``sys'', в который включены исходные тексты + и sys, в который включены исходные тексты ядра. Для работы системы присутствия исходных текстов не требуется, разве что для программы конфигурирования ядра &man.config.8;. За исключением исходных текстов ядра, структура исходных текстов системы @@ -1877,30 +1955,33 @@ id="bigram"> Для выбора подмножества исходных текстов, которое вы хотите установить, используйте пункт меню Custom, когда находитесь в меню - Distributions программы установки. Скрипт - src/install.sh также инсталлирует часть исходных - текстов в зависимости от указанного при его запуске параметра. - + Distributions программы установки. + - -Нужно ли перекомпилировать ядро? + + + Нужно ли перекомпилировать ядро? + -Построение нового ядра всегда было необходимым шагом при - установке FreeBSD, однако последние релизы предоставляют более - дружественный инструмент конфигурации ядра. В командной строке - на приглашение загрузчика FreeBSD (boot:) введите "-c" и вы - попадёте в экран визуальной настройки, которая позволяет - конфигурировать настройки ядра для большинства адаптеров ISA. + + + Построение нового ядра всегда было необходимым шагом при + установке FreeBSD, однако последние релизы предоставляют более + дружественный инструмент конфигурации ядра. В командной строке + на приглашение загрузчика FreeBSD (boot:) введите и вы + попадёте в экран визуальной настройки, которая позволяет + конфигурировать настройки ядра для большинства адаптеров ISA. -Однако рекомендуется, что потом вы всё же построите новое ядро, - содержащее только те дравера, которые вам нужны, для того, - чтобы сэкономить немного ОЗУ, хотя для большиства систем это - больше не является большой необходимостью. - - + Однако рекомендуется, что потом вы всё же построите новое ядро, + содержащее только те дравера, которые вам нужны, для того, + чтобы сэкономить немного ОЗУ, хотя для большиства систем это + больше не является большой необходимостью. + + + @@ -1936,21 +2017,21 @@ id="bigram"> Южная Африка - + ftp://ftp.internat.FreeBSD.org/pub/FreeBSD/, + URL="ftp://storm.sea.uct.ac.za/pub/FreeBSD/"> ftp://storm.sea.uct.ac.za/pub/FreeBSD/ Бразилия - + ftp://ftp.iqm.unicamp.br/pub/FreeBSD/ Финляндия - + ftp://nic.funet.fi/pub/unix/FreeBSD/eurocrypt/ @@ -1975,29 +2056,34 @@ id="bigram"> Существует список рассылки, посвящённый неамериканскому криптографическому программному обеспечению. Для запроса информации пошлите письмо, содержащее одну строчку - ``help'' в теле сообщения на адрес + help в теле сообщения на адрес majordomo@braae.ru.ac.za. - - Загрузка с установочной дискеты прерывается на сообщении - ``Probing Devices...''. - + + + Загрузка с установочной дискеты прерывается на сообщении + Probing Devices.... + -Если у вас установлены устройства IDE Zip или Jaz, уберите их - и попробуйте снова. Они могут мешать инсталляционной программе. После - того, как система будет установлена, вы можете снова подключить - устройства. Надеемся, что это будет исправлено в более поздних - релизах. + + + Если у вас установлены устройства IDE Zip или Jaz, уберите их + и попробуйте снова. Они могут мешать инсталляционной программе. После + того, как система будет установлена, вы можете снова подключить + устройства. Надеемся, что это будет исправлено в более поздних + релизах. - + + + - Сообщение ``panic: cant mount root'' после перезагрузки + Сообщение panic: cant mount root после перезагрузки только что установленной системы. @@ -2019,9 +2105,9 @@ id="bigram"> Для FreeBSD 3.3 и выше, перегрузите систему и нажмите - "Enter" при появлении приглашения "Booting kernel in - 10 seconds; hit [Enter] to interrupt". Вы окажетесь в - загрузчике. + Enter при появлении приглашения Booting + kernel in 10 seconds; hit [Enter] to interrupt. Вы + окажетесь в загрузчике. После этого наберите set root_disk_unit="disk_number". @@ -2033,8 +2119,8 @@ id="bigram"> 3, если она установлена на ведомом диске второго контроллера IDE. - Затем введите команду "boot", и ваша система должна - нормально загрузиться. + Затем введите команду boot, и ваша система + должна нормально загрузиться. Чтобы сделать эти изменения постоянными (то есть чтобы вам не было нужды выполнять эти действия каждый раз при перезагрузке или @@ -2047,7 +2133,7 @@ id="bigram"> При использовании FreeBSD 3.2 и более ранних версий в приглашении Boot: наберите 1:wd(2,a)kernel и нажмите клавишу Enter. Если система запустилась, выполните команду - echo "1:wd(2,a)kernel" > /boot.config + echo "1:wd(2,a)kernel" > /boot.config чтобы сделать это строкой загрузки по умолчанию. @@ -2199,21 +2285,6 @@ disk wd2 at wdc1 drive 1 # change from wd3 to wd2 - - - максимальный размер файла - ---------------------------------- - 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 - - - При размере блока файловой системы 4К, тройная адресация блоков работает и всё должно быть ограничено максимальным количеством блоков, которое задаётся в виде тройной переадресации @@ -2237,27 +2308,31 @@ disk wd2 at wdc1 drive 1 # change from wd3 to wd2 - -Как можно поместить файлы размером 1ТБ на дискету? + + + Как можно поместить файлы размером 1ТБ на дискету? + -Я храню парочку таких на дискете :-) Максимальный размер + + + Я храню парочку таких на дискете :-) Максимальный размер файла не связан непосредственно с максимальным размером диска. Максимальный размер диска равен 1ТБ. Особенностью является то, что размер файла может превышать размер диска. -В следующем примере создаётся файл размером 8Т-1 с помощью всего + В следующем примере создаётся файл размером 8Т-1 с помощью всего 32К дискового пространства (3 блока адреса и 1 блок данных) на маленьком корневом разделе. Команда dd должна уметь работать с большими файлами. - -ttyv0:bde@alphplex:/tmp/q> cat foo + +&prompt.user; cat foo 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; sh foo 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 - - -Bruce Evans, September 1998 - - + - - Я скомпилировал новое ядро и при загрузке получил сообщение об ошибке - "archsw.readin.failed". - - -Вы можете осуществить загрузку системы, явно указав ядро во время - второго этапа загрузочного процесса, нажав любую клавишу после - появления символа | до запуска загрузчика. Более точно, вы обновили - исходные тексты ядра, откомпилировали и установили новое ядро без - выполнения make world . Такое не поддерживается. Выполните - make world. + Bruce Evans, September 1998 - Как произвести обновление 3.X -> 4.X? + + Я скомпилировал новое ядро и при загрузке получил сообщение об ошибке + archsw.readin.failed. + + + + + Вы можете осуществить загрузку системы, явно указав ядро во время + второго этапа загрузочного процесса, нажав любую клавишу после + появления символа | до запуска загрузчика. Более точно, вы обновили + исходные тексты ядра, откомпилировали и установили новое ядро без + выполнения make world . Такое не поддерживается. Выполните + make world. + + + + + + + Как произвести обновление 3.X -> 4.X? Мы настоятельно рекомендуем воспользоваться - для этой цели двоичными снэпшотами. Снэпшоты 4.X-STABLE находятся на + для этой цели бинарными снэпшотами. Снэпшоты ветки 4.STABLE находятся на сервере releng4.FreeBSD.org. + URL="ftp://releng4.FreeBSD.org">releng4.FreeBSD.org. Если вы хотите произвести обновление с помощью исходных текстов, то за дополнительной пожалуйста, обратитесь к Руководству по + URL="http://www.FreeBSD.org/handbook/cutting-edge.html">Руководству по FreeBSD. Обновление через исходные тексты, а тем более 3.X -> 4.X, @@ -2315,22 +2394,27 @@ ttyv0:bde@alphplex:/tmp/q> exit - + Аппаратная совместимость + + + + Какие типы винчестеров поддерживает FreeBSD? + - -Какие типы винчестеров поддерживает FreeBSD? + + + FreeBSD работает с дисками стандартов EIDE и SCSI (с + соответствующими контроллерами; обратитесь к следующему разделу), и + всеми дисками, использующими оригинальный интерфейс Western + Digital (MFM, RLL, ESDI и, конечно же, IDE). Некоторые + контроллеры ESDI, использующие собственные интерфейсы, могут и не + работать: к таким относятся WD1002/3/6/7 и их клоны. + + + -FreeBSD работает с дисками стандартов EIDE и SCSI (с - соответствующими контроллерами; обратитесь к следующему разделу), и - всеми дисками, использующими оригинальный интерфейс "Western Digital" - (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, - использующие собственные интерфейсы, могут и не работать: к таким - относятся WD1002/3/6/7 и их клоны. - - Какие поддерживаются контроллеры SCSI? @@ -2342,7 +2426,7 @@ id="hardware"> Какие приводы CD-ROM поддерживаются во FreeBSD? -Поддерживаются любые SCSI-устройства чнения компакт дисков, +Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру. Кроме того, поддерживаются следующие оригинальные интерфейсы: @@ -2386,52 +2470,65 @@ id="hardware"> - -Поддерживает ли FreeBSD устройства ZIP? -Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству - ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего - SCSI-адаптера поддерживает такую возможность, вы можете с него даже - загрузиться. Мне не известны адаптеры, позволяющие загрузиться с - устройств, номера которых отличны от 0 или 1... посмотрите в - вашей документации (и сообщите мне, если у вас это работает). - -Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная - с версии 2.2.6. - -FreeBSD поддерживает устройства Zip, работающие через параллельный - порт, начиная с версии 3.0. Если вы используете более новую версию, - проверьте, содержит ли ваше ядро драйверы для scbus0, da0 - , ppbus0 и vp0 (ядро GENERIC содержит всё это, - кроме vp0). Если эти драйверы имеются, то устройство должно быть - доступно как /dev/da0s4. Диски могут быть смонтированы - командами mount /dev/da0s4 /mnt или (для дисков dos) - mount_msdos /dev/da0s4 /mnt. - -Также посмотрите следующее замечание - о съёмных носителях, и это замечание - о 'форматировании'. - - + + + Поддерживает ли FreeBSD устройства ZIP? + - - Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ? - + -Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что - для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен - выглядеть как диск IDE. - -Я не знаю, насколько хорошо FreeBSD поддерживает - смену носителя во время работы. Конечно, чтобы сменить диск, вам - сначала нужно его размонтировать, и обратите внимание на то, что при - загрузке все внешние устройства должны быть включены, чтобы FreeBSD - могла их распознать. - -Посмотрите это замечание о - 'форматировании'. - - + Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству + ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего + SCSI-адаптера поддерживает такую возможность, вы можете с него даже + загрузиться. Мне не известны адаптеры, позволяющие загрузиться с + устройств, номера которых отличны от 0 или 1... посмотрите в + вашей документации (и сообщите мне, если у вас это работает). + + Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная + с версии 2.2.6. + + FreeBSD поддерживает устройства Zip, работающие через параллельный + порт, начиная с версии 3.0. Если вы используете более новую версию, + проверьте, содержит ли ваше ядро драйверы для + scbus0, da0, + ppbus0 и vp0 (ядро + GENERIC содержит всё это, кроме vp0). Если эти + драйверы имеются, то устройство должно быть доступно как + /dev/da0s4. Диски могут быть смонтированы + командами mount /dev/da0s4 /mnt или (для дисков dos) + mount_msdos /dev/da0s4 /mnt соответственно. + + Также посмотрите следующее замечание + о съёмных носителях, и это замечание + о форматировании. + + + + + + + + Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ? + + + + + Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что + для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен + выглядеть как диск IDE. + + Я не знаю, насколько хорошо FreeBSD поддерживает + смену носителя во время работы. Конечно, чтобы сменить диск, вам + сначала нужно его размонтировать, и обратите внимание на то, что при + загрузке все внешние устройства должны быть включены, чтобы FreeBSD + могла их распознать. + + Посмотрите это замечание о + форматировании. + + + @@ -2479,6 +2576,17 @@ id="hardware"> перестройте ядро. +device uhci +device ohci +device usb +device ukbd +options KBD_INSTALL_CDEV + + + При использовании FreeBSD версий, предшествующих 4.0, добавьте + вместо этого такие строки: + + controller uhci0 controller ohci0 controller usb0 @@ -2509,10 +2617,10 @@ id="hardware"> После перезагрузки системы AT-клавиатуре будет соответствовать - /dev/kbd0, а клавиатуре USB - - /dev/kbd1, если они обе подключены к системе. + /dev/kbd0, а клавиатуре USB - + /dev/kbd1, если они обе подключены к системе. Если присутствует только клавиатура USB, ей будет соответствовать - /dev/ukbd0. + /dev/ukbd0. Если вы хотите использовать клавиатуру USB на консоли, вы должны явно указать драйверу консоли на использование имеющейся клавиатуры @@ -2524,11 +2632,11 @@ id="hardware"> Заметьте, что, если клавиатура USB является единственной - присутствующей, она доступна как /dev/kbd0, + присутствующей, она доступна как /dev/kbd0, и поэтому команда должна выглядеть примерно так: - &prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null +&prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null Вышеуказанную команду хорошо бы добавить в @@ -2548,165 +2656,169 @@ id="hardware"> - -У меня необычная мышь типа bus mouse. Как её настроить? - + + + У меня необычная мышь типа bus mouse. Как её настроить? + -FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких - производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse - включен по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в - версию 3.0 и выше. Если вы строите собственное ядро с этим драйвером, - добавьте следующую строку в конфигурационный файл ядра + + + FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких + производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse + включен по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в + версию 3.0 и выше. Если вы строите собственное ядро с этим драйвером, + добавьте следующую строку в конфигурационный файл ядра + + Во FreeBSD 3.0 и ранее, добавьте: + + +device mse0 at isa? port 0x23c tty irq5 vector mseintr + + + Во FreeBSD 3.X строчка должна иметь вид: + + +device mse0 at isa? port 0x23c tty irq5 + + + А во FreeBSD 4.X и выше строчка должна быть такой: + + +device mse0 at isa? port 0x23c irq5 + + + Мышь типа bus mouse обычно поставляется с отдельными интерфейсными + адаптерами. Они позволяют установить адрес порта ввода/вывода и номер IRQ, + отличающиеся от приведённых выше. Для получения дополнительной информации + обратитесь к документации по вашей мыши и странице Справочника + &man.mse.4;. + + + + + + + + Как использовать мышь PS/2 (типа mouse port или + keyboard)? + + + + + Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый + драйвер, psm, включён в ядро и активизирован. + Ядро должно обнаружить мышь PS/2 во время загрузки. + + Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD + (2.1.x и выше), то вы можете просто включить её поддержку в меню + конфигурации ядра во время инсталляции, либо позже, указав + в приглашении boot:. По умолчанию + она отключена, так что вы должны включить её явно. + + Если вы используете более старую версию FreeBSD, то вам нужно добавить + следующие строки в файл конфигурации ядра и построить новое ядро. + + Во FreeBSD 3.0 и ранее, строчка должна иметь вид: -Во FreeBSD 3.0 и ранее, добавьте: + +device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr + - - - device mse0 at isa? port 0x23c tty irq5 vector mseintr - - + Во FreeBSD 3.1 и выше, строчка должна быть такой: + + +device psm0 at isa? tty irq 12 + + + Во FreeBSD 4.0 и выше строчка должна иметь вид: + + +device psm0 at atkbdc? irq 12 + + + Обратитесь к главе Руководства о конфигурировании ядра, если + вы не имели опыта такой работы. + + После того, как ядро правильно обнаружило psm0 + во время загрузки, проверьте существование файла устройства для + psm0 в каталоге /dev. Это + можно сделать, набрав: + + +&prompt.root; cd /dev; sh MAKEDEV psm0 + + + войдя в систему администратором. -Во FreeBSD 3.1 и выше, строчка должна иметь вид: - - - - device mse0 at isa? port 0x23c tty irq5 - - - -Мышь типа bus mouse обычно поставляется с отдельным интерфейсным - адаптером. Он позволяет установить адрес порта ввода/вывода и номер IRQ, - отличающиеся от приведённых выше. Для получения дополнительной информации - обратитесь к документации по вашей мыши и странице Справочника - &man.mse.4;. - - + + - -Как использовать мышь PS/2 (типа ``mouse port'' или ``keyboard'')? - + + + Можно ли каким-либо образом использовать мышь, кроме X Window? + -Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый - драйвер, psm, включён в ядро и активизирован. Ядро - должно обнаружить мышь PS/2 во время загрузки. - -Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD - (2.1.x и выше), то вы можете просто включить её поддержку в меню конфигурации - ядра во время инсталляции, либо позже, указав в - приглашении boot:. По умолчанию она отключена, так что - вы должны включить её явно. - -Если вы используете более старую версию FreeBSD, то вам нужно добавить - следующие строки в файл конфигурации ядра и построить новое ядро. + -Во FreeBSD 3.0 и ранее, строчка должна иметь вид: - - - - device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr - - - -Во FreeBSD 3.1 и выше, строчка должна быть такой: - - - - device psm0 at isa? tty irq 12 - - - -Во FreeBSD 4.0-CURRENT и выше, строчка должна иметь вид: - - - - device psm0 at atkbdc? irq 12 - - - -Обратитесь к главе Руководства о конфигурировании ядра, если - вы не имели опыта такой работы. - -После того, как ядро правильно обнаружило psm0 - во время загрузки, проверьте существование файла устройства для - psm0 в каталоге /dev. Это - можно сделать, набрав: - - - - cd /dev; sh MAKEDEV psm0 - - - -войдя в систему администратором. - - - - - - Можно ли каким-либо образом использовать мышь, кроме X Window? - - - -Если вы используете стандартный драйвер консоли, syscons, то можете - использовать указатель мыши в текстовых консолях для выделения и - переноса текста. Запустите демон мыши, moused, и включите отображение - указателя мыши на консоли: + Если вы используете стандартный драйвер консоли, syscons, то можете + использовать указатель мыши в текстовых консолях для выделения и + переноса текста. Запустите демон мыши, moused, и включите отображение + указателя мыши на консоли: - - moused -p /dev/xxxx -t yyyy - vidcontrol -m on - - - -Здесь xxxx - это имя устройства мыши, - а yyyy - тип протокола, используемого мышью. - Страница Справочника по &man.moused.8; содержит информацию о поддерживаемых - типах протоколов. - -Вы можете запускать демон мыши автоматически во время старта - системы. В версии 2.2.1, установите значение следующей переменной в - /etc/sysconfig. - - - mousedtype="yyyy" - mousedport="xxxx" - mousedflags="" - - - - В версиях 2.2.2 и выше, установите значения следующих переменных в - /etc/rc.conf. - - - moused_type="yyyy" - moused_port="xxxx" - moused_flags="" - - - -Кроме того, если вы хотите использовать даемон мыши на всех виртуальных - терминалах, а не только на консоли во время загрузки, добавьте следующую - строку в файл /etc/rc.conf. + +&prompt.root; moused -p /dev/xxxx -t yyyy +&prompt.root; vidcontrol -m on + - - - allscreens_flags="-m on" - - + Здесь xxxx - это имя устройства мыши, + а yyyy - тип протокола, используемого мышью. + Страница Справочника по &man.moused.8; содержит информацию о поддерживаемых + типах протоколов. -Начиная с FreeBSD 2.2.6, даемон мыши в состоянии определять тип протокола - автоматически, если, конечно, мышь не достаточно древней модели. Укажите - ``auto'' для автоматического определения типа - протокола. - -После запуска даемона мыши, доступ к мыши должен согласовываться - между даемоном мыши и другими программами типа X Window. Этот вопрос - рассмотрен в другом разделе. - - + Вы можете запускать демон мыши автоматически во время старта + системы. В версии 2.2.1, установите значение следующей переменной в + /etc/sysconfig. + + +mousedtype="yyyy" +mousedport="xxxx" +mousedflags="" + + + В версиях от 2.2.2 и до 3.0, установите значения следующих переменных + в файле /etc/rc.conf. + + +moused_type="yyyy" +moused_port="xxxx" +moused_flags="" + + + В версиях 3.1 и выше, если предположить, что у вас мышь типа PS/2, то + достаточно добавить строчку moused_enable="YES" в файл + /etc/rc.conf. + + Кроме того, если вы хотите использовать даемон мыши на всех виртуальных + терминалах, а не только на консоли во время загрузки, добавьте следующую + строку в файл /etc/rc.conf. + + +allscreens_flags="-m on" + + + Начиная с FreeBSD 2.2.6, даемон мыши в состоянии определять тип + протокола автоматически, если, конечно, мышь не достаточно древней + модели. Укажите auto для автоматического + определения типа протокола. + + После запуска даемона мыши, доступ к мыши должен согласовываться + между даемоном мыши и другими программами типа X Window. Этот вопрос + рассмотрен в другом разделе. + + + @@ -2724,8 +2836,8 @@ id="moused"> с текущей позиции курсора. В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. - Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у вашей - мыши отсутствует средняя кнопка, вы можете её сэмулировать или + Нажатие на кнопку 3 расширит выбранный область текста. Если + у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused. Обратитесь к странице Справочника по moused(8). @@ -2755,6 +2867,16 @@ id="moused"> перестройте ядро. +device uhci +device ohci +device usb +device ums + + + Во FreeBSD версий, предшествующих 4.0, вместо этого добавьте + такие строчки: + + controller uhci0 controller ohci0 controller usb0 @@ -2773,7 +2895,7 @@ id="moused"> - Одредактируйте файл /etc/rc.conf, добавив + Отредактируйте файл /etc/rc.conf, добавив такие строчки: @@ -2828,14 +2950,15 @@ id="moused"> - Ответ, к сожалению, `в зависимости от обстоятельств'. - Эти мышки с дополнительными возможностями, как правило, требуют наличия - специальных драйверов. До тех пор, пока драйвер мыши или прикладная - программа не будут иметь отдельную поддержку такой мыши, она будет - работать как стандартная двух- или трёхкнопочная мышь. - Возможные способы использования колёсиков мыши при работе в X Window - описаны в другом разделе. + Ответ, к сожалению, в зависимости от обстоятельств. + Эти мышки с дополнительными возможностями, как правило, требуют наличия + специальных драйверов. До тех пор, пока драйвер мыши или прикладная + программа не будут иметь отдельную поддержку такой мыши, она будет + работать как стандартная двух- или трёхкнопочная мышь. + + Возможные способы использования колёсиков мыши при работе в X Window + описаны в другом разделе. @@ -2848,13 +2971,14 @@ id="moused"> - В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются - проблемы при работе с некоторыми мышками, у которых есть колёсико, в том - числе с мышками Logitech модель M-S48 и их OEM-разновидностями. - Исправьте файл /sys/i386/isa/psm.c с помощью - следующего патча и перестройте ядро. - + В драйвере psm для мыши PS/2 во FreeBSD версий 3.2 и ранее имеются + проблемы при работе с некоторыми мышками, у которых есть колёсико, в том + числе с мышками Logitech модель M-S48 и их OEM-разновидностями. + Исправьте файл /sys/i386/isa/psm.c с помощью + следующего патча и перестройте ядро. + + 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 - -Какие звуковые платы поддерживаются во FreeBSD? + + + Какие звуковые платы поддерживаются во FreeBSD? + -FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, - SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. - Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. - Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также - поддерживаются драйвером pcm. - -ЗАМЕЧАНИЕ Это касается только звука! Этот - драйвер не поддерживает CDROM, SCSI или джойстики на всех подобных - адаптерах, кроме SoundBlaster. Поддерживаются устройства на - SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но загрузиться с них - невозможно. - - + - -Есть ли решение проблемы отсутствия звука при использовании - драйвера pcm с адаптером es1370? + FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, + SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. + Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. + Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также + поддерживаются драйвером pcm. -При каждой перезагрузке вам нужно запускать следующую команду: + + + Это касается только звука! Этот драйвер не поддерживает CDROM, + SCSI или джойстики ни на каких подобных адаптерах, кроме SoundBlaster. + Поддерживаются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI + CDROM, но загрузиться с них невозможно. + + -mixer pcm 100 vol 100 cd 100 + + - + + + + Есть ли решение проблемы отсутствия звука при использовании + драйвера pcm с адаптером es1370? + + + + + При каждой перезагрузке вам нужно запускать следующую команду: + + +&prompt.root; mixer pcm 100 vol 100 cd 100 + + + + @@ -2985,38 +3125,57 @@ diff -u -r1.60.2.1 -r1.60.2.2 - -На моей машине отсутствует математический сопроцессор - это плохо? - + + + На моей машине отсутствует математический сопроцессор - это + плохо? + -Замечание Это касается только владельцев - компьютеров 386/486SX/486SLC - во всех остальных машинах модуль вычислений - с плавающей точкой объединён с центральным процессором. + -В общем случае это не проблема, но в отсутствии сопроцессора вы - можете столкнуться со снижением производительность и точности при - использовании программной эмуляции сопроцессора (обратитесь к разделу - об эмуляции вычислений с плавающей точкой). - В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение - математического сопроцессора настоятельно рекомендуется, он того стоит. + + + Это касается только владельцев компьютеров 386/486SX/486SLC - во + всех остальных машинах модуль вычислений с плавающей точкой объединён + с центральным процессором. + + -ЗАМЕЧАНИЕ Некоторые математические - сопроцессоры работают лучше, чем другие. Нам неприятно это признавать, - но Intel пока никого не подводил. Если вы не уверены, что сопроцессор - будет работать с FreeBSD, избегайте клонов. + В общем случае это не проблема, но в отсутствии сопроцессора вы + можете столкнуться со снижением производительность и точности при + использовании программной эмуляции сопроцессора (обратитесь к разделу + об эмуляции вычислений с плавающей точкой). + В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение + математического сопроцессора настоятельно рекомендуется, он того + стоит. - + + + Некоторые математические сопроцессоры работают лучше, чем другие. + Нам неприятно это признавать, но Intel пока никого не подводил. Если + вы не уверены, что сопроцессор будет работать с FreeBSD, избегайте + клонов. + + + + + - -Какие ещё устройства поддерживаются в 2.X? + + + Какие ещё устройства поддерживаются во FreeBSD? + -В Руководстве - приведён список остальных устройств, которые поддерживаются во - FreeBSD. + - + В Руководстве + приведён список остальных устройств, которые поддерживаются во + FreeBSD. + + + @@ -3028,7 +3187,7 @@ diff -u -r1.60.2.1 -r1.60.2.2 FreeBSD поддерживает APM на некоторых машинах. Поищите в файле - конфигурации ядра LINT слово LINT слово APM. @@ -3044,21 +3203,30 @@ diff -u -r1.60.2.1 -r1.60.2.2 - -Компьютеры Micron зависают при загрузке -Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую - стандарту PCI BIOS, что приводит к печальным последствиям при - загрузке FreeBSD, потому что имеет место несоответствие устройств - PCI занимаемым ими адресам. - -Для решения этой проблемы отключите в BIOS опцию "Plug and Play - Operating System" . - -Более подробная информация об этой проблеме находится по следующему - адресу: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron - - + + + Компьютеры Micron зависают при загрузке + + + + + Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую + стандарту PCI BIOS, что приводит к печальным последствиям при + загрузке FreeBSD, потому что имеет место несоответствие устройств + PCI занимаемым ими адресам. + + Для решения этой проблемы отключите в BIOS опцию Plug and Play + Operating System. + + Более подробная информация об этой проблеме находится по следующему + адресу: + http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron + + + + FreeBSD не распознаёт мой новейший контроллер от Adaptec. @@ -3073,87 +3241,112 @@ diff -u -r1.60.2.1 -r1.60.2.2 - -FreeBSD не находит внутренний модем Plug & Play. -Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера - последовательного порта. Для включения поддержки Plug & Play, - откомпилируйте новое ядро с опцией controller - pnp0 в конфигурационном файле, и перезагрузите машину. Ядро - выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в - таблицу в файле /sys/i386/isa/sio.c, где-то в районе - 2777 строки. Чтобы найти таблицу, поищите слово "SUP1310" в структуре - "siopnp_ids[]". Снова постройте ядро, проинсталлируйте его и - перезагрузитесь. Теперь ваш модем должен быть опознан. - -Вам может понадобиться отконфигурировать PnP-устройства командой 'pnp' - в конфигураторе во время загрузки следующим образом: - - - pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 - + + + FreeBSD не находит внутренний модем Plug & Play. + - чтобы модем был распознан. - - + - - Как сделать, чтобы приглашение boot: выводилось на консоль на - последовательном порту? - + Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера + последовательного порта. Для включения поддержки Plug & Play, + откомпилируйте новое ядро с опцией controller pnp0 + в конфигурационном файле, и перезагрузите машину. Ядро + выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в + таблицу в файле /sys/i386/isa/sio.c, где-то в районе + 2777 строки. Чтобы найти таблицу, поищите слово SUP1310 + в структуре siopnp_ids[]. Снова постройте ядро, + проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть + опознан. - - + Вам может понадобиться отконфигурировать PnP-устройства командой + pnp в конфигураторе во время загрузки следующим + образом: - -Постройте ядро с опцией options COMCONSOLE. + + +pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 + + + чтобы модем был распознан. + + + + + + + + Как сделать, чтобы приглашение boot: выводилось на консоль на + последовательном порту? + + + + + + + + Постройте ядро с параметром + options COMCONSOLE. + + + + Создайте файл /boot.config, поместив туда только текст + . + + + + Отключите клавиатуру. + + - - -Создайте файл /boot.config, поместив туда только текст . - - + Подробная информация находится в файле + /usr/src/sys/i386/boot/biosboot/README.serial. - -Отключите клавиатуру. - - + + - - - -Подробная информация находится в файле - /usr/src/sys/i386/boot/biosboot/README.serial. - - - - Почему сетевой адаптер 3Com PCI не работает с компьютерами Micron? - + + + Почему сетевой адаптер 3Com PCI не работает с компьютерами + Micron? + -Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую - стандарту PCI BIOS, что приводит к несоответствию устройств PCI - занимаемым ими адресам. Это приводит к печальным последствиям при - загрузке FreeBSD. - -Для решения этой проблемы отключите в BIOS опцию "Plug and Play - Operating System" . - -Более подробная информация об этой проблеме находится по следующему - адресу: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron - - + + + Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую + стандарту PCI BIOS, что приводит к несоответствию устройств PCI + занимаемым ими адресам. Это приводит к печальным последствиям при + загрузке FreeBSD. + + Для решения этой проблемы отключите в BIOS опцию Plug and Play + Operating System. + + Более подробная информация об этой проблеме находится по следующему + адресу: + http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron + + + Поддерживает ли FreeBSD многопроцессорные системы (SMP)? - + + + + + Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и + последующих релизах. По умолчанию поддержка SMP в ядре + GENERIC не включена, так что для её включения вам + нужно будет перекомпилировать ядро. Посмотрите в файл + /sys/i386/conf/LINT, чтобы определить, какие параметры + нужно поместить в конфигурационный файл вашего ядра. -Поддержка SMP (Symmetric Multiprocessing) имеется только в - 3.0-STABLE и последующих релизах. - @@ -3178,470 +3371,538 @@ id="troubleshoot"> Устранение некоторых проблем - - На моём винчестеры есть запорченные блоки! - + + + + На моём винчестеры есть запорченные блоки! + -Если это SCSI-устройство, то винчестер должен иметь возможность - автоматической переадресации таких блоков. Однако по непонятным - причинам во многих поставляемых дисках эта возможность отключена... - -Чтобы её включить, вам нужно изменить режим работы устройства, что - во FreeBSD может быть выполнено администратором посредством команды - - - scsi -f /dev/rsd0c -m 1 -e -P 3 - - - -и изменить значения параметров AWRE и ARRE с 0 на 1:- - - - AWRE (Auto Write Reallocation Enbld): 1 - ARRE (Auto Read Reallocation Enbld): 1 - - - -Последующие параграфы были предоставлены - Тэдом Миттельштадтом - (Ted Mittelstaedt): - -Для дисков IDE появление запорченных блоков является признаком - возможных неприятностей. Все современные IDE-диски поставляются с - включенной возможностью переадресации испорченных блоков. Все - производители винчестеров в настоящее время предоставляют расширенные - гарантии и заменяют диски с запорченными блоками. - -Если вы всё же хотите спасти ваш диск IDE с запорченными блоками, - вы можете попытаться найти программу диагностики винчестеров от - производителя и протестировать ею диск. Иногда эти программы могут - заставить электронику винчестера пересканировать диск в поисках - испорченных блоков и заблокировать их. - -В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков - является обычным явлением и не является большой проблемой. В ПК - контроллер винчестера и BIOS берут на себя работу по блокировке - испорченных блоков. Это прекрасно работает в случае операционных систем - типа DOS, которые используют вызовы BIOS для доступа к диску. Однако - драйвер диска во FreeBSD не обращается к BIOS, поэтому для обеспечения - подобной функциональности существует bad144. bad144 работает только с - драйвером wd, её НЕВОЗМОЖНО использовать со SCSI. bad144 помещает все - найденные испорченные сектора в специальный файл. - -У bad144 имеется особенность - специальный файл с испорченными - блоками помещается на последнюю дорожку диска. Так как этот файл - может содержать список испорченных секторов, находящихся в начале - диска, где может располагаться файл ядра /kernel, он должен быть - доступен загрузчику, использующему вызовы BIOS для чтения файла ядра. - Это значит, что диск, который использует bad144, не должен иметь - размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это - ограничивает размер диска, обрабатываемого bad144, 500 мегабайтами. - -Для использования bad144, просто установите "Bad Block" - в положение ON на экране программы fdisk во время начальной установки. - Это работает начиная с FreeBSD 2.2.7. Диск должен иметь размер, - не превышающий 1024 дорожки. Рекомендуется, чтобы до этого диск - проработал не менее 4 часов для перехода в рабочий тепловой режим и - стабильный режим работы головок. - -Если диск имеет размер, превышающий 1024 головки (как, например, - большой диск ESDI), контроллер ESDI использует особый режим - трансляции, чтобы это работало в DOS. Драйвер wd будет знать об этих - режимах трансляции, ЕСЛИ вы укажете на использование "преобразованных" - параметров в команде "set geometry" программы fdisk. Вы также НЕ должны - использовать режим "dangerously dedicated" при выделении раздела для - FreeBSD, так как при этом параметры диска не принимаются во внимание. - Также, хотя fdisk будет использовать изменённые параметры, он всё же - помнит настоящий размер диска, и попытается создать слишком большой - раздел FreeBSD. Если параметры диска изменились на транслированные, - раздел ДОЛЖЕН быть создан вручную с указанием количества блоков. - -Самым быстрым способом является установка большого диска ESDI с - контоллером ESDI, загрузка DOS и выделение на нём раздела DOS. Затем - запустите инсталляционную программу FreeBSD и в экране программы - fdisk найдите и запишите размер блока и их количество раздела DOS. - Затем установите параметры в те же значения, которые использует DOS, - удалите раздел DOS и создайте "совмещённый" раздел FreeBSD с ранее - записанным размером блока. Затем установите загрузку с этого раздела - и включите сканирование испорченных блоков. Во время установки сначала, - ещё до создания файловых систем, запустится bad144 (вы можете это - увидеть по Alt-F2). Если возникнут проблемы при создании файла с - запорченными секторами, вы установили слишком большие параметры диска - - перезагрузитесь и начните всё сначала (включая повторные разбиение - на разделы и форматирование винчестера в DOS). - -Если переадресация включена и всё равно на диске присутствуют - запорченные блоки, то, по-видимому, остаётся только заменить винчестер. - Количество испорченных блоков с течением времени имеет тенденцию только - увеличиваться. - - + - - FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a! - + Если это SCSI-устройство, то винчестер должен иметь возможность + автоматической переадресации таких блоков. Однако по непонятным + причинам во многих поставляемых дисках эта возможность отключена... -Нижеследующая информация специфична для 742a, но может касаться и - других адаптеров от Buslogic (Bustek = Buslogic). - -Существуют две основных ``версии'' адаптеров 742a. Это аппаратные - модификации A-G и модификации H и выше. Буква, обозначающая - модификацию, расположена после номера сборки на кромке адаптера. На - адаптере 742a установлены две микросхемы ПЗУ, одна содержит BIOS, а - другая - микрокод (так называемое firmware). Для FreeBSD не имеет - значения используемая версия BIOS, но имеет значение версия микрокода. - Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел - технической поддержки. Михросхемы с BIOS и микрокодом поставляются - соответствующими парами. В ПЗУ адаптера вы должны иметь самую - последнюю версии микрокода для вашей аппаратной модификации. - -Адаптерам модификаций A-G может только подойти BIOS/Firmware версий - вплоть до 2.41/2.21. Адаптерам модификаций H и старше подходят самые - последние версии BIOS/Firmware 4.70/3.37. Отличие между версиями - микрокода заключается в том, что версия микрокода 3.37 поддерживает - механизм ``round robin''. - -На адаптерах Buslogic проставлен серийный номер. Если у вас - адаптер старой модификации, вы можете позвонить в подразделение RMA - фирмы Buslogic, сказать им серийный номер адаптера и попытаться - обменять его на более новую модификацию. Если адаптер достаточно нов, - то они его поменяют. - -FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. - Если у вас версия микрокода старее, чем эта, то адаптер не будет - распознаваться как адаптер Buslogic. Однако он может быть опознан - как Adaptec 1540. Ранние версии микрокода от Buslogic содержат режим - ``эмуляции'' AHA1540. Однако для EISA-адаптера всё это выглядит как-то - некрасиво. - -Если у вас адаптер старой модификации и вы получили микрокод 2.21 - для него, установите перемычку W1 в положение B-C, по умолчанию она - находится в положении A-B. - -Адаптеры 742a EISA никогда не имели проблему ``>16MB'', описанную в - разделе о машинах с >16 MB ОЗУ. - Эта проблема возникает со SCSI-адаптерами Vesa-Local Buslogic. - - + Чтобы её включить, вам нужно изменить режим работы устройства, что + во FreeBSD может быть выполнено администратором посредством команды - - Не распознаётся SCSI-контроллер на HP Netserver! - + +&prompt.root; scsi -f /dev/rsd0c -m 1 -e -P 3 + -В общем-то это известная проблема. EISA-контроллеры SCSI, - расположенные на материнской плате машин HP Netserver, занимают - EISA-слот номер 11, так что все ``настоящие'' слоты EISA будут ему - предшествовать. Так как адресное пространство для слотов EISA выше 10 - пересекается с адресным пространством, предназначенным для PCI, то - автоконфигуратор FreeBSD в настоящее время не может эту проблему - нормально обойти. - -Так что пока лучшее, что вы можете предпринять, это попытаться - указать, что пересечения диапазонов адресов нет :), установив опцию - ядра EISA_SLOTS в значение 12. Отконфигурируйте и откомпилируйте - ядро так, как это описано в разделе Руководства о конфигурировании ядра. - -Конечно, это даст вам типичную ситуации "курица или яйцо" - при установке системы на такой машине. Для обхода этой проблемы - внутри UserConfig есть специальный хак. Не используя - ``визуального'' интерфейса, а только интерфейс командной строки, - просто наберите - - - eisa 12 - quit - - + и изменить значения параметров AWRE и ARRE с 0 на 1:- + + +AWRE (Auto Write Reallocation Enbld): 1 +ARRE (Auto Read Reallocation Enbld): 1 + + + Последующие параграфы были предоставлены Тэдом Миттельштадтом + (Ted Mittelstaedt): + + Для дисков IDE появление запорченных блоков является признаком + возможных неприятностей. Все современные IDE-диски поставляются с + включенной возможностью переадресации испорченных блоков. Все + производители винчестеров в настоящее время предоставляют расширенные + гарантии и заменяют диски с запорченными блоками. + + Если вы всё же хотите спасти ваш диск IDE с запорченными блоками, + вы можете попытаться найти программу диагностики винчестеров от + производителя и протестировать ею диск. Иногда эти программы могут + заставить электронику винчестера пересканировать диск в поисках + испорченных блоков и заблокировать их. + + В случае дисков стандартов ESDI, RLL и MFM, наличие испорченных блоков + является обычным явлением и не является большой проблемой. В ПК + контроллер винчестера и BIOS берут на себя работу по блокировке + испорченных блоков. Это прекрасно работает в случае операционных систем + типа DOS, которые используют вызовы BIOS для доступа к диску. Однако + драйвер диска во FreeBSD не обращается к BIOS, поэтому для обеспечения + подобной функциональности существует bad144. bad144 работает только с + драйвером wd (что означает, что эта утилита не поддерживается во FreeBSD + 4.0), её НЕВОЗМОЖНО использовать со SCSI. bad144 помещает все + найденные испорченные сектора в специальный файл. + + У bad144 имеется особенность - специальный файл с испорченными + блоками помещается на последнюю дорожку диска. Так как этот файл + может содержать список испорченных секторов, находящихся в начале + диска, где может располагаться файл ядра /kernel, он должен быть + доступен загрузчику, использующему вызовы BIOS для чтения файла ядра. + Это значит, что диск, который использует bad144, не должен иметь + размеры, превышающие 1024 дорожки, 16 головок и 63 сектора. Это + ограничивает размер диска, обрабатываемого bad144, 500 мегабайтами. + + Для использования bad144, просто установите Bad Block + в положение ON на экране программы fdisk во время начальной установки. + Это работает начиная с FreeBSD 2.2.7. Диск должен иметь размер, + не превышающий 1024 дорожки. Рекомендуется, чтобы до этого диск + проработал не менее 4 часов для перехода в рабочий тепловой режим и + стабильный режим работы головок. + + Если диск имеет размер, превышающий 1024 головки (как, например, + большой диск ESDI), контроллер ESDI использует особый режим + трансляции, чтобы это работало в DOS. Драйвер wd будет знать об этих + режимах трансляции, ЕСЛИ вы укажете на использование + преобразованных параметров в команде set + geometry программы fdisk. Вы также НЕ должны использовать режим + dangerously dedicated при выделении раздела для + FreeBSD, так как при этом параметры диска не принимаются во внимание. + Также, хотя fdisk будет использовать изменённые параметры, он всё же + помнит настоящий размер диска, и попытается создать слишком большой + раздел FreeBSD. Если параметры диска изменились на транслированные, + раздел ДОЛЖЕН быть создан вручную с указанием количества блоков. + + Самым быстрым способом является установка большого диска ESDI с + контоллером ESDI, загрузка DOS и выделение на нём раздела DOS. Затем + запустите инсталляционную программу FreeBSD и в экране программы + fdisk найдите и запишите размер блока и их количество раздела DOS. + Затем установите параметры в те же значения, которые использует DOS, + удалите раздел DOS и создайте совмещённый раздел FreeBSD с + ранее записанным размером блока. Затем установите загрузку с этого раздела + и включите сканирование испорченных блоков. Во время установки сначала, + ещё до создания файловых систем, запустится bad144 (вы можете это + увидеть по Alt-F2). Если возникнут проблемы при создании файла с + запорченными секторами, вы установили слишком большие параметры диска + - перезагрузитесь и начните всё сначала (включая повторные разбиение + на разделы и форматирование винчестера в DOS). + + Если переадресация включена и всё равно на диске присутствуют + запорченные блоки, то, по-видимому, остаётся только заменить винчестер. + Количество испорченных блоков с течением времени имеет тенденцию только + увеличиваться. + + + + + + + + FreeBSD не распознаёт мой EISA SCSI контроллер Bustek 742a! + + + Нижеследующая информация специфична для 742a, но может касаться и + других адаптеров от Buslogic (Bustek = Buslogic). + + Существуют две основных версии адаптеров 742a. Это + аппаратные модификации A-G и модификации H и выше. Буква, обозначающая + модификацию, расположена после номера сборки на кромке адаптера. На + адаптере 742a установлены две микросхемы ПЗУ, одна содержит BIOS, а + другая - микрокод (так называемое firmware). Для FreeBSD не имеет + значения используемая версия BIOS, но имеет значение версия микрокода. + Buslogic высылает обновления для ПЗУ, если вы позвоните в их отдел + технической поддержки. Михросхемы с BIOS и микрокодом поставляются + соответствующими парами. В ПЗУ адаптера вы должны иметь самую + последнюю версии микрокода для вашей аппаратной модификации. + + Адаптерам модификаций A-G может только подойти BIOS/Firmware версий + вплоть до 2.41/2.21. Адаптерам модификаций H и старше подходят самые + последние версии BIOS/Firmware 4.70/3.37. Отличие между версиями + микрокода заключается в том, что версия микрокода 3.37 поддерживает + механизм round robin. + + На адаптерах Buslogic проставлен серийный номер. Если у вас + адаптер старой модификации, вы можете позвонить в подразделение RMA + фирмы Buslogic, сказать им серийный номер адаптера и попытаться + обменять его на более новую модификацию. Если адаптер достаточно нов, + то они его поменяют. + + FreeBSD 2.1 поддерживает микрокод модификаций только 2.21 и выше. + Если у вас версия микрокода старее, чем эта, то адаптер не будет + распознаваться как адаптер Buslogic. Однако он может быть опознан + как Adaptec 1540. Ранние версии микрокода от Buslogic содержат режим + эмуляции AHA1540. Однако для EISA-адаптера всё это выглядит + как-то неприлично. + + Если у вас адаптер старой модификации и вы получили микрокод 2.21 + для него, установите перемычку W1 в положение B-C, по умолчанию она + находится в положении A-B. + + + + + + + + Не распознаётся SCSI-контроллер на HP Netserver! + + + + + В общем-то это известная проблема. EISA-контроллеры SCSI, + расположенные на материнской плате машин HP Netserver, занимают + EISA-слот номер 11, так что все настоящие слоты EISA будут + ему предшествовать. Так как адресное пространство для слотов EISA выше 10 + пересекается с адресным пространством, предназначенным для PCI, то + автоконфигуратор FreeBSD в настоящее время не может эту проблему + нормально обойти. + + Так что пока лучшее, что вы можете предпринять, это попытаться + указать, что пересечения диапазонов адресов нет :), установив опцию + ядра EISA_SLOTS в значение 12. Отконфигурируйте и + откомпилируйте ядро так, как это описано в разделе Руководства о + конфигурировании ядра. + + Конечно, это даст вам типичную ситуации "курица или яйцо" + при установке системы на такой машине. Для обхода этой проблемы + внутри UserConfig есть специальный хак. Не используя + визуального интерфейса, а только интерфейс командной строки, + просто наберите + + +eisa 12 +quit + в приглашении, и проинсталлируйте систему как обычно. В любом случае рекомендуется, что вы отконфигурируете и проинсталлируете собственное ядро. -Надеемся, что будущие версии будут содержать полное решение этой - проблемы. + Надеемся, что будущие версии будут содержать полное решение этой + проблемы. -ЗАМЕЧАНИЕ: Вы не сможете использовать режим - dangerously dedicated на машинах HP - Netserver. Полное описание причин содержится в - этом замечании. - - + + + Вы не сможете использовать режим dangerously + dedicated на машинах HP Netserver. Полное описание причин + содержится в этом замечании. + + - -Что не так с IDE-контроллером CMD640? + + -Этот контроллер не рабочий. Он не может отрабатывать команды на - обоих каналах одновременно. - -Решение этой проблемы существует и включается автоматически, если - в вашей системе испольщуется этот контроллер. Подробная информация - находится на страницах Справочника по дисковому драйверу (man 4 wd). - -Если вы уже работаете с FreeBSD 2.2.1 или 2.2.2 с IDE-контроллером - CMD640 и хотите использовать второй канал, постройте новое ядро с - включенной опцией options "CMD640". В версии 2.2.6 и выше это - включено по умолчанию. - - - -Выдаются сообщения типа ``ed1: timeout''. + + + Что не так с IDE-контроллером CMD640? + -Обычно это вызвано конфликтом прерываний (например, двух адаптеров, - использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была - нечувствительна к таким конфликтам, и драйвер сетевого адапетра - оставался работоспособен даже при конфликтах IRQ. Однако с версии - 2.0.5R и выше, конфликты IRQ больше не считаются безобидными. - Загрузитесь с опцией -c и смените строку, описывающую ed0/de0/... - на соответствующую вашей системе.. - -Если вы используете разъём BNC сетевого адаптера, таймауты - устройства могут быть вызваны плохим терминированием. Чтобы это - проверить, подключите терминатор к адаптеру (без кабеля) и - посмотрите, не исчезли ли сообщения об ошибках. - -Некоторые NE2000-совместимые адаптеры выдают такую ошибку, если нет - связи по UTP-порту или отключен кабель. - - + - - При монтировании компакт-диска, выдаётся сообщение - ``Incorrect super block''. - + Этот контроллер не рабочий. Он не может отрабатывать команды на + обоих каналах одновременно. + + Решение этой проблемы существует и включается автоматически, если + в вашей системе используется этот контроллер. Подробная информация + находится на страницах Справочника по дисковому драйверу (man 4 wd). + + Если вы уже работаете с FreeBSD 2.2.1 или 2.2.2 с IDE-контроллером + CMD640 и хотите использовать второй канал, постройте новое ядро с + включенной опцией options "CMD640". В версии 2.2.6 и + выше это включено по умолчанию. + + + + + + + + Выдаются сообщения типа ed1: timeout. + + + + + Обычно это вызвано конфликтом прерываний (например, двух адаптеров, + использующих один и тот же IRQ). FreeBSD до версии 2.0.5R была + нечувствительна к таким конфликтам, и драйвер сетевого адапетра + оставался работоспособен даже при конфликтах IRQ. Однако с версии + 2.0.5R и выше, конфликты IRQ больше не считаются безобидными. + Загрузитесь с опцией -c и смените строку, описывающую ed0/de0/... + на соответствующую вашей системе.. + + Если вы используете разъём BNC сетевого адаптера, таймауты + устройства могут быть вызваны плохим терминированием. Чтобы это + проверить, подключите терминатор к адаптеру (без кабеля) и + посмотрите, не исчезли ли сообщения об ошибках. + + Некоторые NE2000-совместимые адаптеры выдают такую ошибку, если нет + связи по UTP-порту или отключен кабель. + + + + + + + + При монтировании компакт-диска, выдаётся сообщение Incorrect + super block. + + + В параметрах команды mount вам нужно указать тип устройства, который вы собираетесь смонтировать. По умолчанию mount(8) полагает, что монтируемая файловая система имеет тип - ``ufs''. При монтировании файловой системы - CDROM нужно указать опцию ``'' в команде ufs. При монтировании файловой системы + CDROM нужно указать опцию в команде mount(8). При этом, конечно же, предполагается, что CDROM содержит файловую систему стандарта ISO 9660, как на большинстве CDROM. С версии 1.1R FreeBSD автоматически распознаёт также расширение Rock Ridge (для длинных имён файлов). -Например, если вы хотите смонтировать устройство CDROM - ``/dev/cd0c'', в каталог /mnt, вы должны выполнить - следующую команду: - - - mount -t cd9660 /dev/cd0c /mnt - - - -Заметьте, что имя устройства (``/dev/cd0c'' в этом примере) - может быть другим, в зависимости от интерфейса вашего CDROM. - Отметьте, что опция ``'' всего лишь приводит к вызову - команды ``mount_cd9660'', так что пример выше может быть - укорочен до такой команды: - - - mount_cd9660 /dev/cd0c /mnt - - - - + Например, если вы хотите смонтировать устройство CDROM + /dev/cd0c в каталог /mnt, вы + должны выполнить следующую команду: - - При монтировании компакт-диска выдаётся сообщение - ``Device not configured''. - + +&prompt.root; mount -t cd9660 /dev/cd0c /mnt + -Обычно это означает, что в приводе CDROM нет компакт-диска либо - устройство не было обнаружено на этапе загрузки. Вставьте в - привод какой-нибудь диск, и/или проверьте его настройку как - ведущего/ведомого устройства, если оно типа IDE (ATAPI). Для привода - CDROM может потребоваться несколько секунд для обнаружения, что был - вставлен диск, так что будьте терпеливыми. - -Иногда SCSI CDROM может отсутствовать в системе из-за недостатка - времени на ответ при сбросе шины. Если ваш привод CD-ROM является - SCSI-устройством, пожалуйста, попробуйте добавить такой символ в ваш - файл конфигурации ядра и перекомпилируйте его. - - - options "SCSI_DELAY=15" - - - - + Заметьте, что имя устройства (/dev/cd0c в этом + примере) может быть другим, в зависимости от интерфейса вашего CDROM. + Отметьте, что опция всего лишь приводит к вызову + команды mount_cd9660, так что пример выше может быть + укорочен до такой команды: - - Мой принтер печатает невероятно медленно. Что тут можно сделать? - - -Если принтер подключен к параллельному порту, и единственной - проблемой является его медлительность, попробуйте установить порт в - режим ``polled'': - - - lptcontrol -p - - - -Утверждается, что некоторые новейшие принтеры от HP не работают - корректно в режиме прерываний, скорее всего из-за (это ещё не совсем - точно выянено) проблем с временными задержками. - - - - - Программы аварийно завершают работу с ошибкой ``Signal 11''. - - -Это может быть вызвано сбоями аппаратного обеспечением (память, - материнская плата, итд). Попробуйте запустить на вашем ПК программу - тестирования памяти. Имейте в виду, что в случае незначительных - отклонений в работе возможна ситуация, когда все программы - тестирования, которые вы будете пробовать, будут утверждать, что с - ОЗУ всё в порядке, а ошибка будет возникать при определённых условиях - (таких, как использование DMA при использовании режима управления - шиной контроллером SCSI типа Adaptec 1542, интенсивное обращение к - ОЗУ при компиляции ядра или значительной нагрузке на систему). - -В FAQ по SIG11 (ссылка дана ниже) сказано, что медленная память - является самая распространённой причиной возникновения этой проблемы. - Увеличьте число тактов ожидания в настройке BIOS или установите более - быструю память. - -Для меня самой распространённой причиной была сбойная кэш-память - или кэш-контроллер. Попробуйте отключить внешний кэш (второго - уровня) в BIOS и посмотрите, не решит ли это вашу проблему. - -Подробная информация по этому вопросу содержится в FAQ по проблеме SIG11. - - - - - -При загрузке монитор темнеет и теряет синхронизацию! - - -Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, - что этот адаптер использует адрес 2e8, как и - четвёртый последовательный порт. Из-за ошибки (или особенности?) в драйвере - sio(4) он - обращается к порту, даже если если он не существует, и - даже если вы отключите sio3 (четвёртый порт), - который, как правило, использует этот адрес ввода/вывода. - -Пока это не исправлено, используйте следующий метод: - - - - - В приглашенни загрузчика наберите . (Это - переведёт ядро в режим конфигурации). - - - - Отключите устройства sio0, - sio1, sio2 и sio3 - (все). После этого драйвер sio не будет активизироваться и проблем - не будет. - - - - Для продолжения загрузки наберите exit. - - - - -Если вам нужно использовать последовательные порты, вм должны построить - новое ядро со следующей модификацией: в файле - /usr/src/sys/i386/isa/sio.c найдите строчку, содержащую - число 0x2e8 и удалите её вместе с предшествующий запятой - (оставив следующую). После этого следуйте обычным указаниям по построению - ядра. - -Даже после этих изменений вы можете обнаружить, что X Window работает - ненормально. Если это произошло, удостоверьтесь, что вы используете - XFree86 версии не ниже 3.3.3. Этот и последующие релизы имеют встроенную - поддержку адаптеров Mach64 и даже отдельный X-сервер для таких - адаптеров. - - - - - -У меня 128 МБ ОЗУ, но система используется только 64. - - -Так как для определения объёма памяти FreeBSD использует информацию - BIOS, она ограничена 16 битами, используемыми для выражения - размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые - BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ - ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка - может и не удасться). - -Для решения этой проблемы вам нужно использовать опцию ядра, - указанную ниже. Способ выяснения полной информации о памяти из BIOS - существует, но у нас нет места в загрузочном блоке, чтобы это делать. - Когда проблема нехватки места в загрузочных блоках будет решена, мы - будем использовать расширенные функции BIOS для получения полной - информации о памяти... но пока мы остановились на опции ядра. - - options "MAXMEM=<n>" - - -Здесь n - это объём памяти в килобайтах. Для машины со 128 МБ - ОЗУ вам нужно использовать значение 131072. - - - - - FreeBSD 2.0 аварийно завершает работу с сообщением - ``kmem_map too small!'' - - -Замечание Сообщение может также выглядеть как - ``mb_map too small!'' - -Такое завершение работы показывает, что системе не хватает - виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы - можете увеличить количество виртуальной памяти для структур mbuf, - добавив: - -options "NMBCLUSTERS=<n>" - - в файл конфигурации ядра, где <n> - это число в пределах - 512-4096, в зависимости от числа TCP-соединений, которое вам нужно - одновременно обслуживать. Я рекомендую попробовать значение 2048 - это - должно избавить вас от аварийных остановов. Вы можете отслеживать - количество структур mbuf, выделенных/используемых системой командой netstat -m. - Значение по умолчанию для NMBCLUSTERS равно 512 + MAXUSERS * 16. + +&prompt.root; mount_cd9660 /dev/cd0c /mnt + - - Сообщение ``CMAP busy panic'' при перезагрузке с новым ядром. - + + + При монтировании компакт-диска выдаётся сообщение Device not + configured. + -Процедура определения устаревших фалов /var/db/kvm_*.db - иногда даёт сбой и использует не те файлы, что может вызвать аварийный - останов системы. - -Если это случилось, перезагрузитесь в однопользовательском режиме - и выполните команду: - - - rm /var/db/kvm_*.db - - - - + - -ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 + Обычно это означает, что в приводе CDROM нет компакт-диска либо + устройство не было обнаружено на этапе загрузки. Вставьте в + привод какой-нибудь диск, и/или проверьте его настройку как + ведущего/ведомого устройства, если оно типа IDE (ATAPI). Для привода + CDROM может потребоваться несколько секунд для обнаружения, что был + вставлен диск, так что будьте терпеливыми. + + Иногда SCSI CDROM может отсутствовать в системе из-за недостатка + времени на ответ при сбросе шины. Если ваш привод CD-ROM является + SCSI-устройством, пожалуйста, попробуйте добавить такой символ в ваш + файл конфигурации ядра и перекомпилируйте его. + + +options "SCSI_DELAY=15" + + + + + + + + + Мой принтер печатает невероятно медленно. Что тут можно + сделать? + + + + + Если принтер подключен к параллельному порту, и единственной + проблемой является его медлительность, попробуйте установить порт в + режим polled: + + +&prompt.root; lptcontrol -p + + + Утверждается, что некоторые новейшие принтеры от HP не работают + корректно в режиме прерываний, скорее всего из-за (это ещё не совсем + точно выянено) проблем с временными задержками. + + + + + + + + Программы аварийно завершают работу с ошибкой Signal + 11. + + + + + Это может быть вызвано сбоями аппаратного обеспечением (память, + материнская плата, итд). Попробуйте запустить на вашем ПК программу + тестирования памяти. Имейте в виду, что в случае незначительных + отклонений в работе возможна ситуация, когда все программы + тестирования, которые вы будете пробовать, будут утверждать, что с + ОЗУ всё в порядке, а ошибка будет возникать при определённых условиях + (таких, как использование DMA при использовании режима управления + шиной контроллером SCSI типа Adaptec 1542, интенсивное обращение к + ОЗУ при компиляции ядра или значительной нагрузке на систему). + + В FAQ по SIG11 (ссылка дана ниже) сказано, что медленная память + является самая распространённой причиной возникновения этой проблемы. + Увеличьте число тактов ожидания в настройке BIOS или установите более + быструю память. + + Для меня самой распространённой причиной была сбойная кэш-память + или кэш-контроллер. Попробуйте отключить внешний кэш (второго + уровня) в BIOS и посмотрите, не решит ли это вашу проблему. + + Подробная информация по этому вопросу содержится в FAQ по проблеме SIG11. + + + + + + + + При загрузке монитор темнеет и теряет синхронизацию! + + + + + Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем, + что этот адаптер использует адрес 2e8, как и + четвёртый последовательный порт. Из-за ошибки (или особенности работы?) в + драйвере + sio(4) он обращается к порту, даже если если он не существует, и + даже если вы отключите sio3 (четвёртый порт), + который, как правило, использует этот адрес ввода/вывода. + + Пока это не исправлено, используйте следующий метод: + + + + + В приглашенни загрузчика наберите . (Это + переведёт ядро в режим конфигурации). + + + + Отключите устройства sio0, + sio1, sio2 и + sio3 (все их). После этого драйвер sio не + будет активизироваться и проблем не будет. + + + + Для продолжения загрузки наберите exit. + + + + + Если вам нужно использовать последовательные порты, вм должны построить + новое ядро со следующей модификацией: в файле + /usr/src/sys/i386/isa/sio.c найдите строчку, содержащую + число 0x2e8 и удалите её вместе с предшествующий запятой + (оставив следующую). После этого следуйте обычным указаниям по построению + ядра. + + Даже после этих изменений вы можете обнаружить, что X Window работает + ненормально. Если это произошло, удостоверьтесь, что вы используете + XFree86 версии не ниже 3.3.3. Этот и последующие релизы имеют встроенную + поддержку адаптеров Mach64 и даже отдельный X-сервер для таких + адаптеров. + + + + + + + + У меня 128 МБ ОЗУ, но система используется только 64. + + + + + Так как для определения объёма памяти FreeBSD использует информацию + BIOS, она ограничена 16 битами, используемыми для выражения + размера ОЗУ в килобайтах (65535 КБ = 64МБ) (или меньше... некоторые + BIOS ограничивают размеры памяти до 16МБ). Если у вас больше чем 64МБ + ОЗУ, FreeBSD будет пытаться обнаружить эту память; однако эта попытка + может и не удасться). + + Для решения этой проблемы вам нужно использовать опцию ядра, + указанную ниже. Способ выяснения полной информации о памяти из BIOS + существует, но у нас нет места в загрузочном блоке, чтобы это делать. + Когда проблема нехватки места в загрузочных блоках будет решена, мы + будем использовать расширенные функции BIOS для получения полной + информации о памяти... но пока мы остановились на опции ядра. + + options "MAXMEM=n" + + Здесь n - это объём памяти в килобайтах. Для + машины со 128 МБ ОЗУ вам нужно использовать значение + 131072. + + + + + + + + FreeBSD 2.0 аварийно завершает работу с сообщением kmem_map + too small! + + + + + + + Сообщение может также выглядеть как mb_map too + small! + + + + Такое завершение работы показывает, что системе не хватает + виртуальной памяти для сетевых буферов (точнее, структур mbuf). Вы + можете увеличить количество виртуальной памяти для структур mbuf, + добавив: + + options "NMBCLUSTERS=n" + + + в файл конфигурации ядра, где n - это число + в пределах 512-4096, в зависимости от числа TCP-соединений, которое вам + нужно одновременно обслуживать. Я рекомендую попробовать значение 2048 - + это должно избавить вас от аварийных остановов. Вы можете отслеживать + количество структур mbuf, выделенных/используемых системой командой netstat -m. + Значение по умолчанию для NMBCLUSTERS равно + 512 + MAXUSERS * 16. + + + + + + + + При перезагрузке с новым ядром выдаётся сообщение CMAP busy + panic. + + + + + Процедура определения устаревших файлов + /var/db/kvm_*.db иногда даёт сбой и использует не те + файлы, что может вызвать аварийный останов системы. + + Если это случилось, перезагрузитесь в однопользовательском режиме + и выполните команду: + + +&prompt.root; rm /var/db/kvm_*.db + + + + + + + + + ahc0: brkadrint, Illegal Host Access at seqaddr 0x0 + + + Это - результат конфликта со SCSI-адаптером Ultrastor. @@ -3653,13 +3914,19 @@ id="awre"> - -Sendmail говорит, что ``mail loops back to myself'' + + + Sendmail говорит, что mail loops back to myself + + -В FAQ по sendmail на это дан такой ответ:- + + + В FAQ по sendmail на это дан такой ответ:- - - * Выдаются сообщения "Local configuration error", примерно такие: + + + * Выдаются сообщения "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. - - - -Текущая версия FAQ по sendmail больше не поставляется вместе с sendmail. - Однако этот документ регулярно помещается в конференции - comp.mail.sendmail, - comp.mail.misc, - comp.mail.smail, - comp.answers и - news.answers. - Вы можете получить копию по электронной почте, послав сообщение, - содержащее команду "send usenet/news.answers/mail/sendmail-faq" в теле - письма, в адрес mail-server@rtfm.mit.edu. - - + + - -Полноэкранные приложения на удалённой машине ведут себя неправильно! - + Текущая версия + FAQ по sendmail больше не поставляется вместе с sendmail. + Однако этот документ регулярно помещается в конференции + comp.mail.sendmail, + comp.mail.misc, + comp.mail.smail, + comp.answers и + news.answers. + Вы можете получить копию по электронной почте, послав сообщение, + содержащее команду + send usenet/news.answers/mail/sendmail-faq в теле + письма, в адрес mail-server@rtfm.mit.edu. -На удалённой машине тип терминала может быть устанавлен в значение, - отличное от типа терминала cons25, - требуемом при использовании консоли FreeBSD. - -Есть несколько возможных способов решения этой проблемы: - - - + + - -После входа на другую машину установите значение переменной - окружения TERM равным ansi или - sco, если эта машина знает об этих - типах терминалов. - - -Используйте эмулятор VT100 типа screen - на консоли FreeBSD. screen даёт вам - возможность открывать несколько рабочих сеансов на одном терминале, и она - имеет ещё ряд полезных особенностей. Каждое окно программы - screen ведёт себя как терминал VT100, так - что переменная TERM на удалённой машине должна быть установлена в - значение vt100. - + + + Полноэкранные приложения на удалённой машине ведут себя + неправильно! + - -Опишите терминал cons25 в базе данных - характеристик терминалов на удалённой машине. Способ описания зависит от - используемой на этой машине операционной системе. Вам может помочь - чтение руководств по администрированию удалённой системы. - + - -Запустите X-сервер на стороне FreeBSD и войдите на удалённую систему - с помощью какого-либо эмулятора терминала, работающего в X Window, такого, - как xterm или rxvt. Переменная окружения TERM на удалённой - машине должна быть установлена в значение xterm или vt100. - + На удалённой машине тип терминала может быть устанавлен в значение, + отличное от типа терминала cons25, требуемом при + использовании консоли FreeBSD. - - - - + Есть несколько возможных способов решения этой проблемы: - - Выводятся сообщения "calcru: negative time..." - + + + + После входа на другую машину установите значение переменной + окружения TERM равным ansi или + sco, если эта машина знает об этих + типах терминалов. + -Это может быть вызвано различными аппаратными или программными - проблемами, связанными с прерываниями. Это может быть связано как - с ошибками при программировании, так и с природой самих устройств. - Например, работа с TCP/IP по параллельному порту с использованием - большого MTU приводит к этой проблеме, также как использование - графических акселераторов; в последнем случае вы должны проверить - настройку прерываний на графическом адаптере. - -Одним из проявлений этой проблемы является прерывание работы - процессов с диагностическим сообщением "SIGXCPU exceeded cpu time - limit". - -Если эта проблема не может быть решена, для FreeBSD 3.0 от 29 - ноября 1998 и выше измените значение системной переменной: - - - sysctl -w kern.timecounter.method=1 - - -Это коснётся производительности системы, но принимая во внимание - источник этой проблемы, это будет незаметно. Если проблема всё ещё - даёт знать о себе, оставьте значение этой переменной равным единичке - и увеличьте значение параметра "NTIMECOUNTER" в файле конфигурации - вашего ядра. Если в конце концов вы достигнете значения - "NTIMECOUNTER=20", то вам эту проблему решить не удастся, прерывания - дают слишком большую нагрузку на процессор, чтобы обеспечить - отслеживание времени. - - + + Используйте эмулятор VT100 типа screen + на консоли FreeBSD. Screen даёт вам + возможность открывать несколько рабочих сеансов на одном терминале, + и она имеет ещё ряд полезных особенностей. Каждое окно программы + screen ведёт себя как терминал VT100, так + что переменная TERM на удалённой машине должна быть установлена в + значение vt100. + + + + Опишите терминал cons25 в базе данных + характеристик терминалов на удалённой машине. Способ описания + зависит от используемой на этой машине операционной системе. Вам + может помочь чтение руководств по администрированию удалённой + системы. + + + + Запустите X-сервер на стороне FreeBSD и войдите на удалённую + систему с помощью какого-либо эмулятора терминала, работающего в X + Window, такого, как xterm или + rxvt. Переменная окружения TERM на удалённой + машине должна быть установлена в значение xterm + или vt100. + + + + + + + + + + + Выводятся сообщения calcru: negative + time... + + + + + Это может быть вызвано различными аппаратными или программными + проблемами, связанными с прерываниями. Это может быть связано как + с ошибками при программировании, так и с природой самих устройств. + Например, работа с TCP/IP по параллельному порту с использованием + большого MTU приводит к этой проблеме, также как использование + графических акселераторов; в последнем случае вы должны проверить + настройку прерываний на графическом адаптере. + + Одним из проявлений этой проблемы является прерывание работы + процессов с диагностическим сообщением SIGXCPU exceeded cpu time + limit. + + Если эта проблема не может быть решена, для FreeBSD 3.0 от 29 + ноября 1998 и выше измените значение системной переменной: + + +&prompt.root; sysctl -w kern.timecounter.method=1 + + + Это коснётся производительности системы, но, принимая во внимание + источник этой проблемы, это будет незаметно. Если проблема всё ещё + даёт о себе знать, оставьте значение этой переменной равным единичке + и увеличьте значение параметра NTIMECOUNTER в файле + конфигурации вашего ядра. Если в конце концов вы достигнете значения + NTIMECOUNTER=20, то вам эту проблему решить не удастся, + прерывания дают слишком большую нагрузку на процессор, чтобы обеспечить + отслеживание времени. + + + + - + Коммерческие приложения -ЗАМЕЧАНИЕ Этот раздел выглядит довольно - заброшенным, однако мы, - конечно же, надеемся, что производители сделают добавления! :) Проект - FreeBSD финансово не заинтересован в успехах никакой из компаний, которые - здесь упоминаются, хотя приводит их список в интересах общества (в - предположении, что коммерческий интерес к FreeBSD может положительно - повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков - коммерческого программного обеспечения присылать нам информацию о - ваших продуктах для включения в этот список. Более подробный список - производителей находится на странице производителей. - - - - -Где можно купить Motif для FreeBSD? - -Обратитесь в фирму Apps2go, предлагающую - самый дешёвый дистрибутив Motif 2.1.20 для FreeBSD (как для i386, так и для - Alpha) в формате ELF. - -Существуют два дистрибутива, "для разработчиков" ("development edition") - и ещё более дешёвая "времени выполнения" ("runtime edition"). В эти - дистрибутивы включены: - - - - OSF/Motif manager, xmbind, panner, wsm. - - - - Пакет разработчика с uil, mrm, xm, xmcxx, файлами include - и Imake. - - - - Статические и динамические ELF-библиотеки (для использования - с FreeBSD 3.0 и выше). - - - - Демонстрационные приложения. - - + + + Этот раздел выглядит довольно заброшенным, однако мы, + конечно же, надеемся, что производители сделают добавления! :) Проект + FreeBSD финансово не заинтересован в успехах никакой из компаний, которые + здесь упоминаются, хотя приводит их список в интересах общества (в + предположении, что коммерческий интерес к FreeBSD может положительно + повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков + коммерческого программного обеспечения присылать нам информацию о + ваших продуктах для включения в этот список. Более полный список + производителей находится на странице + производителей. + + + + + + + Где можно купить Motif для FreeBSD? + + + + + Обратитесь в фирму Apps2go, предлагающую + самый дешёвый дистрибутив Motif 2.1.20 для FreeBSD (как для i386, так и для + Alpha) в формате ELF. -При оформлении заказа не забудьте указать, что вам нужна версия Motif - именно для FreeBSD (не забудьте также указать архитектуру процессора)! - Apps2go также продаёт версии для NetBSD и OpenBSD. В - настоящий момент их можно получить только по FTP. + Существуют два дистрибутива, для разработчиков + (development edition) и ещё более дешёвая времени + выполнения (runtime edition). В эти дистрибутивы + включены: + + + + OSF/Motif manager, xmbind, panner, wsm. + + + + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake. + + + + Статические и динамические ELF-библиотеки (для использования + с FreeBSD 3.0 и выше). + + + + Демонстрационные приложения. + + + + При оформлении заказа не забудьте указать, что вам нужна версия Motif + именно для FreeBSD (не забудьте также указать архитектуру процессора)! + Apps2go также продаёт версии для NetBSD и OpenBSD. В + настоящий момент их можно получить только по FTP. + Дополнительная информация @@ -3945,9 +4236,9 @@ id="commercial"> KDE - это свободно распространяемый вариант десктопа для X11, который во многом похож на CDE. - Вам может также приглянуться xfce. + Вам может также приглянуться xfce. Как KDE, так и xfce могут быть найдены в коллекции портов. + URL="http://www.FreeBSD.org/ports/">коллекции портов. @@ -4006,9 +4297,9 @@ id="commercial"> дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также предлагает высокопроизводительный X-сервер с поддержкой компьютеров класса laptop. - -Доступна бесплатная "демонстрационная" версия 5.0. - + + Имеется бесплатная демонстрационная версия 5.0. + Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите выше). @@ -4042,17 +4333,25 @@ id="commercial"> - -Существуют ли СУБД для FreeBSD? -Да! Обратитесь к разделу Поставщики - программного обеспечения на веб-сервере FreeBSD. + + + Существуют ли СУБД для FreeBSD? + + + + + Да! Обратитесь к разделу + Поставщики программного обеспечения на веб-сервере FreeBSD. + + Также посмотрите раздел Базы данных + Коллекции портов. + + + -Также посмотрите раздел - Базы данных коллекции портов. - - Можно ли запустить Oracle на FreeBSD? @@ -4092,21 +4391,22 @@ id="commercial"> - Пожалуйста, загляните на страницу - портов, содержащую информацию о программных продуктах, перенесённых - во FreeBSD. На данный момент в этом списке находится более 1800 приложений - и он ежедневно увеличивается, так что почаще туда заглядывайте или - подпишитесь на список рассылки freebsd-announce, в котором публикуется информация + Пожалуйста, загляните на + страницу портов, содержащую информацию о программных продуктах, + перенесённых во FreeBSD. На данный момент в этом списке находится более + 3400 приложений и он ежедневно увеличивается, так что почаще туда + заглядывайте или подпишитесь на список рассылки + freebsd-announce, в котором публикуется информация о появлении новых приложений. - Большинство портов предназначено для версий 2.2, 3.x и 4.0, и многие из + Большинство портов предназначено для веток 2.2, 3.x и 4.x, и многие из них должны нормально работать на системах версий 2.1.x. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода коллекция портов. - Мы также поддерживаем концепцию ``пакаджа'', являющегося не более - чем упакованным дистрибутивом в бинарной форме с некоторыми + Мы также поддерживаем концепцию пакаджа, являющегося не + более чем упакованным дистрибутивом в бинарной форме с некоторыми встроенными возможностями по его настройке во время установки. Пакадж может быть легко проинсталлирован и деинсталлирован снова без углубления в детали того, какие файлы должны быть инсталлированы. @@ -4139,7 +4439,7 @@ id="commercial"> - для 4.0-RELEASE/4.X-STABLE + для 4.1-RELEASE/4-STABLE @@ -4218,7 +4518,8 @@ id="commercial"> - Выдаются сообщения "Error: can't find libc.so.4.0" + Выдаются сообщения Error: can't find + libc.so.4.0 @@ -4231,64 +4532,77 @@ id="commercial"> - - ghostscript выдаёт массу сообщений на моём 386/486SX. - + + + ghostscript выдаёт массу сообщений на моём 386/486SX. + -У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой - емулятор сопроцессора; это делается добавлением следующей строки в файл - конфигурации ядра и последующей его перекомпиляцией. - - - options GPL_MATH_EMULATE - - - -ЗАМЕЧАНИЕ Если вы поступаете таким образом, вам нужно будет - убрать опцию MATH_EMULATE. - - + - - При запуске приложения SCO/iBCS2, он прерывается на socksys. - + У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой + емулятор сопроцессора; это делается добавлением следующей строки в файл + конфигурации ядра и последующей его перекомпиляцией. -Прежде всего вам нужно отредактировать файл /etc/sysconfig - (или /etc/rc.conf), изменив в последнем разделе значение следующей - переменной на YES: - - - # Set to YES if you want ibcs2 (SCO) emulation loaded at startup - ibcs2=NO - - + +options GPL_MATH_EMULATE + + + + + Если вы поступаете таким образом, вам нужно будет + убрать опцию MATH_EMULATE. + + + + + + + + + + При запуске приложения SCO/iBCS2, оно прерывается на + socksys (только во FreeBSD 3.0 и более + ранних версий). + + + + + Прежде всего вам нужно отредактировать файл + /etc/sysconfig (или /etc/rc.conf), + изменив в последнем разделе значение следующей переменной на + YES: + + +# Set to YES if you want ibcs2 (SCO) emulation loaded at startup +ibcs2=NO + Это включит загрузку модуля поддержки ibcs2 на этапе загрузки системы. -Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он - выглядел следующим образом: - - -lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null + Затем вам нужно изменить каталог /compat/ibcs2/dev так, чтобы он + выглядел следующим образом: + + +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 - - - -Работа с socksys была значительно упрощена по ставнению с более ранними - версиями. Socksys должен указывать на /dev/null, чтобы - обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё - остальное. Если вам нужен драйвер spx для - подключения X по локальному сокету, определите переменную - SPX_HACK при компиляции системы. - - + + + Работа с socksys была значительно упрощена по ставнению с более ранними + версиями. Socksys должен указывать на /dev/null, чтобы + обмануть open & close. Код, имеющийся в -CURRENT, возьмёт на себя всё + остальное. Если вам нужен драйвер spx для + подключения X по локальному сокету, определите переменную + SPX_HACK при компиляции системы. + + + @@ -4340,9 +4654,10 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx Если вам необходимо запустить некоторые приложения в формате aout типа Netscape Navigator на Elf-машине, такой как 3.1-R и выше, - то для этого требуется /usr/libexec/ld.so и некоторые библиотеки в - формате aout. Они включены в дистрибутив как compat22. - Запустите /stand/sysinstall или install.sh в каталоге compat22, чтобы + то для этого требуется /usr/libexec/ld.so и некоторые + библиотеки в формате aout. Они включены в дистрибутив как compat22. + Запустите /stand/sysinstall или + install.sh в каталоге compat22, чтобы установить этот компонент. Прочтите также документы ERRATA от 3.1-R и 3.2-R. @@ -4350,125 +4665,194 @@ crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - + Конфигурирование ядра - - Я хочу изменить настройки ядра. Это сложно? - + + + + Я хочу изменить настройки ядра. Это сложно? + -Вовсе нет! Обратитесь к соответствующему разделу Руководства, который посвящён этому - вопросу. - -ЗАМЕЧАНИЕ: Рекомендуем сохранить копию вашего ядра в - файл kernel.YYMMDD после того, как вы получите рабочую версию, - для того, чтобы в следующий раз, если вы испортите что-либо в - вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, - чтобы начинать снова с kernel.GENERIC. Это, в частности, имеет - смысл, если вы производите загрузку системы с контроллера, который - не поддерживается в стандартном ядре GENERIC (из моего личного - опыта). - - + - - Я не могу скомпилировать ядро. Отсутствует - _hw_float. - + Вовсе нет! Обратитесь к + соответствующему разделу Руководства, который посвящён этому + вопросу. -Позвольте мне угадать. Вы, наверное, удалили - npx0 из - вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? - А вот и неправильно! :-) Строка npx0 - ОБЯЗАТЕЛЬНА. Даже если у вас нет - математического сопроцессора, вы должны - включить поддержку npx0. - - + + + Рекомендуем сохранить копию вашего ядра в файл + kernel.YYMMDD после того, как вы получите рабочую + версию, для того, чтобы в следующий раз, если вы испортите что-либо в + вашем конфигурационном файле, вы смогли загрузить это ядро, вместо того, + чтобы начинать снова с kernel.GENERIC. Это, в + частности, имеет смысл, если вы производите загрузку системы с + контроллера, который не поддерживается в стандартном ядре GENERIC (из + моего личного опыта). + + - - Конфликты прерываний при включении поддержки многопортовыx - коммуникационных адаптеров. - + + -Q. Когда я компилирую ядро с поддержкой многопортовых - коммуникационных адаптеров, сообщается, что только первый порт будет - тестироваться, а все остальные пропускаются из-за конфликтов - прерываний. Как это исправить? - -A. Проблема состоит в том, что во FreeBSD встроен код, - предохраняющий ядро от аппаратных и программных конфликтов. Вам нужно - убрать указания IRQ на всех портах, кроме одного. Например: - - - # - # Высокоскоростной коммуникационный адаптер - 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 - - - - - -Как включить поддержку накопителей QIC-40/80? + + + Я не могу скомпилировать ядро. Отсутствует + _hw_float. + -Раскомментируйте следующую строку в файле конфигурации стандартного - ядра (или добавьте ее в конфигурационный файл вашего ядра), добавьте - ``flags 0x1'' к строке, содержащей - fdc и перекомпилируйте ядро. - - -controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr + + + Позвольте мне угадать. Вы, наверное, удалили + npx0 из + вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? + А вот и неправильно! :-) Строка npx0 + ОБЯЗАТЕЛЬНА. Даже если у вас нет + математического сопроцессора, вы должны + включить поддержку устройства npx0. + + + + + + + + Почему моё ядро такое большое (больше 10МБ)? + + + + + Скорее всего, вы компилировали ядро в отладочном + режиме. Ядра, построенные в этом режиме, содержат много + символьной информации, которая используется для отладки и сильно + увеличивает размер ядра. Заметьте, что, если вы работаете с FreeBSD версии + 3.0 и старше, то уменьшения производительности при использовании + отладочного ядра нет или оно незначительно, однако отладочное ядро + полезно иметь под рукой на случай аварийного завершения работы + системы. + + Однако, если вы испытываете нехватку дискового пространства или + просто не хотите использовать отладочное ядро, проверьте, что имеют + место следующие две вещи: + + + + В конфигурационном файле вашего ядра нет строчки, имеющей такой + вид: + + makeoptions DEBUG=-g + + + + Вы не запускали утилиту config с опцией + . + + + + Обе из вышеперечисленных ситуаций приведут к построению ядра в + отладочном режиме. Если же вы точно следуете указанным шагам, то сможете + построить обычное ядро и заметите значительное уменьшение его размера; + большинство ядер имеют размер от 1.5МБ до 2МБ. + + + + + + + + Конфликты прерываний при включении поддержки многопортовыx + коммуникационных адаптеров. + + + + + Q. Когда я компилирую ядро с поддержкой + многопортовых коммуникационных адаптеров, сообщается, что только первый + порт будет тестироваться, а все остальные пропускаются из-за конфликтов + прерываний. Как это исправить? + + A. Проблема состоит в том, что во FreeBSD + встроен код, предохраняющий ядро от аппаратных и программных конфликтов. + Вам нужно убрать указания IRQ на всех портах, кроме одного. + Например: + + +# +# Высокоскоростной многопортовый коммуникационный адаптер - 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 + + + + + + + + + Как включить поддержку накопителей QIC-40/80? + + + + + Раскомментируйте следующую строку в файле конфигурации стандартного + ядра (или добавьте ее в конфигурационный файл вашего ядра), добавьте + flags 0x1 к строке, содержащей fdc и + перекомпилируйте ядро. + + +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 -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - -Затем создайте устройство с именем /dev/ft0, перейдя в - каталог /dev и запустив команду - - - sh ./MAKEDEV ft0 - - + -для первого устройства, ft1 для второго и - так далее. - -У вас появится устройство с именем /dev/ft0, на - которое вы можете производить запись с помощью специальной программы - управления, называющейся ``ft'' - за - дополнительной информацией обратитесь к странице справочника по - ft. - -Версии операционной системы, предшествующие , - имеют огрехи, связанные с качеством носителя. Если у вас появились - проблема, когда ft прокручивает ленту - туда-сюда на одном и том же месте, попробуйте взять последнюю версию - программы ft с - /usr/src/sbin/ft из и - попробовать её. - - + Затем создайте устройство с именем /dev/ft0, + перейдя в каталог /dev и запустив команду + + +&prompt.root; sh MAKEDEV ft0 + + + для первого устройства, ft1 для второго и + так далее. + + У вас появится устройство с именем /dev/ft0, на + которое вы можете производить запись с помощью специальной программы + управления, называющейся ft - за + дополнительной информацией обратитесь к странице справочника по ft. + + Версии операционной системы, предшествующие , + имеют огрехи, связанные с качеством носителя. Если у вас появились + проблема, когда ft прокручивает ленту + туда-сюда на одном и том же месте, попробуйте взять последнюю версию + программы ft с /usr/src/sbin/ft + из и попробовать её. + + + + - + Системное администрирование - -Где расположены файлы конфигурации системы? + + + + Где расположены файлы конфигурации системы? + + + Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным файлом является /etc/sysconfig. Все параметры указываются @@ -4476,196 +4860,269 @@ id="admin"> /etc/rc и /etc/netstart просто его используют. -Посмотрите файл /etc/sysconfig и измените значения - переменных на соответствующие вашей системе. В файле содержатся - комментарии, описывающие смысл этих переменных и способ их задания. - -В системах выше 2.2.1 и в 3.0 файл /etc/sysconfig - сменил название на говорящее само за себя rc.conf, - синтаксис описания переменных был несколько улучшен. - /etc/netstart тоже был переименован в - /etc/rc.network, так что все конфигурационные файлы - теперь можно перенести одной командой cp - /usr/src/etc/rc* /etc. - -/etc/rc.local как обычно, можно использовать для - запуска дополнительных местных служб типа INN или - для настройки дополнительных параметров. - -Файл /etc/rc.serial предназначен для инициализации - коммуникационных адаптеров (например, установки характеристик - работы последовательных портов итд). - -Файл /etc/rc.i386 предназначен для настройки специфичных - для архитектуры Intel параметров, таких, как эмуляция iBCS2 или - характеристик системной консоли ПК. - -Начиная с версии 2.1.0R, вы можете иметь "местные" файлы - автозапуска в каталоге, указанном в файле /etc/sysconfig - (или /etc/rc.conf): - - - # Location of local startup files. - local_startup=/usr/local/etc/rc.local.d - - - -Каждый файл, оканчивающийся на .sh, будет запущен на выполнение - в алфавитном порядке. - -Если вам нужно добиться определённого порядка выполнения не - меняя имён файлов, можно использовать схему, в которой для - упорядочения используются цифры, предшествующие имени файла. - - - 10news.sh - 15httpd.sh - 20ssh.sh - - - -Это может выглядеть безобразно (как SysV :-)), но это - простой и понятный метод для добавления дополнительных служб без - шаманства с редактированием /etc/rc.local. Многие - порты/пакаджи предполагают, что каталог - /usr/local/etc/rc.d предназначен для размещения - запускаемых при загрузке системы скриптов. - - + Посмотрите файл /etc/sysconfig и измените значения + переменных на соответствующие вашей системе. В файле содержатся + комментарии, описывающие смысл этих переменных и способ их задания. - -Как проще всего добавить пользователя? + В системах выше 2.2.1 и в 3.0 файл /etc/sysconfig + сменил название на говорящее само за себя rc.conf, + синтаксис описания переменных был несколько улучшен. + /etc/netstart тоже был переименован в + /etc/rc.network, так что все конфигурационные файлы + теперь можно перенести одной командой cp + /usr/src/etc/rc* /etc. -Используйте команду adduser. - Для выполнения более сложных операций обратитесь к команде pw. - -Чтобы удалить пользователя, используйте команду rmuser. - - + А в системах версий 3.1 и выше /etc/rc.conf был + перемещён в /etc/defaults/rc.conf. Не + редактируйте этот файл! Вместо этого, если в файле + /etc/defaults/rc.conf имеется параметр, который вы + хотите изменить, то вы должны скопировать строчку с ним в файл + /etc/rc.conf и поменять его значение именно + здесь. - -Как добавить в систему новый диск? + Например, если вы хотите запустить named, сервер DNS, включенный в + поставку FreeBSD начиная с FreeBSD 3.1, всё, что вам нужно сделать, это: + +&prompt.root; echo named_enable="YES" >> /etc/rc.conf + + -Обратитесь к Руководству по форматированию дисков на сервере www.FreeBSD.org. - - + Чтобы запустить местные сервисы во FreeBSD 3.1 и выше, поместите + скрипты в каталог /usr/local/etc.rd. У этих скриптов + должен быть выставлен бит выполнимости, и их имена должны оканчиваться на + .sh. Во FreeBSD 3.0 и ранее, вы должны отредактировать файл + /etc/rc.local. - -Как использовать устройство для чтения сменных дисков? - + Файл /etc/rc.serial предназначен для инициализации + коммуникационных адаптеров (например, установки характеристик + работы последовательных портов итд). -Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным - дисководом, если вы хотите его использовать) или каким-то - другим, как только оно будет установлено и распознано - системой, и вы вставите в него картридж/дискету/что-там-ещё, всё - будет выглядеть примерно одинаково. - -(этот раздел опирается на FAQ по устройствам ZIP Марка Мэйо (Mark Mayo)) - -Если это устройство ZIP или обычный дисковод, и у вас уже есть - файловая система DOS на дискетах, то вы можете нспользовать команду - типа: - - - - mount -t msdos /dev/fd0c /floppy - - - -для обычных дискет, или - - - - mount -t msdos /dev/da2s4 /zip - - - -для дискет ZIP со стандартной конфигурацией. - -Для других дисков посмотрите их параметры с помощью - fdisk или /stand/sysinstall. - -Остальные примеры даны для привода ZIP на da2, третьем диске SCSI. - -Если это дискета или сменный диск, который будет использоваться для - обмена информацией с другими людьми, хорошой идеей будет помещение туда - файловой системы BSD. Вы получите поддержку длинных имён файлов, - увеличение производительности по крайней мере в два раза и гораздо - большую надёжность. Первым делом вам снова будет нужно выполнить - разбиение диска на разделы/файловые системы. Вы можете воспользоваться - утилитой fdisk либо - /stand/sysinstall, а в случае небольшого диска, на - котором не нужно располагать несколько операционных систем, просто сотрите - таблицу разделов (слайсов) FAT и используйте разбиение на разделы - BSD. - - - - dd if=/dev/zero of=/dev/rda2 count=2 - disklabel -Brw da2 auto - - - -Вы можете использовать disklabel или - /stand/sysinstall для создания нескольких разделов - BSD. Вам наверняка придётся это сделать, если вы станете добавлять место - для раздела подкачки на винчестере, хотя это не имеет отношения к - устройствам типа ZIP. - -В итоге вы должны создать новую файловую систему (в этом примере - она занимает весь наш диск ZIP): - - - - newfs /dev/rda2c - - - -и смонтировать её: - - - - mount /dev/da2c /zip - - - -Хорошо ещё добавить строку типа следующей в файл - /etc/fstab, - чтобы в будущем можно было просто давать команду "mount /zip": - - - - /dev/da2c /zip ffs rw,noauto 0 0 - - - - + Файл /etc/rc.i386 предназначен для настройки + специфичных для архитектуры Intel параметров, таких, как эмуляция iBCS2 + или характеристик системной консоли ПК. - -Как смонтировать вторичный раздел DOS? + + -Вторичные разделы DOS находятся после ВСЕХ первичных разделов. - Например, если раздел "E" является вторым разделом DOS на - втором диске SCSI, вам нужно создать специальные файлы для пятого - "слайса" в каталоге /dev, затем смонтировать /dev/da1s5: - - - - # cd /dev - # ./MAKEDEV da1s5 - # mount -t msdos /dev/da1s5 /dos/e - - + + + + Как проще всего добавить пользователя? + + + + + Используйте команду adduser. + Для выполнения более сложных операций обратитесь к команде pw. + + Чтобы удалить пользователя, используйте команду rmuser. И, + снова повторимся, команда pw тоже будет работать. + + + + + + + + Как добавить в систему новый диск? + + + + + Обратитесь к Руководству по форматированию дисков на сервере www.FreeBSD.org. - + + + + + + + Как использовать устройство для чтения сменных дисков? + + + Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным + дисководом, если вы хотите его использовать) или каким-то + другим, как только оно будет установлено и распознано + системой, и вы вставите в него картридж/дискету/что-там-ещё, всё + будет выглядеть примерно одинаково. + + (этот раздел опирается на + FAQ по устройствам ZIP Марка Мэйо (Mark Mayo)) + + Если это устройство ZIP или обычный дисковод, и у вас уже есть + файловая система DOS на дискетах, то вы можете нспользовать команду + типа: + + +&prompt.root; mount -t msdos /dev/fd0c /floppy + + + для обычных дискет, или + + +&prompt.root; mount -t msdos /dev/da2s4 /zip + + + для дискет ZIP со стандартной конфигурацией. + + Для других дисков посмотрите их параметры с помощью команды + fdisk или /stand/sysinstall. + + Остальные примеры даны для привода ZIP на da2, третьем диске + SCSI. + + Если это дискета или сменный диск, который будет использоваться для + обмена информацией с другими людьми, хорошой идеей будет помещение туда + файловой системы BSD. Вы получите поддержку длинных имён файлов, + увеличение производительности по крайней мере в два раза и гораздо + большую надёжность. Первым делом вам снова будет нужно выполнить + разбиение диска на разделы/файловые системы. Вы можете воспользоваться + утилитой fdisk либо + /stand/sysinstall, а в случае небольшого диска, на + котором не нужно располагать несколько операционных систем, просто сотрите + таблицу разделов (слайсов) FAT и используйте разбиение на разделы + BSD. + + +&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2 +&prompt.root; disklabel -Brw da2 auto + + + Вы можете использовать disklabel или + /stand/sysinstall для создания нескольких разделов + BSD. Вам наверняка придётся это сделать, если вы станете добавлять место + для раздела подкачки на винчестере, хотя это не имеет отношения к + устройствам типа ZIP. + + В итоге вы должны создать новую файловую систему (в этом примере + она занимает весь наш диск ZIP): + + +&prompt.root; newfs /dev/rda2c + + + и смонтировать её: + + +&prompt.root; mount /dev/da2c /zip + + + Хорошо ещё добавить строку типа следующей в файл + /etc/fstab, + чтобы в будущем можно было просто давать команду + mount /zip: + + +/dev/da2c /zip ffs rw,noauto 0 0 + + + + + + + + + Почему после редактирования моего файла crontab я получаю сообщения + вида root: not found? + + + + + Обычно это случается при редактировании системного crontab-файла + (/etc/crontab) и последующего использования утилиты + &man.crontab.1; для его установки: + + &prompt.root; crontab /etc/crontab + + Это неправильно. Системный crontab-файл имеет формат, отличный от + пользовательских crontab-файлов, которые обновляет утилита + &man.crontab.1; (страница Справочника по &man.crontab.5; описывает + отличия более подробно). + + Если вы сделали именно это, то нужно удалить файл + /var/cron/tabs/root, так как он будет являться + просто копией /etc/crontab, но неправильного формата. + В следующий раз при редактировании /etc/crontab + вам не нужно ничего делать для извещения утилиты &man.cron.8; о сделанных + изменениях, так как она заметит изменения автоматически. + + Реальная причина ошибки заключается в том, что системный crontab-файл + имеет дополнительное поле, указывающее, какой пользователь запускает + команду. В системном crontab-файле, поставляемом с FreeBSD и используемом + по умолчанию, это пользователь root для всех + строк. Если этот crontab-файл используется в качестве crontab-файла + пользователя root (что не то же + самое, что системный crontab-файл), &man.cron.8; полагает, + что слово root является первым в команде на выполнение, + но такой команды не существует. + + + + + + + Я сделал ошибку в файле rc.conf, и теперь не + могу его отредактировать из-за того, что файловая система находится в + режиме только для чтения. Что мне делать? + + + + + При получении приглашения на ввод полного пути до командного + процессора, просто нажмите ENTER, а затем выполните + команду mount / для повторного монтирования корневой + файловой системы в режиме чтения/записи. Вам может также потребоваться + выполнить команду mount -a -t ufs для монтирования + файловой системы, в которой расположен ваш любимый редактор. Если + редактор расположен на сетевой файловой системе, то вам потребуется + выполнить сетевые настройки вручную до монтирования сетевой файловой + системы, либо воспользоваться редактором, находящимся в локальной файловой + системе, таким, как &man.ed.1;. + + Если вы собираетесь использовать полноэкранный редактор, такой, как + &man.vi.1; или &man.emacs.1;, то вам нужно будет выполнить команду + export TERM=cons25, чтобы такие редакторы смогли + корректно взять данные из базы данных &man.termcap.5;. + + После выполнения этих шагов вы сможете отредактировать файл + /etc/rc.conf так, как вы это обычно делаете для + исправления ошибки. Сообщение об ошибке, выводимое сразу же после + сообщений при загрузке ядра, должно указать вам на номер строки в файле, + которая содержит ошибку. + + + + + + + + Как смонтировать вторичный раздел DOS? + + + + + Вторичные разделы DOS находятся после ВСЕХ первичных разделов. + Например, если раздел E является вторым разделом DOS на + втором диске SCSI, вам нужно создать специальные файлы для пятого + слайса в каталоге /dev, затем смонтировать /dev/da1s5: + + +&prompt.root; cd /dev +&prompt.root; sh MAKEDEV da1s5 +&prompt.root; mount -t msdos /dev/da1s5 /dos/e + + + + + Можно ли смонтировать другие файловые системы? @@ -4709,16 +5166,15 @@ id="admin"> файл c:\boot.ini, чтобы он выглядел примерно так: - - [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" - - + +[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" + Для систем 2.2.x предполагается, что DOS, NT, FreeBSD или другая операционная система были установлены в их соответствующие разделы fdisk на @@ -4730,35 +5186,29 @@ id="admin"> Смонтируйте дискету в формате DOS (если вы используете NTFS) или раздел FAT, скажем, в каталог /mnt. - - - dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1 - - + +&prompt.root; dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1 + Перезапустите DOS или NT. Пользователи NTFS должны скопировать файл bootsect.bsd и/или bootsect.lnx - с дискеты на диск C:\. Измените атрибуты + с дискеты на диск C:\. Измените атрибуты (права) на файл boot.ini следующим образом: - - - attrib -s -r c:\boot.ini - - + +C:\> attrib -s -r c:\boot.ini + Отредактируйте этот файл, добавив соответствующие строки из примерного boot.ini выше, и восстановите атрибуты: - - - attrib +s +r c:\boot.ini - - + +C:\> attrib +s +r c:\boot.ini + Если FreeBSD загружается из MBR, восстановите его командой DOS - ``fdisk'' после того, как переконфигурировали их для - загрузки с их ``родных'' разделов. + fdisk после того, как переконфигурировали их для + загрузки с их родных разделов. Для систем FreeBSD 3.x эта процедура выглядит несколько проще. @@ -4793,21 +5243,24 @@ id="admin"> - - Как загрузить FreeBSD и Linux с помощью LILO? - + + + Как загрузить FreeBSD и Linux с помощью LILO? + + + + + Если у вас установлены FreeBSD и Linux на одном и том же диске, + следуйте указаниям по установке LILO о загрузке не-Linux операционных + систем. Они сводятся к следующему: + + Загрузите Linux, и добавьте следующие строки в файл + /etc/lilo.conf: -Если у вас установлены FreeBSD и Linux на одном и том же диске, - следуйте указаниям по установке LILO о загрузке не-Linux операционных - систем. Они сводятся к следующему: - -Загрузите Linux, и добавьте следующие строки в файл - /etc/lilo.conf: - - other=/dev/hda2 - table=/dev/hda - label=FreeBSD +other=/dev/hda2 +table=/dev/hda +label=FreeBSD (здесь вы предполагаем, что слайс с FreeBSD известен Linux как @@ -4815,36 +5268,39 @@ id="admin"> конфигурацией). Затем достаточно будет запустить lilo, войдя в систему как администратор. -Если FreeBSD располагается на другом диске, вам нужно добавить строчку - ``loader=/boot/chain.b'' в конфигурационный файл - LILO. Например: + Если FreeBSD располагается на другом диске, вам нужно добавить строчку + loader=/boot/chain.b в конфигурационный файл + LILO. Например: - - other=/dev/dab4 - table=/dev/dab - loader=/boot/chain.b - label=FreeBSD - - + +other=/dev/dab4 +table=/dev/dab +loader=/boot/chain.b +label=FreeBSD + + -В некоторых случаях для успешной загрузки со второго диска вам - может потребоваться указать номер диска BIOS загрузчику FreeBSD. - Например, если диск SCSI с FreeBSD определяется BIOS как диск 1, - в приглашении загрузчика FreeBSD нужно указать: + В некоторых случаях для успешной загрузки со второго диска вам + может потребоваться указать номер диска BIOS загрузчику FreeBSD. + Например, если диск SCSI с FreeBSD определяется BIOS как диск 1, + в приглашении загрузчика FreeBSD нужно указать: + + +Boot: 1:da(0,a)/kernel + + + Во FreeBSD 2.2.5 и выше вы можете настроить boot(8) + на автоматическое принятие таких параметров во время загрузки. + + В документе + Linux+FreeBSD mini-HOWTO содержится много информации, + касающейся взаимодействия FreeBSD и Linux. + + + - - Boot: 1:da(0,a)/kernel - - - -Во FreeBSD 2.2.5 и выше вы можете настроить boot(8) - на автоматическое принятие таких параметров во время загрузки. - -В документе Linux+FreeBSD mini-HOWTO содержится много информации, - касающейся взаимодействия FreeBSD и Linux. - - Как загрузить FreeBSD и Linux с помощью BootEasy? @@ -4865,243 +5321,214 @@ id="admin"> - - Не угрожает ли режим ``dangerously dedicated'' моему здоровью? - -В процессе установки вы можете выбрать два - различных метода разбиения вашего диска. По умолчанию это делается - в режиме совместимости с другими операционными системами на этой же - машине с использованием записей в таблице разделов fdisk (то, что - называется ``слайсом'' во FreeBSD), со слайсом (разделом), выделенным - FreeBSD. Опционально, вы можете выбрать установку менеджера - загрузки для переключения между операционными системами. Либо вы - можете выделить диск полностью под FreeBSD, не заботясь о совместимости - с другими операционными системами. - + + + Не угрожает ли режим dangerously dedicated моему + здоровью? + - -Почему же этот режим называется ``dangerous''? Дело в том, что - диск в этом режиме не будет содержать того, что обычные утилиты для - ПК распознают как таблицу разделов. В зависимости от того, насколько - хорошо они написаны, они могут сообщить вам об этом, как только - обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик - BSD, даже не спрашивая и не сообщая об этом. К тому же известно, что - разметка диска в режиме ``dangerously dedicated'' вводит в заблуждение - BIOS многих производителей, включая AWARD (которые используются в - компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR - (производителя популярных SCSI-контроллеров серии 53C8xx). И это не - полный список, есть ещё другие производители. Симптомами подобных - проблем является сообщение "read error", выводимое загрузчиком FreeBSD, - когда он не может найти сам себя, а также зависания системы при загрузке. - + - -Тогда зачем вообще нужен этот режим? Он экономит всего лишь - несколько килобайт дискового пространства и может вызвать серьёзные - проблемы при новой инсталляции. Причиной появления этого режима - является желание избежать появления одной из самых распространённых - проблем, с которой сталкиваются новички - соответствие параметров - BIOS и реальных параметров диска. + В процессе установки вы можете выбрать два + различных метода разбиения вашего диска. По умолчанию это делается + в режиме совместимости с другими операционными системами на этой же + машине с использованием записей в таблице разделов fdisk (то, что + называется слайсом во FreeBSD), со слайсом (разделом), + выделенным FreeBSD. Опционально, вы можете выбрать установку менеджера + загрузки для переключения между операционными системами. Либо вы + можете выделить диск полностью под FreeBSD, не заботясь о совместимости + с другими операционными системами. + + Почему же этот режим называется dangerous? Дело в том, + что диск в этом режиме не будет содержать того, что обычные утилиты для + ПК распознают как таблицу разделов. В зависимости от того, насколько + хорошо они написаны, они могут сообщить вам об этом, как только + обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик + BSD, даже не спрашивая и не сообщая об этом. К тому же известно, что + разметка диска в режиме dangerously dedicated вводит в + заблуждение BIOS многих производителей, включая AWARD (которые используются + в компьютерах HP Netserver, Micronics и многих других) и Symbios/NCR + (производителя популярных SCSI-контроллеров серии 53C8xx). И это не + полный список, есть ещё другие производители. Симптомами подобных + проблем является сообщение read error, выводимое загрузчиком + FreeBSD, когда он не может найти сам себя, а также зависания системы при + загрузке. + + Тогда зачем вообще нужен этот режим? Он экономит всего лишь + несколько килобайт дискового пространства и может вызвать серьёзные + проблемы при новой инсталляции. Причиной появления этого режима + является желание избежать появления одной из самых распространённых + проблем, с которой сталкиваются новички - соответствие параметров + BIOS и реальных параметров диска. + + Параметры диска являются устаревшей концепцией, но она + лежит в основе работы BIOS с диском. Когда программа установки FreeBSD + создаёт слайсы, она записывает их расположение в соответствии с тем, + как с ними будет работать BIOS. Если это делается неправильно, вы не + сможете выполнить загрузку системы. + + Режим dangerously dedicated пытается обойти это, упрощая + решение данной проблемы. Иногда он делает это правильно. Однако это + значит, что его нужно использовать только как последнюю альтернативу - есть + способы получше, решающие проблему в 99 случаях из 100. + + Итак, как избежать использования режима DD во время + установки? Сначала запишите параметры диска, которые сообщает BIOS. Вы + можете выяснить это, заставив ядро вывести эти параметры при загрузке, + указав в приглашении boot:, или + используя boot -v в загрузчике. Перед тем, как + запустится программа установки, ядро выведет параметры, используемые BIOS. + Не волнуйтесь - подождите запуска программы + установки, а затем воспользуйтесь скроллингом, чтобы посмотреть + значения этих параметров. Как правило, BIOS нумерует диски в том же + порядке, что и FreeBSD, сначала IDE, затем SCSI. + + Когда вы разбиваете диск на слайсы, проверьте, что параметры диска, + выводимые в окне программы FDISK, корректны (то есть они соответствуют + параметрам BIOS); если это не так, воспользуйтесь командой + g, чтобы их исправить. Вы можете это сделать, если на + диске нет абсолютно ничего или если этот диск был перенесён с другой + системы. Заметьте, что это касается только загрузочного диска; FreeBSD + прекрасно разберётся с остальными дисками, которые могут у вас быть. + + Как только вы добились соответствия параметров диска в BIOS и + FreeBSD, скорее всего, проблем у вас больше не будет, и использовать + режим DD не потребуется. Если, однако, страшной сообщение + read error продолжает появляться при загрузке, самое время + перекреститься и попробовать этот режим - терять вам больше нечего. + + Чтобы вернуть диск из режима dangerously dedicated к + нормальному режиму использования, есть два способа. Первый заключается + в том, что вы записываете достаточное количество байтов NULL поверх + MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно + сделать, например, командой + + +&prompt.root; dd if=/dev/zero of=/dev/rda0 count=15 + + + Другой способ - недокументированной командой DOS + + +C:\> fdisk /mbr + + + проинсталлировать новую MBR, удалив загрузчик BSD. -``Параметры'' диска являются устаревшей концепцией, но она лежит - в основе работы BIOS с диском. Когда программа установки FreeBSD - создаёт слайсы, она записывает их расположение в соответствии с тем, - как с ними будет работать BIOS. Если это делается неправильно, вы не - сможете выполнить загрузку системы. - -Режим ``dangerously dedicated'' пытается обойти это, упрощая решение - данной проблемы. Иногда он делает это правильно. Однако это значит, - что его нужно использовать только как последнюю альтернативу - есть - способы получше, решающие проблему в 99 случаях из 100. - -Итак, как избежать использования режима ``DD'' во время установки? - Сначала запишите параметры диска, которые сообщает BIOS. Вы можете - выяснить это, заставив ядро вывести эти параметры при загрузке, указав - ``-v'' в приглашении ``boot:'', или используя ``boot -v'' в загрузчике. - Перед тем, как запустится программа установки, ядро выведет параметры, - используемые BIOS. Не волнуйтесь - подождите запуска программы - установки, а затем воспользуйтесь скроллингом, чтобы посмотреть - значения этих параметров. Как правило, BIOS нумерует диски в том же - порядке, что и FreeBSD, сначала IDE, затем SCSI. - -Когда вы разбиваете диск на слайсы, проверьте, что параметры диска, - выводимые в окне программы FDISK, корректны (то есть они соответствуют - параметрам BIOS); если это не так, воспользуйтесь командой ``g'', чтобы - их исправить. Вы можете это сделать, если на диске нет абсолютно - ничего или если этот диск был перенесён с другой системы. Заметьте, - что это касается только загрузочного диска; FreeBSD прекрасно разберётся - с остальными дисками, которые могут у вас быть. - - - -Как только вы добились соответствия параметров диска в BIOS и - FreeBSD, скорее всего, проблем у вас больше не будет, и использовать - режим ``DD'' не потребуется. Если, однако, страшной сообщение - ``read error'' продолжает появляться при загрузке, самое время - перекреститься и попробовать этот режим - вам больше нечего терять. - - - -Чтобы вернуть диск из режима ``dangerously dedicated'' к - нормальному режиму использования, есть два способа. Первый заключается - в том, что вы записываете достаточное количество байтов NULL поверх - MBR, чтобы любой инсталлятор думал, что это чистый диск. Это можно - сделать, например, командой - - - - dd if=/dev/zero of=/dev/rda0 count=15 - - - -Другой способ - недокументированной командой DOS - - - fdisk /mbr - - - -проинсталлировать новую MBR, удалив загрузчик BSD. - - - - - Как добавить дополнительную виртуальную память? - - -Наилучший способ - увеличить размер раздела подкачки, может быть, - добавив для этого ещё один диск. Общим правилом является выбор - размера виртуальной памяти, в два раза превышающий объём физической - памяти. Однако, если у вас очень мало физической памяти, этот объём - гораздо больше. Хорошей практикой является задание достаточного - объёма виртуальной памяти в ожидании добавления физической памяти, - чтобы потом не испытывать трудностей. - - - -Перенос виртуальной памяти на отдельный диск увеличивает - быстродействие системы по сравнению с добавлением виртуальной памяти - на том же диске. Например, компиляция исходных текстов происходит - быстрее, если они находятся не на том же диске, что и раздел подкачки. - Особенно это заметно для дисков SCSI. - - - -Если у вас имеется несколько дисков, размещение раздела подкачки - на каждом из них, даже на рабочем диске, обычно бывает полезно. - Как правило, каждый быстрый диск в вашей системе должен иметь раздел - подкачки. FreeBSD поддерживает по умолчанию до 4 устройств подкачки с - чередованием. При задании нескольких разделов подкачки вам захочется - сделать их одинакового размера, однако иногда первичный раздел подкачки - делается несколько больше для того, чтобы он мог поместить аварийный - образ ядра. Размер вашего первичного раздела подкачки должен по крайней - мере быть равным объёму физической памяти, чтобы поместить аварийный - образ ядра. - - - -Диски IDE не позволяют реализовать одновременный доступ к обоим - дискам по одному каналу (FreeBSD не поддерживает режим 4, так что - весь ввод/вывод для дисков IDE ``программируется''). Однако я всё - равно советую перенести раздел подкачки на отдельный диск. Диски - достаточно дешёвы, и экономить тут не на чем. - - - -Использование NFS для размещения раздела подкачки рекомендуется - только в случае, если у вас нет локального диска. Подкачка поверх - NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно - быстра в релизах 4.0 и выше. Кроме того, её скорость будет ограничена - реальной пропускной способностью сети и это даст дополнительную нагрузку - на NFS-сервер. - - - -Вот пример vn-файла подкачки размером 64Мб (/usr/swap0, - хотя, конечно, вы можете выбрать любое другое имя. - - - -Удостоверьтесь, что ядро откомпилировано со строкой - - - pseudo-device vn 1 #Vnode driver (turns a file into a device) - - - - - -в конфигурационном файле. Ядро GENERIC её содержит - - - - - -создайте vn-устройство - - - cd /dev - sh ./MAKEDEV vn0 - + + - - + + + Как добавить дополнительную виртуальную память? + - -создайте файл подкачки (/usr/swap0) + - - dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 - + Наилучший способ - увеличить размер раздела подкачки, может быть, + добавив для этого ещё один диск. Общим правилом является выбор + размера виртуальной памяти, в два раза превышающий объём физической + памяти. Однако, если у вас очень мало физической памяти, этот объём + гораздо больше. Хорошей практикой является задание достаточного + объёма виртуальной памяти в ожидании добавления физической памяти, + чтобы потом не испытывать трудностей. + Перенос виртуальной памяти на отдельный диск увеличивает + быстродействие системы по сравнению с добавлением виртуальной памяти + на том же диске. Например, компиляция исходных текстов происходит + быстрее, если они находятся не на том же диске, что и раздел подкачки. + Особенно это заметно для дисков SCSI. - - + Если у вас имеется несколько дисков, размещение раздела подкачки + на каждом из них, даже на рабочем диске, обычно бывает полезно. + Как правило, каждый быстрый диск в вашей системе должен иметь раздел + подкачки. FreeBSD поддерживает по умолчанию до 4 устройств подкачки с + чередованием. При задании нескольких разделов подкачки вам захочется + сделать их одинакового размера, однако иногда первичный раздел подкачки + делается несколько больше для того, чтобы он мог поместить аварийный + образ ядра. Размер вашего первичного раздела подкачки должен по крайней + мере быть равным объёму физической памяти, чтобы поместить аварийный + образ ядра. - -Установите корректные права на файл (/usr/swap0) + Диски IDE не позволяют реализовать одновременный доступ к обоим дискам + по одному каналу (FreeBSD не поддерживает режим 4, так что весь ввод/вывод + для дисков IDE программируется). Однако я всё + равно советую перенести раздел подкачки на отдельный диск. Диски + достаточно дешёвы, и экономить тут не на чем. - - chmod 0600 /usr/swap0 - + Использование NFS для размещения раздела подкачки рекомендуется + только в случае, если у вас нет локального диска. Подкачка поверх + NFS медленна и неэффективна в релизах FreeBSD до 4.x, хотя достаточно + быстра в релизах 4.0 и выше. Кроме того, её скорость будет ограничена + реальной пропускной способностью сети и это даст дополнительную нагрузку + на NFS-сервер. - - - + Вот пример vn-файла подкачки размером 64Мб + (/usr/swap0, хотя, конечно, вы можете выбрать любое + другое имя. - -Включите использование файла подкачки в /etc/rc.conf + Удостоверьтесь, что ядро откомпилировано со строкой - - swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. - + +pseudo-device vn 1 #Vnode driver (turns a file into a device) + + в конфигурационном файле. Ядро GENERIC её содержит - - + + + + создайте vn-устройство - -перезагрузите машину - - + +&prompt.root; cd /dev +&prompt.root; sh MAKEDEV vn0 + + - - - + + создайте файл подкачки (/usr/swap0) - -Чтобы включить использование файла подкачки немедленно, наберите - - - vnconfig -ce /dev/vn0c /usr/swap0 swap - - - + +&prompt.root; dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 + + + + + Установите корректные права на файл + (/usr/swap0) + + +&prompt.root; chmod 0600 /usr/swap0 + + + + + Включите использование файла подкачки в + /etc/rc.conf + + +swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. + + + + + перезагрузите машину + + + + + Чтобы включить использование файла подкачки немедленно, наберите + + +&prompt.root; vnconfig -ce /dev/vn0c /usr/swap0 swap + + + + - - У меня проблемы с установкой принтера. @@ -5113,297 +5540,272 @@ id="admin"> - -Раскладка клавиатуры неверна. -Программа kbdcontrol имеет параметр, задающий файл раскладки. - Файлы раскладок находятся в каталоге - /usr/share/syscons/keymaps. Выберите соответствующий вашей - системе и загрузите его. - - - kbdcontrol -l uk.iso - - + + + Раскладка клавиатуры неверна. + + + + + Программа kbdcontrol имеет параметр, задающий файл раскладки. + Файлы раскладок находятся в каталоге + /usr/share/syscons/keymaps. Выберите соответствующий + вашей системе и загрузите его. + + +&prompt.root; kbdcontrol -l uk.iso + + + Программа kbdcontrol + предполагает использование каталога + /usr/share/syscons/keymaps + и расширения .kbd. -Программа kbdcontrol - предполагает использование каталога - /usr/share/syscons/keymaps - и расширения .kbd. - -Это может быть настроено в файле /etc/sysconfig (или - rc.conf). - Обратитесь к соответствующим комментариям в этом файле. - -В системах 2.0.5R и выше, всё, относящееся к знакогенератору, - раскладке клавиатуры, находится в каталоге - /usr/share/examples/syscons. + Это может быть настроено в файле /etc/sysconfig + (или rc.conf). + Обратитесь к соответствующим комментариям в этом файле. + + В системах 2.0.5R и выше, всё, относящееся к знакогенератору, + раскладке клавиатуры, находится в каталоге + /usr/share/examples/syscons. + + На данный момент поддерживаются следующие раскладки: + + + + Belgian ISO-8859-1 + + + Brazilian 275 keyboard Codepage 850 + + + + Brazilian 275 keyboard ISO-8859-1 + + + + Danish Codepage 865 + + + + Danish ISO-8859-1 + + + + French ISO-8859-1 + + + + German Codepage 850 + + + + German ISO-8859-1 + + + + Italian ISO-8859-1 + + + + Japanese 106 + + + + Japanese 106x + + + + Latin American + + + + Norwegian ISO-8859-1 + + + + Polish ISO-8859-2 (programmer's) + + + + Russian Codepage 866 (alternative) + + + + Russian koi8-r (shift) + + + + Russian koi8-r + + + + Spanish ISO-8859-1 + + + + Swedish Codepage 850 + + + + Swedish ISO-8859-1 + + + + Swiss-German ISO-8859-1 + + + + United Kingdom Codepage 850 + + + + United Kingdom ISO-8859-1 + + + + United States of America ISO-8859-1 + + + + United States of America dvorak + + + + United States of America dvorakx + + + + + + + + + + + Не получается заставить работать дисковые квоты. + + + + + + + + Не включайте квотирование на /, + + + + Помещайте файл с квотами в ту файловую систему, которую + он обслуживает, то есть: + + +ФС ФАЙЛ КВОТ +/usr /usr/admin/quotas +/home /home/admin/quotas +... + + + + + + + + + + + + + Что не так с устройством ccd? + + + + + Симптом выглядит так: -На данный момент поддерживаются следующие раскладки: + +&prompt.root; ccdconfig -C +ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format + + + Это сообщение обычно выдаётся, когда вы пытаетесь объединить разделы + c, по умолчанию имеющие тип unused. + Драйвер ccd требует, чтобы используемые разделы имели тип FS_BSDFFS. + Отредактируйте метки тех дисков, которые вы хотите использовать, сменив + типы разделов на 4.2BSD. + + + + + + + + Почему невозможно отредактировать метку диска ccd? + + + + + Симптом выглядит так: + + +&prompt.root; disklabel ccd0 +(здесь выводится информация о диске, пробуем отредактировать метку) +&prompt.root; disklabel -e ccd0 +(редактирование, сохранение, выход) +disklabel: ioctl DIOCWDINFO: No disk label on disk; +use "disklabel -r" to install initial label + + + Это происходит из-за того, что метка диска, возвращаемая ccd, на + самом деле ненастоящая, не соответствующая реально + располагающейся на диске. Вы можете решить эту проблему, явно записав эту + метку обратно следующим образом: + + +&prompt.root; disklabel ccd0 > /tmp/disklabel.tmp +&prompt.root; disklabel -Rr ccd0 /tmp/disklabel.tmp +&prompt.root; disklabel -e ccd0 +(теперь это будет работать) + + + + + + + + + Поддерживает ли FreeBSD вызовы IPC из System V? + + + + + Да, FreeBSD поддерживает IPC из System V, а именно совместно + используемую память, сообщения и семафоры. Чтобы они работали, вам + нужно добавить следующие строки в файл конфигурации ядра. + + +options SYSVSHM +options SYSVSHM # enable shared memory +options SYSVSEM # enable for semaphores +options SYSVMSG # enable for messaging + + + + + Во FreeBSD 3.2 и выше эти параметры уже включены в ядро + GENERIC, что уже означает их присутствие в вашей + системе. + + + + Перекомпилируйте и проинсталлируйте ядро. - - - - -Belgian ISO-8859-1 - - - - -Brazilian 275 keyboard Codepage 850 - - - - -Brazilian 275 keyboard ISO-8859-1 - - - - -Danish Codepage 865 - - - - -Danish ISO-8859-1 - - - - -French ISO-8859-1 - - - - -German Codepage 850 - - - - -German ISO-8859-1 - - - - -Italian ISO-8859-1 - - - - -Japanese 106 - - - - -Japanese 106x - - - - -Latin American - - - - -Norwegian ISO-8859-1 - - - - -Polish ISO-8859-2 (programmer's) - - - - -Russian Codepage 866 (alternative) - - - - -Russian koi8-r (shift) - - - - -Russian koi8-r - - - - -Spanish ISO-8859-1 - - - - -Swedish Codepage 850 - - - - -Swedish ISO-8859-1 - - - - -Swiss-German ISO-8859-1 - - - - -United Kingdom Codepage 850 - - - - -United Kingdom ISO-8859-1 - - - - -United States of America ISO-8859-1 - - - - -United States of America dvorak - - - - -United States of America dvorakx - - - - - - - - - - - -Не получается заставить работать дисковые квоты. - - - - - -Не включайте квотирование на '/', - - - - - -Помещайте файл с квотами в ту файловую систему, которую - он обслуживает, то есть: - - - ФС ФАЙЛ КВОТ - /usr /usr/admin/quotas - /home /home/admin/quotas - ... - - - - - - - - - - - - - -Что не так с устройством ccd? - -Симптом выглядит так: - - - # ccdconfig -C - ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format - # - - - - - -Это сообщение обычно выдаётся, когда вы пытаетесь объединить разделы - 'c', по умолчанию имеющие тип 'unused'. Драйвер ccd требует, чтобы - используемые разделы имели тип FS_BSDFFS. Отредактируйте метки тех - дисков, которые вы хотите использовать, сменив типы разделов на - '4.2BSD'. - - - - - - - Почему невозможно отредактировать метку диска ccd? - - -Симптом выглядит так: - - - # disklabel ccd0 - (здесь выводится информация о диске, пробуем отредактировать метку) - # disklabel -e ccd0 - (редактирование, сохранение, выход) - disklabel: ioctl DIOCWDINFO: No disk label on disk; - use "disklabel -r" to install initial label - # - - - - - -Это происходит из-за того, что метка диска, возвращаемая ccd, на - самом деле 'ненастоящая', не соответствующая реально располагающейся - на диске. Вы можете решить эту проблему, явно записав эту метку - обратно следующим образом: - - - # disklabel ccd0 > /tmp/disklabel.tmp - # disklabel -Rr ccd0 /tmp/disklabel.tmp - # disklabel -e ccd0 - (теперь это будет работать) - - - - - - - - -Поддерживает ли FreeBSD вызовы IPC из System V? - -Да, FreeBSD поддерживает IPC из System V, а именно совместно - используемую память, сообщения и семафоры. Чтобы они работали, вам - нужно добавить следующие строки в файл конфигурации ядра. - - - options SYSVSHM - options "SHMMAXPGS=64" # 256Kb of sharable memory - options SYSVSEM # enable for semaphores - options SYSVMSG # enable for messaging - - - - - -Перекомпилируйте и проинсталлируйте ядро. - - - -ЗАМЕЧАНИЕ: Вам может потребоваться увеличить значение - константы SHMMAXGS на что-то большее, типа 4096 (16М!), если вы - собираетесь ипользовать GIMP. 256Кб достаточно для работы X11R6. - - + + @@ -5478,7 +5880,7 @@ id="admin"> Параметры nodns и nocanonify подавляют использование DNS в процессе доставки. Строка - UUCP_RELAY может понадобиться только в очень странных + UUCP_RELAY может понадобиться только в очень странных случаях, не спрашивайте о них. Просто поместите здесь имя хоста Internet, который может обрабатывать адреса с псевдо-доменами .UUCP; в большинстве случаев достаточно поставить сюда имя почтового шлюза @@ -5500,34 +5902,36 @@ id="admin"> . uucp-dom: -Как видите, это часть реально существующего файла. Первые три строки - описывают особые случаи, когда почта, направленная на некоторые домены, будет - посылаться не по стандартному маршруту, а на некоторую близлежащую - UUCP-систему для `сокращения' маршрута доставки. Следующая строка описывает, - что почта на локальный домен в сети Ethernet может быть доставлена по SMTP. - В конце файла описаны близлежащие системы UUCP в псевдо-домене .UUCP, что - позволит выполнять правильную доставку почты на адреса - ``uucp-система!получатель''. В последней строке всегда присутствует одна - точка, соответствующая всем остальным доменам, с доставкой по UUCP на - ближнюю систему UUCP, который является универсальный почтовым шлюзом во весь - остальной мир. Все имена узлов после uucp-dom: - должны быть реально существующими узлами UUCP, что можно проверить - командой uuname. + Как видите, это часть реально существующего файла. Первые три строки + описывают особые случаи, когда почта, направленная на некоторые домены, + будет посылаться не по стандартному маршруту, а на некоторую близлежащую + UUCP-систему для сокращения маршрута доставки. Следующая + строка описывает, + что почта на локальный домен в сети Ethernet может быть доставлена по SMTP. + В конце файла описаны близлежащие системы UUCP в псевдо-домене .UUCP, что + позволит выполнять правильную доставку почты на адреса + uucp-система!получатель. + В последней строке всегда присутствует одна точка, соответствующая всем + остальным доменам, с доставкой по UUCP на + ближнюю систему UUCP, который является универсальный почтовым шлюзом во весь + остальной мир. Все имена узлов после uucp-dom: + должны быть реально существующими узлами UUCP, что можно проверить + командой uuname. Как напоминание о том, что этот файл должен быть преобразован в формат базы данных DBM перед использованием, командная строка, выполняющая это действие, помещена как комментарий в начало файла. При изменении mailertable всегда нужно выполнять эту команду. -Последняя подсказка: если вы не уверены в правильности настройки - маршрутизаци почты, используйте sendmail с опцией . Она - переводит sendmail в режим проверки адресов; введите - ``0 '', а затем адрес, который вы хотите протестировать на правильность - маршрутизации. В последней строке будут указаны используемый - почтовый агент, хост получателя, с которым будет работать этот агент, - и (может быть преобразованный) адрес. Выход их этого режима - осуществляется по Control-D. - + Последняя подсказка: если вы не уверены в правильности настройки + маршрутизаци почты, используйте sendmail с опцией . Она + переводит sendmail в режим проверки адресов; введите + 0 , а затем адрес, который вы хотите протестировать на + правильность маршрутизации. В последней строке будут указаны используемый + почтовый агент, хост получателя, с которым будет работать этот агент, + и (может быть преобразованный) адрес. Выход их этого режима + осуществляется по Control-D. + &prompt.user; sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) @@ -5572,22 +5976,18 @@ id="ispmail"> соединения с Internet, добавив такую строку в файл /etc/ppp/ppp.linkup: - - - MYADDR: - !bg su user -c fetchmail - - + +MYADDR: + !bg su user -c fetchmail + - Если вы используете sendmail (как + Если вы используете sendmail (как показано ниже) для доставки почты для внешних пользователей, поместите команду - - -!bg su user -c "sendmail -q" - - + + !bg su user -c "sendmail -q" + после вышеуказанной строки. Это заставит sendmail обработать вашу очередь почтовых сообщений, как только будет осуществлено подключение @@ -5599,11 +5999,9 @@ id="ispmail"> bsd.home создайте файл .fetchmailrc такого содержания: - - -poll myISP.com protocol pop3 fetchall pass MySecret; - - + +poll myISP.com protocol pop3 fetchall pass MySecret + Излишним будет напоминание о том, что этот файл никому не должен быть доступен для чтения, кроме пользователя Следующий файл .mc должен подойти: - - + 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 - - + В предыдущем разделе описано, как преобразовать файл .mc в sendmail.cf. И не забудьте @@ -5647,22 +6043,27 @@ define(`confDELIVERY_MODE',`deferred')dnl - -Ой! Я забыл пароль администратора! + + + Ой! Я забыл пароль администратора! + + + + + Без паники! Просто перезапустите систему, наберите boot + -s в приглашении Boot: (или просто -s в + случае использования версий FreeBSD до 3.2) для входа в однопользовательский + режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение + &prompt.root; введите mount -u /, чтобы перемонтировать + корневую файловую систему в режиме чтения/записи, после чего выполните + команду mount -a для монтирования всех файловых систем. + Запустите команду passwd root, чтобы сменить + пароль администратора, а затем exit для + продолжения процесса загрузки. + + + -Без паники! Просто перезапустите систему, наберите boot - -s в приглашении Boot: (или просто -s в - случае использования версий FreeBSD до 3.2) для входа в однопользовательский - режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение - &prompt.root; введите mount -u /, чтобы перемонтировать - корневую файловую систему в режиме чтения/записи, после чего выполните - команду mount -a для монтирования всех файловых систем. - Запустите команду passwd root, чтобы сменить - пароль администратора и затем exit для - продолжения процесса загрузки. - - - Как запретить перезагрузку по клавишам Control-Alt-Delete? @@ -5691,33 +6092,39 @@ define(`confDELIVERY_MODE',`deferred')dnl - -Как преобразовать текстовые файлы DOS в формат UNIX? -Используйте такую команду: - - -perl -i.bak -npe 's/\r\n/\n/g' file ... - - + + + Как преобразовать текстовые файлы DOS в формат UNIX? + + + + Используйте такую команду: -где file - это имя файла(ов) для преобразования. Преобразование + +&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ... + + + где file - это имя файла(ов) для преобразования. Преобразование делается в том же самом файле, оригинальные файлы сохраняются с расширением .bak. - -Это преобразование также можно выполнить с помощью команды + + Это преобразование также можно выполнить с помощью команды tr: - - -tr -d '\r' < dos-text-file > unix-file - - -где dos-text-file - это имя файла, содержащего текст DOS, а - в файл unix-file будет помещён уже преобразованный текст. Этот способ - может работать гораздо быстрее, чем при использовании perl. - - + + +&prompt.user; tr -d '\r' < dos-text-file > unix-file + + + где dos-text-file - это имя файла, + содержащего текст DOS, а в файл unix-file будет + помещён уже преобразованный текст. Этот способ может работать гораздо + быстрее, чем при использовании perl. + + + + Как прервать процесс по имени? @@ -5740,89 +6147,83 @@ define(`confDELIVERY_MODE',`deferred')dnl - -Как деинсталлировать Kerberos? -Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin - того релиза, который у вас запущен. Если у вас есть CDROM, вы можете - смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить - команду - - - cd /cdrom/bin - ./install.sh - - - + + + Как деинсталлировать Kerberos? + - - + - -Как добавить в систему дополнительные псевдотерминалы? + Чтобы убрать Kerberos из системы, переинсталлируйте дистрибутив bin + того релиза, который у вас запущен. Если у вас есть CDROM, вы можете + смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить + команду -Если у вас много пользователей, работающий в сеансах telnet, ssh, X - или в screen, вам можете столкнуться с проблемой нехватки - псевдотерминалов. Их количество можно уыеличить следующим образом: - - - + +&prompt.root; cd /cdrom/bin +&prompt.root; ./install.sh + - -Откомпилируйте и инсталлируйте новое ядро, в конфигурационный - файл которого входит строка - - - pseudo-device pty 256 - + + - - + + + Как добавить в систему дополнительные псевдотерминалы? + - -Выполните команду + - - # cd /dev - # ./MAKEDEV pty{1,2,3,4,5,6,7} - + Если у вас много пользователей, работающий в сеансах telnet, ssh, X + или в screen, вам можете столкнуться с проблемой нехватки + псевдотерминалов. Их количество можно уыеличить следующим образом: + + + + Откомпилируйте и инсталлируйте новое ядро, в конфигурационный + файл которого входит такая строка: - + +pseudo-device pty 256 + + -для создания 256 дополнительных файлов устройств для новых терминалов. + + Выполните следующие команды: + +&prompt.root; cd /dev +&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7} + - + для создания 256 дополнительных файлов устройств для новых + терминалов. + - -Отредактируйте файл /etc/ttys, добавив по строке для - каждого из 256 терминалов. Они должны соответствовать формату - существующих строк, то есть должны выглядеть как + + Отредактируйте файл /etc/ttys, добавив по + строке для каждого из 256 терминалов. Они должны соответствовать + формату существующих строк, то есть должны выглядеть вот так: - - ttyqc none network - + +ttyqc none network + + Порядок назначения букв при записи в виде регулярного выражения + имеет вид tty[pqrsPQRS][0-9a-v]. + - - -Порядок назначения букв при записи в виде регулярного выражения имеет - вид tty[pqrsPQRS][0-9a-v]. - - - - - -Теперь осталось только перезапустить систему с новым ядром. - - - - - + + Теперь осталось только перезапустить систему с новым ядром. + + + - + + @@ -5842,163 +6243,179 @@ define(`confDELIVERY_MODE',`deferred')dnl &prompt.root; cd /dev -&prompt.root; sh MAKDEV snd0 +&prompt.root; sh MAKEDEV snd0 - -Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc - без перезагрузки системы? + + + Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc + без перезагрузки системы? + -Перейдите в однопользовательский режим, а затем возвратитесь обратно - в многопользовательский. - -На консоли выполните следующее: - - - - # shutdown now - (Замечание: без -r или -h) + - # return - # exit - - - - + Перейдите в однопользовательский режим, а затем возвратитесь обратно + в многопользовательский. - -Что означает термин sandbox (песочница)? + На консоли выполните следующее: -"Sandbox" - это термин, используемый при обеспечении - безопасности. Он имеет два значения: + +&prompt.root; shutdown now +(Замечание: без -r или -h) - - +&prompt.root; return +&prompt.root; exit + - -Процесс, помещённый внутрь некоторых виртуальных стен, которые - предназначены для того, чтобы предотвратить взлом всей системы в - результате взлома этого конкретного процесса. + + -Говорится, что процесс может "играть" в границах этих стен. Что бы - этот процесс ни делал, он эти стены разрушить не может, поэтому вам - не нужен его особый аудит, чтобы с уверенностью сказать, насколько - его работа безопасна для системы. -Стеной может служить, например, идентификатор пользователя. Вот - определение, даваемое на страницах справочника по named и часто - используемое при обсуждении безопасности систем. + + + Что означает термин sandbox (песочница)? + -Рассмотрим, например, службу 'ntalk' (смотрите /etc/inetd.conf). - Раньше эта служба запускалась с идентификатором пользователя root, - а сейчас - tty. Пользователь tty - это та песочница, которая - осложняет взлом системы через ntalk посредством использования этого - идентификатора пользователя. - + + + Sandbox - это термин, используемый при обеспечении + безопасности. Он имеет два значения: + + + + + Процесс, помещённый внутрь некоторых виртуальных стен, которые + предназначены для того, чтобы предотвратить взлом всей системы в + результате взлома этого конкретного процесса. + + Говорится, что процесс может играть в границах + этих стен. Что бы + этот процесс ни делал, он эти стены разрушить не может, поэтому вам + не нужен его особый аудит, чтобы с уверенностью сказать, насколько + его работа безопасна для системы. + + Стеной может служить, например, идентификатор пользователя. Вот + определение, даваемое на страницах справочника по named и часто + используемое при обсуждении безопасности систем. + + Рассмотрим, например, службу ntalk (смотрите + /etc/inetd.conf). Раньше эта служба запускалась с идентификатором + пользователя root, + а сейчас - tty. Пользователь tty - это та песочница, которая + осложняет взлом системы через ntalk посредством использования этого + идентификатора пользователя. + - + + Процесс, помещённый внутрь симулируемой машины. Это даёт больший + уровень безопасности. В общем это означает, что некто, взломавший + процесс, может думать. что может сломать и систему в целом, однако + фактически может сломать только симулятор этой машины и не может + модифицировать никаких реальных данных. -Процесс, помещённый внутрь симулируемой машины. Это даёт больший - уровень безопасности. В общем это означает, что некто, взломавший - процесс, может думать. что может сломать и систему в целом, однако - фактически может сломать только симулятор этой машины и не может - модифицировать никаких реальных данных. - -Самым распространённым способом достигнуть такого результата - является построение имитирующего окружения в каталоге и затем запуск - процессов и этом каталоге через chroot (т.е. задав этот каталог в - качестве "/" для этого процесса, а не реальный "/" всей системы). + Самым распространённым способом достигнуть такого результата + является построение имитирующего окружения в каталоге и затем запуск + процессов и этом каталоге через chroot (т.е. задав этот каталог в + качестве / для этого процесса, а не реальный + / всей системы). -Другим часто используемым методом является монтирование низлежащей - файловой системы в режиме "только для чтения" и затем создание - уровня фаловой системы поверх неё, что даёт процессу видимость - доступа по записи на ту файловую систему. Процесс будет полагать, - что может записывать в те файлы, но это будет единственный процесс, - который увидит результат - другие процессы не будут этого делать, - ни в коем случае. + Другим часто используемым методом является монтирование низлежащей + файловой системы в режиме "только для чтения" и затем создание + уровня фаловой системы поверх неё, что даёт процессу видимость + доступа по записи на ту файловую систему. Процесс будет полагать, + что может записывать в те файлы, но это будет единственный процесс, + который увидит результат - другие процессы не будут этого делать, + ни в коем случае. -Попытка сделать такой тип песочницы настолько прозрачна, что - пользователь (или взломщик) даже не поймёт, что он в ней находится. - + Попытка сделать такой тип песочницы настолько прозрачна, что + пользователь (или взломщик) даже не поймёт, что он в ней + находится. + + + - - + В UNIX реализованы два типа "песочниц". Один на уровне процесса, и один + на уровне идентификаторов пользователей. -В UNIX реализованы два типа "песочниц". Один на уровне процесса, и один - на уровне идентификаторов пользователей. + Каждый процесс в UNIX полностью защищён от других процессов. Никакой + процесс не может модифицировать адресное пространство другого процесса. + Это отличается от Windows, где процесс может легко записать что-либо в + адресное пространство другого процесса, что приводит к аварийным + ситуациям. -Каждый процесс в UNIX полностью защищён от других процессов. Никакой - процесс не может модифицировать адресное пространство другого процесса. - Это отличается от Windows, где процесс может легко записать что-либо в - адресное пространство другого процесса, что приводит к аварийным - ситуациям. + В UNIX каждым процессом владеет некоторый идентификатор пользователя. + Если этот пользователь не root, от ограждает процесс от других, + владельцами которых являются другие пользователи. Этот идентификатор + используется также для защиты данных на диске. -В UNIX каждым процессом владеет некоторый идентификатор пользователя. - Если этот пользователь не root, от ограждает процесс от других, - владельцами которых являются другие пользователи. Этот идентификатор - используется также для защиты данных на диске. + + - - - - Как разрешить обычным пользователям монтировать дискеты и - другие сменные носители? - + + + Как разрешить обычным пользователям монтировать дискеты и + другие сменные носители? + - - Обычным пользователям можно позволить монтировать устройства. - Вот как это делается: + - - - Работая пользователем root, назначьте - соответствующие права на устройства с поблочным доступом, - которые соответствуют сменным носителям. + Обычным пользователям можно позволить монтировать устройства. + Вот как это делается: - Например, чтобы позволить пользователям монтировать дискеты - в первом дисководе, воспользуйтесь командой + + + Работая пользователем root, назначьте + соответствующие права на устройства с поблочным доступом, + которые соответствуют сменным носителям. + + Например, чтобы позволить пользователям монтировать дискеты + в первом дисководе, воспользуйтесь командой - &prompt.root; chmod 777 /dev/fd0 - + &prompt.root; chmod 777 /dev/fd0 + - - Как пользователь root, установите - значение sysctl-переменной vfs.usermount в - значение 1. + + Как пользователь root, установите + значение sysctl-переменной vfs.usermount в + значение 1. - &prompt.root; sysctl -w vfs.usermount=1 - - + +&prompt.root; sysctl -w vfs.usermount=1 + + + - Теперь пользователи смогут смонтировать - /dev/fd0 в свои каталоги: + Теперь пользователи смогут смонтировать /dev/fd0 в + свои каталоги: - &prompt.user; mkdir ~/my-mount-point -&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point + +&prompt.user; mkdir ~/my-mount-point +&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point + - Размонтировка устройства осуществляется просто: + Размонтировка устройства осуществляется просто: - &prompt.user; umount ~/my-mount-point + +&prompt.user; umount ~/my-mount-point + - - Использование vfs.usermount, однако, имеет - некоторые негативные стороны, связанные с вопросами безопасности. - Более правильным способом работы с носителями в формате MSDOS - является использование mtools - из коллекции портов. - - - + Использование vfs.usermount, однако, имеет + некоторые негативные стороны, связанные с вопросами безопасности. + Более правильным способом работы с носителями в формате MSDOS + является использование + mtools из коллекции портов. + + - + @@ -6032,44 +6449,43 @@ id="x"> - Если вы используете syscons (стандартный драйвер консоли), то можете - настроить поддержку указателя мыши во всех виртуальных экранах. Во - избежание конфликтов с X, драйвер syscons поддерживает виртуальное - устройство ``/dev/sysmouse''. Все события, - получаемые от реальной мыши, пишутся в устройство sysmouse через moused. - Если вы хотите использовать вашу мышь на одной или нескольких виртуальных - консолях, продолжая использовать X, - посмотрите и настройте - moused. - Затем отредактируйте /etc/XF86Config так, чтобы - в нём были следующие строки. + Если вы используете syscons (стандартный драйвер консоли), то можете + настроить поддержку указателя мыши во всех виртуальных экранах. Во + избежание конфликтов с X, драйвер syscons поддерживает виртуальное + устройство /dev/sysmouse. Все события, + получаемые от реальной мыши, пишутся в устройство sysmouse через moused. + Если вы хотите использовать вашу мышь на одной или нескольких виртуальных + консолях, продолжая использовать X, + посмотрите и настройте + moused. + + Затем отредактируйте /etc/XF86Config так, чтобы + в нём были следующие строки. - + Section Pointer Protocol "SysMouse" Device "/dev/sysmouse" ..... - + - Пример выше предназначен для XFree86 3.3.2 и выше. Для более ранних - версий параметр Protocol должен быть - MouseSystems. - - Некоторые предпочитают использовать в X устройство - ``/dev/mouse''. Чтобы оно работало, файл устройства - должен являться ссылкой на - /dev/sysmouse: - - - - # cd /dev - # rm -f mouse - # ln -s sysmouse mouse - - + Пример выше предназначен для XFree86 3.3.2 и выше. Для более ранних + версий параметр Protocol должен быть + MouseSystems. + Некоторые предпочитают использовать в X устройство + /dev/mouse. Чтобы оно работало, файл устройства + /dev/mouse должен являться ссылкой на + /dev/sysmouse: + + +&prompt.root; cd /dev +&prompt.root; rm -f mouse +&prompt.root; ln -s sysmouse mouse + + @@ -6270,190 +6686,179 @@ id="x"> - - - Меню и диалоговые окна в X Window работают неправильно! - + + + Меню и диалоговые окна в X Window работают неправильно! + -Попробуйте выключить Num Lock. - + - -Если клавиша Num Lock во время загрузки по умолчанию включена, - добавьте в секцию ``Keyboard'' файла XF86Config следующую - строку. - - - # Let the server do the NumLock processing. This should only be - # required when using pre-R6 clients - ServerNumLock - - - + Попробуйте выключить Num Lock. - - + Если клавиша Num Lock во время загрузки по умолчанию включена, + добавьте в секцию Keyboard + файла XF86Config следующую строку. - - Что такое виртуальные консоли и как изменить их количество? - + +# Let the server do the NumLock processing. This should only be +# required when using pre-R6 clients + ServerNumLock + -Виртуальные консоли, упрощённо говоря, позволяют вам иметь - несколько одновременных сеансов работы с той же самой машиной без - установки какой бы то ни было сети или запуска X. - + + - -При запуске системы после вывода сообщений этапа загрузки на консоль - выдаётся приглашение на вход в систему. Вы можете ввести своё имя и - пароль и начать работать (или играть!) на первой виртуальной консоли. - - -В какой-то момент вы можете захотеть запустить ещё одну сеанс, - скажем, чтобы заглянуть в документацию по программе, которую вы - запустили или для для чтения электронной почты во время ожидания - завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая - клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на - второй ``виртуальной консоли''! Когда захотите вернуться к - первоначальному сеансу, нажмите Alt-F1. - -После инсталляции по умолчанию во FreeBSD задействованы три виртуальных - консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш Alt-F1, Alt-F2 и - Alt-F3 служат для переключения между ними. - - Чтобы увеличить количество консолей, отредактируйте файл /etc/ttys, - добавив туда записи для терминалов с именами от ``ttyv4'' до - ``ttyvc'' после слов ``Virtual terminals'': - - - # 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 - - - - -Используйте из них столько, сколько посчитаете нужным. Чем больше - виртуальных терминалов у вас имеется, тем больше ресурсов они - используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. - Вы можете сменить статус консолей с ``secure'' на - ``insecure''. - + + + Что такое виртуальные консоли и как изменить их количество? + - -ВАЖНОЕ ЗАМЕЧАНИЕ если вы хотите запустить X, вы ДОЛЖНЫ - оставить для него по крайней мере один неиспользуемый (или - выключенный) виртуальный терминал. Таким образов, если вы хотите - иметь приглашения login на всех двенадцати функциональнык клавиши, - то вам не повезло - вы можете это сделать только для одиннадцати из - них, если хотите на этой же машине ещё запустить X-сервер. - + - -Самым простым способом убрать консоль является просто её - выключение. Например, если вы запустили на всех 12 консолях - виртуальные терминалы, как указано выше, и ещё хотите запустить X, то - должны будете изменить параметры двенадцатого виртуального - терминала с: - - - ttyvb "/usr/libexec/getty Pc" cons25 on secure - - - + Виртуальные консоли, упрощённо говоря, позволяют вам иметь + несколько одновременных сеансов работы с той же самой машиной без + установки какой бы то ни было сети или запуска X. - -на: - - - ttyvb "/usr/libexec/getty Pc" cons25 off secure - - - + При запуске системы после вывода сообщений этапа загрузки на консоль + выдаётся приглашение на вход в систему. Вы можете ввести своё имя и пароль + и начать работать (или играть!) на первой виртуальной консоли. - -Если на вашей клавиатуре только десять функциональных клавиш, - то последние строки будут выглядеть так: - - - ttyv9 "/usr/libexec/getty Pc" cons25 off secure - ttyva "/usr/libexec/getty Pc" cons25 off secure - ttyvb "/usr/libexec/getty Pc" cons25 off secure - - - + В какой-то момент вы можете захотеть запустить ещё одну сеанс, + скажем, чтобы заглянуть в документацию по программе, которую вы + запустили или для для чтения электронной почты во время ожидания + завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая + клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на + второй виртуальной консоли! Когда захотите вернуться к + первоначальному сеансу, нажмите Alt-F1. - -(Вы также можете просто их удалить.) - + После инсталляции по умолчанию во FreeBSD задействованы три виртуальных + консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш Alt-F1, Alt-F2 и + Alt-F3 служат для переключения между ними. - -После того, как вы отредактировали файл /etc/ttys, - проверьте, что у вас имеется достаточное количество устройств для - виртуальных терминалов. Самый простой способ сделать это: - - - # cd /dev - # ./MAKEDEV vty12 # For 12 devices - - - + Чтобы увеличить количество консолей, отредактируйте файл /etc/ttys, добавив + туда записи для терминалов с именами от ttyv4 до + ttyvc после слов Virtual + terminals: - -Самым простым (и надёжным) способом активировать виртуальные - консоли является перезагрузка. Однако если вы вовсе не хотите этого - делать, просто остановите X Window System и выполните (как - администратор): - - - kill -HUP 1 - - - + +# 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 + - -При этом требуется, чтобы вы полностью закрыли X Window, если она - была запущена, до запуска этой команды. Если вы это не сделаете, - ваша система может повиснуть/заблокироваться после выполнения команды - kill. - + Используйте из них столько, сколько посчитаете нужным. Чем больше + виртуальных терминалов у вас имеется, тем больше ресурсов они + используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. + Вы можете сменить статус консолей с secure на + insecure. - - + + + Если вы хотите запустить X, вы ДОЛЖНЫ + оставить для него по крайней мере один неиспользуемый (или + выключенный) виртуальный терминал. Таким образов, если вы хотите + иметь приглашения login на всех двенадцати функциональнык клавиши, + то вам не повезло - вы можете это сделать только для одиннадцати из + них, если хотите на этой же машине ещё запустить X-сервер. + + - - Как осуществляется доступ к виртуальным консолям из X? - + Самым простым способом убрать консоль является просто её + выключение. Например, если вы запустили на всех 12 консолях + виртуальные терминалы, как указано выше, и ещё хотите запустить X, то + должны будете изменить параметры двенадцатого виртуального + терминала с: -Если на консоли запущена X Window, вы можете использовать - комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим - работы с виртуальной консолью. Заметьте, однако, что как только вы - переключитесь из X Window в виртуальный терминал, вы можете - использовать только Alt- клавиши для переключения в другой - виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать - клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, - то в старых релизах вы может обнаружить, что ваша текстовая консоль - осталась в режиме ``заблокированного control''. Нажмите эту клавишу - ещё раз. - + +ttyvb "/usr/libexec/getty Pc" cons25 on secure + - - + на: - -Как запустить XDM во время загрузки? + +ttyvb "/usr/libexec/getty Pc" cons25 off secure + + + Если на вашей клавиатуре только десять функциональных клавиш, + то последние строки будут выглядеть так: + + +ttyv9 "/usr/libexec/getty Pc" cons25 off secure +ttyva "/usr/libexec/getty Pc" cons25 off secure +ttyvb "/usr/libexec/getty Pc" cons25 off secure + + + (Вы также можете просто их удалить.) + + После того, как вы отредактировали файл /etc/ttys, + проверьте, что у вас имеется достаточное количество устройств для + виртуальных терминалов. Самый простой способ сделать это: + + +&prompt.root; cd /dev +&prompt.root; sh MAKEDEV vty12 + + + Самым простым (и надёжным) способом активировать виртуальные + консоли является перезагрузка. Однако если вы вовсе не хотите этого + делать, просто остановите X Window System и выполните (как + пользователь root): + + +&prompt.root; kill -HUP 1 + + + При этом требуется, чтобы вы полностью закрыли X Window, если она + была запущена, до запуска этой команды. Если вы это не сделаете, + ваша система может повиснуть/заблокироваться после выполнения команды + kill. + + + + + + + + Как осуществляется доступ к виртуальным консолям из X? + + + + + Если на консоли запущена X Window, вы можете использовать + комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим + работы с виртуальной консолью. Заметьте, однако, что как только вы + переключитесь из X Window в виртуальный терминал, вы можете + использовать только Alt- клавиши для переключения в другой + виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать + клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, + то в старых релизах вы может обнаружить, что ваша текстовая консоль + осталась в режиме заблокированного control. Нажмите эту + клавишу ещё раз. + + + + + + + + Как запустить XDM во время загрузки? + + + Есть две философские школы, проповедующие различные методы запуска наоборот. В обоих случая результат один и тот же: X выводит графическое приглашение login:. -Плюсом метода с использованием ttys является документрование того, - на каком vty будет запущен X и то, что ответственность за перезапуск - X-сервера при завершении сеанса работы лежит на процессе init. Метод - с использованием rc.local позволяет просто прекратить работу xdm, если - при запуске X возникли какие-нибудь проблемы. - -Из rc.local xdm должен быть запущен без - аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска - getty, иначе они будут конфликтовать, блокируя консоль. Лучше всего - выдержать паузу секунд на 10 и потом запустить xdm. - - Если xdm запускается из - /etc/ttys, то есть вероятность конфликта между - xdm и getty. Одним из способов - избежать этого является добавление номера vt в файл - /usr/X11R6/lib/X11/xdm/Xservers. + Плюсом метода с использованием ttys является документрование того, + на каком vty будет запущен X и то, что ответственность за перезапуск + X-сервера при завершении сеанса работы лежит на процессе init. Метод + с использованием rc.local позволяет просто прекратить работу xdm, если + при запуске X возникли какие-нибудь проблемы. - - :0 local /usr/X11R6/bin/X vt4 - + Из rc.local xdm должен быть запущен без + аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска + getty, иначе они будут конфликтовать, блокируя консоль. Лучше всего + выдержать паузу секунд на 10 и потом запустить xdm. - В вышеприведённом случае X-серверу указывается работать на - /dev/ttyv3. Заметьте, что номера отличаются на - единицу. Дело в том, что X-сервер считает vty от единицы, когда как - отсчёт vty в ядре FreeBSD ведётся с нуля. + Если xdm запускается из + /etc/ttys, то есть вероятность конфликта между + xdm и getty. Одним из способов + избежать этого является добавление номера vt в файл + /usr/X11R6/lib/X11/xdm/Xservers. + + +:0 local /usr/X11R6/bin/X vt4 + + + В вышеприведённом случае X-серверу указывается работать на + /dev/ttyv3. Заметьте, что номера отличаются на + единицу. Дело в том, что X-сервер считает vty от единицы, когда как + отсчёт vty в ядре FreeBSD ведётся с нуля. + + + + + + + + При запуске xconsole выдаётся сообщение Couldn't open + console. + + + + + Если вы запускаете + X через скрипт + startx, права на устройство /dev/console + не изменяются, поэтому такие команды, как + + xterm -C и + xconsole, не будут работать. + + Это зависит от прав доступа, установленных для консоли по умолчанию. + В многопользовательской системе вовсе не нужно, чтобы любой + пользователь мог выводить информацию на системную консоль. Для + пользователей, вошедших в систему через VTY, для решения этой проблемы + существует файл + fbtab. + + В общем, раскомментируйте строчку вида + + +/dev/ttyv0 0600 /dev/console + + + в файле /etc/fbtab, и + этого будет достаточно для того, чтобы всякий, + кто вошёл в систему с /dev/ttyv0, будет иметь доступ к + консоли. + + + + + + + + Моя мышь PS/2 в X работает неправильно. + + + + + Вполне может быть, что ваша мышь и её драйвер + рассинхронизировались. + + В версиях 2.2.5 и более ранних это может произойти при переключении + из X в виртуальный терминал и последующем возвращении в X. Если эта + проблема возникает достаточно часто, попробуйте добавить следующую + строку в файл конфигурации ядра и перекомпилировать его. + + +options PSM_CHECKSYNC + + + Если у вас нет опыта перекомпиляции ядра, обратитесь к соответствующему разделу. + + С этой опцией проблем с синхронизацией мыши и её драйвера должно + быть меньше. Если, однако, эта проблема всё же осталась, щёлкните + любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать + попытку синхронизироваться. + + Заметьте, что в некоторых системах эта опция может не работать и + приводить к отключению функции tap устройства ALPS + GlidePoint, подключенного к порту мыши PS/2. + + В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше + и включена в стандартный драйвер мыши PS/2. Она должна работать даже с + GlidePort. (Так как код проверки стал стандартной функцией, опция + PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях + драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы + будете видеть такие сообщения ядра: + + +psmintr: out of sync (xxxx != yyyy) + + + а также обнаружите, что мышь теперь работает неправильно. + + Если это случится, отмените проверку согласования, установив + значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор + UserConfig, задав опцию в + приглашении загрузчика: + + +boot: -c + + + Затем в командной строке UserConfig + наберите: + + +UserConfig> flags psm0 0x100 +UserConfig> quit + - - При запуске xconsole выдаётся сообщение ``Couldn't open console''. - - -Если вы запускаете X через скрипт startx, права на устройство /dev/console не изменяются, - поэтому такие команды, как xterm -C и xconsole, не будут работать. - - - -Это зависит от прав доступа, установленных для консоли по умолчанию. - В многопользовательской системе вовсе не нужно, чтобы любой - пользователь мог выводить информацию на системную консоль. Для - пользователей, вошедших в систему через VTY, для решения этой проблемы - существует файл fbtab. - - - -В общем, раскомментируйте строчку вида - - - /dev/ttyv0 0600 /dev/console - - - - - -в файле /etc/fbtab, и этого будет достаточно для того, чтобы всякий, - кто вошёл в систему с /dev/ttyv0, будет иметь доступ к - консоли. - - - - - - -Моя мышь PS/2 в X работает неправильно. - -Вполне может быть, что ваша мышь и её драйвер - рассинхронизировались. - - - -В версиях 2.2.5 и более ранних это может произойти при переключении - из X в виртуальный терминал и последующем возвращении в X. Если эта - проблема возникает достаточно часто, попробуйте добавить следующую - строку в файл конфигурации ядра и перекомпилировать его. - - - options PSM_CHECKSYNC - - - -Если у вас нет опыта перекомпиляции ядра, обратитесь к соответствующему разделу. - -С этой опцией проблем с синхронизацией мыши и её драйвера должно - быть меньше. Если, однако, эта проблема всё же осталась, щёлкните - любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать - попытку синхронизироваться. - -Заметьте, что в некоторых системах эта опция может не работать и - приводить к отключению функции ``tap'' устройства ALPS GlidePoint, - подключенного к порту мыши PS/2. - - - -В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше - и включена в стандартный драйвер мыши PS/2. Она должна работать даже с - GlidePort. (Так как код проверки стал стандартной функцией, опция - PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях - драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы - будете видеть такие сообщения ядра: - - - psmintr: out of sync (xxxx != yyyy) - - - - а также обнаружите, что мышь теперь работает неправильно. - - - -Если это случится, отмените проверку согласования, установив - значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор - UserConfig, задав опцию ``'' в приглашении - загрузчика: - - - boot: -c - - - - Затем в командной строке UserConfig наберите: - - - UserConfig> flags psm0 0x100 - UserConfig> quit - - - - - - - Моя мышь PS/2 от MouseSystems похоже, не работает. -Было несколько сообщений, что некоторые модели мышей PS/2 от - MouseSystems работают только в режиме ``высокого разрешения''. В - других режимах курсор мыши постоянно прыгает в верхний левый угол - экрана. - + Было несколько сообщений, что некоторые модели мышей PS/2 от + MouseSystems работают только в режиме высокого разрешения. + В других режимах курсор мыши постоянно прыгает в верхний левый угол + экрана. + К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к файлу /sys/i386/isa/psm.c и перестройте ядро. Если у вас нет опыта перекомпиляции ядра, обратитесь к соответствующему разделу. - -diff -u psm.c.orig psm.c + @@ -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 */ - - - + - -Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 - для перевода её в режим высокого разрешения. Войдите в - UserConfig, задав опцию ``'' в приглашении - загрузчика: - - - boot: -c - - - - Затем в командной строке UserConfig наберите: - - - UserConfig> flags psm0 0x04 - UserConfig> quit - - - + Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 для + перевода её в режим высокого разрешения. Войдите в + UserConfig, задав опцию в + приглашении загрузчика: - -В предыдущем разделе описана возможная причина проблем с мышью. - - - - + +boot: -c + - - При компиляции приложений для X imake не может найти файл - Imake.tmpl. Где он находится? - + Затем в командной строке UserConfig + наберите: -Файл Imake.tmpl является частью пакета Imake, стандартного - инструмента для построения X-приложений. Он, также как ещё несколько - заголовочных файлов, требуемых для построения X-приложений, содержится - в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall - или взять из дистрибутива X. - - + +UserConfig> flags psm0 0x04 +UserConfig> quit + - -Как поменять местами кнопки мыши? + В предыдущем разделе описана возможная причина проблем с мышью. -Поместите команду xmodmap -e "pointer = 3 2 1" в - один из ваших скриптов .xinitrc или .xsession. - - + + - -Как установить экранную заставку и где такие заставки можно - найти? -Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена - возможность вывода "заставки" во время загрузки. На данный - момент экраны заставок должны быть 256-цветными файлами формата BMP - *.BMP или ZSoft PCX (*.PCX). - Кроме того, они должны иметь разрешение 320x200 или меньше для работы со - стандартными адаптерами VGA. Если вы включили поддержку VESA при компиляции - ядра, то вы можете использовать экраны размером до 1024x768. Заметьте, что - поддержка VESA требует указание опции VM86 - при компиляции ядра. Реальная поддержка VESA может быть вкомпилирована в - ядро при указании опции VESA либо загружена в виде - kld-модуля ядра во время начальной загрузки. + + + При компиляции приложений для X программа imake не + может найти файл Imake.tmpl. Где он + находится? + -Чтобы использовать заставку, вам нужно изменить файлы, управляющие - процессом загрузки FreeBSD. Формат этих файлов был изменён перед выпуском - релиза FreeBSD 3.2, так что есть два способа загрузки экранных заставок: + - - + Файл Imake.tmpl является частью пакета Imake, стандартного + инструмента для построения X-приложений. Он, также как ещё несколько + заголовочных файлов, требуемых для построения X-приложений, содержится + в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall + или взять из дистрибутива X. - -FreeBSD 3.1 + + -Первым делом нужно найти экранную заставку в формате BMP. Релиз 3.1 - поддерживает заставки только в формате Windows. После того, как вы - нашли понравившуюся вам заставку, скопируйте её в файл - /boot/splash.bmp. Затем вам нужно поместить в файл - /boot/loader.rc следующие строки: - - - load kernel - load -t splash_image_data /boot/splash.bmp - load splash_bmp - autoboot - - - + + + Как поменять местами кнопки мыши? + - + -FreeBSD 3.2+ + Поместите команду xmodmap -e "pointer = 3 2 1" в + один из ваших скриптов .xinitrc или .xsession. -Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает более гибкую - систему конфигурации процесса загрузки. Если вы хотите, вы можете - использовать метод, указанный выше для FreeBSD 3.1. Если же вы хотите - использовать формат PCX, замените splash_bmp на - splash_pcx. С другой стороны, если вы хотите - использовать новую систему конфигурации процесса загрузки, вам нужно - создать файл /boot/loader.rc, содержащий следующие - строки: + + - - - include /boot/loader.4th - start - - -и файл /boot/loader.conf со строками: + + + Как установить экранную заставку и где такие заставки можно + найти? + - - - splash_bmp_load="YES" - bitmap_load="YES" - - + -Здесь предполагается, что в качестве заставки вы используете файл - /boot/splash.bmp. Если вы используете PCX-файл, - скопируйте его под именем /boot/splash.pcx, создайте - файл /boot/loader.rc, как указано выше, и создайте - файл /boot/loader.conf, который содержит - следующее: + Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена + возможность вывода заставки во время загрузки. На данный + момент экраны заставок должны быть 256-цветными файлами формата BMP + *.BMP или ZSoft PCX (*.PCX). + Кроме того, они должны иметь разрешение 320x200 или меньше для работы со + стандартными адаптерами VGA. Если вы включили поддержку VESA при компиляции + ядра, то вы можете использовать экраны размером до 1024x768. Заметьте, что + поддержка VESA требует указание опции VM86 + при компиляции ядра. Реальная поддержка VESA может быть вкомпилирована в + ядро при указании опции VESA либо загружена в виде + kld-модуля ядра во время начальной загрузки. - - - splash_pcx_load="YES" - bitmap_load="YES" - bitmap_name="/boot/splash.pcx" - - - + Чтобы использовать заставку, вам нужно изменить файлы, управляющие + процессом загрузки FreeBSD. Формат этих файлов был изменён перед выпуском + релиза FreeBSD 3.2, так что есть два способа загрузки экранных + заставок: - - + + + + FreeBSD 3.1 -Теперь всё, что вам нужно - это сама заставка. Поищите заставки в - галерее по адресу http://www.cslab.vt.edu/~jobaldwi/splash/. + Первым делом нужно найти экранную заставку в формате BMP. Релиз + 3.1 поддерживает заставки только в формате Windows. После того, как + вы нашли понравившуюся вам заставку, скопируйте её в файл + /boot/splash.bmp. Затем вам нужно поместить в + файл /boot/loader.rc следующие строки: - + +load kernel +load -t splash_image_data /boot/splash.bmp +load splash_bmp +autoboot + + + + + FreeBSD 3.2+ + + Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает + более гибкую систему конфигурации процесса загрузки. Если вы хотите, + вы можете использовать метод, указанный выше для FreeBSD 3.1. Если + же вы хотите использовать формат PCX, замените + splash_bmp на splash_pcx. С + другой стороны, если вы хотите использовать новую систему + конфигурации процесса загрузки, вам нужно создать файл + /boot/loader.rc, содержащий следующие + строки: + + +include /boot/loader.4th +start + + + и файл /boot/loader.conf со строками: + + +splash_bmp_load="YES" +bitmap_load="YES" + + + Здесь предполагается, что в качестве заставки вы используете файл + /boot/splash.bmp. Если вы используете PCX-файл, + скопируйте его под именем /boot/splash.pcx, + создайте файл /boot/loader.rc, как указано + выше, и создайте файл /boot/loader.conf, который + содержит следующее: + + +splash_pcx_load="YES" +bitmap_load="YES" +bitmap_name="/boot/splash.pcx" + + + + + + Теперь всё, что вам нужно - это сама заставка. Поищите заставки в + галерее по адресу + http://www.cslab.vt.edu/~jobaldwi/splash/. + + + @@ -6787,7 +7198,7 @@ id="x"> Да. Всё, что вам нужно сделать, это с помощью &man.xmodmap.1; задать функции, которые вы хотите к этим клавишам привязать. - Положим, что все клавиатуры "Windows(tm)" стандартны и + Положим, что все клавиатуры Windows(tm) стандартны и 3 клавиши имеют следующие клавиатурные коды @@ -6867,49 +7278,56 @@ id="x"> - + Работа в сети - -Где можно найти информацию о ``бездисковой загрузке''? + + + + Где можно найти информацию о бездисковой + загрузке? + + + + + Бездисковая загрузка означает, что машина с FreeBSD + загружается по сети и читает необходимые файлы с сервера, а не со своего + диска. Подробное описание есть в + соответствующей главе + Руководства. + + + -``Бездисковая загрузка'' означает, что машина с FreeBSD загружается - по сети и читает необходимые файлы с сервера, а не со своего диска. - Подробное описание есть в - соответствующей главе - Руководства. - - Может ли машина с FreeBSD использоваться как маршрутизатор? -Стандарты Internet и опыт практической работы не позволяют нам - в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы, - можете сделать это, изменив значение следующей переменной в файле - rc.conf на YES: - - - gateway_enable=YES # Set to YES if this host will be a gateway - - - -Этот параметр изменит значение - системной переменной - net.inet.ip.forwarding на 1. - -Кроме того, в большинстве случаев вам будет необходимо запустить - программу маршрутизации, для того, чтобы объявить о появлении нового - маршрутизатора другим системам в вашей сети; FreeBSD поставляется со - стандартной для BSD-систем программой маршрутизации routed, в более - сложных ситуациях вы можете попробовать GaTeD - (доступный по адресу - http://www.gated.org - с ftp.gated.Merit.EDU), который - поддерживает FreeBSD начиная с версии 3_5Alpha7. + Стандарты Internet и опыт практической работы не позволяют нам + в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы + можете сделать это, изменив значение следующей переменной в файле rc.conf на + YES: + + +gateway_enable=YES # Set to YES if this host will be a gateway + + + Этот параметр изменит значение системной переменной + net.inet.ip.forwarding на 1. + + Кроме того, в большинстве случаев вам будет необходимо запустить + программу маршрутизации, для того, чтобы объявить о появлении нового + маршрутизатора другим системам в вашей сети; FreeBSD поставляется со + стандартной для BSD-систем программой маршрутизации routed, в более + сложных ситуациях вы можете попробовать GaTeD + (доступный по адресу + http://www.gated.org + с ftp.gated.Merit.EDU), который + поддерживает FreeBSD начиная с версии 3_5Alpha7. Мы обязаны предупредить вас, что даже когда FreeBSD настроена таким образом, она не полностью соответствует стандартам Internet @@ -6917,59 +7335,71 @@ id="networking"> - - Можно ли подключить машину с Win95 к Internet с помощью FreeBSD? - -Как правило, те, кто задает такие вопросы, имеют дома два компьютера, - один с FreeBSD, а другой с Win95; идея состоит в использовании - FreeBSD для подключения к Internet, а затем осуществлять выход в - Internet из Windows95 через FreeBSD. На самом деле это просто - особый случай предыдущего вопроса. - + + + Можно ли подключить машину с Win95 к Internet с помощью + FreeBSD? + - -Существует полезный документ, - описывающий, как настроить FreeBSD в качестве маршрутизатора с выходом - по протоколу PPP. - + - -ЗАМЕЧАНИЕ: При этом требуется иметь по крайней мере два - фиксированных IP адреса, а может быть, три или больше, в зависимости - от того, сколько машин с Windows вы хотите подключить. Как вариант, - если у вас нет фиксированных IP адресов, вы можете использовать - одну из частных IP подсетей и установить прокси типа - SQUID или - TIS на машине с FreeBSD. - -Посмотрите также раздел о natd. + Как правило, те, кто задает такие вопросы, имеют дома два компьютера, + один с FreeBSD, а другой с Win95; идея состоит в использовании + FreeBSD для подключения к Internet, а затем осуществлять выход в + Internet из Windows95 через FreeBSD. На самом деле это просто + особый случай предыдущего вопроса. - + ... и ответ на него - да! Во FreeBSD 3.x, ppp режима пользователя + имеет параметр . Если вы запустите + ppp с параметром , установив + в файле /etc/rc.conf gateway_enable + в значение YES и правильно настроите машину с Windows, + то всё должно прекрасно заработать. - - Почему не проходит компиляция последней версии BIND от ISC? - + Более подробная информация о настройке может быть найдена в + Подробном + Примере PPP Стива Симса (Steve Sims). -Это - результат конфликта между файлом ``cdefs.h'' в - дистрибутиве и тем, что поставляется с FreeBSD. Достаточно - удалить файл compat/include/sys/cdefs.h. - + Если вы используете ppp режима ядра, или у вас Ethernet-подключение к + Internet, можно воспользоваться командой natd. + Пожалуйста, обратитесь к разделу о natd этого + FAQ. + + + + + + + + Почему не проходит компиляция последней версии BIND от ISC? + + + + + Это - результат конфликта между файлом cdefs.h в + дистрибутиве и тем, что поставляется с FreeBSD. Достаточно + удалить файл compat/include/sys/cdefs.h. + + + - - Поддерживает ли FreeBSD протоколы SLIP и PPP? -Да. Посмотрите страницы справочника по командам - slattach, sliplogin, - pppd и - ppp. - Pppd и ppp могут обслуживать как входящие, так и исходящие - соединения. Sliplogin имеет дело исключительно со входящими соединениям, - а slattach - только с исходящими. - + Да. Посмотрите страницы справочника по командам slattach, sliplogin, + pppd и + ppp. + Pppd и ppp могут обслуживать как + входящие, так и исходящие соединения. Sliplogin имеет + дело исключительно со входящими соединениям, + а slattach + - только с исходящими. + Эти программы описаны в следующих разделах руководства: @@ -7001,15 +7431,15 @@ id="networking"> - - -Если вы имеете доступ в Internet через командную строку - оболочки, вам может подойти slirp. - С его помощью можно получить (ограниченный) доступ к таким - службам, как ftp и http прямо с вашей машины. + Если вы имеете доступ в Internet через командную строку + оболочки, вам может подойти slirp. + С его помощью можно получить (ограниченный) доступ к таким + службам, как ftp и http прямо с вашей машины. - + + @@ -7021,8 +7451,8 @@ id="networking"> Если у вас есть локальная сеть (одна или больше машин), но только один IP адрес, предоставленный провайдером, вас может привлечь natd. Natd позволяет подключить всю сеть к Internet, + URL="http://www.FreeBSD.org/cgi/man.cgi?natd">natd. + natd позволяет подключить всю сеть к Internet, используя единственный IP адрес. Программа Как настроить алиас на Ethernet? -Добавьте ``netmask 0xffffffff'' в командной строке ifconfig - так, как это сделано здесь: - - - ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff - - - + Добавьте netmask 0xffffffff в командной строке + ifconfig + так, как это сделано здесь: - - + +&prompt.root; ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff + - - Как заставить адаптер 3C503 использовать другой тип сетевого разъёма? - + + -Если вы хотите задействовать другой разъём, то должны указать - дополнительный параметр в командной строке - ifconfig. Разъёмом по умолчанию является ``link0''. - Чтобы задействовать разъём AUI, а не BNC, используйте ``link2''. - Эти флаги должны быть указаны с помощью переменных ifconfig_* - в /etc/rc.conf. - - - + + + Как заставить адаптер 3C503 использовать другой тип сетевого + разъёма? + + + + + Если вы хотите задействовать другой разъём, то должны указать + дополнительный параметр в командной строке ifconfig. + Разъёмом по умолчанию является link0. Чтобы + задействовать разъём AUI, а не BNC, используйте link2. + Эти флаги должны быть указаны с помощью переменных ifconfig_* + в + /etc/rc.conf. + + + + У меня проблемы при работе NFS во FreeBSD. @@ -7097,324 +7533,303 @@ id="networking"> - -Почему я не могу смонтировать диск Linux по NFS? -Некоторые версии NFS для Linux поддерживают запросы на монтирование + + + Почему я не могу смонтировать диск Linux по NFS? + + + + + Некоторые версии NFS для Linux поддерживают запросы на монтирование только с привилегированного порта; попробуйте - - - mount -o -P linuxbox:/blah /mnt - - - - - + +&prompt.root; mount -o -P linuxbox:/blah /mnt + - -Почему я не могу смонтировать диск Sun по NFS? + + -Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы - на монтирование только с привилегированного порта; попробуйте - - - mount -o -P sunbox:/blah /mnt - - - - - + + + Почему я не могу смонтировать диск Sun по NFS? + + + + + Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы + на монтирование только с привилегированного порта; попробуйте + + +&prompt.root; mount -o -P sunbox:/blah /mnt + + + + + Проблемы при связи по PPP с машинами NeXTStep. Попробуйте отменить все расширения TCP в /etc/rc.conf, изменив значение следующей переменной в NO: - - - tcp_extensions=NO - - - - -Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, - поэтому при подключении к ним вам нужно проделать то же самое. - + +tcp_extensions=NO + + + Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, + поэтому при подключении к ним вам нужно проделать то же самое. - + Как включить поддержку multicast IP? -Работа с многоадресной рассылкой по умолчанию полностью - поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать - ваш компьютер как маршрутизатор многоадресного трафика, вам нужно - перекомпилировать ядро с включенной опцией MROUTING и - запустить mrouted. Версии FreeBSD 2.2 и выше будут запускать - mrouted во время загрузки, если переменная mrouted_enable - в файле /etc/rc.conf установлена в значение "YES". - + Работа с многоадресной рассылкой по умолчанию полностью + поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать + ваш компьютер как маршрутизатор многоадресного трафика, вам нужно + перекомпилировать ядро с включенной опцией MROUTING и + запустить mrouted. Версии FreeBSD 2.2 и выше будут + запускать mrouted во время загрузки, если переменная + mrouted_enable в файле /etc/rc.conf + установлена в значение YES. - -Приложения MBONE находятся в своей категории портов, mbone. Если - вы ищете приложения для организации конференций vic и vat, - посмотрите там! - + Приложения MBONE находятся в своей категории портов, mbone. Если + вы ищете приложения для организации конференций vic и + vat, посмотрите там! - -Более подробная информация располагается на сервере - Mbone Information Web. - + Более подробная информация располагается на сервере + Mbone Information Web. - - + + - - Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI? - -Вот список, составленный Гленом Фостером (Glen Foster), с некоторыми незначительными - добавлениями: - - - Производитель Модель - ---------------------------------------------- - 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) - - - - + + + Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI? + + + + + Вот список, составленный Гленом Фостером (Glen Foster), + с некоторыми незначительными добавлениями: + + +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) + + + + + Почему я должен использовать FQDN для хостов не в моей сети? -Вы, наверное, обнаружили, что хост, к которому вы обратились, - оказался на самом деле в другом домене; например, если вы находитесь - в домене foo.bar.edu и хотите обраттиться к хосту ``mumble'' в домене - bar.edu, то должны указать его полное доменное имя, ``mumble.bar.edu'', - а не просто ``mumble''. - + Вы, наверное, обнаружили, что хост, к которому вы обратились, + оказался на самом деле в другом домене; например, если вы находитесь + в домене foo.bar.edu и хотите обратиться к хосту mumble в + домене bar.edu, то должны указать его + полное доменное имя, mumble.bar.edu, а не + просто mumble. - -Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая - версия bind, - поставляемая с FreeBSD, больше не добавляет имена доменов, - отличающихся от того, в котором вы находитесь, для не полностью - указанных имён хостов. Так что неполно указанный хост mumble - будет найден либо как mumble.foo.bar.edu, либо будет искаться - в корневом домене. - + Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая + версия bind, + поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от + того, в котором вы находитесь, для не полностью указанных имён хостов. Так + что неполно указанный хост mumble будет найден либо как + mumble.foo.bar.edu, либо будет искаться + в корневом домене. - -Это отличается от предыдущего поведения, при котором поиск - продолжался в mumble.bar.edu, и mumble.edu. - Посмотрите RFC 1535 о причинах объявления такого поведения плохой - практикой и даже ошибкой в безопасности. - + Это отличается от предыдущего поведения, при котором поиск продолжался + в mumble.bar.edu + и mumble.edu. + Посмотрите RFC 1535 о причинах объявления такого поведения плохой + практикой и даже ошибкой в безопасности. - -Как хорошее решение, вы можете поместить строку - - - search foo.bar.edu bar.edu - - - + Как хорошее решение, вы можете поместить строку - -вместо ранее используемой - - - domain foo.bar.edu - - - + +search foo.bar.edu bar.edu + - -в файл /etc/resolv.conf. Однако удостоверьтесь, что порядок поиска не - нарушает ``границ полномочий между местным и внешним - администрированием'', как это названо в RFC 1535. - + вместо ранее используемой - - + +domain foo.bar.edu + - -``Permission denied'' для любых действий в сети. + в файл + /etc/resolv.conf. Однако удостоверьтесь, что порядок поиска не + нарушает границ полномочий между местным и внешним + администрированием, как это названо в RFC 1535. -Если вы компилировали ядро с опцией IPFIREWALL, имейте в - виду, что политика по умолчанию настроена как в 2.1.7R (она - на самом деле изменилась во время разработки 2.1-STABLE), то есть - указан запрет на прохождение всех пакетов, которые явно не разрешены. - + + - -Если вы случайно неверно отконфигурировали брандмауэр, то для - восстановления работоспособность сети дайте такую команду, войдя - суперпользователем: - - - ipfw add 65534 allow all from any to any - - - - -Также вы можете установить "firewall_type='open'" в файле - /etc/rc.conf. - + + + Permission denied для любых действий, связанных с + работой сети. + - -Более подробная информация о конфигурировании брандмауэра в - FreeBSD находится в соответствующем разделе Руководства. - + - - + Если вы компилировали ядро с опцией IPFIREWALL, + имейте в виду, что политика по умолчанию настроена как в 2.1.7R (она + на самом деле изменилась во время разработки 2.1-STABLE), то есть указан + запрет на прохождение всех пакетов, которые явно не разрешены. - -Какую нагрузку вызывает использование IPFW? + Если вы случайно неверно отконфигурировали межсетевой экран, то для + восстановления работоспособность сети дайте такую команду, войдя + суперпользователем: -Ответ на этот вопрос зависит главным образом от набора правил - и производительности процессора. Для большинства приложений, имеющих - дело с ethernet и простым набором правил, ответ: незначительно. Для - тех, кому нужны реальные цифры для удовлетвореия любопытства, - читайте дальше. - + +&prompt.root; ipfw add 65534 allow all from any to any + - -Следующие измерения были сделаны с использованием 2.2.5-STABLE на - машине 486-66. IPFW был модифицирован для измерения времени, - затрачиваемого внутри процедуры ip_fw_chk и вывода результатов - на консоль каждую тысячу пакетов. - + Также вы можете установить firewall_type='open' в + файле /etc/rc.conf. - -Тестировались два набора по 1000 правил в каждом. Первый набор - был предназначен для демонстрации наихудшего случая, повторяя условие - - - ipfw add deny tcp from any to any 55555 - - - + Более подробная информация о конфигурировании межсетевого экрана в + FreeBSD находится в соответствующем разделе + Руководства. - -Это наихудший случай, так как все условия IPFW будут проверены - перед тем, как будет принято окончательное решение о том, что пакет - не соответствует условию (мы меняли номер порта). После 999 - повторений этого условия находилось правило - allow ip from any to any. - + + - -Второй набор был предназначен для быстрого прерывания - процесса проверки условий: - - - ipfw add deny ip from 1.2.3.4 to 1.2.3.4 - - - - -Неподходяший IP-адрес источника для указанного условия - быстро вызывает пропуск этого правила. Как и ранее, последним правилом - было allow ip from any to any. - + + + Какую нагрузку вызывает использование IPFW? + - -Затраты на обработку пакета в первом случае было примерно 2.703 - мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, - теоретический предел скорости обработки пакетов с этими правилами - равен примерно 370 пакетам в секунду. Предполагая использование - ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть - только 55.5% использования пропускной способности. - + - -В последнем случае на обработку каждого пакета было затрачено - примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический - предел обработки будет равен около 853 пакетам в секунду, что почти - соответствует скорости 10Мб/с ethernet. - + Ответ на этот вопрос зависит главным образом от набора правил + и производительности процессора. Для большинства приложений, имеющих + дело с ethernet и простым набором правил, ответ: незначительно. Для + тех, кому нужны реальные цифры для удовлетвореия любопытства, + читайте дальше. - -Большое количество протестированных правил и природа этих правил - не даёт представление о реальной жизни - они были использованы - только для генерации информации о времени обработки. Вот - несколько наблюдений, которые нужно иметь в виду для построении - эффективного набора правил: - - - + Следующие измерения были сделаны с использованием 2.2.5-STABLE на + машине 486-66. IPFW был модифицирован для измерения времени, + затрачиваемого внутри процедуры ip_fw_chk и вывода + результатов на консоль каждую тысячу пакетов. - -Поместите правило `established' в самое начало списка для - обработки основного трафика TCP. Не помещайте перед ним никаких - правил allow tcp. + Тестировались два набора по 1000 правил в каждом. Первый набор был + предназначен для демонстрации наихудшего случая, повторяя условие - - + +&prompt.root; ipfw add deny tcp from any to any 55555 + - -Старайтесь помещать часто вызываемые правила как можно раньше, - а редко используемые - позже (без изменения политики, - конечно). Вы можете выяснить частоту использования правил с помощью - вывода статистики командой ipfw -a l. + Это наихудший случай, так как все условия IPFW будут проверены + перед тем, как будет принято окончательное решение о том, что пакет + не соответствует условию (мы меняли номер порта). После 999 + повторений этого условия находилось правило + allow ip from any to any. - - + Второй набор был предназначен для быстрого прерывания + процесса проверки условий: - - - + +&prompt.root; ipfw add deny ip from 1.2.3.4 to 1.2.3.4 + - - + Неподходяший IP-адрес источника для указанного условия + быстро вызывает пропуск этого правила. Как и ранее, последним правилом + было allow ip from any to any. - - Как можно перенаправить запросы с одной машины на другую? - + Затраты на обработку пакета в первом случае было примерно 2.703 + мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, + теоретический предел скорости обработки пакетов с этими правилами + равен примерно 370 пакетам в секунду. Предполагая использование + ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть + только 55.5% использования пропускной способности. -Вы можете перенаправить запрос на FTP (или другой сервис) с помощью - пакаджа 'socket', доступного в дереве портов в категории 'sysutils'. - Просто замените командную строку запуска сервиса на вызов socket, - типа: - - -ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp - - + В последнем случае на обработку каждого пакета было затрачено + примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический + предел обработки будет равен около 853 пакетам в секунду, что почти + соответствует скорости 10Мб/с ethernet. - -где 'ftp.foo.com' и 'ftp' являются соответственно хостом и портом - для перенаправления. - + Большое количество протестированных правил и природа этих правил + не даёт представление о реальной жизни - они были использованы + только для генерации информации о времени обработки. Вот + несколько наблюдений, которые нужно иметь в виду для построении + эффективного набора правил: + + + + + Поместите правило `established' в самое начало списка для + обработки основного трафика TCP. Не помещайте перед ним никаких + правил allow tcp. + + + + Старайтесь помещать часто вызываемые правила как можно раньше, + а редко используемые - позже (без изменения + политики, конечно). Вы можете выяснить частоту + использования правил с помощью вывода статистики командой + ipfw -a l. + + + + + + + + + + + Как можно перенаправить запросы с одной машины на другую? + + + + + Вы можете перенаправить запрос на FTP (или другой сервис) с помощью + пакаджа socket, доступного в дереве портов в категории + sysutils. Просто замените командную строку запуска сервиса + на вызов socket, типа: + + +ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp + + + где ftp.foo.com + и ftp являются соответственно хостом и портом + для перенаправления. + + + - - Где можно найти средства управления сетевым трафиком? @@ -7429,208 +7844,252 @@ id="networking"> - -Почему появляются сообщения - `/dev/bpf0: device not configured'? + + + Почему появляются сообщения + /dev/bpf0: device not configured? + -Для работы программ, использующих Berkeley Packet Filter (bpf) необходимо - включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив - в его конфигурационный файл следующую строку: - - - - pseudo-device bpfilter # Berkeley Packet Filter - - - -Затем, после перезапуска системы, вам нужно создать соответствующий файл - устройства. Это можно сделать, сменив текущий каталог на - /dev и выполнив команду - - - - - # sh MAKEDEV bpf0 - - - - -Обратитесь к разделу руководства, посвящённому созданию файлов - устройств за подробной информацией по этому вопросу. + - + Для работы программ, использующих Berkeley Packet Filter (bpf) необходимо + включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив + в его конфигурационный файл следующую строку: + + +pseudo-device bpfilter # Berkeley Packet Filter + + + Затем, после перезапуска системы, вам нужно создать соответствующий файл + устройства. Это можно сделать, сменив текущий каталог на + /dev и выполнив команду + + +&prompt.root; sh MAKEDEV bpf0 + + + Обратитесь к разделу руководства, посвящённому созданию файлов + устройств за подробной информацией по этому вопросу. + + + + + + + + Как смонтировать диск Windows-машины в моей локальной сети, как это + делает smbmount в Linux? + + + + + Воспользуйтесь пакетом sharity + light из Коллекции Портов. + + + + + + - + PPP - + + + + Не могу заставить работать ppp. Что я делаю не так? + -Не могу заставить работать ppp. Что я делаю не так? - + -Первым делом прочтите страницы справочника, посвящённые ppp, а также соответствующий - раздел руководства. - Включите протоколирование командой - - - set log Phase Chat Connect Carrier lcp ipcp ccp command - - - -Эта команда может быть набрана в командной строке ppp или - она может находиться в конфигурационном файле - /etc/ppp/ppp.conf (начало секции default - лучшее - для неё место. Удостоверьтесь, что файл - /etc/syslog.conf содержит строки - - - !ppp - *.* /var/log/ppp.log - - - -и файл /var/log/ppp.log существует. Теперь вы сможете - найти полную информацию о происходящем в файле протокола. Не - беспокойтесь, если не всё вам будет там понятно. Если вы будете - пользоваться чьей-то помощью, протокол вам пригодится. - -Если ваша версия ppp не понимает команду "set log", вы должны скачать - последнюю версию. - Она рассчитана на FreeBSD версий 2.1.5 и выше. - - + Первым делом прочтите страницы + справочника, посвящённые ppp, а также соответствующий раздел Руководства. + Включите протоколирование командой - -Ppp просто зависает, когда я его запускаю + +set log Phase Chat Connect Carrier lcp ipcp ccp command + -Обычно это происходит, когда не может быть определено имя - вашего хоста. Наилучший способ исправить это - - удостовериться, что файл /etc/hosts используется вашим - ресолвером. Отредактируйте файл /etc/host.conf, поместив - на первое место строчку hosts. Затем просто добавьте - записи о вашей машине в файл /etc/hosts. Если у вас нет - локальной сети, измените строку localhost: - - -127.0.0.1 foo.bar.com foo localhost - - - - В противном случае просто добавьте ещё одну запись о вашем хосте. - Обратитесь к соответствующим страницам справочника за подробным - описанием. - -Если вы выполнили эти указания, вы сможете успешно выполнить - команду ping -c1 `hostname`. - - + Эта команда может быть набрана в командной строке ppp или она может находиться в конфигурационном файле + /etc/ppp/ppp.conf (начало секции default - лучшее для неё место. Удостоверьтесь, что + файл + /etc/syslog.conf содержит строки - -Ppp не звонит в режиме -auto + +!ppp +*.* /var/log/ppp.log + -Во-первых, проверьте, что у вас есть маршрут по умолчанию. - Запустив netstat -rn, вы должны увидеть две строки вида: - - -Destination Gateway Flags Refs Use Netif Expire + и файл /var/log/ppp.log существует. Теперь вы + сможете найти полную информацию о происходящем в файле протокола. Не + беспокойтесь, если не всё вам будет там понятно. Если вы будете + пользоваться чьей-то помощью, протокол вам пригодится. + + Если ваша версия ppp не понимает команду set log, вы + должны скачать последнюю + версию. Она рассчитана на FreeBSD версий 2.1.5 и выше. + + + + + + + + Ppp просто зависает, когда я его запускаю + + + + + Обычно это происходит, когда не может быть определено имя вашего хоста. + Наилучший способ исправить это - удостовериться, что файл + /etc/hosts используется вашим ресолвером. + Отредактируйте файл /etc/host.conf, поместив + на первое место строчку hosts. Затем просто добавьте + записи о вашей машине в файл /etc/hosts. Если у вас + нет локальной сети, измените строку localhost: + + +127.0.0.1 foo.bar.com foo localhost + + + В противном случае просто добавьте ещё одну запись о вашем хосте. + Обратитесь к соответствующим страницам справочника за подробным + описанием. + + Если вы выполнили эти указания, вы сможете успешно выполнить + команду ping -c1 `hostname`. + + + + + + + + Ppp не звонит в режиме -auto + + + + + Во-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив + команду netstat -rn, вы + должны увидеть две строки такого вида: + + +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 - - - -Здесь предполагается, что вы использовали адреса, - приведённые в Руководстве, Справочнике или файле - ppp.conf.sample. Если у вас нет маршрута по умолчанию, это - может быть из-за использования старой версии - ppp, которая не понимает слова HISADDR в файле - ppp.conf. Если ваша версия ppp из FreeBSD версий ранее - чем 2.2.5, замените строку - - - add 0 0 HISADDR - - - -на - - - add 0 0 10.0.0.2 - - - -Другой причиной отсутствия маршрута по умолчанию может быть - то, что вы ошибочно установили маршрут по умолчанию в вашем файле - /etc/rc.conf (этот файл назывался /etc/sysconfig - до 2.2.2-RELEASE), и вы пропустили строку - - - delete ALL - - - -в ppp.conf. В таком случае обратитесь к соответствующему - разделу Руководства. - - + - -Что означает сообщение "No route to host"? + Здесь предполагается, что вы использовали адреса, + приведённые в Руководстве, Справочнике или файле + ppp.conf.sample. Если у вас нет маршрута по умолчанию, это + может быть из-за использования старой версии + ppp, которая не + понимает слова HISADDR в файле + ppp.conf. Если ваша версия ppp из FreeBSD + версий ранее чем 2.2.5, замените строку + + +add 0 0 HISADDR + + + на + + +add 0 0 10.0.0.2 + + + Другой причиной отсутствия маршрута по умолчанию может быть + то, что вы ошибочно установили маршрут по умолчанию в вашем файле /etc/rc.conf + (этот файл назывался /etc/sysconfig + до 2.2.2-RELEASE), и вы пропустили строку + + +delete ALL + + + в ppp.conf. В таком случае обратитесь к + соответствующему разделу + Руководства. + + + + + + + + Что означает сообщение No route to host? + + + + + Эта ошибка появляется из-за отсутствующего раздела + + +MYADDR: + delete ALL + add 0 0 HISADDR + + + в файле /etc/ppp/ppp.linkup. Он необходим, если ваш + IP адрес выделяется динамически или адрес маршрутизатора вам не + известен. Если вы используете интерактивный + режим, вы можете набрать следующие команды после входа в + пакетный режим (пакетный режим + идентифицируется заглавными буквами PPP в + приглашении): + + +delete ALL +add 0 0 HISADDR + + + Обратитесь к разделу PPP и + динамические IP адреса Руководства за подробной информацией. + + + -Эта ошибка появляется из-за отсутствующего раздела - - - MYADDR: - delete ALL - add 0 0 HISADDR - - - -в файле /etc/ppp/ppp.linkup. Он необходим, если ваш - IP адрес выделяется динамически или адрес маршрутизатора вам не - известен. Если вы используете интерактивный - режим, вы можете набрать следующие команды после входа в - пакетный режим (пакетный режим идентифицируется заглавными - буквами PPP в приглашении): - - - delete ALL - add 0 0 HISADDR - - - -Обратитесь к разделу PPP и динамические IP адреса Руководства за подробной - информацией. - - Соединение разрывается через 3 минуты Таймаут для ppp по умолчанию равен 3 минутам. Это может быть изменено строкой - - - set timeout NNN - - - -где NNN - время неактивности в секундах, после которого - соединение закывается. Если NNN равно нулю, соединение никогда - не разрывается по таймауту. Эту команду можно поместить в файл - ppp.conf или набрать ее в интерактивном режиме. Изменение - этого параметра также возможно при активном соединении, если - подключиться к сокету ppp сервера с помощью программ - telnet - или pppctl. Обратитесь к страницам Справочника, посвящённым - ppp. - - + + +set timeout NNN + + + где NNN - время неактивности в секундах, + после которого соединение закывается. Если NNN + равно нулю, соединение никогда не разрывается по таймауту. Эту команду + можно поместить в файл ppp.conf или набрать ее в + интерактивном режиме. Изменение этого параметра также возможно при + активном соединении, если подключиться к сокету ppp сервера с помощью программ + telnet + или pppctl. + Обратитесь к страницам Справочника, посвящённым + ppp. + + + + Соединение разрывается при большой нагрузке @@ -7640,13 +8099,14 @@ default 10.0.0.2 UGSc 0 0 tun0 что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5 LQR было включено по умолчанию. Сейчас оно по умолчанию выключено. LQR можно выключить строкой - - - disable lqr - - - - + + +disable lqr + + + + + Соединение разрывается в случайные промежутки времени @@ -7661,13 +8121,12 @@ default 10.0.0.2 UGSc 0 0 tun0 это определяется значением регистра S10 в десятых долях секунды. Чтобы сделать связь более устойчивой, добавьте следующую последовательность посылок-ожиданий в строку набора: - - - set dial "...... ATS10=10 OK ......" - - - -Обратитесь к руководству по вашему модему. + + +set dial "...... ATS10=10 OK ......" + + + Обратитесь к руководству по вашему модему. @@ -7678,70 +8137,74 @@ default 10.0.0.2 UGSc 0 0 tun0 Многие сообщают об обрывах соединений без видимой причины. Первым делом нужно выяснить, с какой стороны соединения рвётся связь. -Если вы используете внешний модем, можете просто попробовать - использовать утилиту ping и посмотреть, мигает ли индикатор - TD при передаче данных. Если он мигает (а индикатор TD нет), - проблема с той стороны. Если индикатор TD не загорается, проблема - с вашей стороны. При использовании внутреннего модема вам необходимо - воспользоваться командой set server, указав её в файле - ppp.conf. Когда произойдёт обрыв связи, подключитесь к ppp с - помощью pppctl. Если ваше сетевое подключение неожиданно восстановится - (ppp оживает при проявлении активности на диагностическом сокете) или - или если вы не сможете соединиться (здесь мы полагаем, что команда - set socket в начальный момент была выполнена успешно), то проблема - имеет локальный характер. Если вы сможете подключиться, но связи всё - равно нет, включите вывод отладочной информации командой set log - local async и запустите ping из другого окна или терминала, чтобы - проверить связь. В отладочном выводе будут показаны данные, - передаваемые и получаемые из канала связи. Если данные посылаются, - но не принимаются обратно, проблема с противоположной стороны. + Если вы используете внешний модем, можете просто попробовать + использовать утилиту ping и посмотреть, мигает ли + индикатор TD при передаче данных. Если он мигает (а + индикатор RD нет), проблема с той стороны. Если + индикатор TD не загорается, проблема + с вашей стороны. При использовании внутреннего модема вам необходимо + воспользоваться командой set server, указав её в файле + ppp.conf. Когда произойдёт обрыв связи, подключитесь + к ppp с помощью pppctl. Если ваше сетевое подключение неожиданно + восстановится (ppp оживает при проявлении активности на диагностическом + сокете) или или если вы не сможете соединиться (здесь мы полагаем, что + команда set socket в начальный момент была выполнена + успешно), то проблема имеет локальный характер. Если вы сможете + подключиться, но связи всё равно нет, включите вывод отладочной информации + командой set log local async и запустите + ping из другого окна или терминала, чтобы проверить + связь. В отладочном выводе будут показаны данные, + передаваемые и получаемые из канала связи. Если данные посылаются, + но не принимаются обратно, проблема с противоположной стороны. -Выяснив, является эта проблема локальной или удалённой системы, - вы имеете следующие возможности: - - + Выяснив, является эта проблема локальной или удалённой системы, + вы имеете следующие возможности: + + + + Удалённая система не отвечает -Здесь вы мало что можете сделать. Большинство провайдеров - отказываются оказать помощь, если вы используете ОС не от Microsoft. - Вы можете добавить команду enable lqr в ваш ppp.conf, что - позволит ppp отследить ошибки в удалённой системе и закрывать - соединение, однако такое обнаружение достаточно медленное и поэтому - не так уж полезно. Вы можете также просто не сообщать своему - провайдеру, что запускаете user-ppp.... - -Первым делом попробуйте отключить всю местную компрессию, - указав в конфигурационном файле следующее: - - - disable pred1 deflate deflate24 protocomp acfcomp shortseq vj - deny pred1 deflate deflate24 protocomp acfcomp shortseq vj - - - -Теперь попробуйте установить соединение ещё раз и удостовериться, - что ситуация не изменилась. Если качество соединения улучшилось - или проблема окащалась полностью решённой, выясните, настройка - чего приводила к проблемам методом проб и ошибок. Это даст вам - дополнительную защиту, когда вы будете разговаривать с вашим - провайдером (хотя при этом может обнаружиться, что вы работаете - не с продуктом Microsoft). - + Здесь вы мало что можете сделать. Большинство провайдеров + отказываются оказать помощь, если вы используете ОС не от Microsoft. + Вы можете добавить команду enable lqr в ваш + ppp.conf, что позволит ppp отследить ошибки в + удалённой системе и закрывать соединение, однако такое обнаружение + достаточно медленно и поэтому + не так уж полезно. Вы можете также просто не сообщать своему + провайдеру, что запускаете user-ppp.... + + Первым делом попробуйте отключить всю местную компрессию, + указав в конфигурационном файле следующее: + + +disable pred1 deflate deflate24 protocomp acfcomp shortseq vj +deny pred1 deflate deflate24 protocomp acfcomp shortseq vj + + + Теперь попробуйте установить соединение ещё раз и удостовериться, + что ситуация не изменилась. Если качество соединения улучшилось + или проблема окащалась полностью решённой, выясните, настройка + чего приводила к проблемам методом проб и ошибок. Это даст вам + дополнительную защиту, когда вы будете разговаривать с вашим + провайдером (хотя при этом может обнаружиться, что вы работаете + не с продуктом Microsoft). + Перед тем, как звонить провайдеру, включите вывод отладочной информации, как вы это делали ранее и подождите, пока соединение снова не прервётся. Правда, для этого требуется некоторое дисковое пространство. Интерес могут представлять последние прочитанные из порта данные. Обычно это данные в формате ascii - и они могут даже содержать описание проблемы (``Memory fault, - core dumped'' ?). + и они могут даже содержать описание проблемы (Memory fault, + core dumped ?). Если ваш провайдер согласен помочь вам, нужно будет включить режим отладки с их стороны, а потом, когда связь прервётся в следующий раз, они могут сказать вам, почему возникли проблемы с их стороны. Будет хорошо, если вы пришлёте детальное описание - на адрес brian@Awfulhak.org, или даже попросите провайдера связаться + на адрес &a.brian;, или даже попросите провайдера связаться со мной напрямую. @@ -7749,17 +8212,21 @@ default 10.0.0.2 UGSc 0 0 tun0 Ppp зависает -Лучше всего в этом случае перекомпилировать ppp, добавив параметры - CFLAGS+=-g и STRIP= в конец Makefile, а затем выполнить - make clean && make && make install. Когда ppp - зависнет, найдите идентификатор процесса ppp с помощью команды - ps ajxww | fgrep ppp и выполните команду gdb ppp PID. - Затем в приглашении gdb вы можете использовать команду bt для - получения стека вызовов. - -Пошлите результат на адрес brian@Awfulhak.org. + Лучше всего в этом случае перекомпилировать ppp, добавив параметры + CFLAGS+=-g и STRIP= в конец + Makefile, а затем выполнить команду + make clean && make && make install. + Когда ppp зависнет, найдите идентификатор процесса ppp с помощью команды + ps ajxww | fgrep ppp и выполните команду + gdb ppp PID. Затем в + приглашении gdb вы можете использовать команду bt для + получения стека вызовов. + + Пошлите результат на адрес brian@Awfulhak.org. + + + - Ничего не происходит после сообщения Login OK! @@ -7771,12 +8238,11 @@ default 10.0.0.2 UGSc 0 0 tun0 начинают согласования и предполагают, что это сделает клиент. Чтобы заставить ppp инициировать согласование параметров LCP, используйте следующую строку: - - - set openmode active - - - + + +set openmode active + + Замечание: Ничего страшного не произойдёт, если согласование начнут обе стороны, поэтому режим инициирования сейчас по умолчанию активный. Однако, в следующем разделе описывается @@ -7785,11 +8251,12 @@ default 10.0.0.2 UGSc 0 0 tun0 - В протоколе есть сообщения о том, что 'magic being the same'. + В протоколе есть сообщения о том, что magic being the same. Иногда, сразу же после установления соединения, вы можете увидеть - сообщения в протоколе, говорящие что "magic is the same". Иногда + сообщения в протоколе, говорящие что magic is the same. + Иногда эти сообщения проходят безболезненно, а иногда одна из сторон прекращают работу. Большинство реализаций ppp не может справиться с такой ситуацией, и, даже когда связь выглядит установившейся, вы @@ -7805,13 +8272,14 @@ default 10.0.0.2 UGSc 0 0 tun0 проходящее между завершением работы getty и запуском ppp, ppp со стороны клиента начинает посылать пакеты Line Control Protocol (LCP). Так как режим эха остаётся всё ещё включенным, ppp клиента - получает "отражения" своих запросов. + получает отражения своих запросов. -Частью процесса согласования параметров LCP является определение - "магического" числа для каждой стороны соединения для обнаружения - "отражений". Согласно спецификации, когда одна сторона пытается - использовать совпадающее "магическое" число, должен быть послан ответ - NAK и должно быть выбрано новое "магическое" число. В тот момент, + Частью процесса согласования параметров LCP является определение + магического числа для каждой стороны соединения для + обнаружения отражений. Согласно спецификации, когда одна + сторона пытается использовать совпадающее "магическое" число, должен быть + послан ответ + NAK и должно быть выбрано новое "магическое" число. В тот момент, когда на порту сервера включен режим эха, клиент ppp посылает пакеты LCP, получает то же самое "магическое" число в отражённом пакете и отвечает на него NAK. Он также видит отражённый NAK (который также @@ -7826,21 +8294,19 @@ default 10.0.0.2 UGSc 0 0 tun0 Этого можно избежать, позволив начинать согласование противоположной стороне следующей строкой в файле ppp.conf: - - - set openmode passive - - - + + +set openmode passive + + Это заставит ppp ожидать начала согласования LCP. Некоторые серверы, однако, могут никогда не начать согласование. Если это тот самый случай, вы можете сделать следующее: - - - set openmode active 3 - - - + + +set openmode active 3 + + Это заставит ppp пассивно ждать 3 секунды, и только затем посылать запросы LCP. Если противоположная сторона начнёт посылать в этот момент запросы, ppp немедленно ответит, не ожидая истечения @@ -7884,29 +8350,26 @@ default 10.0.0.2 UGSc 0 0 tun0 Лучшим способом избежать этой ситуации является конфигурация одной из сторон как passive, чтобы она ждала другую для начала согласования. Это можно сделать командой - - - set openmode passive - - - - С этой командой нужно быть осторожным. Вы также должны будете - использовать команду - - - set stopped N - - - + + +set openmode passive + + + С этой командой нужно быть осторожным. Вы также должны будете + использовать команду + + +set stopped N + + для ограничения периода ожидания, в течении которого ppp ждёт начала согласования с противоположной стороны. Как вариант, может быть использована строка - - - set openmode active N - - - + + +set openmode active N + + (где N - период ожидания в секундах перед тем, как начать согласование). @@ -7922,29 +8385,31 @@ default 10.0.0.2 UGSc 0 0 tun0 разные типы CCP (Compression Control Protocol). Эта проблема сейчас решена, но если вы всё ещё используете старую версию ppp, проблема может быть обойдена с помощью строки - - - disable pred1 - - - - + + +disable pred1 + + + + + Когда я выполняю команду shell для тестирования соединения, ppp блокируется -Когда вы выполняете команду shell или !, ppp - запускает оболочку (если были заданы параметры, ppp их - использует). Ppp будет ждать окончания выполнения команды, прежде + Когда вы выполняете команду shell или + !, ppp запускает оболочку (если были + заданы параметры, ppp их + использует). Ppp будет ждать окончания выполнения команды, прежде чем продолжить. Если вы попытаетесь воспользоваться связью ppp после запуска команды, связь будет выглядеть заблокированной. Это - происходит из-за того, что ppp ждёт завершения выполнения - запущенной команды. - -Если вам необходимо выполнять подобные команды, используйте - команду !bg. В этом случае нужная команда будет выполняться + происходит из-за того, что ppp ждёт завершения + выполнения запущенной команды. + + Если вам необходимо выполнять подобные команды, используйте + команду !bg. В этом случае нужная команда будет выполняться в фоновом режиме, а ppp сможет продолжить обслуживание канала связи. @@ -7957,12 +8422,11 @@ default 10.0.0.2 UGSc 0 0 tun0 Это происходит из-за метода использования сигнальных линий нуль-модемного кабеля. При использовании такого типа соединения всегда включайте LQR. - - - enable lqr - - - + + +enable lqr + + По умолчанию LQR включается, если это было затребовано с противоположной стороны на этапе согласования параметров соединения. @@ -7976,12 +8440,11 @@ default 10.0.0.2 UGSc 0 0 tun0 звонков. Для выяснения причины такого поведения, используйте строку: - - - set log +tcp/ip - - - + + +set log +tcp/ip + + Это включит протоколирование всего трафика через соединение. В следующий раз, когда неожиданно будет установлено соединение, вы установите причину по временным отметкам в файле протокола. @@ -7991,14 +8454,13 @@ default 10.0.0.2 UGSc 0 0 tun0 к DNS. Для предотвращения обращений к DNS и установления соединения (что не запретит ppp пропускать пакеты через уже установленное соединение), используйте такую комбинацию: - - - set dfilter 1 deny udp src eq 53 - set dfilter 2 deny udp dst eq 53 - set dfilter 3 permit 0/0 0/0 - - - + + +set dfilter 1 deny udp src eq 53 +set dfilter 2 deny udp dst eq 53 +set dfilter 3 permit 0/0 0/0 + + Это может вам не подойти, так как закроет возможность дозвонки по запросу - большинству программ нужно обратиться к DNS до того, как начать работать. @@ -8011,44 +8473,45 @@ default 10.0.0.2 UGSc 0 0 tun0 за подробным описанием создания конфигурационного файла и что туда нужно поместить. Вам может понадобиться добавить в файл .mc строку: - - - define(`confDELIVERY_MODE', `d')dnl - - - -Это заставит sendmail ставить все сообщения в очередь до - тех пор, пока не будет запущена её обработка (как правило, - sendmail запускается с параметрами ``-bd -q30m'', указывающие, что - обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока - не будет выполнена команда ``sendmail -q'' (может быть, из файла - ppp.linkup). - - + + +define(`confDELIVERY_MODE', `d')dnl + + + Это заставит sendmail ставить все сообщения в очередь до тех пор, пока + не будет запущена её обработка (как правило, sendmail запускается с + параметрами , указывающими, что + обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока + не будет выполнена команда sendmail -q (может быть, из + файла ppp.linkup). + + + + Что означают ошибки CCP В файле протокола появляются такие сообщения об ошибках: - - - CCP: CcpSendConfigReq - CCP: Received Terminate Ack (1) state = Req-Sent (6) - - - + + +CCP: CcpSendConfigReq +CCP: Received Terminate Ack (1) state = Req-Sent (6) + + Это происходит, если ppp пытается установить компрессию типа Predictor1, а противоположная сторона не хочет устанавливать никакой компрессии. Эти сообщения безобидны, но если вы хотите от них избавиться, вы можете запретить компрессию Predictor1 и у себя тоже: - - - disable pred1 - - - - + + +disable pred1 + + + + + Ppp блокируется во время передачи файла с ошибками ввода-вывода @@ -8077,88 +8540,90 @@ default 10.0.0.2 UGSc 0 0 tun0 Для вывода протокола взаимодействия с модемом вам нужно включить следующее: - - - set log +connect - - - -Это заставит ppp - протоколировать всё вплоть до последней прочтённой через "expect" - строки. - -Если вы хотите видеть скорость соединения и используете - PAP или CHAP (и поэтому вам не нужно определять никаких сценариев - входа через "set login" после получения строки CONNECT сценарием - дозвонки dial), вы должны указать ppp, что нужно ожидать полную - строку CONNECT, вроде следующего: - - - set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" - - - + + +set log +connect + + + Это заставит ppp протоколировать + всё, вплоть до последней прочтённой через expect + строки. + + Если вы хотите видеть скорость соединения и используете + PAP или CHAP (и поэтому вам не нужно определять никаких сценариев + входа через set login после получения строки CONNECT + сценарием дозвонки dial), вы должны указать ppp, что нужно ожидать полную + строку CONNECT, вроде следующего: + + +set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \ + \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n" + + Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем символа перевода строки, заставляя ppp принять полный ответ модема. - -Ppp игнорирует символ `\' в chat-скрипте -Ppp обрабатывает каждую строку в ваших конфигурационных файлах, так что - он может проинтерпретировать строку вида - set phone "123 456 789" правильно (и - обнаружить. что номер является на самом деле - единственным аргументом. Для того, чтобы - указать символ `"', вы должны экранировать его символом - обратного слэша (`\'). + + + Ppp игнорирует символ \ + в chat-скрипте + + + + + Ppp обрабатывает каждую строку в ваших конфигурационных файлах, так что + он может проинтерпретировать строку вида + set phone "123 456 789" правильно (и + обнаружить. что номер является на самом деле + единственным аргументом. Для того, чтобы + указать символ ", вы должны экранировать его символом + обратного слэша (\). + + Когда интерпретатор chat обрабатывает каждую строку, он ещё раз + просматривает аргумент для того, чтобы найти какую-либо специальную + последовательность типа \P или \T + (обратитесь к Справочнику). В результате этой двойной интерпретации вы + должны всегда использовать правильное число экранирующих символов. + + Если вам нужно передать символ \, например, вашему + модему, вам необходимо указать что-то типа: + + +set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" + + + что приведёт к такой последовательности: + + +ATZ +OK +AT\X +OK + + + или + + +set phone 1234567 +set dial "\"\" ATZ OK ATDT\\T" + + + что даст такую последовательность: + + +ATZ +OK +ATDT1234567 + + + + -Когда интерпретатор chat обрабатывает каждую строку, он ещё раз - просматривает аргумент для того, чтобы найти какую-либо специальную - последовательность типа `\P' или `\T' (обратитесь к - Справочнику). В результате этой двойной интерпретации вы должны всегда - использовать правильное число экранирующих символов. - -Если вам нужно передать символ `\', например, вашему модему, - вам необходимо указать что-то типа: - - - - set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK" - - - -что приведёт к такой последовательности: - - - - ATZ - OK - AT\X - OK - - - -или - - - set phone 1234567 - set dial "\"\" ATZ OK ATDT\\T" - - - -что даст такую последовательность: - - - ATZ - OK - ATDT1234567 - - - - Ppp получает ошибку защиты, но я не вижу файла ppp.core @@ -8172,19 +8637,18 @@ default 10.0.0.2 UGSc 0 0 tun0 или по другому сигналу, который вызывает создание дампа памяти, и вы уверены, что используете самую последнюю версию (смотрите самое начало раздела), то вы должны сделать следующее: - - - $ 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 - - - + + +&prompt.user; tar xfz ppp-*.src.tar.gz +&prompt.user; cd ppp*/ppp +&prompt.user; echo STRIP= >>Makefile +&prompt.user; echo CFLAGS+=-g >>Makefile +&prompt.user; make clean all +&prompt.user; su +&prompt.root; make install +&prompt.root; chmod 555 /usr/sbin/ppp + + Теперь у вас есть отладочная версия ppp. Вам нужно стать суперпользователем для запуска ppp, так как соответствующие биты прав были убраны. Когда запустите ppp, обратите особое внимание @@ -8192,21 +8656,20 @@ default 10.0.0.2 UGSc 0 0 tun0 Итак, если ppp получит ошибку нарушения защиты, он сбросит дамп памяти с именем ppp.core. Затем вам нужно сделать следующее: - - - $ su - # gdb /usr/sbin/ppp ppp.core - (gdb) bt - ..... - (gdb) f 0 - ..... - (gdb) i args - ..... - (gdb) l - ..... - - - + + +&prompt.user; su +&prompt.root; gdb /usr/sbin/ppp ppp.core +(gdb) bt +..... +(gdb) f 0 +.... +(gdb) i args +.... +(gdb) l +..... + + Вся эта информация должна быть предоставлена вместе с вашим вопросом, чтобы проблему можно было продиагностировать. @@ -8221,11 +8684,11 @@ default 10.0.0.2 UGSc 0 0 tun0 затребованного соединения -Эта проблема проявлялась, когда ppp в режиме auto был - настроен на динамическое согласование локального IP-адреса с - противоположной стороной. Это исправлено в последней версии - - поищите на странице справочника слово iface. - + Эта проблема проявлялась, когда ppp в + режиме auto был настроен на динамическое согласование локального IP-адреса + с противоположной стороной. Это исправлено в последней версии - + поищите на странице справочника слово iface. + Причиной было то, что когда эта программа использует системный вызов connect(2), для сокета назначается IP-адрес tun-интерфейса. Ядро создаёт первый исходящий пакет и записывает его в устройство @@ -8289,7 +8752,7 @@ default 10.0.0.2 UGSc 0 0 tun0 запущенной программой является программное обеспечение, с которым вы испытываете проблемы, затем напустите tcpdump на tun-интерфейс маршрутизатора либо включите протоколирование tcp/ip - в ppp (``set log +tcp/ip'') на маршрутизаторе. + в ppp (set log +tcp/ip) на маршрутизаторе. Когда вы запустите некорректно работающее программное обеспечение, вы должны увидеть пакеты, проходящие через маршрутизатор. Когда @@ -8301,15 +8764,15 @@ default 10.0.0.2 UGSc 0 0 tun0 разделе /etc/ppp/ppp.conf заставит программное обеспечение функционировать нормально: - - -nat port proto internalmachine:port port - - + +nat port proto internalmachine:port port + - Здесь ``proto'' - это ``tcp'' либо ``udp'', ``internalmachine'' - - это машина, которой вы хотите перенаправлять пакеты, и ``port'' - это - номер порта получателя пакетов. + Здесь proto - это tcp + либо udp, internalmachine - + это машина, которой вы хотите перенаправлять пакеты, + и port - это номер порта получателя + пакетов. Несомненно, вы не сможете использовать программное обеспечение на других машинах, не изменяя указанную выше команду, а также запускать @@ -8320,24 +8783,27 @@ nat port proto internalmachine:port port Если номера портов непостоянны, есть ещё три варианта: 1) Настройте поддержку этого в - libalias. Примеры ``особых случаев'' можно найти в - /usr/src/lib/libalias/alias_*.c (alias_ftp.c - хорошее начало). Это + libalias. Примеры особых случаев можно найти в + /usr/src/lib/libalias/alias_*.c + (alias_ftp.c - хорошее начало). Это означает, что вам нужно будет использовать чтение некоторых распознаваемых исходящих пакетов, обнаруживать команды для установления внешней машиной обратной связи на внутреннюю машину на конкретный (случайный) порт и - настраивать ``маршрут'' в таблице соответствий так, чтобы последующие - пакеты проходили нормально. + настраивать маршрут в таблице соответствий так, чтобы + последующие пакеты проходили нормально. Это самое трудоёмкое решение, но оно наилучшее и позволит программному обеспечению работать на нескольких машинах. 2) Используйте прокси-сервера. Приложение может поддерживать, например, socks5 или (как в случае - ``cvsup'') может иметь режим ``passive'', обходящийся без запросов к - противоположной стороне на открытие обратного соединения. + cvsup) может иметь режим passive, обходящийся + без запросов к противоположной стороне на открытие обратного + соединения. 3) Переназначьте всё на внутреннюю - машину с помощью команды ``nat addr''. Это решение в лоб. + машину с помощью команды nat addr. Это решение в + лоб. @@ -8349,92 +8815,70 @@ nat port proto internalmachine:port port Пока нет, но ниже находится список, могущий таковым стать (если - к этому будет проявлен какой-либо интерес). В каждом примере internal должно быть заменено IP адресом машины, + к этому будет проявлен какой-либо интерес). В каждом примере + internal нужно заменить на IP-адрес машины, участвующей в игре. - - - - Asheron's Call + + + Asheron's Call - nat - port udp internal:65000 65000 + nat port udp + internal:65000 65000 - Находясь в игре, вручную смените номер порта на 65000. Если - у вас есть несколько машин, на которых вы хотите играть, назначьте - каждой машине уникальный номер порта (то есть 65001, 65002 и так - далее), и добавьте по строчке nat port - для каждой машины. - - - + Находясь в игре, вручную смените номер порта на 65000. Если + у вас есть несколько машин, на которых вы хотите играть, назначьте + каждой машине уникальный номер порта (то есть 65001, 65002 и так + далее), и добавьте по строчке nat port для каждой + машины. + - - - - Half Life + + Half Life - nat - port udp internal:27005 27015 - - - + nat port udp + internal:27005 27015 + - - - - PCAnywhere 8.0 + + PCAnywhere 8.0 - nat - port udp internal:5632 5632 + nat port udp + internal:5632 5632 - nat - port tcp internal:5631 5631 - - - + nat port tcp + internal:5631 5631 + - - - - Quake + + Quake - nat - port udp internal:6112 6112 + nat port udp + internal:6112 6112 - Альтернативное решение, обеспечивающее поддержку прокси для - Quake, можно найти на сервере - www.battle.net. - - - + Альтернативное решение, обеспечивающее поддержку прокси для + Quake, можно найти на сервере + www.battle.net. + - - - - Quake 2 + + Quake 2 - nat - port udp internal:27901 27910 - - - + nat port udp + internal:27901 27910 + - - - - Red Alert + + Red Alert - nat - port udp internal:8675 8675 + nat port udp + internal:8675 8675 - nat - port udp internal:5009 5009 - - - + nat port udp + internal:5009 5009 + + @@ -8443,13 +8887,15 @@ nat port proto internalmachine:port port Что такое ошибки FCS? -FCS является сокращением от Frame Check Sequence - (контроль последовательности кадров). Каждый кадр ppp имеет - контрольную сумму для проверки того, что принятые данные совпадают - с переданными. Если FCS принятого пакета некорректна, пакет - отбрасывается и счётчик FCS для HDLC увеличиваетя. Значения ошибок - уровня HDLC можно вывести командой show hdlc. - + FCS является сокращением от Frame Check Sequence + (контроль последовательности кадров). Каждый кадр ppp имеет + контрольную сумму для проверки того, что принятые данные совпадают + с переданными. Если FCS принятого пакета некорректна, пакет + отбрасывается и счётчик FCS для HDLC увеличиваетя. Значения ошибок + уровня HDLC можно вывести командой show hdlc. + Если у вас плохая линия (или драйвер коммуникационного адаптера отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является причиной для волнений, хотя это существенно замедляет протоколы @@ -8457,17 +8903,19 @@ nat port proto internalmachine:port port экранирования соединительного кабеля - это может избавить от проблемы. -Если ваша связь замирает, как только вы соединились и - наблюдается большое количество ошибок FCS, это может быть вызвано - не полной прозрачностью канала для 8-битовых данных. Проверьте, что - модем не использует программного управоения потоком, используйте - команду set accmap 0x000a0000 для указания ppp - экранировать символы ^Q и ^S. - -Другой причиной слишком большого количества ошибок FCS может + Если ваша связь замирает, как только вы соединились и + наблюдается большое количество ошибок FCS, это может быть вызвано + не полной прозрачностью канала для 8-битовых данных. Проверьте, что + модем не использует программного управления потоком (XON/XOFF). Если же + оборудование должно , использовать программное + управление потоком, то воспользуйтесь командой set accmap + 0x000a0000 для указания ppp экранировать + символы ^Q и ^S. + + Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса PPP. В этом случае Вам может понадобиться включить протоколирование - async для проверки того, не являются ли поступаемые из линии + async для проверки того, не являются ли поступаемые из линии данные на самом деле приглашениями login или shell. Если вы получили приглашение shell с противоположной стороны, возможно завершение ppp без обрыва связи командой close lcp @@ -8483,23 +8931,27 @@ nat port proto internalmachine:port port - Почему в Windows 98 соединения замирают, когда на маршрутизаторе - используется PPPoE + Почему при работе в MacOS и Windows 98 соединения замирают, когда на + маршрутизаторе используется PPPoE Мы благодарим Майкла Возняка (Michael Wozniak) - mwozniak@netcom.ca, который сообщил следующее: + mwozniak@netcom.ca, который сообщил следующую информацию, и + Дэна Флемминга (Dan Flemming) danflemming@mac.com за решение + проблемы в случае Mac: - Это происходит из-за эффекта, который можно назвать "чёрной дырой" - на маршрутизаторе. Windows 98 (и, может быть, другие операционные системы - от Microsoft), посылают пакеты TCP с запрашиваемым размером сегмента, - который слишком велик для того, чтобы быть помещённым в кадр PPPoE (для - сети ethernet размер MTU по умолчанию равен 1500) и с установленным битом "не фрагментировать" (по - умолчанию для TCP), а маршрутизаторы Telco не посылает пакет ICMP "нужно - фрагментировать" обратно на сайт www, с которым вы работаете. Когда + Это происходит из-за эффекта, который можно назвать чёрной + дырой на маршрутизаторе. MacOS и Windows 98 (и, может быть, + другие операционные + системы от Microsoft), посылают пакеты TCP с запрашиваемым размером + сегмента, который слишком велик для того, чтобы быть помещённым в кадр + PPPoE (для сети ethernet размер MTU по умолчанию равен 1500) и с установленным битом не + фрагментировать (по умолчанию для TCP), а маршрутизаторы Telco не + посылает пакет ICMP нужно фрагментировать обратно на сайт + www, с которым вы работаете. Когда www-сервер посылает вам кадры, которые не помещаются в поток PPPoE, то маршрутизаторы Telco их отбрасывают и странички не загружаются (часть страниц/графики всё же видно, потому что они меньше, чем MSS). Похоже, @@ -8525,23 +8977,40 @@ HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU for Windows NT для получения подробной информации по изменению MTU в Windoze для работы с маршрутизатором FreeBSD/NAT/PPPoE. + К несчастью, в MacOS нет возможности изменить настройки TCP/IP. Однако + имеется коммерческое программное обеспечение, такое, как OTAdvancedTuner + (OT for OpenTransport, the MacOS TCP/IP stack) компании Sustainable Softworks, которое + позволяет пользователям настраивать параметры TCP/IP. Пользователи MacOS + NAT должны выбрать ip_interface_MTU из выпадающего меню, + ввести число 1450 вместо 1500 в окне, + затем щёлкнуть на кнопке, следующей за Save as Auto + Configure, и щёлкнуть на Make Active. + - -Ничего не помогает - я уже отчаялся! + + + Ничего не помогает - я уже отчаялся! + -Если всё уже перепробовано, и ничего не получается, пошлите нам - максимальное количество информации, ваш конфигурационный файл, - способ запуска ppp, соответствующие части файла протокола, и - вывод команды netstat -rn - (до и после соединения) в адрес списка рассылки - freebsd-questions@FreeBSD.org или в телеконференцию - comp.unix.bsd.freebsd.misc, и может быть, кто-нибудь - укажет вам верное направление. - - + + + Если всё уже перепробовано, и ничего не получается, пошлите нам + максимальное количество информации, ваш конфигурационный файл, + способ запуска ppp, соответствующие части + файла протокола, и вывод команды netstat -rn + (до и после соединения) в адрес списка рассылки + freebsd-questions@FreeBSD.org или в телеконференцию comp.unix.bsd.freebsd.misc, + и может быть, кто-нибудь укажет вам верное направление. + + + + @@ -8561,46 +9030,40 @@ id="serial"> порты, с поддержкой которых было откомпилировано. Вы можете повнимательней присмотреться к выдаваемым сообщениям либо выполнить команду - - - dmesg | grep sio - - - - -после загрузки и запуска системы. - + +&prompt.user; dmesg | grep sio + - -Вот пример вывода указанной команды: - - - sio0 at 0x3f8-0x3ff irq 4 on isa - sio0: type 16550A - sio1 at 0x2f8-0x2ff irq 3 on isa - sio1: type 16550A - - - + после загрузки и запуска системы. - -Здесь присутствуют два последовательных порта. Первый использует - irq 4, порт ввода/вывода 0x3f8 и построен на микросхеме UART типа - 16550A. Второй использует тот же тип микросхемы, но использует irq 3 и - адрес порта ввода/вывода 0x2f8. Внутренние модемы выглядят точно - также, как последовательные порты, за исключением того, что к ним - всегда ``подключен'' модем. - -В ядро GENERIC встроена поддержка двух - последовательных портов, с irq и адресами портов ввода/вывода, как в - примере выше. Если эти настройки не соответствуют вашим, или если вы - добавили внутренние модемы, или у вас больше последовательных портов, чем - описано в ядре, просто переконфигурируйте ядро. За дополнительной - информацией обратитесь к разделу о построении - ядра. + Вот пример вывода указанной команды: + + +sio0 at 0x3f8-0x3ff irq 4 on isa +sio0: type 16550A +sio1 at 0x2f8-0x2ff irq 3 on isa +sio1: type 16550A + + + Здесь присутствуют два последовательных порта. Первый использует irq + 4, порт ввода/вывода 0x3f8 и построен на микросхеме + UART типа 16550A. Второй использует тот же тип микросхемы, но использует + irq 3 и адрес порта ввода/вывода 0x2f8. Внутренние + модемы выглядят точно также, как последовательные порты, за исключением + того, что к модем ним подключен всегда. + + В ядро GENERIC встроена поддержка двух + последовательных портов, с irq и адресами портов ввода/вывода, как в + примере выше. Если эти настройки не соответствуют вашим, или если вы + добавили внутренние модемы, или у вас больше последовательных портов, чем + описано в ядре, просто переконфигурируйте ядро. За дополнительной + информацией обратитесь к разделу о построении + ядра. + + + - Как узнать, какие внутренние модемы были обнаружены FreeBSD? @@ -8612,17 +9075,22 @@ id="serial"> - - Я только что поставил 2.0.5 и не нашёл устройств tty0X! - -Не волнуйтесь, они были объединены с устройствами ttydX. - Вам придётся подправить конфигурационные файлы, которые вы раньше - использовали. - + + + Я только что поставил 2.0.5 и не нашёл устройств + tty0X! + + + + + Не волнуйтесь, просто они были объединены с устройствами + ttydX. Вам придётся подправить конфигурационные + файлы, которые вы раньше использовали. + + + - - Как осуществляется доступ к последовательным портам во FreeBSD? @@ -8636,50 +9104,46 @@ id="serial"> -Вы должны использовать ttydX для входящих соединений. При - открытии /dev/ttydX в блокирующем режиме, процесс будет - ожидать неактивности соответствующего устройства cuaaX, а затем - появления сигнала о наличии несущей. При открытии устройства - cuaaX, он проверяет, что последовательный порт не используется - уже устройством ttydX. Если порт доступен, он ``похищает'' его - у устройства ttydX. Также устройство cuaXX не следит за - наличием несущей. С такой схемой работы и модемом, находящимся в - режиме автоответа, вы можете позволить пользователям входить в - систему и в то же время можете осуществлять исходящие звонки, а - система позаботится о возможных конфликтах. - + Вы должны использовать ttydX для входящих + соединений. При открытии /dev/ttydX в блокирующем + режиме, процесс будет ожидать неактивности соответствующего устройства + cuaaX, а затем появления сигнала о наличии несущей. + При открытии устройства cuaaX, он проверяет, что + последовательный порт не используется уже устройством + ttydX. Если порт доступен, он похищает + его у устройства ttydX. Также устройство + cuaXX не следит за наличием несущей. С такой схемой + работы и модемом, находящимся в режиме автоответа, вы можете позволить + пользователям входить в систему и в то же время можете осуществлять + исходящие звонки, а система позаботится о возможных конфликтах. + + + - - Как включить поддержку многопортовых последовательных адаптеров? -Повторим ещё раз: информация о конфигурировании ядра содержится в - разделе, посвящённом этому вопросу. Для многопортовых последовательных - адаптеров в файле конфигурации ядра поместите ключевое слово - sio - для каждого порта на адаптере. Но irq и вектор должен быть указан - только у одного порта. Все порты на адаптере должны использовать одно - и то же irq. Используйте последний последовательный порт для указания - irq. Также включите опцию COM_MULTIPORT. - + Повторим ещё раз: информация о конфигурировании ядра содержится в + разделе, посвящённом этому вопросу. Для многопортовых последовательных + адаптеров в файле конфигурации ядра поместите ключевое слово + sio + для каждого порта на адаптере. Но irq и вектор должен быть указан + только у одного порта. Все порты на адаптере должны использовать одно + и то же irq. Используйте последний последовательный порт для указания + irq. Также включите опцию COM_MULTIPORT. - В следующем примере дано описание 4-портового адаптер AST на irq 7: - - - 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 - - - - + +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 + + Флаги указывают, что управляющий порт имеет младший номер устройства 7 (0x700), включена диагностика на время обнаружения (0x080), и все порты используют одно и то же irq (0x001). @@ -8701,63 +9165,56 @@ id="serial"> Можно ли установить режим работы по умолчанию для порта? -Вашему приложению может понадобиться открыть устройства - ttydX (или cuaaX). Когда процесс открывает устройство, - оно имеет набор параметров ввода/вывода. Вы можете посмотреть их - значения командой - - - stty -a -f /dev/ttyd1 - - - + Вашему приложению может понадобиться открыть устройства + ttydX (или cuaaX). Когда процесс + открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете + посмотреть их значения командой - -Когда вы меняете настройки этого устройства, они действуют - вплоть до закрытия устройства. При повторном открытии оно будут - иметь режимы работы по умолчанию. Чтобы изменить значения режимов - работы по умолчанию, вы можете открыть и изменить настройки в - устройстве ``начального состояния''. Например, чтобы сделать режимом - по умолчанию режим CLOCAL, 8 бит, и управление потоком - XON/XOFF для устройства ttyd5, сделайте следующее: - - - stty -f /dev/ttyid5 clocal cs8 ixon ixoff - - - + +&prompt.root; stty -a -f /dev/ttyd1 + - -Для выполнения таких действий предназначен скрипт - /etc/rc.serial. Теперь при открытии устройства ttyd5 - приложение будет иметь именно такой режим работы с портом. Оно, - однако. может изменить эти режимы по своему усмотрению. - + Когда вы меняете настройки этого устройства, они действуют + вплоть до закрытия устройства. При повторном открытии оно будут + иметь режимы работы по умолчанию. Чтобы изменить значения режимов + работы по умолчанию, вы можете открыть и изменить настройки в устройстве + начального состояния. Например, чтобы сделать режимом + по умолчанию режим CLOCAL, 8 бит, и управление потоком + XON/XOFF для устройства ttyd5, сделайте + следующее: - -Вы можете запретить изменение приложением некоторых режимов работы, - выполнив настройки устройства ``постоянного состояния''. Например, - чтобы сделать скорость работы ttyd5 постоянно равной 57600 bps, - выполните - - - stty -f /dev/ttyld5 57600 - - - + +&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoff + - -Теперь, если приложение откроет ttyd5 и попытается изменить - скорость работы порта, она всё равно останется равной 57600 bps. - + Для выполнения таких действий предназначен скрипт + /etc/rc.serial. Теперь при открытии устройства + ttyd5 приложение будет иметь именно такой режим + работы с портом. Оно, однако. может изменить эти режимы по своему + усмотрению. + + Вы можете запретить изменение приложением некоторых режимов работы, + выполнив настройки устройства постоянного состояния. + Например, чтобы сделать скорость работы ttyd5 + постоянной и равной 57600 bps, выполните + + +&prompt.root; stty -f /dev/ttyld5 57600 + + + Теперь, если приложение откроет ttyd5 и попытается + изменить скорость работы порта, она всё равно останется равной 57600 + bps. + + Естественно, вы должны сделать устройства начального и + постоянного состояний доступными на запись только пользователю + root. Скрипт MAKEDEV + при создании файлов устройств этого НЕ делает. + + + - -Естественно, вы должны сделать устройства начального и - постоянного состояний доступными на запись только пользователю - root. Скрипт MAKEDEV - при создании файлов устройств этого НЕ делает. - - Как сделать вход через модем? @@ -8778,12 +9235,11 @@ id="serial"> Для большинства модемов, поддерживающих набор команд Hayes, следующая последовательность команд выполнит эти настройки и сохранит их в энергонезависимой памяти: - - - AT &C1 &D3 &K3 &Q6 S0=1 &W - - - + + +AT &C1 &D3 &K3 &Q6 S0=1 &W + + Информация о том, как сделать эти настройки без обращения к терминальным программам MS-DOS, содержится в разделе о посылке AT-команд. @@ -8791,66 +9247,60 @@ id="serial"> Затем опишите модем в файле /etc/ttys. В нём перечислены все порты, с которых операционная система ожидает входа пользователей. Добавьте строку, которая выглядит как эта: - - - ttyd1 "/usr/libexec/getty std.57600" dialup on insecure - - - - -В этой строке указано, что ко второму последовательному порту - (/dev/ttyd1) подключен модем на скорости 57600 bps без - контроля по чётности (std.57600, что берётся из файла - /etc/gettytab). Тип терминала для этого порта определён - как ``dialup''. Порт включен (``on'') и небезопасен (``insecure''), - что означает, что попытки войти в систему пользователем root с этого - порта будут отвергнуты. Для портов, обслуживающих входящие звонки, - как этот, используйте устройства ttydX. - + +ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + - -Использование слова ``dialup'' в качестве имени терминала является - обычной практикой. Многие пользователи включают в свои файлы - .profile или .login скрипты для задания реального типа терминала, если - начальным является тип dialup. В примере порт описан небезопасным. - Чтобы войти администратором на этом порту, вам нужно войти обычным - пользователем, а затем командой ``su'' стать - пользователем root. Если порт имеет атрибут ``secure'', то - пользователь root может входить с этого порта непосредственно. - + В этой строке указано, что ко второму последовательному порту + (/dev/ttyd1) подключен модем на скорости 57600 bps без + контроля по чётности (std.57600, что берётся из файла + /etc/gettytab). + Тип терминала для этого порта определён как dialup. + Порт включен (on) и небезопасен + (insecure), что означает, что попытки войти в систему + пользователем root с этого порта будут отвергнуты. Для портов, + обслуживающих входящие звонки, как этот, используйте устройства вида + ttydX. + + Использование слова dialup в качестве имени + терминала является обычной практикой. Многие пользователи включают в свои + файлы .profile или .login скрипты для задания реального типа терминала, если + начальным является тип dialup. В примере порт описан небезопасным. + Чтобы войти пользователем root на этом порту, вам + нужно сначала войти обычным пользователем, а затем командой + su стать пользователем root. Если + порт имеет атрибут secure, то пользователь + root может входить с этого порта + непосредственно. - После модифицирования /etc/ttys, вам нужно послать сигнал потери связи или HUP процессу init: - - - kill -HUP 1 - - - - -Это заставит процесс init снова прочитать файл /etc/ttys. - Процесс init запустит процессы getty для всех включенных портов. - Вы можете проверить, доступны ли входы с конкретного порта, выполнив - команду - - - ps -ax | grep '[t]tyd1' - - - + +&prompt.root; kill -HUP 1 + + + Это заставит процесс init снова прочитать файл /etc/ttys. + Процесс init запустит процессы getty для всех портов с характеристикой + on. Вы можете проверить, доступны ли входы с + конкретного порта, выполнив команду + + +&prompt.user; ps -ax | grep '[t]tyd1' + + + Вы должны увидеть нечто вроде следующего: + + +747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + + + + - -Вы должны увидеть нечто вроде следующего: - - - 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 - - - - Как подключить терминал к FreeBSD? @@ -8859,108 +9309,107 @@ id="serial"> терминала для FreeBSD, соедините их послежовательные порты нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его документации. - - Затем модифицируйте файл /etc/ttys описанным выше способом. Например, если вы подключаете терминал WYSE-50 к пятому последовательному порту, используйте такую строчку: - - - ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure - - - - -В этом примере описан порт на /dev/ttyd4, имеющий - терминал wyse50, подключенный на скорости 34800 bps без контроля по - четности (std.38400 из /etc/gettytab) и разрешён непосредственный вход пользователя - root (secure). - + +ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure + - - + В этом примере описан порт на /dev/ttyd4, имеющий + терминал wyse50, подключенный на скорости 34800 bps без контроля по + четности (std.38400 из /etc/gettytab) и + разрешён непосредственный вход пользователя root + (secure). - -Почему не удаётся запустить tip или cu? + + -Скорее всего, в вашей системе запуск программ tip и cu разрешён только - пользователю uucp и членам группы dialer. Вы можете использовать - группу dialer для управления доступом к вашему модему или - удалённым системам. Достаточно добавить пользоватея в группу dialer. - - -Вы можете разрешить всем пользователям вашей системы запускать - tip и cu, выполнив команды: - - - # chmod 4511 /usr/bin/cu - # chmod 4511 /usr/bin/tip - - - + + + Почему не удаётся запустить tip или + cu? + + + + + Скорее всего, в вашей системе запуск программ tip и cu разрешён только + пользователю uucp и членам группы + dialer. Вы можете использовать группу + dialer для управления доступом к вашему модему или + удалённым системам. Достаточно добавить пользоватея в группу + dialer. + + Вы можете разрешить всем пользователям вашей системы запускать + tip и cu, выполнив команды: + + +&prompt.root; chmod 4511 /usr/bin/cu +&prompt.root; chmod 4511 /usr/bin/tip + + + + - - Мой модем Hayes не поддерживается---что можно сделать? -На самом деле страница справочника о программе tip устарела. - Модемы Hayes поддерживаются системой. Просто добавьте - ``at=hayes'' в ваш файл /etc/remote. - + На самом деле страница Справочника о программе tip устарела. Модемы + Hayes поддерживаются системой. Просто добавьте + at=hayes в ваш файл /etc/remote. - -Драйвер модемов Hayes не достаточно умён, чтобы поддерживать - некоторые из новых возможностей современных модемов---сообщения - типа BUSY, NO DIALTONE, или CONNECT 115200 будут - приводить его в замешательство. Вы должны выключить вывод таких - сообщений при использовании программы tip (командой - ATX0&W). - + Драйвер модемов Hayes не достаточно умён, чтобы поддерживать + некоторые из новых возможностей современных модемов---сообщения + типа BUSY, NO DIALTONE или + CONNECT 115200 будут приводить его в замешательство. Вы + должны выключить вывод таких сообщений при использовании программы tip (командой + ATX0&W). - -Таймаут по умолчанию для программы tip равен 60 секундам. - Ваш модем должен использовать меньшее значение, иначе tip будет - думать, что у вас проблемы со связью. Попробуйте ATS7=45&W. - + Кроме того, значение таймаута по умолчанию для программы + tip равен 60 секундам. Ваш модем должен использовать + меньшее значение, иначе tip будет думать, что у вас проблемы со связью. + Попробуйте ATS7=45&W. - На самом деле tip в том виде, каком поставляется, не поддержимает можемы Hayes полностью. Решением является редактирование файла tipconf.h в каталоге /usr/src/usr.bin/tip/tip. Чтобы это сделать, вам нужен дистрибутив исходных текстов системы. - - -Замените строку ``#define HAYES 0'' на ``#define HAYES - 1''. Затем выполните ``make'' и ``make install''. После - этих действий всё работает замечательно. - + Замените строку #define HAYES 0 на #define + HAYES 1. Затем выполните команды make и + make install. После этих действий всё работает + замечательно. + + + - - Как я должен ввести эти AT-команды? -Создайте так называемое ``прямое'' описание в вашем файле - /etc/remote. Например, если ваш модем подключен к первому - последовательному порту, /dev/cuaa0, сделайте такую строку: - - - cuaa0:dv=/dev/cuaa0:br#19200:pa=none - - - + Создайте так называемое прямое описание в вашем файле + /etc/remote. + Например, если ваш модем подключен к первому последовательному порту, + /dev/cuaa0, сделайте такую строку: + + +cuaa0:dv=/dev/cuaa0:br#19200:pa=none + - Укажите максимальную скорость обмена с портом, поддерживаемую модемом в параметре br. Затем выполните команду tip cuaa0 и вы подключитесь к модему. @@ -8969,127 +9418,124 @@ id="direct-at"> Если в вашей системе нет устройства /dev/cuaa0, сделайте следующее: - - - # cd /dev - # ./MAKEDEV cuaa0 - - - - + +&prompt.root; cd /dev +&prompt.root; sh MAKEDEV cuaa0 + + Или используйте cu, войдя администратором, с такими параметрами: - - - # cu -l``line'' -s``speed'' - - - - -где line - это имя последовательного порта (например, - /dev/cuaa0), а speed - скорость работы модема с портом - (например, 57600). После ввода AT-команд, наберите - ~. для завершения работы. - + +&prompt.root; cu -lline -sspeed + - - + где line - это имя последовательного порта (например, + /dev/cuaa0), а speed - скорость работы модема с портом + (например, 57600). После ввода AT-команд, наберите + ~. для завершения работы. - -Знак <@> для описания характеристики pn - не работает! + + + + + + + Знак <@> для описания характеристики pn + не работает! + + + + + + Знак <@> в характеристике, описывающей + номер телефона, указывает программе tip обратиться к файлу + /etc/phones для поиска телефонного номера. Однако + знак <@> является также и специальным символом в + файлах описания характеристик типа /etc/remote. + Экранируйте его символом обратного слэша: + + pn=\@ + + + -Знак <@> в характеристике, описывающей - номер телефона, указывает программе tip обратиться к файлу /etc/phones - для поиска телефонного номера. Однако знак <@> является также и специальным символом в файлах - описания характеристик типа /etc/remote. - Экранируйте его символом обратного слэша: - - - pn=\@ - - - - Как набрать телефонный номер из командной строки? -Поместите так называемое ``общее'' описание в ваш файл - /etc/remote. Например: - - - 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: - - - + Поместите так называемое общее описание в ваш файл + /etc/remote. + Например: - -Тогда вы сможете выполнять команды вроде ``tip -115200 - 5551234''. Если предпочитаете программу cu, а не tip, используйте общее описание для cu: - - - cu115200|Use cu to dial any number at 115200bps:\ + +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: + + + Тогда вы сможете выполнять команды вроде tip -115200 + 5551234. Если предпочитаете программу cu, а не tip, используйте + общее описание для cu: + + +cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - - - + - -и выполняйте команду ``cu 5551234 -s 115200''. - + и выполняйте команду cu 5551234 -s 115200. + + + - - Нужно ли при этом каждый раз задавать скорость работы с портом? -Создайте описание для tip1200 или cu1200, но не - останавливайтесь на этом и используйте подходящую скорость - при задании характеристики br. Tip полагает, - что хорошим значением по умолчанию является 1200 bps, поэтому он - использует описание для ``tip1200''. Однако вас никто не - заставляет использовать именно эту скорость. - - + Создайте описание для tip1200 или + cu1200, но не останавливайтесь на этом и используйте + подходящую скорость при задании характеристики br. Tip полагает, + что хорошим значением по умолчанию является 1200 bps, поэтому он + использует описание для tip1200. Однако вас никто не + заставляет использовать именно эту скорость. + + + + Мне нужно иметь доступ к нескольких хостам через терминальный сервер. -Вместо того, чтобы каждый раз ожидать подключения к терминальному - серверу, а затем набирать команду ``CONNECT <host>'', - используйте характеристику cm программы tip. Например, вот такое - описание в файле /etc/remote: - - - 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: - - - + Вместо того, чтобы каждый раз ожидать подключения к терминальному + серверу, а затем набирать команду CONNECT + host, используйте характеристику + cm программы tip. Например, вот такое описание в файле + /etc/remote: - -позволит вам просто набрать ``tip pain'' или - ``tip muffin'' для подключения к хостам pain или muffin и - ``tip deep13'' для доступа к терминальному серверу. - + +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: + + + позволит вам просто набирать tip pain или + tip muffin для подключения к хостам + pain или muffin и + tip deep13 для доступа к терминальному серверу. + + + - - Может ли tip использовать несколько телефонов для одного сайта? @@ -9099,131 +9545,123 @@ id="direct-at"> модемных входов и несколько тысяч студентов, пытающихся ими воспользоваться... -Создайте описание для вашего университета в файле /etc/remote и - используйте символ <\@> при задании - характеристики pn: - - - big-university:\ - :pn=\@:tc=dialout - dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: - - - + Создайте описание для вашего университета в файле /etc/remote и + используйте <\@> при задании + характеристики pn: + + +big-university:\ + :pn=\@:tc=dialout +dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: + - После этого пропишите номера телефонов университета в файле /etc/phones: - - - big-university 5551111 - big-university 5551112 - big-university 5551113 - big-university 5551114 - - - - -Tip будет пытаться воспользоваться всеми телефонными номерами - в указанном порядке, прежде чем завершить работу. Если вы хотите, - чтобы попытки были продолжены, запустите tip в цикле while. - + +big-university 5551111 +big-university 5551112 +big-university 5551113 +big-university 5551114 + + + Tip будет + пытаться воспользоваться всеми телефонными номерами в указанном порядке, + прежде чем завершить работу. Если вы хотите, чтобы попытки были + продолжены, запустите tip в цикле while. + + + - - Почему нужно нажимать CTRL+P дважды для посылки одного этого символа? -По умолчанию CTRL+P является специальным символом ``принудительного - ввода'', используемым для указания программе tip, что - следующий символ является байтом данных. Вы можете назначить - функцию символа принудительного ввода любому другому символу с помощью - команды ~s, которая предназначена для ``установки значений - переменных''. - + По умолчанию CTRL+P является специальным символом принудительного + ввода, используемым для указания программе tip, что + следующий символ является байтом данных. Вы можете назначить + функцию символа принудительного ввода любому другому символу с помощью + команды ~s, которая предназначена для установки + значений переменных. - -Наберите ``~sforce=<single-char>'' с начала новой - строки. Здесь <single-char> - любой одиночный символ. - Если вы не зададите <single-char>, то символом - принудительного ввода будет нулевой символ, который можно получить, - набрав CTRL+2 или CTRL+SPACE. Подходящим значением для - <single-char> может быть SHIFT+CTRL+6, который используется - только некоторыми терминальными серверами. - + Наберите + ~sforce=single-char'' с + начала новой строки. Здесь под single-char + имеется в виду любой одиночный символ. Если вы не зададите + single-char, то символом + принудительного ввода будет нулевой символ, который можно получить, + набрав CTRL+2 или CTRL+SPACE. Подходящим значением для + single-char может быть SHIFT+CTRL+6, который + используется только некоторыми терминальными серверами. - -Вы можете задать любое значение для символа принудительного ввода, - указав его в вашем файле $HOME/.tiprc: - - - force=<single-char> - - - + Вы можете задать любое значение для символа принудительного ввода, + указав его в вашем файле $HOME/.tiprc: + + +force=single-char + + + + - - Неожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ? -Должно быть, вы нажали CTRL+A, символ перехода в верхний регистр - программы tip, специально предназначенный для тех, у кого не работает - клавиша caps-lock. Используйте команду ~s, как это было сделано - выше, и установите значение переменной ``raisechar'' во что-нибудь - подходящее. В действительности вы можете установить его равным - символу принудительного ввода, если не собираетесь пользоваться этими - особенностями. - + Должно быть, вы нажали CTRL+A, символ перехода в верхний + регистр + программы tip, + специально предназначенный для тех, у кого не работает клавиша caps-lock. + Используйте команду ~s, как это было сделано + выше, и установите значение переменной raisechar во + что-нибудь подходящее. В действительности вы можете установить его равным + символу принудительного ввода, если не собираетесь пользоваться этими + особенностями. - -Следующий пример файла .tiprc должен понравиться пользователям - редактора Emacs, которым часто приходится нажимать CTRL+2 и CTRL+A: - - - force=^^ - raisechar=^^ - - - + Следующий пример файла .tiprc должен понравиться пользователям + редактора Emacs, которым часто приходится нажимать CTRL+2 и CTRL+A: - -Здесь ^^ это SHIFT+CTRL+6. - + +force=^^ +raisechar=^^ + - - + Здесь ^^ обозначает SHIFT+CTRL+6. - - Как можно передавать файлы с помощью программы tip? - + + -Если вы соединились с другой UNIX-системой, вы можете посылать и - принимать файлы командами ~p (передача) и ~t (приём). Эти - команды запускают программы cat и echo на - удалённой системе, чтобы принять и послать файлы. Синтаксис вызова - имеет такой вид: - - - ~p <local-file> [<remote-file>] - ~t <remote-file> [<local-file>] - - - - -Контроль ошибок передачи при этом не осуществляется, так что вам - может понадобиться другой протокол передачи, например, zmodem. - + + + Как можно передавать файлы с помощью программы + tip? + + + Если вы соединились с другой UNIX-системой, вы можете посылать и + принимать файлы командами ~p (передача) и + ~t (приём). Эти + команды запускают программы cat и echo на + удалённой системе, чтобы принять и послать файлы. Синтаксис вызова + имеет такой вид: + + +~p <local-file> [<remote-file>] +~t <remote-file> [<local-file>] + + + Контроль ошибок передачи при этом не осуществляется, так что вам + может понадобиться другой протокол передачи, например, zmodem. + + + - - Как использовать zmodem вместе с tip? @@ -9232,24 +9670,22 @@ id="direct-at"> zmodem из коллекции портов (там есть парочка в категории comms, lrzsz и rzsz). - - -Для приёма файлов запустите программу передачи на противоположной - стороне. Затем нажмите enter и наберите ``~C rz'' (или - ``~C lrz'', если у вас установлеи lrzsz) для начала приёма их на - локальную машину. - + Для приёма файлов запустите программу передачи на противоположной + стороне. Затем нажмите enter и наберите ~C rz (или + ~C lrz, если у вас установлен + lrzsz) для начала приёма их на + локальную машину. - -Для посылки файлов, запустите программу приёма на противоположной - стороне. Затем нажмите enter и наберите ``~C sz <files>'' - (или ``~C lsz <files>'') для посылки их на удалённую - систему. - + Для посылки файлов, запустите программу приёма на противоположной + стороне. Затем нажмите enter и наберите + ~C sz files (или + ~C lsz files) для посылки + файлов на удалённую систему. + + + - - FreeBSD не распознаёт последовательные порты на моей машине, хотя @@ -9292,98 +9728,131 @@ id="misc"> - - Почему используются (и что из себя представляют) форматы выполнимых - файлов a.aut и ELF? - -Для понимания того, почему FreeBSD использует формат a.out, - вы должны сначала получить представление о трёх "основных" форматах - выполнимых файлов для UNIX: + + + Почему утилита &man.top.1; показывает очень маленький объём + свободной памяти, даже когда запущено всего лишь несколько + приложений? + + + + + Просто дело в том, что под свободной памятью подразумевается никак не + используемая память. Вся память, которая вашей программе явно не + выделялась, используется ядром FreeBSD для дискового кэша. + Значения, показываемые утилитой &man.top.1;, помеченные как + Inact, Cache и Buf + - это всё кэшированные данные разных степеней устаревания. То, что данные + находятся в кэше, означает, что система не будет обращаться к медленному + диску снова за теми данными, обращение к которым было недавно, повышая таким + образом общую производительность. В общем случае маленькие значения в + пункте Free, показываемые утилитой &man.top.1; для + свободной памяти - это хорошо, если, конечно они не + очень маленькие. + + + + + + + + Почему используются (и что из себя представляют) форматы выполнимых + файлов a.aut и ELF? + + + + + Для понимания того, почему FreeBSD использует формат + ELF, вы должны сначала получить представление о трёх + доминирующих форматах выполнимых файлов для UNIX: + + + + До FreeBSD версии 3.x, во FreeBSD использовался формат + a.out. + + + + + + + a.out + + Это самый старый, классический формат объектных + файлов для UNIX. В нём используется короткий и компактный заголовок + с магическим числом в начале, которое часто используется для + определения формата (за подробным описанием обратитесь к странице + Справочника о a.out(5)). + Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу + символов и таблицу строк. + + + + COFF + + Это формат объектных файлов SVR3. Дополнительно в заголовок + включена таблица секций, так что вы можете иметь их больше, чем только + .text, .data и .bss. + + + + ELF + + Преемник COFF, в который добавлены возможности + иметь много секций и 32- или 64-разрядные значения. Один большой + минус: ELF был спроектирован также в + предположении, что для каждой аппаратной платформы будет существовать + только один ABI. Это предположение достаточно некорректно, и даже в + мире коммерческих реализаций SYSV (в котором имеется по крайней мере + три ABI: SVR4, Solaris и SCO) это не так. + + FreeBSD каким-то образом пытается решить эту проблему, + предоставляя утилиту для пометки конкретного + выполнимого файла ELF с информацией о ABI, с + которым он совместим. Обратитесь к странице Справочника об утилите + brandelf + за подробной информацией. + + + - - + FreeBSD выросла на классических традициях и традиционно + использовала формат a.out, + технологию, опробованную и проверенную во многих вариациях BSD. Хотя давно + уже можно было компилировать и выполнять родные выполнимые файлы (и ядро) в + формате ELF, FreeBSD с самого начала сопротивлялась + переходу на ELF как на формат, используемый по + умолчанию. Почему? Когда мир Linux делал болезненный переход к + ELF, причин отвергнуть формат a.out + было не так уж и много, разве что их негибкий механизм работы с совместно + используемыми библиотеками, который был основан на таблице переходов, что + делало построение таких библиотек очень затруднительным для разработчиков. + Так как средства работы с ELF предоставляли решение этой + проблемы и это было в общем-то шагом вперёд в любом случае, + цена перехода была признана стоящей того и переход был сделан. - -a.out - + В случае FreeBSD, наш механизм работы с совместно используемыми + библиотеками очень похож на механизм, применяемый в SunOS, поэтому его очень легко использовать. Однако, + начиная с 3.0, FreeBSD официально поддерживает ELF как + формат, используемый по умолчанию. И, хотя формат + a.out поддерживается в полной мере, разработчики из + проекта GNU, являющиеся авторами компилятора, который мы используем, больше + не поддерживают формат a.out. Это заставило нас + поддерживать различные версии компилятора и компоновщика, и не позволило + воспользоваться всеми возможностями последних разработок GNU. + Потребность в наличии реализации ISO-C++, в основном конструкторов и + деструкторов, также привела к поддержке ELF в будущих + релизах FreeBSD. -Это самый старый, `классический' формат объектных файлов для UNIX. В - нём используется короткий и компактный заголовок с магическим числом в - начале, которое часто используется для определения формата (за подробным - описанием обратитесь к странице Справочника о a.out(5)). - Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу - символов и таблицу строк. + + - - - -COFF - - -Это формат объектных файлов SVR3. Дополнительно в заголовок - включена таблица секций, так что вы можете иметь их больше, чем только - .text, .data и .bss. - - - -ELF - - -Преемник COFF, в который добавлены возможности иметь много - секций и 32- или 64-разрядные значения. Один большой минус: - ELF был спроектирован также в предположении, что для каждой - аппаратной платформы будет существовать только один ABI. Это - предположение достаточно некорректно, и даже в мире коммерческих - реализаций SYSV (в котором имеется по крайней мере три ABI: SVR4, - Solaris и SCO) это не так. - - - -FreeBSD каким-то образом пытается решить эту проблему, предоставляя - утилиту для пометки конкретного выполнимого файла - ELF с информацией о ABI, с которым он совместим. - Обратитесь к странице Справочника об утилите - brandelf - за подробной информацией. - - - - - -FreeBSD выросла на "классических" традициях и традиционно использовала - формат - a.out, - технологию, опробованную и проверенную во многих - вариациях BSD. Хотя давно уже можно было компилировать и выполнять - родные выполнимые файлы (и ядро) в формате ELF, FreeBSD с самого - начала сопротивлялась переходу на ELF как на формат, используемый - по умолчанию. Почему? Когда мир Linux делал болезненный переход к - ELF, причин отвергнуть формат a.out было не так уж и много, - разве что их негибкий механизм работы с совместно используемыми - библиотеками, который был основан на таблице переходов, что делало - построение таких библиотек очень затруднительным для разработчиков. - Так как средства работы с ELF предоставляли решение этой проблемы - и это было в общем-то "шагом вперёд" в любом случае, цена перехода была - признана стоящей того и переход был сделан. - - - -В случае FreeBSD, наш механизм работы с совместно используемыми - библиотеками очень похож на механизм, применяемый в SunOS, - поэтому его очень легко использовать. Однако, начиная с 3.0, FreeBSD - официально поддерживает ELF как формат, используемый по умолчанию. - И, хотя формат a.out поддерживается в полной мере, разработчики - из проекта GNU, являющиеся авторами компилятора, который мы используем, - больше не поддерживают формат a.out. Это заставило нас поддерживать - различные версии компилятора и компоновщика, и не позволило - воспользоваться всеми возможностями последних разработок GNU. - Потребность в наличии реализации ISO-C++, в основном конструкторов и - деструкторов, также привела к поддержке ELF в будущих релизах - FreeBSD. - - Да, но почему так много разных форматов? @@ -9489,37 +9958,38 @@ id="misc"> Однако права на файл foo не изменятся. - Чтобы это работало, используйте опции ``'' или - ``'' вместе с опцией ``''. + Чтобы это работало, используйте опции или + вместе с опцией . Обратитесь к страницам Справочника по команде chmod и по symlink. - ПРЕДУПРЕЖДЕНИЕ опция - ``'' выполняет команду chmod РЕКУРСИВНО. Будьте - осторожны, задавая каталоги или символические ссылки на каталоги в - параметрах chmod. Если вы хотите изменить - права на каталог, на который указывает символическая ссылка, используйте - chmod - без опций и следуйте символической ссылке с помощью лидирующего слэша - (``/''). Например, если ``foo'' является символической ссылкой на каталог - ``bar'', а вы хотите изменить права на - ``foo'' (на самом деле ``bar''), вы должны выполнить команду - типа следующей: + + + Опция выполняет команду chmod РЕКУРСИВНО. Будьте + осторожны, задавая каталоги или символические ссылки на каталоги в + параметрах chmod. Если вы хотите изменить + права на каталог, на который указывает символическая ссылка, используйте + chmod + без опций и следуйте символической ссылке с помощью лидирующего слэша + (/). Например, если foo + является символической ссылкой на каталог bar, а + вы хотите изменить права на foo (на самом деле + bar), вы должны выполнить команду + типа следующей: - - chmod 555 foo/ - + +&prompt.user; chmod 555 foo/ + + + Если задан лидирующий слэш, chmod будет + следовать символической ссылке, foo, меняя права + на каталог bar. + - Если задан лидирующий слэш, - chmod будет - следовать символической ссылке, ``foo'', - меняя права на каталог ``bar''. - @@ -9529,18 +9999,17 @@ id="misc"> 8 символами? -Наверное, вы думаете, что достаточно будет изменить значение - константы UT_NAMESIZE, перекомпилировать полностью систему - и всё будет работать. К несчастью, часть приложений и утилит (включая - системные) имеют жёстко заданные малые значения (не всегда "8" или - "9", но и такие странные, как "15" или "20") в структурах и буферах. - Это приведёт не только к порче файлов журналов (из-за записи полей - переменного размера там, где ожидается поле фиксированного размера), но - может повлиять на работу клиентов системы Sun NIS и может в принципе - вызвать другие проблемы при взаимодействии с другими системами UNIX. - + Наверное, вы думаете, что достаточно будет изменить значение + константы UT_NAMESIZE, перекомпилировать полностью + систему и всё будет работать. К несчастью, часть приложений и утилит + (включая системные) имеют жёстко заданные малые значения (не всегда + 8 или 9, но и такие странные, как + 15 или 20) в структурах и буферах. + Это приведёт не только к порче файлов журналов (из-за записи полей + переменного размера там, где ожидается поле фиксированного размера), но + может повлиять на работу клиентов системы Sun NIS и может в принципе + вызвать другие проблемы при взаимодействии с другими системами UNIX. - Во FreeBSD 3.0 и старше, максимальная длина имени была увеличена до 16 символов и все утилиты с предопределённым размером имени были найдены и исправлены. Так как это касается столь многих областей в @@ -9580,9 +10049,12 @@ id="misc"> - - Что такое ``sup'' и как это можно использовать? - + + + Что такое sup и как это можно использовать? + + + Сокращение SUP означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для @@ -9601,236 +10073,357 @@ id="misc"> В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания FreeBSD. Наверное, он сильно греется. - - -О. Нет, но мы сделали различные вкусовые тесты у добровольцев с - завязанными глазами, которые до этого приняли по 250 микрограмм - LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, - тогда как вкус Linux расценивался как фиолетовый туман. Насколько - я помню, ни одна из групп не отметила значительной разницы в - температуре. Вы хотели опубликовать полные результаты этого опроса, - когда обнаружиди, что слишком много добровольцев покинули помещение - во время тестов, что несколько смазало результаты. Я думаю, что - большинство из них работают сейчас в Apple над их новым GUI - ``чеши и нюхай''. Это старый добрый бизнес! - + О. Нет, но мы сделали различные вкусовые тесты у добровольцев с + завязанными глазами, которые до этого приняли по 250 микрограмм + LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, + тогда как вкус Linux расценивался как фиолетовый туман. Насколько + я помню, ни одна из групп не отметила значительной разницы в + температуре. Вы хотели опубликовать полные результаты этого опроса, + когда обнаружиди, что слишком много добровольцев покинули помещение + во время тестов, что несколько смазало результаты. Я думаю, что + большинство из них работают сейчас в Apple над их новым GUI + чеши и нюхай. Это старый добрый бизнес! - -Серьёзно, и FreeBSD, и Linux используют инструкцию ``HLT'' - (halt), когда система простаивает, что уменьшает потребление энергии - и в свою очередь, выделение тепла. Вдобавок, если у вас настроен - APM (автоматическое управление энергопотреблением), то FreeBSD - может переводить процессор в режим пониженного энергопотребления. - + Серьёзно, и FreeBSD, и Linux используют инструкцию + HLT (halt), когда система простаивает, что уменьшает + потребление энергии и в свою очередь, выделение тепла. Вдобавок, если у + вас настроен APM (комплексное управление энергопотреблением), то FreeBSD + может переводить процессор в режим пониженного энергопотребления. - - + + - -Кто там скребётся в микросхемах памяти?? -В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что - вызывает поскрипывание микросхем памяти? При компиляции (и в короткий - промежуток времени после обнаружения дисковода при старте системы) - от микросхем памяти исходит странный царапающий звук. - + + + Кто там скребётся в микросхемах памяти?? + - -О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в - документации по BSD, но не многие знают, что это настоящие нематериальные - существа, которые теперь завладели вашим компьютером. Царапающий звук, - издаваемый микросхемами памяти - это на самом деле высокочастотное - перешёптывание между даемонами, когда они решают, как лучше справиться - с различными задачами по администрированию системы. - + - -Если шум достиг ваших ушей. команда DOS ``fdisk /mbr'' - их спугнёт, но не удивляйтесь, если они отреагируют соответствующим - образом и попытаются вас остановить. Фактически, если во время - выполнения этой команды вы услышите сатанинский голос Билла Гейтса из - встроенного динамика, бегите и даже не оглядывайтесь! Избавленные - от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто - могут захватить полный контроль не только над вашей машиной и - навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я - думаю, что предпочту царапающий звук. - + В. Делает ли FreeBSD что-нибудь эдакое при компиляции + ядра, что вызывает поскрипывание микросхем памяти? При компиляции (и в + короткий промежуток времени после обнаружения дисковода при старте системы) + от микросхем памяти исходит странный царапающий звук. - - + О. Да! Вы, наверное, видели частое упоминание даемонов + в документации по BSD, но не многие знают, что это настоящие нематериальные + существа, которые теперь завладели вашим компьютером. Царапающий звук, + издаваемый микросхемами памяти - это на самом деле высокочастотное + перешёптывание между даемонами, когда они решают, как лучше справиться + с различными задачами по администрированию системы. - -Что такое 'MFC'? + Если шум достиг ваших ушей, команда DOS fdisk /mbr + их спугнёт, но не удивляйтесь, если они отреагируют соответствующим + образом и попытаются вас остановить. Фактически, если во время + выполнения этой команды вы услышите сатанинский голос Билла Гейтса из + встроенного динамика, бегите и даже не оглядывайтесь! Избавленные + от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто + могут захватить полный контроль не только над вашей машиной и + навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я + думаю, что предпочёл бы царапающий звук. -MFC это сокращение от 'Merged From -CURRENT.' Оно используется в - протоколах изменений CVS для отметки того, что изменение было - перенесено в ветвь STABLE из CURRENT. - + + - - - -Что означает сокращение 'BSD'? + + + Что такое MFC? + -Это сокращение значит что-то на секретном языке, который могут знать - только посвящённые. Это нельзя перевести один к одному, однако - достаточно сказать, что перевод с BSD - это что-то между 'Команда - Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем - Linux.' :-) - -Если серьёзно, то BSD является сокращением от 'Berkeley Software - Distribution', названия, которое было выбрано Berkeley CSRG (Computer - Systems Research Group) для их дистрибутива Unix. - - + - -Сколько требуется разработчиков FreeBSD, чтобы сменить лампочку? - + MFC - это сокращение от Merged From -CURRENT. Оно + используется в протоколах изменений CVS для отметки того, что изменение + было перенесено в ветвь STABLE из CURRENT. -Необходимо иметь ровно одну тысячу сто семьдесят два разработчика: - -Двадцать три сообщат в -CURRENT о том, что не горит свет; - -Четыре начнут утверждать, что это проблема конфигурации и такие - сообщения нужно посылать в -questions; - -Трое оформят PR по этому поводу, причём одно их них будет направлено - в doc и будет содержать только строчку "здесь темно"; - -Один закоммитит неоттестированную лампочку, что сломает построение - системы, а затем через пять минут вернёт все назад; - -Восемь поругаются с авторами PR по поводу включения патчей в PR; - -Пять сообщат о том, что не проходит компиляция системы; - -Тридцать один человек ответит, что у них всё работает и наверное, те - выполняли cvsup в неподходящее время; - -Один пошлёт патч для новой лампочки в -hackers; - -Один пожалуется, что у него имелись патчики ещё три года назад, - но когда он послал их в -CURRENT, они были проигнорированы и он имел - неудачный опыт работы с системой PR; кроме того предлагаемая лампочка - не имеет отражателя. - -Тридцать семь начнут кричать, что лампочки не относятся к базовой - системе, что коммиттеры не имеют права делать такие вещи без опроса - обшественности и ЧТО ВООБЩЕ -CORE ДЕЛАЕТ ПО ЭТОМУ ПОВОДУ? - -Две сотни напишут о цвете велосипедных фар; - -Трое скажут, что этот патч не соответствует style(9); - -Семнадцать возразят, что предлагаемая новая лампа подпадает под - лицензию GPL; - -Пятьсот восемьдесят шесть раздуют флэйм по поводу сравнения - лицензий GPL, BSD, MIT, NPL и личных мнений о неизвестных основателей - FSF; - -Семеро пошлют различные части этих обсуждений в -chat и - -advocacy; - -Один закоммитит предлагаемую лампу, хотя она светит хуже, чем - старая; - -Двое откатят эти изменения с ужасной руганью в журнале коммита - о том, что лучше FreeBSD будет сидеть в темноте, чем с тусклой лампой. - -Сорок шесть громко воспротивятся этому изменению и потрубуют - объяснений от -core; - -Одиннадцать попросят уменьшить размер лампочки, чтобы она подошла - к их Тамагочи на случай, если мы когда-нибудь соберёмся переносить - FreeBSD на эту платформу; - -Семьдесят три заявят о SNR в -hackers и -chat и в знак протеста - отпишутся; - -Тринадцать пошлют письма "unsubscribe", "How do I unsubscribe?", - и "Please remove me from the list" с обычной подписью; - -Один закоммитит работающую лампочку в то время, как все будут - слишком заняты руганью, чтобы это заметить; - -Тридцать один человек напишет, что новая лампочка будет светить на - 0.364% ярче, если её откомпилировать с помощью TenDRA (хотя при этом - она приобретёт форму куба) и что FreeBSD должна перейти на компилятор - TenDRA, а не на EGCS; - -Один заметит, что у лампочки отсутствует цоколь; - -Девять (включая авторов PR) спросят "что такое MFC?"; - -Спустя две недели после смены лампочки пятьдесят семь человек сообщат - о том, что света всё равно нет. - -Ник Клэйтон (Nik - Clayton) добавил: - -Я сильно смеялся над всем этим. - -И тогда я подумал, "Постойте-ка, найдётся ли кто-нибудь, - чтобы задокументировать это где-нибудь?" - -И на меня снизошло озарение :-) + + -Авторские права на этот параграф: Copyright © 1999 Dag-Erling Coidan Smorgrav. - Пожалуйста, не воспроизводите этот материал без указания авторских - прав. - + + + Что означает сокращение BSD? + + + + + Это сокращение значит что-то на секретном языке, который могут знать + только посвящённые. Это нельзя перевести один к одному, однако + достаточно сказать, что перевод с BSD - это что-то между Команда + Formula-1, Пингвины - это вкусные плюшки и Мы + прикольнее, чем Linux. :-) + + Если серьёзно, то BSD является сокращением от Berkeley Software + Distribution, названия, которое было выбрано Berkeley + CSRG (Computer Systems Research Group) для их + дистрибутива Unix. + + + + + + + + Что такое repo-copy? + + + + + repo-copy (что является краткой формой от repository + copy) обозначает прямое копирование файлов внутри репозитория + CVS. + + Без repo-copy, если есть необходимость скопировать или переместить + файл в другое место репозитория, то коммиттер должен выполнять команды + cvs add для помещения файла на новое место, а затем + cvs rm, чтобы удалить старый файл, если старая копия + должна быть удалена. + + Минусом этого метода является то, что история (то есть записи в + журналах CVS) работы с файлом не копируются в новое место. Так как + Проект FreeBSD осознаёт важность сохранения истории, вместо описанного + процесса зачастую используется копирование в репозитории. Это действие + заключается в том, что один из хозяев репозитория копирует файлы + непосредственно внутри репозитория, не пользуясь командами + cvs. + + + + + + + + Почему я должен беспокоиться о цвете фар велосипеда? + + + + + На самом деле краткий, очень краткий ответ на этот вопрос заключается в + том, что вы этого делать не должны. Если давать более подробный ответ, + то ваше умение делать фары не должно означать, что вы должны препятствовать + другим делать их просто потому, что вам не нравится цвет, в который + они собираются их окрашивать. Эта метафора означает, что вам не нужно + обсуждать каждую мелочь просто потому, что вы знаете о ней + достаточно много. Некоторые люди отмечают, что объём шума, генерируемый + при появлении некоторого изменения, находится в обратной зависимости от + сложности самого изменения. + + Более пространный и полный ответ заключается в том, что после очень + долгого обсуждения того, должна ли утилита &man.sleep.1; обрабатывать + дробное число, заданное в качестве второго аргумента, &a.phk; + опубликовал большое сообщение, озаглавленное + Велосипедная фара (любого цвета) на зелёной траве.... + Соответствующие части этого сообщения цитируются ниже. + +
+ &a.phk; on freebsd-hackers, + October 2, 1999 + + Что там насчёт этой велосипедной фары? Кто-то + из вас меня спрашивал. + + Это долгая история, или же это старая история, но на самом деле + она коротка. В начале 1960-х годов Паркинсон (C. Northcote Parkinson) + написал книгу Закон Паркинсона, которая содержит много + интересных взглядов на процесс управления. + + [немного выдержек из краткого содержания книги] + + В конкретном примере с велосипедной фарой другим важным объектом + является атомная электростанция. Я полагаю, что это иллюстрирует + древность книги. + + Паркинсон показал, что вы можете прийти на совещание руководителей + и получить добро на строительство многомиллионной или даже + многомиллиардной атомной электростанции, но если вы хотите получить + финансирование производства велосипедных фар, то погрязнете в + бесконечных обсуждениях. + + Паркинсон объясняет это тем, что атомная станция настолько большой, + дорогой и сложный объект, что люди не могут его осознать и вместо того, + чтобы попробовать это сделать, они полагаются на то, что кто-то уже + проверил все мелочи до того, как всё зашло так далеко. В своей книге + Ричард П. Фейнманн (Richard P. Feynmann) даёт несколько интересных и + очень поучительных примеров, связанных с Лос Аламос. + + Велосипедная фара - это противоположный случай. Любой может + сделать фару за один уикэнд, и у него ещё останется время посмотреть + футбол по телевизору. Так что не важно, насколько хорошо вы готовились + к обсуждению, насколько убедительны будут ваши аргументы, кто-нибудь + воспользуется шансом показать, что он не зря ест свой хлеб, что он + обращает внимание, что он здесь. + + В Дании это называется оставить отпечаток своего + пальца. Это касается личной гордости и престижа, это похоже + на возможность указать куда-то и сказать: Вон там! Это сделал + я. Это сильно выражено в политиках, но + присутствует во многих людях, которые получают возможность сделать + это. Просто вспомните об отпечатках ног во влажном цементе. +
+ +
+
+ + + + + Сколько требуется разработчиков FreeBSD, чтобы сменить + электрическую лампочку? + + + + + Необходимо иметь ровно одну тысячу сто семьдесят два + разработчика: + + Двадцать три сообщат в -CURRENT о том, что не горит свет; + + Четыре начнут утверждать, что это проблема конфигурации и такие + сообщения нужно посылать в -questions; + + Трое оформят PR по этому поводу, причём одно их них будет направлено + в doc и будет содержать только строчку "здесь темно"; + + Один закоммитит неоттестированную лампочку, что сломает построение + системы, а затем через пять минут вернёт все назад; + + Восемь поругаются с авторами PR по поводу включения патчей в PR; + + Пять сообщат о том, что не проходит компиляция системы; + + Тридцать один человек ответит, что у них всё работает и наверное, те + выполняли cvsup в неподходящее время; + + Один пошлёт патч для новой лампочки в -hackers; + + Один пожалуется, что у него имелись патчики ещё три года назад, + но когда он послал их в -CURRENT, они были проигнорированы и он имел + неудачный опыт работы с системой PR; кроме того предлагаемая лампочка + не имеет отражателя. + + Тридцать семь начнут кричать, что лампочки не относятся к базовой + системе, что коммиттеры не имеют права делать такие вещи без опроса + обшественности и ЧТО ВООБЩЕ -CORE ДЕЛАЕТ ПО ЭТОМУ ПОВОДУ? + + Две сотни напишут о цвете велосипедных фар; + + Трое скажут, что этот патч не соответствует style(9); + + Семнадцать возразят, что предлагаемая новая лампа подпадает под + лицензию GPL; + + Пятьсот восемьдесят шесть раздуют флэйм по поводу сравнения + лицензий GPL, BSD, MIT, NPL и личных мнений о неизвестных основателей + FSF; + + Семеро пошлют различные части этих обсуждений в -chat и + -advocacy; + + Один закоммитит предлагаемую лампу, хотя она светит хуже, чем + старая; + + Двое откатят эти изменения с ужасной руганью в журнале коммита о том, + что лучше FreeBSD будет сидеть в темноте, чем с тусклой лампой. + + Сорок шесть громко воспротивятся этому изменению и потрубуют + объяснений от -core; + + Одиннадцать попросят уменьшить размер лампочки, чтобы она подошла + к их Тамагочи на случай, если мы когда-нибудь соберёмся переносить + FreeBSD на эту платформу; + + Семьдесят три заявят о SNR в -hackers и -chat и в знак протеста + отпишутся; + + Тринадцать пошлют письма "unsubscribe", "How do I unsubscribe?", + и "Please remove me from the list" с обычной подписью; + + Один закоммитит работающую лампочку в то время, как все будут + слишком заняты руганью, чтобы это заметить; + + Тридцать один человек напишет, что новая лампочка будет светить на + 0.364% ярче, если её откомпилировать с помощью TenDRA (хотя при этом + она приобретёт форму куба) и что FreeBSD должна перейти на компилятор + TenDRA, а не на EGCS; + + Один заметит, что у лампочки отсутствует цоколь; + + Девять (включая авторов PR) спросят "что такое MFC?"; + + Спустя две недели после смены лампочки пятьдесят семь человек сообщат + о том, что света всё равно нет. + + &a.nik; добавил: + + Я сильно смеялся над всем этим. + + И тогда я подумал, "Постойте-ка, найдётся ли кто-нибудь, + чтобы задокументировать это где-нибудь?" + + И на меня снизошло озарение :-) + + Авторские права на этот параграф: + Copyright © 1999 &a.des;. Пожалуйста, не воспроизводите этот материал + без указания авторских прав. + + + +
- + Только для серьёзных хакеров FreeBSD - -Что такое SNAP и RELEASE? + + + + Что такое SNAP и RELEASE? + -В дереве CVS - сейчас находятся три активно/полуактивно развивающихся ветки - FreeBSD: + + + В Репозитории + CVS сейчас находятся три активно/полуактивно развивающихся ветки + FreeBSD (ветвь RELENG_2 меняется от силы пару раз в год, вот почему в + разработке только три активных ветки): - RELENG_2_2 - AKA 2.2-STABLE + RELENG_2_2 + AKA 2.2-STABLE - RELENG_3 - AKA 3.X-STABLE + RELENG_3 + AKA 3.X-STABLE - RELENG_4 - AKA 4.X-STABLE + RELENG_4 + AKA 4-STABLE - HEAD AKA - AKA 5.0-CURRENT + HEAD AKA -CURRENT + AKA 5.0-CURRENT - HEAD - это не реальный тэг ветки, как другие два, а - просто символьная константа для обозначения "текущего, не - ветвящегося, находящегося в разработке дерева", то есть - . + HEAD - это не реальный тэг ветки, как другие два; + это просто символьная константа для обозначения текущего, + не ветвящегося, находящегося в разработке дерева, то есть + -CURRENT. - На данный момент является находящимся в + На данный момент -CURRENT является находящимся в разработке деревом 5.0, ветка 4-STABLE, - RELENG_4, отделилась от в марте + RELENG_4, отделилась от -CURRENT в марте 2000 года. Ветвь 2.2-STABLE, @@ -9841,127 +10434,149 @@ id="hackers"> - -Как самим сделать релиз? + + + Как самим сделать релиз? + -Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно - работать с ядром, включающим драйвер - vn. Добавьте - его в файл конфигурации ядра и откомпилируйте новое ядро: - - - pseudo-device vn #Vnode driver (turns a file into a device) - - - -Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться + + + Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно + работать с ядром, включающим драйвер + vn. Добавьте + его в файл конфигурации ядра и откомпилируйте новое ядро: + + +pseudo-device vn #Vnode driver (turns a file into a device) + + + Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться этого, вы можете использовать CVSUP, указав в файле supfile в качестве имени релиза cvs и удалив все поля с тегами и датами: - - - - *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 + +*default prefix=/home/ncvs +*default base=/a +*default host=cvsup.FreeBSD.org +*default release=cvs +*default delete compress use-rel-suffix - # Other stuff - ports-all - www - doc-all - - - -После этого запустите cvsup -g supfile для выкачки всех - нужных исходных текстов на ваш компьютер... - -Наконец, вам нужно свободное место для построения системы. Допустим, что - свободное место есть в каталоге /some/big/filesystem - и, как в примере выше, вы поместили дерево CVS в каталог - /home/ncvs: - - - 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 - - - +## Main Source Tree +src-all +src-eBones +src-secure - -Полный релиз будет строиться в каталоге - /some/big/filesystem/release и по окончании этого - процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в - каталоге /some/big/filesystem/release/R/ftp. Если вы - захотите построить SNAP другой ветки, не -CURRENT, то можете указать - RELEASETAG=SOMETAG в командной строке make release выше, - например, при указании RELEASETAG=RELENG_2_2, будет - строиться самый свежий снэпшот ветки 2.2-STABLE. - - +# Other stuff +ports-all +www +doc-all + - -Как создать инсталляционные диски? + После этого запустите cvsup -g supfile для выкачки + всех нужных исходных текстов на ваш компьютер... -Весь процесс создания инсталляционных дисков и дистрибутивов исходных - текстов и бинарников автоматизирован в файле - /usr/src/release/Makefile. Информации, в нём - содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас - предупредить, что этот процесс включает в себя выполнение ``make world'' - и поэтому занимает много времени и дискового пространства. - - + Наконец, вам нужно свободное место для построения системы. Допустим, + что свободное место есть в каталоге + /some/big/filesystem и, как в примере выше, вы + поместили дерево CVS в каталог /home/ncvs: - - По команде ``make world'' были переустановлены все программы. - + +&prompt.root; setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs +&prompt.root; cd /usr/src +&prompt.root; make buildworld +&prompt.root; cd /usr/src/release +&prompt.root; make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release + -Да, так и должно быть; как говорит название этой команды, ``make - world'' выполняет построение всех системных файлов с нуля, так - что в итоге можете быть уверены, что получите чистую рабочую - систему (вот почему это занимает столько времени). - +
+ + Пожалуйста, отметьте, что вам не нужно + выполнять процедуру построения системы полностью, если у вас уже + есть заполненный /usr/obj. + +
- -Если в момент запуска команд ``make world'' или ``make - install'' определена переменная окружения DESTDIR, то вновь - создаваемые файлы будут помещены в дерево каталогов. идентичное - существующему, с корнем, располагающимся в - ${DESTDIR}. Однако некоторые случайные - комбинации модификаций совместно используемых библиотек и версий - компилируемых программ при исполнении команды ``make world'', - может этому помешать. - + Полный релиз будет строиться в каталоге + /some/big/filesystem/release и по окончании этого + процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в + каталоге /some/big/filesystem/release/R/ftp. Если вы + захотите построить SNAP другой ветки, не -CURRENT, то можете указать + RELEASETAG=SOMETAG в командной строке make release выше, + например, при указании RELEASETAG=RELENG_2_2, будет + строиться самый свежий снэпшот ветки 2.2-STABLE. - -
+
+
- - При загрузке системы выдаётся сообщение ``(bus speed defaulted)''. - -Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость - доступа к шине. Предыдущие версии драйвера 1542 пытались определить - максимально возможную скорость работы и установить это значение. Мы - обнаружили, что у некоторых пользователей это приводило к нарушению - работоспособности системы, поэтому эта возможность сейчас вынесена - в параметр конфигурации ядра ``TUNE_1542''. Использование - этой опции на тех системах, где она работает, может привести к - ускорению доступа к дискам, а там, где это не работает, может привести - к потере данных. - + + + Как создать инсталляционные диски? + + + + + Весь процесс создания инсталляционных дисков и дистрибутивов исходных + текстов и бинарников автоматизирован в файле + /usr/src/release/Makefile. Информации, в нём + содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас + предупредить, что этот процесс включает в себя выполнение + make world и поэтому занимает много времени и дискового + пространства. + + + + + + + + По команде make world были переустановлены все + программы. + + + + + Да, так и должно быть; как говорит название этой команды, make + world выполняет построение всех системных файлов с нуля, так + что в итоге можете быть уверены, что получите чистую рабочую + систему (вот почему это занимает столько времени). + + Если в момент запуска команд make world или + make install определена переменная окружения + DESTDIR, то вновь создаваемые файлы будут помещены в + дерево каталогов. идентичное существующему, с корнем, располагающимся в + ${DESTDIR}. Однако некоторые случайные + комбинации модификаций совместно используемых библиотек и версий + компилируемых программ при исполнении команды + make world, может этому помешать. + + + + + + + + При загрузке системы выдаётся сообщение (bus speed + defaulted). + + + + + Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость + доступа к шине. Предыдущие версии драйвера 1542 пытались определить + максимально возможную скорость работы и установить это значение. Мы + обнаружили, что у некоторых пользователей это приводило к нарушению + работоспособности системы, поэтому эта возможность сейчас вынесена + в параметр конфигурации ядра TUNE_1542. Использование + этой опции на тех системах, где она работает, может привести к + ускорению доступа к дискам, а там, где это не работает, может привести + к потере данных. + + + - - @@ -9979,26 +10594,24 @@ id="ctm"> Как вы разделяете дистрибутив на файлы по 240К? -Команда split в современных BSD-системах имеет опцию ``'', - позволяющую разрезать файлы на части с точностью до байта. - + Команда split в современных BSD-системах имеет опцию + , позволяющую разрезать файлы на части с точностью до + байта. - Вот пример из файла /usr/src/Makefile. - - - bin-tarball: - (cd ${DISTDIR}; \ - tar cf - . \ - gzip --no-name -9 -c | \ - split -b 240640 - \ - ${RELEASEDIR}/tarballs/bindist/bin_tgz.) - - - - - + +bin-tarball: +(cd ${DISTDIR}; \ +tar cf - . \ +gzip --no-name -9 -c | \ +split -b 240640 - \ +${RELEASEDIR}/tarballs/bindist/bin_tgz.) + + +
+
+ Я написал некоторое добавление к ядру, кому его послать? @@ -10022,98 +10635,83 @@ id="ctm"> -Если рассматривать на самом низком уровне, то существует несколько - портов ввода/вывода, в которые должны выводить информацию все адаптеры - PnP, когда компьютер пытается выполнить запрос о наличии установленных - адаптеров. Так что, когда запускается процедура определения адаптеров - PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все - такие адаптеры выдают свой номер модели при чтении того же порта - ввода/вывода, поэтому процедура определения получит ответ на свой - запрос, состоящий из логически наложенных номеров моделей, - интерпретируемый как ``да''. В этом ответе по крайней мере один бит - будет установлен в единицу. Затем код определения адаптеров может - ``выключать'' адаптеры с ID (назначаемыми Microsoft/Intel), меньшими, - чем X. Потом следует попытка определить, остались ли ещё адаптеры, - отвечающие на запрос. Если ответ ``0'', то адаптеров с - ID, большими чем X, нет. После этого делается попытка определить - наличие адаптеров с номерами, меньшими чем ``X''. Если они есть, - то становится известно, что есть адаптеры с номерами, меньшими чем X. - Тогда происходит запрос адаптерам, большим чем X-(limit-4), на - выключение. Запрос повторяется. Применив этот метод полудвоичного - поиска границ расположения ID достаточное количество раз, код - идентификации найдёт все адаптеры PnP, установленные в данной машине - за число итераций, гораздо меньшее, чем может занять перебор 2^64 - возможных вариантов ID. - + Если рассматривать на самом низком уровне, то существует несколько + портов ввода/вывода, в которые должны выводить информацию все адаптеры + PnP, когда компьютер пытается выполнить запрос о наличии установленных + адаптеров. Так что, когда запускается процедура определения адаптеров + PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все + такие адаптеры выдают свой номер модели при чтении того же порта + ввода/вывода, поэтому процедура определения получит ответ на свой + запрос, состоящий из логически наложенных номеров моделей, + интерпретируемый как да. В этом ответе по крайней мере + один бит будет установлен в единицу. Затем код определения адаптеров может + выключать адаптеры с ID (назначаемыми Microsoft/Intel), + большими, чем X. Потом следует попытка определить, остались ли ещё + адаптеры, отвечающие на запрос. Если ответ 0, то + адаптеров с ID, большими чем X, нет. После этого делается попытка + определить наличие адаптеров с номерами, меньшими чем X. + Если они есть, то становится известно, что есть адаптеры с номерами, + меньшими, чем X. Тогда происходит запрос адаптерам, большим чем + X-(limit-4), на выключение. Запрос повторяется. Применив этот метод + полудвоичного поиска границ расположения ID достаточное количество раз, код + идентификации найдёт все адаптеры PnP, установленные в данной машине + за число итераций, гораздо меньшее, чем может занять перебор 2^64 + возможных вариантов ID. - -ID представляет собой два 32-разрядные числа (всего их 2^64) - + 8 бит контрольной суммы. Первые 32 бита являются идентификатором - производителя. Они никогда не сообщаются, однако часто бывает, что - различные типы адаптеров от одного и того же производителя имеют - различные 32-битные значения идентификатора производителя. - Необходимость в 32 разрядах только для задания производителя адаптера - выглядит несколько излишним. - + ID представляет собой два 32-разрядные числа (всего их 2^64) + + 8 бит контрольной суммы. Первые 32 бита являются идентификатором + производителя. Они никогда не сообщаются, однако часто бывает, что + различные типы адаптеров от одного и того же производителя имеют + различные 32-битные значения идентификатора производителя. + Необходимость в 32 разрядах только для задания производителя адаптера + выглядит несколько излишним. - -Оставшиеся 32 бита являются серийным номером, ethernet-адресом, - чем-либо, делающим этот адаптер уникальным. Производитель не должен - выпускать других адаптеров, имеющих то же самое значение этих битов, - если, конечно, у них не разные идентификаторы производителя. Таким - образом, вы можете иметь несколько адаптеров одинакового типа, но с - различными 64-разрядными номерами. - + Оставшиеся 32 бита являются серийным номером, ethernet-адресом, + чем-либо, делающим этот адаптер уникальным. Производитель не должен + выпускать других адаптеров, имеющих то же самое значение этих битов, + если, конечно, у них не разные идентификаторы производителя. Таким + образом, вы можете иметь несколько адаптеров одинакового типа, но с + различными 64-разрядными номерами. - -Группы по 32 бита не богут быть нулевыми. Это позволяет при - логическом объединении OR их номеров получать ненулевое значение во - время начального поиска адаптеров. - + Группы по 32 бита не богут быть нулевыми. Это позволяет при + логическом объединении OR их номеров получать ненулевое значение во + время начального поиска адаптеров. - -Как только система определила ID всех адаптеров, она активизирует - каждый адаптер, по одному за раз (через те же порты ввода/вывода), и - определяет, какие ресурсы требуются данному адаптеру, какие возможные - прерывания доступны итд. Сканирование и сбор информации происходит - по всем адаптерам. - + Как только система определила ID всех адаптеров, она активизирует + каждый адаптер, по одному за раз (через те же порты ввода/вывода), и + определяет, какие ресурсы требуются данному адаптеру, какие возможные + прерывания доступны итд. Сканирование и сбор информации происходит + по всем адаптерам. - -Эта информация соотносится с содержащейся в файлах ECU на диске - или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на - MLB обычно имеет синтетический характер, и периферия не выполняет - полностью поцедуру настоящего PnP. Однако, используя BIOS и - информацию из ECU, процедура инициализации может обнаружить устройства - PnP, которые не могут быть найдены другим способом. - + Эта информация соотносится с содержащейся в файлах ECU на диске + или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на + MLB обычно имеет синтетический характер, и периферия не выполняет + полностью поцедуру настоящего PnP. Однако, используя BIOS и + информацию из ECU, процедура инициализации может обнаружить устройства + PnP, которые не могут быть найдены другим способом. - -Затем устройства PnP опрашиваются ещё раз для назначения им портов - ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь - устройства должны иметь именно такие настройки и они должны оставаться - такими до следующей перезагрузки, хотя нигде не сказано, что вы не - можете их менять, когда захотите. - + Затем устройства PnP опрашиваются ещё раз для назначения им портов + ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь + устройства должны иметь именно такие настройки и они должны оставаться + такими до следующей перезагрузки, хотя нигде не сказано, что вы не + можете их менять, когда захотите. - -Здесь сделано много упрощений, однако общую идею вы должны уловить. - + Здесь сделано много упрощений, однако общую идею вы должны + уловить. - -Microsoft использовала для PnP некоторые порты статуса первого - принтера, по их логике, не существует адаптеров, использующих эти - адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от - IBM, который декодирует запись в порт статуса в момент начального - опроса устройств PnP, на что MS ответил ``хулиган''. Так что они - выполняют запись в порт статуса принтера для установки адресов, - плюс используют этот адрес + 0x800, и ещё один порт ввода/вывода, - который может располагаться где угодно в диапазоне между 0x200 и - 0x3ff, для чтения. - + Microsoft использовала для PnP некоторые порты статуса первого + принтера, по их логике, не существует адаптеров, использующих эти + адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от + IBM, который декодирует запись в порт статуса в момент начального + опроса устройств PnP, на что MS ответил хулиган. Так что они + выполняют запись в порт статуса принтера для установки адресов, + вдобавок используют этот адрес + 0x800, и ещё один порт + ввода/вывода, который может располагаться где угодно в диапазоне между + 0x200 и 0x3ff, для чтения. + + + - - Поддерживает ли FreeBSD платформы, отличные от x86? @@ -10191,29 +10789,32 @@ id="ctm"> - -Что делать при аварийном остановах системы -[Этот раздел был вырезан из письма, написанного Биллом Полом (Bill Paul) - в список рассылки freebsd-current Дэгом-Элингом Коиданом Смёгравом - (Dag-Erling Coidan Smorgrav), который исправил несколько - опечаток и добавил комментарии в квадратных скобках] - - -From: Bill Paul <wpaul@skynet.ctr.columbia.edu> + + + Что делать при аварийном остановах системы + + + + + [Этот раздел был вырезан из письма, написанного &a.wpaul; в + список рассылки freebsd-current + &a.des;, который исправил несколько опечаток и добавил комментарии в + квадратных скобках] + + +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 - - + - [<ben@rosengart.com> отправил письмо, содержащее следующее - аварийное сообщение системы] - -> Fatal trap 12: page fault while in kernel mode + [<ben@rosengart.com> отправил письмо, содержащее + следующее аварийное сообщение системы] + + +> 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 - - - + - -[Если] вы увидите такое сообщение, просто его воспроизвести и - послать нам не достаточно. Указатель инструкций, выделенный мною, - важен, к сожалению, его значение зависит от конфигурации ядра. - Другими словами, его значение меняется в зависимости от конкретного - ядра, которое вы используете. Если вы используете ядро GENERIC - одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую - ошибку, но если вы работаете со специально отконфигурированным ядром, - то только вы можете сказать нам, где случилась ошибка. - + [Если] вы увидите такое сообщение, просто его воспроизвести и + послать нам не достаточно. Указатель инструкций, выделенный мною, + важен, к сожалению, его значение зависит от конфигурации ядра. + Другими словами, его значение меняется в зависимости от конкретного + ядра, которое вы используете. Если вы используете ядро GENERIC + одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую + ошибку, но если вы работаете со специально отконфигурированным ядром, + то только вы можете сказать нам, где случилась + ошибка. - -Вот что вы должны сделать: - - - + Вот что вы должны сделать: - -Запишите значение указателя инструкций. Заметьте, что - часть 0x8: в этом случае не важна: нам нужна часть - 0xf0xxxxxx. - - + + + + Запишите значение указателя инструкций. Заметьте, что + часть 0x8: в этом случае не важна: нам нужна часть + 0xf0xxxxxx. + - -Когда система перезагрузится, сделайте следующее: + + Когда система перезагрузится, сделайте следующее: + + +&prompt.user; nm /kernel.that.caused.the.panic | grep f0xxxxxx + + + где f0xxxxxx - это значение указателя инструкций. + Однако неприятность заключается в том, что вы не получите точного + соответствия, так как в таблице имен ядра для точек входа в функции + даны адреса на начало функций, а указатель инструкций будет указывать + куда-то внутрь её тела. Если вы не получили точного соответствия, + опустите последнюю цифру в значении указателя инструкций и попробуйте + снова, то есть: -% nm /kernel.that.caused.the.panic | grep f0xxxxxx - - - где f0xxxxxx - это значение указателя инструкций. Однако - неприятность заключается в том, что вы не получите точного - соответствия, так как в таблице имен ядра для точек входа в функции - даны адреса на начало функций, а указатель инструкций будет указывать - куда-то внутрь её тела. Если вы не получили точного соответствия, - опустите последнюю цифру в значении указателя инструкций и попробуйте - снова, то есть: - -% nm /kernel.that.caused.the.panic | grep f0xxxxx - + +&prompt.user; nm /kernel.that.caused.the.panic | grep f0xxxxx + - Если и это не привело ни к каким результатам, отрежьте следующую - цифру. Повторяйте, пока не получите хоть что-то. Результатом будет - список функций, которые, возможно, привели к аварийному останову. - Этот механизм обнаружения ошибочного места довольно неточен, но это - всё же лучше чем ничего. - - + Если и это не привело ни к каким результатам, отрежьте следующую + цифру. Повторяйте, пока не получите хоть что-то. Результатом будет + список функций, которые, возможно, привели к аварийному останову. + Этот механизм обнаружения ошибочного места довольно неточен, но это + всё же лучше, чем ничего. + + + - - - Зачастую люди приводят подобные аварийные сообщения, на редко кто утруждается привести соотвествие указателя инструкций с функцией в таблице символов ядра. @@ -10297,39 +10892,42 @@ Cc: current@FreeBSD.org CD). Во всяком случае, обычно я использую такой способ: - - - - - Отредактируйте конфигурационный файл ядра, добавив строку - 'options DDB', если вам зачем-то понадобился встроенный отладчик. - (Я использую его в основном для указания точек останова, если - подозреваю возникновение бесконечных циклов.) - - - Выполните config -g KERNELCONFIG для создания - каталога построения ядра. - + + + + Отредактируйте конфигурационный файл ядра, добавив строку + options DDB, если вам зачем-то понадобился + встроенный отладчик. (Я использую его в основном для указания точек + останова, если подозреваю возникновение бесконечных циклов.) + - - cd /sys/compile/KERNELCONFIG; make - + + Выполните + config -g KERNELCONFIG + для создания каталога построения ядра. + - - Дождитесь окончания компиляции ядра. - + + + cd /sys/compile/KERNELCONFIG; + make + - - make install - + + Дождитесь окончания компиляции ядра. + + + + make install + + + + reboot + + + - - reboot - - - - В процессе выполнения команды &man.make.1; будут построены два ядра, kernel и kernel.debug. kernel будет установлен как @@ -10350,29 +10948,32 @@ Cc: current@FreeBSD.org savecore(8) автоматически и поместят аварийный дамп в каталог /var/crash. -ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный - физическому объёму оперативной памяти вашей машины. Так что если у вас 64МБ - ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, что - в каталоге /var/crash достаточно места для хранения - дампа. Либо вы можете вручную запустить savecore(8) - и создать аварийный дамп в другом каталоге, где достаточно места. Размер - аварийного дампа можно уменьшить, указав в конфигурации ядра - options MAXMEM=(размер) подходящее значение для объёма - памяти, которое будет использоваться ядром. Например, если у вас - 128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16 мегабайтами, - так что размер аварийного дампа будет равен 16МБ, а не 128. - + + + Аварийные дампы FreeBSD обычно имеют размер, равный физическому + объёму оперативной памяти вашей машины. Так что если у вас 64МБ + ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, + что в каталоге /var/crash достаточно места для + хранения дампа. Либо вы можете вручную запустить + savecore(8) и создать аварийный дамп в другом + каталоге, где достаточно места. Размер аварийного дампа можно + уменьшить, указав в конфигурации ядра + options MAXMEM=(размер) подходящее значение для + объёма памяти, которое будет использоваться ядром. Например, если у вас + 128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16 + мегабайтами, так что размер аварийного дампа будет равен 16МБ, а не + 128. + + + Как только вы получили аварийный дамп, вы можете выполнить трассировку вызовов с помощью gdb(1) таким образом: - - -% gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 -(gdb) where - - - - + +&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 +(gdb) where + + Заметьте, что при этом может быть выведено несколько экранов информации; в идеале вы должны использовать script(1) для их перехвата. При использовании необработанного образа ядра со всей @@ -10418,61 +11019,58 @@ Cc: current@FreeBSD.org - -Увеличение и уменьшение адресного пространства ядра -По умолчанию размер адресного пространства ядра равен 256 МБ во - FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD - в качестве сервера с интенсивной сетевой нагрузкой (скажем, - большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ - недостаточно. - + + + Увеличение и уменьшение адресного пространства ядра + - -Каким же образом можно увеличить адресное пространство? Здесь - есть два момента. Во-первых, вам нужно указать ядру выделить - большее количество адресного пространства для самого ядра. Во-вторых, - так как ядро загружается в верхнюю часть адресного пространства, вам - нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю - границу. - + - -Первая проблема решается увеличением значения константы - NKPDE в файле src/sys/i386/include/pmap.h. В случае 1 - ГБ адресного пространства он должен выглядеть примерно так: - - -#ifndef NKPDE + По умолчанию размер адресного пространства ядра равен 256 МБ во + FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD + в качестве сервера с интенсивной сетевой нагрузкой (скажем, + большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ + недостаточно. + + Каким же образом можно увеличить адресное пространство? Здесь + есть два момента. Во-первых, вам нужно указать ядру выделить + большее количество адресного пространства для самого ядра. Во-вторых, + так как ядро загружается в верхнюю часть адресного пространства, вам + нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю + границу. + + Первая проблема решается увеличением значения константы + NKPDE в + файле src/sys/i386/include/pmap.h. В случае 1 ГБ + адресного пространства он должен выглядеть примерно так: + + +#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 - - - + - -Для вычисления значения NKPDE разделите желаемый объём - адресного пространства (в мегабайтах) на четыре и вычтите из - получившегося числа единичку в случае однопроцессорной машины и - двоечку в случае многопроцессорного ядра. - + Для вычисления значения NKPDE разделите желаемый + объём адресного пространства (в мегабайтах) на четыре и вычтите из + получившегося числа единичку в случае однопроцессорной машины и + двоечку в случае многопроцессорного ядра. - -Для достижения второй цели вам нужно правильный адрес для загрузки - ядра: просто отнимите размер адресного пространства (в байтах) от - 0x100100000; результат будет равным 0xc0100000 для адресного пространства - в 1 ГБ. Установите значение константы LOAD_ADDRESS - в файле src/sys/i386/conf/Makefile.i386 в это - значение; затем установите значение счётчика в начале списка секций в - файле src/sys/i386/conf/kernel.script в то же самое - значение, как это сделано здесь: - - -OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") + Для достижения второй цели вам нужно правильный адрес для загрузки + ядра: просто отнимите размер адресного пространства (в байтах) от + 0x100100000; результат будет равным 0xc0100000 для адресного пространства + в 1 ГБ. Установите значение константы LOAD_ADDRESS + в файле src/sys/i386/conf/Makefile.i386 в это + значение; затем установите значение счётчика в начале списка секций в + файле src/sys/i386/conf/kernel.script в то же самое + значение, как это сделано здесь: + + +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) } - - - + - -После этого переконфигурируйте и перестройте ядро. Вы можете - столкнуться с проблемами при работе утилит ps(1), top(1) - и подобных им; решить их может make world (или ручная - перекомпиляция libkvm, ps и top после копирования - исправленного pmap.h в /usr/include/vm/). - -ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть - кратен четырём мегабайтам. - -[Дэвид Гринмэн - (David Greenman) добавил: Я думаю, что размер адресного - пространства ядра должен быть степенью двойки, но я в этом не уверен. - Для работы с верхними адресами памяти использовался код старого - загрузчика, и я ожидаю по крайней мере точность в 256 МБ.] - + После этого переконфигурируйте и перестройте ядро. Вы можете + столкнуться с проблемами при работе утилит ps(1), + top(1) и подобных им; решить их может + make world (или ручная перекомпиляция + libkvm, ps и + top после копирования исправленного + pmap.h + в /usr/include/vm/). - -
+ ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть + кратен четырём мегабайтам. + + [&a.dg; добавил: Я думаю, что размер адресного пространства + ядра должен быть степенью двойки, но я в этом не уверен. Для работы с + верхними адресами памяти использовался код старого загрузчика, и я ожидаю + по крайней мере точность в 256 МБ.] + + + +
- -Наши благодарности + + Наши благодарности - - Если вы обнаружили неточности в этом FAQ или хотите что-то в него - добавить, пожалуйста, напишите нам по адресу <FAQ@FreeBSD.org>. +
+ FreeBSD Core Team + + Если вы обнаружили неточности в этом FAQ или хотите что-то + в него добавить, пожалуйста, напишите нам по адресу &a.faq;. Мы ждём ваши отзывы и пожелания, чтобы с вашей помощью сделать этот - документ ещё лучше! + документ ещё лучше! +
+ + + &a.jkh; + + Различные упорядочения и добавления в FAQ. + + - FreeBSD Core Team -
-
- - - -Jordan Hubbard - -Различные упорядочения и добавления в FAQ. - + &a.dwhite; + + Работа со списком рассылки freebsd-questions + + - - - + &a.joerg; + + Работа с телеконференциями Usenet + + -Doug White + &a.wollman; + + Раздел о сети и форматирование + + - -Работа со списком рассылки freebsd-questions - + Jim Lowe + + Информация о протоколе многоадресной передачи + + - - - + &a.pds; + + Раб-наборщик + + -Joerg Wunsch + Andrey Zakhvatov + + Перевод на русский язык + + - -Работа с телеконференциями Usenet - + The FreeBSD Team + + Охи, вздохи, стоны, добавления + + + + - - - + И всем остальным, оставшимся неизвестными, наши глубочайшие + извинения и сердечные благодарности! -Garrett Wollman - - -Раздел о сети и форматирование - - - - - - -Jim Lowe - - -Информация о протоколе многоадресной передачи - - - - - - -Peter da Silva - - -Раб-наборщик - - - - -Andrey Zakhvatov - - -Перевод на русский язык - - - - -The FreeBSD Team - - -Охи, вздохи, стоны, добавления - - - - - - - -И всем остальным, оставшимся неизвестными, наши глубочайшие - извинения и сердечные благодарности! - -