diff --git a/ru_RU.KOI8-R/books/faq/book.sgml b/ru_RU.KOI8-R/books/faq/book.sgml
index 21863548da..62f3ef11f6 100644
--- a/ru_RU.KOI8-R/books/faq/book.sgml
+++ b/ru_RU.KOI8-R/books/faq/book.sgml
@@ -1,12608 +1,12611 @@
%man;
%freebsd;
%authors;
%teams;
%bookinfo;
%mailing-lists;
+
+%urls;
+
]>
Часто Задаваемые Вопросы по FreeBSD 2.X, 3.X, 4.X и 5.XThe FreeBSD Documentation Project$FreeBSD$1995199619971998199920002001200220032004The FreeBSD Documentation Project
&bookinfo.trademarks;
&bookinfo.legalnotice;
Этот документ является так называемым FAQ (Frequently Asked
Questions), то есть списком Часто Задаваемых Вопросов по FreeBSD версий
2.X, 3.X, 4.X и 5.X. Если не оговорено обратное, предполагается, что все
замечания справедливы для версий FreeBSD 2.0.5 и выше. Если вы хотите
помочь в составлении этого документа, пошлите письмо в &a.doc;.
Последняя редакция этого документа всегда доступна с
WWW-сервера FreeBSD. Его также
можно получить в виде одного большого
HTML-файла по HTTP или в виде обычного текстового файла, файла
формата PostScript, PDF или другого формата с FTP-сервера.
Вы также можете осуществить поиск в
+ URL="&url.main;/search/search.html">поиск в
FAQ.ВступлениеДобро пожаловать в FAQ по FreeBSD 2.X-5.X!Как и обычный FAQ конференций Usenet, этот документ содержит
большинство из часто задаваемых вопросов, касающихся операционной системы
FreeBSD (и, конечно же, ответы на них). Первоначально предназначенный для
уменьшения потока сообщений и избежания повторения одних и тех же
вопросов, постепенно FAQ превратился в ценный источник информации.Мы прилагаем все усилия, чтобы сделать этот FAQ максимально
информативным; если у вас есть идеи по его усовершенствованию,
пожалуйста, напишите нам на адрес &a.doc;.FreeBSD - что это такое?В двух словах, FreeBSD - это UN*X-подобная операционная система
для платформ i386, IA-64, PC-98, Alpha/AXP и UltraSPARC,
разработанная на основе операционной системы
4.4BSD-Lite с некоторыми
усовершенствованиями, взятыми из 4.4BSD-Lite2
Калифорнийского Университета (Беркли). Также она косвенно
базируется на 386BSD (BSD Net/2, перенесённой на платформу i386
Вильямом Джолитцем (William Jolitz)), хотя от того первоначального
кода осталось очень мало. Более подробные объяснения того, что
представляет из себя FreeBSD и для чего она может вам пригодиться,
- можно найти на домашней
+ можно найти на домашней
странице FreeBSD.FreeBSD используется компаниями, Интернет-провайдерами,
научными работниками, профессионалами в вычислительной технике,
студентами и рядовыми пользователями по всему миру для работы,
образования и отдыха. Вы можете увидеть некоторых из них в
- нашей
+ нашей
галерее.Для более детального ознакомления с FreeBSD, пожалуйста,
обратитесь к Руководству по
FreeBSD.Какова цель FreeBSD?Цель, преследуемая проектом FreeBSD - это предоставление
программного обеспечения, которое может быть использовано в любых
целях без каких бы то ни было ограничений. Многие из нас
вкладывают значительные усилия в её разработку (и проектирование) и
определённо были бы не против получения финансовой поддержки, но
требовать её мы не будем. Мы надеемся, что наша основная и самая
значительная миссия - предоставить код всем
желающим, для любых целей, так чтобы он нашел самое широкое
применение и принёс наибольшую пользу. Это, на наш взгляд, одна
из самых фундаментальных целей Free Software, которую мы с
энтузиазмом поддерживаем.Часть исходного кода нашей системы, подпадающая под действие
GNU General
Public License (GPL) или GNU Library
General Public License (LGPL), имеет несколько
больше ограничений, хотя и представляет собой навязывание доступа к
исходным текстам, а не наоборот, как обычно. Из-за дополнительных
сложностей, которые могут возникнуть в случае коммерческого
использования программного обеспечения GPL, мы стараемся, где
только это возможно, заменить подобное программное обеспечение
аналогичным, но подпадающим под менее строгую
лицензию FreeBSD.Есть ли в лицензии FreeBSD какие-то ограничения?Да. Эти ограничения не касаются того, как именно вы
используете код, но главным образом описывают ваше отношение при
этом в целом к Проекту FreeBSD. Если у вас есть серьезные
проблемы с лицензированием, прочтите собственно текст
лицензионного соглашения. Упрощенно оно может быть вкратце
изложено следующим образом.Не говорите, что это написано вами.Не судитесь с нами, если что-то не работает.Может ли FreeBSD заменить операционную систему, используемую
мною сейчас?Для большинства людей, да. Но этот ответ не так уж
однозначен.Большинство пользователей на самом деле не используют
операционную систему. Они работают с приложениями. Именно
прикладные программы и используют операционную систему. FreeBSD
разработана для того, чтобы дать надежное и полнофункциональное
окружение для приложений. Она поддерживает широкий спектр
веб-браузеров, офисных пакетов, программ для работы с электронной
почтой, графических пакетов, программных сред, сетевых серверов и
практически все, что вы можете захотеть. Большинство этих
приложений могут быть получено из Коллекции
Портов.Если вам необходимо использовать приложение, которое доступно
только для одной операционной системы, вам просто нельзя заменять
операционную систему. Однако есть вероятность, что похожая
программа существует для FreeBSD. Если вам нужен стабильно
работающий сервер для офиса или сервер Интернет, надежная рабочая
станция или просто возможность выполнять работу без сбоев, FreeBSD
практически всегда справится со всем, что вам нужно. Многие
пользователи по всему миру, включая как новичков, так и опытных
администраторов &unix;, используют FreeBSD в качестве своей
единственной настольной операционной системы.Если вы переходите на FreeBSD с какого-то другого варианта
&unix;, вы уже знаете большинство ваших потребностей. Если вы
знакомы с графическими операционными системами, такими, как Windows
или старые версии Mac OS, будьте готовы к затратам дополнительного
времени на изучение подхода &unix; к работе. Этот FAQ и Руководство по FreeBSD
являются прекрасным способом начать это изучение.Почему система называется именно FreeBSD?Она может использоваться безо всяческих выплат, даже
для извлечения выгоды.Все исходные тексты операционной системы свободно
доступны, на её использование в других разработках (как
коммерческих, так и некоммерческих) и дальнейшее
распространение наложены минимальные ограничения.Любой, у кого есть усовершенствования или исправления,
может предоставить свой код и он будет (правда, с парой
оговорок) добавлен в исходные тексты системы.Следует отметить, что слово free
используется здесь в двух смыслах, один означает
бесплатно, а другой вы можете делать всё,
что хотите. За исключением пары вещей, которые вы
не можете делать с FreeBSD, например,
претендовать на то, что являетесь её разработчиком, на самом
деле можно делать с ней всё, что вам заблагорассудится.В чём заключается разница между FreeBSD и NetBSD, OpenBSD
и другими операционными системами с открытыми кодами
семейства BSD?Джеймс Ховард (James Howard) создал хорошее описание истории и
различий между различными проектами для журнала DaemonNews под названием
Семейное древо BSD, в котором даётся подробный ответ на
этот вопрос.Какова последняя версия FreeBSD?На данном этапе разработки FreeBSD существуют две параллельно
разрабатываемые ветки; релизы делаются из обеих веток. Серия
релизов 4.X выполняется из ветки -STABLE, а
серия релизов 5.X выполняется из
-CURRENT.Версия
&rel.current;, выпущенная &rel.current.date;, является
самым последним релизом ветки -CURRENT.
Версия
&rel2.current;, выпущенная &rel2.current.date;, является
самым последним релизом ветки -STABLE.Если вкратце, то ветка -STABLE
предназначена поставщикам услуг Internet, корпоративным
пользователям, а также всем тем, кому в первую очередь нужна
надёжность и минимальное количество отличий от последнего
релиза по сравнению с новыми (и, возможно, ненадёжно работающими)
возможностями последнего снэпшота -CURRENT.
Релизы можно делать из любой ветки, но
-CURRENT можно использовать только в том
случае, если вы уверены, что готовы к постоянным (по
сравнению со -STABLE) изменениям в работе
системы.Релизы делаются раз в
несколько месяцев. Хотя многие стараются отслеживать
актуальное состояние исходных текстов FreeBSD (обратите внимание на
вопросы о FreeBSD-CURRENT и FreeBSD-STABLE), делать это не обязательно,
так как исходные тексты постоянно меняются.Более полную информацию о релизах FreeBSD можно получить со
страницы о
Процессе выпуска релизов на веб-сайте FreeBSD.Что такое FreeBSD-CURRENT?
FreeBSD-CURRENT - это версия операционной системы,
находящаяся в стадии разработки, которая должна потом стать
новой веткой &os.stable;. Ожидается, что это случится примерно к
выходу 5.3-RELEASE. Таким образом, она представляет реальный
интерес только для разработчиков системы и её фанатов. Обратитесь
к соответствующему
разделу
Руководства для прояснения деталей работы с
-CURRENT.Если вы не специалист по операционным системам или не в
состоянии отличить реальную проблему от временных явлений, вы не
должны использовать FreeBSD-CURRENT. Эта ветвь зачастую меняется
очень быстро и вполне может быть просто не работоспособна
некоторое время. Те, кто используют FreeBSD-CURRENT, должны быть
в состоянии анализировать любые проблемы и сообщать о них, если
это действительно ошибки, а не глюки. Сообщения
типа make world produces some error about groups
в списке рассылки -CURRENT могут быть восприняты
пренебрежительно.Ежедневно из веток -CURRENT и -STABLE делаются снэпшоты.
+ URL="&url.main;/releases/snapshots.html">снэпшоты.
Дистрибутивы некоторых снэпшотов сделаны общедоступными.
Их предназначение:Тестирование самой последней версии инсталлятора.Дать людям, которые хотят работать с -CURRENT или -STABLE,
но не имеют времени или возможности (пропускной способности)
для отслеживания ежедневных изменений, простой способ её
установки.Фиксация точки для последующих ссылок в случае,
если позже мы что-нибудь очень сильно сломаем. (Хотя CVS, как
правило, не позволяет случиться ничему такому ужасному :)Все новые возможности, которым требуется тестирование,
должны иметь как можно больше потенциальных тестеров.Не утверждается, что всякий снэпшот -CURRENT имеет качество
готового продукта. Если вам нужна стабильно
работающая и полностью оттестированная система, то необходимо
дождаться выхода полного релиза или воспользоваться снэпшотами
-STABLE.Снэпшоты доступны непосредственно с
ftp://current.FreeBSD.org/pub/FreeBSD/snapshots/.
Снэпшоты 3-STABLE больше не выпускаются.Снэпшоты, как правило, генерируются ежедневно для всех активно
разрабатываемых веток.В чём смысл FreeBSD-STABLE?После того, как была выпущена FreeBSD 2.0.5, разработка FreeBSD
разделилась на две части. Одна ветка получила название -STABLE, а
другая -CURRENT.
FreeBSD-STABLE предназначена для провайдеров услуг Интернет и
других коммерческих пользователей, для которых неожиданные
изменения или экспериментальные возможности
весьма нежелательны. В неё вносятся только хорошо оттестированные
исправления и другие небольшие последовательные усовершенствования.
С другой стороны, FreeBSD-CURRENT являлась единой веткой, не
разрываемой с момента выхода версии 2.0 и ведущей к
5.2.1-RELEASE (и последующим релизам). В момент выхода 5.3-RELEASE
ожидается создание ветки 5-STABLE, а &os.current; станет
6-CURRENT. Если вам поможет картинка, то вот как это
выглядит:
2.0
|
|
| [2.1-STABLE]
*ВЕТВЬ* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [конец 2.1-STABLE]
| (Мар 1997)
|
|
| [2.2-STABLE]
*ВЕТВЬ* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [конец]
| (Мар 1997) (Окт 97) (Апр 98) (Июл 98) (Дек 98)
|
|
3.0-SNAPs (начало в I квартале 1997)
|
|
3.0-RELEASE (Окт 1998)
|
| [3.0-STABLE]
*ВЕТВЬ* 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.1 -> 4.1.1 -> 4.2 -> 4.3 -> 4.4 -> ... последующие релизы 4.X ...
|
| (Июль 2000) (Сентябрь 2000) (Ноябрь 2000)
5.0-RELEASE (Янв 2003)
|
|
5.1-RELEASE (Июнь 2003)
|
|
5.2-RELEASE (Янв 2004)
|
|
5.2.1-RELEASE (Фев 2004)
|
\|/
+
[продолжение 5-CURRENT]Ветвь 2.2-STABLE была завершена выходом релиза 2.2.8. Ветвь
3-STABLE была завершена выходом релиза 3.5.1. Единственными
изменениями в этих ветвях могут быть только исправления ошибок,
касающихся безопасности.Последним релизом из ветки 4-STABLE на данный момент является
&rel2.current;-RELEASE, выпущенная &rel2.current.date;.Ветка 5-CURRENT постепенно движется к созданию ветки 5-STABLE.
Смотрите Что такое FreeBSD-CURRENT?
для более подробной информации об этой ветке.В какой момент выпускаются новые версии FreeBSD?&a.re; выпускает новую версию FreeBSD в среднем раз в четыре
месяца. Даты релизов обычно объявляются заранее, так что те, кто
работает над системой, знают, когда их проекты должны быть
закончены и протестированы. Период тестирования предшествует
выходу каждого релиза, для того, чтобы удостовериться в том, что
добавление новых возможностей не повлияло на стабильность работы
релиза. Многие пользователи расценивают такую осторожность
как одну из приятнейших черт FreeBSD, хотя необходимость дожидаться
-STABLE для получения всех этих новых возможностей может
несколько разочаровывать.Дополнительная информация о процессе подготовки релиза (в том
числе планы выпуска последующих релизов) может быть найдена на
страницах веб-сайта FreeBSD, посвящённых выпуску
релизов.Для тех, кому нужно или хочется, ежедневно выпускаются
бинарные релизы, как это описано выше.Кто разрабатывает FreeBSD?Решения, которые касаются ключевых моментов в проекте FreeBSD,
такие, как общее направление развития проекта или кто
может добавлять код к дереву исходных текстов, принимаются основной
командой разработчиков (Core Team), состоящей из 9
человек. Также существует гораздо большая группа из более чем
200
коммиттеров (committers), которые могут делать изменения
прямо в дереве исходных текстов FreeBSD.Однако большинство нетривиальных изменений широко обсуждается
в списках рассылки, и не существует
никаких ограничений на участие в подобных дискуссиях.Где можно найти FreeBSD?Все основные релизы FreeBSD доступны по FTP с FTP-сервера
FreeBSD:Текущий релиз 3.X-STABLE, 3.5.1-RELEASE, находится в
каталоге с 3.5.1-RELEASE.Самый последний релиз 5.X, &rel.current;-RELEASE, может
быть найден в
каталоге с &rel.current;-RELEASE.Самый последний релиз 4-STABLE, &rel2.current;-RELEASE,
можно найти в
каталоге &rel2.current;-RELEASE.Снэпшоты
4.X обычно делаются ежедневно.Выпуски 5.X
Snapshot, которые делаются ежедневно из ветви -CURRENT, предназначены для
тестеров и разработчиков.Информация о получении/приобретении FreeBSD на CD, DVD и
других носителях доступна в РуководствеКак создать зеркало проекта FreeBSD?Информация о том, как создать зеркало проекта FreeBSD, может
быть найдена в статье Зеркалирование FreeBSD.Как можно получить доступ к базе сообщений о проблемах (Problem
Report)?База данных всех сообщений пользователей о проблемах может быть
запрошена с помощью нашего
веб-интерфейса. Команда &man.send-pr.1; может быть
использована для передачи и изменения сообщений о проблемах через
электронную почту.Возможность отправки сообщений о проблемах через веб-интерфейс
в данный момент отключена по причинам постоянного её использования
не по назначению.Перед тем, как посылать сообщение об ошибке, пожалуйста,
прочтите статью Составление
сообщений о проблеме во FreeBSD о том, как писать хорошие
сообщения об ошибках.Могу ли я зазеркалировать веб-сервер FreeBSD?Есть несколько способов зеркалировать веб-сервер.Вы можете сгружать уже отформатированные файлы с
CVSup-сервера FreeBSD при помощи утилиты
net/cvsup. В файле
/usr/share/examples/cvsup/www-supfile
содержится пример конфигурации CVSup для зеркалирования
веб-сервера.Вы можете сгружать исходный код страниц веб-сервера с
любого FTP-сервера FreeBSD при помощи вашего любимого средства
зеркалирования FTP. Имейте в виду, что вам нужно будет ещё
преобразовать этот код перед тем, как размещать страницы на
вашем сервере. Зеркалирование начинайте с каталога .Другие источники информации.Пожалуйста, посмотрите список имеющейся документации на
главной странице сайта FreeBSD.Документация и поддержкаЕсть ли хорошие книги о FreeBSD?В рамках проекта создан широкий спектр документации, которая
доступна в онлайне по следующей ссылке: . Эти же самые
документы доступны и в виде пакаджей, которые можно с лёгкостью
установить в вашу систему FreeBSD. Детальная информация о пакаджах
с документацией может быть найдена в последующих параграфах.Кроме того, в Библиографии в конце этого FAQ и в Руководстве
имеются ссылки на другие рекомендуемые для чтения книги.Есть ли версии документации в другом формате, например,
в виде обычного текста ASCII или PostScript?Да. Документация имеется в нескольких различных форматах и
упакованная разными способами на FTP-сервере FreeBSD, и находится
она в каталоге
/pub/FreeBSD/doc/.Документация подразделяется на категории различными способами.
Это включает:Имя документа, например, faq или
handbook.Язык и кодировка документа. Они опираются на имена
локализаций, которые вы найдёте в каталоге
/usr/share/locale вашей системы FreeBSD.
На данный момент для документации поддерживаются следующие
языки и кодировки:КодировкаЯзыкen_US.ISO8859-1Английский (США)de_DE.ISO8859-1Немецкийes_ES.ISO8859-1Испанскийfr_FR.ISO8859-1Французскийja_JP.eucJPЯпонский (кодировка EUC)ru_RU.KOI8-RРусский (кодировка KOI8-R)zh_TW.Big5Китайский (кодировка Big5)Некоторые документы могут иметься не на всех
языках.Формат документа. Мы создаём документацию в нескольких
различных форматах. У каждого из форматов имеются свои плюсы
и свои минусы. Некоторые форматы лучше подходят для чтения
в онлайне, когда как другие предназначены для получения
эстетично выглядящей на бумаге копии. Наличие документации
во всех этих форматах обеспечивает возможность прочтения
нашими пользователями любой её части как с экрана монитора, так
и на бумаге после вывода на печать. На данный момент
поддерживаются следующие форматы;ФорматЗначениеhtml-splitНабор маленьких связанных друг с другом
HTML-файлов.htmlОдин большой HTML-файл, полностью содержащий
документ.pdbФормат баз данных Palm Pilot, для использования с
утилитой iSilo.pdfAdobe's Portable Document FormatpsPostScriptrtfRich Text Format от Microsoft
Номера страниц при загрузке в Word
автоматически не обновляются. Нажмите
CTRLA,
CTRLEND,
F9 после загрузки документа для
обновления номеров страниц.txtОбычный текстСпособ компрессии и создания архива. Сейчас используется
три.В случае формата html-split, файлы
архивируются с помощью &man.tar.1;. Получающийся файл
.tar затем подвергается сжатию по
схемам, подробно описываемым далее.Все другие форматы генерируют один файл с именем
book.format
(то есть book.pdb,
book.html, и так далее).Эти файлы затем сжимаются по двум схемам сжатия.СхемаОписаниеzipФормат Zip. Если вам нужно будет развернуть
это во FreeBSD, то потребуется установить сначала
порт archivers/unzip.bz2Формат BZip2. Используется реже, чем Zip,
но, как правило, даёт файлы меньшего размера.
Чтобы работать с такими файлами, установите порт
archivers/bzip2.Таким образом, версия Руководства в формате PostScript,
упакованная с помощью BZip2, будет находиться в файле с
именем book.ps.bz2 в каталоге
handbook/.После выбора формата и способа компрессии, в котором вы хотите
получить файл, вы должны определиться, должен ли он быть в виде
пакаджа FreeBSD.Плюсом сгрузки и установки в виде пакаджа является то, что
документация затем может управляться обычными средствами для
работы с пакаджами, такими, как &man.pkg.add.1;
и &man.pkg.delete.1;.Если вы решили сгрузить и установить пакадж, то вы должны
знать имя файла. Файлы, содержащие документацию в виде пакаджей,
находятся в каталоге packages. Каждый такой
файл имеет вид document-name.lang.encoding.format.tgz.Например, FAQ на английском языке в формате PDF находится в
пакадже faq.en_US.ISO8859-1.pdf.tgz.Зная это, для установки пакаджа с англоязычным FAQ в формате
PDF вы можете воспользоваться следующей командой.&prompt.root; pkg_add ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgzСделав это, можно использовать утилиту &man.pkg.info.1; для
определения того, куда файл был установлен.&prompt.root; pkg_info -f faq.en_US.ISO8859-1.pdf
Information for faq.en_US.ISO8859-1.pdf:
Packing list:
Package name: faq.en_US.ISO8859-1.pdf
CWD to /usr/share/doc/en_US.ISO8859-1/books/faq
File: book.pdf
CWD to .
File: +COMMENT (ignored)
File: +DESC (ignored)Как видите, book.pdf будет установлен в
/usr/share/doc/en_US.ISO8859-1/books/faq.Если же вы не хотите использовать пакаджи, то вам нужно самим
сгрузить упакованные файлы, распаковать их, а затем скопировать
документацию в соответствующие места.Например, версия FAQ в виде отдельных HTML-файлов, упакованная
при помощи &man.bzip2.1;, находится в файле
doc/ru_RU.KOI8-R/books/faq/book.html-split.tar.bz2.
Для сгрузки и распаковки этого файла вам нужно сделать вот
что.&prompt.root; fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2
&prompt.root; bzip2 -d book.html-split.tar.bz2
&prompt.root; tar xvf book.html-split.tarУ вас получится набор файлов .html.
Главным является index.html, и в нём
находится оглавление, вводный материал и ссылки на остальные части
документа. После этого вы их можете копировать и перемещать при
необходимости на окончательное местоположение.Где найти информацию по спискам рассылки FreeBSD?Исчерпывающая информация содержится в разделе
Руководства, который посвящён спискам рассылки.Где можно найти информацию о проблеме 2000 года во
FreeBSD?Полная информация находится на странице Готовности к 2000
+ URL="&url.main;/y2kbug.html">Готовности к 2000
году.Какие существуют телеконференции по FreeBSD?Полная информация о группах новостей есть в разделе Руководства,
касающемся телеконференций.Существуют ли каналы IRC (Internet Relay Chat) по
FreeBSD?Да, большинство сетей IRC имеют канал FreeBSD:Канал #FreeBSD в сети EFNet посвящён
FreeBSD, но не обращайтесь туда за технической поддержкой и
даже не пытайтесь найти человека, который поможет вам
обойтись без чтения страниц Справочника или собственных
изысканий. Этот канал предназначен в первую и основную
очередь для общения, и в круг обсуждаемых тем входят секс,
спорт, ядерное оружие, как будто это и есть FreeBSD. В
общем, вас предупредили! Канал доступен на сервере
irc.chat.org.Канал #FreeBSDhelp в сети EFNet
предназначен для помощи пользователям FreeBSD. Здесь гораздо
более благосклонно относятся к вопросам, чем на канале
#FreeBSD.Канал #FreeBSD в сети DALNET
доступен на сервере irc.dal.net в США и на
irc.eu.dal.net в Европе.Канал #FreeBSD в сети UNDERNET
доступен на серверах us.undernet.org в США и
eu.undernet.org в Европе. Так как это канал
взаимопомощи, приготовьтесь к чтению документации, к которой
вас отошлют.Канал #FreeBSD в сети HybNet. Этот канал
на самом деле является каналом
взаимопомощи. Список серверов можно найти на сайте сети HybNet.Все эти каналы разные и не имеют отношения друг к другу. Их
стили общения также отличаются, так что вам, может быть, придётся
попробовать все, чтобы найти тот, который соответствует вашему
стилю. Как и обычно с любым каналом IRC,
если вы легко раздражаетесь или не можете иметь дела с большим
количеством лиц школьного (и младшего школьного) возраста,
пытающихся озвучить свои попытки самоутвердиться, не обращайте на
это внимания.Где можно пройти платные курсы по FreeBSD и получить
поддержку?DaemonNews проводит платные курсы и осуществляет коммерческую
поддержку FreeBSD. Дополнительную информацию можно найти на их
сайте BSD Mall.FreeBSD Services Ltd осуществляет коммерческую поддержку
FreeBSD в Великобритании (а также продаёт FreeBSD на DVD). Более
полную информацию можно получить на их веб-сайте.FreeBSD Mall предоставляет поддержку FreeBSD на коммерческой
основе. Вы можете получить более полную информацию с их веб-сайта.Чтобы попасть в этот список, другие организации,
осуществляющие обучение и поддержку, должны обратиться к
нам в проект.NikClaytonnik@FreeBSD.orgУстановкаКакой файл нужно скачать для установки FreeBSD?До выхода в свет релиза FreeBSD 3.1 для установки вам был нужен
только один файл с образом дискеты,
floppies/boot.flp. Однако, начиная с версии
3.1, во FreeBSD была добавлена изначальная поддержка очень широкого
спектра оборудования, что занимает значительно больший объём
дисковое пространства, поэтому для установки FreeBSD версий 3.X и
выше вам нужны образы двух дискет:
floppies/kernel.flp и
floppies/mfsroot.flp. Эти образы нужно
перенести на дискеты с помощью таких утилит, как
fdimage или &man.dd.1;.Если вы хотите скачать дистрибутив самостоятельно (например, для
установки с раздела DOS), вот список рекомендованных частей
дистрибутива:bin/manpages/compat*/doc/src/ssys.*Полные инструкции по этой процедуре и об установке вообще можно
найти в разделе
Руководства, посвящённом инсталляции FreeBSD.Помогите! Загрузочный файл не помещается на дискету!На дискету размером 3.5 дюйма (1.44Мб) может поместиться
1474560 байт данных. Образ дискеты имеет размер ровно 1474560
байт.Типичные ошибки при подготовке загрузочной дискеты:Образ дискеты был загружен по FTP не в режиме
binary.Некоторые клиентские программы FTP используют по умолчанию
текстовый (ascii) режим передачи и
пытаются поменять все принятые последовательности символов
"конец строки" на соответствующие им в вашей системе. В таком
случае образ загрузочного диска будет неизбежно испорчен.
Проверьте размер полученного файла: если он не
точно такой же, как на FTP-сервере, то
ошибка произошла, скорее всего, в процессе передачи.Во избежание этого введите команду
binary в командной строке FTP после того,
как вы подключитесь к серверу, но до того, как начали
скачивать файл.Для переноса образа на дискету была использована команда DOS
copy (или её аналог с графическим
интерфейсом).Программы типа copy не работают с
образами дискет, предназначенными для загрузки. Образ содержит
полное содержимое дискеты, дорожка за дорожкой, и не
предназначен для помещения на дискету в качестве обычного
файла. Вам необходимо перенести его на дискету
непосредственно, используя низкоуровневые
средства (такие, как fdimage или
rawrite), описанные в Руководстве.Где инструкции по установке FreeBSD?Инструкции по установке могут быть найдены в
главе
Руководства, посвящённой установке FreeBSD.Что мне нужно иметь для запуска FreeBSD?Вам нужен персональный компьютер не ниже 386, с 5 или более
мегабайтами ОЗУ и по крайней мере 60Мб свободного пространства на
винчестере. Система может работать с дешёвым графическим
адаптером MDA, но для работы с X11R6 требуется
адаптер стандарта VGA или лучше.Обратитесь также к .У меня только 4Мб ОЗУ. Смогу ли я установить FreeBSD?FreeBSD 2.1.7 была последней версией, которую можно было
проинсталлировать на системе с 4МБ ОЗУ. FreeBSD 2.2 и более
поздние версии требуют для установки новой системы по крайней мере
5МБ ОЗУ.Все версии FreeBSD будут работать с 4МБ
ОЗУ, просто на 4МБ нельзя запустить инсталляционную программу. Вы
можете добавить дополнительную память для инсталляции, если вам
это нужно, а после того, как система будет установлена и запущена,
вернуться к конфигурации с 4МБ. Либо вы можете подключить ваш диск
к компьютеру с ОЗУ, большим чем 4МБ, установить систему и
переставить диск обратно.После установки вы можете построить ядро, которое будет
работать на 4МБ. Кто-то даже умудрялся загружаться с 2МБ, хотя
система была практически неработоспособна.Как сделать оригинальную загрузочную дискету?В настоящий момент нет простого способа
сделать оригинальную загрузочную дискету. Вам придётся делать
новый релиз полностью, включая загрузочную дискету.Чтобы сделать оригинальный релиз, следуйте инструкциям в
статье о процессе
выпуска релизов.Могу ли я иметь более чем одну операционную систему на моём
ПК?Взгляните на это
руководство.Может ли Windows 95/98 сосуществовать с FreeBSD?Сначала установите Windows 95/98, а затем FreeBSD. Менеджер
загрузки FreeBSD будет управлять процессом загрузки Win95/98 или
FreeBSD. Если после этого вы ещё раз выполните процедуру
установки Windows 95/98, то при этом менеджер загрузки будет грубо
удалён. Если такое случится, обратитесь к следующему
разделу.Windows 95/98 уничтожила мой менеджер загрузки! Как мне его
вернуть?Вы можете переустановить менеджер загрузки FreeBSD тремя
способами:Запустите DOS, перейдите в каталог tools/ вашего
дистрибутива FreeBSD и найдите программу
bootinst.exe. Запустите её следующим
образом:...\TOOLS>bootinst.exe boot.binи менеджер загрузки будет переустановлен.Загрузитесь с установочной дискеты FreeBSD и перейдите в
меню установки Custom install. Выберите пункт Partition.
Выберите устройство, на котором будет располагаться ваш
менеджера загрузки (это будет самый первый диск) и когда вы
перейдете к редактированию
разделов, первым делом (то есть ещё не делая никаких изменений)
выберите (W)rite. Последует запрос на подтверждение, ответьте
yes, и когда вы попадёте в меню выбора менеджера загрузки,
выберите пункт Boot Manager. Менеджер загрузки
будет переписан на диск. Теперь нужно выйти из меню установки
и загрузиться с винчестера как обычно.Загрузитесь с установочной дискеты (или компакт-диска)
FreeBSD и найдите пункт меню Fixit. Выберите
Fixit floppy или CDROM #2 (живая файловая
система) соответственно вашему случаю и вы окажетесь в
приглашении командного процессора.
Теперь выполните следующую команду:Fixit#fdisk -B -b /boot/boot0 bootdeviceподставив вместо bootdevice
название реально используемого для загрузки устройства,
например, ad0 (первый диск IDE),
ad4 (первый диск IDE на дополнительном
контроллере), da0 (первый диск SCSI) и
тому подобное.На компьютерах IBM Thinkpad серий A, T и X операционная система
устанавливается, но при следующей перезагрузке машины зависают.
Как можно от этого избавиться?Из-за ошибки в первых версиях BIOS от IBM раздел FreeBSD на
этих машинах распознаётся как возможный служебный раздел FAT для
режима сна. Когда BIOS пытается обработать раздел FreeBSD,
происходит зависание.Согласно IBMПисьмо от Keith Frechette
kfrechet@us.ibm.com.,
исправление включено в следующие релизы моделей/BIOS.МодельНомер версии BIOST20IYET49WW и вышеT21KZET22WW и вышеA20pIVET62WW и вышеA20mIWET54WW и вышеA21pKYET27WW и вышеA21mKXET24WW и вышеA21eKUET30WWСообщалось, что в более поздних версиях BIOS от IBM эта ошибка
может появиться снова. Это
сообщение от Jacques Vidrine в &a.mobile; описывает
процедуру, выполнение которой может помочь, если ваш новый лэптоп
от IBM не загружает FreeBSD, и вы можете изменить BIOS.Если у вас BIOS более ранней версии и обновление для вас не
представляется возможным, то это можно обойти, установив FreeBSD,
изменив идентификатор раздела, используемый FreeBSD и установив
новые загрузочные блоки, которые могут работать с различными ID
разделов.Во-первых, вам нужно привести компьютер в состояние, когда он
проходит через экран самотестирования. Для этого требуется включить
машину, не позволяя ей найти раздел FreeBSD на ведущем диске. Одним
из способов сделать это является извлечение винчестера и временное
его установка на более старый ThinkPad (такой, как ThinkPad 600) или
настольный ПК с подходящим переходным кабелем. Здесь вы можете
удалить раздел FreeBSD и вернуть диск на место. ThinkPad должен
загружаться снова.С работающей машиной вы можете использовать процедуру, описанную
здесь, для получения рабочей системы FreeBSD.Сгрузите файлы boot1 и
boot2 по адресу .
Поместите эти файлы куда-нибудь, откуда вы сможете их потом
взять.Установите FreeBSD обычным образом на ThinkPad.
Не используйте режим Dangerously
Dedicated. Не перезагружайтесь
после окончания установки.Переключитесь в экран Emergency Holographic
Shell (ALTF4) или запустите оболочку
fixit.Используйте команду &man.fdisk.8; для изменения
идентификатора раздела FreeBSD со 165 на
166 (этот тип используется в OpenBSD).Перепишите файлы boot1 и
boot2 на локальную файловую систему.Для записи boot1 и
boot2 на слайс с FreeBSD воспользуйтесь
командой &man.disklabel.8;.&prompt.root; disklabel -B -b boot1 -s boot2 ad0snЗдесь n означает номер слайса,
в котором установлена FreeBSD.Выполните перезагрузку. В приглашении загрузчика вам будет
дан выбор для загрузки OpenBSD. На самом
деле при этом загружается FreeBSD.Случай, когда вы хотите загружать OpenBSD и FreeBSD на одном и
том же лэптопе, оставлен читателю в качестве упражнения.Можно ли производить установку на диск с повреждёнными
блоками?До версии 3.0 в поставку FreeBSD включалась утилита, известная
под именем bad144, которая автоматически
переносила повреждённые блоки. Так как современные диски с
интерфейсом IDE выполняют эту функцию самостоятельно, то утилита
bad144 была удалена из дерева исходных текстов
FreeBSD. Если вы собираетесь устанавливать FreeBSD 3.0 и выше, то
мы настоятельно рекомендуем приобрести новый диск. Если вы этого
делать не собираетесь, то устанавливайте FreeBSD 2.X.Если вы обнаружите испорченные блоки на современном диске IDE,
то весьма вероятно, что он скоро выйдет из строя совсем (собственная
способность переносить испорченные блоки исчерпана, что означает
очень большую порчу поверхности); мы рекомендуем приобрести новый
диск.Если повреждённые блоки находятся на SCSI диске, взгляните на
такое решение.Я только что обновил систему с 3.X до 4.X, и первая загрузка
завершилась неудачно с сообщением bad sector table not
supportedFreeBSD 3.X и более ранние версии поддерживают утилиту
bad144, которая автоматически переназначает
испорченные блоки. Во FreeBSD 4.X и выше этого не поддерживается,
так как в современные диски IDE эта функциональность уже включена.
Обратитесь к этому
вопросу для получения более полной информации.Чтобы исправить это после обновления системы, вам нужно
физически поместить диск в рабочую систему и воспользоваться
командой &man.disklabel.8;, как описано в следующем вопросе.Как указать на то, что на диске имеется информация
bad144 до того, как я попытаюсь обновить
систему до FreeBSD 4.0 и это приведет к ошибке?Для этого воспользуйтесь программой &man.disklabel.8;.
disklabel -r дисковое
устройство выдаст вам содержимое метки
диска. Посмотрите на поле flags. Если вы
видите flags: badsect, то этот диск использует
bad144. К примеру, на следующих дисках включено
bad144:&prompt.root; disklabel -r wd0
# /dev/rwd0c:
type: ESDI
disk: wd0s1
label:
flags: badsect
bytes/sector: 512
sectors/track: 63Как удалить bad144 с моей системы версии до
4.X, чтобы я смог спокойно обновить систему?Используйте команду disklabel -e -rwd0 для
редактирования метки диска. Просто удалите слово
badsect из поля флагов, сохраните и выйдите.
Файл bad144 будет все же занимать некоторое пространство на вашем
диске, но диск сам по себе будет возможно использовать.Мы продолжаем рекомендовать вам купить новый диск, если у вас
есть большое количество испорченных блоков.Странные вещи происходят при загрузке с инсталляционного
диска!Если вы видите, что машина зависает или неожиданно
перезагружается, когда вы пытаетесь загрузиться с установочной
дискеты, вы должны задать себе три вопроса:-Вы используете новую, только что отформатированную дискету
(предпочтительно неиспользованную прямо из коробки, а не ту,
что пришла с популярным журналом и последние три года провела
под диваном)?Вы скачали образ дискеты в двоичном режиме?
(не смущайтесь, даже лучшие из нас время от времени скачивают
двоичный файл в режиме ASCII!)Если вы используете Windows95 или Win98, удостоверьтесь,
что вы запускаете fdimage или
rawrite в режиме чистого DOS? Эти
операционные системы могут влиять на программы, работающие
непосредственно с оборудованием, что и делает программа
создания установочного диска; даже запуск из DOS в графической
оболочке может вызвать проблемы.Есть сведения, что Netscape вызывает проблемы при скачивании
загрузочного диска, так что лучше всего использовать специальную
программу FTP, если она у вас есть.Я загрузился с ATAPI CDROM, однако программа установки
сообщила, что CDROM не найден. Куда он подевался?Обычной причиной возникновения такой проблемы является
неправильно сконфигурированный привод CDROM. Теперь зачастую ПК
продаются с CDROM, установленным как ведомое устройство на втором
контроллере IDE, но без ведущего устройства на этом контроллере.
Согласно спецификации ATAPI, такая конфигурация неверна, однако
Windows в таком случае всё же работает, и BIOS игнорирует это при
загрузке. Вот почему BIOS может видеть CDROM при загрузке, а
FreeBSD для завершения установки - нет.Переконфигурируйте вашу систему так, чтобы CDROM оказался либо
основным устройством на том IDE-контроллере, на котором он
установлен, либо ведомым устройством на контроллере IDE, который
имеет ведущее устройство.Можно ли я установить систему на лэптоп через PLIP (Parallel
Line IP)?Да. Используйте стандартный кабель Laplink. Если необходимо,
обратитесь к разделу
Руководства о PLIP для выяснения деталей о работе в сети
через параллельный порт.Если вы работаете с FreeBSD 3.X или более ранней версией,
взгляните также на страницу, посвящённую мобильным
вычислениям.Какие параметры диска я должен использовать?Под параметрами диска мы понимаем число
дорожек, головок и секторов на дорожку на диске, что для простоты
обозначается как C/H/S. Именно так работает BIOS персональных
компьютеров при чтении или записи диска.Это вызывает много недоразумений у начинающих системных
администраторов. Прежде всего, физические
параметры диска SCSI не имеют никакого значения, так как FreeBSD
работает в терминах дисковых блоков. Фактически нет такого
показателя, как физические параметры, так как
плотность размещения секторов различна по всему диску. То, что
производители называют физическими
параметрами, есть не что иное, как параметры, которые
они получили по занимаемому пространству. Для
дисков IDE, FreeBSD работает в терминах C/H/S, но во всех
современных дисках они преобразовываются во внутреннее
представление.Имеют значение только логические
параметры. Это то, что получает BIOS, когда спрашивает
какие у тебя параметры? Затем они используются для
обращения к диску. Так как FreeBSD использует BIOS при загрузке,
очень важно получить верные параметры. В частности, если у вас на
диске находятся несколько операционных систем, они обе должны иметь
одинаковое представление о параметрах диска. В противном случае
серьёзные проблемы при загрузке неизбежны!В случае дисков SCSI, параметры используются в зависимости от
того, включена ли поддержка расширенной трансляции на вашем
контроллере (что часто обозначается как поддержка дисков
DOS >1GB или что-то похожее). Если эта возможность
выключена, то используйте N дорожек, 64
головки и 32 сектора на дорожку, где N
- это ёмкость диска в мегабайтах. Например, 2-гигабайтный диск
должен иметь 2048 дорожек, 64 головки и 32 сектора на
дорожку.Если трансляция включена (что обычно
используется для преодоления некоторых ограничений MSDOS) и
ёмкость диска превышает 1ГБ, используется M дорожек, 63 сектора на
дорожку (не 64) и 255 головок, где 'M' - это
объём диска в мегабайтах, поделённый на 7.844238 (!). Таким
образом, наш диск объёмом 2ГБ будет иметь 261 дорожку, 63 сектора
на дорожку и 255 головок.Если вы не уверены, или FreeBSD ошибается при определении
параметров диска во время установки, самый простой способ решить
эту проблему - создать на диске маленький раздел DOS. После этого
BIOS должна определить параметры диска правильно (и вы всегда
можете удалить раздел DOS в редакторе разделов, если вы не хотите
его сохранить. Однако вы можете оставить его для настройки сетевых
адаптеров и тому подобных вещей.Кроме того, существует свободно доступная утилита,
распространяемая вместе с FreeBSD, которая называется
pfdisk.exe. Вы можете найти её в каталоге
tools компакт-диска с FreeBSD или на различных
FTP-серверах с FreeBSD. Эту программу можно использовать для
определения параметров, используемых другими операционными
системами, расположенными на вашем диске. Затем вы можете
использовать эти параметры в редакторе разделов.Есть ли ограничения на разбиение диска?Да. Вы должны убедиться, что корневой раздел находится до
1024 дорожки, так чтобы BIOS могла загрузить с него ядро. (Заметьте,
что это ограничение BIOS компьютера, а не FreeBSD).Для диска SCSI, это, как правило, будет означать, что
корневой раздел располагается в первых 1024Мб (или в первых 4096Мб,
если включен режим расширенной трансляции - посмотрите предыдущий
вопрос). Для дисков IDE соответствующее значение равно 504Мб.Совместима ли FreeBSD с менеджерами дисков?FreeBSD распознаёт Ontrack Disk Manager и допускает его
использование. Другие менеджеры дисков не поддерживаются.Если вы хотите использовать диск с FreeBSD, вам не нужен
менеджер диска. Отконфигурируйте диск на столько пространства,
сколько сможет обработать BIOS (обычно 504 мегабайта). и
FreeBSD распознает, сколько места у вас есть на самом деле.
Если вы используете старый диск с контроллером MFM, вам может
потребоваться точно указать FreeBSD количество используемых
дорожек.Если вы хотите использовать FreeBSD совместно с другой
операционной системой, это можно сделать и без менеджера диска:
удостоверьтесь, что загрузочный раздел FreeBSD и раздел для другой
операционной системы не выходят за пределы 1024 дорожки. Если вы
будете осторожны, 20 мегабайтного раздела для загрузки будет
достаточно.При загрузке FreeBSD выдаётся сообщение Missing Operating
SystemЭто классический случай, когда FreeBSD и DOS или другая операционная
система конфликтуют по поводу параметров
диска. Вам нужно будет переустановить FreeBSD, но имейте в виду, что
инструкции, данные выше, помогают всегда.После приглашения менеджера загрузки F? ничего не
происходит.Это ещё один признак проблемы, описанной в предыдущем разделе.
Параметры диска в BIOS и параметры, используемые FreeBSD, не
совпадают. Если ваш контроллер или BIOS поддерживают трансляцию
дорожек (часто обозначаемую как >1GB drive support),
попробуйте включить эту возможность и переустановить FreeBSD.Нужно ли устанавливать все исходные тексты системы?В общем случае, нет. Однако мы настоятельно рекомендуем
установить, как минимум, исходные тексты набора
base, включающий некоторые файлы, здесь
упоминаемые, и sys, в который включены исходные
тексты ядра. Для работы системы присутствия исходных текстов не
требуется, разве что для программы конфигурирования ядра
&man.config.8;. За исключением исходных текстов ядра, структура
исходных текстов системы позволяет монтировать их в режиме "только
для чтения" через NFS и генерировать выполнимые файлы программ
(из-за ограничений в исходных текстах ядра мы рекомендуем
монтировать их не прямо в /usr/src, а в
какой-нибудь другой каталог с символическими ссылками для
дублирования структуры каталогов).Наличие исходных текстов системы значительно облегчает процесс
перехода на новые версии FreeBSD.Для выбора подмножества исходных текстов, которое вы хотите
установить, используйте пункт меню Custom, когда находитесь в меню
Distributions программы установки.Нужно ли перекомпилировать ядро?Построение нового ядра всегда было необходимым шагом при
установке FreeBSD, однако последние релизы предоставляют более
дружественный инструмент конфигурации ядра. В командной строке
на приглашение загрузчика FreeBSD (boot:) введите и вы
попадёте в экран визуальной настройки, которая позволяет
конфигурировать настройки ядра для большинства адаптеров ISA.Однако рекомендуется, что потом вы всё же построите новое ядро,
содержащее только те драйверы, которые вам нужны, для того,
чтобы сэкономить немного ОЗУ, хотя для большинства систем это
больше не является большой необходимостью.Какой из паролей DES, Blowfish или MD5 я должен использовать,
и как указать, какого типа пароли используются
пользователями?По умолчанию во FreeBSD используется формат паролей на основе
MD5. Это делается в предположении, что он
более защищён, чем традиционный формат паролей Unix, в котором
используется схема на основе алгоритма DES.
Пароли DES остаются применимыми, если вам нужно использовать файл
паролей совместно с более старыми операционными системами, в
которых используется менее защищённый формат паролей (их можно
использовать, если в программе sysinstall вы выберите установку
дистрибутива crypto или установите исходные тексты
пакета crypto в случае построения из исходных текстов). Установка
криптографических библиотек позволит вам также использовать пароли
в более защищённом формате Blowfish. Управление выбором
используемого формата для новых паролей осуществляется через
параметр входа passwd_format в файле
/etc/login.conf, принимающий значения
des, blf (если они есть) или
md5. Более подробная информация о параметрах входа
находится на странице Справочника &man.login.conf.5;.Загрузка с установочной дискеты прерывается на сообщении
Probing Devices.... Почему?Если у вас установлены устройства IDE Zip или Jaz, уберите их
и попробуйте снова. Они могут мешать инсталляционной программе. После
того, как система будет установлена, вы можете снова подключить
устройства. Надеемся, что это будет исправлено в более поздних
релизах.Почему появляется сообщение panic: cant mount
root после перезагрузки только что установленной
системы.Эта ошибка проявляется, когда есть несогласование между
представлениями загрузочного блока и ядра о дисковых устройствах.
Эта ошибка обычно проявляется на системах с двумя дисками IDE, с
винчестерами, установленными как ведущий или единственный на
отдельных контроллерах IDE, с FreeBSD, инсталлированной на втором
контроллере IDE. Программа в загрузочных блоках полагает, что
система установлена на wd1 (второй диск BIOS), тогда как ядро
даёт первому диску на втором контроллере название wd2. После
обнаружения устройства ядро пытается смонтировать то, что
загрузочные блоки выдают за загрузочный диск, wd1, тогда как он
на самом деле wd2, и ошибается.Для разрешения этой проблемы выполните одно из следующих
действий:Для FreeBSD 3.3 и выше, перегрузите систему и нажмите
Enter при появлении приглашения
Booting kernel in 10 seconds; hit [Enter] to
interrupt. Вы окажетесь в загрузчике.После этого наберите set
root_disk_unit="disk_number".
Здесь в качестве disk_number должен
быть указан 0, если FreeBSD установлена на
ведущем диске первого контроллера IDE, 1,
если она установлена на ведомом диске первого контроллера IDE,
2, если система находится на ведущем диске
второго IDE-контроллера и 3, если она
установлена на ведомом диске второго контроллера IDE.Затем введите команду boot, и ваша
система должна нормально загрузиться.Чтобы сделать эти изменения постоянными (то есть чтобы вам
не было нужды выполнять эти действия каждый раз при
перезагрузке или включении вашей машины с FreeBSD), поместите
строчку
root_disk_unit="disk_number"
в файл /boot/loader.conf.local.При использовании FreeBSD 3.2 и более ранних версий в
приглашении Boot: наберите 1:wd(2,a)kernel и
нажмите Enter. Если система запустилась,
выполните команду echo "1:wd(2,a)kernel" >
/boot.config, чтобы сделать это строкой загрузки по
умолчанию.Поместите диск с FreeBSD на первичный контроллер IDE, так
чтобы именования диском пришли в соответствие.Перестройте ядро,
изменив конфигурацию контроллера wd на следующее:controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
disk wd0 at wdc0 drive 0
# disk wd1 at wdc0 drive 1 # comment out this line
controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
disk wd1 at wdc1 drive 0 # change from wd2 to wd1
disk wd2 at wdc1 drive 1 # change from wd3 to wd2Проинсталлируйте новое ядро. Если вы переместили ваши
диски и хотите восстановить предыдущую настройку, замените
диски в нужной конфигурации и перезагрузитесь. Ваша система
должна нормально запуститься.Какие имеются ограничения на объём оперативной памяти?Размер оперативной памяти ограничен объёмом в 4 гигабайта.
Если вы собираетесь устанавливать
столько оперативной памяти в компьютер, будьте внимательны. Скорее
всего, вам придётся использовать память ECC и для уменьшения
нагрузки также взять 9-чиповые модули памяти вместо
18-чиповых.Какие существуют ограничения для файловой системы ffs?Для файловой системы ffs максимальный теоретический размер
равен 8 терабайтам (2Г блоков) или 16ТБ при стандартном размере
блока 8К. На практике есть программное ограничение в 1 терабайт,
но с некоторыми модификациями достижимы 4 терабайта (и такие
системы существуют).Максимальный размер одного файла ffs равен примерно 1Г блоков,
или 4ТБ при размере блока 4К.
Maximum file sizesразмер блока fs2.2.7-stable3.0-currentработаетдолжно работать4K4T-14T-14T-1>4T8K>32G8T-1>32G32T-116K>128G16T-1>128G32T-132K>512G32T-1>512G64T-164K>2048G64T-1>2048G128T-1
При размере блока файловой системы 4К, тройная адресация
блоков работает и всё должно быть ограничено максимальным
количеством блоков, которое задаётся в виде тройной переадресации
блока (примерно 1K^3 + 1K^2 + 1K), однако всё ограничивается
(ошибочным) лимитом 1Г-1 на количество блоков файловой системы.
Это ограничение должно быть равным 2Г-1. При количестве блоков,
приближающемся к 2Г-1, появляются некоторые ошибки, но этот предел
недостижим при размере блока 4К.При размере блока 8К и больше, всё должно быть ограничено
лимитом 2Г-1 на количество блоков файловой системы, но реально
ограничено пределом в 1Г-1 на число блоков файловой системы, кроме
случая -STABLE, недостижимый при тройной переадресации, так что
предел равен максимальному числу блоков файловой системы, который
может быть представлен через двойную переадресацию (примерно
(размер блока/4)^2 + (размер блока/4)), и под -CURRENT превышение
этого ограничения может вызвать проблемы. Использование верного
ограничения в 2Г-1 блоков вызывает проблемы.Я скомпилировал новое ядро и при загрузке получил сообщение об
ошибке archsw.readin.failed.Вы можете осуществить загрузку системы, явно указав ядро во
время второго этапа загрузочного процесса, нажав любую клавишу после
появления символа | до запуска загрузчика. Более точно, вы обновили
исходные тексты ядра, откомпилировали и установили новое ядро
без выполнения make world . Такое не
поддерживается. Выполните make world.Что такое профили безопасности?Профиль безопасности (security profile) является
набором настраиваемых параметров, при помощи которых делается
попытка достичь желаемый баланс между безопасностью и удобством
работы, разрешая или запрещая запуск определенных программ и
изменяя другие настройки. Все подробности можно найти в разделе
Профиль
безопасности главы Руководства о действиях после
установки.Аппаратная совместимостьПоддерживает ли FreeBSD аппаратные платформы, отличные от
x86?Да. В настоящее время FreeBSD поддерживает архитектуры Intel
x86 и DEC (сейчас Compaq) Alpha. Начиная с FreeBSD 5.0,
также поддерживаются архитектуры IA-64, AMD-64 и SPARC-64.
Планируются к поддержке платформы
MIPS и PowerPC, дополнительную информацию о происходящей работе
можно получить, подписавшись соответственно на &a.ppc;
или &a.mips;. Для обсуждение общих вопросов, касающихся новых
аппаратных платформ, предназначен &a.platforms;.Если аппаратная платформа Вашего компьютера не поддерживается
FreeBSD и Вам нужно его запустить прямо сейчас, мы советуем
обратить Ваш взгляд также на NetBSD и
OpenBSD.Я хочу приобрести аппаратуру для моей системы FreeBSD. Какая
модель/производитель/тип лучше всего?Это постоянно обсуждается в списках рассылки FreeBSD. Так как
аппаратура меняется так быстро, мы это ожидаем. Мы всё
же настоятельно рекомендуем, чтобы вы прочитали
Hardware Notes для &os; &rel.current; или &rel2.current;, а также
выполнили поиск по архивам
списков рассылки перед тем, как задавать вопросы о самом последнем
и лучшем оборудовании. Весьма вероятно, что обсуждение требуемого
вам оборудование как раз было на прошлой неделе.Если вы подбираете лэптоп, посмотрите архивы списка рассылки
FreeBSD-mobile. В противном случае вам нужны архивы
FreeBSD-questions или, возможно, специфичные списки рассылки по
конкретному типу оборудования.Какие типы винчестеров поддерживает FreeBSD?FreeBSD работает с дисками стандартов EIDE и SCSI (с
соответствующими контроллерами; обратитесь к следующему разделу), и
всеми дисками, использующими оригинальный интерфейс Western
Digital (MFM, RLL, ESDI и, конечно же, IDE). Некоторые
контроллеры ESDI, использующие собственные интерфейсы, могут и не
работать: к таким относятся WD1002/3/6/7 и их клоны.Какие поддерживаются контроллеры SCSI?Полный список приведён в Hardware Notes для &os;
&rel.current; или
&rel2.current;.Какие приводы CDROM поддерживаются во FreeBSD?Поддерживаются любые SCSI-устройства чтения компакт дисков,
подключенные к поддерживаемому контроллеру.Кроме того, поддерживаются следующие оригинальные интерфейсы
CDROM:Mitsumi LU002 (8bit), LU005 (16bit) и FX001D (16bit 2x
Speed).Sony CDU 31/33ASound Blaster не-SCSI CDROMMatsushita/Panasonic CDROMATAPI-совместимые IDE CDROMВсе не-SCSI адаптеры славятся своей медлительностью по
сравнению со SCSI, а некоторые CDROM стандарта ATAPI могут и не
работать.Официальный FreeBSD CDROM ISO, а также диски CDROM от Daemon
News и FreeBSD Mall, являются загрузочными.Какие приводы CD-RW поддерживаются во FreeBSD?FreeBSD поддерживает все ATAPI-совместимые IDE-приводы CD-R или
CD-RW. Для FreeBSD версии 4.0 и выше обратитесь к справочной
странице по команде &man.burncd.8;. Для более ранних версий
FreeBSD посмотрите примеры в файле
/usr/share/examples/atapi.FreeBSD поддерживает также все SCSI-приводы CD-R или CD-RW.
Установите и используйте программу cdrecord из
системы портов или пакаджей, но проверьте, что в вашем ядре
присутствует устройство pass.Поддерживает ли FreeBSD устройства ZIP?Конечно же, FreeBSD поддерживает ZIP-устройства SCSI и ATAPI
(IDE). Устройству SCSI ZIP могут быть назначены SCSI ID только 5
или 6, и если BIOS вашего SCSI-адаптера поддерживает такую
возможность, вы можете с него даже загрузиться. Неизвестно, какие
адаптеры позволяют загрузиться с устройств, номера которых отличны
от 0 или 1, так что вам придётся обратиться к документации, если
вам это нужно.FreeBSD также поддерживает устройства Zip, работающие через
параллельный порт. Проверьте, содержит ли ваше ядро драйверы для
scbus0, da0,
ppbus0 и vp0
(ядро GENERIC содержит всё это, кроме
vp0). Если эти драйверы имеются, то
устройство должно быть доступно как
/dev/da0s4. Диски могут быть смонтированы
командами mount /dev/da0s4 /mnt или (для дисков
dos) mount_msdos /dev/da0s4 /mnt
соответственно.Также посмотрите FAQ по съёмным
носителям далее в этой главе, а также замечание о
форматировании в главе об
администрировании.Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ?Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что
для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен
выглядеть как диск IDE.Я не знаю, насколько хорошо FreeBSD поддерживает
смену носителя во время работы. Конечно, чтобы сменить диск, вам
сначала нужно его размонтировать, и обратите внимание на то, что при
загрузке все внешние устройства должны быть включены, чтобы FreeBSD
могла их распознать.Посмотрите это замечание о
форматировании.Какие многопортовые последовательные адаптеры поддерживаются во
FreeBSD?Список таких устройств находится в разделе о различных
устройствах Руководства.Некоторые безымянные клоны таких адаптеров тоже работают нормально,
особенно те, которые заявляют о своей совместимости с AST.Прочтите страницы Справочника о &man.sio.4; для получения подробной
информации о конфигурировании таких адаптеров.Поддерживает ли FreeBSD USB клавиатуры?FreeBSD 4.X и более поздние версии имеют встроенную поддержку
клавиатур USB. Некоторая поддержка устройств USB появилась во
FreeBSD 3.1, но она не всегда работает так, как в версии 3.2. Если
вы хотите поэкспериментировать с поддержкой клавиатуры USB во
FreeBSD 3.X, следуйте указаниям ниже.Используйте FreeBSD 3.X версий выше, чем 3.2.В конфигурационный файл ядра добавьте следующие строки и
перестройте ядро.controller uhci0
controller ohci0
controller usb0
controller ukbd0
options KBD_INSTALL_CDEVПерейдите в каталог /dev и создайте
специальные файлы устройств следующим образом:&prompt.root; cd /dev
&prompt.root; ./MAKEDEV kbd0 kbd1Отредактируйте файл /etc/rc.conf,
добавив следующие строки:usbd_enable="YES"
usbd_flags=""Если вы хотите использовать клавиатуру USB во FreeBSD версий
4.X или более поздних, вам достаточно включить поддержку USB в
файле /etc/rc.conf.После включения поддержки USB-клавиатуры в системе
AT-клавиатуре будет соответствовать
/dev/kbd0, а клавиатуре USB
/dev/kbd1, если они обе подключены к
системе. Если присутствует только клавиатура USB, ей будет
соответствовать /dev/ukbd0.Если вы хотите использовать клавиатуру USB на консоли, вы
должны явно указать драйверу консоли на использование имеющейся
клавиатуры USB. Это может быть сделано в процессе инициализации
системы следующей командой.&prompt.root; kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/nullЗаметьте, что, если клавиатура USB является единственной
присутствующей, она доступна как /dev/kbd0,
и поэтому команда должна выглядеть примерно так:&prompt.root; kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/nullВышеуказанную команду хорошо бы добавить в
/etc/rc.i386.Как только вы всё это сделаете, клавиатура USB будет работать и
в X-окружении без каких-либо особых настроек.Выключение и включение USB-клавиатуры на ходу может ещё не
работать совершенно корректно. Во избежание неприятностей мы
рекомендуем подключить клавиатуру перед запуском системы и не
отключать её до завершения работы системы.За дополнительной информацией обратитесь к страницам
справочной системы по &man.ukbd.4;.У меня необычная мышь типа bus mouse. Как её настроить?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)?Встроенная поддержка мыши PS/2 имеется во всех последних
версиях FreeBSD. Необходимый драйвер устройства,
psm, включён в ядро GENERIC.Если в вашем ядре его нет, то добавьте следующие строки в файл
конфигурации ядра и постройте новое ядро.Во 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 и выше строчка должна иметь вид:device psm0 at atkbdc? irq 12После того, как ядро правильно обнаружило
psm0 во время загрузки, проверьте наличие
файла устройства для psm0 в каталоге
/dev. Это можно сделать, набрав:&prompt.root; cd /dev; sh MAKEDEV psm0войдя в систему администратором.Вы можете пропустить этот шаг, если используете FreeBSD
5.0-RELEASE или более новую версию с включенным механизмом
&man.devfs.5;, так как необходимые файлы устройств будут
создаваться в каталоге /dev
автоматически.Можно ли каким-либо образом использовать мышь, кроме
X Window?Если вы используете стандартный драйвер консоли,
&man.syscons.4;, то можете использовать указатель мыши в текстовых
консолях для выделения и переноса текста. Запустите демон мыши,
&man.moused.8;, и включите отображение указателя мыши на
виртуальной консоли:&prompt.root; moused -p /dev/xxxx -t yyyy
&prompt.root; vidcontrol -m onЗдесь xxxx - это имя устройства
мыши, а yyyy - тип протокола,
используемого мышью. Даемон мыши может автоматически определять
тип протокола большинства мышей, за исключением старых, работающих
по последовательному интерфейсу. Для выполнения автоматического
определения в качестве протокола укажите auto.
Если автоматическое определение не работает, то обратитесь к
справочным страницам по &man.moused.8; для получения списка
поддерживаемых типов протоколов.Если у вас мышь типа PS/2, просто добавьте строчку
moused_enable="YES" в файл
/etc/rc.conf для запуска даемона мыши во
время загрузки системы. Кроме того, если вы хотите использовать
даемон мыши во всех виртуальных терминалах, а не только на консоли,
добавьте allscreens_flags="-m on" в файле
/etc/rc.conf.После запуска даемона мыши, доступ к мыши должен
согласовываться между даемоном мыши и другими программами типа X
Window. Обратитесь к вопросу из FAQ
Почему моя мышь не работает с X? для получения более полной
информации по этому вопросу.Как можно вырезать и копировать текст с помощью мыши в
текстовой консоли?После того, как вы запустили даемон мыши (посмотрите предыдущий раздел), нажмите кнопку 1
(левую) и двигайте мышь для выделения текста. Затем
нажмите кнопку 2 (среднюю) для его вставки с позиции текстового
курсора. Нажатие кнопки 3 (правой) расширит
выбранную текстовую область.Если у вашей мыши отсутствует средняя кнопка, вы можете её
сэмулировать или переназначить кнопки опциями даемона мыши.
Обратитесь к справочным страницам по &man.moused.8; для получения
полной информации.Поддерживает ли FreeBSD USB мыши?Рудиментарная поддержка устройств USB была добавлена во FreeBSD
3.1. В ранних версиях 3.X она не всегда работала. Начиная с
FreeBSD 4.0, устройства USB должны работать без дополнительных
ухищрений. Если вы хотите поэкспериментировать с поддержкой мыши
USB во FreeBSD 3.X, следуйте нижеприводимым указаниям.Используйте FreeBSD 3.2 и выше.В конфигурационный файл ядра добавьте следующие строки и
перестройте ядро.device uhci
device ohci
device usb
device umsВо FreeBSD версий, предшествующих 4.0, вместо этого добавьте
такие строчки:controller uhci0
controller ohci0
controller usb0
device ums0Перейдите в каталог /dev и создайте
специальный файл устройства такой командой:&prompt.root; cd /dev
&prompt.root; ./MAKEDEV ums0Вы можете пропустить этот шаг, если используете FreeBSD
5.0-RELEASE или более новую версию с включенным механизмом
&man.devfs.5;, так как необходимые файлы устройств будут
создаваться в каталоге /dev
автоматически.Отредактируйте файл /etc/rc.conf,
добавив такие строчки:moused_enable="YES"
moused_type="auto"
moused_port="/dev/ums0"
moused_flags=""
usbd_enable="YES"
usbd_flags=""Подробное обсуждение moused может быть найдено в предыдущем разделе.Чтобы использовать мышь USB при работе в X, отредактируйте
файл XF86Config. Если вы используете
XFree86 3.3.2 и выше, то в разделе Pointer
должны присутствовать такие строки:Device "/dev/sysmouse"
Protocol "Auto"Если у вас более старая версия XFree86, то в разделе
Pointer должны присутствовать
строки:Device "/dev/sysmouse"
Protocol "SysMouse"Поддержке мыши при работе в X посвящен другой раздел.Выключение и включение мыши USB на ходу может ещё не работать
совершенно корректно. Во избежание неприятностей было бы правильно
подключить мышь перед запуском системы и не отключать её до закрытия
системы.У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их
использовать во FreeBSD?Ответ, к сожалению, в зависимости от обстоятельств.
Эти мышки с дополнительными возможностями, как правило, требуют наличия
специальных драйверов. До тех пор, пока драйвер мыши или прикладная
программа не будут иметь отдельную поддержку такой мыши, она будет
работать как стандартная двух- или трёхкнопочная мышь.Возможные способы использования колёсиков мыши при работе в X Window
описаны в другом разделе.Как использовать мышь/трэкболл/сенсорную панель на
лэптопе?Посмотрите ответ на предыдущий
вопрос. Также посмотрите страницу о мобильных
вычислениях.Какие типы стримеров поддерживаются?FreeBSD поддерживает устройства SCSI и QIC-36 (с интерфейсом QIC-02),
включая 8-мм (Exabyte) и DAT.Некоторые ранние модели 8-мм стримеров не совсем соответствуют
стандарту SCSI-2 и могут работать не совсем хорошо.Поддерживает ли FreeBSD роботов для смены лент?FreeBSD поддерживает роботизированные устройства SCSI через
устройство &man.ch.4; и команду &man.chio.1;. Подробная
информация об управлении такими роботами может быть найдена на
странице Справочника по команде &man.chio.1;.Если вы не используете AMANDA
или другое программное обеспечение, умеющее работать с роботами,
имейте в виду, что они могут только переносить ленты с одного
места на другое, так что вам нужно самим отслеживать, в каком
слоте находится нужная лента, и в какой слот нужно вернуть ленту,
находящуюся в стримере.Какие звуковые адаптеры поддерживаются во 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?При каждой перезагрузке вам нужно запускать следующую команду:
&prompt.root; mixer pcm 100 vol 100 cd 100Какие сетевые адаптеры поддерживает FreeBSD?Обратитесь к файлу Hardware Notes, поставляемому с каждым
релизом FreeBSD, для получения полного списка.На моей машине отсутствует математический сопроцессор - это
плохо?Это касается только владельцев компьютеров 386/486SX/486SLC - во
всех остальных машинах модуль вычислений с плавающей точкой объединён
с центральным процессором.В общем случае это не проблема, но в отсутствии сопроцессора вы
можете столкнуться со снижением производительность и точности при
использовании программной эмуляции сопроцессора (обратитесь к разделу
об эмуляции вычислений с плавающей точкой).
В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение
математического сопроцессора настоятельно рекомендуется, он того
стоит.Некоторые математические сопроцессоры работают лучше, чем другие.
Нам неприятно это признавать, но Intel пока никого не подводил. Если
вы не уверены, что сопроцессор будет работать с FreeBSD, избегайте
клонов.Какие ещё устройства поддерживаются во FreeBSD?В Руководстве
приведён список остальных устройств, которые поддерживаются во
FreeBSD.Поддерживает ли FreeBSD управление энергосбережением на
лэптопах?FreeBSD поддерживает APM на некоторых машинах.
Поищите в файле конфигурации ядра LINT слово
APM. Более полная информация может быть найдена в
справочной странице по &man.apm.4;.Решение специфичных проблем с аппаратным обеспечениемЭтот раздел содержит решения специфичных проблем с аппаратным
обеспечением, с которыми сталкиваются наши пользователи.Компьютеры Micron зависают при загрузкеНекоторые материнские платы Micron имеют BIOS, не удовлетворяющую
стандарту PCI BIOS, что приводит к печальным последствиям при
загрузке FreeBSD, потому что имеет место несоответствие устройств
PCI занимаемым ими адресам.Для решения этой проблемы отключите в BIOS опцию Plug and Play
Operating System.Более подробная информация об этой проблеме находится по следующему
адресу: Почему 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 программные модемы, такие, как
Winmodem?FreeBSD поддерживает работу со многими программными модемами
посредством специального дополнительного программного обеспечения.
Установка порта comms/ltmdm
добавит поддержку
для модемов на основе очень популярного набора микросхем Lucent LT.
Порт comms/mwavem поддерживает
модемы, установленные в лэптопах IBM Thinkpad 600 и 700.Вы не сможете установить FreeBSD, работая через программный
модем; это программное обеспечение должно быть установлено после
установки ОС.Как сделать, чтобы приглашение boot: выводилось на консоль на
последовательном порту?Постройте ядро с параметром
options COMCONSOLE.Создайте файл /boot.config, поместив туда только текст
.Отключите клавиатуру.Подробная информация находится в файле
/usr/src/sys/i386/boot/biosboot/README.serial.Почему сетевой адаптер 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Поддерживает ли FreeBSD многопроцессорные системы (SMP)?Да. Поддержка SMP в ядре GENERIC не
включена, так что для её включения вам нужно перекомпилировать
ядро. Посмотрите в файл /sys/i386/conf/LINT,
чтобы определить, какие параметры нужно поместить в
конфигурационный файл вашего ядра.При загрузке с установочной дискеты машины с материнской платой
ASUS K7V зависают. Как это исправить?Войдите в настройку BIOS и выключите защиту от
загрузочных вирусов.Устранение некоторых проблемНа моём винчестеры есть запорченные блоки!Если это SCSI-устройство, то винчестер должен иметь возможность
автоматической переадресации таких блоков. Однако по непонятным
причинам во многих поставляемых дисках эта возможность
отключена...Чтобы её включить, вам нужно изменить режим работы устройства,
что во FreeBSD может быть выполнено
администратором посредством команды&prompt.root; 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) tedm@toybox.placo.comДля дисков 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 (вы
можете это увидеть по нажатию AltF2).
Если возникнут проблемы при
создании файла с запорченными секторами, вы установили слишком
большие параметры диска - перезагрузитесь и начните всё сначала
(включая повторные разбиение на разделы и форматирование
винчестера в 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.Почему FreeBSD не распознаёт 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. Полное описание
причин содержится в этом
замечании.Выдаются сообщения типа ed1:
timeout.Обычно это вызвано конфликтом прерываний (например, двух
адаптеров, использующих один и тот же IRQ). FreeBSD до версии
2.0.5R была нечувствительна к таким конфликтам, и драйвер сетевого
адаптера оставался работоспособным даже при конфликтах IRQ. Однако
с версии 2.0.5R и выше, конфликты IRQ больше не считаются
безобидными. Загрузитесь с опцией -c и смените строку,
описывающую ed0/de0/... на соответствующую вашей системе..Если вы используете разъём BNC сетевого адаптера, таймауты
устройства могут быть вызваны плохим терминированием. Чтобы это
проверить, подключите терминатор к адаптеру (без кабеля) и
посмотрите, не исчезли ли сообщения об ошибках.Некоторые NE2000-совместимые адаптеры выдают такую ошибку,
если нет связи по UTP-порту или отключен кабель.Почему мой адаптер 3COM 3C509 перестал работать без всякой
видимой причины?Этот адаптер имеет странную привычку терять информацию о своих
настройках. Обновите настройки вашего адаптера при помощи утилиты
3c5x9.exe из DOS.Мой параллельный принтер печатает невероятно медленно. Что тут
можно сделать?Если проблема только в том, что принтер работает ужасно
медленно, попробуйте сменить
режим работы порта принтера так, как это описано в разделе
Настройка
принтера Руководства.Программы аварийно завершают работу с ошибкой Signal
11.Ошибки выполнения, связанные с сигналом 11, происходят,
когда ваш процесс пытается обратиться к области памяти, доступ к
которой ему не был дан операционной системой. Если что-то подобное
происходит в случайные, на первый взгляд, промежутки времени, то
вам нужно попытаться выяснить подробности происходящих событий
более детально.Эти проблемы могут быть классифицированы следующим
образом:Если проблема возникает только в определённом приложении,
которое было самостоятельно вами разработано, то, скорее всего,
это ошибка в вашем коде.Если это проблема в части базового комплекта системы
FreeBSD, то это тоже может быть ошибка в программном коде, хотя
в большинстве случаев такие проблемы обнаруживаются и ошибки
исправляются задолго до того, как обычным читателям FAQ
доводится использовать этот код (именно для этого предназначена
версия -current).В частности, достоверно не ошибка FreeBSD,
если вы сталкиваетесь с проблемой при компиляции программы, но при
работе компилятора место сбоя каждый раз изменяется.Например, положим, что вы запускаете команду make
buildworld и компиляция завершилась аварийно при попытке
компиляции ls.c в ls.o.
Если при следующей попытке повторно выполнить make
buildworld компиляция прервётся на том же самом месте,
то это ошибки процесса построения -- попробуйте обновить исходные
тексты и попробуйте снова. Если же компиляция прерывается в
каком-то другом месте, то в этом практически достоверно виновато
оборудование.Что вы должны сделать:В первом случае вы должны воспользоваться отладчиком, к
примеру, gdb, для нахождения точки программы, в которой делается
попытка доступа к неверному адресу и затем исправить эту
ошибку.Во втором случае вам нужно проверить, что ваше оборудование
исправно.Среди часто приводящих к этому причин:Ваши винчестеры могут перегреваться: Проверьте работу
вентиляторов в вашем системном блоке, так как ваш диск (и может,
также другие компоненты, могут перегреваться).Работающий процессор перегревается: Это может произойти
из-за выхода частоты процессора за рабочие границы или поломки
вентилятора на процессоре. В любом случае вам нужно
убедиться, что ваше оборудование работает так, как ему
положено, по крайней мере, на момент поиска причин
неисправности, другими словами, установите частоту работы на
настройки по умолчанию.Если вы превысили рабочие частоты работы процессора,
заметьте, что дешевле обходится медленная система, чем
сгоревшая система, требующая замены! Также общество нечасто
симпатизирует проблемам на таких системах, вне зависимости от
того, считаете ли вы увеличение рабочей частоты не влияющим на
работу или нет.Хитрая память: Если у вас установлено множество микросхем
SIMM/DIMM, то вытащите их все и попытайтесь поработать
индивидуально с каждой микросхемой SIMM или DIMM и локализовать
проблему либо до проблематичной микросхемы DIMM/SIMM, либо даже
их комбинации.Чересчур оптимистические настройки материнской платы: При
настройке вашей BIOS и выборе положения перемычек на
материнской плате вы имеете возможность задать различные
частоты и задержки, и в большинстве случаев настройки по
умолчанию достаточны, но иногда установка слишком малых
периодов ожидания для ОЗУ, установка параметра RAM
Speed: Turbo и подобных параметров в BIOS вызовет
странное поведение. Возможным решением может стать установка
параметров BIOS по умолчанию, но сначала стоит записать ваши
настройки!Неустойчивое или недостаточное электропитание материнской
платы. Если в вашей системе есть неиспользуемые адаптеры
ввода/вывода, винчестеры или приводы компакт-дисков, попробуйте
временно их убрать или отключить от кабеля электропитания,
чтобы посмотреть, сможет ли ваш блок питания работать с меньшей
нагрузкой. Или попробуйте воспользоваться другим блоком
питания, желательно большей мощности (например, если имеющийся
блок питания рассчитан на 250 Ватт, попробуйте другой
мощностью 300 Ватт).Вы также должны прочитать FAQ по SIG11 (ссылка дана ниже), в
котором даны прекрасные описания всех этих проблем, хотя и с точки
зрения Linux. Также обсуждается, как аппаратура или программное
обеспечение для тестирования памяти могут пропускать сбойную
память.Наконец, если ничего из этого не помогает, то возможно, что
просто вы нашли ошибку во FreeBSD и должны следовать инструкциям
по посылке сообщений о проблемах.Подробная информация по этому вопросу содержится в FAQ по проблеме
SIG11.Моя система аварийно завершает работу с сообщениями
Fatal trap 12: page fault in kernel mode
либо panic:, и выдаёт много дополнительной
информации. Что мне делать?Разработчики FreeBSD очень интересуются такими ошибками, но
им нужно несколько больше информации, чем просто факт
возникновения этой ошибки. Полностью скопируйте сообщение.
Затем обратитесь к разделу FAQ об аварийных завершениях
работы ядра, постройте отладочное ядро и получите
трассу вызовов. Это может звучать трудной задачей, но вам не
нужны никакие знания программирования; просто следуйте
указаниям.При загрузке монитор темнеет и теряет синхронизацию!Это известная проблема с видеоадаптерами ATI Mach 64. Она вызвана тем,
что этот адаптер использует адрес 2e8, как и четвёртый
последовательный порт. Из-за ошибки (или особенности работы?) в драйвере
&man.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-сервер для таких
адаптеров.Почему FreeBSD использует только 64 МБ ОЗУ, тогда как
установлено все 128 МБ?Так как для определения объёма памяти 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 (обратитесь к &man.netstat.1;).
Значение по умолчанию для NMBCLUSTERS равно
512 + MAXUSERS * 16.Почему я получаю сообщение об ошибке /kernel: proc:
table is full?Ядро FreeBSD позволяет существовать одновременно ограниченному
числу процессов. Оно вычисляется на основании параметра
MAXUSERS в конфигурации ядра.
MAXUSERS также влияет на другие ограничения
ядра, такие как буферы работы с сетью (обратитесь к этому рассмотренному ранее
вопросу). Если ваша машина сильно загружена, вам, наверное,
понадобится увеличить MAXUSERS. Кроме
максимального числа процессов, это увеличит значения и других
параметров, ограничивающих систему.После FreeBSD 4.4, значение MAXUSERS стало
меняемой величиной, которая может быть задана как
kern.maxusers в
/boot/loader.conf. Для более ранних версий
FreeBSD вам нужно будет изменить значение
MAXUSERS в файле конфигурации ядра.Если ваша машина загружена слабо, то просто вы запустили
слишком много процессов, и вы можете исправить это через sysctl
kern.maxproc. Если эти процессы запущены одним
и тем же пользователем, вам также задать значение
kern.maxprocperuid на единицу меньшим, чем новое
значение kern.maxproc. (Оно должно быть по
крайней мере на единицу меньшим, потому что системная программа
&man.init.8;, должна работать всегда.)Чтобы значения sysctl сохранились после перезагрузки, задайте
их в /etc/sysctl.conf для последних версий
FreeBSD, или в /etc/rc.local для более ранних
версий.При перезагрузке с новым ядром выдаётся сообщение CMAP busy
panic.Процедура определения устаревших файлов
/var/db/kvm_*.db иногда даёт сбой и использует не те
файлы, что может вызвать аварийный останов системы.Если это случилось, перезагрузитесь в однопользовательском режиме
и выполните команду:
&prompt.root; rm /var/db/kvm_*.dbЧто означает сообщение ahc0: brkadrint, Illegal
Host Access at seqaddr 0x0Это - результат конфликта со SCSI-адаптером Ultrastor. Во время загрузки войдите в меню конфигурации ядра и выключите
устройство uha0, являющееся источником
этой проблемы.При загрузке моей системы выдается сообщение об ошибке
ahc0: illegal cable configuration. С
подключением кабеля все в порядке. Что происходит?На вашей материнской плате отсутствует внешняя логика
поддержки автоматического терминирования. Установите в вашем SCSI
BIOS правильное терминирование для вашей конфигурации вместо
автоматического терминирования. Драйвер AIC7XXX не может
определить, есть ли внешняя логика для распознавания кабеля (и,
соответственно, автоматического терминирования). Драйвер просто
полагает, что эта поддержка должна быть, если конфигурация,
содержащаяся в EEPROM, установлена в "automatic termination". Без
внешней логики распознавания кабеля драйвер часто будет ошибаться
при настройке терминирования, что может сказаться на надежности
шины SCSI.Sendmail сообщает, что mail loops back to
myselfВ FAQ по sendmail на это дан такой ответ:-
* Выдаются сообщения "Local configuration error", примерно такие:
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
Как можно решить эту проблему?
Согласно записям MX, почта для домена (скажем, domain.net) была
перенаправлена на указанный хост (в нашем случае relay.domain.net),
но он не распознаётся как domain.net. Добавьте строку domain.net в
файл /etc/mail/local-host-names (если вы используете
FEATURE(use_cw_file)) или добавьте "Cw domain.net"
в /etc/mail/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.Полноэкранные приложения на удалённой машине ведут себя
неправильно!На удалённой машине тип терминала может быть установлен в значение,
отличное от типа терминала cons25, требуемом при
использовании консоли FreeBSD.Есть несколько возможных способов решения этой проблемы:После входа на другую машину установите значение переменной
окружения TERM равным ansi или
sco, если эта машина знает об этих
типах терминалов.Используйте эмулятор 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Использование опции для &man.sysctl.8;
не рекомендуется и полностью игнорируется во &os; 4.4-RELEASE и
всех последующих версиях. Вы можете безболезненно опустить её
при задании параметров при помощи sysctl, как
это показано выше.Это коснётся производительности системы, но, принимая во
внимание источник этой проблемы, это будет незаметно. Если
проблема всё ещё даёт о себе знать, оставьте значение этой
переменной равным единичке и увеличьте значение параметра
NTIMECOUNTER в файле конфигурации вашего ядра.
Если в конце концов вы достигнете значения
NTIMECOUNTER=20, то вам эту проблему решить не
удастся, прерывания дают слишком большую нагрузку на процессор,
чтобы обеспечить отслеживание времени.Выдаётся сообщение pcm0 not found или мой
звуковой адаптер определяется как pcm1, хотя
в конфигурационном файле ядра указана строчка
device pcm0. Что происходит ?Такое бывает во FreeBSD 3.X со звуковыми адаптерами PCI. Устройство
pcm0 предназначено исключительно для адаптеров ISA,
поэтому, если у вас имеется адаптер PCI, то вы увидите эту ошибку и ваш
адаптер будет распознан как pcm1.
Вы не сможете избавиться от предупреждающего сообщения, просто
изменив строку в конфигурационном файле ядра на
device pcm1, так как это приведёт к закреплению
устройства pcm1 за адаптерами ISA, а ваш
адаптер PCI будет найден как устройство pcm2
(и появится предупреждение pcm1 not found).
Если у вас имеется звуковой адаптер PCI, то вам нужно также создать
устройство snd1, а не
snd0:
&prompt.root; cd /dev
&prompt.root; ./MAKEDEV snd1Вы можете пропустить этот шаг, если используете FreeBSD
5.0-RELEASE или более новую версию с включенным механизмом
&man.devfs.5;, так как необходимые файлы устройств будут
создаваться в каталоге /dev
автоматически.Такой ситуации не возникает во FreeBSD 4.X, так как в ней было положено
много усилий, чтобы сделать её более PnP-центричной и
устройство pcm0 больше не предназначено
исключительно для адаптеров ISAПочему после обновления FreeBSD до версии 4.X мой PnP-адаптер
больше не обнаруживается (или определяется
как unknown)?FreeBSD 4.X теперь гораздо более
PnP-центрична, что отражается на некоторых
устройствах PnP (к примеру, звуковых адаптерах и внутренних
модемах), перестающих работать, хотя они функционировали в системе
FreeBSD 3.X.Причины такого поведения объясняются в следующем сообщении
электронной почты, опубликованном в &a.questions;
Питером Уэммом (Peter Wemm) в ответ на вопрос о внутреннем модеме,
который перестал распознаваться после обновления до FreeBSD 4.X
(комментарии внутри [] были добавлены для
пояснения контекста послания.Содержание этой цитаты по сравнению с оригинальным текстом
было изменено.
BIOS, поддерживающая PNP, предварительно отводит и оставляет
ему [модему] место в адресном пространстве портов, так что [в 3.X]
процедура обнаружения в старом стиле ISA находит его
здесь.В 4.0 код для работы с ISA гораздо более PnP-центричен.
[В 3.X] было возможно при распознавании ISA найти
беспризорное устройство и затем по идентификатору
PNP-устройства произвести поиск и получить ошибку из-за конфликта
ресурсов. Поэтому для предотвращения повторной процедуры
распознавания в нём сначала выключаются все управляемые
адаптеры. Это также означает, что для поддерживаемого
оборудования PnP нужно знать их PnP-идентификаторы. Имеются
планы на обеспечение возможности настройки этого со стороны
пользователя.
Чтобы заставить устройство работать снова, требуется определить
его PnP-идентификатор и добавить его в список, который используется
процедурой распознавания ISA для идентификации устройств PnP. Этот
идентификатор можно получить при помощи программы &man.pnpinfo.8;,
найдя устройство в её выдаче, вот, например, вывод команды
&man.pnpinfo.8; в случае внутреннего модема:&prompt.root; pnpinfo
Checking for Plug-n-Play devices...
Card assigned CSN #1
Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
PnP Version 1.0, Vendor Version 0
Device Description: Pace 56 Voice Internal Plug & Play Modem
Logical Device ID: PMC2430 0x3024a341 #0
Device supports I/O Range Check
TAG Start DF
I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
[16-bit addr]
IRQ: 4 - only one type (true/edge)[лишние строки TAG исключены]TAG End DF
End Tag
Successfully got 31 resources, 1 logical fdevs
-- card select # 0x0001
CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
Logical device #0
IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
IRQ 5 0
DMA 4 0
IO range check 0x00 activate 0x01Информация, которая вам нужна, находится в строке Vendor
ID в самом начале вывода команды. Шестнадцатеричное число в
скобках (в этом примере 0x3024a341) является PnP-идентификатором, а
строчка, идущая прямо перед ним (PMC2430) является уникальным
ASCII-идентификатором.Либо, если в списке, выдаваемом &man.pnpinfo.8;, адаптера нет,
можно воспользоваться утилитой &man.pciconf.8;. Вот часть выдачи
команды pciconf -vl для интегрированного в
материнскую плату звукового адаптера:&prompt.root; pciconf -vl
chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00
vendor = 'Intel Corporation'
device = '82801AA 8xx Chipset AC'97 Audio Controller'
class = multimedia
subclass = audioВ данном случае вам нужно использовать значение для
chip, 0x24158086.Эту информацию (ID производителя или номер микросхемы) нужно
добавить в файл /usr/src/sys/isa/sio.c.Сначала вы должны сделать резервную копию файла
sio.c просто на тот случай, если что-то пойдёт
не так. Эта копия также может потребоваться для создания патча для
посылки его вместе с вашим PR (вы же собираетесь послать PR, не
правда ли?) отредактировав файл sio.c и
поискав строчкуstatic struct isa_pnp_id sio_ids[] = {после чего переместитесь ниже и найдите подходящее место, чтобы
добавить строчку для вашего устройства. Записи имеют примерно такой
вид, и они отсортированы по ASCII-строкам Vendor ID, которые должны
быть помещены в поле комментария справа от строки кода вместе с
полным описанием устройства (если оно поместится) или частью из
Device Description вывода программы
&man.pnpinfo.8;:{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */Добавьте шестнадцатеричный идентификатор Vendor ID вашего
устройства в соответствующее место, сохраните файл, перестройте
ядро и выполните перезагрузку. Ваше устройство должно теперь быть
найдено в виде устройства sio, как это и было во
FreeBSD 3.XПочему при запуске некоторых программ, например,
top или systat, выдается
сообщение об ошибке nlist failed?Проблема в том, что приложение, которое вы пытаетесь запустить,
ищет специфические ссылки в ядре, но по каким-либо причинам не может
их найти; эта ошибка происходит от одной из следующих проблем:Ваше ядро и программы пользователей не соответствуют друг другу
(например, вы построили ядро, но не выполнили команду
installworld, или наоборот), и поэтому
таблица имен отличается от того, что думают о ней пользовательские
приложения. Если это ваш случай, просто завершите процесс
обновления (обратитесь к файлу
/usr/src/UPDATING для выяснения правильной
последовательности действий).Для загрузки ядра вы не используете
/boot/loader, а делаете это непосредственно из
boot2 (обратитесь к справочно странице по &man.boot.8;). Хотя нет
ничего плохого в обходе /boot/loader, обычно
работу по доступности символьной информации ядра из
пользовательских приложений он выполняет лучше.Почему подключение через ssh или
telnet к моему компьютеру занимает так долго времени?
Симптом: между моментом установления TCP-соединения и выдачей
клиентским программным обеспечением запроса на ввод пароля (или, в случае
использования &man.telnet.1;, выдачей приглашения на вход) проходит
большой промежуток времени.Проблема: скорее всего, задержка вызвана программным обеспечением на
стороне сервера, которое пытается преобразовать IP-адрес клиента в
имя хоста. Многие серверы, включая Telnet и SSH, поставляемые с FreeBSD,
делают это для того, чтобы, кроме всего прочего, записать имя хоста в
файле журнала для справки администратора.Лечение: Если проблема возникает вне зависимости от того, к какому
серверу вы подключаетесь с вашего компьютера (клиента), то причина в
клиенте; или же, если проблема возникает только при чьей-либо попытке
подключиться к вашему компьютеру (серверу), то проблема с сервером.Если проблема с клиентом, то единственным методом ее решения является
исправление DNS, чтобы сервер смог распознать вашу машину. Если это
происходит в локальной сети, то предположите, что это проблема с сервером и
продолжайте чтение; обратно, если это происходит в глобальной сети Интернет,
то в большинстве случаев вам нужно обратиться к вашему провайдеру и
попросить исправить положение.Если проблема с сервером, и это происходит в локальной сети, то вам
нужно настроить сервер для разрешения запросов на преобразование адреса в
имя хоста в диапазоне ваших локальных адресов. Обратитесь к страницам
Справочника по &man.hosts.5; и &man.named.8; для получения более подробной
информации. Если это происходит в глобальной сети Интернет, то проблема
может заключаться в некорректной работе ресолвера вашего сервера. Для
проверки попробуйте найти другой хост--скажем,
www.yahoo.com. Если это не работает, что проблема у
вас.Что означает сообщение stray IRQ?Потерянные IRQ являются признаком странностей в работе
аппаратных IRQ, в основном оборудования, которое удаляет свои
запросы на прерывание посреди цикла подтверждения запроса на
прерывание.Имеется три варианта работы с такими ситуациями:Примириться с сообщениями. В любом случае подавляются все
сообщения, кроме каждых первых 5 на IRQ.Убрать предупреждающие сообщения, изменив параметр 5 на 0 в
функции isa_strayintr(), так что все
предупреждения будут подавлены.Избавиться от предупреждений, установив параллельный порт,
использующий IRQ 7 и драйвер PPP для него (это есть на
большинстве систем), и установив диск IDE или другое
оборудование, использующее IRQ 15 и подходящий драйвер.Почему в dmesg регулярно выводятся сообщения file:
table is full?Такое сообщение об ошибке сигнализирует о том, что в вашей
системе исчерпано количество доступных файловых дескрипторов.
Пожалуйста, обратитесь к разделу
kern.maxfiles главы о Настройке
ограничений ядра Руководства для выяснения всех
подробностей и устранения этой проблемы.Почему часы на моем лэптопе показывают неправильное
время?В вашем лэптопе установлены двое или большее количество
таймеров, а FreeBSD выбрала не тот.Запустите &man.dmesg.8; и посмотрите строки, содержащие слово
Timecounter. В последней из них указан таймер,
выбранный системой, и, скорее всего, это будет
TSC.&prompt.root; dmesg | grep Timecounter
Timecounter "i8254" frequency 1193182 Hz
Timecounter "TSC" frequency 595573479 HzВы можете удостовериться в этом, проверив
&man.sysctl.3;-переменную
kern.timecounter.hardware.&prompt.root; sysctl kern.timecounter.hardware
kern.timecounter.hardware: TSCBIOS может изменить частоту TSC—может, для изменения
скорости работы процессора при работе от батареек или переводя в
режим пониженного электропитания, но FreeBSD не отслеживает это и
в результате часы начинают спешить или отставать.В этом примере имеется также и таймер i8254,
и он может быть выбран записью его имени в
&man.sysctl.3;-переменную
kern.timecounter.hardware.&prompt.root; sysctl -w kern.timecounter.hardware=i8254
kern.timecounter.hardware: TSC -> i8254Теперь ваш лэптоп будет аккуратнее следить за временем.Чтобы это изменение вступало в силу во время загрузки системы,
добавьте в файл /etc/sysctl.conf такую
строчку.kern.timecounter.hardware=i8254Почему мой лэптоп некорректно распознаёт PC-карты?Эта проблема часто встречается на лэптопах, которые работают
более чем с одной операционной системой. Некоторые не-BSD
операционные системы оставляют аппаратную часть PC-карт в
неустойчивом состоянии. pccardd распознает
карту как "(null)""(null)", а не как
реально используемую модель.Вы должны убрать всё питание со слота PC-карты для полного
сброса аппаратуры. Полностью выключите лэптоп. (Не переводите его
ни в спящий, ни в ждущий режим; питание должно быть выключено
полностью.) Подождите несколько секунд и перезагрузитесь. Теперь
ваша PC-карта должна заработать.В некоторых лэптопах аппаратная часть неверно сообщает о
своём выключении. Если описанное выше не работает, остановите
работу, выньте батарею, подождите несколько секунд, вставьте
батарею и перезагрузитесь.Сразу после экрана BIOS начальный загрузчик FreeBSD выводит
сообщение Read error и
останавливается.Начальный загрузчик FreeBSD неверно определяет параметры
винчестера. Их можно установить вручную утилитой fdisk при
создании или изменении параметров слайса FreeBSD.Правильные значения параметров диска можно посмотреть в BIOS.
Обратите внимание на число дорожек, головок и секторов для этого
диска.В подпрограмме fdisk утилиты &man.sysinstall.8; нажмите
G для установки параметров диска (disk
geometry).Появится диалоговое окно, запрашивающее количество дорожек,
головок и секторов. Задайте значения, взятые из BIOS и
разделяемые символами слэша.5000 дорожек, 250 головок и 60 секторов будут введены как
5000/250/60Нажмите Ввод для задания этих значений и
нажмите W для того, чтобы записать новую таблицу
разделов на диск.Другая операционная система уничтожила мой менеджер загрузки,
как мне его восстановить?Запустите утилиту &man.sysinstall.8; и выберите пункт
Configure, а затем Fdisk. Выберите диск, на котором ранее
находился менеджер загрузки, при помощи клавиши
пробел. Нажмите W для записи
изменений на диск. Появится диалоговое окно для выбора
устанавливаемого начального загрузчика. Выберите нужный, и он
будет восстановлен.Что означает сообщение swap_pager: indefinite
wait buffer:?Это значит, что процесс пытается сбросить страницу памяти на
диск, и попытка сделать это оканчивается неудачно вот уже в течение
более чем 20 секунд. Это может быть вызвано испорченными блоками
на диске, кабелями, подключением или другим оборудованием
ввода/вывода. Если диск сам по себе на самом деле испорчен, вы
также увидите ошибки работы с диском в
/var/log/messages и при работе команды
dmesg. В противном случае проверьте кабели и
подключения.Что означают ошибки UDMA ICRC, и как их
исправить?Драйвер &man.ata.4; сообщает об ошибках
UDMA ICRC, когда нарушается передача в или с
диска в режиме DMA. Драйвер будет повторять передачу
несколько раз. Если повторные попытки окончатся неудачей, он
переключится из режима DMA в более медленный режим PIO
взаимодействия с устройством.Проблема может возникать по многим причинам, хотя самым
распространённой является неправильное или сбоящее подключение
кабелей. Проверьте кабели ATA на наличие повреждений и
соответствие используемому режиму Ultra DMA. Если вы используете
диски на съёмных салазках, они также должны быть совместимыми с
этим режимом. Удостоверьтесь, что все соединения подключены
хорошо. Проблемы также наблюдались, когда старый диск
устанавливался на тот же самый канал ATA, что и Ultra DMA 66 (или
более быстрый) диск. Наконец, такие ошибки могут указывать на
сбойность самого диска. Большинство производителей дисков
предоставляют программное обеспечение для тестирования своих
дисков, так что проверьте свой диск, и, если это необходимо,
сделайте резервную копию данных и замените его.Для просмотра и выбора режимов DMA или PIO для каждого
устройства ATA можно использовать утилиту &man.atacontrol.8;. В
частности, команда atacontrol mode
channel выдаст режимы,
используемые заданным каналом ATA, причём первичный канал
нумеруется нулём, и так далее.Коммерческие приложенияЭтот раздел выглядит довольно заброшенным, однако мы,
конечно же, надеемся, что производители сделают добавления! :) Проект
FreeBSD финансово не заинтересован в успехах ни одной из компаний,
которые здесь упоминаются, хотя приводит их список в интересах
общества (в предположении, что коммерческий интерес к FreeBSD может
положительно повлиять на дальнейшее развитие FreeBSD). Мы просим
поставщиков коммерческого программного обеспечения присылать нам
информацию о ваших продуктах для включения в этот список. Более
полный список производителей находится на странице
+ URL="&url.main;/commercial/commercial.html">странице
производителей.Где можно найти набор офисных программ для FreeBSD?The FreeBSD
Mall предлагает версию ApplixWare 5 для FreeBSD
от VistaSource.ApplixWare это большой многофункциональный коммерческий
офисный пакет для FreeBSD, в который входит текстовый
процессор, электронные таблицы, программа для работы с
презентациями, пакет векторной графики и другие
приложения.ApplixWare предлагается как часть дистрибутива FreeBSD
Mall's BSD Desktop Edition.Версия для Linux пакета StarOffice
прекрасно работает во FreeBSD. Проще всего установить
Linux-версию этого пакета при помощи Коллекцию Портов
FreeBSD. Также должны работать и будущие версии
пакета с открытым кодом OpenOffice.Где можно купить Motif для FreeBSD?Open Group опубликовали исходные тексты Motif 2.1.30. Вы
можете проинсталировать их с помощью пакета open-motif
или скомпилировать их из портов. Воспользуйтесь секцией Порты Руководства для
получения детальной информации о том, как это сделать.
Лицензия Open Motif позволяет распространение только если
библиотека используется на
ОС с открытыми исходными текстами.В дополнении нужно сказать, что существуют также дистрибьюторы
предлагающие коммерческий вариант Motif. Эта библиотека не
бесплатна, но ее лицензия позволяет вести разработку приложений с
закрытыми исходными текстами. Обратитесь в фирму
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 и выше).Демонстрационные приложения.При оформлении заказа не забудьте указать, что вам нужна версия Motif
именно для FreeBSD (не забудьте также указать архитектуру процессора)!
Apps2go также продаёт версии для NetBSD и OpenBSD. В
настоящий момент их можно получить только по FTP.Дополнительная информацияWWW-сервер Apps2goилиэлектронные адреса отделов продаж и поддержки.илителефоны (817) 431 8775 и +1 817 431-8775Обратитесь в фирму Metro Link для
получения дистрибутива Motif 2.1 для FreeBSD в форматах ELF или
a.out.В этот дистрибутив включены:OSF/Motif manager, xmbind, panner, wsm.Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
и Imake.Статические и динамические библиотеки (укажите ELF для
использования с FreeBSD 3.0 и выше; или a.out при использовании
FreeBSD 2.2.8 и ранее).Демонстрационные приложения.Преформатированные страницы справочника.При заказе обязательно отметьте, что вам требуется версия Motif
именно для FreeBSD! Metro Link также предлагает
версии для Linux. Они доступны на CDROM или для скачивания по FTP.Обратитесь в фирму Xi Graphics за
дистрибутивом Motif 2.0 для FreeBSD в формате a.out.В этот дистрибутив включены:OSF/Motif manager, xmbind, panner, wsm.Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
и Imake.Статические и динамические библиотеки (для использования с
FreeBSD 2.2.8 и ранее).Демонстрационные приложения.Отформатированные страницы Справочника.При заказе обязательно укажите, что вам требуется версия Motif именно
для FreeBSD! Xi Graphics также предлагает версии
для BSDI и Linux. В настоящее время это набор из 4 дискет... в будущем
это будет стандартный дистрибутив на компакт-диске, как их CDE.Где можно купить CDE для FreeBSD?Фирма Xi Graphics предлагала CDE для FreeBSD,
но сейчас этот продукт в продаже отсутствует.KDE - это свободно
распространяемый вариант десктопа для X11, который во многом похож на CDE.
Вам может также приглянуться
xfce. Как KDE, так и xfce могут быть найдены в коллекции портов.
+ URL="&url.main;/ports/">коллекции портов.
Существуют ли коммерческие высокопроизводительные X-серверы?Да, фирмы Xi Graphics и
Metro Link предлагают свой
продукт Accelerated-X для FreeBSD и других систем на базе Intel.Metro Link предлагает высокопроизводительный X-сервер, в котором
предусмотрена упрощённая процедура конфигурирования с помощью набора
утилит FreeBSD для работы с пэкэджами, поддержка нескольких
видеоадаптеров одновременно и он поставляется только в бинарном виде,
доступном по FTP. Нельзя не отметить, что Metro Link продаёт всё это
по очень доступной цене в 39 долларов.Metro Link продаёт также Motif для FreeBSD в форматах ELF и a.out
(смотрите выше).Дополнительная информация
WWW-сервер Metro Linkилиадреса электронной почты отделов продаж и поддержки.илителефоны (954) 938-0283 и +1 954 938-0283Xi Graphics предлагает высокопроизводительный X-сервер, который
обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров
и поставляется только в бинарной форме, в форме стандартного
дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также
предлагает высокопроизводительный X-сервер с поддержкой компьютеров
класса laptop.Имеется бесплатная демонстрационная версия 5.0.Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите
выше).Дополнительная информация
Xi Graphics WWW pageилиSales или Support по email.илителефон (800) 946 7433 или +1 303 298-7478.Существуют ли СУБД для FreeBSD?Да! Обратитесь к разделу
+ URL="&url.main;/commercial/software_bycat.html#CATEGORY_DATABASE">
Поставщики программного обеспечения на веб-сервере FreeBSD.Также посмотрите раздел Базы данных
+ URL="&url.main;/ports/databases.html">Базы данных
Коллекции портов.Можно ли запустить Oracle на FreeBSD?Да. Руководство по настройке Linux-Oracle на FreeBSD находится
по следующим адресам:
http://www.scc.nl/~marcel/howto-oracle.html
http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsdПрикладные программыИтак, где находятся все прикладные программы?
- Пожалуйста, загляните на
+ Пожалуйста, загляните на
страницу портов, содержащую информацию о программных продуктах,
перенесённых во FreeBSD. На данный момент в этом списке находится более
&os.numports; приложений и он ежедневно увеличивается, так что почаще туда
заглядывайте или подпишитесь на список рассылки
freebsd-announce, в котором публикуется информация
о появлении новых приложений.Большинство портов должны нормально работать на системах веток
4.X и 5.X. При выходе
нового релиза FreeBSD в него в каталог ports/
включается актуальная на момент выхода коллекция портов.Мы также поддерживаем концепцию пакаджа, являющегося не
более чем упакованным дистрибутивом в бинарной форме с некоторыми
встроенными возможностями по его настройке во время установки. Пакадж
может быть легко проинсталлирован и деинсталлирован снова без углубления
в детали того, какие файлы должны быть инсталлированы.Используйте меню установки пакаджей в
/stand/sysinstall (в пункте меню post-configuration)
или запускайте &man.pkg.add.1; с указанием конкретных файлов
с пакаджами, которые вы хотите проинсталлировать. Файлы с пакаджами, как
правило, идентифицируются по их суффиксу .tgz, а для
тех, кто имеет дистрибутив системы на компакт-диске, предназначен каталог
packages/All, содержащий все эти файлы. Они также
могут быть получены по сети для разных версий FreeBSD со следующих
серверов:для 4.X-RELEASE/4-STABLE
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/для 5.X-CURRENT
ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/или с ближайшего к вам зеркального сервера.Имейте в виду, что не все порты могут быть доступны в виде
пакаджей, так как постоянно идёт добавление новых. Неплохо время от
времени проверять, какие пакаджи доступны на основном сервере ftp.FreeBSD.org.Почему ghostscript выдаёт массу сообщений на моём 386/486SX.У вас нет сопроцессора, верно? Вам нужно добавить в ядро другой
эмулятор сопроцессора; это делается добавлением следующей строки в файл
конфигурации ядра и последующей его перекомпиляцией.
options GPL_MATH_EMULATE
Если вы поступаете таким образом, вам нужно будет
убрать опцию MATH_EMULATE.Как настроить INN (Internet News) на моей машине?После установки пакаджа или порта news/inn для начала загляните на страничку Дэйва
Бэрра (Dave Barr), посвящённую INN, где вы
найдёте соответствующий FAQ.Какую версию Microsoft FrontPage я должен иметь?Используй порт, дурачок! Среди портов имеется www/apache13-fp, готовая к использованию
версия Apache с поддержкой FrontPage.Поддерживает ли FreeBSD среду Java?Да. Посетите страницу
+ URL="&url.main;/java/index.html">
http://www.FreeBSD.org/java/.Почему некоторый порт не компилируется на моей машине
с 3.X-STABLE?Если вы используете FreeBSD версии, значительно отстающей от -CURRENT
или -STABLE, вам нужен пакет обновления, который можно найти по адресу
-
+
http://www.FreeBSD.org/ports/. Если вы отслеживаете все
изменения, то, скорее всего, кто-то внёс изменения в порт, так что он
работает в -CURRENT, но не работает в -STABLE. Так как предполагается, что
коллекция портов должна работать
как в ветке -CURRENT, так и в ветви -STABLE, то, пожалуйста, пошлите
сообщение об этой ошибке с помощью команды &man.send-pr.1;.
Где найти ld.so?a.out-приложения, такие, как Netscape Navigator, требуют
наличия a.out-библиотек. По умолчанию версии FreeBSD, построенные
на ELF-библиотеках, их не устанавливают. Вы получите сообщения об
отсутствии /usr/libexec/ld.so, если это так
для вашей системы. Эти библиотеки имеются в виде добавления в
пакете compat22. Воспользуйтесь &man.sysinstall.8; для его
установки. Вы можете также установить их из исходного кода
FreeBSD:&prompt.root; cd /usr/src/lib/compat/compat22
&prompt.root; make install cleanЕсли вы хотите установить последние библиотеки compat22 при
выполнении make world, то отредактируйте
/etc/make.conf, включив туда строку
COMPAT22=YES. Старые библиотеки совместимости
меняются редко, если вообще меняются, так что это, в общем-то, и не
нужно.Также посмотрите файлы ERRATA для 3.1-RELEASE и
3.2-RELEASE.Я обновил исходные тексты, как теперь обновить установленные
порты?С FreeBSD не поставляется инструмент обновления портов, но
есть несколько программ, несколько облегчающих этот процесс. Вы
можете также установить дополнительные инструменты для упрощения
работы с портами.Команда &man.pkg.version.1; может генерировать скрипт, который
обновит установленные порты до последних версий, присутствующих в
дереве портов.&prompt.root; pkg_version -c > /tmp/myscriptПолучаемый скрипт необходимо
отредактировать вручную перед его использованием. Последние версии
команды &man.pkg.version.1; заставляют делать это, помещая в начало
скрипта команду &man.exit.1;.Вы должны сохранить выводимый результат работы скрипта, так как
в нем отмечаются пакаджи, зависящие от тех, что были обновлены.
Их также может потребоваться обновить. Обычный случай, когда
требуется обновление, это случай изменения номеров версии
динамической библиотеки, так что порты, использующие эту
библиотеку, должны быть перекомпилированы для использования новой
версии.Начиная с FreeBSD 5.0 (и для более поздних версий),
&man.pkg.version.1; более не поддерживает параметр
.Если у вас достаточный объем дискового пространства, вы можете
использовать инструмент portupgrade для
автоматизации всего этого. В portupgrade
включены различные утилиты для упрощения работы с пакаджами. Он
находится в sysutils/portupgrade. Так как он написан
на языке Ruby, то вряд ли portupgrade может быть
кандидатом на включение в поставку FreeBSD. Однако это вовсе не
значит, что его нельзя использовать.Если ваша система находится в работе постоянно, для создания
списка портов, которым может потребоваться обновление, каждую
неделю, можно использовать систему &man.periodic.8;, задав
weekly_status_pkg_enable="YES" в файле
/etc/periodic.conf.Почему возможности /bin/sh так малы?
Почему бы во FreeBSD не использовать bash или
какой-либо другой командный процессор?Потому что в стандарте POSIX сказано, что все командные
процессоры должны вести себя так же, как shell.Более подробный ответ заключается в следующем: многим
требуется, чтобы разрабатываемые скрипты для командного процессора
были переносимы между многими системами. Именно поэтому в POSIX
очень подробно описан командный процессор и набор утилит.
Большинство скриптов пишутся на языке процессора Bourne shell, к
тому же некоторые важные программные вызовы (&man.make.1;,
&man.system.3;, &man.popen.3; и их аналоги на языках скриптов
высокого уровня, таких как Perl или Tcl) предполагают для
интерпретации команд использование именно Bourne shell. Так как
Bourne shell используется столь широко и часто, то очень важно,
чтобы он стартовал очень быстро, его поведение было строго
регламентировано и при этом потребности в оперативной памяти были
малы.В имеющейся реализации мы приложили максимум усилий для
воплощения в жизнь всех этих требований одновременно. Для того,
чтобы сохранить /bin/sh небольшим по размеру,
мы не включили многие из обычных возможностей, которые имеются в
других командных процессорах. Однако в Коллекцию Портов включены
командные процессоры, обладающие гораздо большими возможностями,
такие, как bash, scsh, tcsh и zsh. (Вы можете сами сравнить
использование памяти всеми этими оболочками, посмотрев в колонки
VSZ и RSS вывода команды
ps -u).Почему Netscape и Opera запускаются так долго?Обычно проблема заключается в том, что на вашей машине
неправильно настроен DNS. И Netscape, и Opera при запуске
обращаются к DNS. Браузер не появится на вашем рабочем столе, пока
программа либо не получит ответ на свой запрос, либо не определит,
что система к сети не подключена.Я обновил некоторые разделы Коллекции Портов при помощи CVSup,
и теперь многие порты перестали строиться со странными
диагностическими сообщениями! Что случилось? Коллекция Портов
каким-то образом оказалась неработоспособной?Если вы обновляете Коллекцию Портов только частично, используя
один из более мелких наборов CVSup, обходясь без CVSup-набора
ports-all, то вы должны
всегда обновлять также и набор
ports-base! Причины описаны в
Руководстве.Как создать аудио-CD из файлов MIDI?Для создания аудио-CD из MIDI-файлов сначала установите из
портов программу audio/timidity++, затем установите набор
патчей GUS от Эрика Уэлша (Eric A. Welsh), доступный по адресу
. После корректной установки timidity++ midi-файлы могут
быть преобразованы в wav-файлы следующей командой:&prompt.user; timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.midwav-файлы затем могут быть преобразованы в другие форматы или
записаны как аудио-CD, что описано в Руководстве FreeBSD.Конфигурирование ядраЯ хочу изменить настройки ядра. Это сложно?Вовсе нет! Обратитесь к соответствующему
разделу Руководства, который посвящён этому вопросу.Мы рекомендуется сохранить копию вашего нового файла ядра
/kernel в файл
kernel.ГГММДД после того, как вы получите
нормально работающее ядро. Также сделайте резервную копию нового
каталога /modules в каталог
/modules.ГГММДД. В таком случае, если вы
испортите что-либо в вашем конфигурационном файле, то сможете
загрузить резервное ядро, вместо того, чтобы начинать всё снова
с kernel.GENERIC. Это, в частности, имеет
смысл, если вы производите загрузку системы с контроллера,
который не поддерживается в стандартном ядре GENERIC.Я не могу скомпилировать ядро. Отсутствует
_hw_float.Почему?Позвольте мне угадать. Вы, наверное, удалили
npx0 (посмотрите справку по &man.npx.4;) из
вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да?
А вот и неправильно! :-) Строка npx0ОБЯЗАТЕЛЬНА. Даже если у вас нет
математического сопроцессора, вы должны
включить поддержку устройства npx0.Почему моё ядро такое большое (больше 10МБ)?Скорее всего, вы компилировали ядро в отладочном
режиме. Ядра, построенные в этом режиме, содержат много
символьной информации, которая используется для отладки и сильно
увеличивает размер ядра. Заметьте, что, если вы работаете с FreeBSD версии
3.0 и старше, то уменьшения производительности при использовании
отладочного ядра нет или оно незначительно, однако отладочное ядро
полезно иметь под рукой на случай аварийного завершения работы
системы.Однако, если вы испытываете нехватку дискового пространства или
просто не хотите использовать отладочное ядро, проверьте, что имеют
место следующие две вещи:В конфигурационном файле вашего ядра нет строчки, имеющей такой
вид:makeoptions DEBUG=-gВы не запускали утилиту &man.config.8; с опцией
.Обе из вышеперечисленных ситуаций приведут к построению ядра в
отладочном режиме. Если же вы точно следуете указанным шагам, то сможете
построить обычное ядро и заметите значительное уменьшение его размера;
большинство ядер имеют размер от 1.5МБ до 2МБ.Почему появляются конфликты прерываний при включении поддержки
многопортовыx коммуникационных адаптеров.Когда я компилирую ядро с поддержкой многопортовых
коммуникационных адаптеров, сообщается, что только первый порт
будет тестироваться, а все остальные пропускаются из-за конфликтов
прерываний. Как это исправить?Проблема состоит в том, что во 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Почему мне не удаётся откомпилировать ни один вариант ядра, даже
GENERIC?Есть несколько причин, приводящих к возникновению этой
проблемы. Вот они, в случайном порядке:Вы не используете новые цели make
buildkernel и make installkernel,
и ваше дерево исходных текстов отличается от того, которое
использовалось для построения работающей в данный момент
системы (например, вы выполняете построение 4.3-RELEASE на
системе 4.0-RELEASE). Если вы пытаетесь выполнить обновление,
то, пожалуйста, прочитайте файл
/usr/src/UPDATING, обратив особое внимание
на раздел COMMON ITEMS в его конце.Вы используете новые цели make
buildkernel и make installkernel,
но выполнение цели make buildworld не было
завершено. Полное и корректное выполнение цели make
buildkernel зависит от файлов, генерирующихся при
выполнении цели make buildworld.Даже если вы пытаетесь построить FreeBSD-STABLE, возможно, что вы
скачали дерево исходных текстов в момент, когда оно
модифицировалось или было неработоспособно по другим причинам;
абсолютно гарантируется построение только релизов, хотя в
большинстве случаев
FreeBSD-STABLE строится без проблем. Если вы ещё этого
не сделали, попробуйте сгрузить дерево исходных текстов
повторно и посмотреть, разрешилась ли проблема. Попробуйте
использовать другой сервер в случае, если есть проблемы с тем,
который вы используете сейчас.Каким образом можно определить, какой планировщик используется
в работающей системе?Просто наберите:
&prompt.root; sysctl kern.quantum
Если вы увидите
unknown oid 'kern.quantum'
это значит, что используется планировщик
SCHED_ULE, однако, если вы увидите
kern.quantum: 100000
то выбран оригинальный планировщик
SCHED_4BSD.Что такое 'kern.quantum'?kern.quantum определяет максимальное количество
тактов, которое процесс может выполняться, не будучи прерванным.
Этот параметр специфичен для планировщика 4BSD, так что вы можете
использовать его наличие для определения типа используемого
планировщика.Диски, файловые системы и начальные загрузчикиКак добавить в систему новый диск?Обратитесь к Руководству по форматированию дисков на сервере
www.FreeBSD.org.Как перенести систему на большой новый диск?Самый лучший способ заключается в переустановке ОС на новый
диск и последующем переносе данных пользователей. Это очень
рекомендуется делать, если вы следовали ветке -STABLE в течение
более одного релиза или обновляли релиз, а не устанавливали
новый. Вы можете установить программу booteasy на оба диска с
помощью команды &man.boot0cfg.8; и выполнять загрузку с любого из
них до тех пор, пока не будете удовлетворены новой конфигурацией
системы. Пропустите следующий абзац, чтобы перейти к вопросу
переноса данных после этой операции.Если вы решили не делать новой установки, то вам нужно разбить
на разделы и разметить новый диск с помощью
/stand/sysinstall или &man.fdisk.8; и
&man.disklabel.8;. Вы также должны установить на оба диска
программу booteasy с помощью &man.boot0cfg.8;, чтобы иметь
возможность выполнять загрузку как старой, так и новой системы
после выполнения копирования. Обратитесь к
руководству по форматированию носителей за подробным
описанием этого процесса.Итак, после подготовки диска вы можете переносить данные. К
сожалению, вы не можете просто скопировать данные. Такие вещи, как
файлы устройств (в каталоге /dev), флаги и
ссылки будут этому мешать. Вам нужно использовать инструменты,
которые работают с такими случаями, а именно &man.dump.8;. Хотя
рекомендуется выполнять перенос данных в однопользовательском
режиме, это не обязательное условие.Вы не должны использовать ничего, кроме &man.dump.8; и
&man.restore.8; для переноса корневой файловой системы. Команда
&man.tar.1; может сработать, а может и не сработать. Также вы
должны использовать &man.dump.8; и &man.restore.8; при переносе
одного раздела в другой пустой раздел. Последовательность шагов
при использовании программы dump для переноса данных раздела в
новый раздел такова:выполните команду newfs над новым разделом.смонтируйте его во временный каталог.перейдите в этот каталог.Выполните команду dump над старым разделом, направив вывод в
новый раздел.Например, если вы собираетесь перенести корневую файловую
систему на устройство /dev/ad1s1a с
использованием каталога /mnt в качестве
временной точки монтирования, то это делается так:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -Переразбиение разделов с использованием dump требует несколько
больше усилий. Для объединения раздела типа
/var с его вышестоящим разделом, создайте новый
раздел, достаточно большой для размещения их обоих, переместите
вышестоящий раздел так, как это описано выше, а затем переместите
нижестоящий раздел в пустой каталог, созданный при первом
перемещении:&prompt.root; newfs /dev/ad1s1a
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -
&prompt.root; cd var
&prompt.root; dump 0af - /var | restore xf -Для отделения каталога от вышестоящего, скажем, для размещения
/var в собственном разделе, которого не было,
создайте оба раздела, затем смонтируйте нижестоящий раздел в
подходящий каталог во временную точку монтирования, а затем
переместите старый единый раздел:&prompt.root; newfs /dev/ad1s1a
&prompt.root; newfs /dev/ad1s1d
&prompt.root; mount /dev/ad1s1a /mnt
&prompt.root; mkdir /mnt/var
&prompt.root; mount /dev/ad1s1d /mnt/var
&prompt.root; cd /mnt
&prompt.root; dump 0af - / | restore xf -Вы можете использовать &man.cpio.1;, &man.pax.1;, &man.tar.1;
вместо &man.dump.8; для данных пользователей. На момент написания
этого документа было известно, что они теряют информацию о флагах
файлов, так что используйте их с осторожностью.Не угрожает ли режим dangerously dedicated моему
здоровью?В процессе установки вы можете выбрать
два различных метода разбиения вашего диска (дисков). По умолчанию
это делается
в режиме совместимости с другими операционными системами на этой же
машине с использованием записей в таблице разделов 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Другой способ - недокументированной командой DOSC:\>fdisk /mbrпроинсталлировать новую MBR, удалив загрузчик BSD.На каких разделах можно без опаски использовать механизм
Soft Updates? Я слышал, что использование Soft Updates на
/ могут приводить к проблемам.Краткий ответ: обычно вы можете использовать Soft Updates
без опаски на всех разделах.Подробный ответ: Было несколько возражений против использования
Soft Updates на корневом разделе. Soft Updates имеют две
характеристики, которые этому способствуют. Во-первых, раздел с
Soft Updates имеет мало шансов потери данных по время
аварийного останова системы. (Раздел не будет попорчен; просто
будут потеряны данные.) Кроме того, Soft Updates могут приводить к
временной нехватке дискового пространства.При использовании Soft Updates ядро может задерживать до
тридцати секунд реальную запись изменений на физический диск. Если
вы удаляете большой файл, он остается на диске, пока ядро не
выполнит удаления на самом деле. Это может привести к очень
простой проблеме. Предположим, что вы удалили один большой файл и
тут же создали другой большой файл. Первый большой файл еще не
удален реально с физического диска, так что на диске может не
оказаться достаточного пространства для второго большого файла. Вы
получите ошибку, говорящую о том, что на разделе нет достаточного
пространства, хотя вы точно знаете, что только что освободили
его большой объем! Если вы попробуете еще раз выполнить операцию
секундами позже, создание файла сработает так, как это и ожидалось.
Это не раз заставляло пользователей почесать голову и дважды
проверить свое психическое здоровье, файловую систему FreeBSD и оба
этих объекта.Если система может аварийно остановиться после того, как ядро
примет набор данных для записи на диск, но перед тем, как данные
реально запишутся, то данные могут потеряться или оказаться
испорченными. Такой риск весьма мал, но в общем-то, управляем.
Использование кэширование записи на IDE очень сильно увеличивает
этот риск; настоятельно рекомендуется выключить кэширование записи
для IDE при использовании Soft Updates.Эти проблемы влияют на все разделы, использующие Soft Updates.
Итак, что это означает для корневого раздела?Жизненно важная информация на корневом разделе меняется очень
редко. Файлы, такие, как /kernel и содержимое
/etc меняется только при обслуживании системы,
или когда пользователи меняют свои пароли. Если в системе
произойдет сбой в период тридцатисекундного окна после выполнения
такого изменения, возможно, что данные окажутся потерянными. Этот
риск незначителен для большинства применений, но вы должны иметь в
виду, что он есть. Если ваша система не может принять такой риск,
не используйте Soft Updates с корневой файловой системой!/ традиционно является одним из самых
маленьких разделов. По умолчанию FreeBSD размещает каталог
/tmp в /. Если у вас
забит /tmp, вы можете встретиться с
возникающими время от времени проблемами с исковым пространством.
Создание символической ссылки /tmp,
указывающей на /var/tmp, решит эту
проблему.Что не так с устройством 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
(теперь это будет работать)Можно ли смонтировать другие файловые системы?Digital UNIXКомпакт-диски с файловой системой UFS могут быть
замонтированы без всяких проблем. Монтирование файловых систем
Digital UNIX или других систем, поддерживающих UFS, может быть
более сложным, в зависимости от особенностей разбиения диска
конкретной операционной системой.LinuxFreeBSD поддерживает разделы ext2fs.
За дополнительной информацией обратитесь к странице
справочника &man.mount.ext2fs.8;.NTВо FreeBSD имеется драйвер доступа к NTFS в режиме
только чтение. Для получения более полной
информации обратитесь к &man.mount.ntfs.8;.
Нас интересует любая дополнительная информация по этому
вопросу.Как смонтировать вторичный раздел 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Вы можете пропустить этот шаг, если используете FreeBSD
5.0-RELEASE или более новую версию с включенным механизмом
&man.devfs.5;.Существует ли криптографическая файловая система для
&os;?Да; посмотрите порт security/cfs.Как можно использовать загрузчик NT для запуска FreeBSD?Идея заключается в копировании первого сектора корневого
раздела FreeBSD в файл, находящийся в разделе DOS/NT.
Предположим, что вы назвали этот файл
c:\bootsect.bsd (по аналогии с
c:\bootsect.dos), после чего можете
отредактировать файл 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"Если FreeBSD установлена на тот же самый диск, что и
загрузочный раздел NT, просто скопируйте
/boot/boot1 в
C:\BOOTSECT.BSD. Однако, если FreeBSD
установлена на другой диск, то /boot/boot1
работать не будет, нужно копировать
/boot/boot0./boot/boot0 нужно устанавливать с помощью
sysinstall, выбрав менеджер загрузки FreeBSD в диалоговом окне при
выборе менеджера загрузки. Это потому что
в /boot/boot0 область таблицы разделов
заполнена символами NULL, а sysinstall копирует сюда таблицу
разделов перед тем, как скопировать
/boot/boot0 в область MBR.Не копируйте просто /boot/boot0 вместо
/boot/boot1, этим вы перезапишете таблицу
разделов винчестера и ваш компьютер перестанет
загружаться!При запуске менеджер загрузки FreeBSD задаёт ОС, которая
загружалась последний раз, устанавливая для этой операционной
системы признак активизации в таблице разделов, а затем записывает
512 байт самого себя обратно в MBR, так что если вы просто
скопируете /boot/boot0
в C:\BOOTSECT.BSD, то в MBR будет записана
пустая таблица разделов с флагом активности в некотором
месте.Как загрузить FreeBSD и Linux с помощью LILO?Если у вас установлены FreeBSD и Linux на одном и том же диске,
следуйте указаниям по установке LILO о загрузке не-Linux операционных
систем. Они сводятся к следующему:Загрузите Linux, и добавьте следующие строки в файл
/etc/lilo.conf:
other=/dev/hda2
table=/dev/hda
label=FreeBSD
(здесь мы предполагаем, что слайс с FreeBSD известен Linux как
/dev/hda2; измените эту строку в соответствии
с вашей конфигурацией). Затем достаточно будет запустить
lilo, войдя в систему как администратор.Если FreeBSD располагается на другом диске, вам нужно добавить строчку
loader=/boot/chain.b в конфигурационный файл
LILO. Например:
other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
label=FreeBSD
В некоторых случаях для успешной загрузки со второго диска вам
может потребоваться указать номер диска BIOS загрузчику FreeBSD.
Например, если диск SCSI с FreeBSD определяется BIOS как диск 1,
в приглашении загрузчика FreeBSD нужно указать:
Boot: 1:da(0,a)/kernelВо FreeBSD 2.2.5 и выше вы можете настроить &man.boot.8;
на автоматическое принятие таких параметров во время загрузки.В документе
Linux+FreeBSD mini-HOWTO содержится много информации,
касающейся взаимодействия FreeBSD и Linux.Как загрузить FreeBSD и Linux с помощью BootEasy?Установите LILO в начало загрузочного раздела Linux, а не в
Master Boot Record. После этого можно запустить LILO из
BootEasy.Это рекомендуется сделать в любом случае при одновременном
использовании Windows 95 и Linux, чтобы упростить восстановление
работоспособности Linux после переинсталляции Windows 95 (которая
является Ревнивой Операционной Системой и не терпит
присутствия других операционных систем в Master Boot Record).Как сменить приглашение загрузчика с ??? на
что-нибудь более значащее?Вы не можете сделать это со стандартным менеджером загрузки, не
переписав его. Среди портов из категории
sysutils есть несколько других менеджеров
загрузки, которые предоставляют такую функциональность.Как использовать устройство для чтения сменных дисков?Каким бы ни было это устройство, типа 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 со стандартной конфигурацией.Для других дисков посмотрите их параметры с помощью команды
&man.fdisk.8; или &man.sysinstall.8;.Остальные примеры даны для привода ZIP на da2, третьем диске
SCSI.Если это дискета или сменный диск, который будет
использоваться для обмена информацией с другими людьми, хорошей
идеей будет помещение туда файловой системы BSD. Вы получите
поддержку длинных имён файлов, увеличение производительности по
крайней мере в два раза и гораздо большую надёжность. Первым
делом вам снова будет нужно выполнить разбиение диска на
разделы/файловые системы. Вы можете воспользоваться утилитой
&man.fdisk.8; либо &man.sysinstall.8;, а в случае небольшого
диска, на котором не нужно располагать несколько операционных
систем, просто сотрите таблицу разделов (слайсов) FAT и используйте
разбиение на разделы BSD.&prompt.root; dd if=/dev/zero of=/dev/rda2 count=2
&prompt.root; disklabel -Brw da2 autoВы можете использовать &man.disklabel.8; или &man.sysinstall.8;
для создания нескольких разделов BSD.
Вам наверняка придётся это сделать, если вы станете добавлять место
для раздела подкачки на винчестере, хотя это не имеет отношения к
устройствам типа ZIP.В итоге вы должны создать новую файловую систему (в этом примере
она занимает весь наш диск ZIP):&prompt.root; newfs /dev/rda2cи смонтировать её:&prompt.root; mount /dev/da2c /zipХорошо ещё добавить строку типа следующей в файл
/etc/fstab (прочтите справку по &man.fstab.5;),
чтобы в будущем можно было просто давать команду
mount /zip:/dev/da2c /zip ffs rw,noauto 0 0При монтировании компакт-диска, выдаётся сообщение
Incorrect super block.В параметрах команды &man.mount.8; вам нужно указать тип
устройства, который вы собираетесь смонтировать. Это описано в
разделе Руководства об
оптических носителях, а именно в разделе Использование
CD с данными.При монтировании компакт-диска выдаётся сообщение
Device not configured.Обычно это означает, что в приводе CDROM нет компакт-диска либо
устройство на шине не было увидено. Пожалуйста, посмотрите раздел
об
использовании CD с данными в Руководстве, где подробно
обсуждается этот вопрос.Когда я монтирую CDROM, все неанглийские символы в именах
файлов выводятся как ?.Скорее всего, на вашем компакт-диске для хранения информации о
файлах и каталогах используется расширение Joliet.
Это описано в главе Руководства о создании и использовании
CDROM, а именно в разделе об использовании
CDROM с данными.Я записал CD во FreeBSD и теперь не могу считать его ни в какой
другой операционной системой. Почему?Скорее всего, вы записали на CD непосредственно необработанный
файл без первоначального создания файловой системы ISO 9660.
Прочтите главу
Руководства о создании CDROM, в частности, раздел о
записи
данных непосредственно на компакт-диски.Как создать образ CD с данными?Это описано в разделе Руководства о копировании CD с
данными. Более полную информацию о работе с
компакт-дисками можно найти в разделе о создании компакт-дисков
главы об устройствах хранения данных Руководства.Почему я не могу смонтировать (командой
mount аудио CD?Если вы попытаетесь смонтировать аудио CD, вы получите примерно
такое сообщение об ошибке: cd9660: /dev/acd0c: Invalid
argument. Причина этого заключается в том, что команда
mount работает только с файловыми системами. На
аудио CD файловых систем нет; они содержат только данные. Вам
нужна программа, читающая аудио CD, например, порт
audio/xmcd port.Как выполнить mount для многосеансового
CD?По умолчанию &man.mount.8; будет пытаться смонтировать
последнюю дорожку (сеанс) CD с данными. Если вы хотите
загрузить более ранний сеанс, то должны воспользоваться опцией
командной строки . Пожалуйста, обратитесь к
справке по команде &man.mount.cd9660.8; для получения конкретных
примеров.Как разрешить обычным пользователям монтировать дискеты,
компакт-диски и другие сменные носители?Обычным пользователям можно позволить монтировать устройства.
Вот как это делается:Как пользователь root, установите
системную переменную vfs.usermount в
значение 1.&prompt.root; sysctl -w vfs.usermount=1Работая пользователем root, назначьте
соответствующие права на устройства с поблочным доступом,
которые соответствуют сменным носителям.Например, чтобы позволить пользователям монтировать дискеты
в первом дисководе, воспользуйтесь командой&prompt.root; chmod 666 /dev/fd0Чтобы разрешить пользователям из группы
operator монтировать компакт-диски,
сделайте так:&prompt.root; chgrp operator /dev/cd0c
&prompt.root; chmod 640 /dev/cd0cНаконец, добавьте строчку
vfs.usermount=1 в файл
/etc/sysctl.conf, чтобы она срабатывала
во время загрузки системы.Теперь все пользователи могут монтировать дискету
/dev/fd0 в собственные каталоги:&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-pointПользователи из группы operator теперь
могут монтировать компакт-диск /dev/cd0c
в собственные каталоги:&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t cd9660 /dev/cd0c ~/my-mount-pointРазмонтировка устройства осуществляется просто:&prompt.user; umount ~/my-mount-pointИспользование vfs.usermount, однако, имеет
некоторые негативные стороны, связанные с вопросами безопасности.
Более правильным способом работы с носителями в формате MSDOS
является использование пакета
mtools из коллекции портов.Команды du и df
показывают разный объем доступного дискового пространства. Что
происходит?Вам нужно разобраться, что на самом деле делают команды
du и df.
du проходит по дереву каталогов, замеряя,
насколько большой объем занимает каждый файл, и выдает общий объем.
df просто запрашивает файловую систему об
оставшемся объеме. Это выглядит как одно и то же, однако файл без
записи в каталоге затронет df, но не повлияет на
du.Когда программа использует файл, а вы его удалили, файл на
самом деле не удаляется из файловой системы, пока программа не
прекратит его использовать. Однако файл тут же удаляется из списка
каталога. Вы можете легко это видеть при помощи такой программы,
как more. Предположим, что у вас имеется файл,
настолько большой, что его присутствие влияет на вывод команд
du и df. (Так как в
настоящее время диски могут быть настолько большими, это может быть
очень большой файл!) Если вы удалите этот
файл в процессе работы more над ним, на команду
more это не повлияет и она не сообщит, что не
может просматривать файл. Запись о файле просто удалена из
каталога, так что другие программы или пользователи не смогут к
нему обратиться. du покажет, что файл исчез
— она просматривает дерево каталогов, а файла там не будет.
df показывает, что он все еще здесь, так как
файловая система знает, что more все еще
использует это пространство. Как только вы закончите работу с
more, команды du и
df придут в соответствие.Заметьте, что подсистема отложенных обновлений (Soft Updates)
может задерживать освобождение дискового пространства; вам может
потребоваться подождать до 30 секунд, прежде, чем изменения будут
заметны!Такая ситуация часта на веб-серверах. Многие устанавливают
веб-сервер на FreeBSD и забывают обновлять файлы протоколов.
Журнал доступа заполняет /var. Новый
администратор удаляет файл, но система все еще сообщает о том, что
раздел заполнен. Остановка и перезапуск программы веб-сервера
освободит файл, позволяя системе освободить дисковое пространство.
Для предотвращения этого настройте &man.newsyslog.8;.Как добавить дополнительную виртуальную память?В главе Руководства о конфигурации и тонкой
настройке вы найдёте раздел, в котором
описывается, как это сделать.Почему возможно заполнение раздела больше чем на 100%?Часть каждого раздела UFS (по умолчанию 8%) зарезервировано для
использования операционной системой и пользователем
root. Утилита &man.df.1; не учитывает это
при подсчёте значения в колонке Capacity, так
что оно может превышать 100%. Также вы заметите, что колонка
Blocks всегда больше, чем сумма значений в
колонках Used и Avail,
обычно на 8%.Для получения более подробной информации обратитесь к описанию
опции в справке по &man.tunefs.8;.Системное администрированиеГде расположены файлы конфигурации системы?Основным настроечным файлом является
/etc/defaults/rc.conf (обратитесь к
&man.rc.conf.5;) Скрипты начального запуска системы, такие, как
/etc/rc и /etc/rc.d
(обратитесь к &man.rc.8;) просто включают этот файл. Не
редактируйте этот файл! Вместо этого, если в файле
/etc/defaults/rc.conf имеется параметр,
который вы хотите изменить, то вы должны скопировать строчку с ним
в файл /etc/rc.conf и поменять его значение
именно здесь.Например, если вы хотите запустить named, поставляемый сервер
DNS, то всё, что вам нужно сделать, это:&prompt.root; echo named_enable="YES" >> /etc/rc.confЧтобы запустить местные сервисы, поместите скрипты в каталог
/usr/local/etc/rc.d. У этих скриптов
должен быть выставлен бит выполнимости, и их имена должны
оканчиваться на .sh.Как проще всего добавить пользователя?Используйте команду &man.adduser.8; или &man.pw.8; в случае
выполнения более сложных операций.Чтобы удалить пользователя, используйте команду
&man.rmuser.8; или, если это будет необходимо, &man.pw.8;.Почему после редактирования моего файла crontab я получаю
сообщения вида root: not found?Обычно это случается при редактировании системного crontab-файла
(/etc/crontab) и последующего использования
утилиты &man.crontab.1; для его установки:&prompt.root; crontab /etc/crontabЭто неправильно. Системный crontab-файл имеет формат, отличный
от пользовательских crontab-файлов, которые обновляет утилита
&man.crontab.1; (страница Справочника по &man.crontab.5; описывает
отличия более подробно).Если это именно то, что вы сделали, то дополнительный
crontab-файл является просто копией файла
/etc/crontab в неправильном формате. Удалите
его такой командой:&prompt.root; crontab -rВ следующий раз при редактировании файла
/etc/crontab, вам не нужно делать ничего для
оповещения утилиты &man.cron.8; о сделанных изменениях, так как она
распознает их автоматически.Если вы хотите запускать что-то один раз в день, неделю или
месяц, то, наверное, лучше обновить скрипты
/usr/local/etc/periodic и позволить команде
&man.periodic.8;, запускаемой системной cron-утилитой, планировать
их выполнение вместе с другими периодическими системными
задачами.Реальная причина ошибки заключается в том, что системный
crontab-файл имеет дополнительное поле, указывающее, какой
пользователь запускает команду. В системном crontab-файле,
поставляемом с FreeBSD и используемом по умолчанию, это
пользователь root для всех строк. Если этот
crontab-файл используется в качестве crontab-файла пользователя
root (что не то же самое,
что системный crontab-файл), &man.cron.8; полагает, что слово
root является первым в команде на выполнение,
но такой команды не существует.Команда su выдает, что you are
not in the correct group to su root, когда я пытаюсь
сменить привилегии на root.Это особенность работы системы защиты. Для того, чтобы
изменить свои привилегии на пользователя root
(или любого другого пользователя, имеющего привилегии
администратора), вы должны быть членом группы
wheel. Если бы этого не было, любой,
имеющий доступ к системе и узнавший пароль пользователя
root, смог получить в системе
администраторские полномочия. С такой же защитой этого не
получится; &man.su.1; будет препятствовать попыткам даже ввести
пароль, если некто не являетесь членом группы
wheel.Чтобы разрешить кому-либо менять привилегии на
root, просто включите его в группу
wheel.Я сделал ошибку в файле 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 так, как вы это обычно делаете
для исправления ошибки. Сообщение об ошибке, выводимое сразу же
после сообщений при загрузке ядра, должно указать вам на номер
строки в файле, которая содержит ошибку.У меня проблемы с установкой принтера.Обратитесь к соответствующему разделу Руководства,
посвящённому печати. В нём описаны решения большинства ваших
проблем.Некоторые принтеры для выполнения любых операций по печати
требуют наличия на хосте драйвера. Такие так называемые
WinPrinters изначально во FreeBSD не
поддерживаются. Если ваш принтер не работает в DOS или Windows NT
4.0, то, скорее всего, это WinPrinter. Единственное, что вам
остаётся сделать в надежде на то, что вы заставите его работать,
это проверить, поддерживает ли его порт
print/pnm2ppa.Раскладка клавиатуры неверна.Пожалуйста, обратитесь к разделу Руководства, посвящённому
использованию
локализации, а именно к части, описывающей настройку
консоли.У меня при загрузке появляются сообщения вида
unknown: <PNP0303> can't assign
resourcesНиже следует часть письма, опубликованного в списке рассылки
freebsd-current.
&a.wollman;, 24 апреля 2001Сообщение can't assign resources говорит о
том, что устройство является устаревшим ISA-устройством, для
которого в ядре присутствует драйвер, не поддерживающий PnP. К
таким устройствам относятся контроллеры клавиатуры, микросхема
контроллера программируемых прерываний, а также другие части
стандартного набора. Ресурсы не могут выделены, потому что уже
есть драйвер, использующий эти адреса.
Почему не получается заставить работать дисковые квоты?Не включайте квотирование на /,Помещайте файл с квотами в ту файловую систему, которую
он обслуживает, то есть:Файловая системаФайл квот/usr/usr/admin/quotas/home/home/admin/quotas……Поддерживает ли FreeBSD вызовы IPC из System V?Да, FreeBSD поддерживает IPC из System V, в том числе совместно
используемую память, сообщения и семафоры. Во FreeBSD версий,
вышедших после 3.2, IPC из System V поддерживаются в ядре GENERIC.
В более ранних версиях FreeBSD для включения их поддержки нужно
добавить следующие строки в файл конфигурации ядра.options SYSVSHM # enable shared memory
options SYSVSEM # enable for semaphores
options SYSVMSG # enable for messagingПерекомпилируйте и переустановите ядро.Какое другое программное обеспечение для почтового сервера
можно использовать вместо Sendmail?Sendmail является
программным обеспечением для работы почтового сервера во FreeBSD,
используемым по умолчанию, но вы можете с легкостью заменить его
другим MTA (к примеру, установленным из портов).В дереве портов уже имеются различные альтернативные MTA, из
которых mail/exim,
mail/postfix,
mail/qmail,
mail/zmailer являются одними
из самых популярных.Разнообразие хорошо, а тот факт, что у вас есть выбор из многих
различных почтовых серверов, является хорошим признаком; поэтому
попытайтесь не задавать вопросы типа
Sendmail лучше, чем Qmail? в списках рассылки. Если
вы захотите получить ответ, сначала просмотрите архивы списков
рассылки. Достоинства и недостатки каждого из имеющихся MTA уже
обсуждались неоднократно.Я забыл пароль пользователя root! Что
делать?Без паники! Просто перезапустите систему, наберите
boot -s в приглашении Boot: (или просто
-s в случае использования версий FreeBSD
до 3.2) для входа в однопользовательский режим. На вопрос об
используемой оболочке нажмите ENTER. На приглашение
&prompt.root; введите mount -u /, чтобы
перемонтировать корневую файловую систему в режиме чтения/записи,
после чего выполните команду mount -a для
монтирования всех файловых систем. Запустите команду
passwd root, чтобы сменить
пароль пользователя root, а затем
&man.exit.1; для продолжения процесса загрузки.Как запретить перезагрузку по нажатию ControlAltDelete?Если вы используете драйвер консоли syscons (который является
стандартным), перегенерируйте и установите новое ядро со
следующим параметром.options SC_DISABLE_REBOOTв конфигурационном файле. Если же вы используете драйвер
консоли PCVT, то вместо вышеуказанной включите в конфигурационный
файл следующую строку.options PCVT_CTRL_ALT_DELКак преобразовать текстовые файлы DOS в формат Unix?Используйте такую команду:
&prompt.user; perl -i.bak -npe 's/\r\n/\n/g' file ...где file - это имя файла(ов) для преобразования. Преобразование
делается в том же самом файле, оригинальные файлы сохраняются с
расширением .bak.Это преобразование также можно выполнить с помощью команды
&man.tr.1;:
&prompt.user; tr -d '\r' < dos-text-file > unix-fileгде dos-text-file - это имя файла,
содержащего текст DOS, а в файл unix-file будет
помещён уже преобразованный текст. Этот способ может работать гораздо
быстрее, чем при использовании perl.Как прервать процесс по имени?Используйте команду &man.killall.1;.Почему su выдаёт сообщение о том, что я
не вхожу в root ACL?Эта ошибка выдаётся распределённой системой аутентификации Kerberos.
Эта ошибка не фатальна, однако это раздражает. Вы можете запустит su
с ключом -K либо деинсталлировать Kerberos, как описано в следующем
разделе.Как деинсталлировать Kerberos?Чтобы убрать Kerberos из системы, переустановите дистрибутив
bin того релиза, который у вас запущен. Если у вас есть CDROM, вы
можете смонтировать компакт-диск (положим, в каталог
/cdrom) и выполнить команду&prompt.root; cd /cdrom/bin
&prompt.root; ./install.shЛибо вы можете убрать все опции
MAKE_KERBEROS из файла
/etc/make.conf и выполнить полное перестроение
системы.Что случилось с /dev/MAKEDEV?Во FreeBSD 5.X используется система &man.devfs.8; устройств по
требованию. Драйверы устройств автоматически создают новые файлы
устройств, как только в них появляется необходимость, таким образом
обходясь без /dev/MAKEDEV.Если вы работаете с FreeBSD 4.X или более ранней версией, и
файл /dev/MAKEDEV отсутствует, то у вас
действительно есть проблема. Возьмите копию из исходных кодов
системы, как правило, из
/usr/src/etc/MAKEDEV.Как добавить в систему дополнительные псевдотерминалы?Если у вас много пользователей, работающий в сеансах telnet, ssh, X
или в screen, вам можете столкнуться с проблемой нехватки
псевдотерминалов. Их количество можно увеличить следующим образом:Откомпилируйте и инсталлируете новое ядро, в конфигурационный
файл которого входит такая строка:
pseudo-device pty 256
Выполните следующие команды:
&prompt.root; cd /dev
&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7}для создания 256 дополнительных файлов устройств для новых
терминалов.Отредактируйте файл /etc/ttys, добавив по
строке для каждого из 256 терминалов. Они должны соответствовать
формату существующих строк, то есть должны выглядеть вот так:
ttyqc none network
Порядок назначения букв при записи в виде регулярного выражения
имеет вид tty[pqrsPQRS][0-9a-v].Теперь осталось только перезапустить систему с новым ядром.Почему не получается создать устройство snd0?Такого устройства, как snd, не
существует. Это название используется в качестве краткого
обозначения различных устройств, которые составляют во FreeBSD
звуковой драйвер, таких как mixer,
sequencer и
dsp.Для создания этих устройств вы должны сделать следующее:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV snd0Вы можете пропустить этот шаг, если используете FreeBSD
5.0-RELEASE или более новую версию с включенным механизмом
&man.devfs.5;.Как перечитать содержимое /etc/rc.conf и
перестартовать /etc/rc без перезагрузки системы?
Перейдите в однопользовательский режим, а затем возвратитесь обратно
в многопользовательский.На консоли выполните следующее:
&prompt.root; shutdown now
(Замечание: без -r или -h)
&prompt.root; return
&prompt.root; exitЯ пытался обновить мою систему до последней -STABLE, а
получил -RC или -PRERELEASE! Что происходит?Краткий ответ: это же просто название. RC означает
Release Candidate. Это значит, что вскоре
произойдет выход релиза. Во FreeBSD появление -PRERELEASE, как
правило, равнозначно прекращению внесения изменений в код системы
перед появлением релиза. (Для некоторых релизом метка -BETA
использовалась точно так же, как и PRERELEASE.)Подробный ответ: во FreeBSD релизы выпускаются из одного из
двух мест. Крупные релизы, точка-ноль, такие, как
3.0-RELEASE и 4.0-RELEASE, ответвляются от основного потока
разработки, более известного как -CURRENT. Мелкие релизы, такие, как
3.1-RELEASE или 4.2-RELEASE, являлись снэпшотами активной ветки
-STABLE. Начиная с 4.3-RELEASE,
каждый релиз также имеет свою ветвь, которой могут следовать те,
кому необходим сверхконсервативный метод обновления (как правило,
внесение только тех исправлений, которые касаются вопросов
обеспечения безопасности).Когда делается релиз, то ветвь, из которой он выпускается,
подвергается некоторой подготовке. Частью этого процесса является
замораживание кода. Когда инициируется замораживание кода, то имя
ветки изменяется для того, чтобы отразить факт близости релиза.
Например, если ветка называлась 4.5-STABLE, то её имя будет
изменено на 4.6-PRERELEASE, чтобы обозначить момент прекращения
внесения изменений в код системы и период дополнительного
тестирования перед выходом релиза. В это время исправления ошибок
могут быть внесены в код системы для того, чтобы быть включенными в
релиз. Когда исходный код подготовлен к выпуску релиза, имя будет
изменено на 4.6-RC для обозначения того, что релиз будет сделан,
скорее всего, именно из этого кода. Когда код находится на этапе
RC, в нём могут исправляться только самые критичные ошибки. Как
только релиз (в нашем примере 4.6-RELEASE) и ветка релиза будут
созданы, ветвь будет переименована в 4.6-STABLE.Для получения дополнительной информации о номерах версий и
различных ветках CVS обратитесь к статье о выпуске
релизов.Я попытался установить новое ядро, однако утилита chflags не
сработала. Как это обойти?Краткий ответ: Скорее всего, вы работаете в режиме безопасности,
большем, чем 0. Для установки ядра перезагрузите машину и войдите в
однопользовательский режим.Подробный ответ: FreeBSD запрещает менять системные флаги при работе
на уровнях безопасности, превышающих 0. Вы можете определить ваш
уровень такой командой:
&prompt.root; sysctl kern.securelevelВы не можете понизить уровень безопасности; для установки ядра вам
нужно перезагрузиться в однопользовательский режим, или изменить уровень
безопасности в /etc/rc.conf, а затем выполнить
перезагрузку. Обратитесь к странице Справочника по &man.init.8; за
подробной информацией об уровне безопасности и посмотрите
/etc/defaults/rc.conf и справочную страницу по
&man.rc.conf.5; для выяснения подробностей о файле rc.conf.Не получается изменить системное время больше чем на одну секунду!
Как это обойти?Краткий ответ: Скорее всего, вы работаете на уровне безопасности,
превышающем 1. Для смены даты перезагрузите машину и войдите в
однопользовательский режим.Подробный ответ: FreeBSD запрещает менять системное время на больше
чем одну секунду при работе на уровнях безопасности, превышающих 1. Вы
можете определить ваш уровень такой командой:
&prompt.root; sysctl kern.securelevelВы не можете понизить уровень безопасности; для изменения даты вам
нужно перезагрузиться в однопользовательский режим, или изменить уровень
безопасности в /etc/rc.conf, а затем выполнить
перезагрузку. Обратитесь к странице Справочника по &man.init.8; за
подробной информацией об уровне безопасности, и посмотрите
/etc/defaults/rc.conf и справочную страницу по
&man.rc.conf.5; для выяснения подробностей о файле rc.conf.В rpc.statd; есть ошибка работы с памятью ! Он
использует 256 Mb памяти !Нет, там нет ошибок и он не использует 256 Mb памяти. Ему
просто нравится (что он постоянно и делает) отображать неприлично
большой кусок памяти в свое адресное пространство для удобства.
Здесь нет ничего неправильного с технической точки зрения, это
просто сбивает с толку программы вроде &man.top.1; и &man.ps.1;
&man.rpc.statd.8; отображает свой статусный файл
(находящийся на /var) в свое адресное
пространство. Для того чтоб постоянно не беспокоится о будущих
переотражениях, когда файл вырастет в размерах, он просто
отображает его с огромным размером заранее. Это просто заметить
в исходных текстах, где как вы можете увидеть параметр длина
к функции &man.mmap.2; имеет значение
0x10000000, или одна шестнадцатая адресного
пространства для IA32, то есть 256Mb.Почему я не могу снять с файла флаг schg?Вы работаете в системе с повышенным (то есть большим, чем 0) уровнем
защиты. Понизьте уровень защиты и попробуйте еще раз. Для получения более
подробной информации обратитесь к разделу FAQ
об уровне защиты и справочной странице о &man.init.8;.Почему в SSH аутентификация посредством файла
.shosts не включена по умолчанию в
последних версиях FreeBSD?Причиной, по которой .shosts
аутентификация не работает по умолчанию в последних версиях
FreeBSD, является то что &man.ssh.1; не устанавливается более
с битом изменения привилегий на пользователя
root. Если вы хотите
исправить это, то вы можете сделать одно
из двух нижеприведённых действий:Как постоянную правку, установите
ENABLE_SUID_SSH в true в
файле /etc/make.conf и перекомпилируйте
ssh.Как временную правку измените права доступа к файлу
/usr/bin/ssh на 4555
командой chmod 4555 /usr/bin/ssh из-под
администратора. А потом добавьте строку
ENABLE_SUID_SSH=true в файл
/etc/make.conf, чтоб это изменение
осталось в силе после очередного обновления системы с помощью
make world.Что такое vnlru?vnlru сбрасывает и освобождает vnode, когда
система достигает своего ограничения по параметру
kern.maxvnodes. Этот подпроцесс ядра в основном
работает вхолостую и активируется только при наличии огромного
объема ОЗУ и обращении к десяткам или тысячам файлов маленького
размера.Что означают различные состояния памяти, показываемые утилитой
top?Active: по статистике страницы недавно
использовались.Inactive: по статистике страницы
недавно не использовались.Cache: (наиболее часто)
страницы, которых перемещены из числа неактивных в статус, в
котором они содержат данные, но которые могут часто сразу же
использоваться повторно (как с их старым содержимым, так и
повторно с новым.) Это может быть некоторое непосредственное
перемещение из числа активных в состояние 'cache', если
известна чистота (немодифицированность) страницы, но такое
перемещение определяется политикой, зависящей от выбора
алгоритма разработчиком VM-системы.Free: страницы, не содержащие данных,
и которые могут быть использованы при некоторых условиях,
когда страницы кэша могут не подойти. Свободные страницы
могут повторно использоваться в состояниях прерывания или
процессах.Wired: страницы, зафиксированные в
памяти, обычно для использования ядром, а также иногда для
специального использования процессами.Страницы чаще всего записываются на диск (типа синхронизации
VM), когда они находятся в состоянии 'inactive', однако страницы
в состоянии 'active' также могут сбрасываться (но это требует
наличия определённых возможностей ЦПУ.) Это зависит от
наличия и возможности отслеживания со стороны ЦПУ бита
'модифицированности', и в некоторых ситуациях это может быть лучше
для блока синхронизируемых страниц VM, вне зависимости от их
активности. В большинстве встречающихся ситуаций лучше всего
представлять 'неактивную' очередь как очередь сравнительно
неиспользуемых страниц, которые могут быть, а могут и не быть в
процессе записи на диск. 'Кэшируемые' страницы уже
'синхронизированы', не отображаются, но доступны для
непосредственного использования процессом со своей старой или новой
привязкой. Свободные страницы доступны на уровне прерывания,
однако кэшируемые или свободные страницы могут использоваться в
процессе повторно. Кэшируемые страницы недостаточно заблокированы
для того, чтобы быть доступными на уровне прерывания.Есть ещё некоторые другие флаги (например, флаг Busy или
счётчик занятости), которые могут изменить некоторые описанные
правила.Сколько свободной памяти доступно?Есть несколько понятий свободной памяти. В
одном случае это объём памяти, непосредственно доступной в данный
момент без страничной выгрузки чего-либо. Этот объём равен
примерно размеру очереди кэша + размер очереди на высвобождение (с
учётом допустимых отклонений, зависящих от настроек системы.) В
другом случае свободная память обозначает общий
объём пространства VM. Он может сложно
вычисляться, но зависит от объёма раздела подкачки и памяти.
Другие определения свободной памяти также возможны,
но они достаточно бесполезны, ведь в любом случае важно сохранять
низкий уровень подкачки и избегать исчерпания раздела
подкачки.Что такое /var/empty? Я не могу его
удалить!/var/empty представляет собой каталог,
который использует программа &man.sshd.8; при выполнении разделения
полномочий. Каталог /var/empty пуст, его
владельцем является root и на нём установлен
флаг schg.Хотя этот каталог удалять не рекомендуется, для выполнения этой
операции вам нужно сначала снять флаг schg.
Обратитесь к справочным страницам по &man.chflags.1; для получения
более полной информации (и помните про ответ на вопрос о снятии флага schg).X Window System и виртуальные консолиЯ хочу запустить X, как это сделать?Самый простой способ - это указать во время инсталляции, что вы
хотите использовать X.Затем следуйте указаниям в документации по утилите
xf86config, которая предназначена для
конфигурирования работы XFree86 с вашим графическим
адаптером/мышью/итд.Вы можете также попробовать сервер Xaccel. За подробной
информацией обратитесь к разделу, посвящённому продуктам фирм Xi Graphics и Metro Link.Я попытался запустить X, но получил
сообщение KDENABIO failed (Operation not
permitted) после ввода команды
startx. Что мне теперь делать?Вероятнее всего, в вашей системе установлен повышенный уровень
безопасности. При повышенном уровне защиты систему X запустить
невозможно. Чтобы выяснить, почему это так, обратитесь к
страницам справки по &man.init.8;.Так что вопрос сводится к тому, как вам это обойти, и у вас
здесь есть в основном два варианта: понизить ваш уровень защиты
обратно к нулю (обычно это делается в
/etc/rc.conf) или во время загрузки
запускать &man.xdm.1; (до того, как повышается уровень
защиты).Обратитесь к для получения более
полной информации о запуске &man.xdm.1; во время загрузки.Почему моя мышь не работает с X?Если вы используете 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/mouse должен являться ссылкой на
/dev/sysmouse (посмотрите справку по
&man.sysmouse.4;):
&prompt.root; cd /dev
&prompt.root; rm -f mouse
&prompt.root; ln -s sysmouse mouseУ моей мыши есть колёсико. Могу ли я его использовать при
работе в X?Да. Но вам нужно будет настроить программы-клиенты для X.
Посмотрите страничку
Коласа Наабу (Colas Nahaboo)
(http://www.inria.fr/koala/colas/mouse-wheel-scroll/).Если вы собираетесь использовать программу
imwheel, следуйте этим простым
указаниям:Трансляция событий от колёсикаРабота программы imwheel
основана на трансляции событий от кнопок мыши 4 и 5 в события
от клавиатуры. То есть вам нужно заставить драйвер мыши
транслировать события от колёсика в события от кнопок 4 и 5.
Есть два способа сделать это, в первом из которых трансляцию
выполняет &man.moused.8;. Во втором методе трансляцию событий
выполняет сам X-сервер.Использование &man.moused.8; для трансляции событий от
колёсикаДля того, чтобы &man.moused.8; выполнял преобразование
событий, просто добавьте опцию к
команде, запускающей &man.moused.8;. Например, если
обычно вы запускаете &man.moused.8; командой
moused -p /dev/psm0, то теперь вы должны
будете использовать moused -p /dev/psm0 -z
4. Если &man.moused.8; запускается у вас
автоматически во время загрузки через
/etc/rc.conf, то вы можете просто
добавить опцию к переменной
moused_flags в файле
/etc/rc.conf.Теперь вам нужно указать X, что вы используете
5-кнопочную мышь. Для этого просто добавьте строчку
Buttons 5 в секцию Pointer
файла /etc/XF86Config. Например, в
вашем файле /etc/XF86Config секция
Pointer может принять такой вид:Секция Pointer для мыши с колёсиком
из файла XF86Config для XFree86 3.X с трансляцией через
mousedSection "Pointer"
Protocol "SysMouse"
Device "/dev/sysmouse"
Buttons 5
EndSectionСекция InputDevice для мыши с
колёсиком из файла XF86Config для XFree86 4.x с
преобразованием через X-серверSection "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/sysmouse"
Option "Buttons" "5"
EndSectionПример .emacs для простой прокрутки
страницы мышью с колёсиком;; wheel mouse
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)Использование X-сервера для трансляции событий от
колёсикаЕсли &man.moused.8; у вас не запущен или если вы не
хотите, чтобы &man.moused.8; занимался трансляцией событий
от колёсика, то это может сделать X-сервер. Это требует
некоторых модификаций в вашем файле
/etc/XF86Config. Во-первых, вам
нужно правильно выбрать протокол для вашей мыши.
Большинство манипуляторов с колёсиками используют протокол
IntelliMouse. Однако XFree86 поддерживает
другие протоколы, такие, как
MouseManPlusPS/2 для мышей Logitech
MouseMan+. После того, как вы выберите используемый
протокол, в секцию Pointer нужно будет
добавить строчку Protocol.Во-вторых, вам нужно указать, что X-сервер будет
переопределять события от колёсика в события от кнопок 4 и
5. Это делается заданием опции
ZAxisMapping.Например, если вы не используете &man.moused.8; и ваша
мышь IntelliMouse подключена к порту для мыши PS/2, в вашем
файле /etc/XF86Config должно быть
указано следующее:Секция Pointer для мыши с колёсиком
из файла XF86Config с трансляцией
с помощью X-сервераSection "Pointer"
Protocol "IntelliMouse"
Device "/dev/psm0"
ZAxisMapping 4 5
EndSectionРаздел InputDevice для мыши с
колесиком в XF86Config из XFree86 4.x с трансляцией через
X-серверSection "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psm0"
Option "ZAxisMapping" "4 5"
EndSectionПример .emacs для простой прокрутки
страницы при помощи мыши с колесиком;; wheel mouse
(global-set-key [mouse-4] 'scroll-down)
(global-set-key [mouse-5] 'scroll-up)Установка программы
imwheelТеперь установите программу
Imwheel из Коллекции Портов. Она
находится в категории x11. Эта утилита
будет преобразовывать события от колёсика вашей мыши в события
от клавиатуры. Например, она может послать в программу
последовательность Page Up, когда вы крутите
колёсико вперёд. Для преобразования событий от колёсика в
нажатия клавиш imwheel использует
конфигурационный файл, причём для разных приложений возможна
посылка разных последовательностей. Конфигурационным файлом,
используемым по умолчанию, является
/usr/X11R6/etc/imwheelrc. Вы можете
скопировать его в ~/.imwheelrc и
отредактировать, если хотите изменить параметры работы
imwheel. Формат конфигурационного
файла описан на странице Справочника о &man.imwheel.1;.Настройка редактора Emacs для
работы с Imwheel (по
желанию)Если вы используете emacs или
XEmacs, то в ваш файл
~/.emacs нужно добавить маленький раздел.
Для редактора emacs, добавьте
следующее:Конфигурация Emacs для работы
с Imwheel;;; For imwheel
(setq imwheel-scroll-interval 3)
(defun imwheel-scroll-down-some-lines ()
(interactive)
(scroll-down imwheel-scroll-interval))
(defun imwheel-scroll-up-some-lines ()
(interactive)
(scroll-up imwheel-scroll-interval))
(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
;;; end imwheel sectionДля редактора XEmacs, в ваш файл
~/.emacs добавьте следующее:Конфигурация XEmacs для
работы с Imwheel;;; Для imwheel
(mwheel-install)
(setq mwheel-follow-mouse t)
;;; end imwheel sectionЗапуск ImwheelВы можете просто набрать команду imwheel
в вашем в окне xterm после установки. Она сама перейдёт в
фоновый режим и немедленно начнёт работу. Если вы хотите
использовать imwheel всегда, просто
добавьте её запуск в ваш .xinitrc или
.xsession. Все предупреждения о
PID-файлах, которые выводит imwheel,
можно проигнорировать. Эти предупреждения имеют смысл только в
Linux-версии imwheel.Как использовать удалённые X-дисплеи?Из соображений обеспечения информационной безопасности
открывать удалённые окна на машине по умолчанию запрещено.Для включения этой возможности просто запустите
X с аргументом
:&prompt.user; startx -listen_tcpМеню и диалоговые окна в 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Что такое виртуальные консоли и как изменить их
количество?Виртуальные консоли, упрощённо говоря, позволяют вам иметь
несколько одновременных сеансов работы с той же самой машиной без
установки какой бы то ни было сети или запуска X.При запуске системы после вывода сообщений этапа загрузки на
консоль выдаётся приглашение на вход в систему. Вы можете ввести
своё имя и пароль и начать работать (или играть!) на первой
виртуальной консоли.В какой-то момент вы можете захотеть запустить ещё одну сеанс,
скажем, чтобы заглянуть в документацию по программе, которую вы
запустили или для для чтения электронной почты во время ожидания
завершения передачи данных по FTP. Просто нажмите AltF2
(удерживая клавишу Alt, нажмите
F2) и вы обнаружите приглашение, ждущее вас на
второй виртуальной консоли! Когда захотите
вернуться к первоначальному сеансу, нажмите AltF1.После инсталляции по умолчанию во FreeBSD задействованы три
виртуальных консоли (8 начиная с 3.3-RELEASE), а комбинации клавиш
AltF1, AltF2
и AltF3 служат для переключения
между ними.Чтобы увеличить количество консолей, отредактируйте файл
/etc/ttys (посмотрите справку
по &man.ttys.5;), добавив туда записи для терминалов с именами от
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на: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Во FreeBSD 5.X, если вы используете DEVFS,
вам не нужно создавать устройства вручную, потому что необходимые
файлы устройств будут создаваться в каталоге /dev автоматически.Самым простым (и надёжным) способом активировать виртуальные
консоли является перезагрузка. Однако если вы вовсе не хотите
этого делать, просто остановите X Window System и выполните (как
пользователь root):&prompt.root; kill -HUP 1При этом требуется, чтобы вы полностью закрыли X Window, если
она была запущена, до запуска этой команды. Если вы это не
сделаете, ваша система может повиснуть/заблокироваться после
выполнения команды kill.Как осуществляется доступ к виртуальным консолям из X?Используйте комбинацию клавиш
CtrlAltFn
для переключения обратно в виртуальную консоль. Нажатие
CtrlAltF1
вернёт вас на первую виртуальную консоль.После того, как вы оказались в текстовой консоли, можете использовать,
как обычно, комбинации
AltFn для переключения между ними.Чтобы вернуться в сеанс работы X, вы должны переключиться в виртуальную
консоль, на которой запущена X Window. Если вы запустили X из командной
строки (например, при помощи команды startx), то сеанс
работы X будет привязан к следующей неиспользуемой виртуальной консоли, а
не к той текстовой консоли, с которой он был запущен. Если у вас имеется
восемь активных виртуальных терминалов, то X будет работать на девятом, и
вам нужно будет воспользоваться комбинацией
AltF9
для возврата в X.Как запустить XDM во время загрузки?Есть две философские школы, проповедующие различные методы запуска
xdm. Последователи одного течения запускают xdm из
/etc/ttys (посмотрите &man.ttys.5;), используя
приводимый пример, тогда как другие вставляют запуск xdm в скрипт
rc.local (посмотрите справку по &man.rc.8;) или
X.sh, помещая последний в каталог
/usr/local/etc/rc.d. Оба метода равноправны, и один
из них может работать в ситуациях, с которыми не справляется другой и
наоборот. В обоих случая результат один и тот же: X выводит
графическое приглашение login:.Плюсом метода с использованием ttys является документирование того,
на каком vty будет запущен X и то, что ответственность за перезапуск
X-сервера при завершении сеанса работы лежит на процессе init. Метод
с использованием rc.local позволяет просто прекратить работу xdm, если
при запуске X возникли какие-нибудь проблемы.Из rc.local xdm должен быть запущен без
аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска
&man.getty.8;, иначе они будут конфликтовать, блокируя консоль. Лучше всего
выдержать паузу секунд на 10 и потом запустить xdm.
Если xdm запускается из
/etc/ttys, то есть вероятность конфликта между
xdm и &man.getty.8;. Одним из способов
избежать этого является добавление номера 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, для решения этой проблемы
существует файл &man.fbtab.5;.В общем, раскомментируйте строчку вида
/dev/ttyv0 0600 /dev/console
в файле /etc/fbtab (посмотрите справку по
&man.fbtab.5;), и этого будет достаточно для того, чтобы всякий, кто вошёл
в систему с терминала /dev/ttyv0, имел доступ к
консоли.Раньше я запускал XFree86, работая как обычный пользователь, а
теперь при запуске выдается сообщение о том, что я должен быть
пользователем root!Все X-серверы должны запускаться пользователем
root, чтобы иметь прямой доступ к вашему
видеооборудованию. Более старые версии XFree86
(<= 3.3.6) устанавливали все поставляемые серверы так, что они
автоматически запускались пользователем root (с установленным битом
смены владельца запускаемого процесса). Несомненно, это рискованно,
потому что X-серверы являются большими, сложными программами. Более
новые версии XFree86 не устанавливают на серверах бит смены
владельца на пользователя root именно по этой
причине.Очевидно, что запускать X-сервер, работая как
пользователь root, неправильно и небезопасно.
Есть два способа использовать X, работая как
обычный пользователь. Первый способ заключается в использовании
xdm или другого менеджера дисплеев (к
примеру, kdm); второй способ - в
использовании программы Xwrapper.xdm представляет собой даемон,
который обрабатывает входы в систему в графическом режиме. Обычно
он запускается во время загрузки и отвечает за аутентификацию
пользователей и запуск их сеансов; практически это графический
аналог программ &man.getty.8; и &man.login.1;. Более подробная
информация о xdm находится в документации по
XFree86 и в соответствующем разделе
FAQ.Xwrapper является оболочкой для X-сервера;
это маленькая утилита. позволяющая кому-либо запускать X-сервер и
достаточно безопасная в использовании. Она выполняет некоторую
проверку передаваемых ей в командной строке аргументов, и если всё
в порядке, запускает соответствующий X-сервер. Если по каким-либо
причинам вы не хотите запускать менеджер дисплеев, то эта утилита
вам подойдет. Если у вас установлена полная коллекция портов, вы
можете найти этот порт в каталоге
/usr/ports/x11/wrapper.Моя мышь PS/2 в X работает неправильно.Вполне может быть, что ваша мышь и её драйвер
рассинхронизировались.В редких случаях драйвер может ошибочно обнаруживать проблемы
с синхронизацией, и вы будете видеть такие сообщения ядра: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 работают только в режиме высокого
разрешения. В других режимах курсор мыши постоянно
прыгает в верхний левый угол экрана.Укажите флаг 0x04 драйверу мыши PS/2 для перевода её в режим
высокого разрешения. Войдите в UserConfig,
задав опцию в приглашении загрузчика:boot: -cЗатем в командной строке UserConfig
наберите:UserConfig> flags psm0 0x04
UserConfig> quitВ предыдущем разделе описана возможная причина проблем с
мышью.При компиляции приложений для X программа
imake не может найти файл
Imake.tmpl. Где он находится?Файл Imake.tmpl является частью пакета
Imake, стандартного инструмента для построения X-приложений.
Он, также как ещё несколько заголовочных файлов, требуемых для
построения X-приложений, содержится в дистрибутиве программ X. Вы
можете их проинсталлировать из &man.sysinstall.8; или взять из
дистрибутива X. Приложение для X, которое я компилирую, зависит от XFree86
3.3.X, однако у меня установлена XFree86 4.X. Что я должен
сделать?Чтобы указать на компоновку с библиотеками XFree86 4.X при
построении порта, добавьте следующее в
/etc/make.conf (если этого файла у вас нет,
создайте его):XFREE86_VERSION= 4Как поменять местами кнопки мыши?Поместите команду xmodmap
-e "pointer = 3 2 1" в один из ваших скриптов
.xinitrc или
.xsession.Как установить экранную заставку и где такие заставки можно
найти?Перед самым выпуском релиза FreeBSD 3.1 в систему была
добавлена возможность вывода заставки во время
загрузки. На данный момент экраны заставок должны быть
256-цветными файлами формата BMP *.BMP или
ZSoft PCX (*.PCX). Кроме того, они должны
иметь размер 320x200 или меньше для работы со стандартными
адаптерами VGA. Если вы включили поддержку VESA при компиляции
ядра, сможете использовать заставки размером до 1024x768.
Реальная поддержка VESA может быть вкомпилирована в ядро при
указании опции VESA либо загружена в виде
kld-модуля ядра во время начальной загрузки.Чтобы использовать заставку, вам нужно изменить файлы,
управляющие процессом загрузки FreeBSD. Формат этих файлов был
изменён перед выпуском релиза FreeBSD 3.2, так что есть два
способа загрузки экранных заставок: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
autobootFreeBSD 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"Теперь всё, что вам нужно - это сама заставка. Поищите
заставки в галерее по адресу .Можно ли в X использовать клавиши Windows, которые есть на
клавиатуре?Да. Всё, что вам нужно сделать, это с помощью &man.xmodmap.1;
задать функции, которые вы хотите к этим клавишам привязать.Положим, что все клавиатуры Windows стандартны и
3 клавиши имеют следующие клавиатурные коды115 - клавиша Windows между клавишами Ctrl и
Alt с левой стороны116 - клавиша Windows справа от клавиши
AltGr117 - клавиша Menu, слева от клавиши
Ctrl, находящейся справаЧтобы заставить левую клавишу Windows набирать запятую, попробуйте
выполнить такую команду:&prompt.root; xmodmap -e "keycode 115 = comma"Чтобы увидеть результат, вам нужно будет перезапустить ваш
оконный менеджер.Для того, чтобы переопределения клавиш Windows выполнялось автоматически
каждый раз при запуске X, можно поместить вызов команд
xmodmap в ваш ~/.xinitrc
либо, что предпочтительней, создать файл
~/.xmodmaprc и включить в него параметры
для xmodmap, по одному на строку, и добавить
строкуxmodmap $HOME/.xmodmaprcв ваш ~/.xinitrc.Например, вы можете переопределить эти 3 клавиши так, чтобы они
выполняли функции клавиш F13, F14
и F15 соответственно. Это позволит
легко привязать их к полезным функциям в приложениях или вашем
менеджере окон, как будет показано далее.Чтобы сделать это, поместите в файл
~/.xmodmaprc вот такие строки:keycode 115 = F13
keycode 116 = F14
keycode 117 = F15Если, к примеру, вы используете fvwm2, то
можете переопределить клавиши таким образом, что
F13 сворачивает в иконку (или восстанавливает
предыдущие размеры) окна, на которое указывает курсор,
F14 перемещает окно с курсором на передний план
или, если оно уже впереди, возвращает обратно, а
F15 вызывает главное меню приложения
Workplace, даже если курсор находится не на рабочем
столе, что бывает полезно, если нет
ни одного видимого кусочка рабочего стола (к тому же логотип на
клавише соответствует этой функции).Вот строки из ~/.fvwmrc, с помощью которых
достигаются описанные выше функции:Key F13 FTIWS A Iconify
Key F14 FTIWS A RaiseLower
Key F15 A A Menu Workplace NopКак заставить работать аппаратное ускорение 3D-графики для
OpenGL?Наличие 3D-ускорения зависит от версии используемого вами
XFree86 и типа графического адаптера. Если у вас адаптер NVIDIA,
то вы можете использовать бинарные файлы драйверов для FreeBSD 4.7,
размещённые в разделе
Drivers их сайта. Относительно использования аппаратного
ускорения в XFree86-4 с другими адаптерами, включая Matrox
G200/G400, ATI Rage 128/Radeon, а также 3dfx Voodoo 3, 4, 5 и
Banshee, дополнительную информацию можно почерпнуть на страничке
XFree86-4
Direct Rendering on FreeBSD. Пользователи XFree86 версии
3.3 могут воспользоваться портом Utah-GLX, находящимся в
graphics/utah-glx, для
получения частичного ускорения
OpenGL для наборов микросхем Matrox Gx00, ATI Rage Pro, SiS 6326,
i810, Savage и старых адаптеров NVIDIA.Работа в сетиГде можно найти информацию о бездисковой
загрузке?Бездисковая загрузка означает, что машина с FreeBSD
загружается по сети и читает необходимые файлы с сервера, а не со своего
диска. Подробное описание есть в
соответствующей главе
Руководства.Может ли машина с FreeBSD использоваться как
маршрутизатор?Да. Пожалуйста, обратитесь к разделу Руководства, посвящённому
сложным вопросам
работы в сети, особенно в той части, что касается маршрутизации и
маршрутизаторов.Можно ли подключить машину с Windows к Internet с помощью
FreeBSD?Как правило, те, кто задают такие вопросы, имеют дома два
компьютера, один с FreeBSD, а другой с какой-то версией Windows;
идея состоит в использовании FreeBSD для подключения к Internet, а
затем осуществлять выход в Internet из Windows через FreeBSD. На
самом деле это просто частный случай предыдущего вопроса, который
хорошо отработан.Если для подключения к Internet вы используете коммутируемое
соединение, то &man.ppp.8; режима
пользователя имеет параметр . Если вы
запустите &man.ppp.8; с параметром ,
установив в файле /etc/rc.conf переменную
gateway_enable в значение
YES и правильно настроите машину с Windows,
то всё должно прекрасно заработать. Для получения дополнительной
информации, пожалуйста, обратитесь к страницам справочной системы
по команде &man.ppp.8; или
разделу Руководства о PPP режима пользователя.Если вы используете PPP режима ядра, или у вас
Ethernet-подключение к Internet, то нужно использовать
&man.natd.8;. Пожалуйста, обратитесь к разделу о natd Руководства для
получения вводной информации.Поддерживает ли FreeBSD протоколы SLIP и PPP?Да. Обратитесь к страницам справочника по командам
&man.slattach.8;, &man.sliplogin.8;, &man.ppp.8;, и &man.pppd.8;.
&man.ppp.8; и &man.pppd.8; могут обслуживать как входящие, так и
исходящие соединения, когда как &man.sliplogin.8; имеет дело
исключительно со входящими соединениям, а &man.slattach.8; только
с исходящими.Более подробная информация об их использовании находится в
разделе Руководства о
протоколах PPP и SLIP.Если вы имеете доступ в Internet только через командную строку
оболочки, вам может подойти пакадж net/slirp.
С его помощью можно получить (ограниченный) доступ к таким
службам, как FTP и http прямо с вашей машины.Поддерживает ли FreeBSD технологию NAT или Masquerading?Да. Если вы собираетесь использовать NAT с пользовательским
соединением PPP, пожалуйста, обратитесь к разделу Руководства о
пользовательском PPP. Если же вы хотите использовать NAT
вместе с другим типом сетевого подключения, пожалуйста, взгляните
на раздел о natd
Руководства.Как я могу соединить две FreeBSD системы с помощью
параллельного соединения, используя PLIP?Пожалуйста, обратитесь к разделу Руководства о PLIP.Почему я не могу создать устройство
/dev/ed0?Дело в том, что такие устройства не нужны. В стандарте сетевого
взаимодействия Беркли сетевые интерфейсы напрямую доступны только
ядру. За дополнительной информацией обратитесь к файлу
/etc/rc.network и страницам справочника,
описывающим различные сетевые программы, упоминаемые здесь. Если
всё это оставит вас в недоумении, почитайте книгу, описывающую
администрирование сети в другой BSD-подобной операционной системе;
с некоторыми незначительными исключениями, администрирование сети
во FreeBSD в основном совпадает с SunOS 4.0 и Ultrix.Как настроить алиас в сети Ethernet?Если алиас находится в той же самой сети, что и уже
настроенный на интерфейсе адрес, то добавьте в командной строке
для &man.ifconfig.8; добавьте netmask 0xffffffff
примерно следующим образом:&prompt.root; ifconfig ed0 alias 192.0.2.2 netmask 0xffffffffВ противном случае просто задайте сетевой адрес и маску обычным
образом:&prompt.root; ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00Как заставить адаптер 3C503 использовать другой тип сетевого
разъёма?Если вы хотите задействовать другой разъём, то должны указать
дополнительный параметр при вызове команды &man.ifconfig.8;.
Разъёмом по умолчанию является link0. Чтобы
задействовать разъём AUI, а не BNC, используйте link2.
Эти флаги должны быть указаны с помощью переменных ifconfig_*
в файле /etc/rc.conf (посмотрите справку по
&man.rc.conf.5;).У меня проблемы при работе NFS во FreeBSD.Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем
другие, что может иногда вызывать проблемы при работе приложений
типа NFS, интенсивно использующих сеть.Подробности описаны в
соответствующей главе Руководства, посвящённой NFS.Почему я не могу смонтировать диск Linux по NFS?Некоторые версии NFS для Linux поддерживают запросы на
монтирование только с привилегированного порта; попробуйте&prompt.root; mount -o -P linuxbox:/blah /mntПочему я не могу смонтировать диск Sun по NFS?Рабочие станции Sun под управлением SunOS 4.X поддерживают
запросы на монтирование только с привилегированного порта;
попробуйте&prompt.root; mount -o -P sunbox:/blah /mntПочему mountd продолжает выдавать сообщения
can't change attributes и bad
exports list на моём сервере NFS, работающем под
управлением FreeBSD?В большинстве случаев проблема заключается в недостаточном
понимании корректного формата файла
/etc/exports. Пожалуйста, просмотрите ещё раз
справочную информацию по &man.exports.5; и раздел об NFS в Руководстве, особенно в
части настройки
NFS.Проблемы при связи по PPP с машинами NeXTStep.Попробуйте отменить все расширения TCP в файле
/etc/rc.conf (посмотрите справку
по &man.rc.conf.5;), изменив значение следующей переменной
в NO:tcp_extensions=NOМаршрутизаторы Annex фирмы Xylogic не работают по этой же
причине, поэтому при подключении к ним вам нужно проделать то же
самое.Как включить поддержку multicast IP?По умолчанию FreeBSD поддерживает работу с многоадресного
сетевого вещания. Если вы хотите использовать ваш компьютер как
маршрутизатор многоадресного трафика, вам нужно перекомпилировать
ядро с включенной опцией MROUTING и запустить
&man.mrouted.8;. Во FreeBSD во время загрузки будет запускаться
&man.mrouted.8;, если переменная mrouted_enable
в файле /etc/rc.conf установлена в
значение YES.Приложения MBONE находятся в собственной категории портов,
mbone.
Если вы ищете приложения для организации конференций
vic и vat, посмотрите
там!Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?Вот список, составленный
Гленом Фостером (Glen Foster) gfoster@driver.nsta.org,
с некоторыми незначительными добавлениями:
Сетевые карты созданные на основе наборе микросхем
DEC PCIПроизводительМодельASUSPCI-L101-TBAcctonENI1203CogentEM960PCICompexENET32-PCID-LinkDE-530DaynaDP1203, DP2100DECDE435, DE450DanpexEN-9400P3JCISCondor JC1260LinksysEtherPCIMylexLNP101SMCEtherPower 10/100 (Модель 9332)SMCEtherPower (Модель 8432)TopWareTE-3500PZnyx (2.2.x)ZX312, ZX314, ZX342, ZX345, ZX346, ZX348Znyx (3.x)ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444,
ZX474, ZX478, ZX212, ZX214 (10mbps/hd)
Почему я должен использовать FQDN для хостов не в моей
сети?Вы, наверное, обнаружили, что хост, к которому вы обратились,
оказался на самом деле в другом домене; например, если вы
находитесь в домене foo.example.org и хотите обратиться к хосту
mumble в домене example.org, то должны указать его
полное доменное имя, mumble.example.org, а не просто mumble.Традиционно, это позволял делать ресолвер BSD BIND. Однако
текущая версия bind (посмотрите справку
по &man.named.8;), поставляемая с FreeBSD, больше не добавляет
имена доменов, отличающихся от того, в котором вы находитесь, для
не полностью указанных имён хостов. Так что неполно указанный
хост mumble будет найден либо как mumble.foo.example.org, либо будет
искаться в корневом домене.Это отличается от предыдущего поведения, при котором поиск
продолжался в mumble.example.org
и mumble.edu. Посмотрите RFC
1535 о причинах объявления такого поведения плохой практикой и
даже ошибкой в безопасности.Как хорошее решение, вы можете поместить строкуsearch foo.example.org example.orgвместо ранее используемойdomain foo.example.orgв файл /etc/resolv.conf (посмотрите
справку по &man.resolv.conf.5;). Однако удостоверьтесь, что
порядок поиска не нарушает границ полномочий между местным
и внешним администрированием, как это названо в RFC
1535.Permission denied для любых действий,
связанных с работой сети.Если вы компилировали ядро с опцией
IPFIREWALL, имейте в виду, что политикой по
умолчанию является запрет прохождения
всех пакетов, которые явно не разрешены.Если вы случайно неверно отконфигурировали межсетевой экран,
то для восстановления работоспособность сети дайте такую команду,
войдя суперпользователем:&prompt.root; ipfw add 65534 allow all from any to anyТакже вы можете задать
firewall_type='open' в
файле /etc/rc.conf.Более подробная информация о конфигурировании межсетевого
экрана в FreeBSD находится в соответствующем разделе
Руководства.Какую нагрузку вызывает использование IPFW?Пожалуйста, обратитесь к разделу Руководства о межсетевых экранах,
особенно в части, касающейся дополнительной
нагрузки от IPFW и оптимизации.Почему моё правило fwd для
ipfw по перенаправлению сервиса на другую
машину не работает?Возможно, потому что вы хотите выполнять трансляцию сетевых
адресов (NAT), а не просто перенаправлять пакеты. Правило
fwd делает точно то, что означает; оно
перенаправляет пакеты. Данные внутри пакета оно не меняет. Пусть,
скажем, у нас имеется правило такого вида:01000 fwd 10.0.0.1 from any to foo 21Когда пакет с адресом назначения foo
достигает машины с этим правилом, то он перенаправляется на
10.0.0.1, но в нём остаётся адрес
назначения foo! Адрес назначения
пакета не меняется на
10.0.0.1. Большинство машин, скорее
всего, отбросят полученный пакет, имеющий адрес назначения, им не
соответствующий. Таким образом, правило fwd не
часто работает так, как ожидает пользователь. Такое поведение
является особенностью, а не ошибкой.Обратитесь к FAQ о
перенаправлении сервисов, руководству по &man.natd.8; или
одной из нескольких утилит для перенаправления из Коллекции Портов для
+ url="&url.main;/ports/index.html">Коллекции Портов для
того, чтобы сделать это правильно.Как можно перенаправить запросы с одной машины на другую?Вы можете перенаправить запрос на FTP (или другой сервис) с
помощью пакаджа socket, доступного в дереве
портов в категории sysutils. Просто замените
командную строку запуска сервиса на вызов socket, типа:ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.comftpгде ftp.example.com и
ftp являются соответственно хостом и
портом для перенаправления.Где можно найти средства управления сетевым трафиком?Для FreeBSD имеются три средства управления трафиком.
&man.dummynet.4;, интегрированный в систему FreeBSD (более точно, в
&man.ipfw.4;); свободно распространяемый
ALTQ и коммерческий продукт Bandwidth Manager от Emerging Technologies.Почему появляются сообщения
/dev/bpf0: device not configured?Вы запускаете программу, которой требуется Berkeley Packet
Filter (&man.bpf.4;), однако его нет в вашем ядре.
Перекомпилируйте ядро, добавив в его конфигурационный файл
следующую строку:pseudo-device bpf # Berkeley Packet FilterДля FreeBSD 4.X и более ранних версий вы должны также создать
файл устройства. После перезагрузки системы перейдите в каталог
/dev и выполните команду:&prompt.root; sh MAKEDEV bpf0Обратитесь к разделу Руководства, посвящённому созданию файлов
устройств за подробной информацией по управлению
устройствами.Как смонтировать диск Windows-машины в моей локальной сети, как
это делает smbmount в Linux?Используйте пакет SMBFS. В него
включён набор изменений в ядре и пользовательские программы.
Программы и информация доступны в виде порта net/smbfs из Коллекции Портов или как
часть базовой системы в 4.5-RELEASE и более поздних версиях.Что значат эти сообщения icmp-response bandwidth limit
300/200 pps в моих журнальных файлах?Это ядро сообщает вам, что имела место некоторая активность,
приводящая к посылке большего количества ответных пакетов ICMP или
сбросов TCP (RST), чем, как предполагается, это следует делать.
Ответы ICMP часто генерируются в результате попыток подключения к
незанятым портам UDP. Сбросы TCP генерируются в результате попыток
подключения к неоткрытым портам TCP. Кроме всяких прочих, такие
сообщения могут быть вызваны следующими действиями:Лобовая атака типа отказ в обслуживании DoS (в отличие от
атак в один пакет, которые используют конкретную брешь в
защите).Сканирование портов в попытке осуществить подключение к
большому количеству портов (в отличие от проб нескольких
известных портов).Первое число в сообщении указывает вам, какое количество пакетов
ядро посылало бы при отсутствии ограничений, а второе число
указывает лимит. Вы можете управлять этим ограничением при помощи
системной переменной net.inet.icmp.icmplim
приводимым ниже способом, где 300 является
ограничением на количество посылаемых пакетов в секунду:&prompt.root; sysctl -w net.inet.icmp.icmplim=300Если вы не хотите видеть подобные сообщения в журнальных
файлах, но хотите использовать это ограничение в ядре, то можете
использовать системную переменную
net.inet.icmp.icmplim_output для подавления
вывода, как это показано здесь:&prompt.root; sysctl -w net.inet.icmp.icmplim_output=0И наконец, если вы хотите выключить это ограничение, то можете
установить значение системной переменной
net.inet.icmp.icmplim (смотрите пример выше)
равным 0. Выключение этого лимита не
приветствуется по причинам, перечисленным выше.Что это за сообщения arp: unknown hardware
address format?Это означает, что какое-то устройство в вашей локальной сети
использует MAC-адрес в формате, не распознаваемом FreeBSD. Скорее
всего, это происходит из-за того, что кто-то в сети
экспериментирует с сетевым адаптером. Чаще всего это происходит
в сетях с кабельными модемами. Это безобидно и не должно влиять на
производительность машины с FreeBSD.Я только что установил CVSup, но при попытке его запустить
получил сообщения об ошибках. Что не так?Сначала посмотрите, есть ли среди получаемых вами сообщений
то, что показано ниже./usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not foundОшибки, подобные этой, возникают при установке порта
net/cvsup на машину без
пакета XFree86. Если вы хотите
использовать GUI, имеющийся в
CVSup, то вам нужно теперь установить
XFree86. Либо, если вы хотите
использовать CVSup только из командной
строки, то вы должны удалить ранее установленный пакадж. Затем
установите порт net/cvsup-without-gui. Более подробно
это описано в
разделе о CVSup Руководства.БезопасностьЧто означает термин sandbox (песочница)?Sandbox - это термин, используемый при
обеспечении безопасности. Он имеет два значения:Процесс, помещённый внутрь некоторых виртуальных стен,
которые предназначены для того, чтобы предотвратить взлом всей
системы в результате взлома этого конкретного процесса.Говорится, что процесс может играть в
границах этих стен. Что бы этот процесс ни делал, он эти стены
разрушить не может, поэтому вам не нужен его особый аудит,
чтобы с уверенностью сказать, насколько его работа безопасна
для системы.Стеной может служить, например, идентификатор пользователя.
Вот определение, даваемое на страницах справочника по named и
часто используемое при обсуждении безопасности систем.Рассмотрим, например, службу ntalk
(смотрите /etc/inetd.conf). Раньше эта
служба запускалась с идентификатором пользователя
root, а сейчас - tty.
Пользователь tty - это та песочница,
которая осложняет взлом системы через ntalk
посредством использования этого идентификатора
пользователя.Процесс, помещённый внутрь симулируемой машины. Это даёт
больший уровень безопасности. В общем это означает, что
некто, взломавший процесс, может думать. что может сломать и
систему в целом, однако фактически может сломать только
симулятор этой машины и не может модифицировать никаких
реальных данных.Самым распространённым способом достигнуть такого
результата является построение имитирующего окружения в
каталоге и затем запуск процессов в этом каталоге через
chroot (т.е. задав этот каталог в качестве
/ для этого процесса,
а не реальный / всей системы).Другим часто используемым методом является монтирование
низлежащей файловой системы в режиме "только для чтения" и
затем создание уровня файловой системы поверх неё, что даёт
процессу видимость доступа по записи на ту файловую систему.
Процесс будет полагать, что может записывать в те файлы, но
это будет единственный процесс, который увидит результат
- другие процессы не будут этого делать, ни в коем
случае.Попытка сделать такой тип песочницы настолько прозрачна, что
пользователь (или взломщик) даже не поймёт, что он в ней
находится.В Unix реализованы два типа песочниц. Один на
уровне процесса, и один на уровне идентификаторов
пользователей.Каждый процесс в Unix полностью защищён от других процессов.
Никакой процесс не может модифицировать адресное пространство
другого процесса. Это отличается от Windows, где процесс может
легко записать что-либо в адресное пространство другого процесса,
что приводит к аварийным ситуациям.В Unix каждым процессом владеет некоторый идентификатор
пользователя. Если этот пользователь не
root, он ограждает процесс от других,
владельцами которых являются другие пользователи. Этот
идентификатор используется также для защиты данных на диске.Что такое уровень защиты (securelevel)?Уровень защиты является механизмом обеспечения безопасности,
реализованным в ядре. В общем, когда уровень защиты больше нуля,
ядро ограничивает выполнение некоторых операций; даже
администратору (то есть пользователю root)
запрещается их выполнять. На момент написания этого текста
механизм уровня защиты может, кроме всего прочего, ограничивать
возможности поснятию некоторых флагов с файлов, таких, как
schg (системный флаг неизменяемости),записи в память ядра через устройства
/dev/mem и
/dev/kmem,загрузке модулей ядра иизменению правил для &man.ipfirewall.4;.Для выяснения состояния уровня защиты в работающей системе
просто выполните следующую команду:&prompt.root; sysctl kern.securelevelРезультат будет содержать название &man.sysctl.8;-переменной (в
нашем случае это kern.securelevel) и число.
Последнее и является текущим значением уровня защиты. Если оно
положительно (то есть больше нуля), то по крайней мере некоторые
из защит этого механизма включены.Вы не можете понизить уровень защиты работающей системы;
возможность сделать это противоречит назначению этого механизма.
Если вам нужно выполнить работу, которая требует не положительный
уровень защиты (к примеру, выполнение
installworld или смена даты),
вам потребуется изменить настройки уровня защиты системы в файле
/etc/rc.conf (вам нужно обратить внимание на
переменные kern_securelevel и
kern_securelevel_enable) и перезагрузить
систему.Более подробная информация об уровнях защиты и о том, какие
специфические действия выполняют все уровни, может быть найдена на
справочных страницах о &man.init.8;.Уровень защиты не является панацеей; в нём есть много
недостатков. Зачастую он даёт обманчивое чувство
безопасности.Одной из самых больших проблем является то, что для его
эффективной работы все файлы, используемые в процессе загрузки,
должны быть защищены. Если атакующий сможет заставить систему
выполнять свой код до установки уровня защиты (что происходит
достаточно поздно во время процесса загрузки, так как некоторые
вещи, выполняемые системой в это время, не могут быть сделаны при
повышенном уровне защиты), то эта защита может быть отключена.
Хотя такая задача по защите всех файлов, используемых в процессе
загрузки, технически вполне осуществима, если это будет сделано,
то поддержка системы станет кошмаром, так как для изменения
конфигурационного файла придётся останавливать систему,
переводя её по крайней мере в однопользовательский режим.Это обстоятельство, а также ряд других, часто обсуждаются в
списках рассылки, в частности, во &a.security;. Пожалуйста,
- поищите в
+ поищите в
архивах более подробное обсуждение. Некоторые надеются,
что механизм уровней защиты вскоре отомрёт, а на его смену придёт
более гибкий механизм, но пока всё это туманно.Считайте себя предупреждёнными.BIND (named) работает на порту 53 и на
одном из портов с большим номером. Что происходит?Во FreeBSD версий 3.0 и выше используется
версия BIND, которая для исходящих запросов использует случайно
выбираемый порт с большим номером. Если для исходящих запросов вы
хотите использовать порт с номером 53 для работы за межсетевым
экраном либо просто для собственного спокойствия, то можете
попробовать настроить файл
/etc/namedb/named.conf следующим
образом:options {
query-source address * port 53;
};Можете заменить символ * некоторым
IP-адресом, если хотите настроить все еще жестче.Кстати, поздравляем. Прекрасно, что вы читаете вывод команды
&man.sockstat.1; и обращаете внимание на аномалии!Sendmail ждёт соединений как на стандартном порту 25, так и на
порту 587! Что происходит?Последние версии Sendmail поддерживают
механизм посылки почты, который работает по порту 587. Эта
возможность пока широко не используется, но ее популярность
растет.Что это за пользователь toor с UID 0? Я
подвергся взлому?Не волнуйтесь, toor является
альтернативным административным пользователем
(toor - это root, записанный задом наперед). Раньше он создавался
при установке командного интерпретатора &man.bash.1;, однако
теперь он создается по умолчанию. Его предполагается использовать
с нестандартным командным интерпретатором, так чтобы вам не нужно
было менять используемый по умолчанию командный процессор для
пользователя root. Это важно, так как
оболочки, не являющиеся частью дистрибутива системы (например,
командный процессор, устанавливаемый из портов или пакаджей),
скорее всего, устанавливаются в каталог
/usr/local/bin, который по умолчанию
располагается в другой файловой системе. Если командный процессор
для пользователя root
располагается в /usr/local/bin, и
/usr (или другая файловая система, содержащая
/usr/local/bin) по какой-либо причине не
смонтирована, то root не сможет войти в
систему для исправления этой проблемы (хотя если вы перезагрузите
систему в однопользовательский режим, вы сможете указать командный
процессор).Некоторые используют toor для выполнения
повседневных административных работ с нестандартным командным
процессором, оставляя root со стандартной
оболочкой для работы в однопользовательском режиме или выполнения
аварийных работ. По умолчанию вы не сможете войти в систему как
пользователь toor, потому что у него нет
пароля, так что, если вы хотите его использовать,
зарегистрируйтесь в системе как root и задайте
пароль для пользователя toor.Почему suidperl работает неправильно?В целях обеспечения безопасности suidperl по
умолчанию устанавливается без suid-бита. Системный администратор
может включить использование suid-бита следующей командой.&prompt.root; chmod u+s /usr/bin/suidperlЕсли вы хотите, чтобы suid-бит для suidperl
было установлен во время обновления из исходных текстов,
отредактируйте /etc/make.conf, добавив
ENABLE_SUIDPERL=true перед запуском
make buildworld.PPPНе могу заставить работать ppp. Что я делаю не так?Первым делом прочтите страницы справочника, посвящённые &man.ppp.8;, а
также соответствующий раздел Руководства.
Включите протоколирование командойset log Phase Chat Connect Carrier lcp ipcp ccp commandЭта команда может быть набрана в командной строке
&man.ppp.8; или она может находиться в конфигурационном
файле /etc/ppp/ppp.conf (начало секции
default - лучшее для неё место. Удостоверьтесь, что
файл /etc/syslog.conf (посмотрите справку по
&man.syslog.conf.5;) содержит строки
!ppp
*.* /var/log/ppp.log
и файл /var/log/ppp.log существует. Теперь вы
сможете найти полную информацию о происходящем в файле протокола. Не
беспокойтесь, если не всё вам будет там понятно. Если вы будете
пользоваться чьей-то помощью, протокол вам пригодится.Если ваша версия &man.ppp.8; не понимает команду
set log, вы
должны скачать последнюю
версию. Она рассчитана на FreeBSD версий 2.1.5 и выше.Ppp просто зависает, когда я его запускаюОбычно это происходит, когда не может быть определено имя
вашего хоста. Наилучший способ исправить это - удостовериться,
что файл /etc/hosts используется вашим
ресолвером. Отредактируйте файл
/etc/host.conf, поместив
на первое место строчку hosts. Затем просто
добавьте записи о вашей машине в файл
/etc/hosts. Если у вас нет локальной
сети, измените строку localhost:127.0.0.1 foo.example.com foo localhostВ противном случае просто добавьте ещё одну запись о вашем
хосте. Обратитесь к соответствующим страницам справочника за
подробным описанием.Если вы выполнили эти указания, вы сможете успешно выполнить
команду ping -c1 `hostname`.Ppp не звонит в режиме -autoВо-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив
команду netstat -rn (посмотрите справку по
&man.netstat.1;), вы должны увидеть две строки такого вида:
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. Если у вас нет маршрута по умолчанию, это
может быть из-за использования старой версии &man.ppp.8;, которая не
понимает слова HISADDR в файле
ppp.conf. Если ваша версия &man.ppp.8; из FreeBSD
версий ранее чем 2.2.5, замените строку
add 0 0 HISADDR
на
add 0 0 10.0.0.2
Другая причина отсутствия маршрута по умолчанию может крыться в том,
что вы ошибочно установили маршрут по умолчанию в вашем файле
/etc/rc.conf (посмотрите справку по &man.rc.conf.5;)
(этот файл назывался /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 адреса Руководства за подробной информацией.Соединение разрывается через 3 минутыТаймаут для PPP по умолчанию равен 3 минутам. Это может быть
изменено строкой
set timeout NNNгде NNN - время неактивности в секундах,
после которого соединение закрывается. Если NNN
равно нулю, соединение никогда не разрывается по таймауту. Эту команду
можно поместить в файл ppp.conf или набрать ее в
интерактивном режиме. Изменение этого параметра также возможно при
активном соединении, если подключиться к сокету
ppp сервера с помощью программ
&man.telnet.1; или &man.pppctl.8;. Обратитесь к страницам Справочника,
посвящённым &man.ppp.8;.Соединение разрывается при большой нагрузкеЕсли у вас включен Link Quality Reporting (LQR), возможно,
что слишком много пакетов LQR теряется в канале. Ppp делает вывод,
что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5
LQR было включено по умолчанию. Сейчас оно по умолчанию выключено.
LQR можно выключить строкой
disable lqr
Соединение разрывается в случайные промежутки времениИногда, на шумной линии или даже на линии с включенным режимом
ожидания звонка, ваш модем может вешать трубку, думая (совершенно
напрасно), что потерял несущую.В большинстве модемов есть параметр, определяющий чувствительность
к временной потере несущей. Например, в модеме USR Sportster,
это определяется значением регистра S10 в десятых долях секунды.
Чтобы сделать связь более устойчивой, добавьте следующую
последовательность посылок-ожиданий в строку набора:
set dial "...... ATS10=10 OK ......"
Обратитесь к руководству по вашему модему.Соединение часто рвётся в случайные промежутки времениМногие сообщают об обрывах соединений без видимой причины.
Первым делом нужно выяснить, с какой стороны соединения рвётся
связь.Если вы используете внешний модем, можете просто попробовать
использовать утилиту &man.ping.8; и посмотреть, мигает ли
индикатор TD при передаче данных. Если он
мигает (а индикатор RD нет), проблема с той
стороны. Если индикатор TD не загорается,
проблема с вашей стороны. При использовании внутреннего модема
вам необходимо воспользоваться командой set
server, указав её в файле ppp.conf.
Когда произойдёт обрыв связи, подключитесь к &man.ppp.8; с
помощью &man.pppctl.8;. Если ваше сетевое подключение
неожиданно восстановится (PPP оживает при проявлении активности на
диагностическом сокете) или или если вы не сможете соединиться
(здесь мы полагаем, что команда set socket в
начальный момент была выполнена успешно), то проблема имеет
локальный характер. Если вы сможете подключиться, но связи всё
равно нет, включите вывод отладочной информации командой
set log local async и запустите
ping из другого окна или терминала, чтобы
проверить связь. В отладочном выводе будут показаны данные,
передаваемые и получаемые из канала связи. Если данные посылаются,
но не принимаются обратно, проблема с противоположной
стороны.Выяснив, является эта проблема локальной или удалённой системы,
вы имеете два варианта действий:Если проблема на удалённой машине, то прочтите .Если проблема с вашей стороны, прочтите .Удалённая система не отвечаетЗдесь вы мало что можете сделать. Большинство провайдеров
отказываются оказать помощь, если вы используете ОС не от Microsoft.
Вы можете добавить команду enable lqr в ваш
ppp.conf, что позволит &man.ppp.8; отследить ошибки в
удалённой системе и закрывать соединение, однако такое обнаружение
достаточно медленно и поэтому
не так уж полезно. Вы можете также просто не сообщать своему
провайдеру, что запускаете user-PPP....Первым делом попробуйте отключить всю местную компрессию,
указав в конфигурационном файле следующее:
disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
Теперь попробуйте установить соединение ещё раз и удостовериться,
что ситуация не изменилась. Если качество соединения улучшилось
или проблема оказалась полностью решённой, выясните, настройка
чего приводила к проблемам методом проб и ошибок. Это даст вам
дополнительную защиту, когда вы будете разговаривать с вашим
провайдером (хотя при этом может обнаружиться, что вы работаете
не с продуктом Microsoft). Перед тем, как звонить провайдеру, включите вывод отладочной
информации, как вы это делали ранее и подождите, пока соединение
снова не прервётся. Правда, для этого требуется некоторое
дисковое пространство. Интерес могут представлять последние
прочитанные из порта данные. Обычно это данные в формате ascii
и они могут даже содержать описание проблемы (Memory fault,
core dumped ?).Если ваш провайдер согласен помочь вам, нужно будет включить
режим отладки с их стороны, а потом, когда связь прервётся в
следующий раз, они могут сказать вам, почему возникли проблемы
с их стороны. Будет хорошо, если вы пришлёте детальное описание
на адрес &a.brian;, или даже попросите провайдера связаться
со мной напрямую.Ppp зависаетЛучше всего в этом случае перекомпилировать &man.ppp.8;,
добавив параметры CFLAGS+=-g и
STRIP= в конец Makefile, а затем выполнить
команду make clean && make && make
install. Когда &man.ppp.8; зависнет, найдите
идентификатор процесса &man.ppp.8; с помощью команды ps
ajxww | fgrep ppp и выполните команду gdb
ppp PID. Затем в приглашении
gdb вы можете использовать команду bt для
получения стека вызовов.Пошлите результат на адрес &a.brian;.Ничего не происходит после сообщения Login OK!До версии FreeBSD 2.2.5, как только связь устанавливалась, &man.ppp.8;
ожидал начала согласования Line Control Protocol
(LCP) с противоположной стороны. Многие провайдеры Internet не
начинают согласования и предполагают, что это сделает клиент.
Чтобы заставить &man.ppp.8; инициировать согласование
параметров LCP, используйте следующую строку:
set openmode active
Ничего страшного не произойдёт, если согласование начнут обе
стороны, поэтому режим инициирования сейчас по умолчанию активный.
Однако, в следующем разделе описывается ситуация, когда это
приводит к некоторым неприятностям.В протоколе есть сообщения о том, что magic being the
same.Иногда, сразу же после установления соединения, вы можете увидеть
сообщения в протоколе, говорящие что magic is the same.
Иногда эти сообщения проходят безболезненно, а иногда одна из сторон
прекращает работу. Большинство реализаций PPP не может справиться с
такой ситуацией, и, даже когда связь выглядит установившейся, вы
будете видеть только бесконечно повторяющиеся конфигурационные
запросы и подтверждения в файле протокола до тех пор, пока &man.ppp.8;
окончательно не закроет соединение.Обычно это происходит на серверах с медленными дисками, на
которых порт обслуживает программа getty, а &man.ppp.8; выполняется из
сценария регистрации или другой программы после регистрации
пользователя. Были сообщения, что такое случается постоянно при
использовании slirp. Причина заключается в том, что во время,
проходящее между завершением работы &man.getty.8; и запуском &man.ppp.8;,
&man.ppp.8; со стороны клиента начинает посылать пакеты Line Control
Protocol (LCP). Так как режим эха остаётся всё ещё включенным, &man.ppp.8;
клиента получает отражения своих запросов.Частью процесса согласования параметров LCP является определение
магического числа для каждой стороны соединения для
обнаружения отражений. Согласно спецификации, когда одна
сторона пытается использовать совпадающее "магическое" число, должен быть
послан ответ
NAK и должно быть выбрано новое "магическое" число. В тот момент,
когда на порту сервера включен режим эха, клиент &man.ppp.8; посылает
пакеты LCP, получает то же самое "магическое" число в отражённом пакете и
отвечает на него NAK. Он также видит отражённый NAK (который также
означает, что &man.ppp.8; должен изменить своё "магическое" число). В
потенциале это может вызвать появление огромного количества процессов
смен "магических" чисел, и все они накапливаются в буфере терминала.
Как только запустится сервер &man.ppp.8;, он будет перегружен запросами на
смену "магических", немедленно решит, что этого много для согласования
LCP и прервёт соединение. В то же самое время, клиент, который больше
не видит отражений, останавливается для того, чтобы увидеть, что
сервер закрыл соединение.Этого можно избежать, позволив начинать согласование
противоположной стороне следующей строкой в файле ppp.conf:
set openmode passive
Это заставит &man.ppp.8; ожидать начала согласования LCP. Некоторые
серверы, однако, могут никогда не начать согласование. Если это тот
самый случай, вы можете сделать следующее:
set openmode active 3
Это заставит &man.ppp.8; пассивно ждать 3 секунды, и только затем
посылать запросы LCP. Если противоположная сторона начнёт посылать в этот
момент запросы, &man.ppp.8; немедленно ответит, не ожидая истечения
трёхсекундного интервала.Согласование LCP продолжается, пока не закроется соединениеВ настоящий момент одной из неприятных особенностей реализации
&man.ppp.8; является то, что она не
связывает сообщения LCP, CCP & IPCP с запросами. Как результат, если
реализация PPP с одной стороны более чем на
6 секунд медленнее, чем с другой, противоположная сторона будет посылать
два дополнительных запроса на согласование параметров LCP.
Это фатально.Предположим, что у нас работают две реализации, на машинах
A и B. A начинает
посылать запросы LCP сразу же после соединения, а
B требуется 7 секунд для запуска. Когда
B запускается, A послало 3 LCP-запроса.
Полагаем, что режим эха выключен, в противном случае мы столкнулись бы с
проблемами "магического" числа, описанными в предыдущем разделе.
B посылает REQ, затем ACK на первый REQ от
A. Это приводит к тому, что A входит
в состояние OPENED и посылает (первый) ACK обратно
B. В то же самое время B посылает
обратно ещё два ACK в ответ на два дополнительных REQ, посланные
A до старта B. B
затем получает первый ACK от A и возвращается в состояние
REQ-SENT, послав ещё один (четвёртый) REQ согласно RFC.
Затем он получает третий ACK и входит в состояние
OPENED. В это же время B принимает
четвёртый REQ от A, что возвращает
его в состояние ACK-SENT и посылает ещё один
(второй) REQ и (четвёртый) ACK согласно RFC. A получает
REQ, переходит в состояние REQ-SENT и посылает ещё один
REQ. Он немедленно принимает последующий ACK и входит в состояние
OPENED.Это будет продолжаться до тех пор, пока одна из сторон не
обнаружит, что это ни к чему не приводит и не закроет соединение.Лучшим способом избежать этой ситуации является конфигурация
одной из сторон как passive, чтобы она ждала
другую для начала согласования. Это можно сделать командой
set openmode passive
С этой командой нужно быть осторожным. Вы также должны будете
использовать команду
set stopped N
для ограничения периода ожидания, в течении которого
&man.ppp.8; ждёт начала согласования с противоположной
стороны. Как вариант, может быть использована строка
set openmode active N
(где N - период ожидания в секундах
перед тем, как начать согласование).Вскоре после соединения ppp блокируетсяВ версиях FreeBSD ранее 2.2.5, была возможна ситуация, когда связь
выключалась очень скоро после соединения из-за некорректной обработки
запроса на согласования сжатия данных &man.ppp.8;. Это
случалось, когда обе стороны пытались установить разные типы CCP
(Compression Control Protocol). Эта проблема сейчас решена, но если вы всё
ещё используете старую версию &man.ppp.8;, проблема
может быть обойдена с помощью строки
disable pred1
Когда я выполняю команду shell для тестирования соединения,
ppp блокируетсяКогда вы выполняете команду shell или
!, &man.ppp.8; запускает оболочку (если были
заданы параметры, &man.ppp.8; их
использует). Ppp будет ждать окончания выполнения команды, прежде
чем продолжить. Если вы попытаетесь воспользоваться связью PPP
после запуска команды, связь будет выглядеть заблокированной. Это
происходит из-за того, что &man.ppp.8; ждёт завершения
выполнения запущенной команды.Если вам необходимо выполнять подобные команды, используйте
команду !bg. В этом случае нужная команда будет
выполняться в фоновом режиме, а &man.ppp.8; сможет продолжить обслуживание
канала связи.Почему программа ppp, обслуживающая нуль-модем, никогда не
закрывается?&man.ppp.8; не может определить, что соединение
было закрыто. Это происходит из-за метода использования сигнальных
линий нуль-модемного кабеля. При использовании такого типа
соединения всегда включайте LQR.enable lqrПо умолчанию LQR включается, если это было затребовано с
противоположной стороны на этапе согласования параметров
соединения.В режиме -auto ppp неожиданно начинает звонитьЕсли &man.ppp.8; начинает неожиданно звонить, вы
должны определить причину и задать фильтры dfilters для предотвращения
подобных звонков.Для выяснения причины такого поведения, используйте строку:
set log +tcp/ip
Это включит протоколирование всего трафика через соединение. В
следующий раз, когда неожиданно будет установлено соединение,
вы установите причину по временным отметкам в файле протокола.После этого вы можете запретить дозвонку при выясненных
условиях. Как правило, такие проблемы возникают из-за обращений
к DNS. Для предотвращения обращений к DNS и установления соединения
(что не запретит &man.ppp.8;
пропускать пакеты через уже
установленное соединение), используйте такую комбинацию:
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 до того,
как начать работать.В случае DNS, вы должны попытаться определить, кто пытается
определить имя хоста. В большинстве случаев виновным оказывается
&man.sendmail.8;. Удостоверьтесь, что вы указали программе sendmail
не осуществлять обращений к DNS в его конфигурационном файле.
Обратитесь к разделу об
использовании электронной почты при коммутируемом соединении в
Руководстве за подробным описанием создания конфигурационного файла и что
туда нужно поместить. Вам может понадобиться добавить в файл
.mc строку:define(`confDELIVERY_MODE', `d')dnlЭто заставит sendmail ставить все сообщения в очередь до тех пор, пока
не будет запущена её обработка (как правило, sendmail запускается с
параметрами , указывающими, что
обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока
не будет выполнена команда sendmail -q (может быть, из
файла ppp.linkup).Что означают ошибки CCPВ файле протокола появляются такие сообщения об ошибках:
CCP: CcpSendConfigReq
CCP: Received Terminate Ack (1) state = Req-Sent (6)
Это происходит, если &man.ppp.8; пытается установить компрессию
типа Predictor1, а противоположная сторона не хочет устанавливать
никакой компрессии. Эти сообщения безобидны, но если вы хотите
от них избавиться, вы можете запретить компрессию Predictor1 и
у себя тоже:
disable pred1
Почему ppp не протоколирует скорость соединения?Для вывода протокола взаимодействия с модемом вам нужно
включить следующее:
set log +connect
Это заставит &man.ppp.8; протоколировать всё, вплоть до последней
прочтённой через expect строки.Если вы хотите видеть скорость соединения и используете
PAP или CHAP (и поэтому вам не нужно определять никаких сценариев
входа через set login после получения строки CONNECT
сценарием дозвонки dial), вы должны указать &man.ppp.8;, что нужно ожидать
полную строку CONNECT, вроде следующего:
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
\"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем
символа перевода строки, заставляя &man.ppp.8; принять
полный ответ модема.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
ATDT1234567Ppp получает ошибку защиты, но я не вижу файла
ppp.corePpp (или любая другая программа такого рода) никогда не
создаёт файлов дампа памяти. Так так &man.ppp.8; запускается с
эффективным uid, равным 0, то операционная система не будет
записывать дамп памяти &man.ppp.8; на диск перед его завершением. Если,
однако &man.ppp.8; всё же прекратит работу из-за нарушения защиты,
или по другому сигналу, который вызывает создание дампа памяти,
и вы уверены, что используете самую
последнюю версию (смотрите
самое начало раздела), то вы должны сделать следующее:
&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Теперь у вас есть отладочная версия &man.ppp.8;. Вам нужно
стать суперпользователем для запуска &man.ppp.8;, так как соответствующие
биты прав были убраны. Когда запустите &man.ppp.8;, обратите особое
внимание на то, какой каталог у вас был текущим на этот момент.Итак, если &man.ppp.8; получит ошибку нарушения защиты, он сбросит дамп
памяти с именем ppp.core.
Затем вам нужно сделать следующее:
&prompt.user; su
&prompt.root; gdb /usr/sbin/ppp ppp.core(gdb)bt
.....
(gdb)f 0
....
(gdb)i args
....
(gdb)l
.....
Вся эта информация должна быть предоставлена вместе с вашим
вопросом, чтобы проблему можно было продиагностировать.Если вы умеете обращаться с gdb, вы можете попробовать найти
причины образования дампа, а также адреса и значения относящихся
к этому переменных.Процесс, вызвавший прозвонку в режиме auto, никогда не получает
затребованного соединенияЭта проблема проявлялась, когда &man.ppp.8; в
режиме auto был настроен на динамическое согласование локального IP-адреса
с противоположной стороной. Это исправлено в последней версии -
поищите на странице справочника слово iface.Причиной было то, что когда эта программа использует системный
вызов &man.connect.2;, для сокета назначается IP-адрес tun-интерфейса.
Ядро создаёт первый исходящий пакет и записывает его в устройство
tun. Затем &man.ppp.8; читает пакет и устанавливает
соединение. Если в результате согласования &man.ppp.8;
динамического IP-адреса
адрес интерфейса изменится, сокет будет работать некорректно. Любые
IP-пакеты, передаваемые через сокет, будут отброшены. Если даже
этого не произойдёт, ответные данные не будут достигать отправителя,
так как этот адрес больше ему не принадлежит.Теоретически есть несколько способов решить эту проблему.
Лучше всего, если противоположная сторона назначит интерфейсу тот же
самый IP-адрес :-) Текущая версия
&man.ppp.8; именно так и поступает, более ранние
реализации этого не делали.Самым простым решением будет просто никогда не менять IP-адрес
tun-интерфейса, а вместо этого изменять на лету все исходящие пакеты так,
чтобы IP-адрес источника менялся с IP-адреса интерфейса на соответствующий
с противоположной стороны. Это, в сущности, то же самое, что делает опция
iface-alias в самой последней версии
&man.ppp.8; (с помощью библиотеки &man.libalias.3; и ключа
для &man.ppp.8;) - она отслеживает все назначенные
ранее интерфейсу адреса и замещает их на последний из назначенных.Другой возможный (и, наверное, самый надёжный) способ - это
создать системный вызов, меняющий IP-адреса всем уже связанным
сокетам. &man.ppp.8; использовал бы этот вызов для
модификации сокетов
всех работающих программ после согласования нового IP-адреса. Этот
же самый системный вызов могли бы использовать клиенты DHCP, когда
они осуществляют повторную привязку к сокету.Ещё одной возможностью является разрешение интерфейсу становиться
активным без IP-адреса. Исходящим пакетам будет даваться IP адрес
255.255.255.255 до тех пор, пока не будет дан ioctl-запрос SIOCAIFADDR.
приводящий к полной привязке сокета. &man.ppp.8; нужно будет изменять
IP-адрес источника и контрольную сумму пакета, только если он
установлен в 255.255.255.255. Это, однако, является некоторым
хаком, так как ядро будет посылать некорректные пакеты на не полностью
сконфигурированный интерфейс, в предположении, что существует
механизм исправления этих пакетов.Почему большинство игр не работает с опцией -nat?Причиной, по которой игры и подобные программы не работают с
библиотекой libalias заключается в том, что внешняя машина будет пытаться
открыть соединение или посылать (нежданные) UDP пакеты на машину
внутренней сети. Программное обеспечение, обеспечивающее опцию -nat, не
знает о том, что она должна пересылать эти пакеты машине внутренней
сети.Чтобы это всё же заработало, удостоверьтесь, что единственной
запущенной программой является программное обеспечение, с которым вы
испытываете проблемы, затем напустите tcpdump на tun-интерфейс
маршрутизатора либо включите протоколирование tcp/ip
в &man.ppp.8; (set log +tcp/ip) на маршрутизаторе.Когда вы запустите некорректно работающее программное обеспечение,
вы должны увидеть пакеты, проходящие через маршрутизатор. Когда
что-то начнёт приходить извне, оно будет отброшено (в этом-то и
проблема). Заметьте номер порта получателя этих пакетов, затем
завершите работу вашего программного обеспечения. Выполните эту
процедуру несколько раз для того, чтобы убедиться, что номер порта
постоянен. Если это так, то следующая строчка в соответствующем
разделе /etc/ppp/ppp.conf заставит программное
обеспечение функционировать нормально:
nat port protointernalmachine:portportЗдесь proto - это tcp
либо udp, internalmachine -
это машина, которой вы хотите перенаправлять пакеты,
и port - это номер порта получателя
пакетов.Несомненно, вы не сможете использовать программное обеспечение на
других машинах, не изменяя указанную выше команду, а также запускать
программное обеспечение на двух машинах внутри сети одновременно -
в конце концов, внешний мир видит всю вашу сеть как единственную
машину.Если номера портов непостоянны, есть ещё три варианта:Настройте поддержку этого в libalias. Примеры
особых случаев можно найти в
/usr/src/lib/libalias/alias_*.c
(alias_ftp.c - хорошее начало). Это означает, что
вам нужно будет использовать чтение некоторых распознаваемых
исходящих пакетов, обнаруживать команды для установления внешней машиной
обратной связи на внутреннюю машину на конкретный (случайный) порт и
настраивать маршрут в таблице соответствий так, чтобы
последующие пакеты проходили нормально.Это самое трудоёмкое решение, но оно наилучшее и позволит
программному обеспечению работать на нескольких машинах.Используйте прокси-сервер.
Приложение может поддерживать, например, socks5 или (как в случае
cvsup) может иметь режим passive,
обходящийся без запросов к противоположной стороне на открытие
обратного соединения.Переназначьте всё на внутреннюю
машину с помощью команды nat addr. Это решение в
лоб.Кто-нибудь ведёт список полезных номеров портов?Пока нет, но ниже находится список, могущий таковым стать (если
к этому будет проявлен какой-либо интерес). В каждом примере
internal нужно заменить на IP-адрес
машины, участвующей в игре.Asheron's Callnat port udp
internal:65000
65000Находясь в игре, вручную смените номер порта на 65000. Если
у вас есть несколько машин, на которых вы хотите играть,
назначьте каждой машине уникальный номер порта (то есть 65001,
65002 и так далее), и добавьте по строчке nat
port для каждой машины.Half Lifenat port udp
internal:27005
27015PCAnywhere 8.0nat port udp
internal:5632
5632nat port tcp
internal:5631
5631Quakenat port udp
internal:6112
6112Альтернативное решение, обеспечивающее поддержку прокси для
Quake, можно найти на сервере
www.battle.net.Quake 2nat port udp
internal:27901
27910nat port udp
internal:60021
60021nat port udp
internal:60040
60040Red Alertnat port udp
internal:8675
8675nat port udp
internal:5009
5009Что такое ошибки FCS?FCS является сокращением от Frame
Check Sequence
(контроль последовательности кадров). Каждый кадр PPP имеет
контрольную сумму для проверки того, что принятые данные совпадают
с переданными. Если FCS принятого пакета некорректна, пакет
отбрасывается и счётчик FCS для HDLC увеличивается. Значения ошибок
уровня HDLC можно вывести командой show hdlc.Если у вас плохая линия (или драйвер коммуникационного адаптера
отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является
причиной для волнений, хотя это существенно замедляет протоколы
компрессии. Если у вас внешний модем, проверьте качество
экранирования соединительного кабеля - это может избавить от
проблемы.Если ваша связь замирает, как только вы соединились и
наблюдается большое количество ошибок FCS, это может быть вызвано
не полной прозрачностью канала для 8-битовых данных. Проверьте, что
модем не использует программного управления потоком (XON/XOFF). Если же
оборудование должно , использовать программное
управление потоком, то воспользуйтесь командой set accmap
0x000a0000 для указания &man.ppp.8; экранировать
символы ^Q и ^S.Другой причиной слишком большого количества ошибок FCS может
быть прекращение противоположной стороной сеанса PPP.
В этом случае Вам может понадобиться включить протоколирование
async для проверки того, не являются ли поступаемые из
линии данные на самом деле приглашениями login или shell. Если вы
получили приглашение shell с противоположной стороны, возможно
завершение &man.ppp.8; без обрыва связи командой close
lcp (последующая команда term
снова вернёт вас к приглашению
shell на удалённой машине).Если ничего в файле протокола не говорит о том, что связь
была прервана, вы должны спросить у администратора удалённой
машины (вашего провайдера), почему сеанс был закрыт.Почему при работе в MacOS и Windows 98 соединения замирают,
когда на маршрутизаторе используется PPPoEМы благодарим Майкла Возняка (Michael Wozniak)
mwozniak@netcom.ca, который сообщил следующую
информацию, и Дэна Флемминга (Dan Flemming)
danflemming@mac.com за решение проблемы в случае
Mac:Это происходит из-за эффекта, который можно назвать
чёрной дырой на маршрутизаторе. MacOS и Windows 98
(и, может быть, другие операционные системы от Microsoft), посылают
пакеты TCP с запрашиваемым размером сегмента, который слишком велик
для того, чтобы быть помещённым в кадр PPPoE (для сети Ethernet
размер MTU по умолчанию равен 1500) и с
установленным битом не фрагментировать (по умолчанию
для TCP), а маршрутизаторы Telco не посылает пакет ICMP нужно
фрагментировать обратно на сайт www, с которым вы
работаете. (Либо маршрутизатор посылает пакеты ICMP правильно, а
межсетевой экран на стороне веб-сервера их сбрасывает.) Когда
веб-сервер посылает вам кадры, которые не помещаются в поток PPPoE,
то маршрутизаторы Telco их отбрасывают и странички не загружаются
(часть страниц/графики всё же видно, потому что они меньше, чем
MSS). Похоже, что такие настройки действуют по умолчанию на
большинстве конфигураций PPPoE Telco (если они вообще знают, как
программировать маршрутизатор... да уж...).Одним из способов исправить это является использование утилиты
regedit на машинах 96/98 для того, чтобы добавить в реестр
следующий параметр...HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTUЭто должна быть строка со значением 1436, так как
имеются сведения, что некоторые маршрутизаторы ADSL не могут
работать с пакетами размером, превышающим эту величину. В Windows
2000 этот параметр реестра был перенесён в
Tcpip\Parameters\Interfaces\ID
адаптера\MTU и имеет тип DWORD.Обратитесь к документам из Microsoft Knowledge Base
Q158474 - Windows TCPIP Registry Entries и
Q120642 - TCPIP & NBT Configuration Parameters for Windows
NT для получения более полной информации по изменению MTU
в Windows для работы с NAT-маршрутизатором.Другим вариантом с Windows 2000 является установка в регистре
DWORD-параметра
Tcpip\Parameters\Interfaces\ID
адаптера\EnablePMTUBHDetect в 1, как это
отмечено в документе Microsoft 120642, указанном выше.К несчастью, в 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.В самой последней версии &man.ppp.8;
(2.3 и выше) имеется команда enable
tcpmssfixup, которая автоматически выравнивает значение
MSS к нужному. Эта возможность по умолчанию включена. Если у вас
возникли проблемы с более старой версией
&man.ppp.8;, то вас может заинтересовать порт
tcpmssd.Ничего не помогает - я уже отчаялся!Если всё уже перепробовано, и ничего не получается, пошлите нам
максимальное количество информации, ваш конфигурационный файл,
способ запуска &man.ppp.8;, соответствующие части
файла протокола, и вывод команды netstat -rn (до и после
соединения) в &a.questions; или в телеконференцию comp.unix.bsd.freebsd.misc,
и может быть, кто-нибудь укажет вам верное направление.Коммуникационные адаптерыВ этом разделе освещены вопросы о работе последовательных
адаптеров во FreeBSD. Протоколы PPP и SLIP рассматриваются в разделе
Работа в сети.Как узнать, какие последовательные порты были обнаружены
FreeBSD?При загрузке ядра FreeBSD оно будет пытаться найти последовательные
порты, с поддержкой которых было откомпилировано. Вы можете
повнимательней присмотреться к выдаваемым сообщениям либо выполнить
команду
&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 и адресами портов ввода/вывода, как в
примере выше. Если эти настройки не соответствуют вашим, или если вы
добавили внутренние модемы, или у вас больше последовательных портов, чем
описано в ядре, просто переконфигурируйте ядро. За дополнительной
информацией обратитесь к разделу о построении
ядра.Как узнать, какие внутренние модемы были обнаружены FreeBSD?Посмотрите ответ на предыдущий вопрос.Как осуществляется доступ к последовательным портам во
FreeBSD?Третий последовательный порт, sio2 (посмотрите
справку по &man.sio.4;), который в DOS называется COM3), обозначается как
/dev/cuaa2 для устройств, выполняющих исходящие
звонки, и /dev/ttyd2 для устройств,
принимающих входящие звонки. Какая разница между этими двумя классами
устройств?Вы должны использовать
ttydX для входящих
соединений. При открытии
/dev/ttydX в блокирующем
режиме, процесс будет ожидать неактивности соответствующего устройства
cuaaX, а затем
появления сигнала о наличии несущей. При открытии устройства
cuaaX, он проверяет,
что последовательный порт не используется уже устройством
ttydX. Если порт
доступен, он похищает его у устройства
ttydX. Также устройство
cuaXX не следит
за наличием несущей. С такой схемой
работы и модемом, находящимся в режиме автоответа, вы можете позволить
пользователям входить в систему и в то же время можете осуществлять
исходящие звонки, а система позаботится о возможных конфликтах.Как включить поддержку многопортовых последовательных
адаптеров?Повторим ещё раз: информация о конфигурировании ядра содержится в
разделе, посвящённом этому вопросу. Для многопортовых последовательных
адаптеров в файле конфигурации ядра поместите ключевое слово &man.sio.4;
для каждого порта на адаптере. Но 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
Флаги указывают, что управляющий порт имеет младший номер
устройства 7 (0x700), включена диагностика на время
обнаружения
(0x080), и все порты используют одно и то же irq
(0x001).Может ли FreeBSD использовать несколько многопортовых адаптеров
с одинаковым irq?Пока нет. Вы должны назначить уникальный irq для каждого
адаптера.Можно ли установить режим работы по умолчанию для порта?Вашему приложению может понадобиться открыть устройства
ttydX (или
cuaaX). Когда процесс
открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете
посмотреть их значения командой
&prompt.root; stty -a -f /dev/ttyd1Когда вы меняете настройки этого устройства, они действуют
вплоть до закрытия устройства. При повторном открытии оно будут
иметь режимы работы по умолчанию. Чтобы изменить значения режимов
работы по умолчанию, вы можете открыть и изменить настройки в устройстве
начального состояния. Например, чтобы сделать режимом
по умолчанию режим CLOCAL, 8 бит, и управление потоком
XON/XOFF для устройства ttyd5,
сделайте следующее:
&prompt.root; stty -f /dev/ttyid5 clocal cs8 ixon ixoffДля выполнения таких действий предназначен скрипт
/etc/rc.serial. Теперь при открытии устройства
ttyd5 приложение будет иметь именно такой режим
работы с портом. Оно, однако. может изменить эти режимы по своему
усмотрению.Вы можете запретить изменение приложением некоторых режимов работы,
выполнив настройки устройства постоянного состояния.
Например, чтобы сделать скорость работы ttyd5
постоянной и равной 57600 bps, выполните
&prompt.root; stty -f /dev/ttyld5 57600Теперь, если приложение откроет ttyd5 и попытается
изменить скорость работы порта, она всё равно останется равной 57600
bps.Естественно, вы должны сделать устройства начального и
постоянного состояний доступными на запись только пользователю
root. Скрипт &man.MAKEDEV.8;
при создании файлов устройств этого НЕ делает.Как сделать вход через модем?Похоже, что вы хотите стать Internet-провайдером, да? Сначала
вам необходимо подключить к системе один или несколько модемов,
которые могут работать в режиме автоответа. Модем должен держать
сигнал наличия несущей, только когда она присутствует. Он должен
вешать трубку и переинициализировать, когда сигнал готовности
устройства DTE (DTR) меняет состояние из
включенного на выключенный. Должно использоваться аппаратное
(RTS/CTS) управление потоком или вовсе
отсутствовать. Ещё он должен работать на постоянной скорости с
портом компьютера, но (что удобно для звонящих) с согласованием
скорости передачи с другим модемом.Для большинства модемов, поддерживающих набор команд Hayes,
следующая последовательность команд выполнит эти настройки и
сохранит их в энергонезависимой памяти:AT &C1 &D3 &K3 &Q6 S0=1 &WИнформация о том, как сделать эти настройки без обращения к
терминальным программам MS-DOS, содержится в разделе о посылке AT-команд.Затем опишите модем в файле /etc/ttys
(посмотрите справку по &man.ttys.5;). В нём перечислены все
порты, с которых операционная система ожидает входа пользователей.
Добавьте строку, которая выглядит как эта:ttyd1 "/usr/libexec/getty std.57600" dialup on insecureВ этой строке указано, что ко второму последовательному порту
(/dev/ttyd1) подключен модем на скорости
57600 bps без контроля по чётности (std.57600,
что берётся из файла /etc/gettytab
(посмотрите справку по &man.gettytab.5;). Тип терминала для этого
порта определён как dialup.
Порт включен (on) и небезопасен
(insecure), что означает, что попытки войти
в систему пользователем root с этого порта
будут отвергнуты. Для портов, обслуживающих входящие звонки, как
этот, используйте устройства вида
ttydX.Использование слова dialup в качестве имени
терминала является обычной практикой. Многие пользователи
включают в свои файлы .profile или
.login скрипты для задания реального типа
терминала, если начальным является тип dialup.
В примере порт описан небезопасным. Чтобы войти пользователем
root на этом порту, вам нужно сначала войти
обычным пользователем, а затем командой &man.su.1; стать
пользователем root. Если порт имеет
атрибут secure, то пользователь
root может входить с этого порта
непосредственно.После редактирования файла /etc/ttys вам
нужно послать сигнал потери связи или HUP
процессу &man.init.8;:&prompt.root; kill -HUP 1Это заставит процесс &man.init.8; снова прочитать файл
/etc/ttys. Процесс init запустит процессы
getty для всех портов с характеристикой on.
Вы можете проверить, доступны ли входы с
конкретного порта, выполнив команду&prompt.user; ps -ax | grep '[t]tyd1'Вы должны увидеть нечто вроде следующего:747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1Как подключить терминал к FreeBSD?Если вы собираетесь использовать другой компьютер в качестве
терминала для FreeBSD, соедините их последовательные порты
нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его
документации.Затем модифицируйте файл /etc/ttys (посмотрите
справку по &man.ttys.5;) описанным выше способом. Например, если вы
подключаете терминал WYSE-50 к пятому последовательному порту, используйте
такую строчку:
ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
В этом примере описан порт на /dev/ttyd4,
имеющий терминал wyse50, подключенный на скорости 34800 bps без контроля по
четности (std.38400 из файла
/etc/gettytab, информацию о котором можно получить
из справки по &man.gettytab.5;) и разрешён непосредственный вход
пользователя root (secure).Почему не удаётся запустить tip или
cu?Скорее всего, в вашей системе запуск программ
&man.tip.1; и &man.cu.1; разрешён только пользователю
uucp и членам группы
dialer. Вы можете использовать группу
dialer для управления доступом к вашему модему или
удалённым системам. Достаточно добавить пользователя в группу
dialer.Вы можете разрешить всем пользователям вашей системы запускать
&man.tip.1; и &man.cu.1;, выполнив команды:
&prompt.root; chmod 4511 /usr/bin/cu
&prompt.root; chmod 4511 /usr/bin/tipМой модем Hayes не поддерживается---что можно сделать?На самом деле страница Справочника о программе &man.tip.1; устарела.
Модемы Hayes поддерживаются системой. Просто добавьте
at=hayes в ваш файл /etc/remote
(посмотрите справку по &man.remote.5;).Драйвер модемов Hayes не достаточно умён, чтобы поддерживать
некоторые из новых возможностей современных модемов---сообщения
типа BUSY, NO DIALTONE или
CONNECT 115200 будут приводить его в замешательство. Вы
должны выключить вывод таких сообщений при использовании программы
&man.tip.1; (командой ATX0&W).Кроме того, значение таймаута по умолчанию для программы
&man.tip.1; равен 60 секундам. Ваш модем должен использовать
меньшее значение, иначе tip будет думать, что у вас проблемы со связью.
Попробуйте ATS7=45&W.На самом деле tip в том виде, каком
поставляется, не поддерживает модемы Hayes полностью. Решением является
редактирование файла tipconf.h в каталоге
/usr/src/usr.bin/tip/tip. Чтобы это сделать, вам
нужен дистрибутив исходных текстов системы.Замените строку #define HAYES 0 на #define
HAYES 1. Затем выполните команды make и
make install. После этих действий всё работает
замечательно.Как я должен ввести эти AT-команды?Создайте так называемое прямое описание в вашем файле
/etc/remote (посмотрите справку по &man.remote.5;).
Например, если ваш модем подключен к первому последовательному порту,
/dev/cuaa0, сделайте такую строку:
cuaa0:dv=/dev/cuaa0:br#19200:pa=none
Укажите максимальную скорость обмена с портом, поддерживаемую
модемом в параметре br. Затем выполните команду
tip cuaa0 (обратитесь к
справке по &man.tip.1;) и вы подключитесь к модему.Если в вашей системе нет устройства
/dev/cuaa0, сделайте следующее:
&prompt.root; cd /dev
&prompt.root; sh MAKEDEV cuaa0Или используйте cu, войдя администратором,
с такими параметрами:
&prompt.root; cu -lline -sspeedгде line - это имя последовательного порта
(например, /dev/cuaa0), а
speed - скорость работы модема с портом
(например, 57600). После ввода AT-команд, наберите
~. для завершения работы.Почему не срабатывает знак <@> для
описания характеристики pn?Знак <@> в характеристике, описывающей
номер телефона, указывает программе tip обратиться к файлу
/etc/phones для поиска телефонного номера.
Однако знак <@> является также и
специальным символом в файлах описания характеристик типа
/etc/remote. Экранируйте его символом
обратного слэша:pn=\@Как набрать телефонный номер из командной строки?Поместите так называемое общее описание в ваш файл
/etc/remote (посмотрите справку по &man.remote.5;).
Например:
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. Если предпочитаете программу &man.cu.1;, а не
&man.tip.1;, используйте общее описание для cu:
cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
и выполняйте команду cu 5551234 -s 115200.Нужно ли при этом каждый раз задавать скорость работы с
портом?Создайте описание для tip1200 или
cu1200, но не останавливайтесь на этом и используйте
подходящую скорость при задании характеристики br. &man.tip.1; полагает,
что хорошим значением по умолчанию является 1200 bps, поэтому он
использует описание для tip1200. Однако вас никто не
заставляет использовать именно эту скорость.Мне нужно иметь доступ к нескольких хостам через терминальный
сервер.Вместо того, чтобы каждый раз ожидать подключения к терминальному
серверу, а затем набирать команду CONNECT
host, используйте характеристику
cm программы tip. Например, вот такое описание в файле
/etc/remote (обратитесь к справке по
&man.remote.5;):
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/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
позволит вам просто набирать tip pain или
tip muffin для подключения к хостам
pain или muffin и
tip deep13 для доступа к терминальному серверу.Может ли tip использовать несколько телефонов для одного
сайта?Эта проблема возникает, когда в университете есть пара
модемных входов и несколько тысяч студентов, пытающихся ими
воспользоваться...Создайте описание для вашего университета в файле
/etc/remote (посмотрите справку по &man.remote.5;) и
используйте <\@> при задании
характеристики pn:
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
После этого пропишите номера телефонов университета в файле
/etc/phones (посмотрите справку по
&man.phones.5;):
big-university 5551111
big-university 5551112
big-university 5551113
big-university 5551114
&man.tip.1; будет пытаться воспользоваться всеми телефонными номерами в
указанном порядке, прежде чем завершить работу. Если вы хотите, чтобы
попытки были продолжены, запустите &man.tip.1; в цикле
while.Почему нужно нажимать CTRLP
дважды для посылки одного этого символа CTRLP?По умолчанию CTRLP является специальным символом
принудительного ввода, используемым для указания
программе &man.tip.1;, что следующий символ является байтом
данных. Вы можете назначить функцию символа принудительного ввода
любому другому символу с помощью команды ~s,
которая предназначена для установки значений
переменных.Наберите
~sforce=single-char с
начала новой строки. Здесь под
single-char имеется в виду любой
одиночный символ. Если вы не зададите
single-char, то символом
принудительного ввода будет нулевой символ, который можно получить,
нажав CTRL2 или CTRLSPACE. Подходящим значением для
single-char является SHIFTCTRL6, что
используется только некоторыми терминальными серверами.Вы можете задать любое значение для символа принудительного
ввода, указав его в вашем
файле $HOME/.tiprc:force=single-charНеожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ?Должно быть, вы нажали CTRLA, символ
перехода в верхний регистр программы &man.tip.1;,
специально предназначенный для тех, у кого не работает клавиша
Caps Lock. Используйте команду
~s, как это было сделано выше, и установите
значение переменной raisechar во что-нибудь
подходящее. В действительности вы можете установить его равным
символу принудительного ввода, если не собираетесь пользоваться
этими особенностями.Следующий пример файла .tiprc должен понравиться пользователям
редактора Emacs, которым часто приходится нажимать CTRL2 и
CTRLA:force=^^
raisechar=^^Здесь ^^ обозначает SHIFTCTRL6.Как можно передавать файлы с помощью программы
tip?Если вы соединились с другой Unix-системой, вы можете посылать и
принимать файлы командами ~p (передача) и
~t (приём). Эти
команды запускают программы &man.cat.1; и &man.echo.1; на
удалённой системе, чтобы принять и послать файлы. Синтаксис вызова
имеет такой вид:
~p <local-file> [<remote-file>]
~t <remote-file> [<local-file>]
Контроль ошибок передачи при этом не осуществляется, так что вам
может понадобиться другой протокол передачи, например, zmodem.Как использовать zmodem вместе с
tip?Первым делом установите одну из программ, реализующих протокол
zmodem из коллекции портов (там есть парочка в категории comms,
lrzsz
и rzsz).Для приёма файлов запустите программу передачи на
противоположной стороне. Затем нажмите enter и наберите
~C rz (или ~C lrz, если у
вас установлен lrzsz) для начала приёма
их на локальную машину.Для посылки файлов, запустите программу приёма на
противоположной стороне. Затем нажмите enter и наберите
~C sz files (или
~C lsz files) для
посылки файлов на удалённую систему.РазноеПочему FreeBSD использует гораздо больше места в разделе подкачки, чем
Linux?Это только кажется, что для FreeBSD требуется больше места на разделе
подкачки, чем для Linux. На самом деле это не так. Главное отличие
FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно
перемещает неиспользуемые страницы памяти, к которым не было обращений,
в раздел подкачки, чтобы увеличить объём доступной физической памяти
для активного использования. Linux же перемещает страницы памяти в
раздел подкачки только в крайнем случае. Получаемое во FreeBSD
увеличение нагрузки на раздел подкачки компенсируется более эффективным
использованием оперативной памяти.Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
она не может сбросить все неактивные страницы в своп при полностью
неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
проснувшись рано утром, вы обнаружите, что вся ваша система находится в
разделе подкачки, хотя она простаивала всю ночь.Почему утилита &man.top.1; показывает очень маленький объём
свободной памяти, даже когда запущено всего лишь несколько
приложений?Просто дело в том, что под свободной памятью подразумевается никак не
используемая память. Вся память, которая вашей программе явно не
выделялась, используется ядром FreeBSD для дискового кэша.
Значения, показываемые утилитой &man.top.1;, помеченные как
Inact, Cache и Buf
- это всё кэшированные данные разных степеней устаревания. То, что данные
находятся в кэше, означает, что система не будет обращаться к медленному
диску снова за теми данными, обращение к которым было недавно, повышая таким
образом общую производительность. В общем случае маленькие значения в
пункте Free, показываемые утилитой &man.top.1; для
свободной памяти - это хорошо, если, конечно они не
очень маленькие.Почему командой chmod невозможно изменить
права на символические ссылки?Символические ссылки не имеют атрибутов доступа, а по умолчанию
утилита &man.chmod.1; не следует символической ссылке для изменения
прав доступа к файлу, на который указывает ссылка. Поэтому, если
у вас есть файл, скажем, с именем foo и
символическая ссылка bar на этот файл, то эта
команда всегда будет выполняться успешно.&prompt.user; chmod g-w barОднако права на файл foo не
изменятся.Чтобы это работало, используйте опции или
вместе с опцией .
Обратитесь к страницам Справочника по команде &man.chmod.1; и по
&man.symlink.7;.Опция выполняет команду &man.chmod.1;
РЕКУРСИВНО. Будьте осторожны, задавая
каталоги или символические ссылки на каталоги в параметрах
&man.chmod.1;. Если вы хотите изменить права на каталог, на
который указывает символическая ссылка, используйте &man.chmod.1;
без опций и следуйте символической ссылке с помощью лидирующего
слэша (/). Например, если
foo является символической ссылкой на
каталог bar, а вы хотите изменить права
на foo (на самом деле
bar), вы должны выполнить команду типа
следующей:&prompt.user; chmod 555 foo/Если задан лидирующий слэш, то &man.chmod.1; будет
следовать символической ссылке, foo, меняя
права на каталог bar.Можно ли запускать программы для DOS во FreeBSD?Да, для запуска некоторых команд DOS можно использовать
включённую в поставку программу эмуляции DOS
doscmd.Если doscmd вас не удовлетворит,
то дополнительная утилита emulators/pcemu эмулирует 8088 и набор
сервисов BIOS, достаточный для запуска многих приложений
текстового режима DOS. Ей требуется X Window System.Что мне нужно сделать, чтобы перевести документацию FreeBSD на
родной язык?Ознакомьтесь с
FAQ по Переводам из FreeBSD Documentation Project
Primer.Почему возвращается моя электронная почта. отправленная на
любой из адресов FreeBSD.org?В почтовой системе FreeBSD.org в Postfix применяются некоторые
более строгие проверки входящей почты, и отвергаются сообщения,
которые сформированы неправильно либо потенциально являются спамом.
Ваша почта может не приниматься по одной из следующих
причин:Электронная почта была послана с домена или блока
IP-адресов, которые известны нам как спамеры.Почтовые серверы FreeBSD отвергают электронную почту от
известных источников спама. Если вы пользуетесь услугами
компании или домена, рассылающего или пересылающего спам,
пожалуйста, переключитесь на другого поставщика услуг, который
этого не делает.Тело сообщения электронной почты содержит только
HTML.Почта должна посылать только как обычный текст.
Пожалуйста, настройте ваш почтовый агент на отправку только
текста.Почтовая программа FreeBSD.org не может преобразовать
адрес IP подключающегося хоста в символическое имя.Работа обратного DNS является стандартным требованием для
принятия почты от хоста. Настройте обратный DNS для IP-адреса
вашего почтового сервера. Многие способы домашнего подключения
(DSL, кабель, коммутируемое соединение и тому подобное) не
предоставляют такой возможности. В таком случае пересылайте
свою электронную почту через почтовый сервер вашего поставщика
услуг.Имя хоста, указанное на этапе EHLO/HELO процесса обмена
сообщениями SMTP не может быть преобразовано в IP-адрес.На этом этапе диалога SMTP, перед принятием почты,
необходим полное и преобразуемое имя хоста. Если у вас нет
имени хоста, который зарегистрирован в DNS, то для пересылки
своей почты вы должны использовать почтовый сервер вашего
поставщика услуг.Ваше сообщение имеет идентификатор, оканчивающийся
строчкой localhost.Некоторые почтовые программы генерируют неправильные
идентификаторы сообщений, которые не могут быть приняты. Вам
нужно заставить почтовую программу пользователя генерировать
правильный идентификатор сообщения либо настроить ваш агент
передачи почты на замену этих идентификаторов.Где можно получить бесплатный доступ к FreeBSD?Хотя FreeBSD не предоставляет бесплатный доступ ни к одному из
своих серверов, другие компании предоставляют Unix-системы с
открытым доступом. Стоимость этой услуги различна, также как и
ограниченный набор услуг.Arbornet, Inc,
также известный как M-Net, предоставляет свободный доступ к
Unix-системам с 1983 года. Начиная на платформе Altos с
работающей System III, сайт перешёл на BSD/OS в 1991. В июне 2000
сайт сменил систему снова, теперь на FreeBSD. M-Net
может быть доступна через протоколы telnet и SSH и предоставляет
доступ к полному набору программного обеспечения FreeBSD. Однако
доступ к сети ограничен для членов и спонсоров, которые
поддерживают систему, которая работает как неприбыльная
организация. M-Net предоставляет также услуги
электронной доски объявлений (BBS) и интерактивного чата.Grex представляет
собой сайт, очень похожий на M-Net, включая то же самое
программное обеспечение для электронной доски объявлений (BBS) и
интерактивного чата. Однако платформой является Sun 4M под
управлением SunOSЧто такое sup и как это можно
использовать?Сокращение SUP
означает Software Update Protocol, который был разработан в
CMU для синхронизации исходных текстов. Мы используем его для
синхронизации исходных текстов на удалённых сайтах с основным
сервером разработчиков.Протокол SUP использует пропускную способность канала
неэффективно, и был отвергнут. В настоящее время рекомендуемым
методом для синхронизации исходных текстов является протокол CVSup.Как зовут этого маленького симпатичного красного парня?У него нет определённого имени, он называется просто
даемон BSD. Если вам непременно нужно имя,
называйте его beastie. Заметьте, что
beastie произносится как BSD.Больше о даемоне BSD вы можете узнать из его домашней
страницы.Могу ли я использовать изображение даемона BSD?Вполне. Права на даемона BSD имеет Marshall
Kirk McKusick. Для выяснения подробностей относительно правил
его использования вы можете обратиться к странице автора
Statement on the Use of the BSD Daemon Figure.В общем, вы можете свободно использовать изображение в
высокохудожественном стиле и в личных целях, если даются
соответствующие отсылки. Если вы хотите использовать его в
коммерческих целях, вы должны обратиться к Керку МакКузику.
Дополнительная информация находится на домашней странице
Даемона BSD.Не найдется ли у вас изображений даемона BSD, которые можно
использовать?В каталоге /usr/share/examples/BSD_daemon/
есть рисунки в форматах eps и Xfig.Что такое MFC?MFC - это сокращение от Merged From -CURRENT.
Оно используется в протоколах изменений CVS для отметки того, что
изменение было перенесено в ветвь STABLE из CURRENT.Что означает сокращение BSD?Это сокращение значит что-то на секретном языке, который могут
знать только посвящённые. Это нельзя перевести один к одному,
однако достаточно сказать, что перевод с BSD - это что-то между
Команда Formula-1, Пингвины - это вкусные
плюшки и Мы прикольнее, чем
Linux. :-)Если серьёзно, то BSD является сокращением от Berkeley
Software Distribution, названия, которое было выбрано
Berkeley CSRG (Computer Systems Research
Group) для их дистрибутива Unix.Что означает сокращение POLA?Принцип Наименьшего Удивления (Principle of Least
Astonishment). Он означает, что при дальнейшем развитии FreeBSD
изменения, видимые пользователю, максимально не должны быть для
него сюрпризом. К примеру, произвольная перестановка переменных
начальной загрузки в /etc/defaults/rc.conf
нарушает POLA. Разработчики следуют POLA, когда планируют внести
изменения в системе, которые будут видны пользователю.Что такое repo-copy?repo-copy (что является краткой формой от repository
copy) обозначает прямое копирование файлов внутри
хранилища CVS.Без repo-copy, если есть необходимость скопировать или
переместить файл в другое место репозитория, то коммиттер должен
выполнять команды cvs add для помещения файла
на новое место, а затем cvs rm, чтобы удалить
старый файл, если старая копия должна быть удалена.Минусом этого метода является то, что история (то есть записи в
журналах CVS) работы с файлом не копируются в новое место. Так как
Проект FreeBSD осознаёт важность сохранения истории, вместо
описанного процесса зачастую используется копирование в
репозитории. Это действие заключается в том, что один из хозяев
репозитория копирует файлы непосредственно внутри репозитория, не
пользуясь командами &man.cvs.1;.Почему я должен беспокоиться о цвете фар велосипеда?На самом деле краткий, очень краткий ответ на этот вопрос заключается в
том, что вы этого делать не должны. Если давать более подробный ответ,
то ваше умение делать фары не должно означать, что вы должны препятствовать
другим делать их просто потому, что вам не нравится цвет, в который
они собираются их окрашивать. Эта метафора означает, что вам не нужно
обсуждать каждую мелочь просто потому, что вы знаете о ней
достаточно много. Некоторые люди отмечают, что объём шума, генерируемый
при появлении некоторого изменения, находится в обратной зависимости от
сложности самого изменения.Более пространный и полный ответ заключается в том, что после очень
долгого обсуждения того, должна ли утилита &man.sleep.1; обрабатывать
дробное число, заданное в качестве второго аргумента, &a.phk;
опубликовал большое сообщение, озаглавленное
Велосипедная фара (любого цвета) на зелёной траве....
Соответствующие части этого сообщения цитируются ниже.
&a.phk; on freebsd-hackers,
October 2, 1999Что там насчёт этой велосипедной фары? Кто-то
из вас меня спрашивал.Это долгая история, или же это старая история, но на самом деле
она коротка. В начале 1960-х годов Паркинсон (C. Northcote Parkinson)
написал книгу Закон Паркинсона, которая содержит много
интересных взглядов на процесс управления.[немного выдержек из краткого содержания книги]В конкретном примере с велосипедной фарой другим важным объектом
является атомная электростанция. Я полагаю, что это иллюстрирует
древность книги.Паркинсон показал, что вы можете прийти на совещание руководителей
и получить добро на строительство многомиллионной или даже
многомиллиардной атомной электростанции, но если вы хотите получить
финансирование производства велосипедных фар, то погрязнете в
бесконечных обсуждениях.Паркинсон объясняет это тем, что атомная станция настолько большой,
дорогой и сложный объект, что люди не могут его осознать и вместо того,
чтобы попробовать это сделать, они полагаются на то, что кто-то уже
проверил все мелочи до того, как всё зашло так далеко. В своей книге
Ричард П. Фейнманн (Richard P. Feynmann) даёт несколько интересных и
очень поучительных примеров, связанных с Лос Аламос.Велосипедная фара - это противоположный случай. Любой может
сделать фару за один уикэнд, и у него ещё останется время посмотреть
футбол по телевизору. Так что не важно, насколько хорошо вы готовились
к обсуждению, насколько убедительны будут ваши аргументы, кто-нибудь
воспользуется шансом показать, что он не зря ест свой хлеб, что он
обращает внимание, что он здесь.В Дании это называется оставить отпечаток своего
пальца. Это касается личной гордости и престижа, это похоже
на возможность указать куда-то и сказать: Вон там! Это сделал
я. Это сильно выражено в политиках, но
присутствует во многих людях, которые получают возможность сделать
это. Просто вспомните об отпечатках ног во влажном цементе.
Юмор от FreeBSDНасколько греется процессор при работе FreeBSD?В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я
знаю, что Linux греется меньше, чем DOS, но никогда не видел
упоминания FreeBSD. Наверное, он сильно греется.О. Нет, но мы сделали различные вкусовые тесты у добровольцев с
завязанными глазами, которые до этого приняли по 250 микрограмм
LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина,
тогда как вкус Linux расценивался как фиолетовый туман. Ни одна
из групп не отметила значительной разницы в температуре. Мы
хотели опубликовать полные результаты этого опроса, когда
обнаружили, что слишком много добровольцев покинули помещение во
время тестов, что несколько смазало результаты. Думаем, что
большинство из них работают сейчас в Apple над их новым GUI
чеши и нюхай. Это старый добрый бизнес!Серьёзно, и FreeBSD, и Linux используют инструкцию
HLT (halt), когда система простаивает, что
уменьшает потребление энергии и в свою очередь, выделение тепла.
Вдобавок, если у вас настроен APM (комплексное управление
энергопотреблением), то FreeBSD может переводить процессор в режим
пониженного энергопотребления.Кто там скребётся в микросхемах памяти??В. Делает ли FreeBSD что-нибудь эдакое при
компиляции ядра, что вызывает поскрипывание микросхем памяти? При
компиляции (и в короткий промежуток времени после обнаружения
дисковода при старте системы) от микросхем памяти исходит странный
царапающий звук.О. Да! Вы, наверное, видели частое упоминание
даемонов в документации по BSD, но не многие знают,
что это настоящие нематериальные существа, которые теперь
завладели вашим компьютером. Царапающий звук, издаваемый
микросхемами памяти - это на самом деле высокочастотное
перешёптывание между даемонами, когда они решают, как лучше
справиться с различными задачами по администрированию
системы.Если шум достиг ваших ушей, команда DOS fdisk
/mbr их спугнёт, но не удивляйтесь, если они отреагируют
соответствующим образом и попытаются вас остановить. Фактически,
если во время выполнения этой команды вы услышите сатанинский
голос Билла Гейтса из встроенного динамика, бегите и даже не
оглядывайтесь! Избавленные от противостояния с даемонами BSD,
близнецы-демоны DOS и Windows часто могут захватить полный
контроль не только над вашей машиной и навлечь вечное проклятие на
вашу душу. Теперь, когда вы это знаете, если бы у вас был выбор,
думаем, что вы бы предпочли слышать царапающий звук, не так
ли?Сколько требуется разработчиков FreeBSD, чтобы сменить
электрическую лампочку?Необходимо иметь ровно одну тысячу сто шестьдесят девять
разработчиков:Двадцать три сообщат в -CURRENT о том, что не горит свет;Четыре начнут утверждать, что это проблема конфигурации и такие
сообщения нужно посылать в -questions;Трое оформят PR по этому поводу, причём одно их них будет
направлено в doc и будет содержать только строчку
здесь темно;Один закоммитит неоттестированную лампочку, что сломает
построение системы, а затем через пять минут вернёт всё
назад;Восемь поругаются с авторами PR по поводу включения патчей в
PR;Пять сообщат о том, что не проходит компиляция системы;Тридцать один человек ответит, что у них всё работает и
наверное, те выполняли cvsup в неподходящее время;Один пошлёт патч для новой лампочки в -hackers;Один пожалуется, что у него имелись патчики ещё три года назад,
но когда он послал их в -CURRENT, они были проигнорированы и он имел
неудачный опыт работы с системой PR; кроме того предлагаемая
лампочка не имеет отражателя.Тридцать семь начнут кричать, что лампочки не относятся к
базовой системе, что коммиттеры не имеют права делать такие вещи
без опроса общественности и ЧТО ВООБЩЕ -CORE ДЕЛАЕТ ПО ЭТОМУ
ПОВОДУ?Две сотни напишут о цвете велосипедных фар;Трое скажут, что этот патч не соответствует &man.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, а не на GCC;Один заметит, что у лампочки отсутствует цоколь;Девять (включая авторов PR) спросят что такое
MFC?;Спустя две недели после смены лампочки пятьдесят семь человек
сообщат о том, что света всё равно нет.&a.nik; добавил:Я сильно смеялся над всем этим.И тогда я подумал, Постойте-ка, найдётся ли
кто-нибудь, чтобы задокументировать это?И на меня снизошло озарение :-)Куда направляются данные, записываемые в
/dev/null?Они отправляются в специальную сточную трубу для данных в CPU,
где преобразуются в тепло, выдуваемое через охлаждающие вентиляторы.
Вот почему охлаждение ЦП становится все более важным; так как люди
используют все более быстрые процессоры, они все менее заботятся о
данных, все большее их количество оканчивает свой путь в
/dev/null, перегревая ЦП. Если вы удалите
/dev/null (что соответственно отключит
трубу данных в ЦП), то ваш процессор может охладиться, но система
начнет переполняться излишними данными и начнет работать с
ошибками. Если у вас быстрое сетевое подключение, вы можете
охладить CPU, читая данные из /dev/random и
посылая их куда-нибудь; однако вы рискуете перегреть ваше сетевое
соединение и / или разозлить вашего
провайдера, так как большинство данных преобразуется в тепло на его
оборудовании, но, как правило, у него хорошее охлаждение, так что
если вы не перестараетесь, все должно быть в порядке.Пол Робинсон (Paul Robinson)
добавляет:Есть и другие методы. Как знает каждый хороший системный
администратор, частью хорошей практики является посылка данных на
экран интересным образом, чтобы феи, которые образуют картинку,
были счастливы. Экранные феи (часто неправильно называемые
'пикселами') различаются по типу головных уборов, которые они носят
(красные, зеленые или синие), и прячутся или появляются (показывая,
таким образом, цвет своих шляп), когда получают немного пищи.
Видеоадаптеры преобразуют данные в еду для фей, а затем посылают
ее феям - чем дороже адаптер, тем лучше еда, тем лучше ведут себя
феи. Они также нуждаются в постоянной стимуляции - вот зачем нужны
хранители экранов.Продолжив наше предположение, вы можете просто выдавать
случайные данные на консоль, таким образом позволяя феям их
потреблять. Это вовсе приводит к прекращению выделения тепла,
феи постоянно счастливы, а данные быстро исчезают, даже если
на вашем экране все выглядит несколько хаотично.Как бывший администратор крупного провайдера, который имел
много проблем при попытке поддерживать постоянную температуру в
серверной комнате, я выступаю против того, чтобы люди посылали
ненужные им данные в сеть. Волшебников, которые выполняют
коммутацию пакетов и маршрутизацию, это также затрудняет.Сложные темыКак можно узнать больше о внутреннем устройстве FreeBSD?В настоящее время нет книги по внутреннему устройству ОС,
специфичному для FreeBSD. Однако большинство общих представлений о
&unix; непосредственно применимо к FreeBSD. Кроме того, нет книг,
специфичных для BSD, которые ещё актуальны.Список можно найти в разделе Руководства Библиография
по внутреннему устройству операционной системы.Как можно оказать помощь проекту FreeBSD?Пожалуйста, обратитесь к соответствующей статье,
в которой вы получите советы относительно того, как это сделать.
Ваша помощь более чем приветствуется!Что такое SNAP и RELEASE?В Хранилище
CVS сейчас находятся три активно/полуактивно развивающихся
ветки FreeBSD. (Более ранние ветки изменяются очень редко, именно
поэтому в разработке только три активных ветки):RELENG_3
AKA 3.X-STABLERELENG_4
AKA 4-STABLEHEAD AKA -CURRENT
AKA 5.X-CURRENTHEAD - это не реальный тэг ветки, как другие
два; это просто символьная константа для обозначения
текущего, не ветвящегося, находящегося в
разработке дерева, то есть
-CURRENT.На данный момент -CURRENT является находящимся в
разработке деревом 5.X, ветка 4-STABLE,
RELENG_4, отделилась от -CURRENT в
марте 2000 года.Как самому сделать релиз?Пожалуйста, обратитесь к статье о процессе выпуска
релизов.По команде make world были переустановлены
все программы.Да, так и должно быть; как говорит название этой команды,
make world выполняет построение всех системных
файлов с нуля, так что в итоге можете быть уверены, что получите
чистую рабочую систему (вот почему это занимает столько
времени).Если в момент запуска команд make world или
make install определена переменная окружения
DESTDIR, то вновь создаваемые файлы будут
помещены в дерево каталогов. идентичное существующему, с корнем,
располагающимся в ${DESTDIR}. Однако некоторые
случайные комбинации модификаций совместно используемых библиотек
и версий компилируемых программ при исполнении команды
make world, могут этому помешать.Почему cvsup.FreeBSD.org не является одной DNS-записью
для нескольких машин, чтобы распределить нагрузку между
несколькими CVSup-серверами?Хотя зеркала CVSup обновляются с основного CVSup-сервера каждый
час, это обновление может происходить в любой момент в течение
часа. Это значит, что некоторые серверы будут иметь более новый
код, чем остальные, хотя разница между версиями кода не превышает
часа. Если бы для серверов cvsup.FreeBSD.org использовалась одна
DNS-запись, то простое перенаправление пользователей на случайно
выбранный сервер CVSup, при условии, что CVSup будет запускаться
два раза подряд, может привести к сгрузке кода, более старого, чем
тот, что присутствует в системе.Почему при загрузке системы выдаётся сообщение (bus speed
defaulted)?.Адаптеры SCSI Adaptec 1542 позволяют программно изменять
скорость доступа к шине. Предыдущие версии драйвера 1542 пытались
определить максимально возможную скорость работы и установить это
значение. Мы обнаружили, что у некоторых пользователей это
приводило к нарушению работоспособности системы, поэтому эта
возможность сейчас вынесена в параметр конфигурации ядра
TUNE_1542. Использование этой опции на тех
системах, где она работает, может привести к ускорению доступа к
дискам, а там, где это не работает, может привести к потере
данных.Можно ли работать с -CURRENT при ограниченном доступе в
Internet?Да, это можно делать без скачивания
полного дерева исходных текстов с помощью системы CTM.Как вы разделяете дистрибутив на файлы по 240К?Команда &man.split.1; в современных BSD-системах имеет опцию
, позволяющую разрезать файлы на части с точностью до
байта.Вот пример из файла /usr/src/Makefile.
bin-tarball:
(cd ${DISTDIR}; \
tar cf - . \
gzip --no-name -9 -c | \
split -b 240640 - \
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
Я написал некоторое добавление к ядру, кому его послать?Обратитесь к статье о том, как помочь проекту
FreeBSD, чтобы выяснить, как это сделать.И спасибо Вам за Ваши усилия!Как распознаются и инициализируются адаптеры ISA Plug N Play?От: Фрэнка Дурды IV (Frank Durda IV)
uhclem@nemesis.lonestar.orgЕсли рассматривать на самом низком уровне, то существует несколько
портов ввода/вывода, в которые должны выводить информацию все адаптеры
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 разрядах только для задания производителя адаптера
выглядит несколько излишним.Оставшиеся 32 бита являются серийным номером, Ethernet-адресом,
чем-либо, делающим этот адаптер уникальным. Производитель не должен
выпускать других адаптеров, имеющих то же самое значение этих битов,
если, конечно, у них не разные идентификаторы производителя. Таким
образом, вы можете иметь несколько адаптеров одинакового типа, но с
различными 64-разрядными номерами.Группы по 32 бита не могут быть нулевыми. Это позволяет при
логическом объединении OR их номеров получать ненулевое значение во
время начального поиска адаптеров.Как только система определила ID всех адаптеров, она активизирует
каждый адаптер, по одному за раз (через те же порты ввода/вывода), и
определяет, какие ресурсы требуются данному адаптеру, какие возможные
прерывания доступны и тд. Сканирование и сбор информации происходит
по всем адаптерам.Эта информация соотносится с содержащейся в файлах ECU на диске
или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на
MLB обычно имеет синтетический характер, и периферия не выполняет
полностью процедуру настоящего PnP. Однако, используя BIOS и
информацию из ECU, процедура инициализации может обнаружить устройства
PnP, которые не могут быть найдены другим способом.Затем устройства PnP опрашиваются ещё раз для назначения им портов
ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь
устройства должны иметь именно такие настройки и они должны оставаться
такими до следующей перезагрузки, хотя нигде не сказано, что вы не
можете их менять, когда захотите.Здесь сделано много упрощений, однако общую идею вы должны
уловить.Microsoft использовала для PnP некоторые порты статуса первого
принтера, по их логике, не существует адаптеров, использующих эти
адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от
IBM, который декодирует запись в порт статуса в момент начального
опроса устройств PnP, на что MS ответил хулиган. Так что они
выполняют запись в порт статуса принтера для установки адресов,
вдобавок используют этот адрес + 0x800, и ещё один порт
ввода/вывода, который может располагаться где угодно в диапазоне между
0x200 и 0x3ff, для чтения.Мне нужно старшее число для написанного мною драйвера
устройства.В &os.current; после февраля 2003 года появился механизм
динамического и автоматического выделения старших номеров для
драйверов устройств во время выполнения. Этот механизм гораздо
более предпочтителен, чем устаревшая процедура статического
распределения старших номеров устройств. Некоторые комментарии
по этому поводу можно найти в файле
src/sys/conf/majors.Если по каким-то причинам вам обязательно нужно использовать
статические старшие номера, то процесс их получения зависит от
того, планируете вы сделать этот драйвер
общедоступным или нет. Если это так, то, пожалуйста, пошлите нам
копию исходных текстов драйвера вместе с соответствующими
модификациями в файле files.i386, пример
описания устройства в файле конфигурации ядра и соответствующий код
&man.MAKEDEV.8; для создания специальных файлов устройств, которые
использует ваше устройство. Если это не так. или это невозможно
из-за лицензионных ограничений, то для старшего числа символьного
устройства и старшего числа блочного устройства для этих целей были
зарезервированы значения 32 и 8 соответственно; используйте их. В
любом случае. мы будем рады услышать о вашем драйвере
в &a.hackers;.Альтернативный метод размещения каталоговВ ответ на вопрос о других методах размещения каталогов могу
сказать, что используемая в настоящее схема не претерпела изменений
с 1983 года. Эти соглашения были предназначены для оригинальной
файловой системы FFS, я никогда их не пересматривал. Эта схема
прекрасно работает, позволяя избежать переполнения групп дорожек.
Как некоторые из вас замечали, она работает плохо при поиске.
Большинство файловых систем создаются из архивов, которые были
созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что
их каталоги размещаются на нескольких группах дорожек, создавая
наихудший случай для последующего поиска глубиной один. Если бы
было известно общее количество каталогов, которые должны быть созданы,
выходом было бы создание (общее количество / количество групп дорожек)
на дорожку группу перед переходом. Обычно это число определяется чисто
эвристически. Даже при использовании маленького фиксированное числа,
скажем 10, значительно улучшает ситуацию. Чтобы различать операции
восстановления от обычных операций (где текущий алгоритм подходит),
вы можете использовать объединение в кластеры объёмом до 10, если они
делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что
это требует некоторых экспериментов.Кирк МакКузик (Kirk McKusick), Сентябрь 1998Что делать при аварийном остановах системы[Этот раздел был вырезан из письма, написанного &a.wpaul; в
список рассылки freebsd-current
&a.des;, который исправил несколько опечаток и добавил комментарии в
квадратных скобках]
From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
Subject: Re: the fs fun never stops
To: Ben Rosengart
Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
Cc: current@FreeBSD.org
Бен Розенгарт отправил письмо, содержащее
следующее аварийное сообщение системы]
> Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x40
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xf014a7e5
^^^^^^^^^^
> stack pointer = 0x10:0xf4ed6f24
> frame pointer = 0x10:0xf4ed6f28
> code segment = base 0x0, limit 0xfffff, type 0x1b
> = DPL 0, pres 1, def32 1, gran 1
> processor eflags = interrupt enabled, resume, IOPL = 0
> current process = 80 (mount)
> interrupt mask =
> trap number = 12
> panic: page fault
[Если] вы увидите такое сообщение, просто его воспроизвести и
послать нам не достаточно. Указатель инструкций, выделенный мною,
важен, к сожалению, его значение зависит от конфигурации ядра.
Другими словами, его значение меняется в зависимости от конкретного
ядра, которое вы используете. Если вы используете ядро GENERIC
одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую
ошибку, но если вы работаете со специально отконфигурированным ядром,
то только вы можете сказать нам, где случилась
ошибка.Вот что вы должны сделать:Запишите значение указателя инструкций. Заметьте, что
часть 0x8: в этом случае не важна: нам нужна часть
0xf0xxxxxx.Когда система перезагрузится, сделайте следующее:
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
где f0xxxxxx - это значение указателя инструкций.
Однако неприятность заключается в том, что вы не получите точного
соответствия, так как в таблице имен ядра для точек входа в функции
даны адреса на начало функций, а указатель инструкций будет указывать
куда-то внутрь её тела. Если вы не получили точного соответствия,
опустите последнюю цифру в значении указателя инструкций и попробуйте
снова, то есть:
&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
Если и это не привело ни к каким результатам, отрежьте следующую
цифру. Повторяйте, пока не получите хоть что-то. Результатом будет
список функций, которые, возможно, привели к аварийному останову.
Этот механизм обнаружения ошибочного места довольно неточен, но это
всё же лучше, чем ничего.Зачастую люди приводят подобные аварийные сообщения, на редко кто
утруждается привести соответствие указателя инструкций с функцией в
таблице символов ядра.Лучшим способом выяснить причину, вызвавшую аварийный останов, является
получение аварийного дампа системы, а затем использование
&man.gdb.1; для получения трассировки вызовов в этом
дампе.Во всяком случае, обычно я использую такой способ:Отредактируйте конфигурационный файл ядра, добавив строку
options DDB, если вам зачем-то понадобился
встроенный отладчик. (Я использую его в основном для указания точек
останова, если подозреваю возникновение бесконечных циклов.)Выполните
config -g KERNELCONFIG
для создания каталога построения ядра.cd /sys/compile/KERNELCONFIG;
makeДождитесь окончания компиляции ядра.make installrebootВ процессе выполнения команды &man.make.1; будут построены два ядра,
kernel и kernel.debug.
kernel будет установлен как
/kernel, тогда как kernel.debug
может быть использован в качестве источника отладочной информации для
&man.gdb.1;.Чтобы включить сброс аварийного дампа, вам нужно отредактировать файл
/etc/rc.conf так, чтобы устройство
dumpdev указывало на раздел подкачки. В этом случае
скрипты &man.rc.8; будут вызывать команду &man.dumpon.8; для включения
создания аварийных дампов. Вы можете запустить команду &man.dumpon.8;
вручную. После аварийной остановки аварийный дамп может быть получен с
помощью программы &man.savecore.8; если значение переменной
dumpdev было установлено в
/etc/rc.conf, скрипты &man.rc.8; запустят
&man.savecore.8; автоматически и поместят аварийный дамп в
каталог /var/crash.Аварийные дампы FreeBSD обычно имеют размер, равный физическому
объёму оперативной памяти вашей машины. Так что если у вас 64МБ
ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться,
что в каталоге /var/crash достаточно места для
хранения дампа. Либо вы можете вручную запустить
&man.savecore.8; и создать аварийный дамп в другом
каталоге, где достаточно места. Размер аварийного дампа можно
уменьшить, указав в конфигурации ядра
options MAXMEM=(размер) подходящее значение для
объёма памяти, которое будет использоваться ядром. Например, если у вас
128 МБ ОЗУ, вы можете ограничить использование памяти ядром 16
мегабайтами, так что размер аварийного дампа будет равен 16МБ, а не
128.Как только вы получили аварийный дамп, вы можете выполнить трассировку
вызовов с помощью &man.gdb.1; таким образом:
&prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0(gdb)whereЗаметьте, что при этом может быть выведено несколько экранов
информации; в идеале вы должны использовать &man.script.1; для их
перехвата. При использовании необработанного образа ядра со всей
отладочной информацией может быть найдена конкретная строка исходного
текста ядра, при достижении которой случилась аварийная остановка.
Для выяснения последовательности событий, приведших к аварийному
останову, обычно читается трассировка стека снизу вверх. Вы можете
также использовать &man.gdb.1; для вывода значений различных
переменных или структур, чтобы выяснить состояние системы во время
аварии.Теперь, если вы в самом деле душевнобольной и у вас есть второй
компьютер, то можете настроить &man.gdb.1; для удалённой
отладки, так, что сможете использовать &man.gdb.1; на одном
компьютере, чтобы
отладить ядро на другом, включая использование точек останова,
пошагового прохода по коду ядра, всё как с обычной прикладной
программой. Я пока с этим не игрался, так как не часто имею
возможность поставить две машины одну напротив другой для отладки.[Билл (Bill) добавил: "Я забыл обратить ваше внимание
на одну вещь: если у вас включена поддержка DDB и ядро переходит
в режим отладки, вы можете намеренно вызвать аварийный останов
(и создание аварийного дампа), набрав 'panic' в командной строке
ddb. Этот процесс может снова вызвать отладчик. В этом случае
наберите 'continue' и процесс будет завершён созданием аварийного
дампа." -ed]Перестала работать функция dlsym() для ELF!По умолчанию при работе с форматом ELF символы, определённые в
выполнимом файле, не доступны динамическому загрузчику. Поэтому
при вызове функции dlsym(), которая осуществляет
поиск по дескриптору, полученному после вызова dlopen(NULL,
flags), желаемый результат достигнут не будет.Если вы хотите осуществить поиск в выполнимом файле процесса с помощью
функции dlsym(), вам нужно компоновать выполнимый файл
с опцией компоновщика ELF
(&man.ld.1;).Увеличение и уменьшение адресного пространства ядраПо умолчанию размер адресного пространства ядра равен 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 разделите желаемый
объём адресного пространства (в мегабайтах) на четыре и вычтите из
получившегося числа единичку в случае однопроцессорной машины и
двоечку в случае многопроцессорного ядра.Для достижения второй цели вам нужно правильный адрес для загрузки
ядра: просто отнимите размер адресного пространства (в байтах) от
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);
SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0xc0100000 + SIZEOF_HEADERS;
.interp : { *(.interp) }
После этого переконфигурируйте и перестройте ядро. Вы можете
столкнуться с проблемами при работе утилит &man.ps.1;,
&man.top.1; и подобных им; решить их может
make world (или ручная перекомпиляция
libkvm, &man.ps.1; и
&man.top.1; после копирования исправленного
pmap.h в /usr/include/vm/).ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть
кратен четырём мегабайтам.[&a.dg; добавил: Я думаю, что размер адресного пространства
ядра должен быть степенью двойки, но я в этом не уверен. Для работы с
верхними адресами памяти использовался код старого загрузчика, и я ожидаю
по крайней мере точность в 256 МБ.]Наши благодарности
FreeBSD Core TeamЕсли вы обнаружили неточности в этом FAQ или хотите что-то
в него добавить, пожалуйста, напишите нам на адрес &a.doc;.
Мы ждём ваши отзывы и пожелания, чтобы с вашей помощью сделать этот
документ ещё лучше!
&a.jkh;Различные упорядочения и добавления в FAQ.&a.dwhite;Работа с &a.questions;&a.joerg;Работа с телеконференциями Usenet&a.wollman;Раздел о сети и форматированиеJim LoweИнформация о протоколе многоадресной передачи&a.pds;Раб-наборщикAndrey ZakhvatovПеревод на русский языкThe FreeBSD TeamОхи, вздохи, стоны, добавленияИ всем остальным, оставшимся неизвестными, наши глубочайшие
извинения и сердечные благодарности!
&bibliography;
diff --git a/ru_RU.KOI8-R/books/handbook/book.sgml b/ru_RU.KOI8-R/books/handbook/book.sgml
index a62e7c3ebb..a810171d46 100644
--- a/ru_RU.KOI8-R/books/handbook/book.sgml
+++ b/ru_RU.KOI8-R/books/handbook/book.sgml
@@ -1,283 +1,286 @@
%man;
%bookinfo;
%freebsd;
%chapters;
%authors;
%teams;
%translators;
%mailing-lists;
%newsgroups;
%trademarks;
+
+%urls;
+
%txtfiles;
%pgpkeys;
]>
Руководство FreeBSDПроект Документации FreeBSDФевраль 19991995199619971998199920002001200220032004The FreeBSD Documentation Project20002001200220032004Проект Русской Документации FreeBSD
&bookinfo.legalnotice;
&tm-attrib.freebsd;
&tm-attrib.3com;
&tm-attrib.3ware;
&tm-attrib.arm;
&tm-attrib.adaptec;
&tm-attrib.adobe;
&tm-attrib.apple;
&tm-attrib.corel;
&tm-attrib.creative;
&tm-attrib.cvsup;
&tm-attrib.heidelberger;
&tm-attrib.ibm;
&tm-attrib.ieee;
&tm-attrib.intel;
&tm-attrib.intuit;
&tm-attrib.linux;
&tm-attrib.lsilogic;
&tm-attrib.m-systems;
&tm-attrib.macromedia;
&tm-attrib.microsoft;
&tm-attrib.netscape;
&tm-attrib.nexthop;
&tm-attrib.opengroup;
&tm-attrib.oracle;
&tm-attrib.powerquest;
&tm-attrib.realnetworks;
&tm-attrib.redhat;
&tm-attrib.sap;
&tm-attrib.sun;
&tm-attrib.symantec;
&tm-attrib.themathworks;
&tm-attrib.thomson;
&tm-attrib.usrobotics;
&tm-attrib.vmware;
&tm-attrib.waterloomaple;
&tm-attrib.wolframresearch;
&tm-attrib.xfree86;
&tm-attrib.xiph;
&tm-attrib.general;
Добро пожаловать в FreeBSD! Это Руководство охватывает процесс
установки и ежедневного использования FreeBSD
&rel2.current;-RELEASE и FreeBSD
&rel.current;-RELEASE.
Это руководство находится в процессе
разработки и являет собой результат работы множества
людей. Многие из разделов до сих пор не существуют, а некоторые из
существующих требуют обновления. Если вы заинтересованы в помощи
этому проекту, отправьте письмо в &a.ru.doc;. Обновленная версия этого
документа постоянно доступна с
Основного Web сервера Проекта Русской Документации FreeBSD и
- Основного Web сервера
+ Основного Web сервера
FreeBSD. Он также может быть загружен из
Internet в одном из наиболее распространенных форматов с FTP сервера Проекта
FreeBSD или с одного из многочисленных зеркал. Если вы предпочитаете иметь
напечатанный (английский) вариант Руководства, то можете приобрести
его на FreeBSD Mall.
Вы также можете воспользоваться Поиском в Руководстве
+ URL="&url.main;/ru/search/index.html">Поиском в Руководстве
FreeBSD.
&chap.preface;
В началеЭта часть Руководства Пользователя FreeBSD предназначена для
пользователей и администраторов - новичков в FreeBSD. Эти главы:Введут вас в FreeBSD.Проведут вас по процессу установки FreeBSD.Обучат вас некоторым основам &unix;.Покажут вам как устанавливать программные пакеты не входящие
в стандартную поставку FreeBSD.Введут вас в X Window, оконную систему для &unix;, и опишут
как настроить графическое окружение и сделать вашу работу
более продуктивной.Мы попытались сократить множество ссылок в тексте до минимума
для того, чтоб вы могли прочитать эту секцию Руководства с начала
до конца с минимумом перелистываний страниц.Системное АдминистрированиеОставшиеся главы Руководства охватывают все аспекты
администрирования FreeBSD системы. Каждая глава начинается с
описания того, что вы сможете изучить в результате прочтения
этой главы.Эти главы спланированы там, что вы можете прочитать их когда
вам нужно узнать какую-либо информацию. Вам не нужно читать их
в определенном порядке, и не нужно прочитать их все перед тем, как
начать пользоваться FreeBSD.Приложения
&chap.colophon;
diff --git a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
index d8bd24b6a5..c71aa7ee23 100644
--- a/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/cutting-edge/chapter.sgml
@@ -1,1963 +1,1963 @@
JimMockРеструктурирование, реорганизацию и частичное обновление
выполнил JordanHubbardОригинальный текст написал Poul-HenningKampJohnPolstraNikClaytonНа переднем крае разработокКраткий обзорМежду релизами над &os; ведется постоянная работа. Для тех,
кто хочет быть на переднем крае, есть несколько простых методов для
поддержания своей системы в соответствии с последними разработками.
Будьте осторожны — передний край не для всех! Эта глава поможет
вам решить, хотите ли вы отслеживать систему в процессе работы над ней
или останетесь верным одному из выпущенных релизов.После чтения этой главы вы будете знать:Разницу между двумя ветвями разработки: &os.stable; и
&os.current;.Как поддерживать вашу систему в актуальном состоянии при помощи
CVSup, CVS или
CTM.Как перестраивать и переустанавливать базовую систему полностью
при помощи make world.Перед чтением этой главы вы должны:Полностью настроить своё подключение к сети ().Знать, как устанавливать дополнительное программное обеспечение
других разработчиков ().&os.current; против &os.stable;-CURRENT-STABLEВо FreeBSD имеется две ветки разработки: &os.current; и &os.stable;.
Этот раздел описывает каждую из них и объясняет, как синхронизировать
вашу систему с любой из веток. Сначала будет обсуждаться ветка
&os.current;, затем &os.stable;.Как следовать текущим разработкам во &os;Пока вы читаете этот текст, помните, что &os.current; является
передовым краем работ над &os;. Предполагается, что
пользователи &os.current; технически более грамотны и могут решать
проблемы с системой самостоятельно. Если вы являетесь во &os;
новичком, вам лучше сначала дважды подумать, прежде чем
её устанавливать.Что такое &os.current;?snapshot&os.current; является последними рабочими версиями исходных
текстов &os;. Сюда включаются неоконченные работы, экспериментальные
изменения и промежуточные механизмы, которые могут присутствовать, а
могут и отсутствовать в следующем официальном релизе программного
обеспечения. Хотя многие из разработчиков &os; выполняют компиляцию
из исходных текстов &os.current; ежедневно, случаются периоды, когда
исходные тексты заведомо не могут быть откомпилированы. Такие
проблемы обычно решаются так быстро, как это возможно, но всё-таки
момент, когда вы сгрузили исходные тексты &os.current;, может
повлиять на то, содержат они мину замедленного действия или очень
нужную функциональность!Кому нужна &os.current;?&os.current; предназначается трём основным заинтересованным
группам:Члены команды разработчиков &os;, активно работающие над
некоторой частью дерева исходных текстов и для кого работа в
current является абсолютной
необходимостью.Члены команды разработчиков &os;, которые являются
активными тестерами. Они тратят свое время на
исправление проблем для того, чтобы &os.current; оставалась,
насколько это возможно, нормально работающей системой. Есть
также люди, которые вносят важные предложения по изменениям и
общему направлению развития &os; и присылают свои патчи,
реализующие эти изменения.Те, кто просто хотят быть в курсе всех изменений или
используют текущие исходные тексты для ознакомительных целей (к
примеру, для чтения, но не для
использования). Такие люди также иногда высказывают замечания
или предоставляют код.Чем &os.current; не является?Быстрым способом получить предварительную версию, в
случае, если вы услышали, что здесь появилась некая крутая
возможность, и вы хотите быть первым в вашем микрорайоне, у
кого она есть. Здесь быть первым из тех, кто имеет это
программное обеспечение означает также быть первым из тех, кто
столкнулся с ошибками в нём.Быстрым способом получения исправлений. Любая версия
&os.current; является в равной мере как источником исправлений
существующих ошибок, так и источником появления новых.Официально поддерживаемой каким бы то ни было
способом. Мы прилагаем все усилия, чтобы помочь тем, кто
изначально принадлежит одной из трех признанных
групп пользователей &os.current;, но у нас просто нет
времени на техническую поддержку. Это не потому, что
мы гадкие и злые люди, которые ни за что не будут помогать другим
(если бы это было так, мы бы не создали &os;). Мы просто не в
силах отвечать на сотни сообщений в день и
работать над FreeBSD! Если бы стоял выбор между тем, отвечать ли
на множество вопросов об экспериментально коде или продолжать
работу над совершенствованием &os;, большинство разработчиков
проголосовало бы за последнее.Использование &os.current;-CURRENTиспользованиеПодпишитесь на списки рассылки &a.current.name; и
&a.cvsall.name;. Это не просто хорошая идея, это
необходимость. Если вы не являетесь
участником списка рассылки &a.current.name;,
то вы не увидите замечаний,
высказываемых о текущем состоянии системы и в итоге можете
столкнуться со множеством проблем, которые уже были найдены и
решены другими. Ещё хуже, если вы пропустите важные сообщения,
касающиеся жизнеспособности вашей системы.Список рассылки &a.cvsall.name; позволит вам для каждого
изменения увидеть соответствующую запись в журнале коммитов,
а они порой содержат относящуюся к делу
информацию о возможных побочных эффектах.Чтобы подключиться к этим и другим доступным спискам
рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
на списке, к которому вы хотите подключиться. Инструкции по
дальнейшим действиям размещены там же.Сгрузите исходные тексты с зеркального сайта &os;. Вы можете
сделать это одним из следующих двух способов:cvsupcron-CURRENT
Синхронизация при помощи CVSupПри помощи программы cvsup
с sup-файлом
standard-supfile, который можно найти в
каталоге /usr/share/examples/cvsup. Это
наиболее
рекомендуемый метод, так как он позволяет вам сгрузить набор
исходных текстов один раз полностью, а затем сгружать только
произошедшие изменения. Многие запускают
cvsup при помощи программы
cron и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile выше и отконфигурируйте cvsup для вашего окружения.-CURRENTСинхронизация при помощи CTMПри помощи CTM. Если у вас очень
плохое подключение (дорогое или предоставляющее доступ только
к электронной почте), то CTM
можно рассматривать как вариант. Однако в нем много
"подводных камней", и его использование может
привести к появлению неправильных файлов. Это привело к
тому, что этот способ используется редко, что, в свою
очередь, увеличивает шанс появления периодов его
неработы. Мы рекомендуем использовать CVSup всем, чья скорость
подключения равна 9600 bps и выше.Если вам нужны исходные тексты для компиляции и запуска, а
не просто для ознакомления, то сгружайте исходные тексты
ветки &os.current; полностью, а не отдельные
ее части. Причиной является то, что многие части исходных
текстов зависят от других обновлений где-то еще, и попытка
компиляции лишь некоторой части программ в этом случае
гарантированно вызовет проблемы.-CURRENTкомпиляцияПеред тем, как компилировать &os.current;, внимательно
прочтите файл Makefile в каталоге
/usr/src. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение &a.current; и
/usr/src/UPDATING позволит вам быть в курсе
всех процедур, которые иногда бывают необходимы в процессе
работы над следующим релизом.Будьте активным подписчиком! Если вы работаете с
&os.current;, мы хотим знать, что вы думаете о ней, особенно
если у вас есть соображения по ее улучшению или исправлению
ошибок. Пожелания, к которым прилагается код, всегда
принимаются с большим энтузиазмом!Работа с веткой stable во &os;Что такое &os.stable;?-STABLE&os.stable; является нашей веткой разработки, из которой делаются
основные релизы. Изменения в этой ветке происходят с разной
скоростью, и при этом предполагается, что сначала они были выполнены
для &os.current; в целях тестирования. Однако эта ветка
остаётся веткой для разработки, а это значит,
что в любой момент времени исходные тексты &os.stable; могут
оказаться неприменимы для некоторой задачи. Это просто ещё одна
ветка при разработке, а не ресурс для конечных пользователей.Кому нужна &os.stable;?Если вы заинтересованы в отслеживании процесса разработки FreeBSD
или хотите принять в нём участие, особенно в той мере, насколько это
касается выпуска следующего релиза FreeBSD с точкой, то
вам необходимо отслеживать &os.stable;.Хотя правда то, что исправления, касающиеся безопасности, также
делаются и в ветке &os.stable;, вам не нужно
для этого отслеживать &os.stable;. Каждый бюллетень по безопасности
FreeBSD описывает, как решить проблему для тех релизов, которых он
касается
Это не совсем так. Мы не можем поддерживать старые релизы
FreeBSD бесконечно долго, хотя мы поддерживаем их многие годы.
Полное описание текущей политики безопасности относительно
старых релизов FreeBSD можно найти по адресу
- http://www.FreeBSD.org/security/.
+ url="&url.main;/ru/security/index.html">
+ http://www.FreeBSD.org/ru/security/.
, а отслеживание ветки разработки в полном объёме только ради
исправлений пробелов в безопасности приводит к появлению большого
количества дополнительных ненужных изменений.
Хотя мы прилагаем все усилия, чтобы ветка &os.stable; всегда
компилировалась и работала, этого нельзя гарантировать. Кроме того,
несмотря на то, что перед включением в &os.stable;, код
разрабатывается в &os.current;, гораздо большее количество людей
работают с &os.stable;, чем с &os.current;. Поэтому неудивительно,
что в &os.stable; иногда
обнаруживаются ошибки и всплывают непредвиденные ситуации, которые не
проявляли себя в &os.current;.По этим причинам мы не рекомендуем слепо
отслеживать &os.stable;, и, что особенно важно, вы не должны
обновлять какие-либо сервера, находящиеся в активной эксплуатации, до
&os.stable; без предварительного тщательного тестирования кода в
вашей среде разработки.Если у вас нет возможности сделать это, то мы рекомендуем
работать с самой последним релизом &os; и использовать механизм
обновления бинарных файлов для перехода от релиза к релизу.Использование &os.stable;-STABLEиспользованиеПодпишитесь на список рассылки &a.stable.name;. Это позволит
вам узнавать о зависимостях процесса компиляции,
которые могут появиться в ветке &os.stable; или
любых других проблемах, требующих особого внимания. В этом
списке рассылки разработчики также делают объявления о
спорных исправлениях или добавлениях,
давая пользователям возможность высказать свое мнение о
возможных тонких моментах.Список рассылки &a.cvsall.name; позволит вам для каждого
изменения увидеть соответствующую запись в журнале коммитов,
а они порой содержат относящуюся к делу
информацию о возможных побочных эффектах.Чтобы подключиться к этим и другим доступным спискам
рассылки, перейдите по ссылке &a.mailman.lists.link; и щёлкните
на списке, к которому вы хотите подключиться. Инструкции по
дальнейшим действиям размещены там же.Если вы устанавливаете новую систему и хотите, чтобы она
работала максимально стабильно, то можете просто сгрузить
самый свежий снэпшот ветки по адресу и установить его, как любой другой релиз. Либо вы
можете установить самый последний релиз &os.stable;, сгрузив его
с зеркалирующих сайтов, а затем
следовать инструкциям ниже по обновлению исходных текстов вашей
системы до самой последней версии &os.stable;.Если вы уже работаете с предыдущим релизом &os; и хотите
обновить его из исходных текстов, то вы можете легко это
сделать с зеркального сайта &os;.
Это можно сделать одним из двух способов:cvsupcron-STABLE
Синхронизация при помощи CVSupПри помощи программы cvsup
с sup-файлом
stable-supfile из каталога
/usr/share/examples/cvsup.
Это наиболее рекомендуемый
метод, так как он позволяет вам сгрузить набор исходных
текстов один раз полностью, а затем сгружать только
произошедшие изменения. Многие запускают
cvsup при помощи программы
cron и получают самые свежие исходные
тексты автоматически. Измените примерный файл
supfile выше и отконфигурируйте cvsup для вашего окружения.-STABLEсинхронизация при помощи CTMПри помощи CTM. Если у вас нет
быстрого и недорогого подключения к Интернет, то это как раз
тот метод, которым вы должны воспользоваться.Итак, если вам нужен быстрый доступ к
исходным текстам и нагрузка на каналы связи для вас не
проблема, то используйте cvsup
или ftp. В противном случае воспользуйтесь
CTM.-STABLEкомпиляцияПеред тем, как компилировать &os.stable;, внимательно
прочтите файл Makefile в каталоге
/usr/src. В процессе обновления вы
по крайней мере раз должны пройти через установку нового ядра и перестроение всех
компонентов системы. Чтение &a.stable; и
/usr/src/UPDATING
позволит вам быть в курсе всех процедур,
которые иногда бывают необходимы при переходе к следующему
релизу.Синхронизация ваших исходных текстовИмеются различные способы использования Интернет (или почтового)
подключения для того, чтобы иметь самые последние версии исходных
текстов любого проекта &os;, в зависимости от
того, чем вы интересуетесь. Основной сервис, который мы предлагаем,
это Анонимный CVS, CVSup и CTM.Хотя имеется возможностью обновлять только часть дерева исходных
текстов, процедурой, которую мы настоятельно советуем, является обновление всего
дерева и перекомпиляция пользовательских программ (то есть тех,
которые работают в пространстве имен пользователя, например те, что
находятся в каталогах /bin и
/sbin) и ядра. Обновление только части дерева
исходных текстов, только текстов ядра или только текстов
пользовательских программ часто приводит к возникновению проблем. Эти
проблемы могут варьироваться от ошибок компиляции до аварийных
остановов системы или порчи данных.анонимный CVSАнонимный CVS и
CVSup используют модель
pull обновления исходных текстов. В случае
CVSup пользователь (или скрипт программы
cron) вызывают cvsup, а она
работает с каким-либо сервером cvsupd, чтобы
выполнить обновление ваших
файлов. Обновления, которые вы получаете, актуальны с точностью до
минуты, и вы получаете их тогда и только тогда, когда сами захотите.
Вы можете с легкостью ограничить обновления конкретными файлами
или каталогами, которые представляют для вас интерес. Обновления
создаются на лету сервером согласно тому, что у вас есть и что вы
хотите иметь. Анонимный CVS гораздо проще,
чем CVSup в том смысле, что он представляет
собой всего лишь расширение
CVS, позволяющее сгрузить изменения
непосредственно с удаленного хранилища CVS.
CVSup может делать это гораздо более
эффективно, однако анонимным CVS легче
пользоваться.CTMCTM, с другой стороны, не сравнивает
последовательно исходные тексты, имеющиеся у вас, с теми, что
находятся в главном архиве и вообще ни коим образом не касается наших
серверов. Вместо этого несколько раз в день на главной машине CTM
запускается скрипт, находящий изменения в файлах с момента
своего предыдущего запуска; все замеченные изменения сжимаются,
помечаются последовательным номером и кодируются для передачи по
электронной почте (в форме печатаемых символов ASCII).
После получения эти дельта-файлы CTM могут быть
переданы утилите &man.ctm.rmail.1;, которая осуществит автоматическое
декодирование, проверку и применение изменений к пользовательской
копии исходных текстов. Этот процесс гораздо более эффективен, чем
CVSup, и требует меньше ресурсов нашего
сервера, так как он сделан по модели push, а не
pull.Несомненно, есть и минусы. Если вы случайно уничтожили
часть вашего архива, то CVSup обнаружит
и сгрузит поврежденную часть. CTM этого
делать не будет, и если вы уничтожили какую-то часть вашего дерева
исходных текстов (и у вас нет архивной копии), то вам нужно будет
начать с самого начала (с последнего базового
дельта-файла), перестроив всё с помощью
CTM, или, используя анонимный
CVS, просто удалить повреждённую часть и
пересинхронизироваться.Использование make worldmake worldПосле того, как вы синхронизировали ваше локальное дерево
исходных текстов с некоторой версией &os;
(&os.stable;, &os.current; и так далее),
то можете использовать эти исходные тексты для перестроения
системы.Создайте резервную копиюНевозможно переоценить важность создания резервной
копии вашей системы до того, как вы будете
это делать. Хотя перестроение системы (пока вы следуете этим
инструкциям) является простой задачей, вы всегда можете допустить
ошибку, или ошибка может оказаться в исходных текстах, что может
привести к тому, что система перестанет загружаться.Обязательно сделайте резервную копию. И держите под рукой
аварийную (fixit) дискету. Может быть, вам никогда не приходилось ими
пользоваться, но, постучав по дереву, всегда лучше подготовиться, чем
потом сожалеть.Подпишитесь на соответствующий список рассылкисписок рассылкиВетки &os.stable; и &os.current; кода по природе своей являются
изменяющимися. В разработке &os; участвуют
люди, и время от времени случаются ошибки.Иногда эти ошибки достаточно безобидны и приводят к выводу
нового диагностического сообщения. Бывает, что изменение оказывается
катастрофическим, и система не может загрузиться или разрушаются
файловые системы (или что-нибудь ещё хуже).Если возникают подобные проблемы, в соответствующем списке
рассылки публикуется сообщение heads up, в котором
описывается природа проблемы и затрагиваемые системы. Когда проблема
решается, публикуется сообщение all clear.Если вы пытаетесь отслеживать &os.stable; или &os.current; и не
читаете списки рассылки &a.stable; или &a.current; соответственно, то
вы напрашиваетесь на неприятности.Канонический способ обновления вашей системыДля обновления вашей системы вы должны воспользоваться следующей
процедурой:&prompt.root; make buildworld
&prompt.root; make buildkernel
&prompt.root; make installkernel
&prompt.root; rebootВы должны загрузиться в однопользовательский режим (например, по
команде boot -s из приглашения загрузчика). Затем
выполните:&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; rebootВы должны загрузиться в однопользовательский режим (например, по
команде boot -s из приглашения загрузчика). Затем
выполните:&prompt.root; mergemaster -p
&prompt.root; make installworld
&prompt.root; mergemaster
&prompt.root; rebootПрочтите более полное описаниеОписанная выше последовательность является только краткой
выжимкой для того, чтобы помочь вам начать. Вы должны всё же
прочесть последующие разделы для полного понимания каждого шага,
особенно если собираетесь использовать собственную конфигурацию
ядра.Прочтите /usr/src/UPDATINGПеред тем, как делать что-либо, прочтите
/usr/src/UPDATING (или соответствующий файл
в вашей копии исходных текстов). В этом файле
содержится важная информация о проблемах, с которыми вы можете
столкнуться, или указан порядок, в котором вы должны запускать
определенные команды. Если в файле UPDATING
написано нечто, противоречащее тому, что вы здесь читаете, то
нужно следовать указаниям в UPDATING.Чтение UPDATING не заменит подписки на
соответствующий список рассылки, как это и описано выше. Эти два
условия являются дополняющими, а не взаимоисключающими друг
друга.Проверьте содержимое /etc/make.confmake.confПросмотрите файлы /etc/defaults/make.conf и
/etc/make.conf. Первый содержит некоторые
предопределенные по умолчанию значения – большинство из них
закомментировано. Чтобы воспользоваться ими при перестроении системы
из исходных текстов, добавьте их в файл
/etc/make.conf. Имейте в виду, что все,
добавляемое вами в /etc/make.conf, используется
также каждый раз при запуске команды make, так что
полезно задать здесь значения, подходящие вашей системе.Вероятно стоит скопировать строки
CFLAGS и NOPROFILE,
расположенные в /etc/defaults/make.conf, в файл
/etc/make.conf и раскомментировать их.Посмотрите на другие определения (COPTFLAGS,
NOPORTDOCS и так далее) и решите, нужны ли они
вам.Обновите файлы в каталоге /etcКаталог /etc содержит значительную часть
информации о конфигурации вашей системы, а также скрипты, работающие
в начале работы системы. Некоторые из этих скриптов меняются от
версии к версии &os;.Некоторые конфигурационные файлы также используются в ежедневной
работе системы. В частности, файл
/etc/group.Случалось, что установочная часть make world
ожидала существования определённых имен пользователей или групп. При
обновлении существует вероятность, что эти пользователи или группы не
существуют. Это вызывает проблемы при обновлении.Свежим примером этого является добавление пользователя
smmsp. Пользователи столкнулись с прерыванием
процесса установки, когда &man.mtree.8; пыталась
создать /var/spool/clientmqueue.Выходом является просмотр файла
/usr/src/etc/group и сравнение списка групп в
нем с вашим собственным. Если в новом файле есть группы,
отсутствующие в вашем, то скопируйте их. Таким же образом вы должны
переименовывать все группы в /etc/group, которые
имеют тот же самый GID, но другое название в
/usr/src/etc/group.Начиная с 4.6-RELEASE, вы можете запустить &man.mergemaster.8; в
режиме, предваряющем построение системы, задаваемым опцией
. Она будет сравнивать только те файлы, которые
необходимы для успешного выполнения целей
buildworld или
installworld. Если ваша старая версия
утилиты mergemaster не поддерживает опцию
, воспользуйтесь новой версией из дерева исходных
текстов при первом запуске:&prompt.root; cd /usr/src/usr.sbin/mergemaster
&prompt.root; ./mergemaster.sh -pЕсли вы параноик, можете поискать файлы, владельцем которых
является та группа, которую вы переименовываете или удаляете:&prompt.root; find / -group GID -printвыдаст список всех файлов, владельцем которых является группа
GID (задаваемая именем или
численным значением ID).Перейдите в однопользовательский режимоднопользовательский режимВам может понадобиться откомпилировать систему в
однопользовательском режиме. Кроме обычного выигрыша в
скорости процесса, переустановка системы затрагивает много важных
системных файлов, все стандартные выполнимые файлы системы,
библиотеки, include-файлы и так далее. Изменение их на работающей
системе (в частности, в которой активно работают пользователи) может
привести к неприятностям.многопользовательский режимДругим способом является компиляция системы в многопользовательском
режиме с последующим переходом в однопользовательский режим для
выполнения установки. Если вы хотите поступить именно так, просто
следуйте инструкциям до момента окончания построения. Вы можете
отложить переход в однопользовательский режим до завершения целей
installkernel или
installworld.Как администратор, вы можете выполнить:&prompt.root; shutdown nowна работающей системе, что переведет ее в однопользовательский
режим.Либо вы можете выполнить перезагрузку и в приглашении загрузчика
задать флаг . После этого система загрузится в
однопользовательском режиме. В приглашении командного процессора вы
должны запустить:&prompt.root; fsck -p
&prompt.root; mount -u /
&prompt.root; mount -a -t ufs
&prompt.root; swapon -aЭти команды выполняют проверку файловых систем, повторно монтируют
/ в режиме чтения/записи, монтируют все
остальные файловые системы UFS, перечисленные в файле
/etc/fstab и включат подкачку.Если часы в вашей CMOS настроены на местное время, а не на GMT
(это имеет место, если команда &man.date.1; выдаёт
неправильные время и зону), то вам может понадобиться запустить
следующую команду:&prompt.root; adjkerntz -iЭто обеспечит корректную настройку местного часового пояса
— без этого впоследствии вы можете столкнуться с некоторыми
проблемами.Удалите /usr/objПри перестроении частей системы они помещаются в каталоги,
которые (по умолчанию) находятся в /usr/obj.
Структура повторяет структуру /usr/src.Вы можете ускорить выполнение процесса make world
и, возможно, избавить себя от некоторой головной боли, связанной с
зависимостями, удалив этот каталог.На некоторых файлах из /usr/obj могут быть
установлены специальные флаги (обратитесь к &man.chflags.1; за
дополнительной информацией), которые сначала должны быть
сняты.
&prompt.root; cd /usr/obj
&prompt.root; chflags -R noschg *
&prompt.root; rm -rf *Перекомпилируйте исходные текстыСохраните выводНеплохо сохранить вывод, получаемый при работе программы
&man.make.1;, в файл. Если что-то вдруг пойдет не так, вы будете
иметь копию сообщения об ошибке и полную картину того, где она
произошла. Хотя это может и не помочь в определении причин
происходящего, это может помочь другим, если вы опишите вашу
проблему в одном из списков рассылки &os;.Проще всего это сделать при помощи команды &man.script.1; с
параметром, в котором указано имя файла, в который нужно сохранить
вывод. Вы должны сделать это непосредственно перед тем, как
перестроить систему, а по окончании процесса набрать
exit.
&prompt.root; script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
&prompt.root; make world… compile, compile, compile …
&prompt.root; exit
Script done, …
Если вы делаете это, не сохраняйте
вывод в /tmp. Этот каталог может быть
очищен при следующей перезагрузке. Лучше сохранить его в
/var/tmp (как в предыдущем примере) или в
домашнем каталоге пользователя root.Компиляция базовых компонентов системыВы должны находиться в каталоге
/usr/src:&prompt.root; cd /usr/src(если, конечно, ваш исходный код не находится в другом месте, в
случае чего вам нужно перейти в соответствующий каталог).makeДля полного перестроения системы используется
команда &man.make.1;. Эта команда читает инструкции из файла
Makefile, описывающего, как должны быть
перестроены программы, которые составляют систему &os;, в каком
порядке они должны быть построены и так далее.Общий формат командной строки, которую вы будет набирать,
таков:&prompt.root; make -x -DVARIABLEtargetВ этом примере
является параметром, который вы передаете в &man.make.1;.
Обратитесь к справочной странице программы &man.make.1;, которая
содержит список возможных параметров.
передает переменную в Makefile. Поведение
Makefile определяется этими переменными. Это
те же самые переменные, которые задаются в
/etc/make.conf, и это — еще один способ
их задания.&prompt.root; make -DNOPROFILE=true targetявляется другим способом указания того, что библиотеки для
профилирования строить не нужно, и соответствует строкеNOPROFILE= true # Обход построения библиотек для профилированияв файле /etc/make.conf.target указывает программе
&man.make.1; на то, что вы хотите сделать. Каждый файл
Makefile определяет некоторое количество
различных целей, и ваш выбор цели определяет то, что
будет делаться.Некоторые цели, перечисленные в файле
Makefile, не предназначены для вызова. Просто
они используются в процессе построения для разбиения его на этапы.В большинстве случаев вам не нужно передавать никаких
параметров в &man.make.1;, так что ваша команда будет выглядеть
примерно так:
&prompt.root; make targetНачиная с версии &os; 2.2.5 (на самом деле впервые это было
сделано в ветке &os.current;, а затем адаптировано в &os.stable;
где-то между 2.2.2 и 2.2.5) цель world была
разделена на две: buildworld и
installworld.Как указывают на это названия,
buildworld строит полностью новое дерево
в каталоге /usr/obj, а
installworld устанавливает это дерево на
используемой машине.Это весьма полезно по двум причинам. Во-первых, это позволяет
вам безопасно строить систему, зная, что компоненты вашей рабочей
системы затронуты не будут. Построение
самодостаточно. По этой причине вы можете спокойно
запустить buildworld на машине, работающей в
многопользовательском режиме без опаски получить какие-либо проблемы.
Но всё же рекомендуется запускать цель
installworld в однопользовательском
режиме.Во-вторых, это позволяет вам использовать монтирование по NFS для
обновления многих машин в сети. Если у вас есть три машины,
A, B и C, которые
вы хотите обновить, запустите make buildworld и
make installworld на машине A.
Хосты B и C должны будут
затем смонтировать по NFS каталоги /usr/src
и /usr/obj с машины A, и вы
сможете запустить make installworld для установки
результатов построения на машинах B и
C.Хотя цель world всё ещё имеется в
наличии, вам настоятельно рекомендуется не пользоваться ею.Выполните&prompt.root; make buildworldВ настоящее время имеется возможность задавать команде
make параметр , который
приводит к запуску нескольких одновременно работающих процессов.
Наиболее полезно использовать это на многопроцессорных машинах.
Однако, так как процесс компиляции больше всего требователен к
подсистеме ввода/вывода, а не к производительности процессора, это
можно использовать и на машинах с одним процессором.На типичной машине с одним CPU вы должны запускать:
&prompt.root; make -j4 buildworld&man.make.1; будет иметь до 4 одновременно работающих
процессов. Эмпирические замеры, опубликованные как-то в списке рассылки,
показывают, что в среднем это дает наибольшее увеличение
производительности.Если у вас многопроцессорная машина и вы используете ядро с
настройками для SMP, попробуйте использовать значения между 6 и
10 и посмотрите, как это отразится на скорости работы.Имейте в виду, что это все еще экспериментальная возможность, и
изменения в дереве исходных текстов иногда могут быть не
совместимы с параллельной сборкой. Если
система не может быть построена с использованием этого параметра,
попробуйте еще раз без него перед тем, как сообщать о
проблемах.Время на построениеmake worldзатраченное времяНа время компиляции влияет множество факторов, но на данный
момент &pentium; III частотой 500 МГц и 128 МБ ОЗУ
справляется с построением дерева &os.stable; примерно за 2 часа
без дополнительных хитростей и убыстряющих процесс уловок. Дерево
&os.current; строится несколько дольше.Откомпилируйте и установите новое ядроядрокомпиляцияЧтобы получить полную отдачу от вашей новой системы, вы должны
перекомпилировать ядро. Это практически необходимость, так как
отдельные структуры в памяти могут меняться, и программы типа
&man.ps.1; и &man.top.1; не будут работать, пока версии ядра и
исходных текстов системы не будут совпадать.Самым простым и надежным способом сделать это является компиляция и
установка ядра на основе GENERIC. Хотя в
GENERIC могут оказаться не все необходимые для
работы вашей системы устройства, в нем имеется все необходимое
для перезагрузки вашей системы обратно в однопользовательский режим.
Это является хорошей проверкой на правильность работы новой системы.
После загрузки с ядром GENERIC и проверки
работоспособности системы вы можете построить новое ядро на основе
вашего обычного конфигурационного файла ядра.Если вы обновляете систему до &os; 4.0 и выше, то старая
процедура построения ядра (как это описано в ) не подходит. Вместо этого вы должны выполнить
следующие команды после того, как перестроили систему командой
buildworld.Если вы хотите построить собственное ядро и уже подготовили файл
конфигурации, просто используйте
KERNCONF=MYKERNEL
следующим образом:&prompt.root; cd /usr/src
&prompt.root; make buildkernel KERNCONF=MYKERNEL
&prompt.root; make installkernel KERNCONF=MYKERNELДля FreeBSD 4.2 и более старых версиях вы должны заменять
KERNCONF= на KERNEL=.
4.2-STABLE, сгруженная до 2 февраля 2001 года, не распознаёт
KERNCONF=.Заметьте, что, если вы установили
kern.securelevel в значение, превышающее 1,
и установили флаг noschg или
подобный на бинарный файл ядра, то вы будете вынуждены перейти в
однопользовательский режим для того, чтобы воспользоваться
installkernel. В противном случае вы
должны выполнять эти команды без проблем. Обратитесь к справочным
страницам об &man.init.8; для получения подробной информации о
kern.securelevel и &man.chflags.1; для получения
информации о различных флагах файлов.Если вы производите обновление до версии &os; ниже 4.0, то нужно
использовать старую процедуру построения ядра. Однако
рекомендуется использовать новую версию программы &man.config.8; со
следующей командной строкой.
&prompt.root; /usr/obj/usr/src/usr.sbin/config/configKERNELNAMEПерезагрузитесь в однопользовательский режимоднопользовательский режимДля проверки работоспособности ядра вы должны перезагрузить систему
и перейти в однопользовательский режим. Сделайте это, следуя указаниям
в .Установите новые версии системных программЕсли вы компилировали достаточно свежую версию &os;, в которой
имеется команда make buildworld, то для установки
новых версий программ вы должны теперь выполнить команду
installworld.Запустите&prompt.root; cd /usr/src
&prompt.root; make installworldЕсли при выполнении команды make buildworld вы
задавали значения каких-либо переменных, то при выполнении
make installworld вы должны задать те же самые
переменные. Это не всегда так для остальных параметров; например,
при выполнении installworld никогда не
должен использоваться параметр .Например, если вы выполняли команду:&prompt.root; make -DNOPROFILE buildworldто результат её выполнения должен устанавливаться командой&prompt.root; make -DNOPROFILE installworldВ противном случае будет делаться попытка установить библиотеки
для профилирования, которые не компилировались на этапе выполнения
команды make buildworld.Обновите файлы, не обновленные по команде
make worldПри перестроении системы не будут обновляться некоторые каталоги
(в частности, /etc, /var и
/usr) с конфигурационными
файлами.Самым простым способом обновить такие файлы является запуск
утилиты &man.mergemaster.8;, хотя можно сделать это и вручную, если вам
так больше нравится. Вне зависимости от выбранного вами способа
обязательно сделайте резервную копию каталога /etc
на случай, если произойдёт что-то непредвиденное.TomRhodesТекст предоставил mergemastermergemasterУтилита &man.mergemaster.8; является скриптом для оболочки Боурна,
которая поможет вам в определении разницы между вашими
конфигурационными файлами в каталоге /etc и
конфигурационными файлами из дерева исходных текстов
/usr/src/etc. Это является рекомендуемым
способом синхронизации системных конфигурационных файлов с теми, что
размещены в дереве исходных текстов.mergemaster была интегрирована в базовый
комплект системы FreeBSD между выпусками 3.3-RELEASE и 3.4-RELEASE,
что означает её наличие во всех системах -STABLE и -CURRENT, начиная с
3.3.Для начала просто наберите mergemaster в
приглашении командной строки и посмотрите, что происходит.
mergemaster построит временное окружение для
пользователя root, начиная от /, а затем
заполнит его различными системными конфигурационными файлами. Эти
файлы затем будут сравниваться с теми, что установлены в вашей
системе. В этот момент файлы, которые имеют отличия, будут выданы в
формате &man.diff.1;, где знак будет означать
добавленные или изменённые строки, а знак будет
означать строки, которые были либо полностью удалены, либо заменены
на новые. Обратитесь к страницам справочной системы по команде
&man.diff.1; для получения более полной информации о синтаксисе
команды &man.diff.1; и формате выдачи отличий в файлах.Затем &man.mergemaster.8; выдаст вам каждый файл, в котором есть
изменения, и в этот момент у вас есть возможность либо удалить новый
файл (который будем считать временным), установить временный файл в
его неизменённом виде, объединить временный файл с установленным на
данный момент, либо просмотреть выдачу &man.diff.1; ещё раз.Выбор удаления временного файла укажет &man.mergemaster.8; на то,
что мы хотим оставить наш текущий файл без изменений и удалить его
новую версию. Делать это не рекомендуется, если только
у вас нет причин вносить изменения в текущий файл. Вы можете
получить помощь в любое время, набрав ? в
приглашении &man.mergemaster.8;. Если пользователь выбирает пропуск
файла, запрос появится снова после того, как будут обработаны все
остальные файлы.Выбор установки немодифицированного временного файла приведёт к
замене текущего файла новым. Для большинства немодифицированных
файлов это является подходящим вариантом.Выбор варианта с объединением файла приведёт к вызову текстового
редактора, содержащего текст обоих файлов. Теперь вы можете
объединить их, просматривая оба файла на экране, и выбирая те части
из обоих, что подходят для окончательного варианта. Когда файлы
сравниваются на экране, то нажатие l выбирает
содержимое слева, а нажатие r выбирает содержимое
справа. В окончательном варианте будет файл, состоящий из обеих
частей, который и будет установлен. Этот вариант используется для
файлов, настройки в которых изменялись пользователем.Выбор повторного просмотра &man.diff.1;-разниц выдаст вам разницы
между файлами, как это делала утилита &man.mergemaster.8; до того,
как запросила вас о выборе.После того, как утилита &man.mergemaster.8; закончит работу с
системными файлами, она выдаст запрос относительно других параметров.
&man.mergemaster.8; может запросить вас относительно перестроения
файла паролей и/или запуска &man.MAKEDEV.8; при использовании FreeBSD
версий, меньших чем 5.0, и завершит запросом на удаление оставшихся
временных файлов.Обновление в ручном режимеОднако если вы хотите произвести обновление вручную, то вы не
можете просто скопировать файлы из /usr/src/etc в
/etc и получить работающую систему. Некоторые
из этих файлов сначала нужно установить. Это нужно
потому, что каталог /usr/src/etcне является копией того, что должен содержать
ваш каталог /etc. Кроме того, есть файлы,
которые должны присутствовать в /etc, но которых
нет в /usr/src/etc.Если вы используете &man.mergemaster.8; (как это рекомендуется),
то вы можете перейти сразу к следующему
разделу.Вручную проще всего сделать это, установив файлы в новый каталог,
а затем пройтись по ним, отмечая разницу.Сделайте резервную копию вашего каталога
/etcХотя, в теории, никаких автоматических действий с этим
каталогом не производится,
всегда лучше чувствовать себя уверенным. Так что скопируйте
имеющийся каталог /etc в какое-нибудь
безопасное место. Запустите что-то вроде:&prompt.root; cp -Rp /etc /etc.old задает выполнение рекурсивного копирования,
а сохраняет даты, владельца файлов и тому
подобное.Вам нужно создать шаблонную структуру каталогов для установки
нового содержимого /etc и других файлов.
Подходящим местом является /var/tmp/root, и в нём
потребуется разместить некоторое количество подкаталогов.&prompt.root; mkdir /var/tmp/root
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root distrib-dirs distributionЭти команды приведут к созданию нужной структуры каталогов и
установке файлов. Множество каталогов, созданных в
/var/tmp/root, будут пустыми и должны быть удалены.
Проще всего сделать это так:&prompt.root; cd /var/tmp/root
&prompt.root; find -d . -type d | xargs rmdir 2>/dev/nullЭти команды удалят все пустые каталоги. (Стандартный поток
диагностических сообщений перенаправляется в
/dev/null для исключения предупреждений о
непустых каталогах.)Теперь /var/tmp/root содержит все файлы,
которые должны быть помещены в соответствующие места в
/. Теперь пройдитесь по каждому их этих файлов
и определите, чем они отличаются от имеющихся у вас файлов.Заметьте, что некоторые из файлов, которые были установлены в
каталог /var/tmp/root, имеют первым символом
.. На момент написания единственными такими файлами
являлись файлы начальных скриптов командных процессоров в
/var/tmp/root/ и
/var/tmp/root/root/, хотя могут быть и другие
(зависит от того, когда вы это читаете). Обязательно пользуйтесь
командой ls -a, чтобы выявить их.Проще всего сделать это путём сравнения двух файлов при помощи
команды &man.diff.1;:&prompt.root; diff /etc/shells /var/tmp/root/etc/shellsЭта команда покажет разницу между вашим файлом
/etc/shells и новым файлом
/var/tmp/root/etc/shells. Используйте это для
определения того, переносить ли сделанные вами изменения или
скопировать поверх вашего старого файла.Называйте новый корневой каталог
(/var/tmp/root) по дате, чтобы вы смогли легко
выявить разницу между версиямиЧастое перестроение системы означает также и частое обновление
/etc, которое может быть несколько
обременительным.Вы можете ускорить этот процесс, сохраняя копию последнего
набора измененных файлов, которые вы перенесли в
/etc. Следующая процедура подаст вам одну
идею о том, как это сделать.Выполните перестроение системы обычным образом. Когда вы
вам потребуется обновить /etc и другие
каталоги, дайте целевому каталогу имя на основе текущей даты.
Если вы делаете это 14 февраля 1998 года, то вы можете сделать
следующее:&prompt.root; mkdir /var/tmp/root-19980214
&prompt.root; cd /usr/src/etc
&prompt.root; make DESTDIR=/var/tmp/root-19980214 \
distrib-dirs distributionПеренесите изменение из этого каталога, как это описано
выше.Не удаляйте каталог
/var/tmp/root-19980214 после окончания
этого процесса.Когда вы сгрузите самую последнюю версию исходного кода и
перестроите систему, выполните шаг 1. Это даст вам новый
каталог, который может называться
/var/tmp/root-19980221 (если вы ждете
неделю между обновлениями).Теперь вы можете видеть изменения, которые были сделаны
за прошедшую неделю, выполнив при помощи команды &man.diff.1;
рекурсивное сравнение двух каталогов:&prompt.root; cd /var/tmp
&prompt.root; diff -r root-19980214 root-19980221Как правило, здесь содержится гораздо меньше отличий, чем
между каталогами
/var/tmp/root-19980221/etc и
/etc. Так как отличий меньше, то и легче
перенести эти изменения в ваш каталог
/etc.Теперь вы можете удалить более старый из двух каталогов
/var/tmp/root-*:&prompt.root; rm -rf /var/tmp/root-19980214Повторяйте этот процесс всякий раз, когда вам нужно
перенести изменения в каталог /etc.Для автоматической генерации имён каталогов можно
использовать команду &man.date.1;:&prompt.root; mkdir /var/tmp/root-`date "+%Y%m%d"`Обновите /devDEVFSЕсли вы работаете с FreeBSD 5.0 или более поздними версиями,
то можете спокойно пропустить этот раздел. В этих версиях
&man.devfs.5; используется для выделения файлов устройств в режиме,
прозрачном для пользователя.Если вы используете DEVFS, то этого можно не делать.В большинстве случаев утилита &man.mergemaster.8; обнаружит, что
необходимо обновить файлы устройств, и предложит сделать это
автоматически. Эти указания описывают, как обновить файлы устройств
вручную.Для безопасности этот процесс делается в несколько шагов.Скопируйте /var/tmp/root/dev/MAKEDEV в
/dev:&prompt.root; cp /var/tmp/root/dev/MAKEDEV /devMAKEDEVЕсли вы использовали &man.mergemaster.8; для обновления
/etc, то ваш скрипт
MAKEDEV уже должен быть обновлен, так что
его не нужно проверять (утилитой &man.diff.1;) и копировать
вручную в случае необходимости.Теперь выведите текущее содержимое вашего каталога
/dev. Этот список должен содержать права,
владельцев, старшее и младшее числа каждого файла, но не должен
содержать информацию о времени. Проще всего это сделать,
отрезав при помощи &man.awk.1; часть информации:&prompt.root; cd /dev
&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.outПовторно создайте все файлы устройств:&prompt.root; sh MAKEDEV allСоздайте ещё один список содержимого каталога, на этот раз в
/var/tmp/dev2.out. Теперь просмотрите оба эти
файла и поищите файлы устройств, которые вы забыли создать. Таких
быть не должно, но лишний раз удостовериться не помешает.&prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.outСкорее всего, вы заметите разногласия в именовании дисковых
слайсов, что решается такими командами, как:&prompt.root; sh MAKEDEV sd0s1для повторного создания устройств слайсов. Точное название
зависит от вашей системы и может отличаться от приведённого.Обновите /standЭтот шаг описан только для полноты. Он может быть
безболезненно опущен. Если вы работаете с FreeBSD 5.2 или
более поздней версией, то для пользователей каталог
/rescue автоматически обновляется до текущего
состояния, а статически компилируемые выполнимые файлы во время
выполнения команды make installworld, поэтому
каталог /stand обновлять не нужно.В целях полноты обновления вам может потребоваться обновить также
файлы в каталоге /stand. Эти файлы представляют
собой жёсткие ссылки на выполнимый файл
/stand/sysinstall. Этот файл должен быть
статически скомпонован, чтобы его работа не зависела от других
файловых систем (в частности, от наличия смонтированной файловой
системы /usr).&prompt.root; cd /usr/src/release/sysinstall
&prompt.root; make all installПерезагрузкаТеперь вы сделали всё. После того, как вы проверили, что всё
на месте, можете перегрузить систему. Простая команда
&man.shutdown.8; должна это сделать:&prompt.root; shutdown -r nowЗавершениеТеперь у вас имеется успешно обновлённая система &os;.
Поздравляем!Если что-то работает неправильно, можно с лёгкостью перестроить
конкретную часть системы. Например, если вы случайно удалили файл
/etc/magic в процессе обновления или переноса
/etc, то команда &man.file.1; перестанет работать.
В таком случае это можно исправить вот так:&prompt.root; cd /usr/src/usr.bin/file
&prompt.root; make all installВопросы?Нужно ли полностью перестраивать систему при каждом
изменении?Простого ответа на этот вопрос нет, так как это зависит от
характера изменения. Например, если вы только что выполнили
CVSup, и оказалось, что с момента
последнего его запуска были изменены следующие файлы:src/games/cribbage/instr.csrc/games/sail/pl_main.csrc/release/sysinstall/config.csrc/release/sysinstall/media.csrc/share/mk/bsd.port.mkто перестраивать всю систему незачем. Вы можете просто
перейти в соответствующий подкаталог и выдать команду
make all install, этого будет достаточно.
Однако, если меняется что-то важное, например,
src/lib/libc/stdlib, то вы должны
перестроить всю систему или по крайней мере те ее части, которые
скомпонованы статически.В конце концов, выбор за вами. Может быть вам нравится
перестраивать систему, скажем, каждый вечер, а изменения
скачивать ночью. Или вы можете захотеть перестраивать только
те вещи, которые менялись, но быть уверенным, что отслежены все
изменения.И, конечно же, всё это зависит от того, как часто вы хотите
делать обновление, и отслеживаете ли вы &os.stable; или
&os.current;.Компиляция прерывается с большим количеством ошибок по
сигналу 11 (или с другим номером сигнала). Что
случилось?сигнал 11Как правило, это говорит о проблемах с оборудованием.
(Пере)построение системы является эффективным стресс-тестом для
вашего оборудования и частенько выявляет проблемы с памятью.
Обычно это проявляется в виде неожиданных сбоев компилятора
или получения странных программных сигналов.Явным указателем на это является то, что при перезапуске
процедуры построения она прекращается в различные моменты
времени.В этом случае вы мало что можете сделать, разве что
попробовать заменить комплектующие вашей машины для определения
сбоящей компоненты.Могу ли я удалить каталог /usr/obj
после окончания?Если отвечать коротко, то да.Каталог /usr/obj содержит все
объектные файлы, которые создаются во время фазы компиляции.
Обычно одним из первых шагов в процессе make world
является удаление этого каталога. В этом случае сохранение
/usr/obj после окончания имеет мало смысла;
вдобавок, он будет занимать большой объём дискового
пространства (на данный момент около 340 МБ).Однако если вы точно знаете, что делаете, то можете заставить
процедуру make world пропустить этот шаг. Это
позволит последующие построения выполняться гораздо быстрее, так
как большинство исходных текстов не нужно будет
перекомпилировать. Оборотной стороной медали этого подхода
является вероятность появления некоторых проблем с зависимостями,
что может привести к прерыванию построения по странным причинам.
Это частенько вызывает шум в списках рассылки &os;, когда
кто-либо жалуется на прерывание процесса построения, не обращая
внимания на то, что он пытается срезать углы на
повороте.Могут ли быть продолжены прерванные процессы
построения?Это зависит от того, насколько далеко зашел процесс
построения перед тем, как вы обнаружили проблему.В общем случае (и это несложное и
быстрое правило) процесс make world строит
новые копии необходимых инструментальных средств (таких, как
&man.gcc.1; и &man.make.1;) и системные библиотеки. Затем эти
средства и библиотеки устанавливаются. Новые инструментальные
средства и библиотеки затем используются для перестроения
самих себя, и повторно устанавливаются. Система в целом
(теперь включая обычные пользовательские программы, такие,
как &man.ls.1; или &man.grep.1;) теперь перестраивается с
новыми системными файлами.Если вы на последнем шаге, и вы знаете это (потому что
просматривали вывод, который сохраняете), то вы можете
(достаточно безболезненно) выполнить команду:… исправление проблемы …
&prompt.root; cd /usr/src
&prompt.root; make -DNOCLEAN allПри этом результат предыдущего запуска
make world откатываться не будет.Если вы видите сообщение:--------------------------------------------------------------
Building everything..
--------------------------------------------------------------в выводе команды make world, то делать так
достаточно безопасно.Если этого сообщения не было, или вы в этом не уверены, то
всегда лучше обезопасить себя, и начать построение с самого
начала.Как ускорить процесс построения системы?Работайте в однопользовательском режиме.Разместите каталоги /usr/src и
/usr/obj в отдельных файловых
системах, располагающихся на разных дисках. Если это
возможно, то разместите эти диски на разных дисковых
контроллерах.Ещё лучше разместить эти файловые системы на нескольких
дисках при помощи устройства &man.ccd.4; (драйвер
объединённых дисков).Выключите генерацию профилирующего кода (установив
NOPROFILE=true в файле
/etc/make.conf). Вам это скорее
всего никогда не понадобится.Также в /etc/make.conf установите
значение CFLAGS во что-то типа . Оптимизация выполняется
гораздо медленнее, а разница между и
обычно несущественна.
позволяет компилятору использовать для
связи вместо временных файлов программные каналы, что
уменьшает обращение к диску (за счет оперативной
памяти).Передайте утилите &man.make.1; параметр
для запуска
параллельно нескольких процессов. Обычно это помогает вне
зависимости от того, сколько процессоров установлено в вашей
машине.Файловая система, на которой располагается каталог
/usr/src, может быть смонтирована (или
перемонтирована) с опцией . При этом
запись на диск информации о времени последнего доступа к
файлам будет отключена. Скорее всего, вам эта информация и
не нужна.&prompt.root; mount -u -o noatime /usr/srcВ примере предполагается, что
/usr/src располагается на
собственной файловой системе. Если это не так (то
есть он является частью, скажем,
/usr), то вам нужно использовать
точку монтирования той файловой системы, а не
/usr/src.Файловая система, на которой располагается
/usr/obj, может быть смонтирована (или
перемонтирована) с параметром . Это
приведёт к тому, что операции записи на диск будут
выполняться асинхронно. Другими словами, запись будет
завершаться немедленно, но данные записываться на диск
несколькими секундами позже. Это позволит объединять
операции записи и приведёт к значительному приросту
производительности.Имейте в виду, что эта опция делает вашу файловую
систему менее устойчивой. С этой опцией имеется больше
шансов, что при перезагрузке машины после неожиданного
сбоя при пропадании напряжения файловая система окажется
в невосстановимом состоянии.Если каталог /usr/obj — это все,
что есть в этой файловой системе, то это не проблема.
Если на той же самой файловой системе имеются какие-то
важные данные, то проверьте давность ваших резервных
копий перед включением этой опции.&prompt.root; mount -u -o async /usr/objКак и раньше, если каталог
/usr/obj располагается не на
собственной файловой системе, то в примере замените его
на имя соответствующей точки монтирования.Что мне делать, если что-то пошло не так?Скрупулезно проверьте, чтобы в вашем окружении не было
мешающих остатков от предыдущих построений. Это достаточно
просто.&prompt.root; chflags -R noschg /usr/obj/usr
&prompt.root; rm -rf /usr/obj/usr
&prompt.root; cd /usr/src
&prompt.root; make cleandir
&prompt.root; make cleandirДа, команду make cleandir действительно
нужно выполнять дважды.После этого повторите весь процесс снова, начиная с
make buildworld.Если у вас все еще есть проблемы, пришлите текст ошибки и
выдачу команды uname -a на адрес
&a.questions;. Будьте готовы ответить на другие вопросы о
конфигурации вашей системы!MikeMeyerТекст предоставил Отслеживание исходных текстов для нескольких машинNFSinstalling multiple machinesЕсли у вас множество машин, для которых вы хотите отслеживать одно
и то же дерево исходных текстов, то сгрузка кода и перестроение системы
полностью выглядит как ненужная трата ресурсов: дискового пространства,
пропускной способности сети и процессорного времени. Так оно и есть, и
решением является выделение одной машины, которая выполняет основной
объём работы, в то время как остальные используют результаты работы
посредством NFS. В этом разделе описывается именно этот метод.ПодготовкаПервым делом определите набор машин, на которых выполняется один
и тот же набор бинарных программ, и мы будем называть его
набором для построения. Каждая машина может иметь
собственное уникальное ядро, но они будут работать с одними и теми же
программами пользователя. Из этого набора выберите машину, которая
будет являться машиной для построения. Она станет
машиной, на которой будут строиться ядро и всё окружение. В идеальном
случае с достаточно незагруженным CPU для выполнения команды
make world. Вам также потребуется выбрать машину,
которая будет тестовой для проверки обновлений
программного обеспечения прежде, чем оно будет запущено в промышленную
эксплуатацию. Это должна быть машина, которая
может быть в нерабочем состоянии достаточно долго. Это может быть
машина для построения, но не обязательно.Все машины в этом наборе для построения должны монтировать каталоги
/usr/obj и
/usr/src с одной и той же машины и в одну и ту же
точку монтирования. В идеальном случае они располагаются на разных
дисках машины построения, но они могут также монтироваться по NFS на
этой машине. Если у вас имеется несколько наборов для построения, то
каталог /usr/src должен быть на машине построения,
а по NFS он должен быть смонтирован на остальных.Наконец, удостоверьтесь в том, что файл
/etc/make.conf на всех машинах набора для
построения соответствует машине построения. Это означает, что машина
построения должна строить все части основного системного набора,
которые будут устанавливаться на каждой машине из набора для
построения. Кроме того, у каждой машины построения должно быть задано
имя ядра посредством переменной KERNCONF в файле
/etc/make.conf, а машина построения должна
перечислить их все в переменной KERNCONF, причём
первым должно быть имя её собственного ядра. Машина построения должна
хранить конфигурационные файлы ядра каждой машины в каталоге
/usr/src/sys/arch/conf,
если на ней будут строиться соответствующие ядра..Основные системные компонентыТеперь, когда всё это сделано, вы готовы к построению. Постройте
ядро и всё окружение так, как это описано в на машине построения, но ничего не
устанавливайте. После того, как процесс построения завершится,
перейдите к тестовой машине и установите только что построенное ядро.
Если эта машина монтирует каталоги /usr/src и
/usr/obj посредством NFS, то при перезагрузке в
однопользовательский режим вам потребуется задействовать сеть и
смонтировать их. Самым простым способом сделать это является переход
во многопользовательский режим и запуск команды shutdown
now для перехода в однопользовательский режим. После этого
вы можете установить новое ядро и всё окружение, а затем выполнить
команду mergemaster обычным образом. После
выполнения этих действий перезагрузитесь для возвращения к обычному
режиму работы во многопользовательском режиме с этой машиной.После того, как вы убедитесь в нормальной работе всего на тестовой
машине, проведите ту же самую процедуру для установки нового
программного обеспечения на каждой из оставшихся машин из набора для
построения.ПортыТе же самые идеи могут использоваться и для дерева портов. Первым
критическим шагом является монтирование /usr/ports
с одной и той же машины на всех компьютерах в наборе для построения.
Затем вы можете корректно настроить /etc/make.conf
для использования общего каталога с дистрибутивными файлами. Вы должны
задать переменную DISTDIR так, чтобы она указывала
на общедоступный каталог, доступный тому пользователю, который
отображается в пользователя root для ваших точек
монтирования NFS. Каждая машина
должна задавать WRKDIRPREFIX так, чтобы она
указывала на локальный каталог построения. Наконец, если вы
собираетесь строить и распространять пакаджи, до должны задать
переменную PACKAGES так, чтобы она указывала на
каталог, соответствующий DISTDIR.
diff --git a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
index 81504c5771..2227bec303 100644
--- a/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/eresources/chapter.sgml
@@ -1,1646 +1,1646 @@
Ресурсы в интернетВысокая скорость прогресса FreeBSD делает непрактичным использование
печатных изданий для информирования о последних разработках. Электронные
ресурсы это лучший, а зачастую и единственный способ информирования
о новых возможностях. Поскольку FreeBSD основывается на усилиях
добровольцев, сообщество пользователей само по себе зачастую выполняет
роль службы технической поддержки, а электронная почта и
новости USENET это наиболее эффективный способ обращения к этому
сообществу.Наиболее важная контактная информация сообщества пользователей
FreeBSD показана ниже. Если вам известно о других ресурсах, не
упомянутых здесь, пожалуйста отправьте информацию о них в
&a.doc;, чтобы мы могли включить в этот документ.Списки рассылкиХотя многие участники разработки FreeBSD читают USENET, мы не можем
всегда гарантировать, что ответим на ваши вопросы в краткий срок
(или вообще), если вы отправите их только в группы
comp.unix.bsd.freebsd.*. Вопросы, отправленные
в соответствующий список рассылки, достигнут и нас и обширной аудитории
FreeBSD, что несомненно гарантирует лучшую (или как минимум более
быструю) поддержку.Все сообщения в приведенные ниже списки рассылки должны быть
составлены только на английском языке.Описание каждой рассылки дано в конце этого документа.
Пожалуйста, прочтите описание перед подпиской или отправкой
почты в любой из списков. Большинство наших подписчиков
получают многие сотни относящихся к FreeBSD сообщений каждый день,
и определяя правила использования рассылок мы стремимся удержать
высокое соотношение сигнал к шуму. При меньшем
соотношении списки рассылки перестанут быть эффективной средой общения
участников проекта.Архивы поддерживаются для всех списков рассылки и поиск по ним
- организован на WWW
+ организован на WWW
сервере FreeBSD. Поиск в архиве по ключевым словам
дает отличный способ получения ответов на часто задаваемые вопросы
и должен быть выполнен перед отправкой вопроса.Списки рассылкиОбщие списки: Ниже представлены общие
списки рассылки, к которым каждый может (и приглашается)
присоединиться:СписокНазначение&a.cvsall.name;Изменения, вносимые в дерево исходных текстов
FreeBSD&a.advocacy.name;В защиту FreeBSD&a.announce.name;Важные события и вехи проекта&a.arch.name;Обсуждения архитектуры и дизайна системы&a.bugbusters.name;Обсуждения, относящиеся к поддержке базы данных
сообщений о проблемах FreeBSD и соответствующим
инструментам&a.bugs.name;Сообщения о проблемах&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSD&a.config.name;Разработка инструментов установки и настройки
FreeBSD&a.current.name;Обсуждения, относящиеся к использованию
&os.current;&a.isp.name;Вопросы использования FreeBSD провайдерами&a.jobs.name;Вакансии и резюме, относящиеся к FreeBSD,
с полной и частичной занятостью&a.newbies.name;Рассылка FreeBSD для новых пользователей&a.policy.name;Публикация правил FreeBSD Core team. Только для чтения,
малое количество сообщений&a.questions.name;Вопросы пользователей и техническая поддержка&a.security-notifications.name;Уведомления безопасности&a.stable.name;Обсуждения, относящиеся к использованию
&os.stable;&a.test.name;Рассылка для отправки тестовых сообщений (вместо
обычных списков рассылкиТехнические списки: Следующие списки
предназначены для технических обсуждений. Вам необходимо внимательно
прочитать описание перед подпиской или отправкой почты в один из
этих списков, поскольку они предназначены для использования внутри
проекта.СписокНазначение&a.acpi.name;Разработка ACPI и системы управления
энергопотреблением&a.afs.name;Портирование AFS на FreeBSD&a.aic7xxx.name;Разработка драйверов для &adaptec; AIC 7xxx&a.alpha.name;Портирование FreeBSD на Alpha&a.amd64.name;Портирование FreeBSD на системы AMD64&a.arm.name;Портирование FreeBSD на процессоры &arm;&a.atm.name;Использование ATM сетей с FreeBSD&a.audit.name;Проект аудита исходных текстов&a.binup.name;Дизайн и разработка системы бинарных обновлений&a.cluster.name;Использование FreeBSD в кластерах&a.cvsweb.name;Поддержка CVSweb&a.database.name;Обсуждение использования и разработки баз данных
под FreeBSD&a.doc.name;Создание относящихся к FreeBSD документов&a.emulation.name;Эмуляция других систем, таких как
Linux/DOS/&windows;&a.firewire.name;Техническое обсуждение FreeBSD &firewire;
(iLink, IEEE 1394)&a.fs.name;Файловые системы&a.geom.name;Относящиеся к GEOM обсуждения и реализации&a.gnome.name;Портирование GNOME
и приложений GNOME&a.hackers.name;Общее техническое обсуждение&a.hardware.name;Общее обсуждение оборудования для
FreeBSD&a.i18n.name;Интернационализация FreeBSD&a.ia32.name;FreeBSD на платформе IA-32 (&intel; x86)&a.ia64.name;Портирование FreeBSD на будущие системы Intel
IA64&a.ipfw.name;Технические обсуждения, относящиеся к переработке
кода IP брандмауэра&a.isdn.name;Разработчики ISDN&a.java.name;Разработчики &java; и люди, портирующие &jdk; на
FreeBSD&a.kde.name;Портирование KDE и
приложений KDE&a.lfs.name;Портирование LFS на FreeBSD&a.libh.name;Второе поколение программы установки системы и
пакетов&a.mips.name;Портирование FreeBSD на &mips;&a.mobile.name;Обсуждение портативных компьютеров&a.mozilla.name;Портирование Mozilla на
FreeBSD&a.multimedia.name;Мультимедиа приложения&a.newbus.name;Технические обсуждения архитектуры шины&a.net.name;Обсуждения, относящиеся к сети и исходному тексту
TCP/IP&a.openoffice.name;Портирование OpenOffice.org и
&staroffice; на FreeBSD&a.performance.name;Вопросы оптимизации производительности для
быстрых/работающих под большой нагрузкой серверов&a.perl.name;Поддержка различных относящихся к
perl портов&a.platforms.name;Относится к портам для платформ не-Intel
архитектуры&a.ports.name;Обсуждения коллекции портов&a.ports-bugs.name;Обсуждения относящихся к портам ошибок/PR&a.ppc.name;Портирование FreeBSD на &powerpc;&a.qa.name;Обсуждение гарантий качества (Quality Assurance),
обычно перед релизом&a.realtime.name;Разработка расширений реального времени для FreeBSD&a.scsi.name;Подсистема SCSI&a.security.name;Сообщения безопасности, касающиеся FreeBSD&a.small.name;Использование FreeBSD во встроенных приложениях&a.smp.name;Обсуждение [не]симметричной мультипроцессорной
архитектуры&a.sparc.name;Портирование FreeBSD на системы, основанные на
&sparc;&a.standards.name;Соответствие FreeBSD стандартам C99 и &posix;&a.threads.name;Потоки в FreeBSD&a.testing.name;Тестирование производительности и стабильности
FreeBSD&a.tokenring.name;Поддержка Token Ring в FreeBSD&a.x11.name;Сопровождение и поддержка X11 в FreeBSDОграниченные списки: Следующие списки
рассылки предназначены для более специализированной (и более
официальной) аудитории и вероятно не могут заинтересовать широкую
публику. Вероятно хорошей идеей будет сначала наладить общение
в технических списках рассылки перед присоединением к ограниченным
спискам, так вы сможете освоить этику общения.СписокНазначение&a.hubs.name;Люди, поддерживающие зеркала (поддержка
инфраструктуры)&a.usergroups.name;Координация групп пользователей&a.vendors.name;Координация поставщиков перед релизом&a.www.name;
- Ответственные за www.FreeBSD.org
+ Ответственные за www.FreeBSD.orgДайджест рассылки: Все вышеприведенные
списки доступны в формате дайджеста. После подписки на рассылку,
вы можете изменить параметры дайджеста в разделе настроек учетной
записи.CVS рассылки: Следующие рассылки
предназначены для людей, заинтересованных в просмотре сообщений
об изменении в различных областях дерева исходных текстов.
Это списки только для чтения и вы не должны
отправлять туда почту.РассылкаОбласть исходного текстаОписание области исходного текста&a.cvsall.name;/usr/(CVSROOT|doc|ports|projects|src)Все изменения в любой области дерева исходных текстов
(надмножество других списков рассылки cvs)&a.cvs-doc.name;/usr/(doc|www)Все изменения в дереве исходных текстов
документации и веб сервера&a.cvs-ports.name;/usr/portsВсе изменения в дереве портов&a.cvs-projects.name;/usr/projectsВсе изменения в дереве проектов&a.cvs-src.name;/usr/srcВсе изменения в дереве исходных текстов системыКак подписатьсяДля подписки на рассылку, нажмите на название списка рассылки
выше или воспользуйтесь ссылкой &a.mailman.lists.link; и
нажмите на имя рассылки, которой вы заинтересовались. Страница
списка рассылки содержит все необходимые инструкции по
подписке.Для отправки сообщения в выбранный список рассылки, отправьте
письмо в <listname@FreeBSD.org>.
Это письмо будет разослано участникам рассылки по всему миру.Для отписки от рассылки, нажмите на ссылку, находящуюся внизу
каждого письма, отправляемого через список рассылки. Возможна
также отписка путем отправки письма на
freebsd-[listname]-unsubscribe@FreeBSD.org.Напоминаем, что обсуждение в технических списках рассылки
должно оставаться в рамках технической темы. Если вас интересует
только получение важных анонсов, мы предлагаем подписаться на
рассылку с небольшим трафиком &a.announce;.Описание рассылокВсе списки рассылки FreeBSD имеют
определенные основные правила, которых должен придерживаться каждый
использующий их. Несоблюдение этих правил приведет к отправлению
двух (2) предупреждений от FreeBSD Postmaster
postmaster@FreeBSD.org, после которых, после третьего
нарушения, подписчик будет удален из всех списков рассылки
FreeBSD и дальнейшие его сообщения будут отфильтровываться.
Мы сожалеем, что эти правила и меры вообще необходимы, но современный
интернет это довольно суровая среда и многие его механизмы довольно
слабы.Основные правила:Тема любого сообщения должна соответствовать назначению
списка рассылки, в который это сообщение отправляется. Например,
если список рассылки посвящен техническим вопросам, сообщение
должно быть техническим. Продолжающееся обсуждение вне темы, или
флейм только понижают ценность рассылки для всех ее участников
и поэтому не разрешаются. Для обсуждений вне какой-либо
определенной темы необходимо использовать &a.chat;, специально
для этого предназначенный.Ни одно сообщение не должно отправляться более чем в 2
рассылки, отправка сообщения в 2 рассылки должна выполняться
только при наличии простой и очевидной причины для дублирования
сообщения. В большинстве рассылок подписчикам уже приходит
много избыточного материала, и за исключением редких случаев
(скажем, -stable & -scsi), на самом деле нет
причины отправлять сообщение более чем в один список рассылки.
Если сообщение отправлено вам так, что в поле
Cc находятся несколько списков рассылки,
необходимо урезать поле Cc перед отправкой
ответа. Именно вы отвечаете за собственные
сообщения, независимо от того, кто был автором исходного
письма.Персональные нападки и профанация (в контексте аргументов) не
разрешены, это относится и к пользователям, и к разработчикам.
Грубые нарушения сетевой этики, такие как цитирование или
пересылка личной переписки без специального на то разрешения,
осуждаются но специальные меры в этом случае не принимаются.
Однако, существует несколько специальных
случаев, когда такие письма не отвечают назначению списка рассылки
и, следовательно, могут повлечь отправку предупреждения (или
исключение из списка рассылки).Реклама не-FreeBSD продуктов или сервисов строго запрещена и
исключение из списка рассылки последует незамедлительно, если
станет очевидным, что это спам.Описания рассылок:&a.acpi.name;Разработка ACPI и системы управления
энергопотреблением&a.afs.name;Andrew File SystemЭтот список предназначен для обсуждения портирования
и использования AFS от CMU/Transarc&a.announce.name;Важные события / вехи проектаЭтот список рассылки предназначен для тех, кто интересуется
только периодическими анонсами значительных событий FreeBSD.
Сюда включаются анонсы снэпшотов и других релизов, а также
новых возможностей FreeBSD. Рассылка может содержать призыв
к добровольцам и т.п. Это строго модерируемый список рассылки
с малым объемом трафика.&a.arch.name;Обсуждение архитектуры и
дизайна системыЭта рассылка предназначена для обсуждения архитектуры
FreeBSD. Сообщения в основном строго технические.
Примеры подходящих тем:Как изменить систему сборки для одновременной сборки
нескольких по-разному настроенных систем.Что необходимо исправить в VFS для включения слоев
Heidemann.Как необходимо изменить интерфейс драйверов устройств
для использования одних и тех же драйверов на множестве
шин и архитектур.Как написать сетевой драйвер.&a.audit.name;Проект аудита исходных текстовЭто список рассылки для проекта аудита исходных текстов
FreeBSD. Хотя первоначально он предназначался для изменений,
связанных с безопасностью, его назначение было расширено для
пересмотра всех изменений кода.В эту рассылку отправляется большой объем исправлений,
и она вероятно не представляет интереса для обычного
пользователя FreeBSD. Обсуждения безопасности, не относящиеся
к определенному изменению в коде, ведутся в freebsd-security.
Разработчикам предлагается отправлять изменения в этот список
рассылки для просмотра, особенно если эти изменения затрагивают
части кода, ошибки в которых могут повлечь нарушение
целостности системы.&a.binup.name;Проект бинарного обновления
FreeBSDЭтот список предназначен для обсуждений системы бинарного
обновления системы, или binup.
В этой рассылке обсуждаются вопросы дизайна, детали реализации,
исправления, сообщения об ошибках, сообщения о статусе, запросы
на расширение функциональности, протоколы коммитов, и все, что
относится к binup.&a.bugbusters.name;Координация усилий по обработке сообщений о
проблемахНазначение этой рассылки в координации и предоставлении
места для обсуждения для лиц, обслуживающих базу данных
сообщений о проблемах (bugmeister, bugbusters) и для всех
сторон, интересующихся базой данных PR. Эта рассылка не
предназначена для обсуждения отдельных проблем, исправлений
или PR.&a.bugs.name;Сообщения об ошибкахЭтот список рассылки предназначен для отправки сообщений об
ошибках в FreeBSD. Когда это возможно, сообщения должны
отправляться с использованием &man.send-pr.1; или через
- WEB интерфейс
+ WEB интерфейс
к send-pr.&a.chat.name;Не-технические темы, относящиеся к сообществу
FreeBSDВ эту рассылку входят все темы, не подходящие для других
рассылок, с не-технической, социальной информацией.
Она включает обсуждения на темы:
кто пьет слишком много кофе, где варят
лучшее пиво, кто варит пиво в своем подвале, и так далее.
Нерегулярные анонсы важных событий (такие как будущие встречи,
свадьбы, дни рождения, новая работа и т.д.) могут быть
опубликованы в технических рассылках, но ответы должны
отправляться в -chat.&a.core.name;Команда FreeBSD coreЭто внутренний список рассылки, используемый членами
core. Сообщения в эту рассылку могут быть отправлены
по серьезной, имеющей отношение к FreeBSD причине, которая
требует рассмотрения на самом высоком уровне.&a.current.name;Обсуждения, касающиеся использования
&os.current;Это список рассылки для пользователей &os.current;. Он
включает предупреждения о новых возможностях, вносимых в
-CURRENT, влияющих на пользователей, и инструкции относительно
действий, которые должны быть предприняты для поддержки
-CURRENT. Всякий, работающий с CURRENT,
должен подписаться на эту рассылку. Это технический список
рассылки, все сообщения должны быть строго техническими.&a.cvsweb.name;FreeBSD CVSweb ProjectТехнические обсуждения использования, разработки и поддержки
FreeBSD-CVSweb.&a.doc.name;Проект документированияЭтот список рассылки предназначен для обсуждения вопросов
и проектов, относящихся к созданию документации для FreeBSD.
Члены этой рассылки все вместе обозначаются как
The FreeBSD Documentation Project. Это открытая
рассылка; присоединяйтесь и участвуйте!&a.firewire.name;&firewire; (iLink, IEEE 1394)Это список рассылки, предназначенный для обсуждения дизайна
и реализации подсистемы &firewire; (также известной как
IEEE 1394 или iLink) в FreeBSD. Соответствующие темы
относятся к стандартам, устройствам шины и их протоколам,
наборам плат/карт/чипов адаптера, а также архитектуре и
реализации кода для их правильной поддержки.&a.fs.name;Файловые системыОбсуждения, относящиеся к файловым системам FreeBSD. Это
технический список рассылки, предназначенный только для
технических обсуждений.&a.geom.name;GEOMОбсуждения, относящиеся к GEOM и связанным с GEOM реализациям.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.gnome.name;GNOMEОбсуждения, относящиеся к десктопу
GNOME для системы FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ipfw.name;IP брандмауэрЭто форум для технических обсуждений, относящихся к
редизайну кода IP брандмауэра в FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ia64.name;Портирование FreeBSD на IA64Это технический список рассылки для тех, кто активно
работает над портированием FreeBSD на платформу IA-64
от Intel, предназначенный для поднятия вопросов или обсуждения
альтернативных решений. Те, кто интересуется обсуждаемыми
проблемами, также приглашаются к участию в рассылке.&a.isdn.name;ISDN соединенияЭто список рассылки для обсуждения разработки поддержки
ISDN для FreeBSD.&a.java.name;Разработка &java;Этот список рассылки предназначен для обсуждения ключевых
приложений &java; для FreeBSD, а также портирования и
поддержки &jdk;.&a.jobs.name;Предложение и поиск работыЭто форум для публикации вакансий и резюме, относящихся
к &os;. Например, если вы ищете работу, относящеюся к
&os;, или у вас есть работа, связанная с &os;, вы можете
разместить соответствующую информацию именно здесь. Эта
рассылка НЕ предназначена для обсуждения общих вопросах
о приеме на работу, поскольку форумы на соответствующие
темы уже существуют на других сайтах.Имейте ввиду, что эта рассылка, как и другие рассылки
на FreeBSD.org, распространяется по всему миру. Поэтому вам
необходимо четко указать свое местоположение и область,
с которой возможны телекоммуникации или помощь в
перемещении.Письма должны быть составлены только в открытых форматах
— предпочтителен чистый текст, но Portable Document
Format (PDF), HTML, и некоторые другие
форматы могут быть прочитаны многими. Закрытые форматы,
такие как µsoft; Word (.doc)
будут отброшены сервером почтовой рассылки.&a.kde.name;KDEОбсуждения, относящиеся к KDE в
системах FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.hackers.name;Технические обсужденияЭто форум для технических обсуждений, относящихся к
FreeBSD. Это в основном технический список рассылки. Он
предназначен для тех, кто активно работает над FreeBSD, и
служит для поднятия вопросов или обсуждения альтернативных
решений. Те, кто интересуется обсуждаемыми вопросами, также
приглашаются к участию в обсуждении. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.hardware.name;Общее обсуждение оборудования
FreeBSDОбщее обсуждение типов оборудования, на котором
работает FreeBSD, различных проблем и предложений относительно
того, какое оборудование можно покупать а какое нет.&a.hubs.name;Сайты зеркалАнонсы и обсуждения для поддерживающих зеркала
FreeBSD.&a.isp.name;Вопросы использования FreeBSD
провайдерамиЭтот список рассылки предназначен для обсуждения тем,
имеющих значение для провайдеров, использующих FreeBSD.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.newbies.name;Обсуждение деятельности новых
пользователейЭта рассылка охватывает всю деятельность новых
пользователей, которая не обсуждается где-то еще. Сюда
включаются: независимое обучение и техника решения проблем,
поиск и использование ресурсов и запрос помощи где-то еще,
как использовать списки рассылки и какие из них использовать,
разговоры на общие темы, обсуждение ошибок, хвастовство,
обмен идеями, истории, моральная (но не техническая) поддержка,
активное участие в сообществе FreeBSD. Мы сообщаем о своих
проблемах и отправляем запросы на поддержку в freebsd-questions,
а freebsd-newbies используем для встречи с темы, кто делает
то же, что и мы, будучи новыми пользователями.&a.openoffice.name;OpenOffice.orgОбсуждения, относящиеся к портированию и поддержке
OpenOffice.org и
&staroffice;.&a.performance.name;Обсуждения оптимизации или повышения скорости
FreeBSDЭтот список рассылки существует как место для обсуждения
тем, имеющих отношение к производительности FreeBSD,
хакерами, администраторами, и/или заинтересованными сторонами.
Приемлемые темы включают обсуждения установок FreeBSD, которые
находятся под высокой нагрузкой и сталкиваются с проблемами
производительности, или преодоление ограничений FreeBSD.
Заинтересованным сторонам, собирающимся работать над улучшением
производительности FreeBSD, настоятельно рекомендуется
подписаться на эту рассылку. Это техническая рассылка,
идеально подходящая для пользователей, хакеров или
администраторов, заинтересованных в скорости, стабильности
и расширяемости FreeBSD. Это не рассылка вопросов-и-ответов,
заменяющая чтение документации, а место, где можно внести свой
вклад или получить информацию по еще незатронутой
теме, связанной с производительностью.&a.platforms.name;Портирование на не-Intel
платформыКросс-платформенные вопросы FreeBSD, общее обсуждение и
предложения для не-Intel портов FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.policy.name;Правила core teamЭто рассылка с малым количеством сообщений, только для
чтения, предназначенная для публикации решений FreeBSD
Core Team.&a.ports.name;Обсуждения
portsОбсуждения, относящиеся к коллекции портов
FreeBSD, (/usr/ports), инфраструктуры
портов и общих усилий по координации портов.
Это технический список рассылки, предназначенный только для
технических обсуждений.&a.ports-bugs.name;Обсуждение проблем в
portsОбсуждения, относящиеся к сообщениям о проблемах для
коллекции портов FreeBSD
(/usr/ports), предлагаемых портов, или
изменений к портам. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.questions.name;Вопросы пользователейЭто список рассылки по вопросам о FreeBSD. Вы не должны
отправлять вопросы как сделать в технические
рассылки, если только не уверены, что ваш вопрос чисто
технический.&a.scsi.name;Подсистема SCSIЭто список рассылки для тех, кто работает над подсистемой
SCSI для FreeBSD. Это технический список рассылки,
предназначенный только для технических обсуждений.&a.security.name;Вопросы безопасностиВопросы безопасности FreeBSD (DES, Kerberos, известные
проблемы безопасности и исправления, и т.п.). Это технический
список рассылки, предназначенный только для технических
обсуждений. Обратите внимание, что это не рассылка
вопросов-и-ответов, но дополнения в FAQ (И вопрос И ответ)
приветствуются.&a.security-notifications.name;Уведомления безопасностиУведомления о проблемах безопасности FreeBSD и исправления.
Эта рассылка не предназначена для обсуждений. Для обсуждения
предназначена рассылка FreeBSD-security.&a.small.name;Использование FreeBSD во встроенных
приложенияхВ этой рассылке обсуждаются темы, связанные с необычно
малыми и встроенными установками FreeBSD. Это технический
список рассылки, предназначенный только для технических
обсуждений.&a.stable.name;Обсуждения, касающиеся использования
&os.stable;Этот список рассылки предназначен для пользователей
&os.stable;. Он включает предупреждения о новых возможностях,
добавляемых в -STABLE, и влияющих на пользователей, и инструкции
по действиям, которые необходимы для поддержки системы в
состоянии -STABLE. Всякий, использующий STABLE,
должен подписаться на эту рассылку. Это технический список
рассылки, предназначенный только для технических
обсуждений.&a.standards.name;Соответствие C99 и POSIXЭто форум для технических обсуждений, относящихся к
соответствию FreeBSD стандартам C99 и POSIX.&a.usergroups.name;Список координации групп
пользователейЭтот список рассылки предназначен для обсуждения вопросов
координаторами каждой группы пользователей и назначенным
членом Core Team. Обсуждения в этой рассылке ограничены
темой встреч и координацией проектов, относящихся к группам
пользователей.&a.vendors.name;ПоставщикиОбсуждения, относящиеся к координации между FreeBSD Project
и поставщиками программного и аппаратного обеспечения для
FreeBSD.Фильтрация списков рассылкиСписки рассылки &os; фильтруются различными способами для
предотвращения распространения спама, вирусов, и другой нежелательной
почты. Действия по фильтрации, описанные в этом разделе,
не включают всех используемых для фильтрации списков рассылки
проекта действий.Только определенные типы вложений разрешены в списках рассылки.
Все вложения с типами MIME содержимого, не входящие в список ниже,
будут вырезаться перед тем, как письмо будет отправлено в список
рассылки.application/octet-streamapplication/pdfapplication/pgp-signatureapplication/x-pkcs7-signaturemessage/rfc822multipart/alternativemultipart/relatedmultipart/signedtext/htmltext/plaintext/x-difftext/x-patchНекоторые из списков рассылки могут пропускать вложения
других типов MIME, но список выше применим к большинству
рассылок.Если письмо содержит как HTML, так и только текстовую версию,
версия HTML будет удалена. Если письмо содержит только HTML
версию, она будет конвертирована в простой текст.Новостные группы UsenetВ дополнение к двум относящимся к FreeBSD группам новостей,
существуют множество других, где обсуждается FreeBSD или куда
помещается другая информация, относящаяся к пользователям FreeBSD.
Архивы
с поиском по ключевому слову доступны для некоторых из
этих новостных групп благодаря Warren Toomey
wkt@cs.adfa.edu.au.Относящиеся к BSD новостные группыcomp.unix.bsd.freebsd.announcecomp.unix.bsd.freebsd.miscde.comp.os.unix.bsd (German)fr.comp.os.bsd (French)it.comp.os.freebsd (Italian)Другие интересные &unix; новостные группыcomp.unixcomp.unix.questionscomp.unix.admincomp.unix.programmercomp.unix.shellcomp.unix.user-friendlycomp.security.unixcomp.sources.unixcomp.unix.advocacycomp.unix.misccomp.bugs.4bsdcomp.bugs.4bsd.ucb-fixescomp.unix.bsdX Window Systemcomp.windows.x.i386unixcomp.windows.xcomp.windows.x.appscomp.windows.x.announcecomp.windows.x.intrinsicscomp.windows.x.motifcomp.windows.x.pexcomp.emulators.ms-windows.wineСерверы World Wide Web
&chap.eresources.www.inc;
Адреса EmailСледующие группы пользователей предоставляют для своих участников
почтовые адреса. Приведенные в списке администраторы оставляют за собой
право удалить адреса при любом злоупотреблении.ДоменВозможностиГруппа пользователейАдминистраторukug.uk.FreeBSD.orgТолько пересылкаfreebsd-users@uk.FreeBSD.orgLee Johnston
lee@uk.FreeBSD.orgShell доступСледующие группы пользователей предоставляют shell доступ для тех,
кто активно поддерживает проект FreeBSD. Приведенные в списке
администраторы оставляют за собой право закрыть учетную запись при
любом злоупотреблении.ХостДоступВозможностиАдминистраторstorm.uk.FreeBSD.orgТолько SSHCvs только для чтения, место для личной странички,
почта&a.brian;dogma.freebsd-uk.eu.orgTelnet/FTP/SSHEmail, место для сайта, Anonymous FTPLee Johnston
lee@uk.FreeBSD.org
diff --git a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
index d32b700aac..da398daf80 100644
--- a/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/install/chapter.sgml
@@ -1,5594 +1,5594 @@
JimMockРеструктурировал, исправил и частично
переписал RandyPrattОбзор sysinstall, скриншоты и общее
руководство Установка FreeBSDКраткий обзорустановкаFreeBSD поставляется простой в использовании текстовой
программой установки sysinstall.
Это основная программа установки FreeBSD, хотя поставщики
могут предлагать свои программы. В этой главе
описывается использование sysinstall
для установки FreeBSD.Прочтя эту главу, вы узнаете:Как создать дискеты для установки FreeBSD.Как FreeBSD видит и делит на разделы жесткие диски.Как запустить sysinstall.Вопросы, которые sysinstall задаст
вам, что имеется ввиду, и как ответить на эти вопросы.Перед прочтением этой главы вам потребуется:Прочитать информацию о поддерживаемом оборудовании, поставляемую
с устанавливаемой версией FreeBSD, и убедиться, что ваше
оборудование поддерживается.Как правило, эти инструкции по установке написаны для
&i386; (PC совместимых)
компьютеров. Когда это возможно, приводятся инструкции,
специфичные для других платформ (например, Alpha).
Хотя это руководство поддерживается в актуальном состоянии
настолько, насколько это возможно, вы можете обнаружить
небольшие различия между программой установки и тем,
что показано здесь. Предполагается, что вы будете
использовать эту главу в качестве общего руководства, а не
как пошаговую инструкцию по установке.Перед установкойСоберите информацию о компьютереПеред установкой FreeBSD попытайтесь собрать
информацию об устройствах компьютера. Во время установки
FreeBSD покажет информацию об устройствах (жестких дисках,
сетевых картах, CDROM и т.д.) с номером модели и производителем.
FreeBSD также попытается определить правильную конфигурацию для
этих устройств, включая информацию об IRQ и портах ввода-вывода. Из-за
возможных проблем с оборудованием этот процесс не всегда
завершается успешно, и возможно вам придется исправлять
определенную FreeBSD конфигурацию.Если у вас уже есть установленная операционная система,
например &windows; или Linux, неплохо будет использовать ее
возможности для просмотра настроек оборудования.
Если вы не уверены какие какие настройки карты
расширения использовать, можете найти их на самой карте.
Часто используемые номера прерываний 3, 5 и 7, порты ввода-
вывода обычно пишутся в шестнадцатеричном виде, например
0x330.Мы рекомендуем распечатать эту информацию перед установкой
FreeBSD. Вам может помочь использование таблицы вроде этой:
Пример сведений об оборудованииНазвание устройстваIRQПорт ввода-выводаПримечанияПервый жесткий дискнетнет40 GB, Seagate, первый IDE masterCDROMнетнетПервый IDE slaveВторой жесткий дискнетнет20 GB, IBM, второй IDE masterПервый IDE контроллер140x1f0Сетевая картанетнет&intel; 10/100Модемнетнет&tm.3com; 56K факс-модем, COM1…
Сделайте резервное копирование данныхЕсли компьютер, на который вы устанавливаете FreeBSD,
содержит важные данные, убедитесь в наличии резервных копий
и проверьте их сохранность перед установкой FreeBSD.
Во время установки FreeBSD запросит подтверждение перед
тем, как записать данные на диск, но, если процесс запущен,
изменения нельзя отменить.Решите куда установить FreeBSDЕсли вы хотите, чтобы FreeBSD использовала весь жесткий диск,
не о чем беспокоиться — можете пропустить этот
раздел.Однако, если нужно совмещать FreeBSD с другими
операционными системами, необходимо иметь представление
как данные размещаются на диске и как это касается вас.Разделы диска для &i386;Диск PC может быть поделен отдельные части. Эти
части называют разделами. Первоначально
PC поддерживал только четыре раздела на диск. Эти разделы
называются главными разделами. Чтобы
обойти это ограничение и дать возможность создавать более чем
четыре раздела, был создан новый тип раздела, расширенный
раздел. Диск может содержать только один расширенный
раздел. Специальные разделы, называемые логическими
разделами, могут быть созданы внутри расширенного
раздела.Каждый раздел имеет ID раздела —
номер, который используется для определения типа данных на разделе.
FreeBSD использует ID раздела 165.Как правило, каждая операционная система, которую вы используете,
определяет разделы своим способом. Например, DOS и ее
потомки, такие как &windows;, присваивают каждому главному и логическому
разделу букву диска, начиная с
C:.FreeBSD нужно устанавливать в главный раздел. FreeBSD может
хранить все свои данные, включая создаваемые вами файлы, на
этом одном разделе. Тем не менее, если дисков много, вы можете
создать разделы FreeBSD на всех дисках или на некоторых из них.
При установке FreeBSD должен быть доступен по крайней мере один раздел.
Это может быть чистый, подготовленный для установки раздел, или
раздел с данными, которые больше не нужны.Если все разделы на диске уже используются, вы должны
освободить один из них для FreeBSD, используя программы,
поставляемые с имеющейся операционной системой (например,
fdisk для DOS или &windows;).Если есть резервный раздел, используйте его. Однако,
возможно сначала придется ужать один или несколько
существующих разделов. FreeBSD для установки нужен диск не менее 100 MB.
Однако, это оченьминимальная
установка, при которой не останется места для ваших личных
файлов. Более реальный объем — 250 MB без графической оболочки,
и более 350 MB с графической оболочкой. Если вы собираетесь
устанавливать большое количество дополнительного ПО,
понадобится еще больше дискового пространства.Вы можете использовать коммерческие программы,
такие как &partitionmagic;, для
изменения размера разделов и освобождения места под
FreeBSD. Каталог tools на CDROM
содержит две свободно распространяемых утилиты,
которые могут быть использованы для этой задачи, называющиеся
FIPS
и PResizer.
FIPS,
PResizer, и
&partitionmagic; могут изменять размер
разделов FAT16 и FAT32,
используемых системами от &ms-dos; до &windows; ME.
&partitionmagic; это единственная
известная программа, способная изменять размер NTFS.
Документация на них находится в том же каталоге.Неправильное использование этих утилит может привести к
уничтожению данных на диске. Удостоверьтесь в
наличии свежих и исправных резервных копий данных перед
их использованием.Использование существующего раздела без измененияПредставьте что в компьютере один 4 GB диск, на
котором уже установлена &windows;, и диск разбит на два
логических диска C: и
D:, каждый по 2 GB.
1 GB данных на C:, и
0.5 GB данных на D:.Это означает, что диск состоит из двух разделов, по одному
на каждую букву. Вы можете скопировать все данные с
D: на C:, это
освободит второй раздел для FreeBSD.Сжатие существующих разделовПредставьте, что в компьютере один 4 GB диск, на
котором уже установлена &windows;. При установке
&windows; вы создали один большой раздел, получив при этом
диск C: размером 4 GB. Вы
используете 1.5 GB, и хотите выделить 2 GB для FreeBSD.Для установки FreeBSD нужно выбрать:Сделать резервную копию &windows;, затем переустановить
&windows;, выделив 2 GB под ее раздел.Использовать одну из утилит, таких как
&partitionmagic;, описанную
выше, для сжатия раздела &windows;.Разделы диска для AlphaAlphaВам потребуется выделенный диск
для FreeBSD на Alpha. В настоящее время невозможно
установить две операционные системы на диск. В зависимости
от конкретного компьютера Alpha, диск может быть SCSI
или IDE, главное, чтобы ваш компьютер мог с него
загружаться.В соответствии с соглашениями, принятыми в
руководствах Digital / Compaq, весь SRM ввод показан в
верхнем регистре. SRM нечувствителен к регистру.Для поиска имен и типов дисков на компьютере
используйте команду SHOW DEVICE SRM
консоли:>>>SHOW DEVICE
dka0.0.0.4.0 DKA0 TOSHIBA CD-ROM XM-57 3476
dkc0.0.0.1009.0 DKC0 RZ1BB-BS 0658
dkc100.1.0.1009.0 DKC100 SEAGATE ST34501W 0015
dva0.0.0.0.1 DVA0
ewa0.0.0.3.0 EWA0 00-00-F8-75-6D-01
pkc0.7.0.1009.0 PKC0 SCSI Bus ID 7 5.27
pqa0.0.0.4.0 PQA0 PCI EIDE
pqb0.0.1.4.0 PQB0 PCI EIDEЭтот пример с Digital Personal Workstation
433au показывает три подключенных диска. Первый —
устройство CDROM с именем DKA0, другие два
называются DKC0 и
DKC100 соответственно.Диски с именами DKx
— SCSI диски. Например, DKA100
означает SCSI диск со SCSI целевым ID 1 на первой SCSI шине (A),
в то время как DKC300 означает SCSI диск
с SCSI ID 3 на третьей SCSI шине (C). Имя устройства
PKx означает SCSI адаптер. Как показано
в выводе SHOW DEVICE, SCSI устройство CDROM
определяется как любой другой жесткий диск SCSI.Имена IDE дисков выглядят как DQx,
в то время как PQx — IDE
контроллер.Соберите информацию о конфигурации сетиЕсли вы хотите подключиться к сети в процессе установки
FreeBSD (например, при установке с FTP или NFS сервера),
нужно знать конфигурацию сети. Вам будет предложено
ввести эту информацию,
чтобы FreeBSD смогла подключиться к сети для продолжения
установки.Подключение к сети Ethernet, или через кабельный/DSL модемЕсли вы подключаетесь к сети Ethernet, или соединение
с интернет подключено к Ethernet через кабельный или DSL модем, понадобится
следующая информация:IP адресIP адрес шлюза по умолчаниюИмя хостаIP адрес DNS сервераМаска подсетиЕсли у вас нет этой информации, спросите
системного администратора или провайдера интернет. Они могут сказать,
что эти данные присваиваются автоматически, с использованием
DHCP. Если это так, запомните это.Подсоединение с помощью модемаЕсли вы дозваниваетесь до провайдера с помощью обычного модема,
вы все же сможете установить FreeBSD через интернет, но это займет
очень много времени.Вам нужно знать:Номер телефона провайдераCOM порт, к которому подключен модемИмя пользователя и пароль учетной записи для доступа в
интернетПроверьте сведения об обнаруженных ошибках FreeBSDХотя проект FreeBSD борется за то, чтобы каждый релиз
FreeBSD был настолько стабильным, насколько это возможно, ошибки порой
вкрадываются в процесс разработки. В очень редких случаях эти ошибки
влияют на процесс установки. Как только эти проблемы обнаруживаются и
исправляются, они попадают в сообщения об ошибках FreeBSD, находящиеся
на сайте FreeBSD. Вы можете проверить сообщения об ошибках перед
установкой, чтобы убедиться, что не существует проблем, о которых стоит
беспокоиться.Информация о релизах, включая сообщения об ошибках каждого релиза,
находится странице
- информации
+ информации
о релизах
- сайта FreeBSD.
+ сайта FreeBSD.
Получение установочных файлов FreeBSDПрограмма установки FreeBSD может установить FreeBSD из файлов,
расположенных в одном из следующих мест:Локальный дискCDROM или DVDРаздел DOS на вашем компьютереЛента SCSI или QICГибкие дискиСетьFTP сервер (через файрволл или HTTP прокси,
если потребуется)NFS серверСоединение через параллельный или последовательный портЕсли вы купили FreeBSD на CD или DVD, у вас уже есть
все, что нужно, переходите к следующему разделу
().Если у вас нет установочных файлов FreeBSD,
перейдите к разделу , который описывает,
как подготовиться к установке FreeBSD любым указанным выше способом.
После прочтения этого раздела, вернитесь сюда и прочтите
.Подготовка загрузочных дисковПроцесс установки FreeBSD начинается с загрузки в ваш
компьютер программы установки FreeBSD — эта программа
не запускается из других операционных систем. Компьютер
обычно загружает операционную систему, установленную на
жестком диске, но также может быть настроен для
использования загрузочной дискеты.
Большинство современных компьютеров могут также
загрузиться с компакт-диска в приводе CDROM.Если у вас есть FreeBSD на CDROM или DVD (купленный
или записанный самостоятельно), и компьютер позволяет загрузку
с CDROM или DVD (обычно этот пункт в BIOS называется Boot
Order или что-то вроде), можете пропустить этот раздел.
Образы FreeBSD CDROM и DVD являются загрузочными и могут быть
использованы для установки FreeBSD без какой-либо специальной
подготовки.Для создания загрузочных дисков сделайте следующее:Получение образов загрузочных дисковЗагрузочные диски есть на установочном диске
в каталоге floppies/, и
могут быть также закачаны из
каталога floppies для компьютеров &i386; и из каталога floppies для компьютеров Alpha.Расширение файла образа диска .flp.
Каталог floppies/ содержит множество
разных образов, ваш выбор будет зависеть от устанавливаемой
версии FreeBSD и, в некоторых случаях, от конфигурации
компьютера. В большинстве случаев понадобятся всего лишь два
файла, kern.flp и
mfsroot.flp. В некоторых системах могут
потребоваться дополнительные драйверы устройств. Они находятся
в файле drivers.flp. Обратитесь к файлу
README.TXT в том же каталоге за свежей
информацией об этих образах дисков.FTP клиент должен использовать
бинарный режим
для загрузки образов дисков. Некоторые веб браузеры
используют текстовый
(ASCII) режим, который точно не позволит
загрузиться с этих дисков.Подготовка дискетНеобходимо подготовить по одной дискете на
каждый загруженный образ. Эти дискеты должны
быть без дефектов. Лучший способ проверить это —
отформатировать дискеты самостоятельно.
Не доверяйте заводскому форматированию дискет. Утилита
форматирования в &windows; не сообщит о наличии плохих
секторов, она просто пометит их как плохие
и проигнорирует. Советуем использовать новые дискеты
если вы выбрали этот способ установки.Если при попытке установки FreeBSD программа
установки рушится, зависает, или делает что-то не так, сразу
проверьте дискеты. Попробуйте записать образы
на новые дискеты и попытайтесь еще раз.Запись образов на дискетыФайлы с расширением .flp это
не обычные файлы, которые можно
записать на диск. Это образы всего содержимого диска.
Это означает, что вы не можете
просто скопировать их с одного диска на другой.
Вместо этого, нужно использовать
специальные утилиты для записи образов на диск.DOSЕсли вы записываете флоппи на компьютере под
&ms-dos;/&windows;, используйте утилиту
fdimage.Если вы используете образы с CDROM, и буква вашего
CDROM E:,
запустите ее так:E:\>tools\fdimage floppies\kern.flp A:Повторите эту команду для каждого файла
.flp, вставляя новую дискету каждый раз,
пометьте каждый диск именем файла, который вы скопировали на него.
Измените команду если потребуется, в зависимости от места, куда вы
поместили файлы .flp. Если у вас нет
CDROM, fdimage может быть загружена
из каталога tools FTP сервера FreeBSD.Если вы записываете дискеты под &unix; (например,
под другой системой FreeBSD), используйте утилиту &man.dd.1;
для записи образов непосредственно на дискеты. Под FreeBSD
запустите:&prompt.root; dd if=kern.flp of=/dev/fd0Под FreeBSD, /dev/fd0 означает первый
гибкий диск (диск A:).
/dev/fd1 будет диском
B:, и так далее. Другие &unix;
системы могут по-другому именовать устройства гибких дисков,
вам возможно понадобится прочитать документацию по
соответствующей системе.Теперь вы готовы к установке FreeBSD.Начало установкиКак правило, программа установки не будет производить никаких
изменений на дисках, пока не выдаст следующее сообщение:Last Chance: Are you SURE you want continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!Установка может быть прервана в любой момент до этого
предупреждения без каких-либо изменений на жестком диске. Если вы
считаете, что что-то настроили неправильно, можете просто
выключить компьютер без риска что-либо повредить.ЗагрузкаЗагрузка &i386;Компьютер выключен.Включите компьютер. После включения он должен показать
способ входа в меню установки BIOS, как правило это
клавиши F2, F10,
Del, или
AltS. Используете те клавиши, которые показаны на экране.
В некоторых случаях компьютер может показывать картинку после
запуска. Как правило, нажатие Esc уберет картинку
и позволит вам увидеть необходимую информацию.Найдите установки системы, указывающие ей с какого устройства
загружаться. Обычно они обозначаются как Boot Order,
и там как правило отображен список устройств, таких как
Floppy, CDROM,
First Hard Disk, и так далее.Если вы подготовили дискеты, убедитесь, что выбран
Floppy. Если вы загружаетесь с CDROM, убедитесь что
выбран он. Если вы не уверены, посмотрите руководство к
компьютеру и/или к его материнской плате.Сделайте изменения, затем сохраните их и выйдите. Компьютер
должен перезагрузиться.Если вы подготовили дискеты, как описано в разделе
, одна из них будет первым
загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в
дисковод.Если вы загружаетесь с CDROM, потребуется сначала
включить компьютер и вставить компакт-диск как только это станет
возможно.Если компьютер запускается как обычно, и загружает
существующую операционную систему, возможны следующие причины:Диск был вставлен недостаточно рано в процессе загрузки.
Оставьте его внутри и перегрузите компьютер.Установки BIOS, измененные ранее, действуют неправильно.
Надо изменять их их пока они не заработают.BIOS вашего компьютера не поддерживает загрузку с
выбранного типа носителя.FreeBSD начнет загрузку. Если загрузка происходит с CDROM, вы
увидите что-то вроде этого (информация о версии удалена):Verifying DMI Pool Data ........
Boot from ATAPI CD-ROM :
1. FD 2.88MB System Type-(00)
Uncompressing ... done
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive B: is disk1
BIOS drive C: is disk2
BIOS drive D: is disk3
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
|
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Если происходит загрузка с дискеты, вы увидите что-то вроде
этого (информация о версии удалена):Verifying DMI Pool Data ........
BTX loader 1.00 BTX version is 1.01
Console: internal video/keyboard
BIOS drive A: is disk0
BIOS drive C: is disk1
BIOS 639kB/261120kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8
/kernel text=0x277391 data=0x3268c+0x332a8 |
Please insert MFS root floppy and press enter:Следуя инструкциям, уберите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Загрузка AlphaAlphaКомпьютер выключен.Включите компьютер и дождитесь приглашения к загрузке
на мониторе.Если вы подготовили загрузочные дискеты, как описано в разделе
, одна из них будет
первым загрузочным диском; как правило, это дискета с
kern.flp. Вставьте эту дискету в дисковод
и наберите следующую команду для загрузки
(замените на имя вашего дисковода если потребуется):>>>BOOT DVA0 -FLAGS '' -FILE ''Если вы загружаетесь с CDROM, вставьте компакт-диск в
привод и наберите для начала установки следующую команду
(замените на имя соответствующего устройства
CDROM если потребуется):>>>BOOT DKA0 -FLAGS '' -FILE ''FreeBSD начнет загружаться. Если загрузка идет с дискет, через
некоторое время вы увидите сообщение:Please insert MFS root floppy and press enter:Следуя инструкциям, удалите дискету с
kern.flp, вставьте дискету с
mfsroot.flp и нажмите
Enter.Идет ли загрузка с дискет или с CDROM,
в процессе загрузки появится:Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [kernel] in 9 seconds... _Подождите десять секунд или нажмите Enter.
Будет запущено меню конфигурации ядра.Конфигурация ядра (kernel)Начиная с FreeBSD версии 5.0 и более поздних, userconfig
был удален в пользу метода &man.device.hints.5;. За более подробной
информацией о &man.device.hints.5; обращайтесь к kernel это ядро операционной системы.
В нем реализовано множество функций, включая доступ ко
всем устройствам, которые могут быть в системе, таким как
жесткие диски, сетевые карты, звуковые карты и т.д. Каждое устройство,
поддерживаемое ядром FreeBSD имеет свой драйвер. У каждого
драйвера есть имя из двух или трех букв, например sa
для драйвера последовательного доступа SCSI, или
sio
для драйвера последовательного ввода-вывода (который управляет
COM портами).Когда ядро загружено, каждый драйвер проверяет систему на
предмет наличия поддерживаемого оборудования. Если оно найдено,
драйвер конфигурирует оборудование и делает его доступным остальной
части ядра.Такая проверка обычно называется тестированием
устройства. К сожалению, это не всегда
безопасно. Некоторые драйвера конфликтуют между собой,
и проверка части оборудования иногда может привести другую
часть в неработоспособное состояние. Это основное ограничение
архитектуры PC.Многие старые устройства называются ISA — в
противоположность PCI. Стандарт ISA требует, чтобы в каждом
устройстве была прописана некоторая информация, обычно номер
Interrupt Request Line (IRQ) и адрес порта ввода-вывода, которые
используются драйвером. Эта информация обычно устанавливается
с использованием перемычек на карте, или с помощью DOS
утилиты.Часто это вызывало проблемы, поскольку было
невозможно использовать два устройства с одинаковыми IRQ или
адресами портов.Новые устройства поддерживают PCI стандарт, который не
требует установки параметров вручную, так как устройства способны
общаться с BIOS и договариваться, какие IRQ и адреса портов
ввода-вывода использовать.Если в вашем компьютере есть устройства ISA, FreeBSD
драйвер для этого устройства должен быть настроен с IRQ и
адресом порта установленными на карте. Для этого может
понадобиться собрать сведения об оборудовании ().К сожалению, номера IRQ и адреса портов, используемые
некоторыми драйверами, конфликтуют. Это потому, что некоторые
устройства ISA поставляются с конфликтующими номерами IRQ
или адресами портов. По умолчанию драйвера FreeBSD
предусмотрительно настроены для использования заводских установок,
поэтому будут работать столько устройств, сколько возможно.Это как правило не проблема при каждодневном использовании FreeBSD.
В компьютере обычно нет двух конфликтующих устройств,
поскольку в противном случае одно из них не будет работать
(независимо от используемой операционной системы).Это может стать проблемой при установке FreeBSD в первый раз,
потому что ядро, используемое для установки, собрано с максимальным
количеством драйверов для поддержки множества различных
конфигураций оборудования. Это означает, что некоторые из драйверов
имеют конфликтующие настройки. Устройства тестируются в строго
определенном порядке, и если у вас есть устройство, тестирующееся
позже, но конфликтующее с ранее протестированным устройством,
оборудование может не работать или быть некорректно протестировано
в процессе установки FreeBSD.Поэтому первое, что вы должны сделать при установке
FreeBSD — проверить список устройств, настроенных в
ядре. Отключите некоторые из них, если таких устройств нет.
Подтвердите (и измените) конфигурацию, если
это устройство присутствует, но установки по умолчанию неверны.Возможно, это звучит гораздо сложнее чем есть на самом деле.На показано главное меню
конфигурации ядра. Мы рекомендуем выбрать опцию
Start kernel configuration in full-screen visual
mode, так как это самый простой интерфейс для
нового пользователя.Меню конфигурации ядра&txt.install.userconfig;Экран конфигурации ядра ()
поделен на четыре части:Свернутый список устройств, помеченных как
active, поделен на группы, такие как
Storage, и Network.
Каждый драйвер показан в виде описания, имени из двух
или трех букв, используемых IRQ и порта. В дополнение,
если какой-либо активный драйвер конфликтует с другим
активным драйвером, после имени драйвера пишется
CONF. В этом разделе также показано
общее число конфликтующих активных драйверов. Драйверы, помеченные как неактивные. Они остаются в ядре,
но не будут тестировать свои устройства при загрузке ядра.
Они поделены на группы так же как и активные драйверы.Дополнительная информация о выбранном в данный момент
драйвере, включая IRQ и адрес порта.Информация об управляющих клавишах, доступных в данный
момент.Визуальный интерфейс конфигурации ядра&txt.install.userconfig2;Не беспокойтесь если появятся сообщения о конфликтах,
так и должно быть; все драйверы
включены и как уже объяснялось, некоторые из них будут
конфликтовать с другими.Сейчас вам нужно просмотреть список драйверов и
разрешить конфликты.Разрешение конфликтов драйверовНажмите X. Это полностью раскроет список
драйверов и вы сможете увидеть их все. Вам понадобятся
клавиши навигации для прокрутки назад и вперед в списке
активных драйверов. показывает результат
действия X. Развернутый список драйверовОтключите все драйвера устройств, которых у вас нет. Для
отключения драйвера, переместитесь к нему с помощью клавиш
навигации и нажмите Del. Драйвер будет
помещен в список Inactive Drivers.Если вы случайно отключили нужное устройство, нажмите
Tab для переключения на Inactive
Drivers, выберите отключенный драйвер, и
нажмите Enter, чтобы вернуть его обратно в список
активных драйверов.Не отключайте sc0. Он управляет
экраном, и он нужен, если только вы не производите установку
через последовательный порт.Отключайте atkbd0 только если
вы используете USB клавиатуру. Если клавиатура обычная,
оставьте atkbd0.Если конфликтов нет, можете пропустить этот этап.
В другом случае оставшиеся конфликты должны быть проверены. Если
они не помечены как allowed conflict в окне
сообщений, должны быть изменены или IRQ/адрес порта для
тестирования устройства, или IRQ/адрес порта
физического устройства.Для изменения IRQ и адреса порта ввода-вывода драйвера,
выберите устройство и нажмите Enter. Курсор
переместится в третье окно и вы сможете изменить значения.
вам нужно ввести значения IRQ и адреса порта, определенные
в процессе сбора информации об оборудовании.
Нажмите Q для завершения редактирования
конфигурации устройства и возвращения в список активных
устройств.Если вы не уверены, какими должны быть эти значения,
попробуйте использовать -1. Некоторые драйвера
FreeBSD могут безопасно протестировать оборудование
для определения правильных значений, и значение
-1 указывает им сделать это.Процедура изменения адреса физического устройства различна
для разных устройств. Для некоторых устройств вам может
понадобиться извлечь карту из компьютера и установить перемычки или
DIP переключатели. Другие устройства могут поставляться с DOS
дискетой, содержащей программы, используемые для перенастройки
карты. В любом случае, обращайтесь к документации, поставляемой
с устройством. Изменение адреса несомненно потребует
перезагрузки компьютера, так что вам потребуется опять
вернуться к процессу установки FreeBSD после
перенастройки карты.Когда все конфликты будут разрешены, экран будет выглядеть как
.Конфигурация драйверов без конфликтовКак видите, список активных драйверов стал гораздо меньше,
поскольку в нем только драйвера реально установленных
устройств.Теперь вы можете сохранить изменения и перейти к следующему
пункту установки. Нажмите Q для выхода из меню
конфигурации. Появится сообщение:Save these parameters before exiting? ([Y]es/[N]o/[C]ancel)Нажмите Y для сохранения параметров
в памяти (они будут сохранены на диск после завершения установки)
и тестирование начнется. После отображения белым по черному
результатов тестирования запустится
sysinstall
и отобразится главное меню
().Главное меню SysinstallПросмотр результатов тестирования устройствПоследние несколько сотен линий, отображенные на экране,
сохраняются и могут быть просмотрены.Для просмотра буфера нажмите Scroll Lock. Это
включит прокрутку экрана. Вы можете использовать клавиши навигации или
PageUp и PageDown для просмотра
результатов. Нажмите Scroll Lock еще раз для
отключения прокрутки.Сделайте это сейчас для просмотра текста, ушедшего за экран,
когда ядро закончило тестирование устройств. Вы увидите текст вроде
, хотя в деталях он будет отличаться
в зависимости от устройств, имеющихся в вашем компьютере.Типичный вывод Device Probeavail memory = 253050880 (247120K bytes)
Preloaded elf kernel "kernel" at 0xc0817000.
Preloaded mfs_root "/mfsroot" at 0xc0817084.
md0: Preloaded image </mfsroot> 4423680 bytes at 0xc03ddcd4
md1: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1:<VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <iSA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0 <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci
0
usb0: <VIA 83572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr1
uhub0: 2 ports with 2 removable, self powered
pci0: <unknown card> (vendor=0x1106, dev=0x3040) at 7.3
dc0: <ADMtek AN985 10/100BaseTX> port 0xe800-0xe8ff mem 0xdb000000-0xeb0003ff ir
q 11 at device 8.0 on pci0
dc0: Ethernet address: 00:04:5a:74:6b:b5
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xec00-0xec1f irq 9 at device 10.
0 on pci0
ed0 address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
orm0: <Option ROM> at iomem 0xc0000-0xc7fff on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/@ mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
pppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
plip0: <PLIP network interface> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master UDMA33
acd0: CD-RW <LITE-ON LTR-1210B> at ata1-slave PIO4
Mounting root from ufs:/dev/md0c
/stand/sysinstall running as init on vty0Внимательно проверьте результаты тестирования устройств и
убедитесь, что FreeBSD обнаружила все устройства какие нужно.
Если устройство не найдено, его не будет в списке. Если драйвер
устройства нуждается в настройке IRQ и адреса порта, проверьте,
введены ли они правильно.Если вам нужно внести изменения в UserConfig,
потребуется выйти из sysinstall
и начать сначала. Это также хороший путь познакомиться поближе с
процессом конфигурации.Выбор Sysinstall ExitИспользуйте клавиши навигации для выбора
Exit Install из главного меню.
Отобразится сообщение: User Confirmation Requested
Are you sure you wish to exit? The system will reboot
(be sure to remove any floppies from the drives).
[ Yes ] NoПрограмма установки запустится опять, если компакт-диск
остался в устройстве и было выбрано [Yes].Если вы загружаетесь с дискет, необходимо будет извлечь
дискету с mfsroot.flp и заменить ее дискетой с
kern.flp перед перезагрузкой.Введение в SysinstallУтилита sysinstall это программа
установки, предоставляемая проектом FreeBSD. Это консольное приложение,
разделенное на несколько меню и экранов, которые вы можете использовать
для настройки и управления процессом установки.Меню sysinstall управляется
клавишами навигации, Enter, пробелом, и
другими. Подробное описание клавиш и их функций содержится в информации
по использованию sysinstall.Для просмотра этой информации убедитесь, что выбраны пункт
Usage и кнопка
[Select], как показано на , затем нажмите Enter.Будут показаны инструкции по использованию меню. После
просмотра инструкций, нажмите Enterдля
возврата в главное меню.Выбор Usage в главном меню SysinstallВыбор меню документации (Doc)Из главного меню выберите клавишами навигации
Doc и нажмите Enter.Выбор меню документацииБудет отображено меню документации.Меню документации SysinstallРекомендуется прочитать предоставляемую документацию.Для просмотра документа выберите его с помощью клавиш
навигации и нажмите Enter. После
прочтения документа нажмите Enter для
возврата в меню документации.Для возврата в главное меню выберите
Exit с помощью клавиш навигации и
нажмите Enter.Выбор меню раскладки клавиатуры (Keymap)Для изменения раскладки клавиатуры выберите из меню с
помощью клавиш навигации Keymap
и нажмите Enter. Это потребуется только при
использовании нестандартной или не-US клавиатуры.Выбор меню раскладки клавиатурыРазличные раскладки клавиатуры могут быть выбраны из
меню с использованием клавиш навигации, затем следует
нажать Space. Нажатие Space
еще раз приведет к отмене выбора. Когда необходимые раскладки
будут выбраны, перейдите на &gui.ok; с помощью клавиш
навигации и нажмите Enter.На экран выведена только часть списка. Нажав
Tab, можно выбрать &gui.cancel;, вернуться к
раскладке по умолчанию и перейти к главному меню.Меню раскладки клавиатурыПараметры установки (Options)Выберите пункт Options
и нажмите Enter.Выбор параметров установкиПараметры SysinstallПараметры по умолчанию обычно устраивают большинство
пользователей и не нуждаются в изменении. Имя релиза зависит
от устанавливаемой версии.Описание выбранного пункта будет появляться внизу экрана
с синей подсветкой. Обратите внимание, что один из
параметров — Use Defaults,
означает сброс всех параметров к значениям по
умолчанию.Нажатие F1 отобразит справку
по различным параметрам.Нажатием Q можно перейти к
главному меню.Начало стандартной установки (Standart)Пункт Standard
рекомендуется для новых пользователей &unix; или FreeBSD.
Используйте клавиши навигации для выбора пункта
Standard, а затем нажмите
Enter для запуска установки.Начало стандартной установкиВыделение дискового пространстваВаша первая задача — выделить дисковое пространство под
FreeBSD и разметить его, чтобы sysinstall
могла его подготовить. Для этого вам нужно знать, как FreeBSD
ищет информацию на диске.Нумерация дисков в BIOSПеред установкой и настройкой FreeBSD
нужно позаботиться кое о чем, особенно если
жестких дисков несколько.DOSMicrosoft WindowsВ PC, работающем под BIOS-зависимой операционной
системой, такой как &ms-dos; или µsoft.windows;, BIOS
может отходить от обычного порядка нумерации дисков. Это
позволяет пользователю загружаться не только с так
называемого primary master диска. Это особенно
удобно для тех пользователей, кто обнаружил, что простейший и самый
дешевый путь делать резервную копию системы — купить второй
идентичный первому жесткий диск и регулярно делать копии первого
диска на второй, используя
Ghost
или XCOPY. Затем, если первый диск выйдет из
строя, будет заражен вирусом или поврежден из-за сбоя
операционной системы, он может быть легко восстановлен
путем логической перестановки дисков в BIOS. Это все равно
что переключить кабели дисков, но без вскрытия корпуса.SCSIBIOSБолее дорогостоящие системы со SCSI контроллерами
зачастую имеют расширения BIOS, позволяющие
сходным путем менять порядок до семи SCSI дисков.Пользователи, привыкшие пользоваться этими полезными
функциями, могут быть удивлены, что во FreeBSD результаты не
совпадают с ожидаемыми. FreeBSD не использует BIOS, и не
знает о логическом отображении дисков в BIOS. Это может
привести к очень сложным ситуациям, особенно когда диски
имеют одинаковую геометрию и содержат точную копию данных
друг друга.При использовании FreeBSD всегда восстанавливайте
настройки BIOS к первоначальной нумерации перед установкой
системы и оставляйте их в таком виде. Если вам понадобится
переключить диски, сделайте это, но путем физического
переконфигурирования, вскрыв корпус, переключив перемычки и
кабели.Рассказ о необыкновенных приключениях файлов Билла и Фреда:Билл разобрал старый Wintel компьютер, чтобы
сделать еще один компьютер под FreeBSD для Фреда. Билл
установил один SCSI диск как нулевое устройство
SCSI и поставил на него FreeBSD.Фред начал использовать систему, но через
несколько дней обнаружил, что старый SCSI диск сообщает
о множестве сбоев и сказал об этом Биллу.Еще через несколько дней Билл решил, что настало
время решить проблему, и достал такой же SCSI диск
из заначки в кладовке. Первая проверка
поверхности показала, что диск работает нормально;
Билл установил этот диск как четвертое устройство
SCSI и скопировал образ диска с нулевого устройства
на четвертое. Теперь, когда новый диск был
установлен и отлично работал, Билл решил что
неплохо бы начать использовать его, и с помощью
функции SCSI BIOS поменял порядок дисков, чтобы
система могла грузиться с четвертого устройства
SCSI. FreeBSD загрузилась и работала без
проблем.Фред поработал еще несколько дней, и скоро они с
Биллом решили, что настало время для нового
приключения — время обновить версию FreeBSD. Билл
удалил нулевое устройство SCSI, потому что оно
подглючивало, и установил на его место такой же диск из
заначки. Затем Билл установил новую версию
FreeBSD на новое нулевое устройство SCSI используя
дискеты Фреда с интернет сервера FTP. Установка прошла
отлично.Фред использовал новую версию FreeBSD несколько
дней и удостоверился, что она вполне подходит для работы
в инженерном отделе. Настало время скопировать все
архивы со старого диска. Фред смонтировал четвертое
устройство SCSI (последнюю копию старой версии
FreeBSD) и обнаружил, что ни одного из его
драгоценных файлов на четвертом устройстве SCSI
нет.Куда делись данные?Когда Билл сделал копию с нулевого устройства
SCSI на четвертое устройство SCSI, оно стало
клоном. Когда Билл поменял настройки SCSI BIOS,
чтобы загрузиться с четвертого устройства SCSI, он
всего лишь обманул сам себя. FreeBSD все еще
работала с нулевого устройства SCSI. Изменение этих
настроек BIOS привело к загрузке части кода Boot и
Loader с выбранного в BIOS диска, но после загрузки
драйверов FreeBSD настройки BIOS были
проигнорированы, и FreeBSD вернулась к нормальной
нумерации. Как показано на пальцах, система
продолжила работать с нулевым устройством SCSI, и
все данные Фреда остались там, а не на четвертом
устройстве SCSI. То, что система грузилась с
четвертого устройства SCSI, было всего лишь
обманутыми ожиданиями.Мы рады упомянуть, что данные не были уничтожены
или повреждены при нашем исследовании этого
феномена. Старое нулевое устройство SCSI было
вытащено из груды железа, и все файлы Фреда
вернулись к нему.Хотя в этом рассказе были использованы SCSI
диски, с IDE дисками все точно так же.Создание слайсов с использованием FDiskВнесенные вами изменения не будут записываться на диск сразу.
Если вы думаете, что сделали ошибку, и хотите начать сначала, можете
использовать меню для выхода из sysinstall
и попробовать еще раз или нажатием U вызвать
опцию Undo (отмена). Если вы запутались и не можете выйти, просто
выключите компьютер.После начала стандартной установки в
sysinstall будет показано это
сообщение: Message
In the next menu, you will need to set up a DOS-style ("fdisk")
partitioning scheme for your hard disk. If you simply wish to devote
all disk space to FreeBSD (overwriting anything else that might be on
the disk(s) selected) then use the (A)ll command to select the default
partitioning scheme followed by a (Q)uit. If you wish to allocate only
free space to FreeBSD, move to a partition marked "unused" and use the
(C)reate command.
[ OK ]
[ Press enter or space ]Нажмите Enter как предлагается. Будет
показан список всех жестких дисков, обнаруженных ядром во время
тестирования устройств.
показывает пример системы
с двумя IDE дисками. Они были названы
ad0 и ad2.Выберите диск для FDiskВы можете быть удивлены, почему устройства
ad1 здесь нет. Почему оно было
пропущено?Предположим, что у вас есть два жестких диска IDE, один
master на первом контроллере IDE, а второй master на
втором контроллере IDE. Если FreeBSD пронумерует их
в том порядке, в котором нашла, ad0 и
ad1, все будет работать.Но если вы добавите третий диск, как slave устройство на
первый контроллер IDE, он станет ad1,
а предыдущий ad1 станет
ad2. Поскольку имена устройств (таких как
ad1s1a) используются для обращения к
файловым системам, вы можете вдруг обнаружить, что некоторые из ваших
файловых систем больше не отображаются правильно и вам потребуется
изменить конфигурацию FreeBSD.Для обхода этой проблемы, ядро может быть настроено так, чтобы
именовать IDE диски на основе их местоположения, а не порядка, в
котором они были найдены. С этой схемой master диск на втором
контроллере IDE будет всегда устройством
ad2, если даже нет устройств
ad0 или ad1.Это конфигурация ядра FreeBSD по умолчанию, поэтому
на экране показаны ad0 и
ad2. У компьютера, с которого был взят этот
снимок экрана, есть по одному IDE диску на обеих master каналах IDE
контроллеров и ни одного диска на каналах slave.Вы должны выбрать диск, на который хотите установить FreeBSD,
и нажать &gui.ok;.
Запустившийся FDisk будет выглядеть
примерно как .Экран FDisk разбит на три
секции.Первая секция, занимающая первые две линии экрана, показывает
подробную информацию о выбранном в данный момент диске, включая его
имя во FreeBSD, геометрию и общий размер диска.Вторая секция показывает имеющиеся в данный момент на диске слайсы,
где они начинаются и заканчиваются, их размер, имя, которое им дала
FreeBSD, описание и подтип. На этом примере показаны два маленьких
неиспользованных слайса, которые являются артефактами схемы разметки
диска на PC. Также показан один большой FAT слайс, который почти всегда
является диском C: в &ms-dos; / &windows;, и
дополнительный слайс, который может содержать диски с другими буквами
для &ms-dos; / &windows;.Третья секция показывает команды, доступные в
FDisk.Типичные разделы fdisk перед редактированиемВаши действия теперь будут зависеть от того, как вы хотите разбить
диск на слайсы.Если вы хотите использовать для FreeBSD весь диск (это приведет
к удалению всех других данных на этом диске когда вы подтвердите
sysinstall продолжение процесса установки),
нажмите A, что соответствует опции
Использовать весь диск (Use Entire Disk).
Существующие слайсы будут удалены, и заменены на небольшую область,
помеченную как неиспользуемая (unused)
(это опять же артефакт разметки диска PC), и один большой слайс для
FreeBSD. Когда вы сделаете это, нужно выбрать вновь созданный
слайс FreeBSD используя клавиши навигации, а затем нажать
S, чтобы сделать слайс загрузочным. Экран будет
похож на . Обратите внимание, что
A в колонке Flags означает, что
слайс активен и с него будет происходить
загрузка.Если вы будете удалять существующий слайс для освобождения места
под FreeBSD, выберите слайс, используя клавиши навигации, и нажмите
D. Затем можете нажать C,
и получить приглашение на ввод размера слайса, который вы хотите
создать. Введите соответствующее значение и нажмите
Enter. Значение по умолчанию в этом поле
означает наибольший размер слайса, который может быть выбран;
это может быть наибольший непрерывный блок неразмеченного
пространства или размер всего жесткого диска.Если вы уже освободили место для FreeBSD (возможно, используя
утилиту похожую на &partitionmagic;),
можете нажать C для создания нового слайса.
Будет также предложено ввести размер слайса, который вы
хотите создать.Разбиение в Fdisk с использованием всего дискаКогда закончите, нажмите Q. Изменения будут
сохранены в sysinstall, но еще не
записаны на диск.Установка менеджера загрузки (Boot Manager)Теперь вам предлагается установить менеджера загрузки. Как
правило, нужно выбрать установку менеджера загрузки если:У вас больше чем один диск и вы устанавливаете FreeBSD не на
первый диск.Вы устанавливаете FreeBSD вместе с другой операционной
на один и тот же диск, и хотите выбирать при загрузке FreeBSD
или другую операционную систему.Если FreeBSD единственная операционная система, установленная
на этом компьютере, и находится на первом жестком диске,
подойдет менеджер загрузки Standard.
Выберите None если вы используете
менеджер загрузки сторонних разработчиков, способный загрузить
FreeBSD.Сделайте выбор и нажмите Enter.Меню менеджера загрузки SysinstallЭкран подсказки, вызываемый по нажатию F1,
описывает проблемы, которые могут быть встречены при попытке
совместного использования диска операционными системами.Создание слайсов на другом дискеЕсли дисков больше чем один, вернитесь к экрану выбора дисков
(Select Drives) после выбора менеджера загрузки. Если вы собираетесь
устанавливать FreeBSD более чем на один диск, можете выбрать другой
диск и повторить процесс разбиения на слайсы с использованием
FDisk.Если вы устанавливаете FreeBSD не на первый жесткий диск,
потребуется установить менеджер загрузки FreeBSD на оба
диска.Выход из выбора дискаКлавиша Tab переключает между последним выбранным
диском, &gui.ok;, и
&gui.cancel;.Нажмите Tab один раз для выбора
&gui.ok;, затем нажмите Enter
для продолжения установки.Создание разделов с помощью
DisklabelТеперь вы должны создать несколько разделов внутри каждого только
что созданного слайса. Запомните, что у каждого раздела есть буква с
a до h, а
разделы b, c, и
d имеют соглашения, которых вы должны
придерживаться.Некоторые приложения могут выигрывать от определенных схем
разделов, особенно если у вас разделы на более чем одном диске.
Тем не менее, для вашей первой установки FreeBSD не нужно
слишком углубляться в принципы разбиения диска. Более важно
установить FreeBSD и начать ее использовать. Вы всегда можете
переустановить FreeBSD для изменения схемы разделов, когда поближе
познакомитесь с операционной системой.Эта схема показывает четыре раздела — один для подкачки и
три для файловых систем.
Планирование разделов для первого дискаРазделФайловая системаРазмерОписаниеa/100 MBКорневая файловая система. Любая другая файловая
система будет смонтирована на эту. 100 MB это подходящий
размер для этой файловой системы. Вы не будете хранить на
ней слишком много данных, а обычная установка FreeBSD
разместит здесь около 40 MB данных. Оставшееся
пространство используется для временных файлов, а также
оставляет возможность расширения для будущих версий FreeBSD,
которым может понадобится больше места в
/.bN/A2-3 x RAMЗдесь находится раздел подкачки. Выбор правильного
размера раздела подкачки это немного искусство. Хороший
практический способ выбрать размер подкачки это установить
его равным двум или трем размерам доступной физической
памяти (RAM). Должно быть хотя бы 64 MB подкачки;
если в компьютере меньше чем 32 MB памяти —
установите размер подкачки равным 64 MB.
Если у вас больше одного диска, можно расположить подкачку
на каждом диске. FreeBSD будет использовать каждый диск,
что серьезно увеличит скорость подкачки. В этом
случае, определите общий размер подкачки, который вам нужен
(например, 128 MB),
и поделите его на число имеющихся дисков (например, два)
для определения размера разделов подкачки, которые нужно
разместить на каждом вашем диске, в этом примере 64 MB на
диск.e/var50 MBКаталог /var содержит файлы, которые
постоянно меняются; логи и другие административные файлы.
Многие из этих файлов интенсивно читаются и записываются
в процессе ежедневной работы FreeBSD. Размещение их
на отдельной файловой системе позволяет FreeBSD
оптимизировать доступ к этим файлам без затрагивания
других каталогов, не имеющих такой же модели доступа.f/usrОстальная часть дискаВсе другие файлы как правило хранятся в каталоге
/usr и его подкаталогах.
Если вы устанавливаете FreeBSD более чем на один диск, вы
должны также создать разделы в других слайсах, которые
настроили. Простейший путь сделать это — создать два раздела
на каждом диске, один для подкачки, а другой для файловой
системы.
Разметка разделов для остальных дисковРазделФайловая системаРазмерОписаниеbN/AСмотрите описаниеКак уже обсуждалось, вы можете распространить подкачку
на каждый диск. Даже если раздел a
свободен, соглашение говорит о том, что подкачка находится
на разделе b.e/disknОстальная часть дискаОстальная часть диска занята одним большим разделом.
Он легко может быть помещен на раздел a
вместо раздела e. Однако, соглашение
говорит что раздел a зарезервирован на
слайсе для корневой (/) файловой системы.
вы можете не следовать этому соглашению, но программа
sysinstall будет ему следовать,
поэтому приняв его, вы сделаете установку несколько проще.
вы можете монтировать эти файловые системы к любой точке; в
этом примере предлагается смонтировать их как каталоги
/diskn, где
n это номер, который уникален для
каждого диска. Но вы можете использовать другую схему, если
захотите.
Теперь, выбрав разметку разделов, можете приступить к их
созданию в sysinstall. Вы увидите
это сообщение: Message
Now, you need to create BSD partitions inside of the fdisk
partition(s) just created. If you have a reasonable amount of disk
space (200 MB or more) and don't have any special requirements, simply
use the (A)uto command to allocate space automatically. If you have
more specific needs or just don't care for the layout chosen by
(A)uto, press F1 for more information on manual layout.
[ OK ]
[ Press enter or space ]Нажмите Enter для запуска редактора разделов
FreeBSD, называемого Disklabel. показывает экран только что
запущенного Disklabel. Экран поделен
на три раздела.Первые несколько линий показывают имя диска, с которым вы сейчас
работаете и слайс, содержащий раздел который вы создаете (здесь
Disklabel называет это
именем раздела (Partition name) вместо имени
слайса). Этот экран также показывает объем свободного пространства на
слайсе; т.е. пространство, выделенное под слайс, но еще не отданное
под раздел.В центре экрана показаны уже созданные разделы, имена файловых
систем, содержащихся в разделах, их размер и некоторые опции,
применяемые при создания файловых систем.Нижняя треть экрана показывает управляющие клавиши, работающие в
Disklabel.Редактор Sysinstall DisklabelDisklabel может автоматически создать
разделы и присвоить им размеры по умолчанию. Попробуйте это, нажав
A. Вы увидите экран как на
. В зависимости от размера диска,
значения по умолчанию могут подходить или
не подходить вам. Это не имеет значения, если вы не принимаете
их.Начиная с FreeBSD 4.5, по умолчанию под каталог
/tmp выделяется собственный раздел вместо
использования части раздела /. Это
помогает избежать заполнения раздела /
временными файлами.Редактор Sysinstall Disklabel с установками по умолчаниюЕсли вы решили не использовать разделы по умолчанию и
заменить их на свои,
используйте клавиши навигации для выбора первого раздела, затем
нажмите D для его удаления. Повторите это для
удаления всех предложенных разделов.Для создания первого раздела (a, монтируемого
как / — root), убедитесь, что выбран
соответствующий слайс
вверху экрана и нажмите C. Появится диалог,
предлагающий выбрать размер нового раздела (как показано в
). Вы можете ввести количество
блоков диска, или количество мегабайт с
M после номера, или гигабайт с
G, или цилиндров с C.Начиная с FreeBSD 5.X, пользователи могут: выбирать
UFS2, используя опцию Custom Newfs
(Z), использовать опцию
Auto Defaults и изменять параметры с помощью
опции Custom Newfs, или
добавлять опцию в процессе создания раздела.
Не забудьте добавить для включения SoftUpdates
если вы используете опциюCustom Newfs!Свободное место для корневого разделаРазмер по умолчанию задан для создания корневого раздела на
весь слайс. Если вы используете размеры разделов, описанные ранее в примере,
удалите это значение используя Backspace,
а затем введите 64M, как показано на
. Затем нажмите
&gui.ok;.Редактирование размера корневого разделаПосле указания размера раздела вам будет задан вопрос, должен ли
этот раздел содержать файловую систему или раздел подкачки. Диалог
показан на . Первый раздел
будет содержать файловую систему, поэтому проверьте, что выбрана
FS и нажмите
Enter.Выбор типа корневого разделаНаконец, поскольку вы создаете файловую систему, нужно сказать
Disklabel где файловая система будет
смонтирована. Диалог показан на
. Точка монтирования
корневой файловой системы /, поэтому введите
/, и нажмите Enter.Выбор точки монтирования корневой файловой системыНа экране будет показан вновь созданный раздел. Вам нужно
повторить эту процедуру для других разделов. При создании
раздела подкачки вопроса про точку монтирования не будет,
поскольку раздел подкачки никогда не монтируется. Когда будете
создавать последний раздел, /usr, можете оставить
предложенный размер как есть, чтобы использовать весь остаток
слайса.Последний экран FreeBSD редактора DiskLabel будет похож на
, хотя ваш выбор значений может
быть другим. Нажмите Q, чтобы выйти.Редактор Sysinstall DisklabelВыбор устанавливаемых компонентовВыбор дистрибутивного набора (Distribution Set)Выбор дистрибутивного набора зависит в основном от направления
будущего использования системы и от доступного дискового
пространства. Предустановленные опции варьируются от наименьшей
возможной конфигурации до полной установки. Для новичков в
&unix; и/или FreeBSD лучшим выбором будет одна из этих
предустановленных опций. Настройка дистрибутивного набора
как правило нужна более опытным пользователям.Нажмите F1 для получения информации о
дистрибутивных наборах и их содержимом. После просмотра помощи
нажмите Enter для возврата к меню выбора
дистрибутивного набора.Если желательно наличие графического интерфейса пользователя,
должен быть выбран дистрибутивный набор с названием, начинающимся
на X. Настройка &xfree86;
и выбор десктопа по умолчанию — часть послеустановочного
процесса.Устанавливаемая по умолчанию версия
&xfree86; зависит от устанавливаемой версии
FreeBSD. Для версий FreeBSD ниже 4.6 устанавливается
&xfree86; 3.X. Для FreeBSD 4.6 и выше,
версия по умолчанию &xfree86; 4.X.Проверьте на веб-сайте
&xfree86; поддерживается ли ваша видеокарта. Если
видеокарта не поддерживается в версии по умолчанию, которую устанавливает
FreeBSD, выберите дистрибутивный набор без X. После установки
установите и настройте соответствующую версию
&xfree86; используя коллекцию портов.Если планируется пересборка ядра, выберите опцию, включающую
исходные тексты. Информация о том, зачем пересобирать ядро и
как это сделать, находится на .Ясно, что наиболее универсальная система включает все.
Если места на диске достаточно, выберите
All, как показано на
и нажмите
Enter. Если есть сомнения относительно того,
хватит ли диска, используйте наиболее подходящую опцию.
Не беспокойтесь о том, какой выбор будет наилучшим, другие
части дистрибутива могут быть добавлены после установки.Выбор дистрибутивных наборовУстановка коллекции портовПосле выбора подходящего дистрибутива можно будет выбрать
установку коллекции портов FreeBSD. Коллекция портов —
легкий и удобный путь установки программ. Коллекция портов не
содержит исходных кодов программ. Это набор файлов, который
автоматизирует загрузку, компилирование и установку
пакетов программного обеспечения сторонних разработчиков.
показывает как использовать коллекцию
портов.Программа установки не проверяет, есть ли достаточно места.
Выберите эту опцию только если его достаточно. В
FreeBSD &rel.current;, коллекция портов занимает около
&ports.size;. В более современных релизах это значение
всегда больше. User Confirmation Requested
Would you like to install the FreeBSD ports collection?
This will give you ready access to over &os.numports; ported software packages,
at a cost of around &ports.size; of disk space when "clean" and possibly much
more than that if a lot of the distribution tarballs are loaded
(unless you have the extra CDs from a FreeBSD CD/DVD distribution
available and can mount it on /cdrom, in which case this is far less
of a problem).
The ports collection is a very valuable resource and well worth having
on your /usr partition, so it is advisable to say Yes to this option.
For more information on the ports collection & the latest ports,
visit:
http://www.FreeBSD.org/ports
[ Yes ] NoВыберите [ Yes ] для установки
коллекции портов, или [ No ], чтобы
пропустить установку. Нажмите Enter, чтобы продолжить.
Меню выбора дистрибутивных наборов появится опять.Подтверждение выбора дистрибутивного набораЕсли вы согласны с выбранными опциями, переместитесь на
Exit, убедитесь что выбран
&gui.ok; и нажмите
Enter, чтобы продолжить.Выбор источника для установкиПри установке с CDROM или DVD используйте клавиши навигации, для перехода к
Install from a FreeBSD CD/DVD. Убедитесь
что выбран &gui.ok; и нажмите
Enter для запуска установки.При других методах установки выберите соответствующую опцию и
следуйте инструкциям.Нажмите F1 для просмотра справки по
источникам установки. Нажмите Enter для возврата к
меню выбора источника установки.Выбор источника установкиРежимы установки с FTPinstallationnetworkFTPЕсть три режима установки через FTP, которые вы можете выбрать:
активный FTP, пассивный FTP, или через HTTP прокси.Активный FTP: Install from an FTP
serverС этой опцией все закачки по FTP будут выполнены в
активном режиме. Этот режим не позволяет
работать через файрволл, но зачастую позволяет работать
со старыми серверами FTP, не поддерживающими пассивный
режим. Если соединение прерывается в пассивном режиме
(по умолчанию), попробуйте активный!Пассивный FTP: Install from an FTP server through a
firewallFTPПассивный режимЭта опция говорит sysinstall использовать
пассивный режим для работы с FTP.
Он позволяет работать через файрволл, не разрешающий
входящие соединения на случайных TCP портах.FTP через HTTP прокси: Install from an FTP server
through a http proxyFTPчерез HTTP проксиЭта опция говорит sysinstall использовать HTTP
протокол (как веб браузер) для работы с FTP через
прокси. Прокси будет транслировать все
запросы и посылать их на FTP сервер. Это позволяет
проходить через файрволл, на котором FTP запрещен,
но есть HTTP прокси. В этом случае
потребуется указать прокси и FTP сервер.Для работы с FTP через прокси, необходимо поместить имя
сервера как часть имени пользователя после знака
@. Прокси сервер обманет
настоящий сервер. Например, предположим что вы хотите провести
установку с ftp.FreeBSD.org, используя FTP
через прокси foo.example.com,
прослушивающем порт 1024.в этом случае, войдите в меню параметров, установите имя
пользователя FTP ftp@ftp.FreeBSD.org, а вместо
пароля введите свой адрес email. В качестве источника установки
выберите FTP (или пассивный FTP, если прокси его поддерживает), и URL
ftp://foo.example.com:1234/pub/FreeBSD.Так как /pub/FreeBSD с сервера
ftp.FreeBSD.org идет через прокси
foo.example.com, вы сможете провести
установку с этого компьютера (файлы будут загружены с
ftp.FreeBSD.org как требуется для
установки).Подтверждение установкиТеперь можно начинать установку. Это последний шанс
отменить установку и таким образом избежать изменений на жестком
диске. User Confirmation Requested
Last Chance! Are you SURE you want to continue the installation?
If you're running this on a disk with data you wish to save then WE
STRONGLY ENCOURAGE YOU TO MAKE PROPER BACKUPS before proceeding!
We can take no responsibility for lost disk contents!
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter, чтобы начать.Время установки сильно зависит от выбранного дистрибутивного набора,
источника установки и скорости компьютера.
Появится несколько сообщений о статусе процесса установки.Установка будет завершена когда отобразится следующее
сообщение: Message
Congratulations! You now have FreeBSD installed on your system.
We will now move on to the final configuration questions.
For any option you do not wish to configure, simply select No.
If you wish to re-enter this utility after the system is up, you may
do so by typing: /stand/sysinstall .
[ OK ]
[ Press enter to continue ]Нажмите Enter для начала послеустановочной
настройки.Выбор [ No ] и нажатие
Enter прервет процесс установки,
изменения в систему внесены не будут. Появится следующее
сообщение: Message
Installation complete with some errors. You may wish to scroll
through the debugging messages on VTY1 with the scroll-lock feature.
You can also choose "No" at the next prompt and go back into the
installation menus to retry whichever operations have failed.
[ OK ]Это сообщение появилось поскольку ничего не было установлено.
Нажатие Enter вернет вас в главное меню установки,
чтобы выйти из нее.После установкиПосле успешной установки необходимо настроить множество параметров.
Некоторые параметры могут быть заданы из меню параметров после установки
перед загрузкой установленной FreeBSD или после с использованием
/stand/sysinstall, где надо выбрать пункт
Configure.Настройка сетевых устройств (Network Device Configuration)Если вы настраивали PPP для установки через FTP, этот экран
не появится, настройку можно будет произвести позже как описано
выше.Чтобы лучше узнать о локальных сетях и настройке
FreeBSD в качестве шлюза/маршрутизатора, обратитесь к главе
Advanced Networking. User Confirmation Requested
Would you like to configure any Ethernet or SLIP/PPP network devices?
[ Yes ] NoДля настройки сетевого устройства выберите
[ Yes ] и нажмите Enter.
Или нажмите [ No ], чтобы продолжить.Выбор Ethernet устройстваВыберите интерфейс для настройки с помощью клавиш навигации и
нажмите Enter. User Confirmation Requested
Do you want to try IPv6 configuration of the interface?
Yes [ No ]Для частной локальной сети обычный протокол интернет
(IPv4) вполне достаточен, поэтому выбрана кнопка
[ No ] и нажат Enter.Если вы хотите подсоединиться к существующей сети
IPv6 через сервер RA,
выберите [ Yes ] и нажмите
Enter. Поиск RA серверов займет несколько
секунд. User Confirmation Requested
Do you want to try DHCP configuration of the interface?
Yes [ No ]Если DHCP (Dynamic Host Configuration Protocol) не нужен,
выберите [ No ] с помощью клавиш навигации и
нажмите Enter.Выбор [ Yes ] запустит
dhclient, и если все пройдет нормально,
заполнит информацию о конфигурации сети автоматически. Обратитесь
к за более подробными сведениями.Следующий экран конфигурации сети показывает настройку
устройства Ethernet системы, которая будет работать шлюзом
для локальной сети.Настройка сети для ed0Используйте Tab для выбора полей и заполнения
их соответствующими данными:HostПолное имя хоста, в этом примере
k6-2.example.com.DomainИмя домена, в котором находится ваш компьютер,
в этом примере example.com.IPv4 GatewayIP хоста, пересылающего пакеты наружу локальной сети.
Вам потребуется заполнить его, если это компьютер, подключенный к
сети. Оставьте это поле пустым,
если компьютер является шлюзом в интернет для сети.
Шлюз IPv4 известен также как шлюз по умолчанию или маршрут
по умолчанию.Name serverIP адрес местного сервера DNS. В этой локальной сети
нет DNS сервера, поэтому использован IP адрес DNS сервера
провайдера (208.163.10.2).IPv4 addressIP адрес, использованный для этого интерфейса,
192.168.0.1NetmaskАдрес блока, использованного для этой локальной сети,
это блок класса C
(192.168.0.0 -
192.168.255.255).
Маска по умолчанию дана для сети класса C
(255.255.255.0).Дополнительные параметры для ifconfigЛюбые специфичные для интерфейса опции к
ifconfig, которые вы хотите добавить.
В данном случае ничего.Используйте Tab для выбора &gui.ok;
после окончания настройки и нажмите Enter. User Confirmation Requested
Would you like to Bring Up the ed0 interface right now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter введет компьютер в сеть.
Тем не менее, компьютеру все еще требуется перезагрузка.Настройка шлюза (Configure Gateway) User Confirmation Requested
Do you want this machine to function as a network gateway?
[ Yes ] NoЕсли компьютер будет шлюзом для локальной сети, пересылая
пакеты между другими компьютерами, выберите
[ Yes ] и нажмите Enter.
Если это обычный компьютер, выберите [ No ]
и нажмите Enter для продолжения.Настройка сервисов интернет (Configure Internet Services) User Confirmation Requested
Do you want to configure inetd and the network services that it provides?
Yes [ No ]Если выбрана [ No ], различные сервисы,
такие как telnetd не будут запущены. Это
означает, что удаленные пользователи не смогут зайти по
telnet на этот компьютер. Локальные
пользователи все же смогут заходит на удаленные компьютеры по
telnet.Эти сервисы могут быть включены после установки путем
редактирования /etc/inetd.conf с помощью вашего
любимого текстового редактора. Обращайтесь к
за более подробной информацией.Выберите [ Yes ] если хотите настроить
эти сервисы во время установки. Появится дополнительный запрос
подтверждения: User Confirmation Requested
The Internet Super Server (inetd) allows a number of simple Internet
services to be enabled, including finger, ftp and telnetd. Enabling
these services may increase risk of security problems by increasing
the exposure of your system.
With this in mind, do you wish to enable inetd?
[ Yes ] NoНажмите [ Yes ], чтобы продолжить. User Confirmation Requested
inetd(8) relies on its configuration file, /etc/inetd.conf, to determine
which of its Internet services will be available. The default FreeBSD
inetd.conf(5) leaves all services disabled by default, so they must be
specifically enabled in the configuration file before they will
function, even once inetd(8) is enabled. Note that services for
IPv6 must be separately enabled from IPv4 services.
Select [Yes] now to invoke an editor on /etc/inetd.conf, or [No] to
use the current settings.
[ Yes ] NoВыбор [ Yes ] позволит добавить сервисы
путем удаления # перед началом строки.Редактирование inetd.confПосле добавления нужных сервисов нажатие Esc
отобразит меню, позволяющее выйти с сохранением изменений.Анонимный (Anonymous) FTP User Confirmation Requested
Do you want to have anonymous FTP access to this machine?
Yes [ No ]Запрещение анонимного FTPВыбор кнопки по умолчанию [ No ] и нажатие
Enter все же позволит пользователям, имеющим учетные
записи с паролями, использовать FTP для доступа к компьютеру.Разрешение анонимного FTPКто угодно сможет получить доступ к компьютеру если
вы разрешите анонимные соединения FTP. Предварительно должны быть
рассмотрены возможные осложнения с безопасностью. Более подробная
информация о безопасности доступна на
.Чтобы разрешить анонимный FTP, используя клавиши навигации
выберите [ Yes ] и нажмите
Enter. Появится следующий (или похожий)
экран:Настройка по анонимного FTP по умолчаниюНажатие F1 отобразит справку:This screen allows you to configure the anonymous FTP user.
The following configuration values are editable:
UID: The user ID you wish to assign to the anonymous FTP user.
All files uploaded will be owned by this ID.
Group: Which group you wish the anonymous FTP user to be in.
Comment: String describing this user in /etc/passwd
FTP Root Directory:
Where files available for anonymous FTP will be kept.
Upload subdirectory:
Where files uploaded by anonymous FTP users will go.Корневой каталог ftp по умолчанию будет размещен в
/var. Если в нем предположительно не хватает
места для для нужд FTP, можно использовать каталог
/usr, выбрав корневой каталог FTP
(FTP Root Directory) /usr/ftp.Когда будут выбраны подходящие значения, нажмите
Enter, чтобы продолжить. User Confirmation Requested
Create a welcome message file for anonymous FTP users?
[ Yes ] NoЕсли вы выберете [ Yes ] и нажмете
Enter, запустится редактор, позволяющий
отредактировать сообщение FTP.Редактирование FTP Welcome MessageЭтот текстовый редактор называется ee.
Используйте инструкции, чтобы изменить сообщение, или измените
сообщение позже, используя выбранный вами редактор. Обратите
внимание, что имя/расположение файла показаны внизу окна
редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor
(выйти из редактора). Нажмите Enter, чтобы выйти и
продолжить. Нажмите Enter еще раз, чтобы
сохранить изменения, если они были сделаны.Настройка сетевой файловой системы (Configure Network File System)Сетевая файловая система (Network File System, NFS) позволяет
совместно использовать файлы в сети. Компьютер может быть настроен
как сервер, клиент, или как то и другое. Обратитесь к
за более подробной информацией.Сервер NFS (NFS Server) User Confirmation Requested
Do you want to configure this machine as an NFS server?
Yes [ No ]Если вам не нужен NFS сервер, выберите
[ No ] и нажмите
Enter.Если выбран пункт [ Yes ], появится
сообщение, говорящее о том, что должен быть создан файл
exports. Message
Operating as an NFS server means that you must first configure an
/etc/exports file to indicate which hosts are allowed certain kinds of
access to your local filesystems.
Press [Enter] now to invoke an editor on /etc/exports
[ OK ]Нажмите Enter, чтобы продолжить. Запустится
текстовый редактор, позволяющий создать и отредактировать файл
exports.Редактирование exportsИспользуйте инструкции для добавления экспортируемых файловых
систем сейчас, или позднее с помощью выбранного вами текстового
редактора. Обратите внимание, что имя/расположение файла показаны
внизу окна редактора.Нажмите Esc и появится меню с пунктом по
умолчанию a) leave editor. Нажмите
Enter, чтобы выйти и продолжить.Клиент NFS (NFS Client)NFS клиент позволяет организовать доступ к серверам NFS. User Confirmation Requested
Do you want to configure this machine as an NFS client?
Yes [ No ]С помощью клавиш навигации выберите [ Yes ]
или [ No ], как потребуется, и нажмите
Enter.Профиль безопасности (Security Profile)Профиль безопасности это набор параметров
настройки, с помощью которого делается попытка достичь
требуемого уровня безопасности и удобства путем разрешения или
запрещения запуска определенных программ и другими настройками.
Чем строже профиль безопасности, тем меньше программ будет
запущено по умолчанию. Это один из основных принципов безопасности:
не запускайте ничего кроме того что необходимо.Имейте ввиду, что профиль безопасности это лишь установка по
умолчанию. Любая программа может быть запущена или остановлена
после установки FreeBSD путем редактирования или добавления
соответствующих строк в /etc/rc.conf.
Для получения более подробной информации обратитесь к странице
справочника &man.rc.conf.5;.Следующая таблица описывает действие каждого профиля безопасности.
Колонки показывают выбранный вами профиль безопасности, а ряды
— программы или функции, которые профиль включает или
выключает.
Возможные профили безопасностиExtreme (Максимальный)Moderate (Умеренный)&man.sendmail.8;НЕТДА&man.sshd.8;НЕТДА&man.portmap.8;НЕТМОЖЕТ БЫТЬ
Portmapper включен, если компьютер был настроен в
процессе установки как NFS клиент или сервер.NFS serverНЕТДА&man.securelevel.8;ДА
Если вы выберете профиль безопасности с уровнем
Extreme или
High, будьте готовы к последствиям.
Прочитайте страницу справочника &man.init.8;
и уделите некоторое внимание значениям уровней
безопасности, или позже могут возникнуть
серьезные проблемы!НЕТ
User Confirmation Requested
Do you want to select a default security profile for this host (select
No for "medium" security)?
[ Yes ] NoВыбор [ No ] и нажатие
Enter установит профиль безопасности к среднему
значению.Выбор [ Yes ] и нажатие
Enter позволит выбрать другой профиль
безопасности.Параметры профиля безопасностиНажмите F1, чтобы получить помощь. Нажмите
Enter для возврата к меню выбора.Используйте клавиши навигации для выбора
Medium, если вы не уверены, что
необходим другой уровень. С подсвеченным
&gui.ok; нажмите Enter.Будет отображен запрос на подтверждение, соответствующий выбранным
настройкам безопасности. Message
Moderate security settings have been selected.
Sendmail and SSHd have been enabled, securelevels are
disabled, and NFS server setting have been left intact.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a standard set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK] Message
Extreme security settings have been selected.
Sendmail, SSHd, and NFS services have been disabled, and
securelevels have been enabled.
PLEASE NOTE that this still does not save you from having
to properly secure your system in other ways or exercise
due diligence in your administration, this simply picks
a more secure set of out-of-box defaults to start with.
To change any of these settings later, edit /etc/rc.conf
[OK]Нажмите Enter, чтобы продолжить
послеустановочные настройки.Профиль безопасности не панацея! Если даже вы
выберете экстремальные установки, понадобится поддерживать
безопасность, читая соответствующие списки
рассылки, используя хорошие пароли и идентификационные
фразы, и придерживаясь хорошей практики безопасности.
Профиль всего лишь повышает желаемый уровень безопасности
свежеустановленной системы до приемлемого значения.Настройки системной консоли (System Console Settings)Есть несколько параметров для настройки системной консоли. User Confirmation Requested
Would you like to customize your system console settings?
[ Yes ] NoДля просмотра и настройки параметров выберите
[ Yes ] и нажмите
Enter.Параметры настройки системной консолиЧасто используемая опция это хранитель экрана (screen saver).
Используйте клавиши навигации для выбора
Saver и
нажмите Enter.Параметры хранителя экранаВыберите подходящий хранитель экрана с помощью клавиш навигации и
нажмите Enter. Опять появится меню настройки
системной консоли.Время по умолчанию 300 секунд. Для изменения временного интервала
выберите Saver еще раз. В меню
настроек хранителя экрана выберите Timeout
с помощью клавиш навигации и нажмите Enter.
Появится меню:Временной интервал хранителя экранаЗначение может быть изменено, затем выберите &gui.ok;
и нажмите Enter для возврата в меню настройки
системной консоли.Выход из меню конфигурации консолиВыбор Exit и нажатие
Enter вернет вас к послеустановочной
настройке.Установка часового пояса (Setting The Time Zone)Установка часового на компьютере позволит ему
автоматически вносить поправки к местному времени и правильно
выполнять другие, связанные с часовым поясом функции.Пример приведен для компьютера, расположенного в восточном
часовом поясе Соединенных Штатов. Ваш выбор будет зависеть
от вашего географического положения. User Confirmation Requested
Would you like to set this machine's time zone now?
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter для установки часового пояса. User Confirmation Requested
Is this machine's CMOS clock set to UTC? If it is set to local time
or you don't know, please choose NO here!
Yes [ No ]Выберите [ Yes ]
или [ No ] в зависимости от настроек
часов компьютера и нажмите Enter.Выбор регионаСоответствующий регион выбран с помощью клавиш навигации и
нажат Enter.Выбор страныВыберите соответствующую страну с помощью клавиш навигации и
нажмите Enter.Выбор часового поясаВыбран соответствующий часовой пояс с помощью клавиш навигации
и нажат Enter. Confirmation
Does the abbreviation 'EDT' look reasonable?
[ Yes ] NoПравильно будет согласиться с назначением аббревиатуры временного
пояса. Если она подходит, нажмите Enter, чтобы
продолжить послеустановочную настройку.Совместимость с Linux (Linux Compatibility) User Confirmation Requested
Would you like to enable Linux binary compatibility?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter позволит
запускать программы Linux под FreeBSD. Программа установки добавит
соответствующие пакеты для совместимости с Linux.При установке по FTP, компьютеру потребуется соединиться с
интернет. Иногда на сервере ftp нет всех необходимых компонент,
например для бинарной совместимости с Linux. Эти компоненты могут
быть установлены позже, если потребуется.Настройка мыши (Mouse Settings)Эти настройки позволят вырезать и вставлять текст в консоли и
пользовательских программах с помощью трехкнопочной мыши. Если
используется двухкнопочная мышь, обратитесь к странице справочника
&man.moused.8; после установки, чтобы узнать подробности об
эмуляции трехкнопочной мыши. Этот пример приведен для настройки
не-USB мыши (например мыши для порта PS/2 или COM): User Confirmation Requested
Does this system have a non-USB mouse attached to it?
[ Yes ] No Выберите [ Yes ] для USB мыши или
[ No ] для не-USB мыши и нажмите
Enter.Выбор протокола мышиИспользуйте клавиши навигации для выбора
Type и нажмите
Enter.Установка протокола мышиВ этом примере использована PS/2 мышь, поэтому подойдет протокол по
умолчанию Auto. Чтобы изменить протокол,
используйте клавиши навигации для выбора другого пункта. Убедитесь,
что выбран &gui.ok;, и нажмите Enter для выхода из
меню.Настройка порта мышиИспользуйте клавиши навигации для выбора
Port и нажмите
Enter.Установка порта мышиК этой системе подключена мышь PS/2, поэтому подходит значение
по умолчанию PS/2. Чтобы изменить порт,
используйте клавиши навигации и нажмите Enter.Запуск мышиного даемонаНаконец, используйте клавиши навигации для
выбора Enable, затем нажмите
Enter для запуска и тестирования
даемона мыши.Проверка мышиного даемонаПодвигайте курсор по экрану и убедитесь, что он
движется правильно. Если это так, выберите
[ Yes ] и нажмите Enter.
Если нет, мышь не была правильно настроена — выберите
[ No ] и попробуйте использовать другие
опции настройки.Выберите Exit с
помощью клавиш навигации и нажмите Enter для
возврата к послеустановочной настройке.Настройка дополнительных сетевых сервисовНастройка сетевых сервисов может быть пугающей
задачей для новых пользователей если у них нет опыта
в этой области. Работа в сети, включая интернет,
критична для многих современных операционных систем,
включая &os;; очень важно иметь некоторые знания
о дополнительных сетевых возможностях &os;.
Настраивая их во время установки, пользователь получает
некоторую информацию о различных доступных сервисах.Сетевые сервисы — это программы, принимающие данные из
любой точки сети. Чтобы убедиться, что эти программы не делают
ничего вредного, требуется особое внимание.
К сожалению, программисты не совершенны и время от времени
допускают ошибки в сетевых сервисах; эти ошибки позволяют
атакующим взломать их и использовать в собственных целях.
Важно, чтобы вы включали сетевые сервисы только в том случае,
когда знаете, какие сервисы нужны. В случае сомнений лучше не
включать сервис, пока он не понадобится. Вы всегда можете включить
его позже, запустив sysinstall еще
раз, или используя возможности, предоставляемые файлом
/etc/rc.conf.Выбор опции Networking отобразит меню,
похожее на это:Верхняя часть меню настройки сети (Network Configuration)Первая опция, Interfaces (интерфейсы),
была ранее описана в разделе ,
эту опцию можно проигнорировать.Выбор опции AMD добавит поддержку
BSD утилиты автоматического монтирования.
Она обычно используется вместе с протоколом
NFS (смотрите ниже)
для автоматического монтирования удаленных файловых
систем. Здесь не требуется специальной конфигурации.Следующая линия это опция флаги AMD
(flags). Когда эта опция выбрана, появится меню для ввода
специфичных флагов AMD.
Меню уже содержит набор различных опций:-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.mapОпция -a указывает месторасположение
монтирования систем по умолчанию, в этом примере
/.amd_mnt. Опция -l
указывает log файл по умолчанию;
тем не менее, если для ведения логов используется
syslogd, все логи отправляются даемону
системных логов. Каталог /host
используется для монтирования экспортированных файловых
систем с удаленного хоста, а
/net для монтирования
экспортированных файловых систем с IP адреса.
Файл /etc/amd.map определяет
опции по умолчанию для монтируемых AMD
каталогов.Опция Anon FTP позволяет получить
анонимный доступ к FTP.
Выберите ее, чтобы сделать этот компьютер
анонимным FTP сервером.
Помните о риске безопасности, создаваемом этой опцией.
Будет отображено еще одно меню для разъяснения
риска безопасности и для более тонкой настройки.Опция Gateway сделает компьютер
шлюзом, как было объяснено ранее. Этот пункт может быть
использован для отмены опции Gateway,
если она была ошибочно установлена в процессе установки.Опцию Inetd можно использовать для
настройки или полного отключения даемона &man.inetd.8;, как
было описано выше.Опция Mail используется для настройки
системного MTA по умолчанию (Mail Transfer
Agent, агент передачи почты). Выбор этой опции приведет к
появлению следующего меню:Выбор MTA по умолчаниюЗдесь предоставляется выбор MTA для
установки по умолчанию. MTA это
почтовый сервер, доставляющий почту пользователям системы
или интернет.Выбор Sendmail приведет к
установке популярного сервера sendmail,
MTA по умолчанию для &os;.
Опция Sendmail local настроит
sendmail в качестве
MTA по умолчанию, но отключит возможность
получения входящей почты из интернет. Другие MTA,
представленные здесь, Postfix и
Exim, действуют подобно
Sendmail. Оба они доставляют
почту; тем не менее, некоторые пользователи предпочитают
эти альтернативы sendmail.После выбора MTA или пропуска этого пункта
появится меню настройки сети со следующей опцией, клиент
NFS.Клиент NFS позволяет настроить
систему для соединения с сервером через
NFS. Сервер NFS
дает другим машинам доступ к файловой системе через
протокол NFS. Если это отдельно
стоящий компьютер, опцию можно не выбирать.
Опция может потребовать дополнительной настройки позже;
обращайтесь к за более
подробной информацией о настройке сервера и клиента.Ниже находится опция NFS сервер,
позволяющая вам настроить систему для работы в качестве
NFS сервера. Она добавляет требуемую
информацию для запуска процедуры вызова удаленных
сервисов RPC (remote procedure
call services). RPC используется для
организации соединения между хостами и программами.Следующая строка это Ntpdate,
которая отвечает за синхронизацию времени. Когда эта опция
выбрана, появится приблизительно такое меню:Настройка NtpdateВыберите из этого меню ближайший к вашему местонахождению
сервер. Выбор ближайшего сервера сделает синхронизацию
времени более точной, поскольку у более дальнего
сервера может быть более длинная задержка соединения.Следующая опция это выбор PCNFSD.
Эта опция устанавливает пакет
net/pcnfsd из
коллекции портов. Это полезная утилита, предоставляющая
сервисы авторизации NFS для систем, в
в которых собственная отсутствует, таких как Microsoft
&ms-dos;.Теперь вы можете прокрутить меню немного вниз, чтобы увидеть
другие опции:Нижняя часть меню настройки сетиУтилиты &man.rpcbind.8;, &man.rpc.statd.8;, и
&man.rpc.lockd.8; для удаленного вызова процедур (Remote Procedure
Calls, RPC). Утилита
rpcbind управляет соединением между
NFS серверами и клиентами, она требуется
серверу NFS для корректной работы.
Даемон rpc.statd взаимодействует с
даемонами rpc.statd на других хостах
для обеспечения мониторинга статуса. Полученный статус
обычно хранится в файле /var/db/statd.status.
Последняя опция это rpc.lockd, которая,
будучи выбранной, предоставляет сервисы блокировки файлов.
Она обычно используется с rpc.statd
для отслеживания хостов, запрашивающих блокировки и частоты
этих запросов. Хотя две последние опции прекрасно подходят
для отладки, они не требуются серверам и клиентам
NFS для корректной работы.Ниже в списке опций находится Routed,
даемон маршрутизации. Утилита &man.routed.8; управляет
сетевыми таблицами маршрутизации, обнаруживает широковещательные
маршрутизаторы, и предоставляет копию таблиц маршрутизации
любому физически подключенному к сети хосту по запросу.
Это обычно используется компьютерами, являющимися шлюзом
для локальной сети (смотрите страницы справочника &man.icmp.4;
и &man.udp.4;). Когда эта опция выбрана, появится меню
выбора местоположения утилиты по умолчанию. Значение
по умолчанию уже выбрано, чтобы подтвердить его нажмите
Enter. Появится следующее меню, запрашивающее
флаги для routed. По умолчанию это
флаг -q, он должен уже быть на экране.На следующей линии находится опция Rwhod,
выбор которой приведет к запуску даемона &man.rwhod.8; при
старте системы. Утилита rwhod периодически
рассылает широковещательные системные сообщения по сети
или собирает их в режиме потребителя.
Дополнительную информацию можно найти на страницах справочника
&man.ruptime.1; и &man.rwho.1;.Следующая перед последней опцией в списке это даемон
&man.sshd.8;. Это сервер безопасной оболочки (secure shell) из
OpenSSH и он очень рекомендуется
для использования вместо стандартных серверов
telnet и
FTP. Сервер sshd
используется для создания безопасных соединений от одного
хоста к другому с использованием шифрования.И наконец, опция TCP Extensions.
Она включает расширения TCP, определенные
в RFC 1323 и
RFC 1644. Хотя для многих хостов
они могут повысить скорость соединения, с другими соединение может
быть оборвано. Для серверов эти расширения не рекомендуются,
но клиентским компьютерам могут дать некоторые преимущества.Теперь, после настройки сетевых сервисов, вы можете прокрутить
меню к верхнему пункту, Exit, и
перейти к следующему разделу настройки.Настройка X Сервера (Configure X Server)Чтобы использовать графический интерфейс пользователя
KDE, GNOME,
или другие, нужно настроить X сервер.Чтобы запустить &xfree86; не из под
root, вам потребуется установленный
x11/wrapper. Он устанавливается
по умолчанию начиная с FreeBSD 4.7. В более ранних версиях он
может быть добавлен из меню выбора пакетов (Package Selection
menu).Чтобы узнать, поддерживается ли ваша видеокарта, обратитесь
к сайту &xfree86;. User Confirmation Requested
Would you like to configure your X server at this time?
[ Yes ] NoНеобходимо узнать параметры монитора и информацию о
видеокарте. Установкой неправильных параметров можно повредить
оборудование. Если у вас нет этой информации, выберите
[ No ] и выполните конфигурацию после
установки, когда необходимая информация будет собрана.
Используя /stand/sysinstall, выберите
Configure а затем
XFree86. Неправильная настройка
X сервера может подвесить компьютер.
Зачастую настройку X сервера рекомендуют производить после
завершения установки.
Если у вас есть информация о графической карте и мониторе,
выберите [ Yes ] и нажмите
Enter для начала настройки X сервера.Меню выбора способа конфигурацииЕсть несколько путей настройки X сервера. Используйте
клавиши навигации для выбора одного из методов и нажмите
Enter. Внимательно прочтите все инструкции.Команды xf86cfg и
xf86cfg -textmode могут сделать экран
темным и запуститься через несколько секунд. Будьте терпеливы.Далее описывается использование программы настройки
xf86config. Выбор настроек
будет зависеть от оборудования системы, так что ваши
настройки возможно будут отличаться от тех, что приведены: Message
You have configured and been running the mouse daemon.
Choose "/dev/sysmouse" as the mouse port and "SysMouse" or
"MouseSystems" as the mouse protocol in the X configuration utility.
[ OK ]
[ Press enter to continue ]Это говорит, что предварительно настроенный даемон мыши был
обнаружен. Нажмите Enter, чтобы продолжить.При запуске xf86config отобразит
краткое введение:This program will create a basic XF86Config file, based on menu selections you
make.
The XF86Config file usually resides in /usr/X11R6/etc/X11 or /etc/X11. A sample
XF86Config file is supplied with XFree86; it is configured for a standard
VGA card and monitor with 640x480 resolution. This program will ask for a
pathname when it is ready to write the file.
You can either take the sample XF86Config as a base and edit it for your
configuration, or let this program produce a base XF86Config file for your
configuration and fine-tune it.
Before continuing with this program, make sure you know what video card
you have, and preferably also the chipset it uses and the amount of video
memory on your video card. SuperProbe may be able to help with this.
Press enter to continue, or ctrl-c to abort.Нажатие Enter запустит настройку мыши.
Следуя инструкциям, выберите
Mouse Systems в качестве протокола мыши и
/dev/sysmouse в качестве порта мыши,
даже если вы используете PS/2, как показано в примере.First specify a mouse protocol type. Choose one from the following list:
1. Microsoft compatible (2-button protocol)
2. Mouse Systems (3-button protocol) & FreeBSD moused protocol
3. Bus Mouse
4. PS/2 Mouse
5. Logitech Mouse (serial, old type, Logitech protocol)
6. Logitech MouseMan (Microsoft compatible)
7. MM Series
8. MM HitTablet
9. Microsoft IntelliMouse
If you have a two-button mouse, it is most likely of type 1, and if you have
a three-button mouse, it can probably support both protocol 1 and 2. There are
two main varieties of the latter type: mice with a switch to select the
protocol, and mice that default to 1 and require a button to be held at
boot-time to select protocol 2. Some mice can be convinced to do 2 by sending
a special sequence to the serial port (see the ClearDTR/ClearRTS options).
Enter a protocol number: 2
You have selected a Mouse Systems protocol mouse. If your mouse is normally
in Microsoft-compatible mode, enabling the ClearDTR and ClearRTS options
may cause it to switch to Mouse Systems mode when the server starts.
Please answer the following question with either 'y' or 'n'.
Do you want to enable ClearDTR and ClearRTS? n
You have selected a three-button mouse protocol. It is recommended that you
do not enable Emulate3Buttons, unless the third button doesn't work.
Please answer the following question with either 'y' or 'n'.
Do you want to enable Emulate3Buttons? y
Now give the full device name that the mouse is connected to, for example
/dev/tty00. Just pressing enter will use the default, /dev/mouse.
On FreeBSD, the default is /dev/sysmouse.
Mouse device: /dev/sysmouseСледующий пункт настройки это клавиатура. В примере показана
модель generic 101-key. В качестве варианта можно использовать
любое имя, или просто нажать Enter, чтобы
принять значение по умолчанию.Please select one of the following keyboard types that is the better
description of your keyboard. If nothing really matches,
choose 1 (Generic 101-key PC)
1 Generic 101-key PC
2 Generic 102-key (Intl) PC
3 Generic 104-key PC
4 Generic 105-key (Intl) PC
5 Dell 101-key PC
6 Everex STEPnote
7 Keytronic FlexPro
8 Microsoft Natural
9 Northgate OmniKey 101
10 Winbook Model XP5
11 Japanese 106-key
12 PC-98xx Series
13 Brazilian ABNT2
14 HP Internet
15 Logitech iTouch
16 Logitech Cordless Desktop Pro
17 Logitech Internet Keyboard
18 Logitech Internet Navigator Keyboard
19 Compaq Internet
20 Microsoft Natural Pro
21 Genius Comfy KB-16M
22 IBM Rapid Access
23 IBM Rapid Access II
24 Chicony Internet Keyboard
25 Dell Internet Keyboard
Enter a number to choose the keyboard.
1
Please select the layout corresponding to your keyboard
1 U.S. English
2 U.S. English w/ ISO9995-3
3 U.S. English w/ deadkeys
4 Albanian
5 Arabic
6 Armenian
7 Azerbaidjani
8 Belarusian
9 Belgian
10 Bengali
11 Brazilian
12 Bulgarian
13 Burmese
14 Canadian
15 Croatian
16 Czech
17 Czech (qwerty)
18 Danish
Enter a number to choose the country.
Press enter for the next page
1
Please enter a variant name for 'us' layout. Or just press enter
for default variant
us
Please answer the following question with either 'y' or 'n'.
Do you want to select additional XKB options (group switcher,
group indicator, etc.)? nТеперь переходим к настройке монитора. Не превышайте
значений для вашего монитора. Он может быть поврежден.
Если у вас есть какие-то сомнения, проводите настройку
после того как получите информацию.Now we want to set the specifications of the monitor. The two critical
parameters are the vertical refresh rate, which is the rate at which the
whole screen is refreshed, and most importantly the horizontal sync rate,
which is the rate at which scanlines are displayed.
The valid range for horizontal sync and vertical sync should be documented
in the manual of your monitor. If in doubt, check the monitor database
/usr/X11R6/lib/X11/doc/Monitors to see if your monitor is there.
Press enter to continue, or ctrl-c to abort.
You must indicate the horizontal sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range.
It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
sync range that is beyond the capabilities of your monitor. If in doubt,
choose a conservative setting.
hsync in kHz; monitor type with characteristic modes
1 31.5; Standard VGA, 640x480 @ 60 Hz
2 31.5 - 35.1; Super VGA, 800x600 @ 56 Hz
3 31.5, 35.5; 8514 Compatible, 1024x768 @ 87 Hz interlaced (no 800x600)
4 31.5, 35.15, 35.5; Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
5 31.5 - 37.9; Extended Super VGA, 800x600 @ 60 Hz, 640x480 @ 72 Hz
6 31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @ 60 Hz, 800x600 @ 72 Hz
7 31.5 - 57.0; High Frequency SVGA, 1024x768 @ 70 Hz
8 31.5 - 64.3; Monitor that can do 1280x1024 @ 60 Hz
9 31.5 - 79.0; Monitor that can do 1280x1024 @ 74 Hz
10 31.5 - 82.0; Monitor that can do 1280x1024 @ 76 Hz
11 Enter your own horizontal sync range
Enter your choice (1-11): 6
You must indicate the vertical sync range of your monitor. You can either
select one of the predefined ranges below that correspond to industry-
standard monitor types, or give a specific range. For interlaced modes,
the number that counts is the high one (e.g. 87 Hz rather than 43 Hz).
1 50-70
2 50-90
3 50-100
4 40-150
5 Enter your own vertical sync range
Enter your choice: 2
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names.
The strings are free-form, spaces are allowed.
Enter an identifier for your monitor definition: HitachiДалее производится выбор видеокарты из списка. Если вы пропустили
карту в списке, продолжайте нажимать Enter,
и список повторится. Показан только отрывок:Now we must configure video card specific settings. At this point you can
choose to make a selection out of a database of video card definitions.
Because there can be variation in Ramdacs and clock generators even
between cards of the same model, it is not sensible to blindly copy
the settings (e.g. a Device section). For this reason, after you make a
selection, you will still be asked about the components of the card, with
the settings from the chosen database entry presented as a strong hint.
The database entries include information about the chipset, what driver to
run, the Ramdac and ClockChip, and comments that will be included in the
Device section. However, a lot of definitions only hint about what driver
to run (based on the chipset the card uses) and are untested.
If you can't find your card in the database, there's nothing to worry about.
You should only choose a database entry that is exactly the same model as
your card; choosing one that looks similar is just a bad idea (e.g. a
GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
hardware as can be).
Do you want to look at the card database? y
288 Matrox Millennium G200 8MB mgag200
289 Matrox Millennium G200 SD 16MB mgag200
290 Matrox Millennium G200 SD 4MB mgag200
291 Matrox Millennium G200 SD 8MB mgag200
292 Matrox Millennium G400 mgag400
293 Matrox Millennium II 16MB mga2164w
294 Matrox Millennium II 4MB mga2164w
295 Matrox Millennium II 8MB mga2164w
296 Matrox Mystique mga1064sg
297 Matrox Mystique G200 16MB mgag200
298 Matrox Mystique G200 4MB mgag200
299 Matrox Mystique G200 8MB mgag200
300 Matrox Productiva G100 4MB mgag100
301 Matrox Productiva G100 8MB mgag100
302 MediaGX mediagx
303 MediaVision Proaxcel 128 ET6000
304 Mirage Z-128 ET6000
305 Miro CRYSTAL VRX Verite 1000
Enter a number to choose the corresponding card definition.
Press enter for the next page, q to continue configuration.
288
Your selected card definition:
Identifier: Matrox Millennium G200 8MB
Chipset: mgag200
Driver: mga
Do NOT probe clocks or use any Clocks line.
Press enter to continue, or ctrl-c to abort.
Now you must give information about your video card. This will be used for
the "Device" section of your video card in XF86Config.
You must indicate how much video memory you have. It is probably a good
idea to use the same approximate amount as that detected by the server you
intend to use. If you encounter problems that are due to the used server
not supporting the amount memory you have (e.g. ATI Mach64 is limited to
1024K with the SVGA server), specify the maximum amount supported by the
server.
How much video memory do you have on your video card:
1 256K
2 512K
3 1024K
4 2048K
5 4096K
6 Other
Enter your choice: 6
Amount of video memory in Kbytes: 8192
You must now enter a few identification/description strings, namely an
identifier, a vendor name, and a model name. Just pressing enter will fill
in default names (possibly from a card definition).
Your card definition is Matrox Millennium G200 8MB.
The strings are free-form, spaces are allowed.
Enter an identifier for your video card definition:Далее, производится установка видеорежимов для требуемого разрешения.
Обычно используемые значения 640x480, 800x600, и 1024x768, но
они зависят от возможностей видеокарты, размера монитора и
зрительного комфорта. Выбирая глубину цвета, устанавливайте
самое большое поддерживаемое видеокартой значение.For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"640x480" "800x600" "1024x768" "1280x1024" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 2
Select modes from the following list:
1 "640x400"
2 "640x480"
3 "800x600"
4 "1024x768"
5 "1280x1024"
6 "320x200"
7 "320x240"
8 "400x300"
9 "1152x864"
a "1600x1200"
b "1800x1400"
c "512x384"
Please type the digits corresponding to the modes that you want to select.
For example, 432 selects "1024x768" "800x600" "640x480", with a
default mode of 1024x768.
Which modes? 432
You can have a virtual screen (desktop), which is screen area that is larger
than the physical screen and which is panned by moving the mouse to the edge
of the screen. If you don't want virtual desktop at a certain resolution,
you cannot have modes listed that are larger. Each color depth can have a
differently-sized virtual screen
Please answer the following question with either 'y' or 'n'.
Do you want a virtual screen that is larger than the physical screen? n
For each depth, a list of modes (resolutions) is defined. The default
resolution that the server will start-up with will be the first listed
mode that can be supported by the monitor and card.
Currently it is set to:
"640x480" "800x600" "1024x768" "1280x1024" for 8-bit
"1024x768" "800x600" "640x480" for 16-bit
"640x480" "800x600" "1024x768" "1280x1024" for 24-bit
Modes that cannot be supported due to monitor or clock constraints will
be automatically skipped by the server.
1 Change the modes for 8-bit (256 colors)
2 Change the modes for 16-bit (32K/64K colors)
3 Change the modes for 24-bit (24-bit color)
4 The modes are OK, continue.
Enter your choice: 4
Please specify which color depth you want to use by default:
1 1 bit (monochrome)
2 4 bits (16 colors)
3 8 bits (256 colors)
4 16 bits (65536 colors)
5 24 bits (16 million colors)
Enter a number to choose the default depth.
4Наконец, настройки нужно сохранить. Убедитесь что ввели
/etc/XF86Config в качестве места
хранения настроек.I am going to write the XF86Config file now. Make sure you don't accidently
overwrite a previously configured one.
Shall I write it to /etc/X11/XF86Config? yЕсли настройка прервалась, вы можете запустить настройку опять,
выбрав [ Yes ] когда появится следующее
сообщение: User Confirmation Requested
The XFree86 configuration process seems to have
failed. Would you like to try again?
[ Yes ] NoЕсли у вас проблемы с настройкой &xfree86;, выберите
[ No ], нажмите Enter
и продолжайте процесс установки. После установки вы можете использовать
xf86cfg -textmode или
xf86config для получения доступа к утилитам настройки
в режиме командной строки под root. Это дополнительный
метод настройки &xfree86;, описанный в
. Если вы решите не настраивать
&xfree86; сейчас, следующим появится меню
выбора пакетов.Настройкой по умолчанию, позволяющей перезагрузить сервер,
является комбинация клавиш CtrlAltBackspace. Эта комбинация
может быть применена если что-то не так с установками сервера, она
позволяет предотвратить повреждение оборудования.Настройкой по умолчанию, позволяющей переключать видео режимы
во время работы X, является комбинация клавиш
CtrlAlt+ or
CtrlAlt-.
После установки высота, ширина экрана или центровка экрана
может быть выбрана с использованием
xvidtune, если вы запустите
&xfree86; с
xvidtune.Будут выданы предупреждения, что неверные установки могут повредить
ваше оборудование. Прислушайтесь к ним. Если вы сомневаетесь в чем-то,
не делайте этого. Вместо этого, используйте настройки монитора для
подстройки его под X Window. Вид экрана может несколько отличаться
при переключении обратно в текстовый режим, но это лучше, чем
повреждение оборудования.Прочитайте справочник &man.xvidtune.1; перед тем как производить
какие-либо настройки.После успешной настройки &xfree86;,
будет предложен выбор десктопа по умолчанию.Выбор десктопа по умолчанию (Select Default X Desktop)Доступны самые разные оконные менеджеры. Их функциональность
варьируется от самых минимальных до полноценных десктопов
с большим набором программ. Некоторые требуют минимума места на диске
и небольшого количества памяти, другие, с большим набором функций,
требуют гораздо больше. Лучший путь определить наиболее подходящий вам —
попробовать несколько. Они доступны из коллекции портов и в виде
пакетов, и могут быть добавлены после установки.Вы можете выбрать один из популярных десктопов, он будет
установлен и настроен в качестве десктопа по умолчанию.
Это позволит запустить его сразу после установки.Выбор десктопа по умолчаниюИспользуйте клавиши навигации, чтобы выбрать десктоп, и нажмите
Enter. Будет запущена установка выбранного
десктопа.Установка пакетов (Install Packages)Пакеты — это прекомпилированные бинарные файлы и это
удобный способ установки программ.В качестве примера показана установка одного пакета.
Если потребуется, можно установить дополнительные пакеты. После
установки для добавления пакетов может быть использована команда
/stand/sysinstall. User Confirmation Requested
The FreeBSD package collection is a collection of hundreds of
ready-to-run applications, from text editors to games to WEB servers
and more. Would you like to browse the collection now?
[ Yes ] NoВыбор [ Yes ] и нажатие
Enter приведет к появлению
экрана выбора пакетов:Выбор категории пакетовТолько пакеты с текущего носителя
доступны для установки в любое время.Все доступные пакеты будут показаны если выбрать категорию
All, можно также выбирать отдельные
категории. Перейдите к выбранной категории с помощью клавиш
навигации и нажмите Enter.Появится меню, содержащее доступные в данной категории
пакеты.Выбор пакетовВыбрана оболочка bash.
Выберите все необходимые пакеты, перемещаясь по меню и нажимая
клавишу пробела на выбираемых пакетах. Краткое описание
пакета будет появляться в нижней левой части экрана.Нажатие Tab переключает между последним
выбранным пакетом, &gui.ok;, и &gui.cancel;.После того, как будет закончена отметка пакетов для установки,
нажмите Tab один раз для переключения на &gui.ok;
и нажмите Enter для переключения на меню выбора
пакетов.Нажимая клавиши навигации влево или вправо, можно переключаться
между &gui.ok; и &gui.cancel;. Этот метод может быть применен также
для выбора &gui.ok;, и возврата к
меню выбора пакетов нажатием Enter.Установка пакетовИспользуйте Tab и клавиши навигации для выбора
[ Install ] и нажмите Enter.
вам потребуется подтвердить установку пакетов:Подтверждение установки пакетовВыбор &gui.ok; и нажатие Enter запустит
установку пакетов. Во время установки будут выдаваться
сообщения. Обратите внимание на возможные сообщения об
ошибках.После установки пакетов настройка продолжится.
Если вы не выбрали ни один из пакетов и хотите вернуться
к завершению настройки, выберите Install
в любом случае.Добавление пользователей/групп (Add Users/Groups)В процессе установки нужно добавить хотя бы одного пользователя,
чтобы использовать систему без входа под
root. Корневой каталог обычно мал и запуск
приложений под root быстро заполнит его.
Ниже показано предупреждение: User Confirmation Requested
Would you like to add any initial user accounts to the system? Adding
at least one account for yourself at this stage is suggested since
working as the "root" user is dangerous (it is easy to do things which
adversely affect the entire system).
[ Yes ] NoВыберите [ Yes ] и нажмите
Enter чтобы продолжить добавление пользователя.Выбор User (пользователь)Выберите User с помощью клавиш навигации
и нажмите Enter.Вод информации о пользователеПри выборе полей с помощью Tab в нижней
части экрана будет появляться описание, помогающее
ввести необходимую информацию:Логин (Login ID)Имя нового пользователя (обязательно).UIDЧисловой ID (идентификатор) для этого пользователя (оставьте
пустым для автоматического выбора).Группа (Group)Имя группы этого пользователя (оставьте пустым для
автоматического выбора).Пароль (Password)Пароль этого пользователя (заполняйте это поле с
осторожностью!).Полное имяПолное имя пользователя (комментарий).Член групп (Member groups)Группы, к которым принадлежит пользователь (т.е. имеет
права доступа).Домашний каталог (Home directory)Домашний каталог пользователя (оставьте пустым для
выбора по умолчанию).Оболочка (Login shell)Оболочка пользователя, запускаемая при входе в систему
(оставьте пустым для оболочки по умолчанию,
например /bin/sh).Оболочка была изменена с /bin/sh на
/usr/local/bin/bash для использования
bash, которая была перед этим установлена
из пакета. Не пытайтесь использовать несуществующую оболочку, вы
не сможете войти в систему. Наиболее часто используемая в мире
BSD оболочка это C shell, которую можно обозначить как
/bin/tcsh.Пользователь был добавлен в группу wheel,
чтобы иметь возможность стать суперпользователем с привилегиями
root.Когда все будет введено, нажмите &gui.ok; и меню
управления пользователями и группами (User and Group Management)
появится снова:Выход из меню управления пользователями и группамиСейчас также можно добавить группы, если известно, для чего
они потребуются. Иначе в это меню можно войти,
запустив /stand/sysinstall после окончания
установки.После завершения добавления пользователей, выберите
Exit с помощью клавиш навигации и нажмите
Enter для продолжения установки.Установка пароля root Message
Now you must set the system manager's password.
This is the password you'll use to log in as "root".
[ OK ]
[ Press enter to continue ]Нажмите Enter для установки пароля
root.Необходимо два раза правильно ввести пароль. Излишне
упоминать, что должна быть возможность восстановления пароля,
если вы его забудете.Changing local password for root.
New password :
Retype new password :Установка продолжится после успешного ввода пароля.Выход из установки (Exiting Install)Если нужно настроить дополнительные сетевые устройства, или
произвести другие настройки, вы можете сделать это сейчас или
после установки с помощью/stand/sysinstall. User Confirmation Requested
Visit the general configuration menu for a chance to set any last
options?
Yes [ No ]Выберите [ No ] с помощью клавиш навигации
и нажмите Enter для возврата к главному меню
установки.Выход из установкиВыберите [X Exit Install] с помощью клавиш
навигации и нажмите Enter. Будет задан вопрос о
подтверждении выхода из установки: User Confirmation Requested
Are you sure you wish to exit? The system will reboot (be sure to
remove any floppies from the drives).
[ Yes ] NoВыберите [ Yes ] и удалите дискету если
загрузка была с нее. CDROM заблокирован, пока компьютер не начнет
перегружаться. CDROM будет разблокирован и диск нужно будет извлечь
из привода (быстро).Система начнет перезагрузку, смотрите за сообщениями об ошибках,
которые могут появиться.Загрузочный процесс FreeBSD (FreeBSD Bootup)Загрузка FreeBSD на &i386;Если все пройдет нормально, вы увидите прокручивающиеся за экран
сообщения, затем приглашение ко входу в систему. Вы может просмотреть
сообщения, нажав Scroll-Lock и используя
PgUp и PgDn. Нажатие
Scroll-Lock еще раз вернет вас к приглашению.Все сообщение может не отобразиться (ограничение буфера),
но может быть просмотрено путем ввода команды
dmesg в командной строке.Войдите, используя имя пользователя/пароль, добавленные во
время установки (rpratt в этом примере).
Избегайте входа под root, если это не
требуется.Типичные сообщения при загрузке (информация о версии удалена):Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
Timecounter "i8254" frequency 1193182 Hz
CPU: AMD-K6(tm) 3D processor (300.68-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x580 Stepping = 0
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
AMD Features=0x80000800<SYSCALL,3DNow!>
real memory = 268435456 (262144K bytes)
config> di sn0
config> di lnc0
config> di le0
config> di ie0
config> di fe0
config> di cs0
config> di bt0
config> di aic0
config> di aha0
config> di adv0
config> q
avail memory = 256311296 (250304K bytes)
Preloaded elf kernel "kernel" at 0xc0491000.
Preloaded userconfig_script "/boot/kernel.conf" at 0xc049109c.
md0: Malloc disk
Using $PIR table, 4 entries at 0xc00fde60
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <VIA 82C598MVP (Apollo MVP3) PCI-PCI (AGP) bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Matrox MGA G200 AGP graphics accelerator> at 0.0 irq 11
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C586 ATA33 controller> port 0xe000-0xe00f at device 7.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xe400-0xe41f irq 10 at device 7.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xe800-0xe81f irq 9 at
device 10.0 on pci0
ed0: address 52:54:05:de:73:1b, type NE2000 (16 bit)
isa0: too many dependant configs (8)
isa0: unexpected small tag 14
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x64 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x1 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/15 bytes threshold
ppbus0: IEEE1284 device found /NIBBLE
Probing for PnP devices on ppbus0:
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ad0: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata0-master using UDMA33
ad2: 8063MB <IBM-DHEA-38451> [16383/16/63] at ata1-master using UDMA33
acd0: CDROM <DELTA OTC-H101/ST3 F/W by OIPD> at ata0-slave using PIO4
Mounting root from ufs:/dev/ad0s1a
swapon: adding /dev/ad0s1b as swap device
Automatic boot in progress...
/dev/ad0s1a: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1a: clean, 48752 free (552 frags, 6025 blocks, 0.9% fragmentation)
/dev/ad0s1f: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1f: clean, 128997 free (21 frags, 16122 blocks, 0.0% fragmentation)
/dev/ad0s1g: FILESYSTEM CLEAN; SKIPPING CHECKS
/dev/ad0s1g: clean, 3036299 free (43175 frags, 374073 blocks, 1.3% fragmentation)
/dev/ad0s1e: filesystem CLEAN; SKIPPING CHECKS
/dev/ad0s1e: clean, 128193 free (17 frags, 16022 blocks, 0.0% fragmentation)
Doing initial network setup: hostname.
ed0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::5054::5ff::fede:731b%ed0 prefixlen 64 tentative scopeid 0x1
ether 52:54:05:de:73:1b
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x8
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Additional routing options: IP gateway=YES TCP keepalive=YES
routing daemons:.
additional daemons: syslogd.
Doing additional network setup:.
Starting final network daemons: creating ssh RSA host key
Generating public/private rsa1 key pair.
Your identification has been saved in /etc/ssh/ssh_host_key.
Your public key has been saved in /etc/ssh/ssh_host_key.pub.
The key fingerprint is:
cd:76:89:16:69:0e:d0:6e:f8:66:d0:07:26:3c:7e:2d root@k6-2.example.com
creating ssh DSA host key
Generating public/private dsa key pair.
Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
The key fingerprint is:
f9:a1:a9:47:c4:ad:f9:8d:52:b8:b8:ff:8c:ad:2d:e6 root@k6-2.example.com.
setting ELF ldconfig path: /usr/lib /usr/lib/compat /usr/X11R6/lib
/usr/local/lib
a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
starting standard daemons: inetd cron sshd usbd sendmail.
Initial rc.i386 initialization:.
rc.i386 configuring syscons: blank_time screensaver moused.
Additional ABI support: linux.
Local package initialization:.
Additional TCP options:.
FreeBSD/i386 (k6-2.example.com) (ttyv0)
login: rpratt
Password:Генерирование ключей RSA и DSA может занять некоторое время
на медленных компьютерах. Это может случиться только при
первой загрузке свежеустановленной системы. Последующие
загрузки будут быстрее.Если X сервер был настроен и был выбран десктоп по умолчанию,
он может быть запущен из командной строки командой
startx.Загрузка FreeBSD на AlphaAlphaКогда процедура установки будет завершена, вы сможете
запустить FreeBSD в приглашении SRM примерно такой командой:>>>BOOT DKC0Это команда дает указание на загрузку с заданного диска. Чтобы
FreeBSD в будущем загружалась автоматически, используйте
эти команды:>>>SET BOOT_OSFLAGS A>>>SET BOOT_FILE ''>>>SET BOOTDEF_DEV DKC0>>>SET AUTO_ACTION BOOTЗагрузочные сообщения будут похожи (но не идентичны)
сообщениям, выводимым FreeBSD при загрузке на &i386;.Завершение работы FreeBSD (FreeBSD Shutdown)Важно правильно завершать работу операционной системы.
Нельзя просто выключать питание. Сначала нужно стать
суперпользователем, введя в командной строке su
и пароль root. Это сработает только если
пользователь является членом группы wheel.
Или зайдите под root и используйте команду
shutdown -h now.The operating system has halted.
Please press any key to reboot.Можно безопасно выключать питание после того, как будет выполнена
команда shutdown и появится сообщение
Please press any key to reboot. Если вместо выключения
питания будет нажата любая клавиша, система перезагрузится.Вы также можете использовать комбинацию клавиш
CtrlAltDel
для перезагрузки системы, хотя это не рекомендуется в обычной
ситуации.Поддерживаемое оборудованиеоборудованиеВ настоящее время FreeBSD работает на разнообразных PC, с шинами
ISA, VLB, EISA, и PCI с процессорами x86 от
Intel, AMD, Cyrix, или NexGen, так же как и с
множеством компьютеров на процессорах Compaq Alpha. Поддерживаются также
IDE или ESDI диски, различные SCSI контроллеры, карты PCMCIA,
устройства USB, сетевые карты и карты последовательных портов.
FreeBSD также поддерживает шину MCA от IBM.Список поддерживаемого оборудования поставляется с каждым релизом
FreeBSD в информации о поддерживаемом FreeBSD оборудовании. Этот
документ обычно
может быть найден в файле HARDWARE.TXT в корневом
каталоге CDROM, дистрибутива на FTP или в меню документации
sysinstall. В нем находится список
аппаратных устройств, которые поддерживаются этим релизом
FreeBSD для данной архитектуры. Копии списка поддерживаемого
оборудования для различных релизов и архитектур также можно найти
на странице Информации о
релизах сайта FreeBSD.Решение проблемустановкарешение проблемСледующий раздел описывает основные проблемы при установке, о
о которых обычно сообщают пользователи. Здесь также несколько вопросов
и ответов от тех, кто хочет настроить двойную загрузку FreeBSD и
&ms-dos;.Что делать если что-то идет не такПо причине различных ограничений архитектуры PC, невозможно
протестировать устройства достоверно на 100%, тем не менее,
есть несколько вещей, которые вы можете сделать, если тестирование
завершится неудачно.Сверьтесь со списком поддерживаемого оборудованию для вашей
версии FreeBSD, чтобы убедиться, что ваше оборудование
поддерживается.Если оборудование поддерживается, но все же происходят
зависания или вы встретились с другими проблемами, перегрузите
компьютер, и когда появится опция визуальной настройки ядра, выберите ее.
Это позволит вам просмотреть список оборудования и дать системе
информацию о настройке. Ядро на загрузочном диске настроено в
предположении, что у большинства аппаратных устройств IRQ, адреса
ввода-вывода и каналы DMA установлены производителем к значениям
по умолчанию. Если оборудование было перенастроено, вам
потребуется использовать редактор настроек, чтобы сообщить
FreeBSD где что искать.Возможно также, что тестирование устройства, которого нет,
приведет позже к ошибке тестирования существующего устройства.
В этом случае тестирование конфликтующего драйвера (драйверов)
должно быть запрещено.Некоторые проблемы установки можно обойти или уменьшить,
обновив встроенное программное обеспечение различных
компонент оборудования, особенно материнской платы.
Встроенное программное обеспечение также называют
BIOS и у большинства производителей
компьютеров или материнских плат есть вебсайты, где можно найти
обновления и информацию об обновлениях.Большинство производителей настоятельно советуют не обновлять
BIOS пока не возникнет серьезной необходимости,
например появление критически важных обновлений.
Процесс обновления может пойти неверно,
что приведет к неустранимому повреждению микросхемы
BIOS.Не выключайте драйвера, которые понадобятся вам во время
установки, такие как экран (sc0).
Если после выхода из редактора конфигурации установка
загадочно зависает или прерывается, возможно вы удалили
или изменили что-то, что не надо было трогать. Перегрузитесь
и попробуйте еще раз.В режиме настройки вы можете:Просматривать список устройств, включенных в ядро.Отключать драйвера устройств для оборудования, которого нет
в системе.Менять IRQ, DRQ, адреса портов, используемые драйвером
устройства.После настройки ядра под оборудование нажмите
Q для загрузки с новыми настройками.
После завершения установки все изменения, внесенные в режиме
настройки, будут действовать постоянно, так что вам не придется
делать настройку при каждой загрузке. Все же очень неплохо, если вы
со временем соберете новое ядро.Работа с существующими разделами &ms-dos;DOSМногие пользователи устанавливают &os; на PC
с установленной операционной системой µsoft;. Для этих целей
в &os; есть утилита, называемая FIPS. Ее
можно найти в каталоге tools установочного
CD-ROM или загрузить с одного из множества зеркал &os;.Утилита FIPS позволит вам разделить
существующий раздел &ms-dos; на две части, сохранив имеющиеся
данные, и сделать установку на второй свободный раздел.
Вам потребуется сначала дефрагментировать раздел &ms-dos; с помощью
&windows; утилиты Disk Defragmenter
(запустите Explorer, кликните правой клавишей мыши на жестком диске и
выберите дефрагментацию диска), или используйте Norton Disk Tools.
Затем запустите утилиту FIPS. Она запросит
необходимую информацию, следуйте инструкциям на экране. Затем
можете перегрузиться и установить &os; на новый свободный слайс.
Смотрите меню Distributions для определения
размера необходимого для выбранного типа установки свободного
пространства.Есть также очень полезная программа
&partitionmagic; от PowerQuest
(http://www.powerquest.com).
Эта программа гораздо более функциональна, чем
FIPS, и очень рекомендуется, если
вы планируете часто добавлять/убирать операционные системы.
Она стоит денег, и если вы планируете установить &os;
и оставить ее, вам возможно отлично подойдет
FIPS.Использование файловых систем &ms-dos; и &windows;В настоящее время, &os; не поддерживает файловые системы, сжатые
с помощью программы Double Space™.
Поэтому файловая система должна быть разжата, чтобы
&os; смогла получить доступ к данным. Это может быть сделано с
помощью приложения Compression Agent,
находящегося в меню Пуск>
Программы > Системные.&os; поддерживает файловые системы &ms-dos;. Для этого потребуется
использовать команду &man.mount.msdos.8; (в &os; 5.X, это
&man.mount.msdosfs.8;) с необходимыми параметрами. Наиболее
распространенный способ использования:&prompt.root; mount_msdos /dev/ad0s1 /mntВ этом примере файловая система &ms-dos; расположена на первом
разделе первого жесткого диска. Ваша конфигурация может быть другой,
проверьте вывод команд dmesg и
mount. Они должны предоставить достаточно
информации для определения названий разделов.Расширенные разделы &ms-dos; обычно располагаются после разделов
&os;. Другими словами, номер слайса может быть больше, чем
используемый &os; is using. Например, первый раздел &ms-dos; может быть
/dev/ad0s1, раздел &os;
/dev/ad0s2, а расширенный раздел &ms-dos;
/dev/ad0s3. Некоторых это иногда запутывает на
первых порах.Разделы NTFS также можно смонтировать похожим способом, используя
команду &man.mount.ntfs.8;.Вопросы и ответы пользователей AlphaAlphaЭтот раздел отвечает на некоторые обычно задаваемые вопросы об
установке FreeBSD на Alpha.Могу я загрузиться с ARC или с консоли Alpha BIOS?ARCAlpha BIOSSRMНет. &os;, как и Compaq Tru64 и VMS, может загружаться
только с консоли SRM.Помогите, у меня нет места! Должен ли я сначала
все удалить?К сожалению, да.Могу ли я смонтировать файловые системы
Compaq Tru64 или VMS?В настоящее время нет.ValentinoVaschettoПредоставлено Расширенное руководство по установкеЭта секция описывает особые случаи установки FreeBSD.Установка FreeBSD на систему без монитора или клавиатурыустановкабез монитора (последовательная консоль)последовательная консольЭтот тип установки называется установка без
монитора, потому что на компьютере, на который вы пробуете
установить FreeBSD или не подсоединен монитор, или даже нет
VGA выхода. Вы спросите, как это возможно? Используя последовательную
консоль. Последовательная консоль в своей основе имеет другой
компьютер, который служит дисплеем и клавиатурой для системы.
Чтобы сделать это, создайте инсталляционные дискеты, как
описано в разделе .Чтобы модифицировать дискеты для загрузки с последовательной
консоли, следуйте этой инструкции:Включение загрузки с последовательной консолиmountЕсли вы произведете загрузку с только что полученных дискет,
FreeBSD загрузится в нормальный режим установки. Мы хотим,
чтобы FreeBSD загрузилась на последовательную консоль для
нашей установки. Чтобы сделать это, смонтируйте
kern.flp на вашу систему FreeBSD
используя команду &man.mount.8;.&prompt.root; mount /dev/fd0 /floppyТеперь, когда дискета смонтирована, нужно перейти в
каталог дискеты:&prompt.root; cd /floppyСейчас вам нужно настроить дискету для загрузки в
последовательную консоль. Нужно создать файл
boot.config, содержащий
/boot/loader -h. Это нужно для того, чтобы
передать загрузчику флаг загрузки с последовательной
консоли.&prompt.root; echo "/boot/loader -h" > boot.configТеперь, когда ваша дискета правильно настроена,
размонтируйте ее с помощью команды &man.umount.8;:&prompt.root; cd /
&prompt.root; umount /mntТеперь удалите дискету из дисковода.Подсоединение нуль-модемного кабелянуль-модемный кабельТеперь нужно соединить два компьютера нуль-модемным кабелем.
Просто подсоедините этот кабель к последовательным
портам двух компьютеров. Обычный последовательный
кабель не будет работать, вам потребуется
нуль-модемный кабель, поскольку в нем некоторые соединения
перевернуты.Загрузка для установкиНастало время начать установку. Вставьте диск
kern.flp в дисковод компьютера, на который
вы будете производить установку без монитора и включите его.Подключение к компьютеру без монитораcuТеперь вы можете подключиться к этому компьютеру с помощью
&man.cu.1;:&prompt.root; cu -l /dev/cuaa0Это все! Теперь вы можете управлять компьютером без монитора через
сессию cu. Будет запрошен диск
mfsroot.flp, затем появится выбор типа
терминала. Выберите цветную консоль FreeBSD и проводите
установку!Подготовка собственного источника установкиЧтобы не повторяться, диск FreeBSD в данном случае
означает FreeBSD CDROM или DVD который вы купили или подготовили
самостоятельно.Может быть несколько ситуаций, в которых вам потребуется подготовить
собственный диск и/или источник для установки FreeBSD. Это может быть
физический носитель, такой как лента, или источник, с которого
sysinstall сможет взять файлы, такой как
локальный сервер FTP, или раздел &ms-dos;.Например:У вас есть много компьютеров, подсоединенных к локальной сети, и
один диск с FreeBSD. Вы хотите создать локальный сервер FTP,
используя содержимое диска FreeBSD, а затем использовать с ваших
компьютеров этот локальный сервер FTP вместо подсоединения к
интернет.У вас есть диск с FreeBSD, и FreeBSD не распознает ваш CD/DVD
привод, а &ms-dos;/&windows; распознает. Вы хотите скопировать
файлы установки FreeBSD на раздел DOS этого же компьютера и
установить FreeBSD используя эти файлы.На компьютере, на который вы хотите провести установку, нет ни
привода CD/DVD ни сетевой карты, но вы можете подсоединиться в
Laplink-стиле последовательным или параллельным
кабелем к другому компьютеру, на котором они есть.Вы хотите создать ленту, которую можно использовать для
установки FreeBSD.Создание установочного CDROMВ составе каждого релиза проект FreeBSD предоставляет доступ к
двум образам CDROM (ISO images). Эти образы могут
быть записаны (прожжены) на CD если у вас есть CD-рекордер,
а затем использованы для установки FreeBSD. Если у вас есть
CD-рекордер и дешевый канал интернет, это простейший путь
установить FreeBSD.Скачайте соответствующие ISO образыISO образы для каждого релиза могут быть загружены с ftp://ftp.FreeBSD.org/pub/FreeBSD/ISO-IMAGES-архитектура/версия или с ближайшего зеркала.
Замените архитектура и
версия в соответствии архитектурой
(Alpha или &i386;) и номером релиза соответственно.Этот каталог обычно содержит следующие образы:
Названия FreeBSD ISO образов и их значенияИмя файлаСодержимоеверсия-mini.isoВсе что вам нужно для установки FreeBSD.версия-disc1.isoВсе что вам нужно для установки FreeBSD, и столько
дополнительных пакетов сторонних производителей, сколько
уместилось на диске.версия-disc2.isolive filesystem, используемая в
сочетании со средством Repair программы
sysinstall. Копия дерева CVS
FreeBSD. Столько дополнительных пакетов сторонних
производителей, сколько уместилось на диске.
Вам необходимо загрузить или образ mini
ISO, или образ первого диска. Не загружайте их оба, так как
образ первого диска содержит все, что есть на образе mini
ISO.Используйте mini ISO если доступ в интернет затруднен. Он
позволит вам установить FreeBSD, и вы сможете установить в
последствии программы сторонних производителей используя
систему портов/пакетов (смотрите
) если необходимо.Используйте образ первого диска, если хотите выбрать
программы сторонних производителей с этого диска.Дополнительные образы дисков полезны, но не необходимы,
особенно если у вас есть высокоскоростной доступ к интернет.Запись CDЗатем вам нужно записать образы CD на диски. Если вы делаете
это из другой системы FreeBSD, обратитесь к
за более подробной информацией (в
частности, и
).Если вы делаете это в другой системе, потребуется
использовать те утилиты для управления CD-рекордером, которые
есть в этой системе. Образы дисков предоставляются в стандартном
формате ISO, который поддерживается многими программами.Создание локального сервера FTP с FreeBSDустановкасетьFTPДиск FreeBSD сформирован так же, как и сервер FTP. Это сильно
упрощает создание локального сервера FTP, который может быть
использован другими компьютерами вашей сети для установки
FreeBSD.Убедитесь, что на компьютере FreeBSD, на котором будет
установлен сервер FTP, CDROM находится в приводе и смонтируйте
/cdrom.&prompt.root; mount /cdromСоздайте учетную запись для anonymous FTP в
/etc/passwd. Сделайте это, отредактировав
/etc/passwd с помощью &man.vipw.8; и добавив
эту строку:ftp:*:99:99::0:0:FTP:/cdrom:/nonexistentУбедитесь что сервис FTP включен в
/etc/inetd.conf.Всякий, кто может подсоединиться по сети к вашему компьютеру,
может выбрать тип носителя FTP и набрать
ftp://ваш компьютер
после выбора Other в меню серверов FTP во время
установки.Этот подход хорош для компьютера в вашей локальной сети,
защищенного с помощью файрволла. Предоставление сервиса FTP
другим компьютерам через интернет (а не через локальную сеть)
привлекает к вашему компьютеру внимание кракеров и других
лиц, чье внимание нежелательно. Мы настоятельно рекомендуем
придерживаться правильной политики безопасности, если вы
делаете это.Создание дискет для установкиустановкадискетыЕсли вам требуется выполнить установку с дискет (чего мы
не рекомендуем делать) или по причине
не поддерживаемого оборудования, или просто потому, что
вы не любите простых путей, потребуется сначала
подготовить несколько дискет для установки.Как минимум, вам потребуется столько 1.44 MB или 1.2 MB
дискет, сколько нужно, чтобы вместить все файлы из каталога
bin (binary distribution). Если
вы подготавливаете эти дискеты из DOS, они
ДОЛЖНЫ быть отформатированы с помощью команды
&ms-dos; FORMAT. Если вы используете &windows;,
используйте Explorer для форматирования дисков (кликните правой
кнопкой мыши на диске A: и выберите
Format.Не доверяйте заводскому форматированию
дискет. Отформатируйте их еще раз самостоятельно, просто для
уверенности. Множество проблем, о которых сообщали наши пользователи,
были результатом использования неправильно отформатированных дисков,
поэтому мы сейчас обращаем на это внимание.Если вы создаете образы на другом компьютере FreeBSD,
форматирование все еще не лишне, хотя вам не потребуется
создавать файловую систему DOS на каждой дискете. Вы можете
использовать disklabel и newfs
для создания на них файловых систем UFS, в следующей
последовательности (для 3.5" 1.44 MB дискет):&prompt.root; fdformat -f 1440 fd0.1440
&prompt.root; disklabel -w -r fd0.1440 floppy3
&prompt.root; newfs -t 2 -u 18 -l 1 -i 65536 /dev/fd0Используйте fd0.1200 и
floppy5 для 5.25" 1.2 MB дискет.Затем вы можете смонтировать их и писать на них как на любую
другую файловую систему.После форматирования дискет вам потребуется скопировать на них
файлы. Файлы дистрибутива разделены на части, размер которых
позволяет легко разместить пять частей на обычной 1.44 MB дискете.
Заполните все дискеты файлами, помещая столько файлов на одну
дискету, сколько уместится, пока у вас не будет всех необходимых
компонент дистрибутива. Каждый компонент должен располагаться
в подкаталоге на дискете, например
a:\bin\bin.aa,
a:\bin\bin.ab, и так далее.Как только в процессе установки появится экран Media,
выберите Floppy и установка продолжится.Установка с раздела &ms-dos;установкас MS-DOSЧтобы подготовиться к установке с раздела &ms-dos;,
скопируйте файлы с дистрибутива в каталог
freebsd корневого каталога раздела.
Например, c:\freebsd. Структура каталога
CDROM или сервера FTP должна быть в точности воспроизведена в
этом каталоге, мы предлагаем использовать команду DOS
xcopy если вы копируете дистрибутив с CD.
Например, чтобы подготовить минимальную установку FreeBSD:C:\>md c:\freebsdC:\>xcopy e:\bin c:\freebsd\bin\ /sC:\>xcopy e:\manpages c:\freebsd\manpages\ /sПредполагается, что на C: есть свободное
место, а на E: смонтирован CDROM.Если у вас нет CDROM, можно загрузить дистрибутив с ftp.FreeBSD.org.
Каждый компонент находится в своем собственном каталоге, например
компонент base можно найти в каталоге &rel.current;/base/.В 4.X и более поздних релизах &os; компонент
base называется bin. Поправьте
команды и ссылки соответственно, если вы используете эти
версии.Все компоненты, которые вы будете устанавливать с раздела
&ms-dos; (и для которых у вас есть место), нужно расположить в
c:\freebsd — для минимальной установки
нужна только компонента BIN.Создание ленты для установкиустановкас ленты QIC/SCSIУстановка с ленты это возможно самый простой метод, уступающий
только установке с FTP или CDROM. Программа установки может
найти на ленте файлы, которые записаны на нее с помощью tar.
После получения всех файлов дистрибутива, которые вам нужны,
запишите их на ленту с помощью tar:&prompt.root; cd /freebsd/distdir
&prompt.root; tar cvf /dev/rwt0 dist1 ... dist2Когда вы приступите к установке, нужно убедиться в наличии
достаточного места во временном каталоге (который будет
предложено выбрать), чтобы поместилось все
содержимое записанной ленты. Поскольку лента — устройство
не-произвольного доступа, этот метод установки требует некоторого
места во временном хранилище.При начале установки лента должна быть в приводе
до загрузки с дискеты.
В ином случае она может быть не найдена при тестировании
устройств.Перед установкой по сетиустановкасетьпоследовательная (SLIP или PPP)установкасетьпараллельная (PLIP)установкасетьEthernetЕсть три возможных типа установки по сети. Через последовательный
порт (SLIP или PPP), параллельный порт (PLIP (laplink кабель)),
или Ethernet (стандартный Ethernet контроллер (включая некоторые
PCMCIA)).Поддержка SLIP немного примитивна, и ограничена в основном
постоянными соединениями, такими как последовательный
кабель между ноутбуком и другим компьютером. Соединение должно быть
постоянным, так как устанавливаемый SLIP в настоящее время не имеет
возможности дозвона; эта возможность предоставляется программой PPP,
которая должна быть использована вместо SLIP когда это
возможно.Если вы используете модем, PPP это конечно почти единственный
выбор. Убедитесь что у вас есть информация о провайдере, так как она
понадобится на довольно ранней стадии процесса установки.Если вы используете PAP или CHAP для соединения с провайдером
(другими словами, вы можете соединяться с провайдером из
&windows; без использования скрипта), все что вам понадобится это
ввести dial в приглашении
ppp. Иначе вам нужно знать, как
дозвониться до провайдера с помощью AT команд,
специфичных для вашего модема, так как программа дозвона PPP
предоставляет только очень простой эмулятор терминала. Обратитесь
к руководству user-ppp и FAQ для получения более подробных
сведений. Если у вас проблемы, логи могут быть выведены на экран
с помощью команды set log local ....Если доступно постоянное соединение с другой машиной
FreeBSD (2.0-R или выше), вы можете также подумать об
установке через параллельный порт laplink кабелем.
Скорость соединения через параллельный порт значительно выше, чем
обычно возможно через последовательную линию (до 50 кбайт/с),
это приведет к ускорению установки.Наконец, для самой быстрой установки по сети хорошим выбором
будет Ethernet адаптер! FreeBSD поддерживает большинство
PC Ethernet карт; список поддерживаемых карт (и требуемых
для них установок) предоставляется в информации об оборудовании
для каждого релиза FreeBSD. Если вы используете одну из
поддерживаемых PCMCIA Ethernet карт, убедитесь также что она
подключена перед тем, как ноутбук будет
включен! К сожалению, FreeBSD в настоящее время не поддерживает
горячее подключение PCMCIA карт во время установки.Вам также потребуется знать IP адрес в сети, сетевую
маску для класса подсети, и имя компьютера. Если вы делаете
установку через соединение PPP и у вас нет статического
IP, не бойтесь, IP адрес будет динамически выделен вам провайдером.
Системный администратор может подсказать вам какие значения
использовать для данной установки по сети. Если вы будете обращаться
к другим хостам по имени, а не по IP адресу, понадобится также
ДНС сервер и, возможно, адрес шлюза (если вы используете PPP, это
IP адрес вашего провайдера), чтобы связаться с ним. Если вы хотите
производить установку с FTP через HTTP прокси,
потребуется также адрес прокси. Если вы не знаете ответов
на все или большинство этих вопросов, свяжитесь с системным
администратором или ISP перед тем, как начать
этот тип установки.Перед установкой через NFSустановкасетьNFSУстановка через NFS очень проста. Просто скопируйте
компоненты FreeBSD, которые вам нужны на NFS сервер,
а затем укажите на него при выборе источника установки NFS.Если этот сервер поддерживает только привилегированные
порты (это как правило так для рабочих станций Sun),
потребуется установить этот параметр в меню Options
перед тем, как начать установку.Если у вас Ethernet карта плохого качества с низкой скоростью
передачи данных, вы возможно захотите переключить соответствующий
флаг в Options.Чтобы установка по NFS работала, сервер должен поддерживать
монтирование подкаталогов, например, если установочный каталог
дистрибутива FreeBSD &rel.current; находится на:
ziggy:/usr/archive/stuff/FreeBSD,
ziggy должен позволять непосредственное
монтирование /usr/archive/stuff/FreeBSD,
а не только /usr или
/usr/archive/stuff.В файле FreeBSD /etc/exports, это
управляется параметром . Другие NFS
сервера могут иметь другие соглашения. Если вы получаете
сообщения сервера permission denied,
это может означать, что соответствующая опция не включена.
diff --git a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
index f1707adf06..fd75ab4ee2 100644
--- a/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/introduction/chapter.sgml
@@ -1,958 +1,958 @@
JimMockИсправил, реорганизовал и частично
переписал ВведениеКраткий обзорМы благодарим вас за интерес к FreeBSD! Следующая глава
расскажет о некоторых аспектах проекта FreeBSD, таких как история,
цели, модель разработки, и прочее.Из этой главы вы узнаете:Какое отношение имеет FreeBSD к другим операционным
системам.Историю проекта FreeBSD.Цели проекта FreeBSD.Основы модели разработки FreeBSD с открытыми исходными
текстами.И конечно, откуда появилось имя FreeBSD.Добро пожаловать во FreeBSD!4.4BSD-LiteFreeBSD это основанная на 4.4BSD-Lite операционная система для
компьютеров Intel (x86 и &itanium;), AMD64,
Alpha и Sun &ultrasparc;. Ведется
работа по портированию и на другие архитектуры. Вы можете также
прочесть о истории FreeBSD,
или о текущем релизе. Если вы
заинтересованы в помощи проекту (кодом, аппаратным обеспечением,
деньгами), прочтите статью Помощь
FreeBSD.Что может FreeBSD?FreeBSD имеет заслуживающие внимания особенности. Некоторые из
них:приоритетная многозадачностьПриоритетная многозадачность с
динамическим регулированием приоритетов плавно и правильно
приспособится и справедливо распределит ресурсы компьютера между
приложениями и пользователями, даже при тяжелейших нагрузках.
многопользовательская доступностьМногопользовательская доступность которая
позволяет множеству людей использовать FreeBSD совместно для ряда
задач. Это значит, например, что системная периферия, такая как
принтеры и ленточные устройства, правильно распределена между
пользователями в системе или сети, и что лимиты каждого ресурса
могут быть установлены пользователям или группам пользователей,
защищая критические системные ресурсы от перегрузок.TCP/IP стекМощный TCP/IP стек с поддержкой
промышленных стандартов, таких как SLIP, PPP, NFS, DHCP и NIS.
Это говорит о том, что FreeBSD может легко функционировать
с другими системами предприятия, предоставляя жизненно важные
функции, такие как NFS (удалённый доступ к файлам) и услуги
электронной почты или представить вашу организацию в Internet с сервисами
WWW, FTP, маршрутизации и брандмауэра (сетевая безопасность).
защита памятиЗащита памяти гарантирует, что
приложения (или пользователи) не смогут чинить препятствия
друг другу. Фатальная ошибка в выполнении одного приложения
не скажется на работоспособности всей системы.FreeBSD 32-х битная операционная система
(64 бита на Alpha, &itanium;, AMD64, и
&ultrasparc;) и была создана
именно такой.X Window SystemXFree86Промышленный стандарт X Window System
(X11R6) предоставляет графический интерфейс пользователя (GUI) для
большинства VGA карт и мониторов и поставляется с полными исходными
текстами.двоичная совместимостьLinuxдвоичная совместимостьSCOдвоичная совместимостьSVR4двоичная совместимостьBSD/OSдвоичная совместимостьNetBSDДвоичная совместимость с большинством
программ, созданных для Linux, SCO, SVR4, BSDI и NetBSD.Тысячи готовых к использованию
приложений доступны из FreeBSD коллекций
портов и пакетов.
Зачем нужен нужно искать что-то в сети, когда вы можете найти
всё прямо здесь?Тысячи других
легко-адаптируемых приложений доступны в
Internet. FreeBSD в исходных текстах совместима с большинством
популярных коммерческих &unix; систем и, таким образом, большинство
приложений требуют несколько достаточно мелких (если требуют),
изменений для сборки.виртуальная памятьВиртуальная память с поддержкой
сброса неиспользуемых страниц по требованию и
объединенные VM/буферный кэш спроектированы
так, чтобы максимально эффективно удовлетворить приложения с
огромными аппетитами к памяти и, в то же время, сохранить
интерактивность остальных пользователей.симметричная многопроцессорность (SMP)Поддержка симметричной многопроцессорности (SMP) для машин с
несколькими процессорами.компиляторыCкомпиляторыC++компиляторыFORTRANПолный комплект инструментов для разработчика:
C, C++,
Fortran и Perl.
Множество дополнительных языков для прочих исследований
и разработки также доступны из коллекций портов и пакетов.исходный текстИсходные тексты всей системы
означают, что вы имеете великолепную возможность контролировать
ваше окружение. Зачем выбирать закрытые решения и уповать на милость
производителя, когда вы можете иметь по-настоящему открытую
систему?Обширная online
документация.И многое-многое другое!4.4BSD-LiteComputer Systems Research Group (CSRG)U.C. BerkeleyFreeBSD основана на 4.4BSD-Lite от Computer
Systems Research Group (CSRG) Калифорнийского Университета, Беркли,
и имеет в себе характерные черты модели развития BSD-систем.
В дополнении к прекрасной работе предоставленной
CSRG, Проект FreeBSD тратит многие тысячи часов для
тонкой настройки системы для максимальной производительности и надёжности
в условиях максимально приближенным к боевым.
Когда большинство коммерческих гигантов только пытаются достичь такого
уровня возможностей, производительности и надежности операционных
систем для PC, FreeBSD может предложить все это прямо
сейчас!Применение FreeBSD в действительности ограничено только вашими
фантазиями. От разработки программного обеспечения до автоматизации
производства, от контроля за качеством товара до
коррекции азимутов удалённых спутниковых антенн; эти задачи можно
решить с помощью коммерческих &unix; систем, но скорее всего они
решаемы и с помощью FreeBSD! FreeBSD столь же многогранно
полезна, как и буквально тысячи высококачественных приложений разработанных
исследовательскими центрами и университетами во всём мире, доступные
за минимальную цену или даже бесплатно. Коммерческие приложения также доступны
и появляются ежедневно в больших количествах.Исходя из того, что исходные тексты FreeBSD всегда доступны,
система может быть оптимизирована в почти невероятной степени
для специальных приложений или проектов, а это, в большинстве
своём, невозможно при использовании операционных систем от большинства
коммерческих производителей. Вот несколько примеров того, как люди
используют FreeBSD:Internet сервисы: мощнейший TCP/IP
стек делает FreeBSD идеальной платформой для большинства
Internet приложений таких как:FTP серверыFTP серверыweb серверыWorld Wide Web серверы (как стандартные, так и безопасные
[SSL])фильтрация пакетовIP маскарадингСерверы фильтрации пакетов и шлюзы NAT
(IP маскарадинг)электронная почтаСерверы электронной почтыUSENETСерверы новостей USENET и BBSи многое другое...Вы можете начать своё знакомство с FreeBSD, используя недорогую
машину класса 386 PC, а впоследствии увеличить её мощь до сервера масштаба
предприятия с четырьмя процессорами Xeon и RAID контроллером.Образование: Вы студент и ваше
образование связано с компьютерами или другими инженерными
расчётами? Нет лучшего пути начать изучение операционных
систем, архитектуры компьютера и работы в сети, чем покорить
вершины FreeBSD. Количество доступных CAD, математических
и графических пакетов также делают её чрезвычайно полезной
для выполнения другой не менее важной
работы.Исследования: С исходными текстами,
которые доступны для всей системы, FreeBSD это превосходная платформа
как для исследования операционных систем, так и исследования
других областей компьютерных наук. Свободная природа FreeBSD
предоставляет возможность удалённым группам сотрудничать, обмениваться
идеями и совместными разработками, не беспокоясь
о наличии специальных лицензий или ограничений,
которые могут обсуждаться в открытых форумах.маршрутизаторDNS серверРабота в сети: Нужен новый маршрутизатор?
Сервер имён (DNS)? Брандмауэр, защищающий от проникновения
извне в вашу сеть? FreeBSD может превратить давно списанный и
пылящийся в углу 386й или 486й PC в мощный маршрутизатор
с возможностью фильтрации пакетов.X Window SystemXFree86X Window SystemAccelerated-XРабочая станция X Window: FreeBSD прекрасный
выбор, если вам нужен недорогой X-терминал. Можно использовать
свободно распространяемый &xfree86; сервер или один из
коммерческих серверов, поставляемых Xi Graphics. В отличии от
X терминала, на FreeBSD можно запускать множество приложений
локально, если требуется, таким образом перенеся часть нагрузки
с центрального сервера. FreeBSD может быть загружена на бездисковой
станции, что делает рабочую станцию более дешёвой и
простой в администрировании.GNU набор для разработкиРазработка программного обеспечения: Базовая
поставка FreeBSD распространяется с полным набором инструментов для
разработки, включая знаменитые компилятор GNU C/C++ и
отладчик.FreeBSD доступна как в исходных текстах, так и в бинарном виде
на CDROM, DVD и через анонимный доступ к FTP. Смотрите
для уточнений.Кто использует FreeBSD?ПользователиКрупные сайты, работающие под FreeBSDFreeBSD используется в качестве платформы на некоторых крупнейших
сайтах в интернет, включая:Yahoo!Yahoo!ApacheApacheBlue Mountain ArtsBlue Mountain
ArtsPair NetworksPair
NetworksSony JapanSony
JapanNetcraftNetcraftWeathernewsWeathernewsSupervaluSupervaluTELEHOUSE AmericaTELEHOUSE
AmericaSophos Anti-VirusSophos
Anti-VirusJMA WiredJMA Wiredи на многих других.О Проекте FreeBSDВ следующей части рассказывается о том, что из себя представляет проект,
включая краткую историю, цели проекта и модель разработки
проекта.JordanHubbardПредоставил Краткая история FreeBSD386BSD PatchkitHubbard, JordanWilliams, NateGrimes, RodПроект FreeBSDисторияПроект FreeBSD возник в первой половине 1993 года,
частично как результат развития Неофициального комплекта
исправлений к 386BSD (patchkit) , последними 3-мя координаторами
этого проекта: Nate Williams, Rod Grimes и мною.386BSDНашей главной задачей было привести промежуточный
снэпшот 386BSD в порядок, исправив множество проблем, которые
механизм patchkit не мог решить. Некоторое из вас возможно помнят
раннее название этого проекта: 386BSD 0.5 или
386BSD Interim.Jolitz, Bill386BSD была операционной системой Била Джоилца, который
на тот момент находился строго говоря, в состоянии полного
пренебрежения к ней. Так как patchkit разрастался, его
поддержание становилось более неудобным день от дня, мы
пришли к единодушному соглашению что что-то нужно делать
и решили помочь Биллу путем предоставления промежуточных
очистных снэпшотов. Эти планы были грубо
оборваны, когда Билл внезапно решил прекратить поддержку
проекта без всяких ясных комментариев, что должно быть
сделано.Greenman, DavidWalnut Creek CDROMНам потребовалось немного времени, чтобы прийти к решению
продолжать следовать той же цели, даже без поддержки Билла,
и мы приняли имя FreeBSD приобретенное Дэвидом
Гринмэном. Наши начальные цели были определены после консультаций
с пользователями существовавшей системы, и как только стало
понятно, что проект на пути к тому, чтобы стать реальностью, я
связался с Walnut Creek CDROM с идеями о путях последующего
улучшения каналов распространения FreeBSD для множества
пользователей без доступа к Internet. Walnut Creek CDROM не только
поддержал идею распространения FreeBSD на CD, но также пошел
далеко вперед и предоставил проекту компьютер для работы
и быстрый доступ к Internet. Без почти беспрецедентной веры
Walnut Creek CDROM в этот в то время полностью неизвестный проект,
вряд ли FreeBSD зашел бы так далеко и так быстро, как сегодня.4.3BSD-LiteNet/2U.C. Berkeley386BSDFree Software FoundationПервым дистрибутивом, распространяемым как на CDROM, так и в сети,
стал FreeBSD 1.0, выпущенный в декабре 1993 года. Эта версия была
выполнена на основе ленты 4.3BSD-Lite (Net/2)
из Калифорнийского Университета в Беркли, с многочисленными
добавлениями из проекта 386BSD и Фонда Свободного Программного
Обеспечения. Это был довольно внушительный успех для
первого предложения, и мы закрепили его с выходом FreeBSD
1.1 RELEASE в мае 1994 года.NovellU.C. BerkeleyNet/2AT&TВ это же время, на горизонте сгустились тучи в связи с назревающим
скандалом между Novell и Калифорнийским Университетом, Беркли.
Это был вяло-текущий судебный процесс о легальности версии
Net/2 из Беркли. Обстоятельства тяжбы с Калифорнийским Университетом
заключались в том, что большие куски Net/2 были загромождены
кодом, права на который принадлежат Novell, которая в свою очередь,
получила их (права на код) ранее от AT&T. Чтоб вернуть
благословение Novell, Беркли выпустил версию
4.4BSD-Lite, которая
была объявлена полностью свободной и
всем пользователям Net/2 было рекомендовано переключится на ее
использование. Это также касалось FreeBSD, и проекту было дано
время до конца Июля 1994 года для прекращения распространения его
продукта базирующегося на Net/2. На этих условиях проекту было
разрешено выпустить последний релиз до окончания срока, это
был FreeBSD 1.1.5.1.Тогда FreeBSD приступил к сложной задаче буквально
полному изобретению себя из абсолютно новой и довольно
неполной системы 4.4BSD-Lite. Lite был
в прямом смысле light (легким) потому, что CSRG Berkeley удалил
большие куски кода, необходимого для создания реально
загружающейся системы (по причине различных лицензионных
требований), и фактически порт 4.4BSD для платформы Intel
был очень неполным. Проекту потребовалось время почти до
ноября 1994 года для того, чтобы выполнить этот переход и
на этом этапе FreeBSD 2.0 была опубликована в сети и
на CDROM (в конце декабря). Несмотря на множество острых
углов в этой версии, она пользовалась значительным успехом
и была продолжена более устойчивой и простой в установке
FreeBSD 2.0.5, выпущенной в июне 1995 года.Мы выпустили FreeBSD 2.1.5 в августе 1996, и она стала достаточно
популярной среди большого количества ISP и коммерческих
производителей, чтобы выпустить еще один релиз из ветви 2.1-STABLE. Это была
FreeBSD 2.1.7.1, вышедшая в феврале 1997 и завершившая главную
ветвь разработки 2.1-STABLE. Сейчас в режиме поддержки, в эту ветвь
(RELENG_2_1_0) вносятся только расширения безопасности и другие
критически важные исправления.FreeBSD 2.2 была ответвлена от основной линии разработки
(-CURRENT) в ноябре 1996 как ветвь RELENG_2_2,
а первая полная версия (2.2.1) появилась в апреле 1997.
Последующие версии ветви 2.2 появлялись летом и в конце 97 года,
а последняя версия (2.2.8) вышла в ноябре 1998.
Первая официальная версия 3.0 была подготовлена к выходу в
октябре 1998, завершив развитие ветви 2.2 Третье ветвление произошло 20 января 1999 года, появились
ветви 4.0-CURRENT и 3.X-STABLE. Из ветви 3.X-STABLE были получены: 3.1 -
15 февраля 1999, 3.2 - 15 мая 1999, 3.3 - 16 сентября 1999,
3.4 - 20 декабря 1999, 3.5 - 24 июня 2000, за которым последовал
через несколько дней немного обновленный 3.5.1, который содержал
несколько исправлений в области безопасности Kerberos. Это был последний
релиз из ветви 3.X.Последнее на данный момент ветвление было выполнено 13 марта 2000
года, в результате чего появилась ветвь 4.X-STABLE, в настоящее время
считающейся текущей -stable ветвью. Из этой ветви
было выпущено несколько релизов: 4.0-RELEASE был представлен
в марте 2000 года, самый свежий &rel2.current;-RELEASE был выпущен
&rel2.current.date;. Из ветви 4.X-stable (RELENG_4) будут выпущены
и следующие релизы.Долгожданный 5.0-RELEASE был анонсирован 19 января 2003 года.
Он стал кульминацией приблизительно трех лет работы, с этого
релиза начался курс FreeBSD на расширенную поддержку
мультипроцессорности и потоков в приложениях, была также представлена
поддержка платформ &ultrasparc; и ia64. За этим
релизом последовал релиз 5.1 в июне 2003 года. Помимо множества
новых возможностей, релизы 5.X принесли также существенные улучшения
внутренней архитектуры системы. Однако, вместе с этими
преимуществами, в систему пришло огромное количество нового и
мало протестированного кода. По этой причине, релизы 5.X
считаются Новыми технологическими, а 4.X релизы
Продуктивными. Со временем 5.X будут объявлены
стабильными, и начнется работа над новой ветвью, 6.0-CURRENT.На данный момент, долговременные разработки и проекты продолжаются в ветке
5.X-CURRENT, и по ходу разработки будут доступны снэпшот-релизы
5.X на CDROM (и, конечно же, в сети), постоянно выкладываемые на
сервер снэпшотов как промежуточные результаты.JordanHubbardПредоставил Цели Проекта FreeBSDПроект FreeBSDцелиЦелью Проекта FreeBSD является предоставление программного
обеспечения, которое может быть использовано для любых целей
и без дополнительных ограничений. Многие из нас вносят значительный
вклад в код (и проект) и совершенно не требуют за это
какой-либо финансовой компенсации сейчас и в последствии, хотя мы
определенно не собираемся отказываться от нее. Мы верим, что первая
и основная наша миссия это предоставление кода для всех,
кому он необходим, и для любых целей, поэтому этот код становится
все более и более распространен и предоставляет самые широкие
возможности. Это, я верю, является одной из основных целей Свободного
Программного Обеспечения и мы с энтузиазмом
поддерживаем ее.GNU General Public License (GPL)GNU Lesser General Public License (LGPL)BSD CopyrightТот код в нашем дереве исходных текстов, который попадает
под Общую Публичную Лицензию GNU (GPL) или Общую Публичную
Лицензию Библиотек GNU (LGPL), предоставляется с дополнительными
условиями, хотя они обеспечивают только возможность доступа
а не его ограничение. По причине дополнительных
сложностей, которые могут появится при коммерческом использовании GPL
продуктов, мы предпочитаем ПО, предоставленное под более свободной
лицензией BSD, когда это возможно.SatoshiAsamiПредоставил Модель Разработки FreeBSDПроект FreeBSDмодель разработкиРазработка FreeBSD это очень открытый и гибкий процесс —
FreeBSD, буквально выражаясь, создан из кода, предоставленного
сотнями людей со всего мира, в чем вы можете убедится взглянув
на список этих
людей. Мы постоянно
ищем новых разработчиков и новые идеи, и тот, кто заинтересован
в более тесном взаимодействии и хочет принять участие в проекте,
должен просто связаться с нами в &a.hackers;. Для тех кто
желает использовать FreeBSD в различных областях для работы,
доступен &a.announce;.Если участвуете в процессе разработки FreeBSD независимо или
тесно сотрудничая с нами, полезно знать следующее:CVS РепозиторийCVSрепозиторийConcurrent Versions SystemCVSГлавное дерево исходных текстов FreeBSD поддерживается
с помощью
CVS
(Concurrent Versions System), свободно доступной системой
контроля исходных текстов, которая поставляется вместе
с FreeBSD. Основной
CVS
репозиторий располагается на компьютере, находящемся
в городе Санта Клара, Калифорния (США), откуда и распространяется
на множество зеркал по всему миру. Дерево CVS, содержащее ветви
-CURRENT и -STABLE,
может быть легко скопировано на ваш локальный компьютер.
Обратитесь к разделу Синхронизация
дерева исходных текстов за информацией об этом
процессе.Список коммиттеровкоммиттерыКоммиттеры
это люди, которые имеют доступ на запись
к главному дереву CVS, и имеют право вносить изменения
в главное дерево исходных текстов FreeBSD (термин
коммиттер появился от названия
команды &man.cvs.1; commit, которая
используется для внесения изменений в CVS репозиторий).
Лучший способ для предоставления ваших изменений на
рассмотрение коммиттеров - это использование команды
&man.send-pr.1;. Если что-то произошло с системой, вы можете
достучаться до них посылкой письма по адресу
&a.committers;.CORE группа FreeBSD core teamCORE группа FreeBSD
могла бы быть эквивалентом Совета Директоров, если бы
Проект FreeBSD был компанией. Главная задача CORE группы —
убедиться, что проект в целом в хорошем состоянии
и движется в правильном направлении. Приглашение
постоянных и ответственных разработчиков присоединится к группе
коммиттеров одна из функций CORE группы, также как приглашение
новых членов в CORE группу по мере того, как другие уходят.
Нынешний состав группы был выбран из рядов коммиттеров
путем общего голосования в июне 2002 года.
Выборы проходят каждые 2 года.
Некоторые члены CORE группы имеют особые
области ответственности, это
означает, что они являются ответственными за работу
отдельной большой части системы.
За полным списком разработчиков FreeBSD и областей их
ответственности обращайтесь к Списку
участников.Большинство членов CORE группы являются волонтерами
и не получают никакой финансовой выгоды от участии в проекте,
поэтому вы не должны рассматривать их работу как
гарантированную поддержку. Аналогия с
советом директоров не очень точна и вероятно гораздо
правильнее будет сказать, что это люди, которые посвятили себя
FreeBSD, пожертвовав личной жизнью!Внешняя помощьучастникиПоследней, но однозначно не менее значимой, наибольшей
группой разработчиков являются пользователи, которые
предоставляют комментарии и исправления ошибок нам на почти
постоянной основе. Основной путь участвовать в
не централизованной разработке это подписка на &a.hackers;,
где обсуждаются подобные вещи. Обратитесь к за дальнейшей информацией о различных
списках рассылки FreeBSD.Список
контрибьюторов FreeBSD
очень длинный и постоянно растет, поэтому
почему бы вам не присоединится к нему предоставив что-нибудь
FreeBSD сегодня?Предоставление кода не единственный способ помочь
проекту; для более-менее полного списка вещей, которые
необходимо сделать пожалуйста обратитесь к веб сайту проекта
+ url="&url.main;/ru/index.html">веб сайту проекта
FreeBSD.Вообще говоря, наша модель разработки организована как нечеткий
набор концентрированных колец. Централизованная модель разработана
для удобства пользователей FreeBSD, которые
получают простую систему контроля за одной
центральной базой кода, и позволяет не оставить за бортом проекта
потенциальных помощников! Мы желаем предоставить стабильную
операционную систему с большим количеством когерентных
прикладных программ, которые
пользователи смогут легко установить и использовать — наша модель
работает очень хорошо для этой задачи.Мы все приглашаем тех, кто хотел бы присоединится к нам как
разработчик FreeBSD, выделить немного времени и привнести свой взнос
в постоянный успех FreeBSD!Текущая Версия FreeBSDNetBSDOpenBSD386BSDFree Software FoundationU.C. BerkeleyComputer Systems Research Group (CSRG)FreeBSD - это свободно доступный, основанный на 4.4BSD-Lite
релиз с полными исходными текстами для компьютерных систем, основанных на Intel
&i386;, &i486;, &pentium;,
&pentium; Pro,
&celeron;,
&pentium; II,
&pentium; III,
&pentium; 4 (или совместимыми),
&xeon;, DEC Alpha и
Sun &ultrasparc;.
В основном он основан на
программном обеспечении от группы CSRG, U.C. Berkley, с некоторым
дополнениями из NetBSD, OpenBSD, 386BSD и Free Software
Foundation.Со времен FreeBSD версии 2.0 в конце 94, производительность,
возможности, и стабильность FreeBSD выросла многократно. Самое
большое изменение это полное обновление системы виртуальной памяти
с объединенным VM/файловым буферизованным кэшем, который не только
увеличивает производительность, но и уменьшает количество
используемой памяти, делая 5 MB конфигурацию более доступным
минимумом. Другие улучшения включают в себя полную поддержку NIS
(клиент и сервер), поддержка транзакций TCP, поддержка
"звонка-по-запросу" в PPP, встроенная поддержка DHCP, улучшенная
подсистема SCSI, поддержка ISDN, ATM, FDDI, Fast и Gigabit Ethernet
(1000 Mbit) адаптеров, улучшенная поддержка последних версий
контролеров Adaptec и многие тысячи исправленных ошибок.В дополнение к базовой системе, FreeBSD предоставляет
коллекцию портированого ПО, включающую в себя тысячи популярных
программ. На время подготовки этого документа она включала в себя
более &os.numports; портов! В коллекцию входят множество программ от
http (WWW) серверов, до игр, языков программирования, текстовых
редакторов и всего прочего. Полная коллекция портов
требует приблизительно &ports.size; дискового пространства, потому что
порт представляет собой изменения оригинальных
исходных текстов. Это сильно упрощает нам процесс обновления
портов, и очень сильно уменьшает количество занимаемого
дискового места по сравнению со старой (1.0) коллекцией портов.
Для того, чтобы скомпилировать и установить программу,
необходимо всего лишь войти в каталог порта
программы, набрать make install и дать
системе сделать все остальное. Исходные тексты для каждого порта,
который вы устанавливаете, загружаются автоматически с CDROM или
локального FTP сервера, поэтому вам нужно только дисковое
пространство для сборки тех портов, которые вам необходимы. Почти каждый
порт также предоставляется как пред-компилированный
пакет, который может быть установлен с помощью
простой команды (pkg_add) теми, кто предпочитает не компилировать порты
из исходных текстов. Дополнительная информация о пакетах и портах
находится здесь: .Множество дополнительных документов, которые вы можете найти
очень полезными в процессе установки и использования FreeBSD,
находятся в каталоге /usr/share/doc
на любой машине, работающей под управлением современной версии FreeBSD. Вы
можете просматривать локально установленные документы с помощью
любого браузера, поддерживающего HTML, используя следующие ссылки:Руководство FreeBSD/usr/share/doc/ru_RU.KOI8-R/books/handbook/index.htmlFreeBSD FAQ (Часто задаваемые вопросы)/usr/share/doc/ru_RU.KOI8-R/books/faq/index.htmlВы также можете просмотреть основные (и наиболее часто обновляемые)
копии на http://www.FreeBSD.org/ru/.
+ url="&url.main;/ru/index.html">http://www.FreeBSD.org/ru/.
diff --git a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
index 345bfa4635..1be756a491 100644
--- a/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/l10n/chapter.sgml
@@ -1,997 +1,997 @@
Andrey A.ChernovПредоставил Michael C.WuПереписал Локализация - I18N/L10N использование и настройкаКраткий обзорFreeBSD - это очень распределенный проект, пользователи
и контрибьюторы которого находятся в самых разных частях света.
В этой главе рассказывается о возможностях интернационализации
и локализации FreeBSD, которые позволяют не-англоговорящим
пользователям делать свою работу. Существует много подходов в
i18n реализации - как на системном уровне, так и на уровне
приложений, так что, где это возможно, мы будем давать читателю
ссылки на более углубленные источники документации.После прочтения этой главы, вы будете знать:Как разные языки и региональные настройки кодируются
в современных операционных системах.Как установить региональные настройки для вашей
оболочки.Как настроить вашу консоль для отличных от
английского языков.Как эффективно использовать X Window System с разными
языками.Где найти дополнительную документацию по созданию
i18n-совместимых приложений.Перед чтением этой главы вам следует::Знать как установить дополнительные приложения сторонних
разработчиков ().ОсновыЧто такое I18N/L10N?интернационализациялокализацияРазработчики сократили интернационализацию в термин I18N, по числу
символов между первым и последним символом интернационализации. В
названии L10N используется тот же принцип от локализации.
Совместно используемые I18N/L10N методы, протоколы и приложения
позволяют пользователям использовать языки по своему выбору.I18N приложения написаны с применением набора I18N посредством
библиотек. Это позволяет разработчикам писать простые файлы и переводить
отображаемые меню и надписи на разные языки. Мы настоятельно рекомендуем
программистам следовать этому соглашению.Почему я должен использовать I18N/L10N?I18N/L10N используется всегда, когда вы хотите просмотреть, ввести
или обработать данные на отличных от английского языках.Какие языки поддерживаются в проекте I18N?I18N и L10N не являются специфичными для FreeBSD. На текущий момент
у вас есть выбор между самыми распространенными языками мира, включая, но
не ограничиваясь: китайский, немецкий, японский, корейский, французский,
русский, вьетнамский и др.Использование локализацииПри всем своем величии, I18N не специфична для FreeBSD и
является, по сути, соглашением. Следование этому соглашению
помогает FreeBSD, и мы это приветствуем.localeНастройки локализации базируются на трех основных терминах:
код языка, код страны и кодировка. Имена локализаций строятся из этих
частей следующим образом:кодязыка_кодстраны.кодировкаЯзык и код страныlanguage codescountry codesЧтобы настроить FreeBSD (или любую другую &unix;-систему,
поддерживающую I18N) на использование специфического языка, пользователю
нужно выяснить коды этого языка и страны (коды страны сообщают
приложению какой именно диалект языка этой страны нужно использовать). К
тому же, веб-браузеры, SMTP/POP серверы, веб-серверы и т.п. делают свой
выбор в зависимости от этого. Далее показаны примеры кодов
языка/страны:Код языка/страныОписаниеen_USАнглийский - Соединенные Штатыru_RUРусский для Россииzh_TWТрадиционный китайский для ТайваняКодировкикодировкиASCIIНекоторые языки используют не соответствующие ASCII кодировки,
которые используют для кодирования 8 бит, расширенное или
многобайтовое представление символов (подробности см. в &man.multibyte.3;).
Старые приложения не распознают такие кодировки и ошибочно принимают их
за управляющие символы. Новые приложения обычно распознают 8-битные
символы. В зависимости от реализации, пользователю может
потребоваться компиляция приложения с поддержкой расширенного или
многобайтного представления символов, или же просто правильная его
настройка. Чтобы иметь возможность вводить и обрабатывать символы с
расширенным или многобайтным представлением, Коллекция портов FreeBSD
+ url="&url.main;/ru/ports/index.html">Коллекция портов FreeBSD
предоставляет поддержку разных языков для различных приложений. Смотрите
документацию по I18N в соответствующем порту FreeBSD.В частности, пользователю необходимо читать прилагаемую к приложению
документацию чтобы решить, как правильно его настроить или
указать правильные параметры configure/Makefile/компилятору.Следует помнить следующие вещи:Наборы символов, использующие один байт для кодирования символа
(см. &man.multibyte.3;), например,
ISO-8859-1, ISO-8859-15, KOI8-R, CP437.Расширенные или многобайтные кодировки, например, EUC, Big5.Вы можете посмотреть актуальный список наборов символов на сайте
IANA Registry.Вместо этого, FreeBSD версий 4.5 и выше используют X11-совместимые
кодировки для локализации.Приложения, использующие I18NВ системе Портов и Пакетов FreeBSD в название приложений,
поддерживающих I18N, включена аббревиатура I18N для
легкой их идентификации. И, тем не менее, не все приложения поддерживают
требуемый язык.Настройка локализацииОбычно достаточно экспортировать значение имени локализации в
переменной LANG Вашей оболочки. Это можно сделать в
пользовательском ~/.login_conf файле или в
инициализационном файле пользовательской оболочки
(~/.profile, ~/.bashrc,
~/.cshrc). Нет надобности устанавливать отдельные
параметры локализации такие как LC_CTYPE,
LC_CTIME. За дополнительной информацией, пожалуйста,
обращайтесь к документации FreeBSD по нужному вам языку.Вам следует установить следующие переменные окружения в ваших
конфигурационных файлах:POSIXLANG для семейства функций &posix;
&man.setlocale.3;MIMEMM_CHARSETнабор символов MIME для
приложенийЭти настройки включают конфигурацию оболочки пользователя,
конфигурацию конкретных приложений и конфигурацию X11.Методы настройки локализацииlocalelogin classСуществует два метода настройки локализации и оба описаны ниже.
Первый (рекомендуемый) заключается в задании переменных в классе логина, другой метод заключается в
задании переменных окружения в
инициализационном
файле системной оболочки.Метод Login ClassesЭтот метод позволяет установить переменные окружения,
необходимые для установки локализации и набора символов MIME,
однократно для любых оболочек, вместо того, чтобы добавлять
установку этих переменных в инициализационный файл каждой оболочки.
Настройка на уровне пользователя может
быть сделана самим пользователем, а
Настройка на уровне администратора требует привилегий
суперпользователя.Настройка на уровне пользователяВот минимальный пример файла .login_conf
в домашнем каталоге пользователя, в котором задаются обе переменные
для кодировки Latin-1:me:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:Traditional ChineseBIG-5 encodingЭто пример .login_conf, который задает
переменные для Традиционного Китайского языка в кодировке BIG-5.
Обратите внимание, что задается намного больше переменных, потому
что некоторое программы некорректно воспринимают переменные
окружения локализации для Китая, Японии и Кореи.#Пользователи, которые не хотят использовать
денежные единицы
#и форматы времени Тайваня, могут вручную изменить каждую переменную
me:\
:lang=zh_TW.Big5:\
:lc_all=zh_TW.Big:\
:lc_collate=zh_TW.Big5:\
:lc_ctype=zh_TW.Big5:\
:lc_messages=zh_TW.Big5:\
:lc_monetary=zh_TW.Big5:\
:lc_numeric=zh_TW.Big5:\
:lc_time=zh_TW.Big5:\
:charset=big5:\
:xmodifiers="@im=xcin": #Setting the XIM Input ServerЗа подробностями обращайтесь к разделу
Настройка на
уровне администратора и &man.login.conf.5;.Настройка на уровне администратораПроверьте, что класс логина пользователя в
/etc/login.conf задает нужный язык.
Убедитесь, что эти настройки присутствуют в
/etc/login.conf:language_name:accounts_title:\
:charset=MIME_charset:\
:lang=locale_name:\
:tc=default:Используя наш предыдущий пример с Latin-1, это должно
выглядеть так:german:German Users Accounts:\
:charset=ISO-8859-1:\
:lang=de_DE.ISO8859-1:\
:tc=default:Изменение класса логина с помощью
&man.vipw.8;vipwИспользуйте vipw для добавления новых
пользователей и отредактируйте запись о пользователе, чтобы она была
похожа на эту:user:password:1111:11:language:0:0:User Name:/home/user:/bin/shИзменение класса логина с помощью
&man.adduser.8;adduserlogin classИспользуйте adduser для добавления новых
пользователей и сделайте следующее:Установите defaultclass =
язык в
/etc/adduser.conf. Помните, что в этом
случае вы должны задать default класс для
всех пользователей других языков.Другой способ заключается в задании класса логина каждый
раз, когда &man.adduser.8; попросит об этом:
Enter login class: default []: Еще один способ - использовать следующее для каждого
пользователя другого языка, которого вы хотите
добавить:&prompt.root; adduser -class языкИзменение класса логина с помощью
&man.pw.8;pwЕсли для добавления новых пользователей вы используете
утилиту &man.pw.8;, запускайте ее с такими параметрами:&prompt.root; pw useradd
имя_пользователя -L языкМетод инициализационных файлов оболочкиЭтот метод не рекомендуется, потому что он требует разных
настроек для каждой оболочки. Вместо этого используйте
Метод класса логина.MIMElocaleЧтобы добавить локализацию и набор символов MIME, просто
установите две переменные окружения, приведенные ниже, в
инициализационные файлы оболочек /etc/profile
и/или /etc/csh.login. Для примера мы используем
немецкий язык:В /etc/profile:LANG=de_DE.ISO8859-1; export LANGMM_CHARSET=ISO-8859-1; export MM_CHARSETИли в /etc/csh.login:setenv LANG de_DE.ISO8859-1setenv MM_CHARSET ISO-8859-1Как вариант, вы можете добавить установки, приведенные выше в
/usr/share/skel/dot.profile (соответствует
установкам в /etc/profile выше), или
/usr/share/skel/dot.login (соответствует
установкам в /etc/csh.login выше).Для X11:В $HOME/.xinitrc:LANG=de_DE.ISO8859-1; export LANGИли:setenv LANG de_DE.ISO8859-1В зависимости от вашей оболочки (см. выше).Настройка консолиДля всех однобайтовых кодовых таблиц, укажите подходящие
консольные шрифты в /etc/rc.conf для
требуемого языка:font8x16=имя_шрифта
font8x14=имя_шрифта
font8x8=имя_шрифтаThe имя_шрифта берется из каталога
/usr/share/syscons/fonts,
без указания расширения .fnt.sysinstallkeymapscreenmapУбедитесь также в установке правильных значений keymap и screenmap
для вашей однобайтовой кодовой таблицы через
/stand/sysinstall.
В sysinstall выберите
Configure, затем
Console. Или добавьте следующие строки в
/etc/rc.conf:scrnmap=screenmap_name
keymap=keymap_name
keychange="fkey_number sequence"screenmap_name берется из
каталога /usr/share/syscons/scrnmaps, без
суффикса .scm.
Screenmap с соответствующим шрифтом обычно используется в качестве
обходного пути для расширения 8 бит до 9 бит в псевдографическую
область VGA адаптера, например для удаления букв из этой области
если используется 8-битный шрифт.Если даемон мыши moused включен
добавлением в /etc/rc.conf следующей
строки:moused_enable="YES"прочтите информацию о курсоре мыши в следующем параграфе.mousedПо умолчанию драйвер &man.syscons.4; выделяет для курсора мыши
в таблице символов диапазон 0xd0-0xd3. Если в вашем языке
используется этот диапазон, переместите этот диапазон. В
FreeBSD версий до 5.0, добавьте следующую строку в файл
конфигурации ядра:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше включите следующую строку в
/etc/rc.conf:mousechar_start=3keymap_name берется из каталога
/usr/share/syscons/keymaps, без расширения
.kbd. Если вы не знаете какую таблицу
использовать, запустите &man.kbdmap.1; для тестирования таблицы
без перезагрузки.keychange обычно требуется для сопоставления
функциональных клавиш выбранному типу терминала, поскольку
последовательности функциональных клавиш не могут быть определены
в раскладке клавиатуры.Убедитесь также, что для всех записей ttyv*
в /etc/ttys установлен подходящий тип терминала.
Имеющиеся типы соответствуют следующим кодировкам:Кодовая таблицаТип терминалаISO-8859-1 or ISO-8859-15cons25l1ISO-8859-2cons25l2ISO-8859-7cons25l7KOI8-Rcons25rKOI8-Ucons25uCP437 (VGA default)cons25US-ASCIIcons25wДля расширенных кодировок, а также для многобайтовых кодировок,
используйте порт FreeBSD из каталога
/usr/ports/language.
Некоторые порты выводят информацию на консоль, хотя для системы
выглядят как последовательные псевдотерминалы, следовательно вы
должны зарезервировать достаточное количество псевдотерминалов
и для X11 и для последовательных псевдоконсолей. Вот неполный
список приложений для использования этих кодировок в консоли:ЯзыкПриложениеТрадиционный китайский (BIG-5)chinese/big5conЯпонскийjapanese/ja-kon2-* or
japanese/Mule_WnnКорейскийkorean/ko-hanНастройка X11Хотя X11 не является частью проекта FreeBSD, мы включили сюда
некоторую информацию для пользователей FreeBSD. За детальной
информацией обращайтесь к Веб
сайту &xfree86; или к сайту того сервера X11, который вы
используете.В ~/.Xresources, вы можете внести
дополнительные I18N настройки приложений (настройки шрифтов,
меню и т.п.).Отображение шрифтовX11 True Type font serverУстановите сервер X11 &truetype; Common
(x11-servers/XttXF86srv-common)
и &truetype; шрифты для используемого языка. После установки корректного
значения locale меню, сообщения и т.д. должны появиться на
соответствующем языке.Ввод не-англоязычных символовX11 Input Method (XIM)Протокол X11 Input Method (XIM) это новый стандарт для всех
клиентов X11. Все приложения X11 должны быть написаны как XIM
клиенты, получающие ввод с серверов XIM Input. Существует
несколько XIM серверов, доступных для различных языков.Настройка принтераНекоторые однобайтовые кодовые таблицы обычно поддерживаются
принтерами на аппаратном уровне. Расширенные, или
мультибайтовые кодовые таблицы требуют дополнительной настройки.
Мы рекомендуем использование apsfilter.
Кроме того, вы можете преобразовать документ в формат &postscript; или
PDF с помощью поддерживающих соответствующий язык программ.Ядро и файловые системыФайловая система FreeBSD (fast filesystem, FFS) поддерживает
8-битные символы, ее можно использовать с любой односимвольной
кодовой таблицей (см. &man.multibyte.3;), но кодовые таблицы не
хранятся в файловой системе; т.е. ей ничего не известно о порядке
расположения символов в кодовой таблице. Официально FFS пока
не поддерживает расширенные или много символьные кодовые таблицы.
Однако, для некоторых расширенных или многобайтовых кодировок есть
неофициальные патчи, включающие их поддержку в FFS. Это всего
лишь временные не переносимые решения или исправления кода и
мы решили не включать их в дерево исходных текстов. Обращайтесь
к сайтам по соответствующим языкам за дальнейшей информацией
и патчами.DOSUnicodeФайловая система &ms-dos; в FreeBSD может быть настроена для
поддержки перекодировки между &ms-dos;, кодовыми таблицами Unicode
и выбранной кодовой таблицей FreeBSD. Обращайтесь к
&man.mount.msdos.8; за подробностями.Компиляция I18N программМногие порты FreeBSD были созданы с поддержкой I18N. Некоторые
из них помечены символами -I18N в имени порта. Эти и многие другие
программы имеют встроенную поддержку I18N и не нуждаются в
специальной настройке.MySQLОднако, некоторые приложения, такие как
MySQL, требуют указания кодировки в
Makefile. Это обычно делается правкой
Makefile или передачей параметров
configure при сборке из исходных
текстов.Локализация FreeBSD для поддержки определенных языковAndrey A.ChernovПервоначально предоставил Русский язык (кодировка KOI8-R)localizationRussianЗа дополнительной информацией о кодировке KOI8-R, обращайтесь к
странице KOI8-R References
(Russian Net Character Set).Настройка локализацииПоместите в ~/.login_conf следующие
строки:me:My Account:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:Обратитесь к вышеизложенному материалу этой главы за
соответствующей
информацией.Настройка консолиДля FreeBSD версий до 5.0 добавьте к файлу настройки
ядра следующую строку:options SC_MOUSE_CHAR=0x03Для FreeBSD версий 4.4 и выше вставьте следующую строку
в /etc/rc.conf:mousechar_start=3Используйте в /etc/rc.conf
такие настройки:keymap="ru.koi8-r"
scrnmap="koi8-r2cp866"
font8x16="cp866b-8x16"
font8x14="cp866-8x14"
font8x8="cp866-8x8"Для каждого устройства ttyv* в файле
/etc/ttys, используйте
cons25r в качестве типа терминала.Обратитесь к вышеизложенному материалу этой главы за примерами
настройки консоли.Настройка принтерапринтерыБольшинство принтеров для России поставляются с аппаратной кодовой
страницей CP866, требуется специальный выходной фильтр для
перекодировки из KOI8-R в CP866. Такой фильтр устанавливается по
умолчанию в /usr/libexec/lpr/ru/koi2alt.
Запись для принтера в /etc/printcap должна
выглядеть приблизительно так:lp|Russian local line printer:\
:sh:of=/usr/libexec/lpr/ru/koi2alt:\
:lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs:Обратитесь к &man.printcap.5; за подробным описанием.&ms-dos; FS и русские имена файловСледующий пример записи в &man.fstab.5; включает поддержку
русских имен файлов при монтировании файловых систем &ms-dos;:/dev/ad0s2 /dos/c msdos rw,-Wkoi2dos,-Lru_RU.KOI8-R 0 0Параметр выбирает имя используемой
локализации, а параметр задает таблицу
перекодировки. При использовании параметра
убедитесь, что раздел /usr смонтирован перед
разделом &ms-dos;, поскольку таблицы перекодировки расположены
в каталоге
/usr/libdata/msdosfs. За более подробной
информацией обращайтесь к странице справочника
&man.mount.msdos.8;.Настройка X11Выполните сначала не-X
настройку локализации.Локализация KOI8-R
может не работать со старыми релизами
&xfree86; (ниже 3.3).
На настоящий момент в FreeBSD в качестве системы X Window по
умолчанию используется &xfree86; 4.X.
Поэтому если только вы не используете старые версии FreeBSD,
это не должно стать проблемой.Зайдите в каталог
russian/X.language и
выполните следующую команду:&prompt.root; make installВышеуказанный порт установит последнюю версию KOI8-R
шрифтов. В &xfree86; 3.3 уже есть
некоторые KOI8-R шрифты, но эти масштабируются лучше.Проверьте раздел "Files" в файле
/etc/XF86Config. Следующие строки
должны быть добавлены перед всеми
записями FontPath:FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"Если вы используете видеорежим с высоким разрешением,
поменяйте местами строки для 75 dpi и 100 dpi.Для настройки ввода на русском языке, добавьте
нижеприведенные строки в раздел
"Keyboard" файла
XF86Config.Для &xfree86; 3.X:XkbLayout "ru"
XkbOptions "grp:caps_toggle"Для &xfree86; 4.X:Option "XkbLayout" "ru"
Option "XkbOptions" "grp:caps_toggle"Убедитесь, что XkbDisable отключен
(закомментирован) в этом разделе.Переключателем RUS/LAT служит CapsLock.
Прежняя функция CapsLock все еще доступна в комбинации
ShiftCapsLock
(только в режиме LAT).Если на вашей клавиатуре есть клавиши &windows;,
и некоторые не-алфавитные клавиши работают неправильно в режиме
RUS, добавьте следующую строку в файл
XF86Config.Для &xfree86; 3.X:XkbVariant "winkeys"Для &xfree86; 4.X:Option "XkbVariant" "winkeys"Ввод на русском языке может может не работать со старыми
версиями &xfree86;, прочтите
предупреждение выше с
более подробной информацией. Ввод на русском языке может
также не работать с нелокализованными приложениями.
Минимально локализованные приложения должны вызывать
функцию XtSetLanguageProc (NULL, NULL,
NULL); в начале программы. Обратитесь к KOI8-R for X Window
за дальнейшими инструкциями по локализации приложений
X11.Локализация на традиционном китайском для Тайванялокализациятрадиционный китайскийУ проекта FreeBSD-Taiwan есть I18N/L10N учебник для
FreeBSD по адресу
,
в котором используются многие порты на китайском.
Редактором учебника zh-L10N-tut является Clive Lin
Clive@CirX.org. Вы можете получить с помощью cvsup
с freebsd.sinica.edu.tw следующие
коллекции:КоллекцияОписаниеoutta-port tag=.Beta-quality коллекция портов на китайскомzh-L10N-tut tag=.Локализация учебника FreeBSD на BIG-5 традиционном
китайскомzh-doc tag=.Перевод документации FreeBSD на BIG-5 традиционный
китайскийChuan-Hsing Shen s874070@mail.yzu.edu.tw создал
Chinese
FreeBSD Collection (CFC) используя FreeBSD-Taiwan
zh-L10N-tut. Пакеты и скрипты доступны по адресу
.Локализация на немецкий язык (для всех ISO 8859-1
языков)локализациянемецкийSlaven Rezic eserte@cs.tu-berlin.de написал
учебник по использованию umlauts в FreeBSD. Учебник написан
на немецком и доступен по адресу
.Локализация на японский и корейский языкилокализацияяпонскийлокализациякорейскийЗа информацией по японской локализации, обратитесь к
,
а за информацией о корейской локализацией к
.Не-англоязычная документация FreeBSDОтдельные контрибьюторы FreeBSD перевели части документации
FreeBSD на другие языки. Эти переводы доступны на основном сайте или из каталога
+ url="&url.main;/ru/index.html">основном сайте или из каталога
/usr/share/doc.
diff --git a/ru_RU.KOI8-R/books/handbook/pgpkeys/chapter.sgml b/ru_RU.KOI8-R/books/handbook/pgpkeys/chapter.sgml
index 174d063cc8..984d6527b0 100644
--- a/ru_RU.KOI8-R/books/handbook/pgpkeys/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/pgpkeys/chapter.sgml
@@ -1,791 +1,806 @@
Ключи PGPключи pgpВ случае если Вам необходимо проверить подпись или послать зашифрованное
электронное письмо одному из офицеров безопасности или члену core группы
FreeBSD ряд PGP ключей представлены здесь для Вашего удобства.
Полный список ключей пользователей FreeBSD.org доступен для скачивания
- с http://www.FreeBSD.org/doc/pgpkeyring.txt.
+ с http://www.FreeBSD.org/doc/pgpkeyring.txt.
Офицеры&a.security-officer;
&pgpkey.security-officer;
&a.core-secretary;
&pgpkey.core-secretary;
Члены Core&a.imp;
&pgpkey.imp;
&a.jhb;
&pgpkey.jhb;
&a.kuriyama;
&pgpkey.kuriyama;
&a.murray;
&pgpkey.murray;
&a.peter;
&pgpkey.peter;
&a.wes;
&pgpkey.wes;
Разработчики&a.will;
&pgpkey.will;
&a.mat;
&pgpkey.mat;
&a.asami;
&pgpkey.asami;
&a.dougb;
&pgpkey.dougb;
&a.tobez;
&pgpkey.tobez;
&a.mbr;
&pgpkey.mbr;
&a.harti;
&pgpkey.harti;
&a.obraun;
&pgpkey.obraun;
&a.jmb;
&pgpkey.jmb;
&a.brueffer;
&pgpkey.brueffer;
&a.markus;
&pgpkey.markus;
&a.wilko;
&pgpkey.wilko;
&a.jon;
&pgpkey.jon;
&a.luoqi;
&pgpkey.luoqi;
&a.ache;
&pgpkey.ache;
&a.seanc;
&pgpkey.seanc;
&a.cjh;
&pgpkey.cjh;
&a.cjc;
&pgpkey.cjc;
&a.marcus;
&pgpkey.marcus;
&a.nik;
&pgpkey.nik;
&a.ceri;
&pgpkey.ceri;
&a.brooks;
&pgpkey.brooks;
&a.pjd;
&pgpkey.pjd;
&a.bsd;
&pgpkey.bsd;
&a.dd;
&pgpkey.dd;
&a.ale;
&pgpkey.ale;
&a.peadar;
&pgpkey.peadar;
&a.josef;
&pgpkey.josef;
&a.ue;
&pgpkey.ue;
&a.ru;
&pgpkey.ru;
&a.le;
&pgpkey.le;
+
+ &a.stefanf;
+ &pgpkey.stefanf;
+
+
&a.jedgar;
&pgpkey.jedgar;
&a.green;
&pgpkey.green;
&a.lioux;
&pgpkey.lioux;
&a.fanf;
&pgpkey.fanf;
&a.blackend;
&pgpkey.blackend;
&a.petef;
&pgpkey.petef;
&a.billf;
&pgpkey.billf;
&a.patrick;
&pgpkey.patrick;
&a.gioria;
&pgpkey.gioria;
&a.jmg;
&pgpkey.jmg;
&a.dannyboy;
&pgpkey.dannyboy;
+
+ &a.dhartmei;
+ &pgpkey.dhartmei;
+
+
&a.jhay;
&pgpkey.jhay;
&a.sheldonh;
&pgpkey.sheldonh;
&a.mikeh;
&pgpkey.mikeh;
&a.ghelmer;
&pgpkey.ghelmer;
&a.mux;
&pgpkey.mux;
&a.mich;
&pgpkey.mich;
&a.foxfair;
&pgpkey.foxfair;
&a.jkh;
&pgpkey.jkh;
&a.trevor;
&pgpkey.trevor;
&a.phk;
&pgpkey.phk;
&a.joe;
&pgpkey.joe;
&a.vkashyap;
&pgpkey.vkashyap;
&a.kris;
&pgpkey.kris;
&a.keramida;
&pgpkey.keramida;
&a.fjoe;
&pgpkey.fjoe;
&a.andreas;
&pgpkey.andreas;
&a.sergei;
&pgpkey.sergei;
&a.maxim;
&pgpkey.maxim;
&a.jkoshy;
&pgpkey.jkoshy;
&a.rik;
&pgpkey.rik;
&a.rushani;
&pgpkey.rushani;
&a.clement;
&pgpkey.clement;
&a.mlaier;
&pgpkey.mlaier;
&a.alex;
&pgpkey.alex;
&a.erwin;
&pgpkey.erwin;
&a.leeym;
&pgpkey.leeym;
&a.netchild;
&pgpkey.netchild;
&a.ijliao;
&pgpkey.ijliao;
&a.clive;
&pgpkey.clive;
&a.arved;
&pgpkey.arved;
&a.scottl;
&pgpkey.scottl;
&a.pav;
&pgpkey.pav;
&a.bmah;
&pgpkey.bmah;
&a.mtm;
&pgpkey.mtm;
&a.dwmalone;
&pgpkey.dwmalone;
&a.matusita;
&pgpkey.matusita;
&a.ken;
&pgpkey.ken;
&a.dinoex;
&pgpkey.dinoex;
&a.sanpei;
&pgpkey.sanpei;
&a.jim;
&pgpkey.jim;
&a.marcel;
&pgpkey.marcel;
&a.tmm;
&pgpkey.tmm;
&a.rich;
&pgpkey.rich;
&a.knu;
&pgpkey.knu;
&a.max;
&pgpkey.max;
&a.yoichi;
&pgpkey.yoichi;
&a.bland;
&pgpkey.bland;
&a.simon;
&pgpkey.simon;
&a.anders;
&pgpkey.anders;
&a.obrien;
&pgpkey.obrien;
&a.philip;
&pgpkey.philip;
&a.hmp;
&pgpkey.hmp;
&a.mp;
&pgpkey.mp;
&a.roam;
&pgpkey.roam;
&a.den;
&pgpkey.den;
&a.pirzyk;
&pgpkey.pirzyk;
&a.jdp;
&pgpkey.jdp;
&a.krion;
&pgpkey.krion;
&a.markp;
&pgpkey.markp;
&a.thomas;
&pgpkey.thomas;
&a.dfr;
&pgpkey.dfr;
&a.trhodes;
&pgpkey.trhodes;
&a.benno;
&pgpkey.benno;
&a.paul;
&pgpkey.paul;
&a.roberto;
&pgpkey.roberto;
&a.guido;
&pgpkey.guido;
+
+ &a.niklas;
+ &pgpkey.niklas;
+
+
&a.marks;
&pgpkey.marks;
&a.hrs;
&pgpkey.hrs;
&a.wosch;
&pgpkey.wosch;
&a.das;
&pgpkey.das;
&a.schweikh;
&pgpkey.schweikh;
&a.gshapiro;
&pgpkey.gshapiro;
&a.arun;
&pgpkey.arun;
&a.vanilla;
&pgpkey.vanilla;
&a.cshumway;
&pgpkey.cshumway;
&a.demon;
&pgpkey.demon;
&a.jesper;
&pgpkey.jesper;
&a.scop;
&pgpkey.scop;
&a.kensmith;
&pgpkey.kensmith;
&a.ben;
&pgpkey.ben;
&a.des;
&pgpkey.des;
&a.sobomax;
&pgpkey.sobomax;
&a.dcs;
&pgpkey.dcs;
&a.brian;
&pgpkey.brian;
&a.nsouch;
&pgpkey.nsouch;
&a.vs;
&pgpkey.vs;
&a.gsutter;
&pgpkey.gsutter;
&a.nyan;
&pgpkey.nyan;
&a.mi;
&pgpkey.mi;
&a.gordon;
&pgpkey.gordon;
&a.thierry;
&pgpkey.thierry;
&a.viny;
&pgpkey.viny;
&a.nectar;
&pgpkey.nectar;
&a.adamw;
&pgpkey.adamw;
&a.nate;
&pgpkey.nate;
&a.wollman;
&pgpkey.wollman;
&a.joerg;
&pgpkey.joerg;
&a.phantom;
&pgpkey.phantom;
diff --git a/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml b/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
index add27ef0e7..7dd3348e5e 100644
--- a/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
+++ b/ru_RU.KOI8-R/books/handbook/ppp-and-slip/chapter.sgml
@@ -1,3245 +1,3245 @@
JimMockРеструктурировал, реорганизовал и обновил PPP и SLIPКраткий обзорPPPSLIPВ FreeBSD существует множество способов соединения одного компьютера
с другим. Для установления соединения с отдельной сетью или интернет
через обычный модем, или для открытия доступа к собственному компьютеру
необходимо использование PPP или SLIP. В этой главе детально описана
настройка таких модемных сервисов.После прочтения этой главы вы будете знать:Как настроить PPP уровня пользователя (user PPP).Как настроить PPP уровня ядра (kernel PPP).Как настроить PPPoE (PPP over
Ethernet).Как настроить PPPoA (PPP over
ATM).Как настроить SLIP клиента и сервер.PPPuser PPPPPPkernel PPPPPPover EthernetПеред прочтением этой главы вам потребуется:Ознакомиться с основными сетевыми технологиями.Понимать основы и назначение модемного соединения и PPP
и/или SLIP.Вы возможно захотите узнать, в чем главное различие между PPP
уровня пользователя и ядра. Ответ прост: PPP уровня пользователя
обрабатывает входящие и исходящие данные в пространстве пользователя,
а не в ядре. В терминах копирования данных между ядром и пространством
пользователя это дорогостоящий путь, который однако позволяет значительно
расширить возможности реализации PPP. PPP уровня пользователя
для связи с внешним миром использует устройство
tun, а PPP уровня ядра — устройство
ppp.В дальнейшем в этой главе PPP уровня пользователя будет
обозначаться просто как ppp, пока не
потребуется различать его и любое другое программное обеспечение
PPP, такое как pppd. Если не указано
иначе, все команды, приведенные в этой главе, должны выполняться
под root.TomRhodesОбновил и расширил BrianSomersПервоначально предоставил NikClaytonДополнительную информацию предоставили DirkFrömbergPeterChildsPPP уровня пользователяНастройка PPP уровня пользователяПредположенияВ этом документе предполагается, что у вас есть следующее:ISPPPPУчетная запись у провайдера интернет (Internet Service
Provider, ISP), к которому вы подсоединяетесь, используя
PPP.Модем или другое подключенное к системе и правильно
настроенное устройство, позволяющее подключиться к
провайдеру.Номер модемного пула провайдера.PAPCHAPUNIXлогинпарольИмя пользователя (логин) и пароль (обычная &unix; пара
логин/пароль, или PAP/CHAP пара логин/пароль).сервер именIP адреса одного или нескольких серверов имен. Обычно
провайдер дает для этих целей два IP адреса. Если нет
ни одного, вы можете использовать команду enable
dns в ppp.conf и
ppp настроит список серверов имен.
Эта возможность зависит от наличия поддержки согласования
DNS в реализации PPP провайдера.Следующая информация может поставляться провайдером, но не
является совершенно необходимой:IP адрес шлюза провайдера. Шлюз это компьютер, к которому
вы подключитесь и который будет настроен в качестве
маршрута по умолчанию (default
route). Если у вас нет этой информации, она
может быть получена от PPP сервера после подключения.Программой ppp этот IP адрес
обозначается как HISADDR.Сетевая маска, которую вы должны использовать.
Если провайдер не предоставил ее значение, вы можете
использовать 255.255.255.255.статический IP адресЕсли провайдер предоставил статический IP и имя хоста,
используйте их. Иначе позвольте удаленной стороне
назначить свободный IP адрес.Если у вас нет всей необходимой информации, свяжитесь с
провайдером.В этом разделе строки файлов настройки из многих примеров
пронумерованы. Эти номера приведены только для обсуждения
настроек, они не должны помещаться в действующую настройку.
Правильные отступы с табуляцией и пробелами также важны.Создание файлов устройств PPPPPPсоздание файлов устройствВ обычной ситуации, большинству пользователей нужно только
одно устройство tun
(/dev/tun0). Ссылки на
tun0 ниже могут быть заменены на
tunN,
где N это любой номер устройства,
соответствующий вашей системе.Для систем FreeBSD без &man.devfs.5; (FreeBSD 4.X более
ранние), необходимо проверить устройство
tun0 (это не требуется, если включена
&man.devfs.5;, поскольку файлы устройств будут создаваться
автоматически).Простейший способ убедиться, что устройство
tun0 настроено правильно, это пересоздать
устройство. Для пересоздания устройства выполните следующее:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV tun0Если вам необходимы 16 туннельных устройств, потребуется их
создать. Это можно сделать, выполнив следующие команды:&prompt.root; cd /dev
&prompt.root; sh MAKEDEV tun15Автоматическая настройка PPPPPPнастройкаИ ppp и pppd
(реализация PPP уровня ядра) используют файлы настройки,
расположенные в каталоге /etc/ppp.
Примеры для ppp уровня пользователя можно найти в
/usr/share/examples/ppp/.Настройка ppp требует редактирования
нескольких файлов, в зависимости от ваших потребностей. То,
что вы поместите в эти файлы, зависит в некоторой степени
от того, предоставит ли провайдер статический IP адрес
(т.е. вы получите один определенный IP адрес и будете использовать
его постоянно) или динамический (т.е. ваш IP адрес будет изменяться
при каждом подключении к провайдеру).PPP и статические IP адресаPPPсо статическими IP адресамиВам потребуется отредактировать файл настройки
/etc/ppp/ppp.conf. Он похож на приведенный
ниже пример.Строки, оканчивающиеся на :,
вводятся без отступа в начале строки, остальные строки
должны быть введены с отступом, как показано в примере.1 default:
2 set log Phase Chat LCP IPCP CCP tun command
3 ident user-ppp VERSION (built COMPILATIONDATE)
4 set device /dev/cuaa0
5 set speed 115200
6 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8 set timeout 180
9 enable dns
10
11 provider:
12 set phone "(123) 456 7890"
13 set authname foo
14 set authkey bar
15 set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16 set timeout 300
17 set ifaddr x.x.x.xy.y.y.y 255.255.255.255 0.0.0.0
18 add default HISADDRСтрока 1:Начинает настройку по умолчанию (default). Команды
этой настройки выполняются автоматически при запуске
ppp.Строка 2:Включает параметры протоколирования. Когда настройка
работает удовлетворительно, эта строка должна быть
сокращена до следующей формы
set log phase tun
для предотвращения появления слишком больших лог
файлов.Строка 3:Указывает PPP как идентифицировать себя на удаленной
стороне. PPP идентифицирует себя на удаленной стороне если
возникают проблемы согласования и установки соединения,
предоставляя информацию, по которой администратор на
удаленной стороне может воспользоваться для решения
таких проблем.Строка 4:Указывает устройство, к которому подключен модем.
COM1 это
/dev/cuaa0, а
COM2 это
/dev/cuaa1.Строка 5:Устанавливает желаемую скорость подключения к модему.
Если 115200 не работает (хотя должна работать для
любого относительно нового модема) попробуйте
38400.Строки 6 и 7:PPPPPP уровня пользователяСтрока дозвона. PPP уровня пользователя применяет
expect-send синтаксис, похожий на синтаксис &man.chat.8;.
Обратитесь к странице справочника за информацией о
возможностях этого языка.Обратите внимание, что эта команда продолжается на
следующей строке для улучшения читаемости. Любая команда
в ppp.conf может быть продолжена
на следующей строке, если последний символ предыдущей
строки \.Строка 8:Устанавливает предельное время ожидания для соединения.
Значение 180 секунд используется по умолчанию, так что
строка с этим значением чисто косметическая.Строка 9:Указывает PPP запросить у удаленной стороны
сервера имен. Если вы работаете с локальным сервером имен,
эта строка должна быть закомментирована или удалена.Строка 10:Пустая строка для улучшения читаемости. Пустые строки
игнорируются PPP.Строка 11:Определяет настройки для провайдера, называемого
provider. Это имя может быть изменено
на имя вашего провайдера, чтобы в дальнейшем вы могли
использовать для
начала соединения.Строка 12:Определяет телефонный номер для этого провайдера.
Несколько телефонных номеров могут быть указаны с
помощью двоеточия (:) или
символа канала (|) в качестве
разделителя. Различия между двумя разделителями описаны
в &man.ppp.8;. Главным образом они заключаются в том, что
если вы хотите перебирать номера, используйте двоеточие.
Если вы хотите дозваниваться по первому номеру в первую
очередь, и использовать другие номера только если
дозвон по первому завершится неудачно, используйте символ
канала. Всегда заключайте список номеров в кавычки, как
показано в примере.Вы должны включить телефонный номер в кавычки
(") если в нем используются пробелы.
Отсутствие кавычек может вызвать простую, но трудно
обнаруживаемую ошибку.Строки 13 и 14:Задают имя пользователя и пароль. При использовании
приглашения login в стиле &unix;, эти значения
используются командой set login
через переменные \U и \P. При соединении с использованием
PAP или CHAP, эти значения используются во время
аутентификации.Строка 15:PAPCHAPЕсли вы используете PAP или CHAP, приглашение
на вход не появится, и эта строка должна быть
закомментирована или удалена. Обратитесь к
странице аутентификация
PAP и CHAP за дальнейшей информацией.Строка для входа записана в том же chat-подобном
синтаксисе, что и строка для дозвона. В этом примере
строка работает для сервиса, сессия входа которого выглядит
примерно так:J. Random Provider
login: foo
password: bar
protocol: pppВам потребуется изменить эту строку для использования
с другим сервисом. При первом составлении скрипта
убедитесь, что вы включили chat
протоколирование, чтобы убедиться, что
соединение происходит как ожидалось.Строка 16:время ожиданияУстановка максимального времени ожидания по умолчанию
для соединения. В данном случае соединение будет разорвано
автоматически после 300 секунд неактивности. Если вы не
хотите, чтобы соединение разрывалось, установите эту
переменную в нуль, или используйте параметр командной
строки.Строка 17:ISPУстанавливает адрес интерфейса. Строка
x.x.x.x должна быть
заменена на IP адрес, который выделил вам провайдер.
Строка y.y.y.y должна быть
заменена на IP адрес шлюза провайдера (компьютер, к
которому вы подключаетесь). Если провайдер не сообщил
адрес шлюза, используйте 10.0.0.2/0.
Если вам требуется использовать вычисленные
адреса, убедитесь, что создана запись в
/etc/ppp/ppp.linkup в соответствии
с инструкциями для PPP
и динамических IP адресов. Если эта строка
опущена, ppp не может быть запущен в
режиме .Строка 18:Добавляет маршрут по умолчанию к шлюзу провайдера.
Специальное слово HISADDR заменяется
адресом шлюза, указанном в строке 17. Важно, чтобы
эта строка появилась после строки 17, до нее
переменная HISADDR еще не
инициализирована.Если вы не будете запускать ppp с параметром
, эта строка должна быть перемещена
в файл ppp.linkup.Нет необходимости добавлять запись в
ppp.linkup, если у вас статический IP
адрес и ppp работает в режиме ,
поскольку таблица маршрутизации настроена правильно еще
до подключения. Однако, вы возможно захотите создать запись
для запуска программ после соединения. Эта ситуация описана
далее в примере по sendmail.Примерные файлы настройки находятся в каталоге
/usr/share/examples/ppp/.PPP и динамические IP адресаPPPс динамическими IP адресамиIPCPЕсли провайдер не выделил статический IP адрес,
ppp может быть настроен для определения
локального и удаленного адреса. Это делается путем
вычисления IP адреса и настройки его программой
ppp с использованием IP
Configuration Protocol (IPCP) после установления соединения.
Файл настройки ppp.conf тот же, что и
в примере PPP и статические
IP адреса, со следующим изменением:17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255Как и раньше, не включайте номер строки, он используется
только для ссылки на строку в этом примере. Требуется отступ хотя
бы в один пробел.Строка 17:Номер после символа / это число
бит в адресе, которые будут запрошены ppp. Вы можете
использовать более подходящие вам IP адреса, но пример
выше всегда будет работать.Если вы не используете режим ,
потребуется создать запись в
/etc/ppp/ppp.linkup.
Этот файл используется после установки соединения. На этот момент
ppp уже настроит адреса интерфейсов и
станет возможным добавление записей в таблицу
маршрутизации:1 provider:
2 add default HISADDRСтрока 1:При установке соединения, ppp
ищет запись в ppp.linkup
по следующим правилам: сначала в соответствии с
меткой, используемой в ppp.conf.
Если это не сработает, ведется поиск записи для
IP адреса шлюза. Это метка в IP записывается в
виде IP адреса. Если запись все еще не найдена,
используется запись MYADDR.Строка 2:Эта строка сообщает ppp добавить
маршрут по умолчанию, указывающий на
HISADDR. HISADDR
будет заменен на IP адрес шлюза, определенного
IPCP.Детальный пример находится в записи
pmdemand файлов
/usr/share/examples/ppp/ppp.conf.sample
и
/usr/share/examples/ppp/ppp.linkup.sample.Прием входящих звонковPPPприем
входящих соединенийПри настройке ppp для приема
входящих звонков на компьютере, подключенном к локальной сети,
вам необходимо решить, перенаправлять ли пакеты в локальную сеть.
Если вы будете делать это, выделите удаленной стороне IP адрес
из диапазона адресов локальной сети, и используйте команду
enable proxy в файле
/etc/ppp/ppp.conf. Вам потребуется также
убедиться, что в файле /etc/rc.conf
присутствует строка:gateway_enable="YES"Какой getty?Раздел Настройка FreeBSD для
входящих соединений дает хорошее описание включения
входящих соединений с использованием &man.getty.8;.Альтернатива getty это mgetty,
более интеллектуальная версия getty,
разработанная специально для приема входящих звонков..Преимущество использование mgetty в
том, что она активно общается с модемами,
то есть если порт будет выключен в
/etc/ttys, модем не будет отвечать на
звонок.Последние версии mgetty (от
0.99beta и выше) поддерживают также автоматическое определение
потоков PPP, позволяя клиентам безскриптовое подключение
к серверу.Обратитесь к разделу Mgetty и
AutoPPP за дальнейшей информацией по
mgetty.Права PPPПрограмма ppp обычно запускается с
правами пользователя root.
Если вы хотите разрешить запуск ppp
в режиме сервера с правами обычного пользователя
путем запуска ppp как описано ниже,
этого пользователя необходимо добавить в группу
network в файле
/etc/group.Вам также потребуется дать ему доступ к одному или более
разделов конфигурации, используя команду
allow:allow users fred maryЕсли эта команда используется в разделе
default, она дает пользователю полный
доступ.Оболочки PPP для пользователей с динамическими IPоболочки PPPСоздайте файл, называющийся
/etc/ppp/ppp-shell и содержащий
следующее:#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`
if [ x$IDENT = xdialup ]; then
IDENT=`basename $TTY`
fi
echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"
exec /usr/sbin/ppp -direct $IDENTЭтот скрипт должен быть исполняемым. Теперь создайте
на этот скрипт символическую ссылку с именем
ppp-dialup с помощью следующей
команды:&prompt.root; ln -s ppp-shell /etc/ppp/ppp-dialupИспользуйте этот скрипт в качестве
оболочки для удаленных пользователей.
Ниже приведен пример записи в /etc/password
для удаленных пользователей PPP с именем пользователя
pchilds (не забывайте использовать
vipw для редактирования файла паролей).pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialupСоздайте каталог /home/ppp,
который доступен для чтения и содержит следующие файлы
нулевой длины:-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin
-r--r--r-- 1 root wheel 0 May 27 02:22 .rhostsЭто предотвратит отображение
/etc/motd.Оболочки PPP для пользователей со статическими IPоболочки PPPСоздайте файл ppp-shell как в примере
выше, и для каждой учетной записи со статически назначаемым
IP создайте символическую ссылку на
ppp-shell.Например, если у вас три пользователя удаленного доступа,
fred, sam и
mary, которые подключаются к вашей
сети класса C, выполните следующее:&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam
&prompt.root; ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-maryОболочка каждого из этих пользователей удаленного доступа
должна быть символической ссылкой, созданной выше
(например, оболочка пользователя mary
должна быть /etc/ppp/ppp-mary).Настройка ppp.conf для пользователей
с динамическими IPФайл /etc/ppp/ppp.conf должен
содержать примерно такие строки:default:
set debug phase lcp chat
set timeout 0
ttyd0:
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
enable proxy
ttyd1:
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
enable proxyНеобходимо соблюдать отступы.Раздел default: загружается для
каждого соединения. Для каждой строки, включенной в
/etc/ttys, создайте запись,
подобную ttyd0: выше. Каждая строка
должна содержать уникальные IP адреса из вашего пула
IP адресов, выделенных пользователям с динамическими
IP.Настройка ppp.conf для пользователей
со статическими IPПомимо содержимого, описанного в примере файла
/usr/share/examples/ppp/ppp.conf
выше, вам потребуется добавить раздел для каждого из
пользователей со статическими IP. Мы продолжим использовать
имена fred, sam
и mary в качестве примера.fred:
set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255
sam:
set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255
mary:
set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255Если требуется, файл /etc/ppp/ppp.linkup
должен также содержать информацию о маршрутизации для
каждого пользователя со статическим IP. В строке ниже
через клиентское соединение добавляется маршрут к сети класса
C203.14.101.0.fred:
add 203.14.101.0 netmask 255.255.255.0 HISADDR
sam:
add 203.14.102.0 netmask 255.255.255.0 HISADDR
mary:
add 203.14.103.0 netmask 255.255.255.0 HISADDRmgetty и AutoPPPmgettyAutoPPPLCPНастройка и компиляция mgetty с
параметром AUTO_PPP позволяет
mgetty определять LCP фазу
PPP соединений и автоматически порождать оболочку ppp.
Однако, поскольку стандартный метод логин/пароль не
используется, необходима аутентификация пользователей
через PAP или CHAP.В этом разделе предполагается, что пользователь
успешно настроил, скомпилировал и установил версию
mgetty с параметром
AUTO_PPP (v0.99beta или
более поздняя).Убедитесь, что в файле
/usr/local/etc/mgetty+sendfax/login.config
имеется следующая строка:/AutoPPP/ - - /etc/ppp/ppp-pap-dialupЭто укажет mgetty запускать скрипт
ppp-pap-dialup для обнаруженных
соединений PPP.Создайте файл
/etc/ppp/ppp-pap-dialup, содержащий
следующее (этот файл должен быть выполняемым):#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENTДля каждой линии, включенной в
/etc/ttys, создайте соответствующую запись
в /etc/ppp/ppp.conf. Она будет отлично
сочетаться с тем, что было создано выше.pap:
enable pap
set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
enable proxyДля каждого пользователя, входящего по этому
методу, в файле /etc/ppp/ppp.secret
должна присутствовать запись с логином/паролем,
или, в качестве альтернативы, для аутентификации пользователей
по PAP через /etc/password, необходимо
использовать следующий параметр.enable passwdauthЕсли вы хотите присвоить некоторым пользователям статический
IP, задайте его в качестве третьего аргумента в
/etc/ppp/ppp.secret. Обратитесь к
к /usr/share/examples/ppp/ppp.secret.sample
за примерами.MS расширенияDNSNetBIOSPPPРасширения MicrosoftВозможна настройка PPP для выдачи адресов DNS и
NetBIOS по запросу.Для включения этих расширений с PPP версии 1.x, необходимо
добавить к соответствующему разделу
/etc/ppp/ppp.confследующие строки.enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5Для PPP версии 2 и выше:accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5Клиентам будут выдаваться адреса первичного и вторичного
серверов имен, и адрес хоста NetBIOS.Если в версии 2 и выше строка set dns
будет опущена, PPP использует значения из
/etc/resolv.conf.Аутентификация PAP и CHAPPAPCHAPНекоторые провайдеры настраивают систему так, что
аутентификация производится с использованием либо PAP либо
CHAP. В этом случае, приглашение login:
при соединении не выдается и соединение PPP
начинается сразу.PAP менее безопасен, чем CHAP, но безопасность в данном
случае не страдает, поскольку хотя пароли и передаются открытым
текстом, они передаются только по модемной линии. У кракеров
не так много возможностей для кражи паролей.В примерах выше PPP
и статические IP адреса или PPP и динамические IP адреса
должны быть сделаны следующие изменения:13 set authname MyUserName
14 set authkey MyPassword
15 set loginСтрока 13:Эта строка указывает имя пользователя PAP/CHAP. Вам
потребуется заменить MyUserName
на правильное значение.Строка 14:passwordЭта строка указывает пароль PAP/CHAP. Вам потребуется
заменить MyPassword на
правильное значение. Вы можете также добавить
дополнительную строку, такую как:16 accept PAPили16 accept CHAPдля явного указания протокола, но и PAP и CHAP
поддерживаются по умолчанию.Строка 15:Ваш провайдер обычно не потребует входа на сервер
при использовании PAP или CHAP. Следовательно, вы
должны отключить строку set login.Изменение настроек pppна
летуВозможно изменение настроек ppp
программы во время ее работы в фоновом режиме, но только если
открыт соответствующий диагностический порт. Для его открытия
добавьте в настройку следующую строку:set server /var/run/ppp-tun%d DiagnosticPassword 0177С этой директивой ppp будет прослушивать заданный &unix;
сокет, запрашивая у клиентов пароль перед выдачей доступа.
Символы%d заменяются на номер используемого
устройства tun.Как только сокет открыт, в скриптах, выполняющих настройку
работающей программы, можно использовать &man.pppctl.8;.Использование NATPPPNATPPP имеет возможность использовать встроенный NAT без
преобразования пакетов в ядре. Эта возможность может быть включена
следующей строкой в /etc/ppp/ppp.conf:nat enable yesАльтернативно, PPP NAT может быть включен параметром командной
строки -nat. Существует также переменная
/etc/rc.confppp_nat,
которая включена по умолчанию.Если вы используете эту возможность, вы также можете
найти полезными параметры /etc/ppp/ppp.conf
для включения пересылки входящих соединений:nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http httpили отключить все входящие соединенияnat deny_incoming yesЗавершающая настройка системыPPPconfigurationТеперь, когда программа ppp настроена,
осталось выполнить еще несколько действий прежде, чем все это
заработает. Они выполняются путем редактирования файла
/etc/rc.conf.Просматривая этот файл, убедитесь, что добавлена строка
hostname=, например:hostname="foo.example.com"Если провайдер предоставил вам статический IP адрес и имя,
возможно лучше всего использовать это имя в качестве имени
хоста.Проверьте переменную network_interfaces.
Если вы хотите настроить систему для дозвона по требованию,
убедитесь, что устройство tun0 добавлено
в список, иначе удалите его.network_interfaces="lo0 tun0"
ifconfig_tun0=Переменная ifconfig_tun0 должна быть пуста,
необходимо также создать файл
/etc/start_if.tun0. В этом файле должна
находиться строка:ppp -auto mysystemЭтот скрипт выполняется во время настройки сети, запуская
даемона ppp в автоматическом режиме. Если эта машина является
шлюзом для локальной сети, вы можете также использовать
переключатель . Обратитесь к странице
справочника за дальнейшей информацией.Убедитесь, что программа маршрутизации отключена переменной
в файле /etc/rc.conf:router_enable="NO"routedВажно, чтобы даемон routed не был запущен,
поскольку он может удалить запись маршрута по умолчанию, создаваемую
ppp.Возможно, стоит обратить внимание на переменную
sendmail_flags и убедиться, что она не включает
параметр , иначе sendmail
попытается сразу же обратиться к сети, и компьютер может начать
дозвон. Вы можете попробовать:sendmail_flags="-bd"sendmailОбратная сторона этого решения в том, что необходим
запуск очереди sendmail после поднятия
соединения ppp:&prompt.root; /usr/sbin/sendmail -qВы можете использовать команду !bg в файле
ppp.linkup для автоматического выполнения
этой задачи:1 provider:
2 delete ALL
3 add 0 0 HISADDR
4 !bg sendmail -bd -q30mSMTPЕсли вам это не нужно, возможна настройка
dfilter для блокирования SMTP трафика. Обратитесь
файлам примеров за дальнейшей информацией.Все, что осталось, это перегрузить компьютер. После
перезагрузки вы можете либо выполнить:&prompt.root; pppи затем набрать dial provider для запуска
сессии PPP, либо, если вы хотите, чтобы программа
ppp начинала соединение автоматически при
появлении исходящего трафика (и файл
start_if.tun0 не создан), выполните:&prompt.root; ppp -auto providerИтогиДля первоначальной настройки ppp необходимо пройти следующие
шаги:Сторона клиента:Убедитесь, что устройство tun
встроено в ядро.Убедитесь, что устройства
tunN
находятся в каталоге /dev.Создайте запись в
/etc/ppp/ppp.conf. Пример
pmdemand должен подойти для большинства
провайдеров.Если у вас динамический IP адрес, создайте запись в
/etc/ppp/ppp.linkup.Обновите файл /etc/rc.conf.Создайте скрипт start_if.tun0,
если необходим дозвон по требованию.Сторона сервера:Убедитесь, что устройство tun
встроено в ядро.Убедитесь, что устройства
tunN
находятся в каталоге /dev.Создайте запись в /etc/passwd
(используя программу &man.vipw.8;).Создайте профиль в домашнем каталоге пользователя,
запускающий ppp -direct direct-server
или подобную команду.Создайте запись в
/etc/ppp/ppp.conf. Пример
direct-server должен подойти.Создайте запись в
/etc/ppp/ppp.linkup.Обновите файл /etc/rc.conf.Gennady B.SorokopudЧасти документа первоначально предоставили RobertHuffPPP уровня ядраНастройка PPP уровня ядраPPPkernel PPPПеред началом настройки PPP на вашем компьютере, убедитесь, что
pppd находится в /usr/sbin
и каталог /etc/ppp существует.pppd может работать в двух режимах:В качестве клиента — когда вы хотите
подключить компьютер к внешнему миру через последовательное
соединение PPP или модемную линию.PPPсерверВ качестве сервера — когда компьютер
подключен к сети и используется для подключения других
компьютеров через PPP.В обеих случаях вам потребуется настроить файл параметров
(/etc/ppp/options или
~/.ppprc если на вашем компьютере
более одного пользователя работают с PPP).Вам потребуется также программа для модемных/последовательных
линий (предпочтительно comms/kermit) для дозвона и установки
соединения с удаленным хостом.TrevRoydhouseОсновано на информации, предоставленной Использование pppd в качестве клиентаPPPклиентCiscoДля подключения к линии PPP терминального сервера Cisco
может использоваться следующий файл
/etc/ppp/options.crtscts # enable hardware flow control
modem # modem control line
noipdefault # remote PPP server must supply your IP address
# if the remote host does not send your IP during IPCP
# negotiation, remove this option
passive # wait for LCP packets
domain ppp.foo.com # put your domain name here
:<remote_ip> # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to <local_ip>:<remote_ip>
defaultroute # put this if you want that PPP server will be your
# default routerДля подключения:kermitмодемДозвонитесь на удаленный хост, используя
kermit (или любую другую модемную
программу), и введите ваше имя пользователя и пароль (или
те данные, которые требуются для установления PPP соединения
с удаленным хостом).Выйдите из kermit (без
обрыва соединения).Введите следующее:&prompt.root; /usr/src/usr.sbin/pppd.new/pppd /dev/tty0119200Убедитесь, что выбраны подходящая скорость и правильное имя
устройства.Теперь ваш компьютер подключен по PPP. Если соединение не
состоялось, вы можете добавить параметр
к файлу /etc/ppp/options, и отследить
проблему по сообщениям на консоли.Следующий скрипт /etc/ppp/pppup проведет все
3 стадии в автоматическом режиме:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200kermit/etc/ppp/kermit.dial это скрипт
kermit, который дозванивается до
удаленного хоста и проходит необходимую авторизацию (пример
такого скрипта находится в конце этого раздела).Используйте следующий скрипт /etc/ppp/pppdown
для отключения от PPP линии:#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptestПроверьте, запущен ли еще pppd,
выполнив /usr/etc/ppp/ppptest, который выглядит
примерно так:#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'pppd running: PID=' ${pid-NONE}
else
echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0Для обрыва соединения, выполните
/etc/ppp/kermit.hup, который должен
содержать:set line /dev/tty01 ; put your modem device here
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exitСуществует альтернативный метод, использующий
chat вместо kermit:Для установления соединения pppdдостаточно
двух файлов./etc/ppp/options:/dev/cuaa1 115200
crtscts # enable hardware flow control
modem # modem control line
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault # remote PPP serve must supply your IP address
# if the remote host doesn't send your IP during
# IPCP negotiation, remove this option
passive # wait for LCP packets
domain <your.domain> # put your domain name here
: # put the IP of remote PPP host here
# it will be used to route packets via PPP link
# if you didn't specified the noipdefault option
# change this line to <local_ip>:<remote_ip>
defaultroute # put this if you want that PPP server will be
# your default router/etc/ppp/login.chat.script:Все это может быть расположено на одной строке.ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number>
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id>
TIMEOUT 5 sword: <password>Как только эти файлы будут созданы и отредактированы, необходимо
только запустить pppd, вот так:&prompt.root; pppdИспользование pppd в качестве сервера/etc/ppp/options должен содержать примерно
следующее:crtscts # Hardware flow control
netmask 255.255.255.0 # netmask (not required)
192.114.208.20:192.114.208.165 # IP's of local and remote hosts
# local ip must be different from one
# you assigned to the ethernet (or other)
# interface on your machine.
# remote IP is IP address that will be
# assigned to the remote machine
domain ppp.foo.com # your domain
passive # wait for LCP
modem # modem lineСледующий скрипт /etc/ppp/pppserv
укажет pppd работать в качестве
сервера:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete
# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans
# run ppp
pppd /dev/tty01 19200Используйте этот скрипт /etc/ppp/pppservdown
для остановки сервера:#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing kermit, PID=' ${pid}
kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.noansСледующий kermit скрипт
(/etc/ppp/kermit.ans) включит/отключит
режим ответа модема на входящие звонки. Он должен выглядеть
примерно так:set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
; autoanswer mode
inp 5 OK
echo \13
exitСкрипт, называющийся /etc/ppp/kermit.dial,
используется для дозвона и аутентификации на удаленном хосте.
Вам потребуется приспособить его под собственные нужды. Поместите
ваш логин и пароль в этот скрипт; вам также потребуется изменить
операторы input в зависимости от ответов от модема и удаленного
хоста.;
; put the com line attached to the modem here:
;
set line /dev/tty01
;
; put the modem speed here:
;
set speed 19200
set file type binary ; full 8 bit file xfer
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto ; Then SET CARRIER if necessary,
set dial display on ; Then SET DIAL if necessary,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0 ; login prompt counter
goto slhup
:slcmd ; put the modem in command mode
echo Put the modem in command mode.
clear ; Clear unread characters from input buffer
pause 1
output +++ ; hayes escape sequence
input 1 OK\13\10 ; wait for OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd ; if modem doesn't answer OK, try again
:slhup ; hang up the phone
clear ; Clear unread characters from input buffer
pause 1
echo Hanging up the phone.
output ath0\13 ; hayes command for on hook
input 2 OK\13\10
if fail goto slcmd ; if no OK answer, put modem in command mode
:sldial ; dial the number
pause 1
echo Dialing.
output atdt9,550311\13\10 ; put phone number here
assign \%x 0 ; zero the time counter
:look
clear ; Clear unread characters from input buffer
increment \%x ; Count the seconds
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup
:sllogin ; login
assign \%x 0 ; zero the time counter
pause 1
echo Looking for login prompt.
:slloop
increment \%x ; Count the seconds
clear ; Clear unread characters from input buffer
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop ; try 10 times to get a login prompt
else goto slhup ; hang up and start again if 10 failures
:sluid
;
; put your userid here:
;
output ppp-login\13
input 1 {Password: }
;
; put your password here:
;
output ppp-password\13
input 1 {Entering SLIP mode.}
echo
quit
:slnodial
echo \7No dialtone. Check the telephone line!\7
exit 1
; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:TomRhodesПредоставил Решение проблем с соединениями PPPPPPрешение проблемЭтот раздел охватывает несколько вопросов, которые могут
возникнуть при использовании PPP через модемные соединения.
Например, предположим, что вам потребовалось узнать, какое
именно приглашение отображает система, до которой вы дозваниваетесь.
Некоторые провайдеры выдают приглашение ssword,
другие password; если ppp
скрипт не обрабатывает такие приглашения, попытка входа
завершится неудачно. Наиболее общий способ отладки
соединений ppp это подключение вручную.
Ниже дана пошаговая информация по подключению вручную.Проверьте файлы устройствЕсли вы пересобирали ядро, проверьте устройство
sio. Если вы не перенастраивали ядро,
нет причин для беспокойства. Просто проверьте вывод
dmesg для модемного устройства следующей
командой:&prompt.root;dmesg | grep sioВы должны получить информацию о устройствах
sio. Это COM порты, которые нам
необходимы. Если ваш модем работает как стандартный
последовательный порт, вы увидите его на
sio1, или COM2. Если это так,
вам не требуется пересобирать ядро, необходимо лишь создать
последовательное устройство. Вы можете сделать это, зайдя в
/dev и запустив скрипт
MAKEDEV. Создайте последовательные
устройства:&prompt.root; sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3Если модем находится на sio1,
или COM2 в DOS, модемным устройством
будет /dev/cuaa1.Подключение вручнуюПодключение к интернет с контролированием ppp
вручную это быстрый, легкий и действенный способ отладки
соединения или получения информации о обслуживании
провайдером клиентского соединения ppp.
Запустите PPP из командной строки.
В примерах в качестве имени хоста мы будем использовать
example. Запустите ppp,
введя команду ppp:&prompt.root; pppТеперь программа ppp запущена.ppp ON example> set device /dev/cuaa1Мы указали модемное устройство, в данном случае
cuaa1.ppp ON example> set speed 115200Мы установили скорость подключения к модему, в данном случае
115,200 кбит/с.ppp ON example> enable dnsСообщает ppp настроить разрешение имен,
добавив строки в /etc/resolv.conf.
Если ppp не может определить имя хоста,
его можно настроить позже вручную.ppp ON example> termПереключение в терминальный режим для контроля
модема вручную.deflink: Entering terminal mode on /dev/cuaa1
type '~h' for helpat
OK
atdt123456789Использование команды at для инициализации
модема, а затем atdt и номера провайдера
для начала дозвона.CONNECTПодтверждение соединения, если есть проблемы с соединением,
не вызванные проблемами в оборудовании, здесь мы попытаемся решить
их.ISP Login:myusernameЗдесь вам предлагается ввести имя пользователя в приглашение,
выводимое сервером провайдера.ISP Pass:mypasswordЗдесь предлагается ввести пароль, предоставленный провайдером.
Как и при входе в &os;, пароль не отображается.Shell or PPP:pppВ зависимости от вашего провайдера, это приглашение может не
появиться. Здесь задается вопрос, хотите ли вы использовать
оболочку на компьютере провайдера или запустить
ppp. В этом примере мы выбрали
ppp, поскольку хотим соединиться с
интернет.Ppp ON example>Обратите внимание, что в этом примере первая буква
появилась в верхнем регистре. Это означает, что
мы успешно подключились к провайдеру.PPp ON example>Мы успешно аутентифицировались у провайдера и ожидаем
присвоения IP адреса.PPP ON example>Мы завершили согласование IP адресов,
соединение успешно установлено.PPP ON example>add default HISADDRЭто маршрут по умолчанию, его необходимо настроить, чтобы
сделать возможной связь с внешним миром, поскольку на этот
момент установлена связь только с удаленной стороной.
Если маршрут не устанавливается из-за уже существующего маршрута,
добавьте символ ! перед .
Альтернативно вы можете сделать настройку перед установкой
соединения.Если все прошло удачно, на данный момент должно работать
соединение с интернет, которое можно поместить в фоновый режим
клавишами CTRLz. Переход строки
PPP в приглашении в нижний регистр
(ppp) означает, что соединение было разорвано.
Таким образом, символы P в верхнем регистре означают наличие
соединения, а в нижнем — потерю соединения.ОтладкаЕсли у вас выделенная линия и нет необходимости устанавливать
соединение, выключите контроль передачи данных
CTS/RTS командой . Это обычно необходимо при подключении к
поддерживающим PPP терминальным
серверам, когда PPP прерывается
при попытке записать данные в ваше соединение, и ожидает сигнала
CTS, или Clear To Send, который не появляется.
Если вы используете этот параметр, используйте также параметр
, который может быть необходим для
устранения зависимости от оборудования путем пропускания
определенных символов через соединение, обычно XON/XOFF.
Обратитесь к странице справочника &man.ppp.8; за более подробной
информацией по этому параметру и его использованию.Если у вас старый модем, может потребоваться использование
. Проверка четности по умолчанию
отключена, но она используется для для устранения ошибок
(с серьезным увеличением объема трафика) на старых модемах
и у некоторых провайдеров.PPP может не вернуться в командный
режим, что обычно вызвано ошибкой согласования, когда провайдер
ждет от вас начала процесса согласования. В этот момент
использование команды ~p заставит ppp
начать отправку настроечной информации.Если вы не получаете приглашения на вход, скорее всего
вам требуется использование аутентификации
PAP или CHAP вместо
&unix; стиля как в примерах выше. Для использования
PAP или CHAP просто добавьте
следующие параметры PPP перед
переходом в терминальный режим:ppp ON example> set authname myusernameНеобходимо заменить myusername
на имя пользователя, выданное провайдером.ppp ON example> set authkey mypasswordГде mypassword должен быть
заменен на пароль, выданный провайдером.Если вы подключаетесь, не можете определить ни одно доменное
имя, попробуйте использовать &man.ping.8; с каким-либо
IP адресом и просмотрите выводимую информацию.
Если 100 процентов (100%) пакетов теряются, скорее всего не
назначен маршрут по умолчанию. Дважды проверьте, что параметр
установлен во время
соединения. Если вы можете подключиться к удаленному
IP адресу, возможно, что адрес сервера имен не
был добавлен в /etc/resolv.conf.
Этот файл должен выглядеть примерно так:domain example.com
nameserver x.x.x.x
nameserver y.y.y.yГде x.x.x.x и
y.y.y.y должны быть заменены на
IP адреса DNS серверов провайдера.
Эта информация может предоставляться провайдером,
вы можете выяснить это в службе поддержки.Вы можете также настроить &man.syslog.3; для протоколирования
PPP соединения. Просто добавьте:!ppp
*.* /var/log/ppp.logв файл /etc/syslog.conf. В большинстве
случаев эти строки уже присутствуют.JimMockПредоставил (с http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) Использование PPP через Ethernet (PPPoE)PPPчерез EthernetPPPoEPPP, через EthernetЭтот раздел описывает настройку PPP через Ethernet (PPP over
Ethernet, PPPoE).Настройка ядраДля PPPoE более не требуется настройка ядра. Если необходимая
поддержка netgraph не встроена в ядро, она будет динамически загружена
ppp.Настройка ppp.confВот пример работающего
ppp.conf:default:
set log Phase tun command # you can add more detailed logging if you wish
set ifaddr 10.0.0.1/0 10.0.0.2/0
name_of_service_provider:
set device PPPoE:xl1 # replace xl1 with your ethernet device
set authname YOURLOGINNAME
set authkey YOURPASSWORD
set dial
set login
add default HISADDRЗапуск pppПод пользователем root вы можете
запустить:&prompt.root; ppp -ddial name_of_service_providerЗапуск ppp при загрузкеДобавьте к /etc/rc.conf следующее:ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES" # if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"Использование тега сервиса PPPoEИногда для установки соединения необходимо использовать тег
сервиса. Теги сервисов используются для различения
PPPoE серверов, подключенных к одной сети.В документации, предоставляемой провайдером, должна находиться
необходимая информация о теге сервиса. Если вы не можете
ее обнаружить, обратитесь в службу поддержки.В крайнем случае, вы можете попробовать метод, предложенный в
программе Roaring
Penguin PPPoE, которая находится в коллекции портов. Учтите, что этот
метод может сделать ваш модем неработоспособным, так что дважды
подумайте перед тем, как воспользоваться им. Просто установите
программу, поставляемую с модемом вашим провайдером. Затем,
войдите в меню System программы. Имя вашего
профиля должно находиться здесь. Обычно это
ISP.Имя профиля (тег сервиса) будет использоваться в записи
настройки PPPoE в файле ppp.conf
(часть команды set device, относящаяся к
провайдеру). Обратитесь к странице справочника &man.ppp.8;
за более подробной информацией. Эта команда должна выглядеть
примерно так:set device PPPoE:xl1:ISPНе забудьте изменить xl1 на имя
устройства вашей Ethernet карты.Не забудьте изменить ISP на
профиль, определенный вами ранее.Дополнительная информация:Cheaper
Broadband with FreeBSD on DSL, опубликовал Renaud
Waldura.
Nutzung von T-DSL und T-Online mit FreeBSD
by Udo Erdelhoff (на немецком).PPPoE c &tm.3com; HomeConnect ADSL Modem Dual LinkЭтот модем не поддерживает RFC 2516
(Метод соединения PPP через Ethernet
(PPPoE), написанный L. Mamakos, K. Lidl, J. Evarts,
D. Carrel, D. Simone, и R. Wheeler). Вместо этого, для
фреймов Ethernet используются различные коды типов пакетов.
Сообщите 3Com если
считаете, что они должны соблюдать спецификации PPPoE.Для включения поддержки этого нестандартного устройства, в FreeBSD
необходимо установить переменную sysctl. Это может быть сделано
автоматически, поместите в
/etc/sysctl.conf следующую переменную:net.graph.nonstandard_pppoe=1или, для непосредственного включения, выполните команду
sysctl net.graph.nonstandard_pppoe=1.К сожалению, поскольку эта настройка влияет на всю систему,
невозможно одновременно взаимодействовать с нормальным PPPoE
клиентом или сервером и &tm.3com; HomeConnect ADSL Modem.Использование PPP через ATM
(PPPoA)PPPчерез ATMPPPoAPPP, через ATMДалее описано как настроить PPP через ATM (PPP over ATM, PPPoA).
PPPoA популярен у европейских провайдеров DSL.Использование PPPoA с Alcatel &speedtouch; USBПоддержка PPPoA для этого устройства в FreeBSD поставляется в
виде порта, поскольку встроенное программное обеспечение поставляется
под лицензионным
соглашением Alcatel и не может свободно распространяться с
основной системой FreeBSD.Для установки этой программы, просто используйте
коллекцию портов. Установите
порт net/pppoa и следуйте
инструкциям.Как и многие устройства USB, Alcatel &speedtouch; USB должен
загрузить встроенное программное обеспечение с компьютера.
Возможна автоматизация этого процесса в &os;, чтобы эта
передача происходила при подключении устройства к порту USB.
Для включения этой автоматической передачи необходимо добавить
в /etc/usbd.conf нижеприведенную информацию.
Этот файл необходимо отредактировать под пользователем
root.device "Alcatel SpeedTouch USB"
devname "ugen[0-9]+"
vendor 0x06b9
product 0x4061
attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"Для включения даемона USB, usbd,
поместите в /etc/rc.conf следующую строку:usbd_enable="YES"Возможна также настройка
ppp для дозвона при запуске. Для этого
добавьте в /etc/rc.conf нижеприведенные строки.
Опять же, для этого вам необходимо войти под пользователем
root.ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"Необходимо также использовать пример файла
ppp.conf, поставляемый с портом
net/pppoa.Использование mpdВы можете использовать mpd для
подключения к различным сервисам, в частности к сервисам PPTP.
Вы можете найти mpd в коллекции
портов, net/mpd.
Многие ADSL модемы требуют, чтобы PPTP туннель был создан между
модемом и компьютером, один из таких модемов это Alcatel
&speedtouch; Home.Сначала установите порт, затем настройте
mpd под собственные нужды и настройки
провайдера. Порт помещает набор примеров настройки в каталог
PREFIX/etc/mpd/.
PREFIX означает каталог, в который
устанавливаются порты, по умолчанию это
/usr/local/. Полное руководство по настройке
mpd доступно в HTML формате после
установки порта. Оно находится в
PREFIX/share/mpd/.
Ниже находится пример настройки mpd
для соединения с ADSL сервисом. Настройка разделена на два
файла, первый это mpd.conf:default:
load adsl
adsl:
new -i ng0 adsl adsl
set bundle authname username
set bundle password password
set bundle disable multilink
set link no pap acfcomp protocomp
set link disable chap
set link accept chap
set link keep-alive 30 10
set ipcp no vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set iface route default
set iface disable on-demand
set iface enable proxy-arp
set iface idle 0
openИмя пользователя, используемое для аутентификации у
провайдера.Пароль, используемый для аутентификации у
провайдера.Файл mpd.links содержит информацию о соединении
или соединениях, которые вы планируете установить. Пример
mpd.links, соответствующий приведенному выше
примеру:adsl:
set link type pptp
set pptp mode active
set pptp enable originate incoming outcall
set pptp self 10.0.0.1
set pptp peer 10.0.0.138IP адрес компьютера &os;, с которого вы будете использовать
mpd.IP адрес модема ADSL. Для Alcatel
&speedtouch; Home этот адрес по умолчанию 10.0.0.138.Инициализация соединения возможно простым выполнением следующей
команды под root:&prompt.root; mpd -b adslВы можете просмотреть статус соединения с помощью следующей
команды:&prompt.user; ifconfig ng0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffffИспользование mpd это рекомендуемый
способ подключения к сервису ADSL из &os;.Использование pptpclientВозможно также использование FreeBSD для подключения к сервисам
PPPoA с помощью
net/pptpclient.Для подключения к сервису DSL с использованием net/pptpclient, установите порт или
пакет и отредактируйте /etc/ppp/ppp.conf.
Вам потребуется работать под root.
Пример настройки ppp.conf дан ниже.
За дальнейшей информацией по параметрам ppp.conf
обратитесь к странице справочника ppp,
&man.ppp.8;.adsl:
set log phase chat lcp ipcp ccp tun command
set timeout 0
enable dns
set authname username
set authkey password
set ifaddr 0 0
add default HISADDRИмя пользователя вашей учетной записи у провайдера DSL.Пароль для вашей учетной записи.Поскольку вам необходимо поместить пароль в незашифрованном виде в
файл ppp.conf, убедитесь что никто другой не
сможет прочесть содержимое этого файла. Следующая последовательность
команд сделает этот файл доступным для чтения только пользователю
root. Обратитесь к страницам справочника
&man.chmod.1; и &man.chown.8; за дальнейшей информацией.&prompt.root; chown root:wheel /etc/ppp/ppp.conf
&prompt.root; chmod 600 /etc/ppp/ppp.confСледующая команда откроет туннель для PPP сессии к вашему
DSL маршрутизатору. Модемы Ethernet DSL поставляются с настроенным
IP адресом локальной сети, к которому вы подключаетесь. У
Alcatel &speedtouch; Home этот адрес 10.0.0.138. В документации на ваш
маршрутизатор должно быть указано, какой адрес используется.
Для открытия туннеля и начала PPP сессии выполните:&prompt.root; pptp addressadslЧтобы вернуться в приглашение командной строки после выполнения
этой команды, добавьте символ & в конец
строки.Устройство виртуального туннеля tun
будет создано для взаимодействия между процессами
pptp и ppp.
Как только вы вернетесь в приглашение, или процесс
pptp выполнит соединение, вы можете
проверить туннель примерно такой командой:&prompt.user; ifconfig tun0
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
Opened by PID 918Если вы не сможете соединиться, проверьте настройку
маршрутизатора, которая обычно доступна через
telnet или через веб браузер.
Если вы все еще не можете подключиться, проверьте вывод команды
pptp и содержимое лог файла
ppp,
/var/log/ppp.log.SatoshiAsamiПервоначально предоставил GuyHelmerДополнительный материал предоставили PieroSeriniИспользование SLIPSLIPНастройка SLIP клиентаSLIPклиентНиже дан один из способов настройки FreeBSD для подключения к
SLIP сети со статическим адресом. Для динамического подключения
(адрес изменяется при каждом дозвоне) возможно потребуется более
сложная настройка.Сначала определите, к какому последовательному порту подключен
модем. Многие создают символическую ссылку, такую как
/dev/modem, на настоящий файл устройства,
/dev/cuaaN. Это позволяет абстрагироваться
от имени файла устройства, например если вы переносите модем
на другой порт. Довольно сложно править множество файлов в
/etc и .kermrc во
всей системе!/dev/cuaa0 это
COM1, cuaa1 это
COM2, и т.д.Убедитесь, что в вашем файле настройки ядра присутствует
строка:pseudo-device sl 1Эта строка включена в ядро GENERIC, так что
если вы ее не удаляли, проблем быть не должно.То, что необходимо сделать только один разДобавьте ваш компьютер, шлюз и сервера имен в файл
/etc/hosts. Вот пример такого
файла:127.0.0.1 localhost loghost
136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Example.EDU ns2Убедитесь, что в файле /etc/host.conf
находится перед
(для FreeBSD версий до 5.0). Начиная с FreeBSD 5.0,
система использует файл /etc/nsswitch.conf,
убедитесь, что параметр находится перед
в строке этого
файла. Без этого параметра могут происходить странные
вещи.Отредактируйте файл /etc/rc.conf.Установите имя хоста, настроив переменную
hostname:hostname="myname.my.domain"Здесь необходимо использовать полное доменное имя
вашего компьютера в интернет.Добавьте sl0 к списку
сетевых интерфейсов, изменив переменную:network_interfaces="lo0"на:network_interfaces="lo0 sl0"Измените параметры sl0,
добавив строку:ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"маршрут по умолчаниюНазначьте маршрутизатор по умолчанию, изменив
строку:defaultrouter="NO"на:defaultrouter="slip-gateway"Создайте файл /etc/resolv.conf,
содержащий:domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12сервер именимя доменаКак вы видите, здесь указаны адреса серверов имен.
Конечно, реальные имена доменов и адреса для вас будут
другими.Перегрузите компьютер и убедитесь, что его имя хоста
настроено правильно.Создание SLIP соединенияSLIPсоединениеДозвонитесь на удаленный сервер, введите
slip в приглашение, имя своего компьютера
и пароль. Все, что требуется ввести в вашем случае.
Если вы используете kermit, попробуйте такой скрипт:# kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0aКонечно, вам потребуется заменить имя хоста и пароль на ваши
собственные. После этого, для подключения просто введите
slip из приглашения kermit.Хранение пароля в любом месте файловой системы в
незашифрованном виде это обычно плохая идея. Вы делаете
это на свой риск.Выйдите из kermit (вы можете приостановить его, нажав
Ctrlz) и введите под root:&prompt.root; slattach -h -c -s 115200 /dev/modemЕсли вы сможете выполнить ping
для хостов по другую сторону маршрутизатора, вы подключились!
Если это не работает, попробуйте параметр
slattach вместо
.Как прервать соединение:Сделайте следующее:&prompt.root; kill -INT `cat /var/run/slattach.modem.pid`для остановки slattach. Помните, что вы
должны работать под root для выполнения этой
команды. Затем вернитесь в kermit (запустив fg,
если он приостановлен) и выйдите из него
(q).Страница справочника slattach сообщает,
что для отключения интерфейса необходимо использовать
ifconfig sl0 down, но это похоже не
играет никакой роли. (ifconfig sl0 сообщает
о том же.)Иногда модем может не сбросить соединение (это бывает
довольно часто). В этом случае просто запустите kermit
и выйдите из него еще раз. При второй попытке соединение обычно
разрывается.Решение проблемВот наиболее часто встречающиеся ситуации:Не используются параметры slattach
или (это может
быть не фатально, но иногда вызывает проблемы.)Используется вместо
(с некоторыми шрифтами сложно увидеть
разницу).Попробуйте использовать ifconfig sl0
для просмотра статуса интерфейса. Например, вы можете
получить такую информацию:&prompt.root; ifconfig sl0
sl0: flags=10<POINTOPOINT>
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00Если вы получите сообщение
no route to host от команды
ping, возможно это проблема с таблицей маршрутизации.
Используйте команду netstat -r для
отображения существующих маршрутов:&prompt.root; netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)Предыдущий пример получен на относительно загруженной
системе. Числа в вашей системе будут сильно зависеть от
загрузки сети.Настройка SLIP сервераSLIPсерверЭтот документ предоставляет решение для настройки SLIP сервера
в системе FreeBSD, что обычно означает настройку системы для
автоматического запуска соединений при удаленном входе SLIP
клиентов.Предварительные требованиясеть TCP/IPИнформация в этом разделе чисто техническая, поэтому требуются
некоторые предварительные знания. Предполагается, что вы знакомы
с сетевым протоколом TCP/IP, и в частности, с адресацией
сетей и хостов, сетевыми масками, делением на подсети,
маршрутизацией и протоколами маршрутизации, такими как RIP.
Настройка SLIP сервисов на сервере удаленного доступа требует
знания этих концепций, и если вы не знакомы с ними,
прочтите или книгу TCP/IP Network Administration
от Craig Hunt, опубликованную O'Reilly & Associates, Inc.
(ISBN Number 0-937175-82-X), или книги Douglas Comer по
протоколу TCP/IP.модемВ дальнейшем предполагается, что вы уже настроили ваш модем
(модемы) и настроили соответствующие системные файлы для
разрешения входа через них. Если вы еще не подготовили систему
соответствующим образом, обратитесь к руководству по настройке
сервисов удаленного входа; просмотрите список руководств
на http://www.FreeBSD.org/.
+ url="&url.main;/ru/index.html">http://www.FreeBSD.org/ru/.
Вы можете также обратиться к странице справочника &man.sio.4;
за информацией о драйвере последовательного порта и к
страницам &man.gettytab.5;, &man.getty.8; и &man.init.8;
за информацией по настройке системы для удаленного входа в систему
через модемы, и возможно &man.stty.1; за информацией о настройке
параметров последовательных портов (таких как
clocal для подключаемых непосредственно
последовательных интерфейсов).Краткий обзорВ типичной конфигурации FreeBSD работает в качестве SLIP сервера
так: пользователь SLIP дозванивается на FreeBSD SLIP сервер и
входит в систему со специальным SLIP логином, использующим
/usr/sbin/sliplogin в качестве оболочки.
Программа sliplogin просматривает файл
/etc/sliphome/slip.hosts на предмет строки,
соответствующей специальному пользователю, и если находит совпадение,
подключает последовательную линию к доступному SLIP интерфейсу,
а затем запускает shell скрипт
/etc/sliphome/slip.login для настройки
SLIP интерфейса.Пример входа на SLIP серверНапример, идентификатор пользователя на SLIP сервере
Shelmerg. Соответствующая запись
в /etc/master.passwd будет выглядеть
примерно так:Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliploginКогда Shelmerg входит в систему,
sliplogin ищет строку в
/etc/sliphome/slip.hosts, в которой
находится соответствующий идентификатор пользователя;
например, строка может быть такой:Shelmerg dc-slip sl-helmer 0xfffffc00 autocompПосле обнаружения этой строки sliplogin
подключает последовательную линию к следующему доступному
SLIP интерфейсу, а затем выполняет
/etc/sliphome/slip.login примерно так:/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocompЕсли все проходит нормально,
/etc/sliphome/slip.login вызовет
ifconfig для SLIP интерфейса, к которому
подключилась программа sliplogin (slip
интерфейс 0 в примере выше, первый параметр в списке,
задаваемом slip.login) для установки
локального IP адреса ((dc-slip), удаленного
IP адреса (sl-helmer), сетевой маски для
SLIP интерфейса (0xfffffc00),
и любых дополнительных флагов (autocomp).
Если что-то идет не так, sliplogin
обычно протоколирует соответствующие сообщения в через
уровень daemon syslog; эти сообщения
как правило попадают в /var/log/messages
(обратитесь к страницам справочника &man.syslogd.8; и
&man.syslog.conf.5;, а также проверьте файл
/etc/syslog.conf, чтобы выяснить, что
протоколирует syslogd и куда помещается
информация).Достаточно примеров — давайте начнем настройку
системы.Настройка ядраядронастройкаСтандартное ядро FreeBSD обычно поставляется с двумя
SLIP интерфейсами ((sl0 и
sl1); вы можете использовать команду
netstat -i, чтобы выяснить, определены ли
эти интерфейсы в вашем ядре.Пример вывода netstat -i:Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133
ed0 1500 138.247.224 ivory 291311 0 174209 0 133
lo0 65535 <Link> 79 0 79 0 0
lo0 65535 loop localhost 79 0 79 0 0
sl0* 296 <Link> 0 0 0 0 0
sl1* 296 <Link> 0 0 0 0 0Наличие в выводе netstat -i
интерфейсов sl0 и
sl1 означает, что SLIP интерфейсы встроены
в ядро (символ * показывает неактивность
интерфейсов).Ядро FreeBSD по умолчанию не пересылает пакеты между
интерфейсами (компьютер FreeBSD не работает как маршрутизатор),
вследствие требований RFC (см.
RFCs 1009 [Requirements for Internet Gateways], 1122
[Requirements for Internet Hosts — Communication Layers],
и возможно 1127 [A Perspective on the Host Requirements RFCs]).
Если вы хотите, чтобы FreeBSD SLIP работал в качестве
маршрутизатора, отредактируйте файл
/etc/rc.conf и присвойте переменной
gateway_enable значение
.Для вступления изменений в силу потребуется перезагрузка.В файле настройки стандартного ядра
(/sys/i386/conf/GENERIC)
находится строка:pseudo-device sl 2SLIPОна определяет число доступных устройств SLIP в ядре;
Число в конце строки определяет максимально возможное количество
одновременных SLIP соединений.Обратитесь к за информацией
по настройке ядра FreeBSD.Настройка sliploginКак упоминалось ранее, в каталоге
/etc/sliphome находятся три файла,
являющиеся частью настройки для
/usr/sbin/sliplogin (для
sliplogin существует страница справочника,
&man.sliplogin.8;): slip.hosts,
определяющий список пользователей SLIP и связанные с ними
IP адреса; slip.login, который обычно
всего лишь настраивает SLIP интерфейс;
slip.logout, который восстанавливает
состояние системы до запуска slip.login
после завершения последовательного соединения.Настройка slip.hosts/etc/sliphome/slip.hosts содержит
строки, в которых находится как минимум четыре параметра,
разделенных пробелами:ID пользователя SLIPЛокальный адрес (локальный для SLIP сервера) SLIP
соединенияУдаленный адрес SLIP соединенияСетевая маскаЛокальные и удаленные адреса могут быть именами хостов
(разрешаемыми в IP адреса через файл
/etc/hosts или через службу доменных
имен, в зависимости от настроек в файле
/etc/nsswitch.conf для FreeBSD 5.X,
или /etc/host.conf для FreeBSD 4.X),
а сетевая маска может быть именем, разрешаемым через
файл /etc/networks. В системе,
используемой в качестве примера, файл
/etc/sliphome/slip.hosts выглядит
так:#
# login local-addr remote-addr mask opt1 opt2
# (normal,compress,noicmp)
#
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocompВ конце строки находятся один или более параметров. — нет сжатия
заголовков — сжимать
заголовки — сжимать заголовки,
если удаленная сторона это позволяет — запретить ICMP пакеты
(любые ping пакеты будут отброшены и не
станут помехой для другого трафика)SLIPсеть TCP/IPВыбор локального и удаленного адреса для SLIP соединений
зависит от того, используете ли вы выделенную TCP/IP сеть,
или используете на SLIP сервере ARP прокси.
(это не настоящий ARP прокси, но данная
терминология используется в этом разделе). Если вы не уверены,
какой метод выбрать, или как присвоить IP адреса, обратитесь к
книгам по TCP/IP, упомянутым выше ().
Если вы собираетесь использовать отдельную подсеть для SLIP
клиентов, потребуется выделить адреса за пределом адресов
вашей сети и присвоить каждому SLIP клиенту IP адрес из данной
подсети. Затем вам возможно потребуется настроить статический
маршрут в используемую для SLIP подсеть через SLIP сервер
на ближайшем IP маршрутизаторе.EthernetИначе, если вы будете использовать метод
proxy ARP, потребуется присвоить SLIP
клиентам IP адреса, не входящие в Ethernet подсеть сервера
SLIP, а также настроить скрипты
/etc/sliphome/slip.login и
/etc/sliphome/slip.logout, чтобы использовать
&man.arp.8; для управления записями ARP прокси в таблице
ARP сервера SLIP.Настройка slip.loginТипичный файл /etc/sliphome/slip.login
выглядит примерно так:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6Этот файл slip.login всего лишь
запускает ifconfig для соответствующего
SLIP интерфейса с заданными локальным и удаленным адресом и сетевой
маской.Если вы решили использовать метод ARP прокси
(вместо использования отдельной подсети для SLIP клиентов),
ваш файл /etc/sliphome/slip.login
должен выглядеть примерно так:#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
#
# generic login file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pubДополнительная строка в этом
slip.login, arp -s
$5 00:11:22:33:44:55 pub, создает ARP запись
в ARP таблице SLIP сервера. При соединении другого узла
в Ethernet с IP адресом SLIP клиента, SLIP сервер выдает
ответ с собственным Ethernet MAC адресом.EthernetMAC адресПри использовании примера выше убедитесь, что заменили
Ethernet MAC адрес (00:11:22:33:44:55) на MAC адрес
Ethernet карты вашей системы, или ваш ARP прокси
точно не будет работать! Вы можете определить Ethernet MAC
адрес SLIP сервера, просмотрев вывод команды netstat
-i выше; информация об адресе находится второй
строке:ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116Это означает, что в данной системе Ethernet MAC адрес
00:02:c1:28:5f:4a —
точки в MAC адресе, выдаваемые netstat -i,
должны быть заменены на двоеточия, необходимо также добавить
нуль в начало каждого односимвольного шестнадцатеричного номера
для преобразования этого адреса в форму, пригодную для
&man.arp.8;; обратитесь к странице справочника &man.arp.8;
за полной информацией по использованию.При создании
/etc/sliphome/slip.login и
/etc/sliphome/slip.logout, должен быть
установлен бит выполнения (chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout),
или sliplogin не сможет их выполнить.Настройка slip.logout/etc/sliphome/slip.logout не является
совершенно необходимым (если только вы не реализуете
ARP прокси), но если вы решили создать его,
воспользуйтесь следующим примером:#!/bin/sh -
#
# slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 downЕсли вы используете ARP прокси, потребуется
удаление записи ARP для SLIP клиента через
/etc/sliphome/slip.logout:#!/bin/sh -
#
# @(#)slip.logout
#
# logout file for a slip line. sliplogin invokes this with
# the parameters:
# 1 2 3 4 5 6 7-n
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5Команда arp -d $5 удаляет запись ARP,
добавленную slip.login при входе
SLIP клиента.Повторяем: убедитесь, что на файл
/etc/sliphome/slip.logout установлен
бит выполнения (chmod 755
/etc/sliphome/slip.logout).Соглашения о маршрутизацииSLIPмаршрутизацияЕсли вы не используете ARP прокси метод для
маршрутизации пакетов между SLIP клиентами и остальной сетью
(и возможно интернет), вам возможно потребуется статический
маршрут (маршруты) до ближайшего шлюза (шлюзов) для
маршрутизации подсети SLIP клиентов через SLIP сервер.Статические маршрутыстатические маршрутыДобавление статических маршрутов может стать для кого-то
проблемой (это даже невозможно, если у вас нет соответствующих
прав). Если в вашей организации сеть с несколькими
маршрутизаторами, некоторые маршрутизаторы, например
Cisco и Proteon, требуют не только настройки статического маршрута
в подсеть SLIP, но и указания, о каких статических маршрутах
сообщать другим маршрутизаторам, так что для наладки
работоспособности статической маршрутизации может
потребоваться некоторое исследование и отладка.Запуск &gated;gated&gated; это закрытое программно
обеспечение, более недоступное в исходных текстах
(дополнительная информация находится на вебсайте &gated;). Этот раздел
существует лишь в целях обратной совместимости для тех,
кто все еще использует старую версию.Альтернатива головной боли со статическими маршрутами это
установка &gated; на FreeBSD SLIP
сервере и настройка его для использования соответствующих
протоколов маршрутизации (RIP/OSPF/BGP/EGP) для сообщения
другим маршрутизаторам о вашей SLIP подсети.
Вам потребуется создать /etc/gated.conf
для настройки gated. Ниже дан пример:#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
rip yes {
interface sl noripout noripin ;
interface ed ripin ripout version 1 ;
traceoptions route ;
} ;
#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
traceoptions remnants request routes info interface ;
} ;
#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#
export proto rip interface ed {
proto direct {
xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
} ;
} ;
#
# Accept routes from RIP via ed Ethernet interfaces
import proto rip interface ed {
all ;
} ;RIPВ примере выше используется широковещательная рассылка
информации о маршрутизации для подсети SLIP
xxx.xxx.yy протоколом RIP
на сеть Ethernet; если вы используете другой драйвер
Ethernet вместо ed, потребуется
соответственно изменить запись для ed.
В этом примере отладочная информация переправляется в
/var/tmp/gated.output;
вы можете выключить отладку, если
&gated; работает. Вам потребуется
заменить xxx.xxx.yy в сетевом адресе
на вашу подсеть SLIP (убедитесь, что изменение сетевой
маски в proto direct работает
нормально).Как только вы установили и настроили
&gated;, потребуется сообщить
стартовым скриптам FreeBSD запускать его вместо
routed. Простейший способ сделать
это — установить переменные router и
router_flags в
/etc/rc.conf. Обратитесь к странице
справочника &gated; за информацией
о параметрах командной строки.