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</programlisting> <entry>ASUS</entry> <entry>PCI-L101-TB</entry> </row> + <row> <entry>Accton</entry> <entry>ENI1203</entry> </row> + <row> <entry>Cogent</entry> <entry>EM960PCI</entry> </row> + <row> <entry>Compex</entry> <entry>ENET32-PCI</entry> </row> + <row> <entry>D-Link</entry> <entry>DE-530</entry> </row> + <row> <entry>Dayna</entry> <entry>DP1203, DP2100</entry> </row> + <row> <entry>DEC</entry> <entry>DE435, DE450</entry> </row> + <row> <entry>Danpex</entry> <entry>EN-9400P3</entry> </row> + <row> <entry>JCIS</entry> <entry>Condor JC1260</entry> </row> + <row> <entry>Linksys</entry> <entry>EtherPCI</entry> </row> + <row> <entry>Mylex</entry> <entry>LNP101</entry> </row> + <row> <entry>SMC</entry> <entry>EtherPower 10/100 (Модель 9332)</entry> </row> + <row> <entry>SMC</entry> <entry>EtherPower (Модель 8432)</entry> </row> + <row> <entry>TopWare</entry> <entry>TE-3500P</entry> </row> + <row> <entry>Znyx (2.2.x)</entry> <entry>ZX312, ZX314, ZX342, ZX345, ZX346, ZX348</entry> </row> + <row> <entry>Znyx (3.x)</entry> <entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, @@ -8369,8 +8109,8 @@ Key F15 A A Menu Workplace Nop</programlisting> </tbody> </tgroup> </table> - </answer> -</qandaentry> + </answer> + </qandaentry> <qandaentry> <question id="fqdn-hosts"> @@ -8419,7 +8159,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="network-permission-denied"> <para><errorname>Permission denied</errorname> для любых действий, @@ -8449,7 +8188,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="ipfw-overhead"> <para>Какую нагрузку вызывает использование IPFW?</para> @@ -8464,7 +8202,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="ipfw-fwd"> <para>Почему моё правило <quote>fwd</quote> для @@ -8500,7 +8237,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="service-redirect"> <para>Как можно перенаправить запросы с одной машины на другую?</para> @@ -8520,7 +8256,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="bandwidth-mgr-tool"> <para>Где можно найти средства управления сетевым трафиком?</para> @@ -8539,7 +8274,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="bpf-not-configured"> <para>Почему появляются сообщения @@ -8567,7 +8301,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="mount-smb-share"> <para>Как смонтировать диск &windows;-машины в моей локальной сети, @@ -8583,7 +8316,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="icmp-response-bw-limit"> <para>Что значат эти сообщения <quote>icmp-response bandwidth limit @@ -8638,7 +8370,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="unknown-hw-addr-format"> <para>Что это за сообщения <errorname>arp: unknown hardware @@ -8655,7 +8386,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </answer> </qandaentry> - <qandaentry> <question id="cvsup-missing-libs"> <para>Я только что установил CVSup, но при попытке его запустить @@ -8686,7 +8416,6 @@ Key F15 A A Menu Workplace Nop</programlisting> </qandaset> </chapter> - <chapter id="security"> <title>Безопасность @@ -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 proto internalmachine:port port - + Здесь 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 proto internalmachine:port port - + Это самое трудоёмкое решение, но оно наилучшее и позволит + программному обеспечению работать на нескольких машинах. + - Здесь 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 proto internalmachine - - - Что такое ошибки 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 proto internalmachine + + + Ничего не помогает - я уже отчаялся! + - - - Ничего не помогает - я уже отчаялся! - - - - Если всё уже перепробовано, и ничего не получается, пошлите нам - максимальное количество информации, ваш конфигурационный файл, - способ запуска &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 proto internalmachineРабота в сети. - - - - Как узнать, какие последовательные порты были обнаружены - 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 Мбайт.] + + + + Наши благодарности