diff --git a/ru_RU.KOI8-R/books/faq/book.sgml b/ru_RU.KOI8-R/books/faq/book.sgml
index 45572ce581..be1cda4d1d 100644
--- a/ru_RU.KOI8-R/books/faq/book.sgml
+++ b/ru_RU.KOI8-R/books/faq/book.sgml
@@ -127,7 +127,6 @@
-
Какова цель FreeBSD?
@@ -162,7 +161,6 @@
-
Есть ли в лицензии FreeBSD какие-то ограничения?
@@ -189,7 +187,6 @@
-
Может ли FreeBSD заменить операционную систему, используемую
@@ -235,34 +232,31 @@
-
Почему система называется именно FreeBSD?
-
-
-
- Она может использоваться безо всяческих выплат, даже
- для извлечения выгоды.
-
+
+
+ Она может использоваться безо всяческих выплат, даже
+ для извлечения выгоды.
+
-
- Все исходные тексты операционной системы свободно
- доступны, на её использование в других разработках (как
- коммерческих, так и некоммерческих) и дальнейшее
- распространение наложены минимальные ограничения.
-
+
+ Все исходные тексты операционной системы свободно
+ доступны, на её использование в других разработках (как
+ коммерческих, так и некоммерческих) и дальнейшее
+ распространение наложены минимальные ограничения.
+
-
- Любой, у кого есть усовершенствования или исправления,
- может предоставить свой код и он будет (правда, с парой
- оговорок) добавлен в исходные тексты системы.
-
-
-
+
+ Любой, у кого есть усовершенствования или исправления,
+ может предоставить свой код и он будет (правда, с парой
+ оговорок) добавлен в исходные тексты системы.
+
+
Следует отметить, что слово free
используется здесь в двух смыслах, один означает
@@ -274,7 +268,6 @@
-
В чём заключается разница между FreeBSD и NetBSD, OpenBSD
@@ -292,7 +285,6 @@
-
Какова последняя версия FreeBSD?
@@ -352,7 +344,6 @@
-
Что такое FreeBSD-CURRENT?
@@ -427,7 +418,6 @@
-
В чём смысл FreeBSD-STABLE?
@@ -474,7 +464,6 @@
-
В какой момент выпускаются новые версии FreeBSD?
@@ -503,7 +492,6 @@
-
Кто разрабатывает FreeBSD?
@@ -527,7 +515,6 @@
-
Где можно найти FreeBSD?
@@ -574,7 +561,6 @@
-
Как можно получить доступ к базе сообщений о проблемах (Problem
@@ -601,7 +587,6 @@
-
Другие источники информации.
@@ -617,7 +602,6 @@
-
Документация и поддержка
@@ -640,7 +624,6 @@
-
Есть ли версии документации в другом формате, например,
@@ -954,7 +937,6 @@ File: +DESC (ignored)
-
Где найти информацию по спискам рассылки FreeBSD?
@@ -968,7 +950,6 @@ File: +DESC (ignored)
-
Какие существуют телеконференции по FreeBSD?
@@ -981,7 +962,6 @@ File: +DESC (ignored)
-
Существуют ли каналы IRC (Internet Relay Chat) по
@@ -991,61 +971,59 @@ File: +DESC (ignored)
Да, большинство сетей IRC имеют канал FreeBSD:
-
-
-
- Канал #FreeBSD в сети EFNet посвящён
- FreeBSD, но не обращайтесь туда за технической поддержкой и
- даже не пытайтесь найти человека, который поможет вам
- обойтись без чтения страниц Справочника или собственных
- изысканий. Этот канал предназначен в первую и основную
- очередь для общения, и в круг обсуждаемых тем входят секс,
- спорт, ядерное оружие, как будто это и есть FreeBSD. В
- общем, вас предупредили! Канал доступен на сервере
- irc.chat.org.
-
+
+
+ Канал #FreeBSD в сети EFNet посвящён
+ FreeBSD, но не обращайтесь туда за технической поддержкой и
+ даже не пытайтесь найти человека, который поможет вам
+ обойтись без чтения страниц Справочника или собственных
+ изысканий. Этот канал предназначен в первую и основную
+ очередь для общения, и в круг обсуждаемых тем входят секс,
+ спорт, ядерное оружие, как будто это и есть FreeBSD. В
+ общем, вас предупредили! Канал доступен на сервере
+ irc.chat.org.
+
-
- Канал #FreeBSDhelp в сети EFNet
- предназначен для помощи пользователям FreeBSD. Здесь гораздо
- более благосклонно относятся к вопросам, чем на канале
- #FreeBSD.
-
+
+ Канал #FreeBSDhelp в сети EFNet
+ предназначен для помощи пользователям FreeBSD. Здесь гораздо
+ более благосклонно относятся к вопросам, чем на канале
+ #FreeBSD.
+
-
- Канал #FreeBSD в сети DALNET
- доступен на сервере irc.dal.net в США и на
- irc.eu.dal.net в Европе.
-
+
+ Канал #FreeBSD в сети DALNET
+ доступен на сервере irc.dal.net в США и на
+ irc.eu.dal.net в Европе.
+
-
- Канал #FreeBSDHelp в сети
- DALNET
- доступен на серверах irc.dal.net в США
- и irc.eu.dal.net в Европе.
-
+
+ Канал #FreeBSDHelp в сети
+ DALNET
+ доступен на серверах irc.dal.net в США
+ и irc.eu.dal.net в Европе.
+
-
- Канал #FreeBSD в сети UNDERNET
- доступен на серверах us.undernet.org в США и
- eu.undernet.org в Европе. Так как это канал
- взаимопомощи, приготовьтесь к чтению документации, к которой
- вас отошлют.
-
+
+ Канал #FreeBSD в сети UNDERNET
+ доступен на серверах us.undernet.org в США и
+ eu.undernet.org в Европе. Так как это канал
+ взаимопомощи, приготовьтесь к чтению документации, к которой
+ вас отошлют.
+
-
- Канал #FreeBSD в сети
+
+ Канал #FreeBSD в сети
RUSNET
это канал для русскоговорящих посетителей, посвящённый
помощи пользователям &os;. Также это хорошее место
для не технических дискуссий.
-
-
-
+
+
Все эти каналы разные и не имеют отношения друг к другу. Их
стили общения также отличаются, так что вам, может быть, придётся
@@ -1058,7 +1036,6 @@ File: +DESC (ignored)
-
Где можно пройти платные курсы по FreeBSD и получить
@@ -1082,7 +1059,6 @@ File: +DESC (ignored)
-
@@ -1199,7 +1175,6 @@ File: +DESC (ignored)
-
Где инструкции по установке FreeBSD?
@@ -1212,7 +1187,6 @@ File: +DESC (ignored)
-
Что мне нужно иметь для запуска FreeBSD?
@@ -1238,7 +1212,6 @@ File: +DESC (ignored)
-
У меня только 4 Мбайт оперативной памяти. Смогу ли я
@@ -1266,7 +1239,6 @@ File: +DESC (ignored)
-
Как сделать оригинальную загрузочную дискету?
@@ -1283,7 +1255,6 @@ File: +DESC (ignored)
-
Могу ли я иметь более чем одну операционную систему на моём
@@ -1297,7 +1268,6 @@ File: +DESC (ignored)
-
Может ли &windows; сосуществовать с FreeBSD?
@@ -1313,7 +1283,6 @@ File: +DESC (ignored)
-
&windows; уничтожила мой менеджер загрузки! Как мне его
@@ -1371,7 +1340,6 @@ File: +DESC (ignored)
-
На компьютерах IBM Thinkpad серий A, T и X операционная система
@@ -1527,7 +1495,6 @@ File: +DESC (ignored)
-
Можно ли производить установку на диск с повреждёнными
@@ -1548,7 +1515,6 @@ File: +DESC (ignored)
-
Странные вещи происходят при загрузке с установочного
@@ -1591,7 +1557,6 @@ File: +DESC (ignored)
-
Я загрузился с ATAPI CDROM, однако программа установки
@@ -1615,7 +1580,6 @@ File: +DESC (ignored)
-
Можно ли я установить систему на лэптоп через PLIP (Parallel
@@ -1630,7 +1594,6 @@ File: +DESC (ignored)
-
Какие параметры диска я должен использовать?
@@ -1704,7 +1667,6 @@ File: +DESC (ignored)
-
Есть ли ограничения на разбиение диска?
@@ -1724,7 +1686,6 @@ File: +DESC (ignored)
-
Совместима ли FreeBSD с менеджерами дисков?
@@ -1751,7 +1712,6 @@ File: +DESC (ignored)
-
При загрузке FreeBSD первый раз после установки выдаётся
@@ -1768,7 +1728,6 @@ File: +DESC (ignored)
-
После приглашения менеджера загрузки F?
@@ -1785,7 +1744,6 @@ File: +DESC (ignored)
-
Нужно ли устанавливать все исходные тексты системы?
@@ -1815,7 +1773,6 @@ File: +DESC (ignored)
-
Нужно ли перекомпилировать ядро?
@@ -1839,7 +1796,6 @@ File: +DESC (ignored)
-
Какой из паролей DES, Blowfish или MD5 я должен использовать,
@@ -1869,7 +1825,6 @@ File: +DESC (ignored)
-
Загрузка с установочной дискеты прерывается на сообщении
@@ -1885,7 +1840,6 @@ File: +DESC (ignored)
-
Почему появляется сообщение panic: cant mount
@@ -1945,7 +1899,6 @@ File: +DESC (ignored)
-
Какие имеются ограничения на объём оперативной памяти?
@@ -1970,7 +1923,6 @@ File: +DESC (ignored)
-
Какие существуют ограничения для файловой системы ffs?
@@ -2061,7 +2013,6 @@ File: +DESC (ignored)
-
Я скомпилировал новое ядро и при загрузке получил сообщение об
@@ -2081,7 +2032,6 @@ File: +DESC (ignored)
-
Что такое профили безопасности?
@@ -2114,11 +2064,9 @@ File: +DESC (ignored)
затем boot.
-
-
Аппаратная совместимость
@@ -2154,7 +2102,6 @@ File: +DESC (ignored)
-
Аппаратные платформы и процессоры
@@ -2183,7 +2130,6 @@ File: +DESC (ignored)
-
Поддерживает ли FreeBSD многопроцессорные системы
@@ -2210,7 +2156,6 @@ File: +DESC (ignored)
-
Жёсткие диски, ленточные устройства и приводы CD и DVD
@@ -2230,7 +2175,6 @@ File: +DESC (ignored)
-
Какие поддерживаются контроллеры SCSI?
@@ -2243,7 +2187,6 @@ File: +DESC (ignored)
-
Какие типы стримеров поддерживаются?
@@ -2258,7 +2201,6 @@ File: +DESC (ignored)
-
Поддерживает ли FreeBSD роботов для смены лент?
@@ -2279,7 +2221,6 @@ File: +DESC (ignored)
-
Какие приводы CDROM поддерживаются во FreeBSD?
@@ -2324,7 +2265,6 @@ File: +DESC (ignored)
-
Какие приводы CD-RW поддерживаются во FreeBSD?
@@ -2342,7 +2282,6 @@ File: +DESC (ignored)
-
Поддерживает ли FreeBSD устройства &iomegazip;?
@@ -2377,7 +2316,6 @@ File: +DESC (ignored)
-
Поддерживает ли FreeBSD съёмные диски типа &jaz; или
@@ -2404,7 +2342,6 @@ File: +DESC (ignored)
-
Клавиатуры и мыши
@@ -2455,7 +2392,6 @@ File: +DESC (ignored)
-
У меня необычная мышь типа bus mouse. Как её настроить?
@@ -2478,7 +2414,6 @@ File: +DESC (ignored)
-
Как использовать мышь PS/2 (типа mouse port
@@ -2515,7 +2450,6 @@ File: +DESC (ignored)
-
Можно ли каким-либо образом использовать мышь, кроме
@@ -2558,7 +2492,6 @@ File: +DESC (ignored)
-
Как можно вырезать и копировать текст с помощью мыши в
@@ -2580,7 +2513,6 @@ File: +DESC (ignored)
-
У моей мыши есть дополнительные колёсико и кнопочки. Можно ли
@@ -2601,7 +2533,6 @@ File: +DESC (ignored)
-
Как использовать мышь/трэкболл/сенсорную панель на
@@ -2616,7 +2547,6 @@ File: +DESC (ignored)
-
Сетевые и последовательные устройства
@@ -2653,7 +2583,6 @@ File: +DESC (ignored)
-
Существует ли собственный драйвер для адаптеров Broadcom
@@ -2674,7 +2603,6 @@ File: +DESC (ignored)
-
Какие многопортовые последовательные адаптеры поддерживаются во
@@ -2695,7 +2623,6 @@ File: +DESC (ignored)
-
Как сделать, чтобы приглашение boot: выводилось на консоль на
@@ -2726,7 +2653,6 @@ File: +DESC (ignored)
-
Звуковые устройства
@@ -2756,7 +2682,6 @@ File: +DESC (ignored)
-
Есть ли решение проблемы отсутствия звука при использовании
@@ -2774,7 +2699,6 @@ File: +DESC (ignored)
-
Другое оборудование
@@ -2793,7 +2717,6 @@ File: +DESC (ignored)
-
Поддерживает ли FreeBSD управление энергосбережением на
@@ -2816,7 +2739,6 @@ File: +DESC (ignored)
-
Как я могу отключить ACPI?
@@ -2828,7 +2750,6 @@ File: +DESC (ignored)
-
Компьютеры Micron зависают при загрузке
@@ -2845,7 +2766,6 @@ File: +DESC (ignored)
-
При загрузке с установочной дискеты машины с материнской платой
@@ -2858,7 +2778,6 @@ File: +DESC (ignored)
-
Почему сетевой адаптер &tm.3com; PCI не работает с компьютерами
@@ -2876,7 +2795,6 @@ File: +DESC (ignored)
-
Моя PCMCIA карточка не работает. Я получаю сообщение:
@@ -2888,12 +2806,16 @@ File: +DESC (ignored)
Вы можете попробовать использовать изначальную OLDCARD
реализацию. Отредактируйте ваш конфигурационный файл ядра
и удалите следующие строчки:
+
device cbb
device pccard
device cardbus
+
Затем добавьте:
+
device pcic
device card 1
+
Пересоберите и установите новое ядро, как описано в главе
Настройка
ядра FreeBSD.
@@ -2903,7 +2825,6 @@ device card 1
-
Устранение некоторых проблем
@@ -2981,7 +2902,6 @@ ARRE (Auto Read Reallocation Enbld): 1
-
Почему FreeBSD не распознаёт SCSI-контроллер на машине HP
@@ -3029,7 +2949,6 @@ quit
-
Выдаются сообщения типа ed1:
@@ -3052,7 +2971,6 @@ quit
-
Почему мой адаптер &tm.3com; 3C509 перестал работать без всякой
@@ -3066,7 +2984,6 @@ quit
-
Мой параллельный принтер печатает невероятно медленно. Что тут
@@ -3083,7 +3000,6 @@ quit
-
Программы аварийно завершают работу с ошибкой Signal
@@ -3218,7 +3134,6 @@ quit
-
Моя система аварийно завершает работу с сообщениями
@@ -3240,7 +3155,6 @@ quit
-
При загрузке монитор темнеет и теряет синхронизацию!
@@ -3290,7 +3204,6 @@ quit
-
Почему FreeBSD использует только 64 Мбайт ОЗУ, тогда как
@@ -3322,7 +3235,6 @@ quit
-
Объём оперативной памяти моей системы превышает 1 Гбайт, работа
@@ -3351,7 +3263,6 @@ quit
-
В моей системе нет 1 Гбайта оперативной памяти, однако FreeBSD
@@ -3370,7 +3281,6 @@ quit
-
Почему я получаю сообщение об ошибке /kernel: proc:
@@ -3418,7 +3328,6 @@ quit
-
При перезагрузке с новым ядром выдаётся сообщение
@@ -3437,7 +3346,6 @@ quit
-
Что означает сообщение ahc0: brkadrint, Illegal
@@ -3453,7 +3361,6 @@ quit
-
При загрузке моей системы выдается сообщение об ошибке
@@ -3476,7 +3383,6 @@ quit
-
Sendmail сообщает, что mail loops back to
@@ -3502,75 +3408,72 @@ quit
в /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.
-
-
+ Текущая версия
+ 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.
-
+ Есть несколько возможных способов решения этой проблемы:
- На удалённой машине тип терминала может быть установлен в значение,
- отличное от типа терминала cons25, требуемом при
- использовании консоли FreeBSD.
+
+
+ После входа на другую машину установите значение переменной
+ окружения TERM равным ansi или
+ sco, если эта машина знает об этих
+ типах терминалов.
+
- Есть несколько возможных способов решения этой проблемы:
+
+ Используйте эмулятор VT100, например screen
+ на консоли FreeBSD. Screen даёт вам
+ возможность открывать несколько рабочих сеансов на одном терминале,
+ и она имеет ещё ряд полезных особенностей. Каждое окно программы
+ screen ведёт себя как терминал VT100, так
+ что переменная TERM на удалённой машине должна быть установлена в
+ значение vt100.
+
-
-
- После входа на другую машину установите значение переменной
- окружения TERM равным ansi или
- sco, если эта машина знает об этих
- типах терминалов.
-
-
-
- Используйте эмулятор VT100, например screen
- на консоли FreeBSD. Screen даёт вам
- возможность открывать несколько рабочих сеансов на одном терминале,
- и она имеет ещё ряд полезных особенностей. Каждое окно программы
- screen ведёт себя как терминал VT100, так
- что переменная TERM на удалённой машине должна быть установлена в
- значение vt100.
-
-
-
- Опишите терминал cons25 в базе данных
- характеристик терминалов на удалённой машине. Способ описания
- зависит от используемой на этой машине операционной системе. Вам
- может помочь чтение руководств по администрированию удалённой
- системы.
-
-
-
- Запустите X-сервер на стороне FreeBSD и войдите на удалённую
- систему с помощью какого-либо эмулятора терминала, работающего в X
- Window, такого, как xterm или
- rxvt. Переменная окружения TERM на удалённой
- машине должна быть установлена в значение xterm
- или vt100.
-
-
-
-
+
+ Опишите терминал cons25 в базе данных
+ характеристик терминалов на удалённой машине. Способ описания
+ зависит от используемой на этой машине операционной системе. Вам
+ может помочь чтение руководств по администрированию удалённой
+ системы.
+
+
+ Запустите X-сервер на стороне FreeBSD и войдите на удалённую
+ систему с помощью какого-либо эмулятора терминала, работающего в X
+ Window, такого, как xterm или
+ rxvt. Переменная окружения TERM на удалённой
+ машине должна быть установлена в значение xterm
+ или vt100.
+
+
+
+
@@ -3616,7 +3519,6 @@ quit
-
Почему после обновления FreeBSD до версии 4.X мой PnP-адаптер
@@ -3754,97 +3656,95 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00
+
+
+ Почему при запуске некоторых программ, например,
+ top или systat, выдается
+ сообщение об ошибке nlist failed?
+
-
-
- Почему при запуске некоторых программ, например,
- top или systat, выдается
- сообщение об ошибке nlist failed?
-
+
+ Проблема в том, что приложение, которое вы пытаетесь запустить,
+ ищет специфические ссылки в ядре, но по каким-либо причинам не может
+ их найти; эта ошибка происходит от одной из следующих проблем:
-
- Проблема в том, что приложение, которое вы пытаетесь запустить,
- ищет специфические ссылки в ядре, но по каким-либо причинам не может
- их найти; эта ошибка происходит от одной из следующих проблем:
+
+
+ Ваше ядро и программы пользователей не соответствуют друг другу
+ (например, вы построили ядро, но не выполнили команду
+ installworld, или наоборот), и поэтому
+ таблица имен отличается от того, что думают о ней пользовательские
+ приложения. Если это ваш случай, просто завершите процесс
+ обновления (обратитесь к файлу
+ /usr/src/UPDATING для выяснения правильной
+ последовательности действий).
+
-
-
- Ваше ядро и программы пользователей не соответствуют друг другу
- (например, вы построили ядро, но не выполнили команду
- installworld, или наоборот), и поэтому
- таблица имен отличается от того, что думают о ней пользовательские
- приложения. Если это ваш случай, просто завершите процесс
- обновления (обратитесь к файлу
- /usr/src/UPDATING для выяснения правильной
- последовательности действий).
-
+
+ Для загрузки ядра вы не используете
+ /boot/loader, а делаете это непосредственно из
+ boot2 (обратитесь к справочно странице по &man.boot.8;). Хотя нет
+ ничего плохого в обходе /boot/loader, обычно
+ работу по доступности символьной информации ядра из
+ пользовательских приложений он выполняет лучше.
+
+
+
+
-
- Для загрузки ядра вы не используете
- /boot/loader, а делаете это непосредственно из
- boot2 (обратитесь к справочно странице по &man.boot.8;). Хотя нет
- ничего плохого в обходе /boot/loader, обычно
- работу по доступности символьной информации ядра из
- пользовательских приложений он выполняет лучше.
-
-
-
-
+
+
+ Почему подключение через ssh или
+ telnet к моему компьютеру занимает так долго времени?
+
+
+
+ Симптом: между моментом установления TCP-соединения и выдачей
+ клиентским программным обеспечением запроса на ввод пароля (или, в случае
+ использования &man.telnet.1;, выдачей приглашения на вход) проходит
+ большой промежуток времени.
-
-
- Почему подключение через ssh или
- telnet к моему компьютеру занимает так долго времени?
-
-
+ Проблема: скорее всего, задержка вызвана программным обеспечением на
+ стороне сервера, которое пытается преобразовать IP-адрес клиента в
+ имя хоста. Многие серверы, включая Telnet и SSH, поставляемые с FreeBSD,
+ делают это для того, чтобы, кроме всего прочего, записать имя хоста в
+ файле журнала для справки администратора.
-
- Симптом: между моментом установления TCP-соединения и выдачей
- клиентским программным обеспечением запроса на ввод пароля (или, в случае
- использования &man.telnet.1;, выдачей приглашения на вход) проходит
- большой промежуток времени.
+ Лечение: Если проблема возникает вне зависимости от того, к какому
+ серверу вы подключаетесь с вашего компьютера (клиента), то причина в
+ клиенте; или же, если проблема возникает только при чьей-либо попытке
+ подключиться к вашему компьютеру (серверу), то проблема с сервером.
- Проблема: скорее всего, задержка вызвана программным обеспечением на
- стороне сервера, которое пытается преобразовать IP-адрес клиента в
- имя хоста. Многие серверы, включая Telnet и SSH, поставляемые с FreeBSD,
- делают это для того, чтобы, кроме всего прочего, записать имя хоста в
- файле журнала для справки администратора.
+ Если проблема с клиентом, то единственным методом ее решения является
+ исправление DNS, чтобы сервер смог распознать вашу машину. Если это
+ происходит в локальной сети, то предположите, что это проблема с сервером и
+ продолжайте чтение; обратно, если это происходит в глобальной сети Интернет,
+ то в большинстве случаев вам нужно обратиться к вашему провайдеру и
+ попросить исправить положение.
- Лечение: Если проблема возникает вне зависимости от того, к какому
- серверу вы подключаетесь с вашего компьютера (клиента), то причина в
- клиенте; или же, если проблема возникает только при чьей-либо попытке
- подключиться к вашему компьютеру (серверу), то проблема с сервером.
+ Если проблема с сервером, и это происходит в локальной сети, то вам
+ нужно настроить сервер для разрешения запросов на преобразование адреса в
+ имя хоста в диапазоне ваших локальных адресов. Обратитесь к страницам
+ Справочника по &man.hosts.5; и &man.named.8; для получения более подробной
+ информации. Если это происходит в глобальной сети Интернет, то проблема
+ может заключаться в некорректной работе ресолвера вашего сервера. Для
+ проверки попробуйте найти другой хост, скажем,
+ www.yahoo.com. Если это не работает, то проблема у
+ вас.
- Если проблема с клиентом, то единственным методом ее решения является
- исправление DNS, чтобы сервер смог распознать вашу машину. Если это
- происходит в локальной сети, то предположите, что это проблема с сервером и
- продолжайте чтение; обратно, если это происходит в глобальной сети Интернет,
- то в большинстве случаев вам нужно обратиться к вашему провайдеру и
- попросить исправить положение.
-
- Если проблема с сервером, и это происходит в локальной сети, то вам
- нужно настроить сервер для разрешения запросов на преобразование адреса в
- имя хоста в диапазоне ваших локальных адресов. Обратитесь к страницам
- Справочника по &man.hosts.5; и &man.named.8; для получения более подробной
- информации. Если это происходит в глобальной сети Интернет, то проблема
- может заключаться в некорректной работе ресолвера вашего сервера. Для
- проверки попробуйте найти другой хост, скажем,
- www.yahoo.com. Если это не работает, то проблема у
- вас.
-
- Из-за свежей установки &os;, также возможно, что информация о домене
- и сервере имён отсутствует в /etc/resolv.conf. Это
- часто будет вызывать задержку в работе SSH, так
- как опция UseDNS по умолчанию установлена в значение
- yes в файле sshd_config из каталога
- /etc/ssh. Если именно это является причиной проблемы,
- то вам нужно будет либо добавить недостающую информацию в
- /etc/resolv.conf, либо в качестве временной меры
- установить UseDNS в no в файле
- sshd_config.
-
-
+ Из-за свежей установки &os;, также возможно, что информация о домене
+ и сервере имён отсутствует в /etc/resolv.conf. Это
+ часто будет вызывать задержку в работе SSH, так
+ как опция UseDNS по умолчанию установлена в значение
+ yes в файле sshd_config из каталога
+ /etc/ssh. Если именно это является причиной проблемы,
+ то вам нужно будет либо добавить недостающую информацию в
+ /etc/resolv.conf, либо в качестве временной меры
+ установить UseDNS в no в файле
+ sshd_config.
+
+
@@ -3881,7 +3781,6 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00
-
Почему в dmesg регулярно выводятся сообщения file:
@@ -3900,7 +3799,6 @@ chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02hdr=0x00
-
Почему часы на моем лэптопе показывают неправильное
@@ -3950,7 +3848,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Почему мой лэптоп некорректно распознаёт PC-карты?
@@ -3977,7 +3874,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Сразу после экрана BIOS начальный загрузчик FreeBSD выводит
@@ -4009,7 +3905,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Другая операционная система уничтожила мой менеджер загрузки,
@@ -4027,7 +3922,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Что означает сообщение swap_pager: indefinite
@@ -4047,7 +3941,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Что означают ошибки UDMA ICRC, и как их
@@ -4085,7 +3978,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Что означают сообщения lock order
@@ -4197,7 +4089,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Коммерческие приложения
@@ -4235,123 +4126,119 @@ kern.timecounter.hardware: TSC -> i8254
+
+
+ Где можно купить &motif; для FreeBSD?
+
-
-
- Где можно купить &motif; для FreeBSD?
-
+
+ Open Group опубликовала исходные тексты &motif; 2.2.2. Вы
+ можете установить пакет open-motif
+ или скомпилировать его из портов. Воспользуйтесь секцией Порты Руководства для
+ получения детальной информации о том, как это сделать.
-
- Open Group опубликовала исходные тексты &motif; 2.2.2. Вы
- можете установить пакет open-motif
- или скомпилировать его из портов. Воспользуйтесь секцией Порты Руководства для
- получения детальной информации о том, как это сделать.
+
+ Лицензия Open &motif; позволяет распространение только если
+ библиотека используется на
+ ОС с открытыми исходными текстами.
+
-
- Лицензия Open &motif; позволяет распространение только если
- библиотека используется на
- ОС с открытыми исходными текстами.
-
-
+ В дополнении нужно сказать, что существуют также дистрибьюторы
+ предлагающие коммерческий вариант &motif;. Эта библиотека не
+ бесплатна, но ее лицензия позволяет вести разработку приложений с
+ закрытыми исходными текстами. Обратитесь в фирму
+ Apps2go, предлагающую
+ самый дешёвый дистрибутив &motif; 2.1.20 для FreeBSD (как для &i386;, так
+ и для Alpha) в формате ELF.
- В дополнении нужно сказать, что существуют также дистрибьюторы
- предлагающие коммерческий вариант &motif;. Эта библиотека не
- бесплатна, но ее лицензия позволяет вести разработку приложений с
- закрытыми исходными текстами. Обратитесь в фирму
- Apps2go, предлагающую
- самый дешёвый дистрибутив &motif; 2.1.20 для FreeBSD (как для &i386;, так
- и для Alpha) в формате ELF.
+ Существуют два дистрибутива, для разработчиков
+ (development edition) и ещё более дешёвая времени
+ выполнения (runtime edition). В эти дистрибутивы
+ включены:
- Существуют два дистрибутива, для разработчиков
- (development edition) и ещё более дешёвая времени
- выполнения (runtime edition). В эти дистрибутивы
- включены:
+
+
+ OSF/&motif; manager, xmbind, panner, wsm.
+
-
-
- OSF/&motif; manager, xmbind, panner, wsm.
-
+
+ Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
+ и Imake.
+
-
- Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
- и Imake.
-
+
+ Статические и динамические ELF-библиотеки.
+
-
- Статические и динамические ELF-библиотеки.
-
+
+ Демонстрационные приложения.
+
+
-
- Демонстрационные приложения.
-
-
+ При оформлении заказа не забудьте указать, что вам нужна версия &motif;
+ именно для FreeBSD (не забудьте также указать архитектуру процессора)!
+ Apps2go также продаёт версии для NetBSD и OpenBSD. В
+ настоящий момент их можно получить только по FTP.
- При оформлении заказа не забудьте указать, что вам нужна версия &motif;
- именно для FreeBSD (не забудьте также указать архитектуру процессора)!
- Apps2go также продаёт версии для NetBSD и OpenBSD. В
- настоящий момент их можно получить только по FTP.
+
+ Дополнительная информация
+
+ WWW-сервер Apps2go
+
+
-
- Дополнительная информация
-
- WWW-сервер Apps2go
-
-
+ или
+
+ электронные адреса отделов продаж и поддержки.
+
+
- или
-
- электронные адреса отделов продаж и поддержки.
-
-
+ или
+
+ телефоны (817) 431 8775 и +1 817 431-8775
+
+
+
- или
-
- телефоны (817) 431 8775 и +1 817 431-8775
-
-
-
+ Обратитесь в фирму Xi Graphics за
+ дистрибутивом &motif; 2.0 для FreeBSD в формате a.out.
- Обратитесь в фирму Xi Graphics за
- дистрибутивом &motif; 2.0 для FreeBSD в формате a.out.
+ В этот дистрибутив включены:
- В этот дистрибутив включены:
+
+
+ OSF/&motif; manager, xmbind, panner, wsm.
+
-
-
- OSF/&motif; manager, xmbind, panner, wsm.
-
+
+ Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
+ и Imake.
+
-
- Пакет разработчика с uil, mrm, xm, xmcxx, файлами include
- и Imake.
-
+
+ Статические и динамические библиотеки (для использования с
+ FreeBSD 2.2.8 и ранее).
+
-
- Статические и динамические библиотеки (для использования с
- FreeBSD 2.2.8 и ранее).
-
+
+ Демонстрационные приложения.
+
-
- Демонстрационные приложения.
-
-
-
- Отформатированные страницы Справочника.
-
-
-
- При заказе обязательно укажите, что вам требуется версия &motif; именно
- для FreeBSD! Xi Graphics также предлагает версии
- для BSDI и &linux;. В настоящее время это набор из 4 дискет... в будущем
- это будет стандартный дистрибутив на компакт-диске, как их CDE.
-
-
-
+
+ Отформатированные страницы Справочника.
+
+
+ При заказе обязательно укажите, что вам требуется версия &motif; именно
+ для FreeBSD! Xi Graphics также предлагает версии
+ для BSDI и &linux;. В настоящее время это набор из 4 дискет... в будущем
+ это будет стандартный дистрибутив на компакт-диске, как их CDE.
+
+
@@ -4371,73 +4258,67 @@ kern.timecounter.hardware: TSC -> i8254
+
+
+ Существуют ли коммерческие высокопроизводительные X-серверы?
+
-
-
- Существуют ли коммерческие высокопроизводительные X-серверы?
-
+
+ Да, фирма Xi Graphics
+ предлагает свои продукты Accelerated-X для FreeBSD и других систем
+ на базе Intel.
-
+ Xi Graphics предлагает высокопроизводительный X-сервер, который
+ обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров
+ и поставляется только в бинарной форме, в форме стандартного
+ дистрибутива на дискетах для FreeBSD и &linux;. Xi Graphics также
+ предлагает высокопроизводительный X-сервер с поддержкой компьютеров
+ класса laptop.
- Да, фирма Xi Graphics
- предлагает свои продукты Accelerated-X для FreeBSD и других систем
- на базе Intel.
+ Имеется бесплатная демонстрационная версия 5.0.
- Xi Graphics предлагает высокопроизводительный X-сервер, который
- обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров
- и поставляется только в бинарной форме, в форме стандартного
- дистрибутива на дискетах для FreeBSD и &linux;. Xi Graphics также
- предлагает высокопроизводительный X-сервер с поддержкой компьютеров
- класса laptop.
+ Xi Graphics также предлагает &motif; и CDE для FreeBSD (смотрите
+ выше).
- Имеется бесплатная демонстрационная версия 5.0.
+
+ Дополнительная информация
+
+
+ Xi Graphics WWW page
+
+
- Xi Graphics также предлагает &motif; и CDE для FreeBSD (смотрите
- выше).
+ или
+
+ Sales или Support по email.
+
+
-
- Дополнительная информация
-
-
- Xi Graphics WWW page
-
-
+ или
+
+ телефон (800) 946 7433 или +1 303 298-7478.
+
+
+
+
+
- или
-
- Sales или Support по email.
-
-
+
+
+ Существуют ли СУБД для FreeBSD?
+
- или
-
- телефон (800) 946 7433 или +1 303 298-7478.
-
-
-
-
-
-
-
-
-
- Существуют ли СУБД для FreeBSD?
-
-
-
-
- Да! Обратитесь к разделу
- Поставщики программного обеспечения на Web-сервере FreeBSD.
-
- Также посмотрите раздел Базы данных
- Коллекции портов.
-
-
-
+
+ Да! Обратитесь к разделу
+ Поставщики программного обеспечения на Web-сервере FreeBSD.
+ Также посмотрите раздел Базы данных
+ Коллекции портов.
+
+
@@ -4463,7 +4344,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Существуют ли коммерческие Web-браузеры для &os;?
@@ -4480,96 +4360,92 @@ kern.timecounter.hardware: TSC -> i8254
+
+ Прикладные программы
-
-Прикладные программы
+
+
+
+ Итак, где находятся все прикладные программы?
+
-
-
-
- Итак, где находятся все прикладные программы?
-
+
+ Пожалуйста, загляните на
+ страницу портов, содержащую информацию о программных продуктах,
+ перенесённых во FreeBSD. На данный момент в этом списке находится более
+ &os.numports; приложений и он ежедневно увеличивается, так что почаще туда
+ заглядывайте или подпишитесь на список рассылки
+ freebsd-announce, в котором публикуется информация
+ о появлении новых приложений.
-
+ Большинство портов должны нормально работать на системах веток
+ 4.X, 5.X и 6.X. При выходе
+ нового релиза FreeBSD в него в каталог ports/
+ включается актуальная на момент выхода коллекция портов.
- Пожалуйста, загляните на
- страницу портов, содержащую информацию о программных продуктах,
- перенесённых во FreeBSD. На данный момент в этом списке находится более
- &os.numports; приложений и он ежедневно увеличивается, так что почаще туда
- заглядывайте или подпишитесь на список рассылки
- freebsd-announce, в котором публикуется информация
- о появлении новых приложений.
+ Мы также поддерживаем концепцию пакаджа, являющегося не
+ более чем упакованным дистрибутивом в бинарной форме с некоторыми
+ встроенными возможностями по его настройке во время установки. Пакадж
+ может быть легко установлен и деинсталлирован снова без углубления
+ в детали того, какие файлы должны быть установлены.
- Большинство портов должны нормально работать на системах веток
- 4.X, 5.X и 6.X. При выходе
- нового релиза FreeBSD в него в каталог ports/
- включается актуальная на момент выхода коллекция портов.
+ Используйте меню установки пакаджей в
+ /stand/sysinstall (в пункте меню post-configuration)
+ или запускайте &man.pkg.add.1; с указанием конкретных файлов
+ с пакаджами, которые вы хотите установить. Файл с пакаджем, как
+ правило, идентифицируется по его суффиксу .tgz или
+ .tbz. Для обладателей дистрибутива системы на
+ компакт-диске предназначен каталог
+ packages/All, содержащий все эти файлы. Они также
+ могут быть получены по сети для разных версий FreeBSD со следующих
+ серверов:
- Мы также поддерживаем концепцию пакаджа, являющегося не
- более чем упакованным дистрибутивом в бинарной форме с некоторыми
- встроенными возможностями по его настройке во время установки. Пакадж
- может быть легко установлен и деинсталлирован снова без углубления
- в детали того, какие файлы должны быть установлены.
+
+ для 4.X-RELEASE/4-STABLE
+
+
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/
+
+
- Используйте меню установки пакаджей в
- /stand/sysinstall (в пункте меню post-configuration)
- или запускайте &man.pkg.add.1; с указанием конкретных файлов
- с пакаджами, которые вы хотите установить. Файл с пакаджем, как
- правило, идентифицируется по его суффиксу .tgz или
- .tbz. Для обладателей дистрибутива системы на
- компакт-диске предназначен каталог
- packages/All, содержащий все эти файлы. Они также
- могут быть получены по сети для разных версий FreeBSD со следующих
- серверов:
+ для 5.X-RELEASE/5-STABLE
+
+
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable/
+
+
-
- для 4.X-RELEASE/4-STABLE
-
-
- ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/
-
-
+
+ для 6.X-RELEASE/6-STABLE
+
+
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable
+
+
- для 5.X-RELEASE/5-STABLE
-
-
- ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-stable/
-
-
+
+ для 7-CURRENT
+
+
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current
+
+
-
- для 6.X-RELEASE/6-STABLE
-
-
- ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-6-stable
-
-
+
-
- для 7-CURRENT
-
-
- ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-7-current
-
-
-
-
-
- или с ближайшего к вам зеркального сервера.
-
- Имейте в виду, что не все порты могут быть доступны в виде
- пакаджей, так как постоянно идёт добавление новых. Неплохо время от
- времени проверять, какие пакаджи доступны на основном сервере ftp.FreeBSD.org.
-
-
-
+ или с ближайшего к вам зеркального сервера.
+ Имейте в виду, что не все порты могут быть доступны в виде
+ пакаджей, так как постоянно идёт добавление новых. Неплохо время от
+ времени проверять, какие пакаджи доступны на основном сервере ftp.FreeBSD.org.
+
+
@@ -4585,7 +4461,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Поддерживает ли FreeBSD среду &java;?
@@ -4598,7 +4473,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Почему некоторый порт не компилируется на моей машине
@@ -4620,7 +4494,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Я попытался сформировать файл INDEX
@@ -4671,7 +4544,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Почему CVSup не интегрирована в основное дерево FreeBSD?
@@ -4697,7 +4569,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Я обновил исходные тексты, как теперь обновить установленные
@@ -4791,7 +4662,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Почему &netscape; и Opera запускаются так долго?
@@ -4806,7 +4676,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Я обновил некоторые разделы Коллекции Портов при помощи CVSup,
@@ -4826,7 +4695,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Как создать аудио-CD из файлов MIDI?
@@ -4850,7 +4718,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Конфигурирование ядра
@@ -4881,7 +4748,6 @@ kern.timecounter.hardware: TSC -> i8254
-
Я не могу скомпилировать ядро. Отсутствует
@@ -4904,49 +4770,45 @@ kern.timecounter.hardware: TSC -> i8254
+
+
+ Почему моё ядро такое большое (больше 10 Мбайт)?
+
-
-
- Почему моё ядро такое большое (больше 10 Мбайт)?
-
+
+ Скорее всего, вы компилировали ядро в отладочном
+ режиме. Ядра, построенные в этом режиме, содержат много
+ символьной информации, которая используется для отладки и сильно
+ увеличивает размер ядра. Заметьте, что уменьшения производительности при
+ использовании
+ отладочного ядра нет или оно незначительно, однако отладочное ядро
+ полезно иметь под рукой на случай аварийного завершения работы
+ системы.
-
+ Однако, если вы испытываете нехватку дискового пространства или
+ просто не хотите использовать отладочное ядро, проверьте, что имеют
+ место следующие две вещи:
- Скорее всего, вы компилировали ядро в отладочном
- режиме. Ядра, построенные в этом режиме, содержат много
- символьной информации, которая используется для отладки и сильно
- увеличивает размер ядра. Заметьте, что уменьшения производительности при
- использовании
- отладочного ядра нет или оно незначительно, однако отладочное ядро
- полезно иметь под рукой на случай аварийного завершения работы
- системы.
+
+
+ В конфигурационном файле вашего ядра нет строчки, имеющей такой
+ вид:
- Однако, если вы испытываете нехватку дискового пространства или
- просто не хотите использовать отладочное ядро, проверьте, что имеют
- место следующие две вещи:
+ makeoptions DEBUG=-g
+
-
-
- В конфигурационном файле вашего ядра нет строчки, имеющей такой
- вид:
-
- makeoptions DEBUG=-g
-
-
-
- Вы не запускали утилиту &man.config.8; с опцией
- .
-
-
-
- В любой из вышеописанных ситуаций ядро будет построено с
- отладочным режимом. Если же вы точно следуете указанным шагам, то сможете
- построить обычное ядро и заметите значительное уменьшение его размера;
- большинство ядер имеют размер от 1.5 Мбайт до 2 Мбайт.
-
-
-
+
+ Вы не запускали утилиту &man.config.8; с опцией
+ .
+
+
+ В любой из вышеописанных ситуаций ядро будет построено с
+ отладочным режимом. Если же вы точно следуете указанным шагам, то сможете
+ построить обычное ядро и заметите значительное уменьшение его размера;
+ большинство ядер имеют размер от 1.5 Мбайт до 2 Мбайт.
+
+
@@ -4975,7 +4837,6 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
-
Почему мне не удаётся откомпилировать ни один вариант ядра, даже
@@ -5025,7 +4886,6 @@ device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr
-
Каким образом можно определить, какой планировщик используется
@@ -5058,7 +4918,6 @@ kern.sched.name: 4BSD
-
Что такое kern.quantum?
@@ -5075,7 +4934,6 @@ kern.sched.name: 4BSD
-
Что такое kern.sched.quantum?
@@ -5088,7 +4946,6 @@ kern.sched.name: 4BSD
-
Диски, файловые системы и начальные загрузчики
@@ -5105,7 +4962,6 @@ kern.sched.name: 4BSD
-
Как перенести систему на большой новый диск?
@@ -5214,7 +5070,6 @@ kern.sched.name: 4BSD
-
Не угрожает ли режим dangerously dedicated моему
@@ -5314,7 +5169,6 @@ kern.sched.name: 4BSD
-
На каких разделах можно без опаски использовать механизм
@@ -5382,7 +5236,6 @@ kern.sched.name: 4BSD
-
Что не так с устройством ccd?
@@ -5403,7 +5256,6 @@ ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format
-
Почему невозможно отредактировать метку диска ccd?
@@ -5431,7 +5283,6 @@ use "disklabel -r" to install initial label
-
Можно ли смонтировать другие файловые системы?
@@ -5497,11 +5348,10 @@ use "disklabel -r" to install initial label
FreeBSD также поддерживает такие сетевые файловые системы, как
NFS (смотрите &man.mount.nfs.8;), NetWare (смотрите
&man.mount.nwfs.8;) и файловые системы SMB в стиле Microsoft
- (обратитесь к &man.mount.smbfs.8;).
+ (обратитесь к &man.mount.smbfs.8;).
-
Как смонтировать вторичный раздел DOS?
@@ -5526,7 +5376,6 @@ use "disklabel -r" to install initial label
-
Существует ли криптографическая файловая система для
@@ -5541,7 +5390,6 @@ use "disklabel -r" to install initial label
-
Как можно использовать загрузчик &windowsnt; для запуска
@@ -5599,62 +5447,53 @@ C:\="DOS"
+
+
+ Как загрузить FreeBSD и &linux; с помощью LILO?
+
-
-
- Как загрузить FreeBSD и &linux; с помощью LILO?
-
+
+ Если у вас установлены FreeBSD и &linux; на одном и том же диске,
+ следуйте указаниям по установке LILO о загрузке не-&linux; операционных
+ систем. Они сводятся к следующему:
-
+ Загрузите &linux; и добавьте следующие строки в файл
+ /etc/lilo.conf:
- Если у вас установлены FreeBSD и &linux; на одном и том же диске,
- следуйте указаниям по установке LILO о загрузке не-&linux; операционных
- систем. Они сводятся к следующему:
-
- Загрузите &linux; и добавьте следующие строки в файл
- /etc/lilo.conf:
-
-
-other=/dev/hda2
+ other=/dev/hda2
table=/dev/hda
-label=FreeBSD
-
+label=FreeBSD
- (здесь мы предполагаем, что слайс с FreeBSD известен &linux; как
- /dev/hda2; измените эту строку в соответствии
- с вашей конфигурацией). Затем достаточно будет запустить
- lilo, войдя в систему как администратор.
+ (здесь мы предполагаем, что слайс с FreeBSD известен &linux; как
+ /dev/hda2; измените эту строку в соответствии
+ с вашей конфигурацией). Затем достаточно будет запустить
+ lilo, войдя в систему как администратор.
- Если FreeBSD располагается на другом диске, вам нужно добавить строчку
- loader=/boot/chain.b в конфигурационный файл
- LILO. Например:
+ Если FreeBSD располагается на другом диске, вам нужно добавить строчку
+ loader=/boot/chain.b в конфигурационный файл
+ LILO. Например:
-
-other=/dev/dab4
+ other=/dev/dab4
table=/dev/dab
loader=/boot/chain.b
-label=FreeBSD
-
+label=FreeBSD
- В некоторых случаях для успешной загрузки со второго диска вам
- может потребоваться указать номер диска BIOS загрузчику FreeBSD.
- Например, если диск SCSI с FreeBSD определяется BIOS как диск 1,
- в приглашении загрузчика FreeBSD нужно указать:
+ В некоторых случаях для успешной загрузки со второго диска вам
+ может потребоваться указать номер диска BIOS загрузчику FreeBSD.
+ Например, если диск SCSI с FreeBSD определяется BIOS как диск 1,
+ в приглашении загрузчика FreeBSD нужно указать:
-
-Boot: 1:da(0,a)/kernel
-
+ Boot: 1:da(0,a)/kernel
- Вы можете настроить &man.boot.8;
- на автоматическое принятие таких параметров во время загрузки.
+ Вы можете настроить &man.boot.8;
+ на автоматическое принятие таких параметров во время загрузки.
- В документе
- &linux;+FreeBSD mini-HOWTO содержится много информации,
- касающейся взаимодействия FreeBSD и &linux;.
-
-
-
+ В документе
+ &linux;+FreeBSD mini-HOWTO содержится много информации,
+ касающейся взаимодействия FreeBSD и &linux;.
+
+
@@ -5699,7 +5538,6 @@ Boot: 1:da(0,a)/kernel
-
Как сменить приглашение загрузчика с ??? на
@@ -5714,7 +5552,6 @@ Boot: 1:da(0,a)/kernel
-
Как использовать устройство для чтения сменных дисков?
@@ -5788,7 +5625,6 @@ Boot: 1:da(0,a)/kernel
-
При монтировании компакт-диска, выдаётся сообщение
@@ -5805,7 +5641,6 @@ Boot: 1:da(0,a)/kernel
-
При монтировании компакт-диска выдаётся сообщение
@@ -5821,7 +5656,6 @@ Boot: 1:da(0,a)/kernel
-
Когда я монтирую CDROM, все неанглийские символы в именах
@@ -5839,7 +5673,6 @@ Boot: 1:da(0,a)/kernel
-
Я записал CD во FreeBSD и теперь не могу считать его ни в какой
@@ -5856,7 +5689,6 @@ Boot: 1:da(0,a)/kernel
-
Как создать образ CD с данными?
@@ -5873,7 +5705,6 @@ Boot: 1:da(0,a)/kernel
-
Почему я не могу смонтировать (командой
@@ -5891,7 +5722,6 @@ Boot: 1:da(0,a)/kernel
-
Как выполнить mount для многосеансового
@@ -5908,7 +5738,6 @@ Boot: 1:da(0,a)/kernel
-
Как разрешить обычным пользователям монтировать дискеты,
@@ -5982,6 +5811,7 @@ perm /dev/acd0 0660
&prompt.user; mkdir ~/my-mount-point
&prompt.user; mount -t msdos /dev/fd0 ~/my-mount-point
+
Пользователи из группы operator теперь
могут монтировать CDROM /dev/acd0c
в собственные каталоги:
@@ -6008,7 +5838,6 @@ perm /dev/acd0 0660
-
Команды du и df
@@ -6062,7 +5891,6 @@ perm /dev/acd0 0660
-
Как добавить дополнительную виртуальную память?
@@ -6077,7 +5905,6 @@ perm /dev/acd0 0660
-
Почему &os; считает, что размер моего диска меньше, чем
@@ -6097,7 +5924,6 @@ perm /dev/acd0 0660
-
Почему возможно заполнение раздела больше чем на 100%?
@@ -6120,7 +5946,6 @@ perm /dev/acd0 0660
-
Системное администрирование
@@ -6154,7 +5979,6 @@ perm /dev/acd0 0660
-
Как проще всего добавить пользователя?
@@ -6169,7 +5993,6 @@ perm /dev/acd0 0660
-
Почему после редактирования моего файла crontab я получаю
@@ -6220,7 +6043,6 @@ perm /dev/acd0 0660
-
Команда su выдает, что you are
@@ -6247,7 +6069,6 @@ perm /dev/acd0 0660
-
Я сделал ошибку в файле rc.conf или в
@@ -6283,7 +6104,6 @@ perm /dev/acd0 0660
-
У меня проблемы с установкой принтера.
@@ -6306,7 +6126,6 @@ perm /dev/acd0 0660
-
Раскладка клавиатуры неверна.
@@ -6322,7 +6141,6 @@ perm /dev/acd0 0660
-
У меня при загрузке появляются сообщения вида
@@ -6348,7 +6166,6 @@ perm /dev/acd0 0660
-
Почему не получается заставить работать дисковые квоты?
@@ -6412,7 +6229,6 @@ perm /dev/acd0 0660
-
Поддерживает ли FreeBSD вызовы IPC из System V?
@@ -6432,7 +6248,6 @@ options SYSVMSG # enable for messaging
-
Какое другое программное обеспечение для почтового сервера
@@ -6462,7 +6277,6 @@ options SYSVMSG # enable for messaging
-
Я забыл пароль пользователя root! Что
@@ -6484,7 +6298,6 @@ options SYSVMSG # enable for messaging
-
Как запретить перезагрузку по нажатию
-
Как преобразовать текстовые файлы DOS в формат &unix;?
@@ -6535,34 +6347,29 @@ options SYSVMSG # enable for messaging
+
+
+ Как прервать процесс по имени?
+
-
-
- Как прервать процесс по имени?
-
+
+ Используйте команду &man.killall.1;.
+
+
-
- Используйте команду &man.killall.1;.
-
-
-
-
-
-
- Почему su выдаёт сообщение о том, что я
- не вхожу в root ACL?
-
-
-
-
- Эта ошибка выдаётся распределённой системой аутентификации Kerberos.
- Эта ошибка не фатальна, однако это раздражает. Вы можете запустит su
- с ключом -K либо деинсталлировать Kerberos, как описано в следующем
- разделе.
-
-
-
+
+
+ Почему su выдаёт сообщение о том, что я
+ не вхожу в root ACL?
+
+
+ Эта ошибка выдаётся распределённой системой аутентификации Kerberos.
+ Эта ошибка не фатальна, однако это раздражает. Вы можете запустит su
+ с ключом -K либо деинсталлировать Kerberos, как описано в следующем
+ разделе.
+
+
@@ -6585,7 +6392,6 @@ options SYSVMSG # enable for messaging
-
Что случилось с /dev/MAKEDEV?
@@ -6606,59 +6412,51 @@ options SYSVMSG # enable for messaging
+
+
+ Как добавить в систему дополнительные псевдотерминалы?
+
-
-
- Как добавить в систему дополнительные псевдотерминалы?
-
+
+ Если у вас много пользователей, работающий в сеансах telnet, ssh, X
+ или в screen, вам можете столкнуться с проблемой нехватки
+ псевдотерминалов. Их количество можно увеличить следующим образом:
-
- Если у вас много пользователей, работающий в сеансах telnet, ssh, X
- или в screen, вам можете столкнуться с проблемой нехватки
- псевдотерминалов. Их количество можно увеличить следующим образом:
+
+
+ Откомпилируйте и установите новое ядро, в конфигурационный
+ файл которого входит такая строка:
-
-
- Откомпилируйте и установите новое ядро, в конфигурационный
- файл которого входит такая строка:
+ pseudo-device pty 256
+
-
-pseudo-device pty 256
-
-
+
+ Выполните следующие команды:
-
- Выполните следующие команды:
+ &prompt.root; cd /dev
+&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7}
-
-&prompt.root; cd /dev
-&prompt.root; sh MAKEDEV pty{1,2,3,4,5,6,7}
-
+ для создания 256 дополнительных файлов устройств для новых
+ терминалов.
+
- для создания 256 дополнительных файлов устройств для новых
- терминалов.
-
+
+ Отредактируйте файл /etc/ttys, добавив по
+ строке для каждого из 256 терминалов. Они должны соответствовать
+ формату существующих строк, то есть должны выглядеть вот так:
-
- Отредактируйте файл /etc/ttys, добавив по
- строке для каждого из 256 терминалов. Они должны соответствовать
- формату существующих строк, то есть должны выглядеть вот так:
+ ttyqc none network
-
-ttyqc none network
-
-
- Порядок назначения букв при записи в виде регулярного выражения
- имеет вид tty[pqrsPQRS][0-9a-v].
-
-
-
- Теперь осталось только перезапустить систему с новым ядром.
-
-
-
-
+ Порядок назначения букв при записи в виде регулярного выражения
+ имеет вид tty[pqrsPQRS][0-9a-v].
+
+
+ Теперь осталось только перезапустить систему с новым ядром.
+
+
+
+
@@ -6686,32 +6484,26 @@ ttyqc none network
+
+
+ Как перечитать содержимое /etc/rc.conf и
+ перестартовать /etc/rc без перезагрузки системы?
+
+
-
-
- Как перечитать содержимое /etc/rc.conf и
- перестартовать /etc/rc без перезагрузки системы?
-
-
+
+ Перейдите в однопользовательский режим, а затем возвратитесь обратно
+ в многопользовательский.
-
+ На консоли выполните следующее:
- Перейдите в однопользовательский режим, а затем возвратитесь обратно
- в многопользовательский.
-
- На консоли выполните следующее:
-
-
-&prompt.root; shutdown now
+ &prompt.root; shutdown now
(Замечание: без -r или -h)
&prompt.root; return
-&prompt.root; exit
-
-
-
-
-
+&prompt.root; exit
+
+
@@ -6762,70 +6554,61 @@ ttyqc none network
+
+
+ Я попытался установить новое ядро, однако утилита chflags не
+ сработала. Как это обойти?
+
-
-
- Я попытался установить новое ядро, однако утилита chflags не
- сработала. Как это обойти?
-
+
+ Краткий ответ: Скорее всего, вы работаете в режиме безопасности,
+ большем, чем 0. Для установки ядра перезагрузите машину и войдите в
+ однопользовательский режим.
-
+ Подробный ответ: FreeBSD запрещает менять системные флаги при работе
+ на уровнях безопасности, превышающих 0. Вы можете определить ваш
+ уровень такой командой:
- Краткий ответ: Скорее всего, вы работаете в режиме безопасности,
- большем, чем 0. Для установки ядра перезагрузите машину и войдите в
- однопользовательский режим.
+ &prompt.root; sysctl kern.securelevel
- Подробный ответ: FreeBSD запрещает менять системные флаги при работе
- на уровнях безопасности, превышающих 0. Вы можете определить ваш
- уровень такой командой:
+ Вы не можете понизить уровень безопасности; для установки ядра вам
+ нужно перезагрузиться в однопользовательский режим, или изменить уровень
+ безопасности в /etc/rc.conf, а затем выполнить
+ перезагрузку. Обратитесь к странице Справочника по &man.init.8; за
+ подробной информацией об уровне безопасности и посмотрите
+ /etc/defaults/rc.conf и справочную страницу по
+ &man.rc.conf.5; для выяснения подробностей о файле rc.conf.
-
-&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
-
-
- Краткий ответ: Скорее всего, вы работаете на уровне безопасности,
- превышающем 1. Для смены даты перезагрузите машину и войдите в
- однопользовательский режим.
-
- Подробный ответ: FreeBSD запрещает менять системное время на больше
- чем одну секунду при работе на уровнях безопасности, превышающих 1. Вы
- можете определить ваш уровень такой командой:
-
-
-&prompt.root; sysctl kern.securelevel
-
-
- Вы не можете понизить уровень безопасности; для изменения даты вам
- нужно перезагрузиться в однопользовательский режим, или изменить уровень
- безопасности в /etc/rc.conf, а затем выполнить
- перезагрузку. Обратитесь к странице Справочника по &man.init.8; за
- подробной информацией об уровне безопасности, и посмотрите
- /etc/defaults/rc.conf и справочную страницу по
- &man.rc.conf.5; для выяснения подробностей о файле rc.conf.
-
-
-
+ Вы не можете понизить уровень безопасности; для изменения даты вам
+ нужно перезагрузиться в однопользовательский режим, или изменить уровень
+ безопасности в /etc/rc.conf, а затем выполнить
+ перезагрузку. Обратитесь к странице Справочника по &man.init.8; за
+ подробной информацией об уровне безопасности, и посмотрите
+ /etc/defaults/rc.conf и справочную страницу по
+ &man.rc.conf.5; для выяснения подробностей о файле rc.conf.
+
+
@@ -6852,22 +6635,18 @@ ttyqc none network
+
+
+ Почему я не могу снять с файла флаг schg?
+
-
-
- Почему я не могу снять с файла флаг schg?
-
-
-
-
- Вы работаете в системе с повышенным (то есть большим, чем 0) уровнем
- защиты. Понизьте уровень защиты и попробуйте еще раз. Для получения более
- подробной информации обратитесь к разделу FAQ
- об уровне защиты и справочной странице о &man.init.8;.
-
-
-
-
+
+ Вы работаете в системе с повышенным (то есть большим, чем 0) уровнем
+ защиты. Понизьте уровень защиты и попробуйте еще раз. Для получения более
+ подробной информации обратитесь к разделу FAQ
+ об уровне защиты и справочной странице о &man.init.8;.
+
+
@@ -6907,7 +6686,6 @@ ttyqc none network
-
Что такое vnlru?
@@ -6923,7 +6701,6 @@ ttyqc none network
-
Что означают различные состояния памяти, показываемые утилитой
@@ -6996,7 +6773,6 @@ ttyqc none network
-
Сколько свободной памяти доступно?
@@ -7020,7 +6796,6 @@ ttyqc none network
-
Что такое /var/empty? Я не могу его
@@ -7044,7 +6819,6 @@ ttyqc none network
-
X Window System и виртуальные консоли
@@ -7072,7 +6846,6 @@ ttyqc none network
-
Какие реализации X существуют для &os;?
@@ -7138,7 +6911,6 @@ ttyqc none network
-
Будут ли имеющиеся приложения работать с пакетом &xorg;?
@@ -7155,7 +6927,6 @@ ttyqc none network
-
Всё же почему разделились два проекта X?
@@ -7172,7 +6943,6 @@ ttyqc none network
-
Почему для установки по умолчанию во &os; были выбраны
@@ -7197,7 +6967,6 @@ ttyqc none network
-
Я хочу запустить X, как это сделать?
@@ -7228,7 +6997,6 @@ ttyqc none network
-
Я попытался запустить X, но получил
@@ -7257,7 +7025,6 @@ ttyqc none network
-
Почему моя мышь не работает с X?
@@ -7309,7 +7076,6 @@ Device "/dev/sysmouse"
-
У моей мыши есть колёсико. Могу ли я его использовать при
@@ -7354,7 +7120,6 @@ EndSection
-
Как использовать удалённые X-дисплеи?
@@ -7372,7 +7137,6 @@ EndSection
-
Меню и диалоговые окна в X Window работают неправильно!
@@ -7391,7 +7155,6 @@ EndSection
-
Что такое виртуальные консоли и как изменить их
@@ -7514,134 +7277,122 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure
+
+
+ Как осуществляется доступ к виртуальным консолям из X?
+
-
-
- Как осуществляется доступ к виртуальным консолям из X?
-
+
+ Используйте комбинацию клавиш
+
+ Ctrl
+ Alt
+ Fn
+
+ для переключения обратно в виртуальную консоль. Нажатие
+
+ Ctrl
+ Alt
+ F1
+
+ вернёт вас на первую виртуальную консоль.
-
+ После того, как вы оказались в текстовой консоли, можете использовать,
+ как обычно, комбинации
+
+ Alt
+ Fn
+ для переключения между ними.
- Используйте комбинацию клавиш
-
- Ctrl
- Alt
- Fn
-
- для переключения обратно в виртуальную консоль. Нажатие
-
- Ctrl
- Alt
- F1
-
- вернёт вас на первую виртуальную консоль.
+ Чтобы вернуться в сеанс работы X, вы должны переключиться в виртуальную
+ консоль, на которой запущена X Window. Если вы запустили X из командной
+ строки (например, при помощи команды startx), то сеанс
+ работы X будет привязан к следующей неиспользуемой виртуальной консоли, а
+ не к той текстовой консоли, с которой он был запущен. Если у вас имеется
+ восемь активных виртуальных терминалов, то X будет работать на девятом, и
+ вам нужно будет воспользоваться комбинацией
+
+ Alt
+ F9
+
+ для возврата в X.
+
+
- После того, как вы оказались в текстовой консоли, можете использовать,
- как обычно, комбинации
-
- Alt
- Fn
- для переключения между ними.
+
+
+ Как запустить XDM во время загрузки?
+
- Чтобы вернуться в сеанс работы X, вы должны переключиться в виртуальную
- консоль, на которой запущена X Window. Если вы запустили X из командной
- строки (например, при помощи команды startx), то сеанс
- работы X будет привязан к следующей неиспользуемой виртуальной консоли, а
- не к той текстовой консоли, с которой он был запущен. Если у вас имеется
- восемь активных виртуальных терминалов, то X будет работать на девятом, и
- вам нужно будет воспользоваться комбинацией
-
- Alt
- F9
-
- для возврата в X.
+
+ Есть две философские школы, проповедующие различные методы запуска
+ &man.xdm.1;. Последователи одного течения запускают 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 во время загрузки?
-
+ Если xdm запускается из
+ /etc/ttys, то есть вероятность конфликта между
+ xdm и &man.getty.8;. Одним из способов
+ избежать этого является добавление номера vt в файл
+ /usr/X11R6/lib/X11/xdm/Xservers.
-
+ :0 local /usr/X11R6/bin/X vt4
- Есть две философские школы, проповедующие различные методы запуска
- &man.xdm.1;. Последователи одного течения запускают xdm из
- /etc/ttys (посмотрите &man.ttys.5;), используя
- приводимый пример, тогда как другие вставляют запуск xdm в скрипт
- rc.local (посмотрите справку по &man.rc.8;) или
- X.sh, помещая последний в каталог
- /usr/local/etc/rc.d. Оба метода равноправны, и один
- из них может работать в ситуациях, с которыми не справляется другой и
- наоборот. В обоих случая результат один и тот же: X выводит
- графическое приглашение login:.
+ В вышеприведённом случае X-серверу указывается работать на
+ /dev/ttyv3. Заметьте, что номера отличаются на
+ единицу. Дело в том, что X-сервер считает vty от единицы, когда как
+ отсчёт vty в ядре FreeBSD ведётся с нуля.
+
+
- Плюсом метода с использованием ttys является документирование того,
- на каком vty будет запущен X и то, что ответственность за перезапуск
- X-сервера при завершении сеанса работы лежит на процессе init. Метод
- с использованием rc.local позволяет просто прекратить работу xdm, если
- при запуске X возникли какие-нибудь проблемы.
+
+
+ При запуске xconsole выдаётся сообщение Couldn't open
+ console.
+
- Из rc.local xdm должен быть запущен без
- аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска
- &man.getty.8;, иначе они будут конфликтовать, блокируя консоль. Лучше всего
- выдержать паузу секунд на 10 и потом запустить xdm.
-
+
+ Если вы запускаете X с использованием
+ сценария startx права на устройство
+ /dev/console
+ не изменяются, поэтому такие программы, как
+ xterm -C и
+ xconsole, не будут работать.
- Если xdm запускается из
- /etc/ttys, то есть вероятность конфликта между
- xdm и &man.getty.8;. Одним из способов
- избежать этого является добавление номера vt в файл
- /usr/X11R6/lib/X11/xdm/Xservers.
+ Это зависит от прав доступа, установленных для консоли по умолчанию.
+ В многопользовательской системе вовсе не нужно, чтобы любой
+ пользователь мог выводить информацию на системную консоль. Для
+ пользователей, вошедших в систему через VTY, для решения этой проблемы
+ существует файл &man.fbtab.5;.
-
-: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, имел доступ к
- консоли.
-
-
+ /dev/ttyv0 0600 /dev/console
+ в файле /etc/fbtab (посмотрите справку по
+ &man.fbtab.5;), и этого будет достаточно для того, чтобы всякий, кто вошёл
+ в систему с терминала /dev/ttyv0, имел доступ к
+ консоли.
+
+
@@ -7692,7 +7443,6 @@ ttyvb "/usr/libexec/getty Pc" cons25 off secure
-
Моя мышь PS/2 в X работает неправильно.
@@ -7724,7 +7474,6 @@ UserConfig> quit
-
Почему моя мышь PS/2 от MouseSystems не работает?
@@ -7753,7 +7502,6 @@ UserConfig> quit
-
При компиляции приложений для X программа
@@ -7771,7 +7519,6 @@ UserConfig> quit
-
Я хочу установить другой X-сервер.
@@ -7794,7 +7541,6 @@ UserConfig> quit
-
Как поменять местами кнопки мыши?
@@ -7808,7 +7554,6 @@ UserConfig> quit
-
Как установить экранную заставку и где такие заставки можно
@@ -7860,7 +7605,6 @@ bitmap_name="/boot/splash.pcx"
-
Можно ли в X использовать клавиши &windows;, которые есть на
@@ -7946,7 +7690,6 @@ Key F15 A A Menu Workplace Nop
-
Как заставить работать аппаратное ускорение 3D-графики для
@@ -7976,28 +7719,25 @@ Key F15 A A Menu Workplace Nop
-
Работа в сети
-
-
-
- Где можно найти информацию о бездисковой
- загрузке?
-
-
-
-
- Бездисковая загрузка означает, что машина с FreeBSD
- загружается по сети и читает необходимые файлы с сервера, а не со своего
- диска. Подробное описание есть в
- соответствующей главе
- Руководства.
-
-
+
+
+
+ Где можно найти информацию о бездисковой
+ загрузке?
+
+
+ Бездисковая загрузка означает, что машина с FreeBSD
+ загружается по сети и читает необходимые файлы с сервера, а не со своего
+ диска. Подробное описание есть в
+ соответствующей главе
+ Руководства.
+
+
@@ -8014,7 +7754,6 @@ Key F15 A A Menu Workplace Nop
-
Можно ли подключить машину с &windows; к Internet с помощью
@@ -8050,7 +7789,6 @@ Key F15 A A Menu Workplace Nop
-
Поддерживает ли FreeBSD протоколы SLIP и PPP?
@@ -8076,7 +7814,6 @@ Key F15 A A Menu Workplace Nop
-
Поддерживает ли FreeBSD технологию NAT или Masquerading?
@@ -8093,7 +7830,6 @@ Key F15 A A Menu Workplace Nop
-
Как я могу соединить две FreeBSD системы с помощью
@@ -8106,7 +7842,6 @@ Key F15 A A Menu Workplace Nop
-
Почему я не могу создать устройство
@@ -8126,7 +7861,6 @@ Key F15 A A Menu Workplace Nop
-
Как настроить алиас в сети Ethernet?
@@ -8147,24 +7881,22 @@ Key F15 A A Menu Workplace Nop
+
+
+ Как заставить адаптер 3C503 использовать другой тип сетевого
+ разъёма?
+
-
-
- Как заставить адаптер 3C503 использовать другой тип сетевого
- разъёма?
-
-
-
- Если вы хотите задействовать другой разъём, то должны указать
- дополнительный параметр при вызове команды &man.ifconfig.8;.
- Разъёмом по умолчанию является link0. Чтобы
- задействовать разъём AUI, а не BNC, используйте link2.
- Эти флаги должны быть указаны с помощью переменных ifconfig_*
- в файле /etc/rc.conf (посмотрите справку по
- &man.rc.conf.5;).
-
-
-
+
+ Если вы хотите задействовать другой разъём, то должны указать
+ дополнительный параметр при вызове команды &man.ifconfig.8;.
+ Разъёмом по умолчанию является link0. Чтобы
+ задействовать разъём AUI, а не BNC, используйте link2.
+ Эти флаги должны быть указаны с помощью переменных ifconfig_*
+ в файле /etc/rc.conf (посмотрите справку по
+ &man.rc.conf.5;).
+
+
@@ -8182,7 +7914,6 @@ Key F15 A A Menu Workplace Nop
-
Почему я не могу смонтировать диск &linux; по NFS?
@@ -8196,7 +7927,6 @@ Key F15 A A Menu Workplace Nop
-
Почему я не могу смонтировать диск Sun по NFS?
@@ -8211,7 +7941,6 @@ Key F15 A A Menu Workplace Nop
-
Почему mountd продолжает выдавать сообщения
@@ -8232,7 +7961,6 @@ Key F15 A A Menu Workplace Nop
-
Проблемы при связи по PPP с машинами NeXTStep.
@@ -8252,7 +7980,6 @@ Key F15 A A Menu Workplace Nop
-
Как включить поддержку multicast IP?
@@ -8276,17 +8003,15 @@ Key F15 A A Menu Workplace Nop
+
+
+ Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?
+
-
-
- Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?
-
-
-
-
- Вот список, составленный
- Гленом Фостером (Glen Foster) gfoster@driver.nsta.org,
- с некоторыми незначительными добавлениями:
+
+ Вот список, составленный
+ Гленом Фостером (Glen Foster) gfoster@driver.nsta.org,
+ с некоторыми незначительными добавлениями:
Сетевые карты созданные на основе наборе микросхем
@@ -8305,62 +8030,77 @@ Key F15 A A Menu Workplace Nop
ASUSPCI-L101-TB
+
AcctonENI1203
+
CogentEM960PCI
+
CompexENET32-PCI
+
D-LinkDE-530
+
DaynaDP1203, DP2100
+
DECDE435, DE450
+
DanpexEN-9400P3
+
JCISCondor JC1260
+
LinksysEtherPCI
+
MylexLNP101
+
SMCEtherPower 10/100 (Модель 9332)
+
SMCEtherPower (Модель 8432)
+
TopWareTE-3500P
+
Znyx (2.2.x)ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
+
Znyx (3.x)ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444,
@@ -8369,8 +8109,8 @@ Key F15 A A Menu Workplace Nop
-
-
+
+
@@ -8419,7 +8159,6 @@ Key F15 A A Menu Workplace Nop
-
Permission denied для любых действий,
@@ -8449,7 +8188,6 @@ Key F15 A A Menu Workplace Nop
-
Какую нагрузку вызывает использование IPFW?
@@ -8464,7 +8202,6 @@ Key F15 A A Menu Workplace Nop
-
Почему моё правило fwd для
@@ -8500,7 +8237,6 @@ Key F15 A A Menu Workplace Nop
-
Как можно перенаправить запросы с одной машины на другую?
@@ -8520,7 +8256,6 @@ Key F15 A A Menu Workplace Nop
-
Где можно найти средства управления сетевым трафиком?
@@ -8539,7 +8274,6 @@ Key F15 A A Menu Workplace Nop
-
Почему появляются сообщения
@@ -8567,7 +8301,6 @@ Key F15 A A Menu Workplace Nop
-
Как смонтировать диск &windows;-машины в моей локальной сети,
@@ -8583,7 +8316,6 @@ Key F15 A A Menu Workplace Nop
-
Что значат эти сообщения icmp-response bandwidth limit
@@ -8638,7 +8370,6 @@ Key F15 A A Menu Workplace Nop
-
Что это за сообщения arp: unknown hardware
@@ -8655,7 +8386,6 @@ Key F15 A A Menu Workplace Nop
-
Я только что установил CVSup, но при попытке его запустить
@@ -8686,7 +8416,6 @@ Key F15 A A Menu Workplace Nop
-
Безопасность
@@ -8774,7 +8503,6 @@ Key F15 A A Menu Workplace Nop
-
Что такое уровень защиты (securelevel)?
@@ -8866,7 +8594,6 @@ Key F15 A A Menu Workplace Nop
-
BIND (named) работает на порту 53 и на
@@ -8894,7 +8621,6 @@ Key F15 A A Menu Workplace Nop
-
Sendmail ждёт соединений как на стандартном порту 25, так и на
@@ -8909,7 +8635,6 @@ Key F15 A A Menu Workplace Nop
-
Что это за пользователь toor с UID 0? Я
@@ -8951,7 +8676,6 @@ Key F15 A A Menu Workplace Nop
-
Почему suidperl работает неправильно?
@@ -8974,43 +8698,39 @@ Key F15 A A Menu Workplace Nop
-
PPP
-
-
-
- Не могу заставить работать ppp. Что я делаю не так?
-
+
+
+
+ Не могу заставить работать ppp. Что я делаю не так?
+
-
- Первым делом прочтите страницы справочника, посвящённые &man.ppp.8;, а
- также соответствующий раздел
- Руководства. Включите протоколирование командой
+
+ Первым делом прочтите страницы справочника, посвящённые &man.ppp.8;, а
+ также соответствующий раздел
+ Руководства. Включите протоколирование командой
- set log Phase Chat Connect Carrier lcp ipcp ccp command
+ 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;) содержит строки
+ Эта команда может быть набрана в командной строке
+ &man.ppp.8; или она может находиться в конфигурационном
+ файле /etc/ppp/ppp.conf (начало секции
+ default - лучшее для неё место. Удостоверьтесь, что
+ файл /etc/syslog.conf (посмотрите справку по
+ &man.syslog.conf.5;) содержит строки
-
-!ppp
-*.* /var/log/ppp.log
-
-
- и файл /var/log/ppp.log существует. Теперь вы
- сможете найти полную информацию о происходящем в файле протокола. Не
- беспокойтесь, если не всё вам будет там понятно. Если вы будете
- пользоваться чьей-то помощью, протокол вам пригодится.
-
-
+ !ppp
+*.* /var/log/ppp.log
+ и файл /var/log/ppp.log существует. Теперь вы
+ сможете найти полную информацию о происходящем в файле протокола. Не
+ беспокойтесь, если не всё вам будет там понятно. Если вы будете
+ пользоваться чьей-то помощью, протокол вам пригодится.
+
+
@@ -9039,160 +8759,130 @@ Key F15 A A Menu Workplace Nop
+
+
+ Ppp не звонит в режиме -auto
+
-
-
- Ppp не звонит в режиме -auto
-
+
+ Во-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив
+ команду netstat -rn (посмотрите справку по
+ &man.netstat.1;), вы должны увидеть две строки такого вида:
-
-
- Во-первых, проверьте, что у вас есть маршрут по умолчанию. Выполнив
- команду netstat -rn (посмотрите справку по
- &man.netstat.1;), вы должны увидеть две строки такого вида:
-
-
-Destination Gateway Flags Refs Use Netif Expire
+ 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
-
+10.0.0.2 10.0.0.1 UH 0 0 tun0
- Здесь предполагается, что вы использовали адреса,
- приведённые в Руководстве, Справочнике или файле
- ppp.conf.sample. Если у вас нет маршрута по умолчанию, это
- может быть из-за использования старой версии &man.ppp.8;, которая не
- понимает слова HISADDR в файле
- ppp.conf.
+ Здесь предполагается, что вы использовали адреса,
+ приведённые в Руководстве, Справочнике или файле
+ ppp.conf.sample. Если у вас нет маршрута по умолчанию, это
+ может быть из-за использования старой версии &man.ppp.8;, которая не
+ понимает слова HISADDR в файле
+ ppp.conf.
- Другая причина отсутствия маршрута по умолчанию может крыться в том,
- что вы ошибочно установили маршрут по умолчанию в вашем файле
- /etc/rc.conf (посмотрите справку по &man.rc.conf.5;),
- и пропустили строку
+ Другая причина отсутствия маршрута по умолчанию может крыться в том,
+ что вы ошибочно установили маршрут по умолчанию в вашем файле
+ /etc/rc.conf (посмотрите справку по &man.rc.conf.5;),
+ и пропустили строку
-
-delete ALL
-
+ delete ALL
- в ppp.conf. В таком случае обратитесь к
- соответствующему разделу
- Руководства.
+ в ppp.conf. В таком случае обратитесь к
+ соответствующему разделу
+ Руководства.
+
+
-
-
+
+
+ Что означает сообщение No route to host?
+
+
+ Эта ошибка появляется из-за отсутствующего раздела
-
-
- Что означает сообщение No route to host?
-
-
-
-
- Эта ошибка появляется из-за отсутствующего раздела
-
-
-MYADDR:
+ MYADDR:
delete ALL
- add 0 0 HISADDR
-
+ add 0 0 HISADDR
- в файле /etc/ppp/ppp.linkup. Он необходим, если ваш
- IP адрес выделяется динамически или адрес маршрутизатора вам не
- известен. Если вы используете интерактивный
- режим, вы можете набрать следующие команды после входа в
- пакетный режим (пакетный режим
- идентифицируется заглавными буквами PPP в
- приглашении):
+ в файле /etc/ppp/ppp.linkup. Он необходим, если ваш
+ IP адрес выделяется динамически или адрес маршрутизатора вам не
+ известен. Если вы используете интерактивный
+ режим, вы можете набрать следующие команды после входа в
+ пакетный режим (пакетный режим
+ идентифицируется заглавными буквами PPP в
+ приглашении):
-
-delete ALL
-add 0 0 HISADDR
-
+ delete ALL
+add 0 0 HISADDR
- Обратитесь к разделу PPP и
- динамические IP адреса Руководства за подробной информацией.
+ Обратитесь к разделу PPP и
+ динамические IP адреса Руководства за подробной информацией.
+
+
-
-
+
+
+ Соединение разрывается через 3 минуты
+
+
+ Таймаут для PPP по умолчанию равен 3 минутам. Это может быть
+ изменено строкой
-
-
- Соединение разрывается через 3 минуты
-
+ set timeout NNN
-
+ где NNN - время неактивности в секундах,
+ после которого соединение закрывается. Если NNN
+ равно нулю, соединение никогда не разрывается по таймауту. Эту команду
+ можно поместить в файл ppp.conf или набрать ее в
+ интерактивном режиме. Изменение этого параметра также возможно при
+ активном соединении, если подключиться к сокету
+ ppp сервера с помощью программ
+ &man.telnet.1; или &man.pppctl.8;. Обратитесь к страницам Справочника,
+ посвящённым &man.ppp.8;.
+
+
- Таймаут для PPP по умолчанию равен 3 минутам. Это может быть
- изменено строкой
+
+
+ Соединение разрывается при большой нагрузке
+
-
-set timeout NNN
-
+
+ Если у вас включен Link Quality Reporting (LQR), возможно,
+ что слишком много пакетов LQR теряется в канале. Ppp делает вывод,
+ что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5
+ LQR было включено по умолчанию. Сейчас оно по умолчанию выключено.
+ LQR можно выключить строкой
- где NNN - время неактивности в секундах,
- после которого соединение закрывается. Если NNN
- равно нулю, соединение никогда не разрывается по таймауту. Эту команду
- можно поместить в файл ppp.conf или набрать ее в
- интерактивном режиме. Изменение этого параметра также возможно при
- активном соединении, если подключиться к сокету
- ppp сервера с помощью программ
- &man.telnet.1; или &man.pppctl.8;. Обратитесь к страницам Справочника,
- посвящённым &man.ppp.8;.
+ disable lqr
+
+
-
-
+
+
+ Соединение разрывается в случайные промежутки времени
+
+
+ Иногда, на шумной линии или даже на линии с включенным режимом
+ ожидания звонка, ваш модем может вешать трубку, думая (совершенно
+ напрасно), что потерял несущую.
-
-
- Соединение разрывается при большой нагрузке
-
+ В большинстве модемов есть параметр, определяющий чувствительность
+ к временной потере несущей. Например, в модеме USR &sportster;,
+ это определяется значением регистра S10 в десятых долях секунды.
+ Чтобы сделать связь более устойчивой, добавьте следующую
+ последовательность посылок-ожиданий в строку набора:
-
-
- Если у вас включен Link Quality Reporting (LQR), возможно,
- что слишком много пакетов LQR теряется в канале. Ppp делает вывод,
- что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5
- LQR было включено по умолчанию. Сейчас оно по умолчанию выключено.
- LQR можно выключить строкой
-
-
-disable lqr
-
-
-
-
-
-
-
-
- Соединение разрывается в случайные промежутки времени
-
-
-
-
- Иногда, на шумной линии или даже на линии с включенным режимом
- ожидания звонка, ваш модем может вешать трубку, думая (совершенно
- напрасно), что потерял несущую.
-
- В большинстве модемов есть параметр, определяющий чувствительность
- к временной потере несущей. Например, в модеме USR &sportster;,
- это определяется значением регистра S10 в десятых долях секунды.
- Чтобы сделать связь более устойчивой, добавьте следующую
- последовательность посылок-ожиданий в строку набора:
-
-
-set dial "...... ATS10=10 OK ......"
-
-
- Обратитесь к руководству по вашему модему.
-
-
-
+ set dial "...... ATS10=10 OK ......"
+ Обратитесь к руководству по вашему модему.
+
+
@@ -9244,57 +8934,51 @@ set dial "...... ATS10=10 OK ......"
+
+
+ Удалённая система не отвечает
+
-
-
- Удалённая система не отвечает
-
+
+ Здесь вы мало что можете сделать. Большинство провайдеров
+ отказываются оказать помощь, если вы используете ОС не от Microsoft.
+ Вы можете добавить команду enable lqr в ваш
+ ppp.conf, что позволит &man.ppp.8; отследить ошибки в
+ удалённой системе и закрывать соединение, однако такое обнаружение
+ достаточно медленно и поэтому
+ не так уж полезно. Вы можете также просто не сообщать своему
+ провайдеру, что запускаете user-PPP....
-
+ Первым делом попробуйте отключить всю местную компрессию,
+ указав в конфигурационном файле следующее:
- Здесь вы мало что можете сделать. Большинство провайдеров
- отказываются оказать помощь, если вы используете ОС не от 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).
-
-disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
-deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
-
-
- Теперь попробуйте установить соединение ещё раз и удостовериться,
- что ситуация не изменилась. Если качество соединения улучшилось
- или проблема оказалась полностью решённой, выясните, настройка
- чего приводила к проблемам методом проб и ошибок. Это даст вам
- дополнительную защиту, когда вы будете разговаривать с вашим
- провайдером (хотя при этом может обнаружиться, что вы работаете
- не с продуктом Microsoft).
-
- Перед тем, как звонить провайдеру, включите вывод отладочной
- информации, как вы это делали ранее и подождите, пока соединение
- снова не прервётся. Правда, для этого требуется некоторое
- дисковое пространство. Интерес могут представлять последние
- прочитанные из порта данные. Обычно это данные в формате ascii
- и они могут даже содержать описание проблемы (Memory fault,
- core dumped ?).
-
- Если ваш провайдер согласен помочь вам, нужно будет включить
- режим отладки с их стороны, а потом, когда связь прервётся в
- следующий раз, они могут сказать вам, почему возникли проблемы
- с их стороны. Будет хорошо, если вы пришлёте детальное описание
- на адрес &a.brian;, или даже попросите провайдера связаться
- со мной напрямую.
-
-
-
+ Перед тем, как звонить провайдеру, включите вывод отладочной
+ информации, как вы это делали ранее и подождите, пока соединение
+ снова не прервётся. Правда, для этого требуется некоторое
+ дисковое пространство. Интерес могут представлять последние
+ прочитанные из порта данные. Обычно это данные в формате ascii
+ и они могут даже содержать описание проблемы (Memory fault,
+ core dumped ?).
+ Если ваш провайдер согласен помочь вам, нужно будет включить
+ режим отладки с их стороны, а потом, когда связь прервётся в
+ следующий раз, они могут сказать вам, почему возникли проблемы
+ с их стороны. Будет хорошо, если вы пришлёте детальное описание
+ на адрес &a.brian;, или даже попросите провайдера связаться
+ со мной напрямую.
+
+
@@ -9317,199 +9001,177 @@ deny pred1 deflate deflate24 protocomp acfcomp shortseq vj
+
+
+ Ничего не происходит после сообщения Login OK!
+
-
-
- Ничего не происходит после сообщения Login OK!
-
+
+ До версии FreeBSD 2.2.5, как только связь устанавливалась, &man.ppp.8;
+ ожидал начала согласования Line Control Protocol
+ (LCP) с противоположной стороны. Многие провайдеры Internet не
+ начинают согласования и предполагают, что это сделает клиент.
+ Чтобы заставить &man.ppp.8; инициировать согласование
+ параметров LCP, используйте следующую строку:
-
+ set openmode active
- До версии 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;
+ клиента получает отражения своих запросов.
-
-
- В протоколе есть сообщения о том, что magic being the
- same.
-
+ Частью процесса согласования параметров LCP является определение
+ магического числа для каждой стороны соединения для
+ обнаружения отражений. Согласно спецификации, когда одна
+ сторона пытается использовать совпадающее "магическое" число, должен быть
+ послан ответ
+ NAK и должно быть выбрано новое "магическое" число. В тот момент,
+ когда на порту сервера включен режим эха, клиент &man.ppp.8; посылает
+ пакеты LCP, получает то же самое "магическое" число в отражённом пакете и
+ отвечает на него NAK. Он также видит отражённый NAK (который также
+ означает, что &man.ppp.8; должен изменить своё "магическое" число). В
+ потенциале это может вызвать появление огромного количества процессов
+ смен "магических" чисел, и все они накапливаются в буфере терминала.
+ Как только запустится сервер &man.ppp.8;, он будет перегружен запросами на
+ смену "магических", немедленно решит, что этого много для согласования
+ LCP и прервёт соединение. В то же самое время, клиент, который больше
+ не видит отражений, останавливается для того, чтобы увидеть, что
+ сервер закрыл соединение.
-
+ Этого можно избежать, позволив начинать согласование
+ противоположной стороне следующей строкой в файле ppp.conf:
- Иногда, сразу же после установления соединения, вы можете увидеть
- сообщения в протоколе, говорящие что magic is the same.
- Иногда эти сообщения проходят безболезненно, а иногда одна из сторон
- прекращает работу. Большинство реализаций PPP не может справиться с
- такой ситуацией, и, даже когда связь выглядит установившейся, вы
- будете видеть только бесконечно повторяющиеся конфигурационные
- запросы и подтверждения в файле протокола до тех пор, пока &man.ppp.8;
- окончательно не закроет соединение.
+ set openmode passive
- Обычно это происходит на серверах с медленными дисками, на
- которых порт обслуживает программа getty, а &man.ppp.8; выполняется из
- сценария регистрации или другой программы после регистрации
- пользователя. Были сообщения, что такое случается постоянно при
- использовании slirp. Причина заключается в том, что во время,
- проходящее между завершением работы &man.getty.8; и запуском &man.ppp.8;,
- &man.ppp.8; со стороны клиента начинает посылать пакеты Line Control
- Protocol (LCP). Так как режим эха остаётся всё ещё включенным, &man.ppp.8;
- клиента получает отражения своих запросов.
+ Это заставит &man.ppp.8; ожидать начала согласования LCP. Некоторые
+ серверы, однако, могут никогда не начать согласование. Если это тот
+ самый случай, вы можете сделать следующее:
- Частью процесса согласования параметров LCP является определение
- магического числа для каждой стороны соединения для
- обнаружения отражений. Согласно спецификации, когда одна
- сторона пытается использовать совпадающее "магическое" число, должен быть
- послан ответ
- NAK и должно быть выбрано новое "магическое" число. В тот момент,
- когда на порту сервера включен режим эха, клиент &man.ppp.8; посылает
- пакеты LCP, получает то же самое "магическое" число в отражённом пакете и
- отвечает на него NAK. Он также видит отражённый NAK (который также
- означает, что &man.ppp.8; должен изменить своё "магическое" число). В
- потенциале это может вызвать появление огромного количества процессов
- смен "магических" чисел, и все они накапливаются в буфере терминала.
- Как только запустится сервер &man.ppp.8;, он будет перегружен запросами на
- смену "магических", немедленно решит, что этого много для согласования
- LCP и прервёт соединение. В то же самое время, клиент, который больше
- не видит отражений, останавливается для того, чтобы увидеть, что
- сервер закрыл соединение.
+ set openmode active 3
- Этого можно избежать, позволив начинать согласование
- противоположной стороне следующей строкой в файле ppp.conf:
+ Это заставит &man.ppp.8; пассивно ждать 3 секунды, и только затем
+ посылать запросы LCP. Если противоположная сторона начнёт посылать в этот
+ момент запросы, &man.ppp.8; немедленно ответит, не ожидая истечения
+ трёхсекундного интервала.
+
+
-
-set openmode passive
-
+
+
+ Согласование LCP продолжается, пока не закроется соединение
+
- Это заставит &man.ppp.8; ожидать начала согласования LCP. Некоторые
- серверы, однако, могут никогда не начать согласование. Если это тот
- самый случай, вы можете сделать следующее:
+
+ В настоящий момент одной из неприятных особенностей реализации
+ &man.ppp.8; является то, что она не
+ связывает сообщения LCP, CCP & IPCP с запросами. Как результат, если
+ реализация PPP с одной стороны более чем на
+ 6 секунд медленнее, чем с другой, противоположная сторона будет посылать
+ два дополнительных запроса на согласование параметров LCP.
+ Это фатально.
-
-set openmode active 3
-
+ Предположим, что у нас работают две реализации, на машинах
+ 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.
- Это заставит &man.ppp.8; пассивно ждать 3 секунды, и только затем
- посылать запросы LCP. Если противоположная сторона начнёт посылать в этот
- момент запросы, &man.ppp.8; немедленно ответит, не ожидая истечения
- трёхсекундного интервала.
+ Это будет продолжаться до тех пор, пока одна из сторон не
+ обнаружит, что это ни к чему не приводит и не закроет соединение.
-
-
+ Лучшим способом избежать этой ситуации является конфигурация
+ одной из сторон как passive, чтобы она ждала
+ другую для начала согласования. Это можно сделать командой
+ set openmode passive
-
-
- Согласование LCP продолжается, пока не закроется соединение
-
+ С этой командой нужно быть осторожным. Вы также должны будете
+ использовать команду
-
- В настоящий момент одной из неприятных особенностей реализации
- &man.ppp.8; является то, что она не
- связывает сообщения LCP, CCP & IPCP с запросами. Как результат, если
- реализация PPP с одной стороны более чем на
- 6 секунд медленнее, чем с другой, противоположная сторона будет посылать
- два дополнительных запроса на согласование параметров LCP.
- Это фатально.
+ set stopped N
- Предположим, что у нас работают две реализации, на машинах
- 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.
+ для ограничения периода ожидания, в течении которого
+ &man.ppp.8; ждёт начала согласования с противоположной
+ стороны. Как вариант, может быть использована строка
- Это будет продолжаться до тех пор, пока одна из сторон не
- обнаружит, что это ни к чему не приводит и не закроет соединение.
+ set openmode active N
- Лучшим способом избежать этой ситуации является конфигурация
- одной из сторон как passive, чтобы она ждала
- другую для начала согласования. Это можно сделать командой
+ (где N - период ожидания в секундах
+ перед тем, как начать согласование).
+
+
-
-set openmode passive
-
+
+
+ Когда я выполняю команду shell для тестирования соединения,
+ ppp блокируется
+
- С этой командой нужно быть осторожным. Вы также должны будете
- использовать команду
-
-
-set stopped N
-
-
- для ограничения периода ожидания, в течении которого
- &man.ppp.8; ждёт начала согласования с противоположной
- стороны. Как вариант, может быть использована строка
-
-
-set openmode active N
-
-
- (где N - период ожидания в секундах
- перед тем, как начать согласование).
-
-
-
-
-
-
- Когда я выполняю команду shell для тестирования соединения,
- ppp блокируется
-
-
-
-
- Когда вы выполняете команду shell или
- !, &man.ppp.8; запускает оболочку (если были
- заданы параметры, &man.ppp.8; их
- использует). Ppp будет ждать окончания выполнения команды, прежде
- чем продолжить. Если вы попытаетесь воспользоваться связью PPP
- после запуска команды, связь будет выглядеть заблокированной. Это
- происходит из-за того, что &man.ppp.8; ждёт завершения
- выполнения запущенной команды.
-
- Если вам необходимо выполнять подобные команды, используйте
- команду !bg. В этом случае нужная команда будет
- выполняться в фоновом режиме, а &man.ppp.8; сможет продолжить обслуживание
- канала связи.
-
-
-
+
+ Когда вы выполняете команду shell или
+ !, &man.ppp.8; запускает оболочку (если были
+ заданы параметры, &man.ppp.8; их
+ использует). Ppp будет ждать окончания выполнения команды, прежде
+ чем продолжить. Если вы попытаетесь воспользоваться связью PPP
+ после запуска команды, связь будет выглядеть заблокированной. Это
+ происходит из-за того, что &man.ppp.8; ждёт завершения
+ выполнения запущенной команды.
+ Если вам необходимо выполнять подобные команды, используйте
+ команду !bg. В этом случае нужная команда будет
+ выполняться в фоновом режиме, а &man.ppp.8; сможет продолжить обслуживание
+ канала связи.
+
+
@@ -9531,129 +9193,109 @@ set openmode active N
+
+
+ В режиме -auto ppp неожиданно начинает звонить
+
-
-
- В режиме -auto ppp неожиданно начинает звонить
-
+
+ Если &man.ppp.8; начинает неожиданно звонить, вы
+ должны определить причину и задать фильтры dfilters для предотвращения
+ подобных звонков.
-
- Если &man.ppp.8; начинает неожиданно звонить, вы
- должны определить причину и задать фильтры dfilters для предотвращения
- подобных звонков.
+ Для выяснения причины такого поведения, используйте строку:
- Для выяснения причины такого поведения, используйте строку:
+ set log +tcp/ip
-
-set log +tcp/ip
-
+ Это включит протоколирование всего трафика через соединение. В
+ следующий раз, когда неожиданно будет установлено соединение,
+ вы установите причину по временным отметкам в файле протокола.
- Это включит протоколирование всего трафика через соединение. В
- следующий раз, когда неожиданно будет установлено соединение,
- вы установите причину по временным отметкам в файле протокола.
+ После этого вы можете запретить дозвонку при выясненных
+ условиях. Как правило, такие проблемы возникают из-за обращений
+ к DNS. Для предотвращения обращений к DNS и установления соединения
+ (что не запретит &man.ppp.8;
+ пропускать пакеты через уже
+ установленное соединение), используйте такую комбинацию:
- После этого вы можете запретить дозвонку при выясненных
- условиях. Как правило, такие проблемы возникают из-за обращений
- к DNS. Для предотвращения обращений к DNS и установления соединения
- (что не запретит &man.ppp.8;
- пропускать пакеты через уже
- установленное соединение), используйте такую комбинацию:
-
-
-set dfilter 1 deny udp src eq 53
+ set dfilter 1 deny udp src eq 53
set dfilter 2 deny udp dst eq 53
-set dfilter 3 permit 0/0 0/0
-
+set dfilter 3 permit 0/0 0/0
- Это может вам не подойти, так как закроет возможность дозвонки
- по запросу - большинству программ нужно обратиться к DNS до того,
- как начать работать.
+ Это может вам не подойти, так как закроет возможность дозвонки
+ по запросу - большинству программ нужно обратиться к DNS до того,
+ как начать работать.
- В случае DNS, вы должны попытаться определить, кто пытается
- определить имя хоста. В большинстве случаев виновным оказывается
- &man.sendmail.8;. Удостоверьтесь, что вы указали программе sendmail
- не осуществлять обращений к DNS в его конфигурационном файле.
- Обратитесь к разделу об
- использовании электронной почты при коммутируемом соединении в
- Руководстве за подробным описанием создания конфигурационного файла и что
- туда нужно поместить. Вам может понадобиться добавить в файл
- .mc строку:
+ В случае DNS, вы должны попытаться определить, кто пытается
+ определить имя хоста. В большинстве случаев виновным оказывается
+ &man.sendmail.8;. Удостоверьтесь, что вы указали программе sendmail
+ не осуществлять обращений к DNS в его конфигурационном файле.
+ Обратитесь к разделу об
+ использовании электронной почты при коммутируемом соединении в
+ Руководстве за подробным описанием создания конфигурационного файла и что
+ туда нужно поместить. Вам может понадобиться добавить в файл
+ .mc строку:
- define(`confDELIVERY_MODE', `d')dnl
+ define(`confDELIVERY_MODE', `d')dnl
- Это заставит sendmail ставить все сообщения в очередь до тех пор, пока
- не будет запущена её обработка (как правило, sendmail запускается с
- параметрами , указывающими, что
- обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока
- не будет выполнена команда sendmail -q (может быть, из
- файла ppp.linkup).
+ Это заставит sendmail ставить все сообщения в очередь до тех пор, пока
+ не будет запущена её обработка (как правило, sendmail запускается с
+ параметрами , указывающими, что
+ обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока
+ не будет выполнена команда sendmail -q (может быть, из
+ файла ppp.linkup).
+
+
-
-
+
+
+ Что означают ошибки CCP
+
+
+ В файле протокола появляются такие сообщения об ошибках:
-
-
- Что означают ошибки CCP
-
+ CCP: CcpSendConfigReq
+CCP: Received Terminate Ack (1) state = Req-Sent (6)
-
+ Это происходит, если &man.ppp.8; пытается установить компрессию
+ типа Predictor1, а противоположная сторона не хочет устанавливать
+ никакой компрессии. Эти сообщения безобидны, но если вы хотите
+ от них избавиться, вы можете запретить компрессию Predictor1 и
+ у себя тоже:
- В файле протокола появляются такие сообщения об ошибках:
+ disable pred1
+
+
-
-CCP: CcpSendConfigReq
-CCP: Received Terminate Ack (1) state = Req-Sent (6)
-
+
+
+ Почему ppp не протоколирует скорость соединения?
+
- Это происходит, если &man.ppp.8; пытается установить компрессию
- типа Predictor1, а противоположная сторона не хочет устанавливать
- никакой компрессии. Эти сообщения безобидны, но если вы хотите
- от них избавиться, вы можете запретить компрессию Predictor1 и
- у себя тоже:
+
+ Для вывода протокола взаимодействия с модемом вам нужно
+ включить следующее:
-
-disable pred1
-
+ set log +connect
-
-
+ Это заставит &man.ppp.8; протоколировать всё, вплоть до последней
+ прочтённой через expect строки.
+ Если вы хотите видеть скорость соединения и используете
+ PAP или CHAP (и поэтому вам не нужно определять никаких сценариев
+ входа через set login после получения строки CONNECT
+ сценарием дозвонки dial), вы должны указать &man.ppp.8;, что нужно ожидать
+ полную строку CONNECT, вроде следующего:
-
-
- Почему 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; принять
- полный ответ модема.
-
-
+ set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
+ \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"
+ Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем
+ символа перевода строки, заставляя &man.ppp.8; принять
+ полный ответ модема.
+
+
@@ -9699,49 +9341,45 @@ set dial "\"\" ATZ OK ATDT\\T"
ATZ
OK
ATDT1234567
-
-
-
- Ppp получает ошибку защиты, но я не вижу файла
- ppp.core
-
+
+
+ Ppp получает ошибку защиты, но я не вижу файла
+ ppp.core
+
-
- Ppp (или любая другая программа такого рода) никогда не
- создаёт файлов дампа памяти. Так так &man.ppp.8; запускается с
- эффективным uid, равным 0, то операционная система не будет
- записывать дамп памяти &man.ppp.8; на диск перед его завершением. Если,
- однако &man.ppp.8; всё же прекратит работу из-за нарушения защиты,
- или по другому сигналу, который вызывает создание дампа памяти,
- и вы уверены, что используете самую
- последнюю версию (смотрите
- самое начало раздела), то вы должны сделать следующее:
+
+ Ppp (или любая другая программа такого рода) никогда не
+ создаёт файлов дампа памяти. Так так &man.ppp.8; запускается с
+ эффективным uid, равным 0, то операционная система не будет
+ записывать дамп памяти &man.ppp.8; на диск перед его завершением. Если,
+ однако &man.ppp.8; всё же прекратит работу из-за нарушения защиты,
+ или по другому сигналу, который вызывает создание дампа памяти,
+ и вы уверены, что используете самую
+ последнюю версию (смотрите
+ самое начало раздела), то вы должны сделать следующее:
-
-&prompt.user; tar xfz ppp-*.src.tar.gz
+ &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
-
+&prompt.root; chmod 555 /usr/sbin/ppp
- Теперь у вас есть отладочная версия &man.ppp.8;. Вам нужно
- стать суперпользователем для запуска &man.ppp.8;, так как соответствующие
- биты прав были убраны. Когда запустите &man.ppp.8;, обратите особое
- внимание на то, какой каталог у вас был текущим на этот момент.
+ Теперь у вас есть отладочная версия &man.ppp.8;. Вам нужно
+ стать суперпользователем для запуска &man.ppp.8;, так как соответствующие
+ биты прав были убраны. Когда запустите &man.ppp.8;, обратите особое
+ внимание на то, какой каталог у вас был текущим на этот момент.
- Итак, если &man.ppp.8; получит ошибку нарушения защиты, он сбросит дамп
- памяти с именем ppp.core.
- Затем вам нужно сделать следующее:
+ Итак, если &man.ppp.8; получит ошибку нарушения защиты, он сбросит дамп
+ памяти с именем ppp.core.
+ Затем вам нужно сделать следующее:
-
-&prompt.user; su
+ &prompt.user; su
&prompt.root; gdb /usr/sbin/ppp ppp.core(gdb)bt
.....
@@ -9750,161 +9388,153 @@ ATDT1234567
(gdb)i args
....
(gdb)l
-.....
-
+.....
- Вся эта информация должна быть предоставлена вместе с вашим
- вопросом, чтобы проблему можно было продиагностировать.
+ Вся эта информация должна быть предоставлена вместе с вашим
+ вопросом, чтобы проблему можно было продиагностировать.
- Если вы умеете обращаться с gdb, вы можете попробовать найти
- причины образования дампа, а также адреса и значения относящихся
- к этому переменных.
+ Если вы умеете обращаться с gdb, вы можете попробовать найти
+ причины образования дампа, а также адреса и значения относящихся
+ к этому переменных.
-
-
+
+
+
+
+ Процесс, вызвавший прозвонку в режиме auto, никогда не получает
+ затребованного соединения
+
-
-
- Процесс, вызвавший прозвонку в режиме auto, никогда не получает
- затребованного соединения
-
+
+ Эта проблема проявлялась, когда &man.ppp.8; в
+ режиме auto был настроен на динамическое согласование локального IP-адреса
+ с противоположной стороной. Это исправлено в последней версии -
+ поищите на странице справочника слово iface.
-
+ Причиной было то, что когда эта программа использует системный
+ вызов &man.connect.2;, для сокета назначается IP-адрес tun-интерфейса.
+ Ядро создаёт первый исходящий пакет и записывает его в устройство
+ tun. Затем &man.ppp.8; читает пакет и устанавливает
+ соединение. Если в результате согласования &man.ppp.8;
+ динамического IP-адреса
+ адрес интерфейса изменится, сокет будет работать некорректно. Любые
+ IP-пакеты, передаваемые через сокет, будут отброшены. Если даже
+ этого не произойдёт, ответные данные не будут достигать отправителя,
+ так как этот адрес больше ему не принадлежит.
- Эта проблема проявлялась, когда &man.ppp.8; в
- режиме auto был настроен на динамическое согласование локального IP-адреса
- с противоположной стороной. Это исправлено в последней версии -
- поищите на странице справочника слово iface.
+ Теоретически есть несколько способов решить эту проблему.
+ Лучше всего, если противоположная сторона назначит интерфейсу тот же
+ самый IP-адрес :-) Текущая версия
+ &man.ppp.8; именно так и поступает, более ранние
+ реализации этого не делали.
- Причиной было то, что когда эта программа использует системный
- вызов &man.connect.2;, для сокета назначается IP-адрес tun-интерфейса.
- Ядро создаёт первый исходящий пакет и записывает его в устройство
- tun. Затем &man.ppp.8; читает пакет и устанавливает
- соединение. Если в результате согласования &man.ppp.8;
- динамического IP-адреса
- адрес интерфейса изменится, сокет будет работать некорректно. Любые
- IP-пакеты, передаваемые через сокет, будут отброшены. Если даже
- этого не произойдёт, ответные данные не будут достигать отправителя,
- так как этот адрес больше ему не принадлежит.
+ Самым простым решением будет просто никогда не менять IP-адрес
+ tun-интерфейса, а вместо этого изменять на лету все исходящие пакеты так,
+ чтобы IP-адрес источника менялся с IP-адреса интерфейса на соответствующий
+ с противоположной стороны. Это, в сущности, то же самое, что делает опция
+ iface-alias в самой последней версии
+ &man.ppp.8; (с помощью библиотеки &man.libalias.3; и ключа
+ для &man.ppp.8;) - она отслеживает все назначенные
+ ранее интерфейсу адреса и замещает их на последний из назначенных.
- Теоретически есть несколько способов решить эту проблему.
- Лучше всего, если противоположная сторона назначит интерфейсу тот же
- самый IP-адрес :-) Текущая версия
- &man.ppp.8; именно так и поступает, более ранние
- реализации этого не делали.
+ Другой возможный (и, наверное, самый надёжный) способ - это
+ создать системный вызов, меняющий IP-адреса всем уже связанным
+ сокетам. &man.ppp.8; использовал бы этот вызов для
+ модификации сокетов
+ всех работающих программ после согласования нового IP-адреса. Этот
+ же самый системный вызов могли бы использовать клиенты DHCP, когда
+ они осуществляют повторную привязку к сокету.
- Самым простым решением будет просто никогда не менять IP-адрес
- tun-интерфейса, а вместо этого изменять на лету все исходящие пакеты так,
- чтобы IP-адрес источника менялся с IP-адреса интерфейса на соответствующий
- с противоположной стороны. Это, в сущности, то же самое, что делает опция
- iface-alias в самой последней версии
- &man.ppp.8; (с помощью библиотеки &man.libalias.3; и ключа
- для &man.ppp.8;) - она отслеживает все назначенные
- ранее интерфейсу адреса и замещает их на последний из назначенных.
+ Ещё одной возможностью является разрешение интерфейсу становиться
+ активным без IP-адреса. Исходящим пакетам будет даваться IP адрес
+ 255.255.255.255 до тех пор, пока не будет дан ioctl-запрос SIOCAIFADDR.
+ приводящий к полной привязке сокета. &man.ppp.8; нужно будет изменять
+ IP-адрес источника и контрольную сумму пакета, только если он
+ установлен в 255.255.255.255. Это, однако, является некоторым
+ хаком, так как ядро будет посылать некорректные пакеты на не полностью
+ сконфигурированный интерфейс, в предположении, что существует
+ механизм исправления этих пакетов.
+
+
- Другой возможный (и, наверное, самый надёжный) способ - это
- создать системный вызов, меняющий IP-адреса всем уже связанным
- сокетам. &man.ppp.8; использовал бы этот вызов для
- модификации сокетов
- всех работающих программ после согласования нового IP-адреса. Этот
- же самый системный вызов могли бы использовать клиенты DHCP, когда
- они осуществляют повторную привязку к сокету.
+
+
+ Почему большинство игр не работает с опцией -nat?
+
- Ещё одной возможностью является разрешение интерфейсу становиться
- активным без IP-адреса. Исходящим пакетам будет даваться IP адрес
- 255.255.255.255 до тех пор, пока не будет дан ioctl-запрос SIOCAIFADDR.
- приводящий к полной привязке сокета. &man.ppp.8; нужно будет изменять
- IP-адрес источника и контрольную сумму пакета, только если он
- установлен в 255.255.255.255. Это, однако, является некоторым
- хаком, так как ядро будет посылать некорректные пакеты на не полностью
- сконфигурированный интерфейс, в предположении, что существует
- механизм исправления этих пакетов.
+
+ Причиной, по которой игры и подобные программы не работают с
+ библиотекой libalias заключается в том, что внешняя машина будет пытаться
+ открыть соединение или посылать (нежданные) UDP пакеты на машину
+ внутренней сети. Программное обеспечение, обеспечивающее опцию -nat, не
+ знает о том, что она должна пересылать эти пакеты машине внутренней
+ сети.
-
-
+ Чтобы это всё же заработало, удостоверьтесь, что единственной
+ запущенной программой является программное обеспечение, с которым вы
+ испытываете проблемы, затем напустите tcpdump на tun-интерфейс
+ маршрутизатора либо включите протоколирование tcp/ip
+ в &man.ppp.8; (set log +tcp/ip) на маршрутизаторе.
+ Когда вы запустите некорректно работающее программное обеспечение,
+ вы должны увидеть пакеты, проходящие через маршрутизатор. Когда
+ что-то начнёт приходить извне, оно будет отброшено (в этом-то и
+ проблема). Заметьте номер порта получателя этих пакетов, затем
+ завершите работу вашего программного обеспечения. Выполните эту
+ процедуру несколько раз для того, чтобы убедиться, что номер порта
+ постоянен. Если это так, то следующая строчка в соответствующем
+ разделе /etc/ppp/ppp.conf заставит программное
+ обеспечение функционировать нормально:
-
-
- Почему большинство игр не работает с опцией -nat?
-
+ nat port protointernalmachine:portport
-
+ Здесь proto - это tcp
+ либо udp, internalmachine -
+ это машина, которой вы хотите перенаправлять пакеты,
+ и port - это номер порта получателя
+ пакетов.
- Причиной, по которой игры и подобные программы не работают с
- библиотекой libalias заключается в том, что внешняя машина будет пытаться
- открыть соединение или посылать (нежданные) UDP пакеты на машину
- внутренней сети. Программное обеспечение, обеспечивающее опцию -nat, не
- знает о том, что она должна пересылать эти пакеты машине внутренней
- сети.
+ Несомненно, вы не сможете использовать программное обеспечение на
+ других машинах, не изменяя указанную выше команду, а также запускать
+ программное обеспечение на двух машинах внутри сети одновременно -
+ в конце концов, внешний мир видит всю вашу сеть как единственную
+ машину.
- Чтобы это всё же заработало, удостоверьтесь, что единственной
- запущенной программой является программное обеспечение, с которым вы
- испытываете проблемы, затем напустите tcpdump на tun-интерфейс
- маршрутизатора либо включите протоколирование tcp/ip
- в &man.ppp.8; (set log +tcp/ip) на маршрутизаторе.
+ Если номера портов непостоянны, есть ещё три варианта:
- Когда вы запустите некорректно работающее программное обеспечение,
- вы должны увидеть пакеты, проходящие через маршрутизатор. Когда
- что-то начнёт приходить извне, оно будет отброшено (в этом-то и
- проблема). Заметьте номер порта получателя этих пакетов, затем
- завершите работу вашего программного обеспечения. Выполните эту
- процедуру несколько раз для того, чтобы убедиться, что номер порта
- постоянен. Если это так, то следующая строчка в соответствующем
- разделе /etc/ppp/ppp.conf заставит программное
- обеспечение функционировать нормально:
+
+
+ Настройте поддержку этого в libalias. Примеры
+ особых случаев можно найти в
+ /usr/src/lib/libalias/alias_*.c
+ (alias_ftp.c - хорошее начало). Это означает, что
+ вам нужно будет использовать чтение некоторых распознаваемых
+ исходящих пакетов, обнаруживать команды для установления внешней машиной
+ обратной связи на внутреннюю машину на конкретный (случайный) порт и
+ настраивать маршрут в таблице соответствий так, чтобы
+ последующие пакеты проходили нормально.
-
-nat port protointernalmachine:portport
-
+ Это самое трудоёмкое решение, но оно наилучшее и позволит
+ программному обеспечению работать на нескольких машинах.
+
- Здесь proto - это tcp
- либо udp, internalmachine -
- это машина, которой вы хотите перенаправлять пакеты,
- и port - это номер порта получателя
- пакетов.
+
+ Используйте прокси-сервер.
+ Приложение может поддерживать, например, socks5 или (как в случае
+ cvsup) может иметь режим passive,
+ обходящийся без запросов к противоположной стороне на открытие
+ обратного соединения.
+
- Несомненно, вы не сможете использовать программное обеспечение на
- других машинах, не изменяя указанную выше команду, а также запускать
- программное обеспечение на двух машинах внутри сети одновременно -
- в конце концов, внешний мир видит всю вашу сеть как единственную
- машину.
-
- Если номера портов непостоянны, есть ещё три варианта:
-
-
-
- Настройте поддержку этого в libalias. Примеры
- особых случаев можно найти в
- /usr/src/lib/libalias/alias_*.c
- (alias_ftp.c - хорошее начало). Это означает, что
- вам нужно будет использовать чтение некоторых распознаваемых
- исходящих пакетов, обнаруживать команды для установления внешней машиной
- обратной связи на внутреннюю машину на конкретный (случайный) порт и
- настраивать маршрут в таблице соответствий так, чтобы
- последующие пакеты проходили нормально.
-
- Это самое трудоёмкое решение, но оно наилучшее и позволит
- программному обеспечению работать на нескольких машинах.
-
-
-
- Используйте прокси-сервер.
- Приложение может поддерживать, например, socks5 или (как в случае
- cvsup) может иметь режим passive,
- обходящийся без запросов к противоположной стороне на открытие
- обратного соединения.
-
-
-
- Переназначьте всё на внутреннюю
- машину с помощью команды nat addr. Это решение в
- лоб.
-
-
-
-
+
+ Переназначьте всё на внутреннюю
+ машину с помощью команды nat addr. Это решение в
+ лоб.
+
+
+
+
@@ -9991,53 +9621,52 @@ nat port protointernalmachine
-
-
- Что такое ошибки FCS?
-
+
+
+ Что такое ошибки FCS?
+
-
- FCS является сокращением от Frame
- Check Sequence
- (контроль последовательности кадров). Каждый кадр PPP имеет
- контрольную сумму для проверки того, что принятые данные совпадают
- с переданными. Если FCS принятого пакета некорректна, пакет
- отбрасывается и счётчик FCS для HDLC увеличивается. Значения ошибок
- уровня HDLC можно вывести командой show hdlc.
+
+ FCS является сокращением от Frame
+ Check Sequence
+ (контроль последовательности кадров). Каждый кадр PPP имеет
+ контрольную сумму для проверки того, что принятые данные совпадают
+ с переданными. Если FCS принятого пакета некорректна, пакет
+ отбрасывается и счётчик FCS для HDLC увеличивается. Значения ошибок
+ уровня HDLC можно вывести командой show hdlc.
- Если у вас плохая линия (или драйвер коммуникационного адаптера
- отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является
- причиной для волнений, хотя это существенно замедляет протоколы
- компрессии. Если у вас внешний модем, проверьте качество
- экранирования соединительного кабеля - это может избавить от
- проблемы.
+ Если у вас плохая линия (или драйвер коммуникационного адаптера
+ отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является
+ причиной для волнений, хотя это существенно замедляет протоколы
+ компрессии. Если у вас внешний модем, проверьте качество
+ экранирования соединительного кабеля - это может избавить от
+ проблемы.
- Если ваша связь замирает, как только вы соединились и
- наблюдается большое количество ошибок FCS, это может быть вызвано
- не полной прозрачностью канала для 8-битовых данных. Проверьте, что
- модем не использует программного управления потоком (XON/XOFF). Если же
- оборудование должно , использовать программное
- управление потоком, то воспользуйтесь командой set accmap
- 0x000a0000 для указания &man.ppp.8; экранировать
- символы ^Q и ^S.
+ Если ваша связь замирает, как только вы соединились и
+ наблюдается большое количество ошибок 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 на удалённой машине).
+ Другой причиной слишком большого количества ошибок FCS может
+ быть прекращение противоположной стороной сеанса PPP.
+ В этом случае Вам может понадобиться включить протоколирование
+ async для проверки того, не являются ли поступаемые из
+ линии данные на самом деле приглашениями login или shell. Если вы
+ получили приглашение shell с противоположной стороны, возможно
+ завершение &man.ppp.8; без обрыва связи командой close
+ lcp (последующая команда term
+ снова вернёт вас к приглашению
+ shell на удалённой машине).
- Если ничего в файле протокола не говорит о том, что связь
- была прервана, вы должны спросить у администратора удалённой
- машины (вашего провайдера), почему сеанс был закрыт.
-
-
-
+ Если ничего в файле протокола не говорит о том, что связь
+ была прервана, вы должны спросить у администратора удалённой
+ машины (вашего провайдера), почему сеанс был закрыт.
+
+
@@ -10119,26 +9748,23 @@ nat port protointernalmachine
+
+
+ Ничего не помогает - я уже отчаялся!
+
-
-
- Ничего не помогает - я уже отчаялся!
-
-
-
- Если всё уже перепробовано, и ничего не получается, пошлите нам
- максимальное количество информации, ваш конфигурационный файл,
- способ запуска &man.ppp.8;, соответствующие части
- файла протокола, и вывод команды netstat -rn (до и после
- соединения) в &a.questions; или в телеконференцию comp.unix.bsd.freebsd.misc,
- и может быть, кто-нибудь укажет вам верное направление.
-
-
-
-
-
-
+
+ Если всё уже перепробовано, и ничего не получается, пошлите нам
+ максимальное количество информации, ваш конфигурационный файл,
+ способ запуска &man.ppp.8;, соответствующие части
+ файла протокола, и вывод команды netstat -rn (до и после
+ соединения) в &a.questions; или в телеконференцию comp.unix.bsd.freebsd.misc,
+ и может быть, кто-нибудь укажет вам верное направление.
+
+
+
+ Коммуникационные адаптеры
@@ -10147,66 +9773,56 @@ nat port protointernalmachineРабота в сети.
-
-
-
- Как узнать, какие последовательные порты были обнаружены
- FreeBSD?
-
+
+
+
+ Как узнать, какие последовательные порты были обнаружены
+ FreeBSD?
+
-
+
+ При загрузке ядра FreeBSD оно будет пытаться найти последовательные
+ порты, с поддержкой которых было откомпилировано. Вы можете
+ повнимательней присмотреться к выдаваемым сообщениям либо выполнить
+ команду
- При загрузке ядра FreeBSD оно будет пытаться найти последовательные
- порты, с поддержкой которых было откомпилировано. Вы можете
- повнимательней присмотреться к выдаваемым сообщениям либо выполнить
- команду
+ &prompt.user; dmesg | grep sio
-
-&prompt.user; dmesg | grep sio
-
+ после загрузки и запуска системы.
- после загрузки и запуска системы.
+ Вот пример вывода указанной команды:
- Вот пример вывода указанной команды:
-
-
-sio0 at 0x3f8-0x3ff irq 4 on isa
+ sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
-sio1: type 16550A
-
+sio1: type 16550A
- Здесь присутствуют два последовательных порта. Первый использует irq
- 4, порт ввода/вывода 0x3f8 и построен на микросхеме
- UART типа 16550A. Второй использует тот же тип микросхемы, но использует
- irq 3 и адрес порта ввода/вывода 0x2f8. Внутренние
- модемы выглядят точно также, как последовательные порты, за исключением
- того, что к модем ним подключен всегда.
+ Здесь присутствуют два последовательных порта. Первый использует irq
+ 4, порт ввода/вывода 0x3f8 и построен на микросхеме
+ UART типа 16550A. Второй использует тот же тип микросхемы, но использует
+ irq 3 и адрес порта ввода/вывода 0x2f8. Внутренние
+ модемы выглядят точно также, как последовательные порты, за исключением
+ того, что к модем ним подключен всегда.
- В ядро GENERIC встроена поддержка двух
- последовательных портов, с irq и адресами портов ввода/вывода, как в
- примере выше. Если эти настройки не соответствуют вашим, или если вы
- добавили внутренние модемы, или у вас больше последовательных портов, чем
- описано в ядре, просто переконфигурируйте ядро. За дополнительной
- информацией обратитесь к разделу о построении
- ядра.
+ В ядро GENERIC встроена поддержка двух
+ последовательных портов, с irq и адресами портов ввода/вывода, как в
+ примере выше. Если эти настройки не соответствуют вашим, или если вы
+ добавили внутренние модемы, или у вас больше последовательных портов, чем
+ описано в ядре, просто переконфигурируйте ядро. За дополнительной
+ информацией обратитесь к разделу о построении
+ ядра.
+
+
-
-
-
-
-
-
- Как узнать, какие внутренние модемы были обнаружены FreeBSD?
-
-
-
-
- Посмотрите ответ на предыдущий вопрос.
-
-
-
+
+
+ Как узнать, какие внутренние модемы были обнаружены FreeBSD?
+
+
+ Посмотрите ответ на предыдущий вопрос.
+
+
@@ -10246,116 +9862,98 @@ sio1: type 16550A
+
+
+ Как включить поддержку многопортовых последовательных
+ адаптеров?
+
-
-
- Как включить поддержку многопортовых последовательных
- адаптеров?
-
+
+ Повторим ещё раз: информация о конфигурировании ядра содержится в
+ разделе, посвящённом этому вопросу. Для многопортовых последовательных
+ адаптеров в файле конфигурации ядра поместите ключевое слово &man.sio.4;
+ для каждого порта на адаптере. Но irq и вектор должен быть указан
+ только у одного порта. Все порты на адаптере должны использовать одно
+ и то же irq. Используйте последний последовательный порт для указания
+ irq. Также включите опцию COM_MULTIPORT.
-
+ В следующем примере дано описание 4-портового адаптер AST на irq
+ 7:
- Повторим ещё раз: информация о конфигурировании ядра содержится в
- разделе, посвящённом этому вопросу. Для многопортовых последовательных
- адаптеров в файле конфигурации ядра поместите ключевое слово &man.sio.4;
- для каждого порта на адаптере. Но irq и вектор должен быть указан
- только у одного порта. Все порты на адаптере должны использовать одно
- и то же irq. Используйте последний последовательный порт для указания
- irq. Также включите опцию COM_MULTIPORT.
-
- В следующем примере дано описание 4-портового адаптер AST на irq
- 7:
-
-
-options "COM_MULTIPORT"
+ 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
-
+device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
- Флаги указывают, что управляющий порт имеет младший номер
- устройства 7 (0x700), включена диагностика на время
- обнаружения
- (0x080), и все порты используют одно и то же irq
- (0x001).
+ Флаги указывают, что управляющий порт имеет младший номер
+ устройства 7 (0x700), включена диагностика на время
+ обнаружения
+ (0x080), и все порты используют одно и то же irq
+ (0x001).
+
+
-
-
+
+
+ Может ли FreeBSD использовать несколько многопортовых адаптеров
+ с одинаковым irq?
+
+
+ Пока нет. Вы должны назначить уникальный irq для каждого
+ адаптера.
+
+
-
-
- Может ли FreeBSD использовать несколько многопортовых адаптеров
- с одинаковым irq?
-
+
+
+ Можно ли установить режим работы по умолчанию для порта?
+
-
+
+ Вашему приложению может понадобиться открыть устройства
+ ttydX (или
+ cuaaX). Когда процесс
+ открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете
+ посмотреть их значения командой
- Пока нет. Вы должны назначить уникальный irq для каждого
- адаптера.
+ &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, выполните
- Вашему приложению может понадобиться открыть устройства
- ttydX (или
- cuaaX). Когда процесс
- открывает устройство, оно имеет набор параметров ввода/вывода. Вы можете
- посмотреть их значения командой
+ &prompt.root; stty -f /dev/ttyld5 57600
-
-&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;
- при создании файлов устройств этого НЕ делает.
-
-
-
+ Теперь, если приложение откроет ttyd5 и попытается
+ изменить скорость работы порта, она всё равно останется равной 57600
+ bps.
+ Естественно, вы должны сделать устройства начального и
+ постоянного состояний доступными на запись только пользователю
+ root. Скрипт &man.MAKEDEV.8;
+ при создании файлов устройств этого НЕ делает.
+
+
@@ -10438,147 +10036,128 @@ device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr
+
+
+ Как подключить терминал к FreeBSD?
+
-
-
- Как подключить терминал к FreeBSD?
-
+
+ Если вы собираетесь использовать другой компьютер в качестве
+ терминала для FreeBSD, соедините их последовательные порты
+ нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его
+ документации.
-
- Если вы собираетесь использовать другой компьютер в качестве
- терминала для FreeBSD, соедините их последовательные порты
- нуль-модемным кабелем. Если у вас есть терминал, обратитесь к его
- документации.
+ Затем модифицируйте файл /etc/ttys (посмотрите
+ справку по &man.ttys.5;) описанным выше способом. Например, если вы
+ подключаете терминал WYSE-50 к пятому последовательному порту, используйте
+ такую строчку:
- Затем модифицируйте файл /etc/ttys (посмотрите
- справку по &man.ttys.5;) описанным выше способом. Например, если вы
- подключаете терминал WYSE-50 к пятому последовательному порту, используйте
- такую строчку:
+ ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
-
-ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure
-
+ В этом примере описан порт на /dev/ttyd4,
+ имеющий терминал wyse50, подключенный на скорости 34800 bps без контроля по
+ четности (std.38400 из файла
+ /etc/gettytab, информацию о котором можно получить
+ из справки по &man.gettytab.5;) и разрешён непосредственный вход
+ пользователя root (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.
-
-
- Почему не удаётся запустить tip или
- cu?
-
+ Вы можете разрешить всем пользователям вашей системы запускать
+ &man.tip.1; и &man.cu.1;, выполнив команды:
-
+ &prompt.root; chmod 4511 /usr/bin/cu
+&prompt.root; chmod 4511 /usr/bin/tip
+
+
- Скорее всего, в вашей системе запуск программ
- &man.tip.1; и &man.cu.1; разрешён только пользователю
- uucp и членам группы
- dialer. Вы можете использовать группу
- dialer для управления доступом к вашему модему или
- удалённым системам. Достаточно добавить пользователя в группу
- dialer.
+
+
+ Мой модем Hayes не поддерживается---что можно сделать?
+
- Вы можете разрешить всем пользователям вашей системы запускать
- &man.tip.1; и &man.cu.1;, выполнив команды:
+
+ На самом деле страница Справочника о программе &man.tip.1; устарела.
+ Модемы Hayes поддерживаются системой. Просто добавьте
+ at=hayes в ваш файл /etc/remote
+ (посмотрите справку по &man.remote.5;).
-
-&prompt.root; chmod 4511 /usr/bin/cu
-&prompt.root; chmod 4511 /usr/bin/tip
-
+ Драйвер модемов 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. Чтобы это сделать, вам
+ нужен дистрибутив исходных текстов системы.
-
-
- Мой модем Hayes не поддерживается---что можно сделать?
-
+ Замените строку #define HAYES 0 на #define
+ HAYES 1. Затем выполните команды make и
+ make install. После этих действий всё работает
+ замечательно.
+
+
-
- На самом деле страница Справочника о программе &man.tip.1; устарела.
- Модемы Hayes поддерживаются системой. Просто добавьте
- at=hayes в ваш файл /etc/remote
- (посмотрите справку по &man.remote.5;).
+
+
+ Как я должен ввести эти AT-команды?
+
- Драйвер модемов Hayes не достаточно умён, чтобы поддерживать
- некоторые из новых возможностей современных модемов---сообщения
- типа BUSY, NO DIALTONE или
- CONNECT 115200 будут приводить его в замешательство. Вы
- должны выключить вывод таких сообщений при использовании программы
- &man.tip.1; (командой ATX0&W).
+
+ Создайте так называемое прямое описание в вашем файле
+ /etc/remote (посмотрите справку по &man.remote.5;).
+ Например, если ваш модем подключен к первому последовательному порту,
+ /dev/cuaa0, сделайте такую строку:
- Кроме того, значение таймаута по умолчанию для программы
- &man.tip.1; равен 60 секундам. Ваш модем должен использовать
- меньшее значение, иначе tip будет думать, что у вас проблемы со связью.
- Попробуйте ATS7=45&W.
+ cuaa0:dv=/dev/cuaa0:br#19200:pa=none
- На самом деле tip в том виде, каком
- поставляется, не поддерживает модемы Hayes полностью. Решением является
- редактирование файла tipconf.h в каталоге
- /usr/src/usr.bin/tip/tip. Чтобы это сделать, вам
- нужен дистрибутив исходных текстов системы.
+ Укажите максимальную скорость обмена с портом, поддерживаемую
+ модемом в параметре br. Затем выполните команду
+ tip cuaa0 (обратитесь к
+ справке по &man.tip.1;) и вы подключитесь к модему.
- Замените строку #define HAYES 0 на #define
- HAYES 1. Затем выполните команды make и
- make install. После этих действий всё работает
- замечательно.
+ Если в вашей системе нет устройства
+ /dev/cuaa0, сделайте следующее:
-
-
+ &prompt.root; cd /dev
+&prompt.root; sh MAKEDEV cuaa0
+ Или используйте cu, войдя администратором,
+ с такими параметрами:
-
-
- Как я должен ввести эти 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-команд, наберите
- ~. для завершения работы.
-
-
-
+ &prompt.root; cu -lline -sspeed
+ где line - это имя последовательного порта
+ (например, /dev/cuaa0), а
+ speed - скорость работы модема с портом
+ (например, 57600). После ввода AT-команд, наберите
+ ~. для завершения работы.
+
+
@@ -10599,130 +10178,112 @@ cuaa0:dv=/dev/cuaa0:br#19200:pa=none
+
+
+ Как набрать телефонный номер из командной строки?
+
-
-
- Как набрать телефонный номер из командной строки?
-
+
+ Поместите так называемое общее описание в ваш файл
+ /etc/remote (посмотрите справку по &man.remote.5;).
+ Например:
-
- Поместите так называемое общее описание в ваш файл
- /etc/remote (посмотрите справку по &man.remote.5;).
- Например:
-
-
-tip115200|Dial any phone number at 115200 bps:\
+ 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:
-
+ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
- Тогда вы сможете выполнять команды вроде tip -115200
- 5551234. Если предпочитаете программу &man.cu.1;, а не
- &man.tip.1;, используйте общее описание для cu:
+ Тогда вы сможете выполнять команды вроде 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:
-
+ cu115200|Use cu to dial any number at 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
- и выполняйте команду cu 5551234 -s 115200.
-
-
+ и выполняйте команду cu 5551234 -s 115200.
+
+
+
+
+ Нужно ли при этом каждый раз задавать скорость работы с
+ портом?
+
-
-
- Нужно ли при этом каждый раз задавать скорость работы с
- портом?
-
+
+ Создайте описание для tip1200 или
+ cu1200, но не останавливайтесь на этом и используйте
+ подходящую скорость при задании характеристики br. &man.tip.1; полагает,
+ что хорошим значением по умолчанию является 1200 bps, поэтому он
+ использует описание для tip1200. Однако вас никто не
+ заставляет использовать именно эту скорость.
+
+
-
+
+
+ Мне нужно иметь доступ к нескольких хостам через терминальный
+ сервер.
+
- Создайте описание для tip1200 или
- cu1200, но не останавливайтесь на этом и используйте
- подходящую скорость при задании характеристики br. &man.tip.1; полагает,
- что хорошим значением по умолчанию является 1200 bps, поэтому он
- использует описание для tip1200. Однако вас никто не
- заставляет использовать именно эту скорость.
+
+ Вместо того, чтобы каждый раз ожидать подключения к терминальному
+ серверу, а затем набирать команду CONNECT
+ host, используйте характеристику
+ cm программы tip. Например, вот такое описание в файле
+ /etc/remote (обратитесь к справке по
+ &man.remote.5;):
-
-
-
-
-
-
- Мне нужно иметь доступ к нескольких хостам через терминальный
- сервер.
-
-
-
- Вместо того, чтобы каждый раз ожидать подключения к терминальному
- серверу, а затем набирать команду CONNECT
- host, используйте характеристику
- cm программы tip. Например, вот такое описание в файле
- /etc/remote (обратитесь к справке по
- &man.remote.5;):
-
-
-pain|pain.deep13.com|Forrester's machine:\
+ 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:
-
+ :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
- позволит вам просто набирать tip pain или
- tip muffin для подключения к хостам
- pain или muffin и
- tip deep13 для доступа к терминальному серверу.
+ позволит вам просто набирать tip pain или
+ tip muffin для подключения к хостам
+ pain или muffin и
+ tip deep13 для доступа к терминальному серверу.
+
+
-
-
+
+
+ Может ли tip использовать несколько телефонов для одного
+ сайта?
+
+
+ Эта проблема возникает, когда в университете есть пара
+ модемных входов и несколько тысяч студентов, пытающихся ими
+ воспользоваться...
-
-
- Может ли tip использовать несколько телефонов для одного
- сайта?
-
+ Создайте описание для вашего университета в файле
+ /etc/remote (посмотрите справку по &man.remote.5;) и
+ используйте <\@> при задании
+ характеристики pn:
-
- Эта проблема возникает, когда в университете есть пара
- модемных входов и несколько тысяч студентов, пытающихся ими
- воспользоваться...
-
- Создайте описание для вашего университета в файле
- /etc/remote (посмотрите справку по &man.remote.5;) и
- используйте <\@> при задании
- характеристики pn:
-
-
-big-university:\
+ big-university:\
:pn=\@:tc=dialout
dialout:\
- :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
-
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
- После этого пропишите номера телефонов университета в файле
- /etc/phones (посмотрите справку по
- &man.phones.5;):
+ После этого пропишите номера телефонов университета в файле
+ /etc/phones (посмотрите справку по
+ &man.phones.5;):
-
-big-university 5551111
+ big-university 5551111
big-university 5551112
big-university 5551113
-big-university 5551114
-
-
- &man.tip.1; будет пытаться воспользоваться всеми телефонными номерами в
- указанном порядке, прежде чем завершить работу. Если вы хотите, чтобы
- попытки были продолжены, запустите &man.tip.1; в цикле
- while.
-
-
+big-university 5551114
+ &man.tip.1; будет пытаться воспользоваться всеми телефонными номерами в
+ указанном порядке, прежде чем завершить работу. Если вы хотите, чтобы
+ попытки были продолжены, запустите &man.tip.1; в цикле
+ while.
+
+
@@ -10767,7 +10328,6 @@ big-university 5551114
-
Неожиданно всё стало набираться ЗАГЛАВНЫМИ БУКВАМИ?
@@ -10800,33 +10360,27 @@ raisechar=^^
+
+
+ Как можно передавать файлы с помощью программы
+ tip?
+
-
-
- Как можно передавать файлы с помощью программы
- tip?
-
+
+ Если вы соединились с другой &unix;-системой, вы можете посылать и
+ принимать файлы командами ~p (передача) и
+ ~t (приём). Эти
+ команды запускают программы &man.cat.1; и &man.echo.1; на
+ удалённой системе, чтобы принять и послать файлы. Синтаксис вызова
+ имеет такой вид:
-
-
- Если вы соединились с другой &unix;-системой, вы можете посылать и
- принимать файлы командами ~p (передача) и
- ~t (приём). Эти
- команды запускают программы &man.cat.1; и &man.echo.1; на
- удалённой системе, чтобы принять и послать файлы. Синтаксис вызова
- имеет такой вид:
-
-
-~p <local-file> [<remote-file>]
-~t <remote-file> [<local-file>]
-
-
- Контроль ошибок передачи при этом не осуществляется, так что вам
- может понадобиться другой протокол передачи, например, zmodem.
-
-
-
+ ~p <local-file> [<remote-file>]
+~t <remote-file> [<local-file>]
+ Контроль ошибок передачи при этом не осуществляется, так что вам
+ может понадобиться другой протокол передачи, например, zmodem.
+
+
@@ -10860,60 +10414,54 @@ raisechar=^^
Разное
-
-
-
- Почему FreeBSD использует гораздо больше места в разделе подкачки,
- чем &linux;?
-
+
+
+
+ Почему FreeBSD использует гораздо больше места в разделе подкачки,
+ чем &linux;?
+
-
+
+ Это только кажется, что для FreeBSD требуется больше места на разделе
+ подкачки, чем для &linux;. На самом деле это не так. Главное отличие
+ FreeBSD от &linux; в этом плане заключается в том, что FreeBSD активно
+ перемещает неиспользуемые страницы памяти, к которым не было обращений,
+ в раздел подкачки, чтобы увеличить объём доступной физической памяти
+ для активного использования. &linux; же перемещает страницы памяти в
+ раздел подкачки только в крайнем случае. Получаемое во FreeBSD
+ увеличение нагрузки на раздел подкачки компенсируется более эффективным
+ использованием оперативной памяти.
- Это только кажется, что для FreeBSD требуется больше места на разделе
- подкачки, чем для &linux;. На самом деле это не так. Главное отличие
- FreeBSD от &linux; в этом плане заключается в том, что FreeBSD активно
- перемещает неиспользуемые страницы памяти, к которым не было обращений,
- в раздел подкачки, чтобы увеличить объём доступной физической памяти
- для активного использования. &linux; же перемещает страницы памяти в
- раздел подкачки только в крайнем случае. Получаемое во FreeBSD
- увеличение нагрузки на раздел подкачки компенсируется более эффективным
- использованием оперативной памяти.
+ Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
+ она не может сбросить все неактивные страницы в своп при полностью
+ неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
+ проснувшись рано утром, вы обнаружите, что вся ваша система находится в
+ разделе подкачки, хотя она простаивала всю ночь.
+
+
- Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
- она не может сбросить все неактивные страницы в своп при полностью
- неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
- проснувшись рано утром, вы обнаружите, что вся ваша система находится в
- разделе подкачки, хотя она простаивала всю ночь.
-
-
-
-
-
-
-
- Почему утилита &man.top.1; показывает очень маленький объём
- свободной памяти, даже когда запущено всего лишь несколько
- приложений?
-
-
-
-
- Просто дело в том, что под свободной памятью подразумевается никак не
- используемая память. Вся память, которая вашей программе явно не
- выделялась, используется ядром FreeBSD для дискового кэша.
- Значения, показываемые утилитой &man.top.1;, помеченные как
- Inact, Cache и Buf
- - это всё кэшированные данные разных степеней устаревания. То, что данные
- находятся в кэше, означает, что система не будет обращаться к медленному
- диску снова за теми данными, обращение к которым было недавно, повышая таким
- образом общую производительность. В общем случае маленькие значения в
- пункте Free, показываемые утилитой &man.top.1; для
- свободной памяти - это хорошо, если, конечно они не
- очень маленькие.
-
-
-
+
+
+ Почему утилита &man.top.1; показывает очень маленький объём
+ свободной памяти, даже когда запущено всего лишь несколько
+ приложений?
+
+
+ Просто дело в том, что под свободной памятью подразумевается никак не
+ используемая память. Вся память, которая вашей программе явно не
+ выделялась, используется ядром FreeBSD для дискового кэша.
+ Значения, показываемые утилитой &man.top.1;, помеченные как
+ Inact, Cache и Buf
+ - это всё кэшированные данные разных степеней устаревания. То, что данные
+ находятся в кэше, означает, что система не будет обращаться к медленному
+ диску снова за теми данными, обращение к которым было недавно, повышая таким
+ образом общую производительность. В общем случае маленькие значения в
+ пункте Free, показываемые утилитой &man.top.1; для
+ свободной памяти - это хорошо, если, конечно они не
+ очень маленькие.
+
+
@@ -10962,7 +10510,6 @@ raisechar=^^
-
Можно ли запускать программы для DOS во FreeBSD?
@@ -10986,7 +10533,6 @@ raisechar=^^
-
Что мне нужно сделать, чтобы перевести документацию FreeBSD на
@@ -11001,7 +10547,6 @@ raisechar=^^
-
Почему возвращается моя электронная почта, отправленная на
@@ -11074,7 +10619,6 @@ raisechar=^^
-
Где можно получить бесплатный доступ к FreeBSD?
@@ -11106,7 +10650,6 @@ raisechar=^^
-
Что такое sup и как это можно
@@ -11129,7 +10672,6 @@ raisechar=^^
-
Как зовут этого маленького симпатичного красного парня?
@@ -11147,7 +10689,6 @@ raisechar=^^
-
Могу ли я использовать изображение даемона BSD?
@@ -11170,7 +10711,6 @@ raisechar=^^
-
Не найдется ли у вас изображений даемона BSD, которые можно
@@ -11183,7 +10723,6 @@ raisechar=^^
-
При просмотре списков рассылки, я встретил акроним или
@@ -11198,7 +10737,6 @@ raisechar=^^
-
Почему я должен беспокоиться о цвете велосипедных навесов
@@ -11206,76 +10744,74 @@ raisechar=^^
- На самом деле, очень краткий ответ на этот вопрос заключается в том,
- что вы этого делать не должны. Если давать более подробный ответ, то ваше
- умение делать навесы не должно означать, что вы должны препятствовать
- другим делать их просто потому, что вам не нравится цвет, в который
- они собираются их окрашивать. Эта метафора означает, что вам не нужно
- обсуждать каждую мелочь просто потому, что вы знаете о ней
- достаточно много. Некоторые люди отмечают, что объём шума, генерируемый
- при появлении некоторого изменения, находится в обратной зависимости от
- сложности самого изменения.
+ На самом деле, очень краткий ответ на этот вопрос заключается в том,
+ что вы этого делать не должны. Если давать более подробный ответ, то ваше
+ умение делать навесы не должно означать, что вы должны препятствовать
+ другим делать их просто потому, что вам не нравится цвет, в который
+ они собираются их окрашивать. Эта метафора означает, что вам не нужно
+ обсуждать каждую мелочь просто потому, что вы знаете о ней
+ достаточно много. Некоторые люди отмечают, что объём шума, генерируемый
+ при появлении некоторого изменения, находится в обратной зависимости от
+ сложности самого изменения.
- Более пространный и полный ответ заключается в том, что после очень
- долгого обсуждения того, должна ли утилита &man.sleep.1; обрабатывать
- дробное число, заданное в качестве второго аргумента, &a.phk;
- опубликовал большое сообщение, озаглавленное
- Велосипедный навес (подставьте здесь цвет) на зелёной траве....
- Соответствующие части этого сообщения цитируются ниже.
+ Более пространный и полный ответ заключается в том, что после очень
+ долгого обсуждения того, должна ли утилита &man.sleep.1; обрабатывать
+ дробное число, заданное в качестве второго аргумента, &a.phk;
+ опубликовал большое сообщение, озаглавленное
+ Велосипедный навес (подставьте здесь цвет) на зелёной траве....
+ Соответствующие части этого сообщения цитируются ниже.
-
- &a.phk; on freebsd-hackers,
- October 2, 1999
+
+ &a.phk; on freebsd-hackers,
+ October 2, 1999
- Что это за история с навесом для велосипеда? Кто-то
- из вас задавал такой вопрос.
+ Что это за история с навесом для велосипеда? Кто-то
+ из вас задавал такой вопрос.
- Это долгая история, или же это старая история, но на самом деле
- она коротка. В начале 1960-х годов Паркинсон (C. Northcote Parkinson)
- написал книгу Закон Паркинсона, которая содержит много
- интересных взглядов на процесс управления.
+ Это долгая история, или же это старая история, но на самом деле
+ она коротка. В начале 1960-х годов Паркинсон (C. Northcote Parkinson)
+ написал книгу Закон Паркинсона, которая содержит много
+ интересных взглядов на процесс управления.
- [немного выдержек из краткого содержания книги]
+ [немного выдержек из краткого содержания книги]
- В конкретном примере велосипедный навес сопоставляется с
- другим важным объектом - атомной электростанцией.
- Я полагаю, что это иллюстрирует древность книги.
+ В конкретном примере велосипедный навес сопоставляется с
+ другим важным объектом - атомной электростанцией.
+ Я полагаю, что это иллюстрирует древность книги.
- Паркинсон показывает, что вы можете прийти на совещание
- руководителей и получить добро на строительство многомиллионной
- или даже многомиллиардной атомной электростанции, но если вы
- хотите построить навес для велосипеда, то погрязнете в бесконечных
- обсуждениях.
+ Паркинсон показывает, что вы можете прийти на совещание
+ руководителей и получить добро на строительство многомиллионной
+ или даже многомиллиардной атомной электростанции, но если вы
+ хотите построить навес для велосипеда, то погрязнете в бесконечных
+ обсуждениях.
- Паркинсон объясняет это тем, что атомная станция настолько большой,
- дорогой и сложный объект, что люди не могут его осознать и вместо того,
- чтобы попробовать это сделать, они полагаются на то, что кто-то уже
- проверил все мелочи до того, как всё зашло так далеко. В своей книге
- Ричард П. Фейнманн (Richard P. Feynmann) даёт несколько интересных и
- очень поучительных примеров, связанных с Лос Аламос.
+ Паркинсон объясняет это тем, что атомная станция настолько большой,
+ дорогой и сложный объект, что люди не могут его осознать и вместо того,
+ чтобы попробовать это сделать, они полагаются на то, что кто-то уже
+ проверил все мелочи до того, как всё зашло так далеко. В своей книге
+ Ричард П. Фейнманн (Richard P. Feynmann) даёт несколько интересных и
+ очень поучительных примеров, связанных с Лос Аламос.
- Велосипедный навес - это противоположный случай. Любой может
- построить навес за один уикэнд, и у него ещё останется время посмотреть
- футбол по телевизору. Так что не важно, насколько хорошо вы готовились
- к обсуждению, насколько убедительны будут ваши аргументы, кто-нибудь
- воспользуется шансом показать, что он не зря ест свой хлеб, что он
- обращает внимание, что он здесь.
-
- В Дании это называется оставить отпечаток своего
- пальца. Это касается личной гордости и престижа, это похоже
- на возможность указать куда-то и сказать: Вон там! Это сделал
- я. Это сильно выражено в политиках, но
- присутствует во многих людях, которые получают возможность сделать
- это. Просто вспомните об отпечатках ног во влажном цементе.
-
+ Велосипедный навес - это противоположный случай. Любой может
+ построить навес за один уикэнд, и у него ещё останется время посмотреть
+ футбол по телевизору. Так что не важно, насколько хорошо вы готовились
+ к обсуждению, насколько убедительны будут ваши аргументы, кто-нибудь
+ воспользуется шансом показать, что он не зря ест свой хлеб, что он
+ обращает внимание, что он здесь.
+ В Дании это называется оставить отпечаток своего
+ пальца. Это касается личной гордости и престижа, это похоже
+ на возможность указать куда-то и сказать: Вон там! Это сделал
+ я. Это сильно выражено в политиках, но
+ присутствует во многих людях, которые получают возможность сделать
+ это. Просто вспомните об отпечатках ног во влажном цементе.
+
-
Юмор от FreeBSD
@@ -11310,7 +10846,6 @@ raisechar=^^
-
Кто там скребётся в микросхемах памяти??
@@ -11346,7 +10881,6 @@ raisechar=^^
-
Сколько требуется разработчиков FreeBSD, чтобы сменить
@@ -11452,7 +10986,6 @@ raisechar=^^
-
Куда направляются данные, записываемые в
@@ -11509,7 +11042,6 @@ raisechar=^^
-
Сложные темы
@@ -11538,7 +11070,6 @@ raisechar=^^
-
Как можно оказать помощь проекту FreeBSD?
@@ -11552,7 +11083,6 @@ raisechar=^^
-
Что такое SNAP и RELEASE?
@@ -11596,7 +11126,6 @@ raisechar=^^
-
Как самому сделать релиз?
@@ -11609,7 +11138,6 @@ raisechar=^^
-
По команде make world были переустановлены
@@ -11655,7 +11183,6 @@ raisechar=^^
-
Почему при загрузке системы выдаётся сообщение (bus speed
@@ -11676,7 +11203,6 @@ raisechar=^^
-
Можно ли работать с -CURRENT при ограниченном доступе в
@@ -11691,32 +11217,26 @@ raisechar=^^
+
+
+ Как вы разделяете дистрибутив на файлы по 240К?
+
-
-
- Как вы разделяете дистрибутив на файлы по 240К?
-
+
+ Команда &man.split.1; в современных BSD-системах имеет опцию
+ , позволяющую разрезать файлы на части с точностью до
+ байта.
-
+ Вот пример из файла /usr/src/Makefile.
- Команда &man.split.1; в современных BSD-системах имеет опцию
- , позволяющую разрезать файлы на части с точностью до
- байта.
-
- Вот пример из файла /usr/src/Makefile.
-
-
-bin-tarball:
+ bin-tarball:
(cd ${DISTDIR}; \
tar cf - . \
gzip --no-name -9 -c | \
split -b 240640 - \
-${RELEASEDIR}/tarballs/bindist/bin_tgz.)
-
-
-
-
-
+${RELEASEDIR}/tarballs/bindist/bin_tgz.)
+
+
@@ -11732,94 +11252,90 @@ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
+
+
+ Как распознаются и инициализируются адаптеры ISA Plug N Play?
+
-
-
- Как распознаются и инициализируются адаптеры 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.
- От: Фрэнка Дурды IV (Frank Durda IV)
- uhclem@nemesis.lonestar.org
+ ID представляет собой два 32-разрядные числа (всего их 2^64)
+ + 8 бит контрольной суммы. Первые 32 бита являются идентификатором
+ производителя. Они никогда не сообщаются, однако часто бывает, что
+ различные типы адаптеров от одного и того же производителя имеют
+ различные 32-битные значения идентификатора производителя.
+ Необходимость в 32 разрядах только для задания производителя адаптера
+ выглядит несколько излишним.
- Если рассматривать на самом низком уровне, то существует несколько
- портов ввода/вывода, в которые должны выводить информацию все адаптеры
- PnP, когда компьютер пытается выполнить запрос о наличии установленных
- адаптеров. Так что, когда запускается процедура определения адаптеров
- PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все
- такие адаптеры выдают свой номер модели при чтении того же порта
- ввода/вывода, поэтому процедура определения получит ответ на свой
- запрос, состоящий из логически наложенных номеров моделей,
- интерпретируемый как да. В этом ответе по крайней мере
- один бит будет установлен в единицу. Затем код определения адаптеров может
- выключать адаптеры с ID (назначаемыми Microsoft/Intel),
- большими, чем X. Потом следует попытка определить, остались ли ещё
- адаптеры, отвечающие на запрос. Если ответ 0, то
- адаптеров с ID, большими чем X, нет. После этого делается попытка
- определить наличие адаптеров с номерами, меньшими чем X.
- Если они есть, то становится известно, что есть адаптеры с номерами,
- меньшими, чем X. Тогда происходит запрос адаптерам, большим чем
- X-(limit-4), на выключение. Запрос повторяется. Применив этот метод
- полудвоичного поиска границ расположения ID достаточное количество раз, код
- идентификации найдёт все адаптеры PnP, установленные в данной машине
- за число итераций, гораздо меньшее, чем может занять перебор 2^64
- возможных вариантов ID.
+ Оставшиеся 32 бита являются серийным номером, Ethernet-адресом,
+ чем-либо, делающим этот адаптер уникальным. Производитель не должен
+ выпускать других адаптеров, имеющих то же самое значение этих битов,
+ если, конечно, у них не разные идентификаторы производителя. Таким
+ образом, вы можете иметь несколько адаптеров одинакового типа, но с
+ различными 64-разрядными номерами.
- ID представляет собой два 32-разрядные числа (всего их 2^64)
- + 8 бит контрольной суммы. Первые 32 бита являются идентификатором
- производителя. Они никогда не сообщаются, однако часто бывает, что
- различные типы адаптеров от одного и того же производителя имеют
- различные 32-битные значения идентификатора производителя.
- Необходимость в 32 разрядах только для задания производителя адаптера
- выглядит несколько излишним.
+ Группы по 32 бита не могут быть нулевыми. Это позволяет при
+ логическом объединении OR их номеров получать ненулевое значение во
+ время начального поиска адаптеров.
- Оставшиеся 32 бита являются серийным номером, Ethernet-адресом,
- чем-либо, делающим этот адаптер уникальным. Производитель не должен
- выпускать других адаптеров, имеющих то же самое значение этих битов,
- если, конечно, у них не разные идентификаторы производителя. Таким
- образом, вы можете иметь несколько адаптеров одинакового типа, но с
- различными 64-разрядными номерами.
+ Как только система определила ID всех адаптеров, она активизирует
+ каждый адаптер, по одному за раз (через те же порты ввода/вывода), и
+ определяет, какие ресурсы требуются данному адаптеру, какие возможные
+ прерывания доступны и т.д. Сканирование и сбор информации происходит
+ по всем адаптерам.
- Группы по 32 бита не могут быть нулевыми. Это позволяет при
- логическом объединении OR их номеров получать ненулевое значение во
- время начального поиска адаптеров.
+ Эта информация соотносится с содержащейся в файлах ECU на диске
+ или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на
+ MLB обычно имеет синтетический характер, и периферия не выполняет
+ полностью процедуру настоящего PnP. Однако, используя BIOS и
+ информацию из ECU, процедура инициализации может обнаружить устройства
+ PnP, которые не могут быть найдены другим способом.
- Как только система определила ID всех адаптеров, она активизирует
- каждый адаптер, по одному за раз (через те же порты ввода/вывода), и
- определяет, какие ресурсы требуются данному адаптеру, какие возможные
- прерывания доступны и т.д. Сканирование и сбор информации происходит
- по всем адаптерам.
+ Затем устройства PnP опрашиваются ещё раз для назначения им портов
+ ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь
+ устройства должны иметь именно такие настройки и они должны оставаться
+ такими до следующей перезагрузки, хотя нигде не сказано, что вы не
+ можете их менять, когда захотите.
- Эта информация соотносится с содержащейся в файлах ECU на диске
- или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на
- MLB обычно имеет синтетический характер, и периферия не выполняет
- полностью процедуру настоящего PnP. Однако, используя BIOS и
- информацию из ECU, процедура инициализации может обнаружить устройства
- PnP, которые не могут быть найдены другим способом.
-
- Затем устройства PnP опрашиваются ещё раз для назначения им портов
- ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь
- устройства должны иметь именно такие настройки и они должны оставаться
- такими до следующей перезагрузки, хотя нигде не сказано, что вы не
- можете их менять, когда захотите.
-
- Здесь сделано много упрощений, однако общую идею вы должны
- уловить.
-
- Microsoft использовала для PnP некоторые порты статуса первого
- принтера, по их логике, не существует адаптеров, использующих эти
- адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от
- IBM, который декодирует запись в порт статуса в момент начального
- опроса устройств PnP, на что MS ответил хулиган. Так что они
- выполняют запись в порт статуса принтера для установки адресов,
- вдобавок используют этот адрес + 0x800, и ещё один порт
- ввода/вывода, который может располагаться где угодно в диапазоне между
- 0x200 и 0x3ff, для чтения.
-
-
-
+ Здесь сделано много упрощений, однако общую идею вы должны
+ уловить.
+ Microsoft использовала для PnP некоторые порты статуса первого
+ принтера, по их логике, не существует адаптеров, использующих эти
+ адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от
+ IBM, который декодирует запись в порт статуса в момент начального
+ опроса устройств PnP, на что MS ответил хулиган. Так что они
+ выполняют запись в порт статуса принтера для установки адресов,
+ вдобавок используют этот адрес + 0x800, и ещё один порт
+ ввода/вывода, который может располагаться где угодно в диапазоне между
+ 0x200 и 0x3ff, для чтения.
+
+
@@ -11853,65 +11369,57 @@ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)
+
+
+ Альтернативный метод размещения каталогов
+
-
-
- Альтернативный метод размещения каталогов
-
+
+ В ответ на вопрос о других методах размещения каталогов могу
+ сказать, что используемая в настоящее схема не претерпела изменений
+ с 1983 года. Эти соглашения были предназначены для оригинальной
+ файловой системы FFS, я никогда их не пересматривал. Эта схема
+ прекрасно работает, позволяя избежать переполнения групп дорожек.
+ Как некоторые из вас замечали, она работает плохо при поиске.
+ Большинство файловых систем создаются из архивов, которые были
+ созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что
+ их каталоги размещаются на нескольких группах дорожек, создавая
+ наихудший случай для последующего поиска глубиной один. Если бы
+ было известно общее количество каталогов, которые должны быть созданы,
+ выходом было бы создание (общее количество / количество групп дорожек)
+ на дорожку группу перед переходом. Обычно это число определяется чисто
+ эвристически. Даже при использовании маленького фиксированное числа,
+ скажем 10, значительно улучшает ситуацию. Чтобы различать операции
+ восстановления от обычных операций (где текущий алгоритм подходит),
+ вы можете использовать объединение в кластеры объёмом до 10, если они
+ делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что
+ это требует некоторых экспериментов.
-
+ Кёрк МакКузик (Kirk McKusick), Сентябрь 1998
+
+
- В ответ на вопрос о других методах размещения каталогов могу
- сказать, что используемая в настоящее схема не претерпела изменений
- с 1983 года. Эти соглашения были предназначены для оригинальной
- файловой системы FFS, я никогда их не пересматривал. Эта схема
- прекрасно работает, позволяя избежать переполнения групп дорожек.
- Как некоторые из вас замечали, она работает плохо при поиске.
- Большинство файловых систем создаются из архивов, которые были
- созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что
- их каталоги размещаются на нескольких группах дорожек, создавая
- наихудший случай для последующего поиска глубиной один. Если бы
- было известно общее количество каталогов, которые должны быть созданы,
- выходом было бы создание (общее количество / количество групп дорожек)
- на дорожку группу перед переходом. Обычно это число определяется чисто
- эвристически. Даже при использовании маленького фиксированное числа,
- скажем 10, значительно улучшает ситуацию. Чтобы различать операции
- восстановления от обычных операций (где текущий алгоритм подходит),
- вы можете использовать объединение в кластеры объёмом до 10, если они
- делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что
- это требует некоторых экспериментов.
+
+
+ Что делать при аварийном остановах системы
+
- Кёрк МакКузик (Kirk McKusick), Сентябрь 1998
+
+ [Этот раздел был вырезан из письма, написанного &a.wpaul; в
+ список рассылки freebsd-current
+ &a.des;, который исправил несколько опечаток и добавил комментарии в
+ квадратных скобках]
-
-
-
-
-
-
- Что делать при аварийном остановах системы
-
-
-
-
- [Этот раздел был вырезан из письма, написанного &a.wpaul; в
- список рассылки freebsd-current
- &a.des;, который исправил несколько опечаток и добавил комментарии в
- квадратных скобках]
-
-
-From: Bill Paul <wpaul@skynet.ctr.columbia.edu>
+ 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
-
+Cc: current@FreeBSD.org
- Бен Розенгарт отправил письмо, содержащее
- следующее аварийное сообщение системы]
+ Бен Розенгарт отправил письмо, содержащее
+ следующее аварийное сообщение системы]
-
-> Fatal trap 12: page fault while in kernel mode
+ > Fatal trap 12: page fault while in kernel mode
> fault virtual address = 0x40
> fault code = supervisor read, page not present
> instruction pointer = 0x8:0xf014a7e5
@@ -11924,242 +11432,230 @@ Cc: current@FreeBSD.org
> current process = 80 (mount)
> interrupt mask =
> trap number = 12
-> panic: page fault
-
+> panic: page fault
- [Если] вы увидите такое сообщение, просто его воспроизвести и
- послать нам не достаточно. Указатель инструкций, выделенный мною,
- важен, к сожалению, его значение зависит от конфигурации ядра.
- Другими словами, его значение меняется в зависимости от конкретного
- ядра, которое вы используете. Если вы используете ядро GENERIC
- одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую
- ошибку, но если вы работаете со специально отконфигурированным ядром,
- то только вы можете сказать нам, где случилась
- ошибка.
+ [Если] вы увидите такое сообщение, просто его воспроизвести и
+ послать нам не достаточно. Указатель инструкций, выделенный мною,
+ важен, к сожалению, его значение зависит от конфигурации ядра.
+ Другими словами, его значение меняется в зависимости от конкретного
+ ядра, которое вы используете. Если вы используете ядро GENERIC
+ одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую
+ ошибку, но если вы работаете со специально отконфигурированным ядром,
+ то только вы можете сказать нам, где случилась
+ ошибка.
- Вот что вы должны сделать:
+ Вот что вы должны сделать:
-
-
- Запишите значение указателя инструкций. Заметьте, что
- часть 0x8: в этом случае не важна: нам нужна часть
- 0xf0xxxxxx.
-
+
+
+ Запишите значение указателя инструкций. Заметьте, что
+ часть 0x8: в этом случае не важна: нам нужна часть
+ 0xf0xxxxxx.
+
-
- Когда система перезагрузится, сделайте следующее:
+
+ Когда система перезагрузится, сделайте следующее:
-
-&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
-
+ &prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxxx
- где f0xxxxxx - это значение указателя инструкций.
- Однако неприятность заключается в том, что вы не получите точного
- соответствия, так как в таблице имен ядра для точек входа в функции
- даны адреса на начало функций, а указатель инструкций будет указывать
- куда-то внутрь её тела. Если вы не получили точного соответствия,
- опустите последнюю цифру в значении указателя инструкций и попробуйте
- снова, то есть:
+ где f0xxxxxx - это значение указателя инструкций.
+ Однако неприятность заключается в том, что вы не получите точного
+ соответствия, так как в таблице имен ядра для точек входа в функции
+ даны адреса на начало функций, а указатель инструкций будет указывать
+ куда-то внутрь её тела. Если вы не получили точного соответствия,
+ опустите последнюю цифру в значении указателя инструкций и попробуйте
+ снова, то есть:
-
-&prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
-
+ &prompt.user; nm -n /kernel.that.caused.the.panic | grep f0xxxxx
- Если и это не привело ни к каким результатам, отрежьте следующую
- цифру. Повторяйте, пока не получите хоть что-то. Результатом будет
- список функций, которые, возможно, привели к аварийному останову.
- Этот механизм обнаружения ошибочного места довольно неточен, но это
- всё же лучше, чем ничего.
-
-
+ Если и это не привело ни к каким результатам, отрежьте следующую
+ цифру. Повторяйте, пока не получите хоть что-то. Результатом будет
+ список функций, которые, возможно, привели к аварийному останову.
+ Этот механизм обнаружения ошибочного места довольно неточен, но это
+ всё же лучше, чем ничего.
+
+
- Зачастую люди приводят подобные аварийные сообщения, на редко кто
- утруждается привести соответствие указателя инструкций с функцией в
- таблице символов ядра.
+ Зачастую люди приводят подобные аварийные сообщения, на редко кто
+ утруждается привести соответствие указателя инструкций с функцией в
+ таблице символов ядра.
- Лучшим способом выяснить причину, вызвавшую аварийный останов, является
- получение аварийного дампа системы, а затем использование
- &man.gdb.1; для получения трассировки вызовов в этом
- дампе.
+ Лучшим способом выяснить причину, вызвавшую аварийный останов, является
+ получение аварийного дампа системы, а затем использование
+ &man.gdb.1; для получения трассировки вызовов в этом
+ дампе.
- Во всяком случае, обычно я использую такой способ:
+ Во всяком случае, обычно я использую такой способ:
-
-
- Отредактируйте конфигурационный файл ядра, добавив строку
- options DDB, если вам зачем-то понадобился
- встроенный отладчик. (Я использую его в основном для указания точек
- останова, если подозреваю возникновение бесконечных циклов.)
-
+
+
+ Отредактируйте конфигурационный файл ядра, добавив строку
+ options DDB, если вам зачем-то понадобился
+ встроенный отладчик. (Я использую его в основном для указания точек
+ останова, если подозреваю возникновение бесконечных циклов.)
+
-
- Выполните
- config -g KERNELCONFIG
- для создания каталога построения ядра.
-
+
+ Выполните
+ config -g KERNELCONFIG
+ для создания каталога построения ядра.
+
-
- cd /sys/compile/KERNELCONFIG; make
-
+
+ cd /sys/compile/KERNELCONFIG; make
+
-
- Дождитесь окончания компиляции ядра.
-
+
+ Дождитесь окончания компиляции ядра.
+
-
- make install
-
+
+ make install
+
-
- reboot
-
-
+
+ reboot
+
+
- В процессе выполнения команды &man.make.1; будут построены два ядра,
- kernel и kernel.debug.
- kernel будет установлен как
- /kernel, тогда как kernel.debug
- может быть использован в качестве источника отладочной информации для
- &man.gdb.1;.
+ В процессе выполнения команды &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.
+ Чтобы включить сброс аварийного дампа, вам нужно отредактировать файл
+ /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.
-
+
+ Аварийные дампы FreeBSD обычно имеют размер, равный физическому
+ объёму оперативной памяти вашей машины. Так что если у вас 64 Мбайт
+ ОЗУ, вы получите дамп размером 64 Мбайт. Поэтому вы должны
+ удостовериться,
+ что в каталоге /var/crash достаточно места для
+ хранения дампа. Либо вы можете вручную запустить
+ &man.savecore.8; и создать аварийный дамп в другом
+ каталоге, где достаточно места. Размер аварийного дампа можно
+ уменьшить, указав в конфигурации ядра
+ options MAXMEM=(размер) подходящее значение для
+ объёма памяти, которое будет использоваться ядром. Например, если у вас
+ 128 Мбайт ОЗУ, вы можете ограничить использование памяти ядром 16
+ мегабайтами, так что размер аварийного дампа будет равен 16 Мбайт, а не
+ 128.
+
- Как только вы получили аварийный дамп, вы можете выполнить трассировку
- вызовов с помощью &man.gdb.1; таким образом:
+ Как только вы получили аварийный дамп, вы можете выполнить трассировку
+ вызовов с помощью &man.gdb.1; таким образом:
- &prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0
+ &prompt.user; gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0(gdb)where
- Заметьте, что при этом может быть выведено несколько экранов
- информации; в идеале вы должны использовать &man.script.1; для их
- перехвата. При использовании необработанного образа ядра со всей
- отладочной информацией может быть найдена конкретная строка исходного
- текста ядра, при достижении которой случилась аварийная остановка.
- Для выяснения последовательности событий, приведших к аварийному
- останову, обычно читается трассировка стека снизу вверх. Вы можете
- также использовать &man.gdb.1; для вывода значений различных
- переменных или структур, чтобы выяснить состояние системы во время
- аварии.
+ Заметьте, что при этом может быть выведено несколько экранов
+ информации; в идеале вы должны использовать &man.script.1; для их
+ перехвата. При использовании необработанного образа ядра со всей
+ отладочной информацией может быть найдена конкретная строка исходного
+ текста ядра, при достижении которой случилась аварийная остановка.
+ Для выяснения последовательности событий, приведших к аварийному
+ останову, обычно читается трассировка стека снизу вверх. Вы можете
+ также использовать &man.gdb.1; для вывода значений различных
+ переменных или структур, чтобы выяснить состояние системы во время
+ аварии.
- Теперь, если вы в самом деле душевнобольной и у вас есть второй
- компьютер, то можете настроить &man.gdb.1; для удалённой
- отладки, так, что сможете использовать &man.gdb.1; на одном
- компьютере, чтобы
- отладить ядро на другом, включая использование точек останова,
- пошагового прохода по коду ядра, всё как с обычной прикладной
- программой. Я пока с этим не игрался, так как не часто имею
- возможность поставить две машины одну напротив другой для отладки.
+ Теперь, если вы в самом деле душевнобольной и у вас есть второй
+ компьютер, то можете настроить &man.gdb.1; для удалённой
+ отладки, так, что сможете использовать &man.gdb.1; на одном
+ компьютере, чтобы
+ отладить ядро на другом, включая использование точек останова,
+ пошагового прохода по коду ядра, всё как с обычной прикладной
+ программой. Я пока с этим не игрался, так как не часто имею
+ возможность поставить две машины одну напротив другой для отладки.
- [Билл (Bill) добавил: "Я забыл обратить ваше внимание
- на одну вещь: если у вас включена поддержка DDB и ядро переходит
- в режим отладки, вы можете намеренно вызвать аварийный останов
- (и создание аварийного дампа), набрав 'panic' в командной строке
- ddb. Этот процесс может снова вызвать отладчик. В этом случае
- наберите 'continue' и процесс будет завершён созданием аварийного
- дампа." -ed]
+ [Билл (Bill) добавил: "Я забыл обратить ваше внимание
+ на одну вещь: если у вас включена поддержка DDB и ядро переходит
+ в режим отладки, вы можете намеренно вызвать аварийный останов
+ (и создание аварийного дампа), набрав 'panic' в командной строке
+ ddb. Этот процесс может снова вызвать отладчик. В этом случае
+ наберите 'continue' и процесс будет завершён созданием аварийного
+ дампа." -ed]
+
+
-
-
+
+
+ Перестала работать функция dlsym() для ELF!
+
+
+ По умолчанию при работе с форматом ELF символы, определённые в
+ выполнимом файле, не доступны динамическому загрузчику. Поэтому
+ при вызове функции dlsym(), которая осуществляет
+ поиск по дескриптору, полученному после вызова dlopen(NULL,
+ flags), желаемый результат достигнут не будет.
-
-
- Перестала работать функция dlsym() для ELF!
-
+ Если вы хотите осуществить поиск в выполнимом файле процесса с помощью
+ функции dlsym(), вам нужно компоновать выполнимый файл
+ с опцией компоновщика ELF
+ (&man.ld.1;).
+
+
-
- По умолчанию при работе с форматом 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 Гбайта
+ адресного пространства он должен выглядеть примерно так:
-
-
- По умолчанию размер адресного пространства ядра равен 256 Мбайт во
- FreeBSD 3.X и 1 Гбайт во FreeBSD 4.X. Если вы используете FreeBSD
- в качестве сервера с интенсивной сетевой нагрузкой (скажем,
- большой FTP или HTTP сервер), вы можете обнаружить, что 256 Мбайт
- недостаточно.
-
- Каким же образом можно увеличить адресное пространство? Здесь
- есть два момента. Во-первых, вам нужно указать ядру выделить
- большее количество адресного пространства для самого ядра. Во-вторых,
- так как ядро загружается в верхнюю часть адресного пространства, вам
- нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю
- границу.
-
- Первая проблема решается увеличением значения константы
- NKPDE в
- файле src/sys/i386/include/pmap.h. В случае 1 Гбайта
- адресного пространства он должен выглядеть примерно так:
-
-
-#ifndef NKPDE
+ #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
-
+#endif
- Для вычисления значения NKPDE разделите желаемый
- объём адресного пространства (в мегабайтах) на четыре и вычтите из
- получившегося числа единичку в случае однопроцессорной машины и
- двоечку в случае многопроцессорного ядра.
+ Для вычисления значения NKPDE разделите желаемый
+ объём адресного пространства (в мегабайтах) на четыре и вычтите из
+ получившегося числа единичку в случае однопроцессорной машины и
+ двоечку в случае многопроцессорного ядра.
- Для достижения второй цели вам нужно правильный адрес для загрузки
- ядра: просто отнимите размер адресного пространства (в байтах) от
- 0x100100000; результат будет равным 0xc0100000 для адресного пространства
- в 1 Гбайт. Установите значение константы LOAD_ADDRESS
- в файле src/sys/i386/conf/Makefile.i386 в это
- значение; затем установите значение счётчика в начале списка секций в
- файле src/sys/i386/conf/kernel.script в то же самое
- значение, как это сделано здесь:
+ Для достижения второй цели вам нужно правильный адрес для загрузки
+ ядра: просто отнимите размер адресного пространства (в байтах) от
+ 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_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);
@@ -12167,30 +11663,27 @@ SECTIONS
{
/* Read-only sections, merged into text segment: */
. = 0xc0100000 + SIZEOF_HEADERS;
- .interp : { *(.interp) }
-
+ .interp : { *(.interp) }
- После этого переконфигурируйте и перестройте ядро. Вы можете
- столкнуться с проблемами при работе утилит &man.ps.1;,
- &man.top.1; и подобных им; решить их может
- make world (или ручная перекомпиляция
- libkvm, &man.ps.1; и
- &man.top.1; после копирования исправленного
- pmap.h в /usr/include/vm/).
+ После этого переконфигурируйте и перестройте ядро. Вы можете
+ столкнуться с проблемами при работе утилит &man.ps.1;,
+ &man.top.1; и подобных им; решить их может
+ make world (или ручная перекомпиляция
+ libkvm, &man.ps.1; и
+ &man.top.1; после копирования исправленного
+ pmap.h в /usr/include/vm/).
- ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть
- кратен четырём мегабайтам.
-
- [&a.dg; добавил: Я думаю, что размер адресного пространства
- ядра должен быть степенью двойки, но я в этом не уверен. Для работы с
- верхними адресами памяти использовался код старого загрузчика, и я ожидаю
- по крайней мере точность в 256 Мбайт.]
-
-
-
-
-
+ ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть
+ кратен четырём мегабайтам.
+ [&a.dg; добавил: Я думаю, что размер адресного пространства
+ ядра должен быть степенью двойки, но я в этом не уверен. Для работы с
+ верхними адресами памяти использовался код старого загрузчика, и я ожидаю
+ по крайней мере точность в 256 Мбайт.]
+
+
+
+
Наши благодарности