diff --git a/ru/FAQ/commercial.sgml b/ru/FAQ/commercial.sgml index 6ebe3529dd..da7e955294 100644 --- a/ru/FAQ/commercial.sgml +++ b/ru/FAQ/commercial.sgml @@ -1,99 +1,177 @@ - + Коммерческие приложения

. Где можно купить Motif для FreeBSD? -

Обратитесь в фирму , предлагающую - дистрибутив Motif 2.0 для FreeBSD. +

Обратитесь в фирму , предлагающую + дистрибутив Motif 2.1 для FreeBSD в формате ELF.

В этот дистрибутив включены: + + OSF/Motif manager, xmbind, panner, wsm. + + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake. + + Статические и динамические ELF-библиотеки (для использования + с FreeBSD 3.0 и выше). + + Демонстрационные приложения. + + +

При оформлении заказа не забудьте указать, что вам нужна версия Motif + для FreeBSD! Apps2go также продаёт версии для NetBSD и OpenBSD. + В настоящий момент их можно скачать только по FTP. + + + + + и . + + + +

Обратитесь в фирму для получения + дистрибутива Motif 2.1 для FreeBSD в форматах ELF или a.out. + +

В этот дистрибутив включены: + + OSF/Motif manager, xmbind, panner, wsm. + + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake. + + Статические и динамические библиотеки (укажите ELF для + использования с FreeBSD 3.0 и выше; или a.out при использовании + FreeBSD 2.2.8 и ранее). + Демонстрационные приложения. + + Преформатированные страницы справочника. + + +

При заказе обязательно отметьте, что вам требуется версия Motif + именно для FreeBSD! Metro Link также предлагает версии для + Linux. Они доступны на CDROM или для скачивания по FTP. + +

Обратитесь в фирму за дистрибутивом + Motif 2.0 для FreeBSD в формате a.out. +

В этот дистрибутив включены: OSF/Motif manager, xmbind, panner, wsm. - Комплект разработчика с uil, mrm, xm, xmcxx, файлами include + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include и Imake. - Статические и динамические библиотеки. + Статические и динамические библиотеки (для использования с + FreeBSD 2.2.8 и ранее). Демонстрационные приложения. Отформатированные страницы Справочника.

При заказе обязательно укажите, что вам требуется версия Motif именно для FreeBSD! Xi Graphics также предлагает версии для BSDI и Linux. В настоящее время это набор из 4 дискет... в будущем это будет стандартный дистрибутив на компакт-диске, как их CDE. - + Где можно купить CDE для FreeBSD?

Обратитесь в фирму , предлагающую дистрибутив CDE 1.0.10 для FreeBSD. В него включён Motif 1.2.5, и его - можно использовать с Motif 2.0. + можно использовать с Motif 2.0 в формате a.out. -

Это стандартный дистрибутив на компакт-диске для FreeBSD и Linux. - - +

Это объединённый дистрибутив на компакт-диске для FreeBSD и Linux. + + Существуют ли коммерческие высокопроизводительные X-серверы? - Are there any commercial high-performance X servers? -

Да, предлагает +

Да, фирмы и + предлагают свой продукт Accelerated-X для FreeBSD и других систем на базе Intel. +

Metro Link предлагает высокопроизводительный X-сервер, в котором + предусмотрена упрощённая процедура конфигурирования с помощью набора + утилит FreeBSD для работы с пэкэджами, поддержка нескольких + видеоадаптеров одновременно и он поставляется только в бинарном виде, + доступном по FTP. Нельзя не отметить, что Metro Link продаёт всё это + по очень доступной цене в 39 долларов.

Metro Link продаёт также Motif для FreeBSD в форматах ELF и a.out + (смотрите выше). + + + -

Этот высокопроизводительный X-сервер предоставляет простую - конфигурацию, поддержку нескольких видеоадаптеров и поставляется только - в бинарной форме, в форме стандартного дистрибутива на дискете для - FreeBSD и Linux. + и . -

Доступна бесплатная "демонстрационная" версия 3.1. + + +

Xi Graphics предлагает высокопроизводительный X-сервер, который + обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров + и поставляется только в бинарной форме, в форме стандартного + дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также + предлагает высокопроизводительный X-сервер с поддержкой компьютеров + класса laptop. + +

Доступна бесплатная "демонстрационная" версия 5.0.

Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите выше). или по email. Существуют ли БД для FreeBSD?

Да! Фирма Conetic Software Systems перенесла свои СУБД C/base и C/books во FreeBSD 2.0.5 и выше, а фирма Sleepycat Software продаёт коммерчески сопровождаемую версию библиотеки для работы с БД. , . - diff --git a/ru/FAQ/hackers.sgml b/ru/FAQ/hackers.sgml index 8cc7658e12..35c5110375 100644 --- a/ru/FAQ/hackers.sgml +++ b/ru/FAQ/hackers.sgml @@ -1,525 +1,595 @@ - + Только для серьёзных FreeBSD хакеров Что такое SNAP и RELEASE?

В сейчас находятся три активно/полуактивно развивающихся ветки FreeBSD:

На данный момент Ветвь Ветвь Как самим сделать релиз?

Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно работать с ядром, включающим драйвер . Добавьте его в файл конфигурации ядра и откомпилируйте новое ядро: pseudo-device vn #Vnode driver (turns a file into a device)

Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться этого, вы можете использовать , указав в файле supfile - именем релиза cvs и удалив все поля с тегами и датами: + url="../../handbook/synching.html#CVSUP" name="CVSUP">, указав в файле + supfile в качестве имени релиза cvs и удалив все поля с тегами и датами: *default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all

После этого запустите Наконец, вам нужно свободное место для построения системы. Допустим, что свободное место есть в каталоге /some/big/filesystem и, как в примере выше, вы поместили дерево CVS в каталог /home/ncvs: setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs cd /usr/src/release make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release

Полный релиз будет строиться в каталоге /some/big/filesystem/release и по окончании этого процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в каталоге /some/big/filesystem/release/R/ftp. Если вы захотите построить SNAP другой ветки, не -current, то можете указать Как создать инсталляционные диски?

Весь процесс создания инсталляционных дисков и дистрибутивов исходных текстов и бинарников автоматизирован в файле /usr/src/release/Makefile. Информации, в нём содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас предупредить, что этот процесс включает в себя выполнение ``make world'' и поэтому занимает много времени и дискового пространства. По команде ``make world'' были переустановлены все программы.

Да, так и должно быть; как говорит название этой команды, ``make world'' выполняет построение всех системных файлов с нуля, так что в итоге можете быть уверены, что получите чистую рабочую систему (вот почему это занимает столько времени).

Если в момент запуска команд ``${DESTDIR}. Однако некоторые случайные комбинации модификаций совместно используемых библиотек и версий компилируемых программ при исполнении команды `` При загрузке системы выдаётся сообщение ``(bus speed defaulted)''.

Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость доступа к шине. Предыдущие версии драйвера 1542 пытались определить максимально возможную скорость работы и установить это значение. Мы обнаружили, что у некоторых пользователей это приводило к нарушению работоспособности системы, поэтому эта возможность сейчас вынесена в параметр конфигурации ядра `` Можно ли работать с current при ограниченном доступе в Internet?

Да, это можно делать . Как вы разделяете дистрибутив на файлы по 240К?

Команда split в современных BSD-системах имеет опцию ``Вот пример из файла /usr/src/Makefile. bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) Я написал некоторое добавление к ядру, кому его послать?

Обратитесь к соответствующему Руководства, в котором описано, как это сделать.

И спасибо вам за ваши усилия! Как распознаются и инициализируются адаптеры ISA Plug N Play?

От: (Frank Durda IV)

Если рассматривать на самом низком уровне, то существует несколько портов ввода/вывода, в которые должны выводить информацию все адаптеры PnP, когда компьютер пытается выполнить запрос о наличии установленных адаптеров. Так что, когда запускается процедура определения адаптеров PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все такие адаптеры выдают свой номер модели при чтении того же порта ввода/вывода, поэтому процедура определения получит ответ на свой запрос, состоящий из логически наложенных номеров моделей, интерпретируемый как ``да''. В этом ответе по крайней мере один бит будет установлен в единицу. Затем код определения адаптеров может ``выключать'' адаптеры с ID (назначаемыми Microsoft/Intel), меньшими, чем X. Потом следует попытка определить, остались ли ещё адаптеры, отвечающие на запрос. Если ответ ``ID представляет собой два 32-разрядные числа (всего их 2ˆ64) + 8 бит контрольной суммы. Первые 32 бита являются идентификатором производителя. Они никогда не сообщаются, однако часто бывает, что различные типы адаптеров от одного и того же производителя имеют различные 32-битные значения идентификатора производителя. Необходимость в 32 разрядах только для задания производителя адаптера выглядит несколько излишним.

Оставшиеся 32 бита являются серийным номером, ethernet-адресом, чем-либо, делающим этот адаптер уникальным. Производитель не должен выпускать других адаптеров, имеющих то же самое значение этих битов, если, конечно, у них не разные идентификаторы производителя. Таким образом, вы можете иметь несколько адаптеров одинакового типа, но с различными 64-разрядными номерами.

Группы по 32 бита не богут быть нулевыми. Это позволяет при логическом объединении OR их номеров получать ненулевое значение во время начального поиска адаптеров.

Как только система определила ID всех адаптеров, она активизирует каждый адаптер, по одному за раз (через те же порты ввода/вывода), и определяет, какие ресурсы требуются данному адаптеру, какие возможные прерывания доступны итд. Сканирование и сбор информации происходит по всем адаптерам.

Эта информация соотносится с содержащейся в файлах ECU на диске или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на MLB обычно имеет синтетический характер, и периферия не выполняет полностью поцедуру настоящего PnP. Однако, используя BIOS и информацию из ECU, процедура инициализации может обнаружить устройства PnP, которые не могут быть найдены другим способом.

Затем устройства PnP опрашиваются ещё раз для назначения им портов ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь устройства должны иметь именно такие настройки и они должны оставаться такими до следующей перезагрузки, хотя нигде не сказано, что вы не можете их менять, когда захотите.

Здесь сделано много упрощений, однако общую идею вы должны уловить.

Microsoft использовала для PnP некоторые порты статуса первого принтера, по их логике, не существует адаптеров, использующих эти адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от IBM, который декодирует запись в порт статуса в момент начального опроса устройств PnP, на что MS ответил ``хулиган''. Так что они выполняют запись в порт статуса принтера для установки адресов, плюс используют этот адрес + Поддерживает ли FreeBSD платформы, отличные от x86?

Интерес к работе над многоплатформенной поддержкой во FreeBSD проявили несколько групп разработчиков, и одна из попыток переноса, FreeBSD/AXP (ALPHA), оказавшейся достаточно удачной, в настоящее время доступна в виде релиза 3.0 SNAP по адресу . Эта реализация для ALPHA сейчас поддерживаёт всё увеличивающееся число машин ALPHA, в частности, модели AlphaStation, AXPpci, PC164, Miata и Multia. Нельзя сказать, что это настоящий релиз, он и не будет полным, пока в него не будут включены все утилиты для инсталляции и не будет сделан дистрибутивный CDROM, включающий достаточное количество рабочих портов и пакаджей. FreeBSD/AXP сейчас находится в стадии BETA. Чтобы быть в курсе событий, происходящих с этим портом, подпишитесь на соответствующий <freebsd-alpha@FreeBSD.ORG>. Также был проявлен интерес к переносу FreeBSD на платформу SPARC, если вы хотите подключиться к этому проекту, подпишитесь на соответствующий <freebsd-sparc@FreeBSD.ORG> . Для обсуждение общих вопросов, касающихся новых аппаратных платформ, предназначен <freebsd-platforms@FreeBSD.ORG>. Мне нужно старшее число для написанного мною драйвера устройства.

Всё зависит от того, планируете вы сделать этот драйвер общедоступным или нет. Если это так, то, пожалуйста, пошлите нам копию исходных текстов драйвера вместе с соответствующими модификациями в файле files.i386, пример описания устройства в файле конфигурации ядра и соответствующий код для создания специальных файлов устройств, которые использует ваше устройство. Если это не так. или это невозможно из-за лицензионных ограничений, то для старшего числа символьного устройства и старшего числа блочного устройства для этих целей были зарезервированы значения 32 и 8 соответственно; используйте их. В любом случае. мы будем рады услышать о вашем драйвере в списке рассылки <freebsd-hackers@FreeBSD.ORG>. Альтернативный метод размещения каталогов

В ответ на вопрос о других методах размещения каталогов могу сказать, что используемая в настоящее схема не претерпела изменений с 1983 года. Эти соглашения были предназначены для оригинальной файловой системы FFS, я никогда их не пересматривал. Эта схема прекрасно работает, позволяя избежать переполнения групп дорожек. Как некоторые из вас замечали, она работает плохо при поиске. Большинство файловых систем создаются из архивов, которые были созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что их каталоги размещаются на нескольких группах дорожек, создавая наихудший случай для последующего поиска глубиной один. Если бы было известно общее количество каталогов, которые должны быть созданы, быходом было бы создание (общее количество / количество групп дорожек) на дорожку группу перед переходом. Обычно это число определяется чисто эвристически. Даже при использовании маленького фиксированное числа, скажем 10, значительно улучшает ситуацию. Чтобы различать операции восстановления от обычных операций (где текущий алгоритм подходит), вы можете использовать объединение в кластеры объёмом до 10, если они делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что это требует некоторых экспериментов.

Кирк МакКузик (Kirk McKusick), Сентябрь 1998

Что делать при аварийном остановах системы

[Этот раздел был вырезан из письма, написанного (Bill Paul) в список рассылки freebsd-current (Dag-Erling Coïdan Smørgrav), который исправил несколько опечаток и добавил комментарии в квадратных скобках]

From: Bill Paul Subject: Re: the fs fun never stops To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.ORG

[<ben@rosengart.com> отправил письмо, содержащее следующее аварийное сообщение системы] > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 ^^^^^^^^^^ > stack pointer = 0x10:0xf4ed6f24 > frame pointer = 0x10:0xf4ed6f28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 80 (mount) > interrupt mask = > trap number = 12 > panic: page fault

[Если] вы увидите такое сообщение, просто его воспроизвести и послать нам не достаточно. Указатель инструкций, выделенный мною, важен, к сожалению, его значение зависит от конфигурации ядра. Другими словами, его значение меняется в зависимости от конкретного ядра, которое вы используете. Если вы используете ядро GENERIC одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую ошибку, но если вы работаете со специально отконфигурированным ядром, то только Вот что вы должны сделать: Запишите значение указателя инструкций. Заметьте, что часть Когда система перезагрузится, сделайте следующее: % nm /kernel.that.caused.the.panic | grep f0xxxxxx где % nm /kernel.that.caused.the.panic | grep f0xxxxx Если и это не привело ни к каким результатам, отрежьте следующую цифру. Повторяйте, пока не получите хоть что-то. Результатом будет список функций, которые, возможно, привели к аварийному останову. Этот механизм обнаружения ошибочного места довольно неточен, но это всё же лучше чем ничего.

Зачастую люди приводят подобные аварийные сообщения, на редко кто утруждается привести соотвествие указателя инструкций с функцией в таблице символов ядра.

Лучшим способом выяснить причину, вызвавшую аварийный останов, является создание аварийного дампа системы, а затем использование Во всяком случае, обычно я использую такой способ: Отредактируйте конфигурационный файл ядра, добавив строку 'options DDB', если вам зачем-то понадобился встроенный отладчик. (Я использую его в основном для указания точек останова, если подозреваю возникновение бесконечных циклов.) Выполните cd /sys/compile/KERNELCONFIG; make Дождитесь окончания компиляции ядра. cp kernel / reboot

[Замечание: Так как теперь ядра FreeBSD 3.x по умолчанию имеют формат Elf, вы должны использовать команду

Заметьте, что ВАМ Чтобы включить сброс аварийного дампа, вам нужно отредактировать файла /etc/rc.conf, чтобы /etc/rc.conf, скрипты /var/crash.

ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный физическому объёму оперативной памяти вашей машины. Так что если у вас 64МБ ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, что в каталоге /var/crash достаточно места для хранения дампа. Либо вы можете вручную запустить Как только вы получили аварийный дамп, вы можете выполнить трассировку вызовов с помощью % gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 (gdb) where

Заметьте, что при этом может быть выведено несколько экранов информации; в идеале вы должны использовать Теперь, если вы в самом деле душевнобольной и у вас есть второй компьютер, то можете настроить [Билл (Bill) добавил: "Я забыл обратить ваше внимание на одну вещь: если у вас включена поддержка DDB и ядро переходит в режим отладки, вы можете намеренно вызвать аварийный останов (и создание аварийного дампа), набрав 'panic' в командной строке ddb. Этот процесс может снова вызвать отладчик. В этом случае наберите 'continue' и процесс будет завершён созданием аварийного дампа." -ed] Перестала работать функция dlsym() для ELF!

По умолчанию при работе с форматом ELF символы, определённые в выполнимом файле, не доступны динамическому загрузчику. Поэтому при вызове функции dlsym(), которая осуществляет поиск по дескриптору, полученному после вызова dlopen(NULL, flags), желаемый результат достигнут не будет.

Если вы хотите осуществить поиск в выполнимом файле процесса с помощью функции dlsym(), вам нужно компоновать выполнимый файл с опцией -export-dynamic . + + Увеличение и уменьшение адресного пространства ядра + +

По умолчанию размер адресного пространства ядра равен 256 МБ во + FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD + в качестве сервера с интенсивной сетевой нагрузкой (скажем, + большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ + недостаточно. + +

Каким же образом можно увеличить адресное пространство? Здесь + есть два момента. Во-первых, вам нужно указать ядру выделить + большее количество адресного пространства для самого ядра. Во-вторых, + так как ядро загружается в верхнюю часть адресного пространства, вам + нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю + границу. + +

Первая проблема решается увеличением значения константы + src/sys/i386/include/pmap.h. В случае 1 + ГБ адресного пространства он должен выглядеть примерно так: + + +#ifndef NKPDE +#ifdef SMP +#define NKPDE 254 /* addressable number of page tables/pde's */ +#else +#define NKPDE 255 /* addressable number of page tables/pde's */ +#endif /* SMP */ +#endif + + +

Для вычисления значения Для достижения второй цели вам нужно правильный адрес для загрузки + ядра: просто отнимите размер адресного пространства (в байтах) от + 0x100100000; результат будет равным 0xc0100000 для адресного + пространства в 1 ГБ. Установите значение константы src/sys/i386/conf/Makefile.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); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = 0xc0100000 + SIZEOF_HEADERS; + .interp : { *(.interp) } + + +

После этого переконфигурируйте и перестройте ядро. Вы можете + столкнуться с проблемами при работе утилит /usr/include/vm/). + +

ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть + кратен четырём мегабайтам. + +

[ + (David Greenman) добавил: Я думаю, что размер адресного + пространства ядра должен быть степенью двойки, но я в этом не уверен. + Для работы с верхними адресами памяти использовался код старого + загрузчика, и я ожидаю по крайней мере точность в 256 МБ.] + diff --git a/ru/FAQ/hardware.sgml b/ru/FAQ/hardware.sgml index d884e60b67..bad466a461 100644 --- a/ru/FAQ/hardware.sgml +++ b/ru/FAQ/hardware.sgml @@ -1,456 +1,458 @@ - + Аппаратная совместимость Какие типы винчестеров поддерживает FreeBSD?

FreeBSD работает с дисками стандартов EIDE и SCSI (с соответствующими контроллерами; обратитесь к следующему разделу), и всеми дисками, использующими оригинальный интерфейс "Western Digital" (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, использующие собственные интерфейсы, могут и не работать: к таким относятся WD1002/3/6/7 и их клоны. Какие поддерживаются контроллеры SCSI? -

Полный список приведён в . +

Полный список приведён в . Какие приводы CD-ROM поддерживаются во FreeBSD?

Поддерживаются любые SCSI-устройства чнения компакт дисков, подключенные к поддерживаемому контроллеру.

Кроме того, поддерживаются следующие оригинальные интерфейсы: Mitsumi LU002 (8bit), LU005 (16bit) и FX001D (16bit 2x Speed). Sony CDU 31/33A Sound Blaster не-SCSI CD-ROM Matsushita/Panasonic CD-ROM ATAPI-совместимые IDE CD-ROM

Все не-SCSI адаптеры ставятся своей медлительностью по сравнению со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать.

С версии 2.2 компакт-диск с FreeBSD от Walnut Creek является загрузочным. Поддерживает ли FreeBSD устройства ZIP?

Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего SCSI-адаптера поддерживает такую возможность, вы можете с него даже загрузиться. Мне не известны адаптеры, позволяющие загрузиться с устройств, номера которых отличны от 0 или 1... посмотрите в вашей документации (и сообщите мне, если у вас это работает).

Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная с версии 2.2.6.

Во FreeBSD 3.0-STABLE включена поддержка Zip на параллельном порту. Однако, чтобы его использовать, вам нужно построить новое ядро с поддержкой устройства ppbus (Parallel Port Bus). Примеры находятся в конфигурационном файле LINT.

Также посмотрите о съёмных носителях, и о 'форматировании'. Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ?

Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен выглядеть как диск IDE.

Посмотрите это о 'форматировании'. Какие многопортовые последовательные адаптеры поддерживаются во FreeBSD?

Список таких устройств находится в разделе о - Руководства. + url="../../handbook/install.html#INSTALL-MISC" + name="различных устройствах"> Руководства.

Некоторые безымянные клоны таких адаптеров тоже работают нормально, особенно те, которые заявляют о своей совместимости с AST.

Прочтите страницы Справочника о для получения подробной информации о конфигурировании таких адаптеров. У меня необычная мышь типа bus mouse. Как её настроить?

FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse включен по умолчанию в ядро GENERIC. Если вы строите собственное ядро с этим драйвером, добавьте следующую строку в конфигурационный файл ядра; device mse0 at isa? port 0x23c tty irq5 vector mseintr

Мышь типа bus mouse обычно поставляется с отдельным интерфейсным адаптером. Он позволяет установить адрес порта ввода/вывода и номер IRQ, отличающиеся от приведённых выше. Обратитесь к документации по вашей мыше и страницам Справочника об устройстве . Как использовать мышь PS/2 (типа ``mouse port'' или ``keyboard'')?

Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый драйвер, psm, включён в ядро и активизирован. Ядро должно обнаружить мышь PS/2 во время загрузки.

Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD (2.1.x и выше), то вы можете просто включить её поддержку в меню конфигурации ядра во время инсталляции, либо позже, указав -c в приглашении boot:. По умолчанию она отключена, так что вы должны включить её явно.

Если вы используете более старую версию FreeBSD, то вам нужно добавить следующие строки в файл конфигурации ядра и скомпилировать новое ядро: device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

Обратитесь к главе Руководства о , если вы не имеете опыта такой работы.

После того, как ядро правильно обнаружило psm0 во время загрузки, проверьте существование файла устройства для psm0 в каталоге /dev. Это можно сделать, набрав: cd /dev; sh MAKEDEV psm0

войдя в систему администратором. Можно ли каким-либо образом использовать мышь, кроме X Window?

Если вы используете стандартный драйвер консоли, syscons, то можете использовать указатель мыши в текстовых консолях для выделения и переноса текста. Запустите демон мыши, moused, и включите отображение указателя мыши на консоли: moused -p /dev/xxxx -t yyyy vidcontrol -m on

Здесь xxxx - это имя устройства мыши, а yyyy - тип протокола, используемого мышью. Страница Справочника о содержит информацию о поддерживаемых типах протоколов.

Вы можете запускать демон мыши автоматически во время старта системы. В версии 2.2.1, установите значение следующей переменной в /etc/sysconfig. mousedtype="yyyy" mousedport="xxxx" mousedflags="" В версиях 2.2.2 и выше, установите значения следующих переменных в /etc/rc.conf. moused_type="yyyy" moused_port="xxxx" moused_flags=""

Начиная с FreeBSD 2.2.6, демон мыши в состоянии определять тип протокола автоматически, если, конечно, мышь не достаточно древней модели. Укажите ``auto'' для автоматического определения типа протокола.

После запуска демона мыши, доступ к мыши должен согласовываться между демоном мыши и другими программами типа X Window. Этот вопрос освещён в . Как можно вырезать и копировать текст с помощью мыши в текстовой консоле?

После того, как вы запустили демон мыши (посмотрите ), нажмите кнопку 1 (левую) и двигайте мышь для выбора области выделения. Затем нажмите кнопку 2 (среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная с текущей позиции курсора.

В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused. Обратитесь к странице Справочника по . У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их использовать во FreeBSD?

Ответ, к сожалению, ``в зависимости от обстоятельств''. Эти мышки с дополнительными возможностями как правило, требуют наличия специальных драйверов. До тех пор, пока драйвер мыши или прикладная программа не будут иметь отдельную поддержку такой мыши, она будет работать как стандартная двух- или трёхкнопочная мышь. Как использовать мышь/трэкболл/сенсорную панель на лэптопе?

Посмотрите . И посмотрите на странице о мобильных вычислениях. Какие типы стримеров поддерживаются?

FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с интерфейсом QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм (Exabyte) и DAT. Стримеры QIC-40/80 стравнительно медленны.

Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2 и могут работать не совсем хорошо. Поддерживает ли FreeBSD роботов для смены лент?

FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство и команду . Детальная информация об управлении чейнджерами может быть найдена на странице Справочника по команде .

Если вы не используете систему или другое программное обеспечение, умеющее работать с роботами, имейте в виду, что они могут только переносить ленты с одного места на другое, так что вам нужно самим отслеживать, в каком слоте находится нужная лента, и в какой слот нужно вернуть ленту, находящуюся в стримере. Какие звуковые платы поддерживаются во FreeBSD?

FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также поддерживаются драйвером pcm.

Какие сетевые адаптеры поддерживает FreeBSD?

Более полный список содержится в разделе Руководства об . + url="../../handbook/install.html#INSTALL-NICS" + name="адаптерах Ethernet">. На моей машине отсутствует математический сопроцессор - это плохо?

В общем случае это не проблема, но в отсутствии сопроцессора вы можете столкнуться со снижением производительность и точности при использовании программной эмуляции сопроцессора (обратитесь к разделу об ). В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение математического сопроцессора настоятельно рекомендуется, он того стоит.

Какие ещё устройства поддерживаются в 2.X? -

В - приведён список остальных устройств, которые поддерживаются во FreeBSD. +

В приведён список остальных устройств, которые + поддерживаются во FreeBSD. Поддерживает ли FreeBSD управление энергосбережением на лаптопах?

FreeBSD поддерживает APM на некоторых машинах. Поищите в файле конфигурации ядра . Решение специфичных проблем с аппаратным обеспечением

Этот раздел содержит решения специфичных проблем с аппаратным обеспечением, с которыми сталкиваются наши пользователи. Компьютеры Micron зависают при загрузке

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к печальным последствиям при загрузке FreeBSD, потому что имеет место несоответствие устройств PCI занимаемым ими адресам.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System" .

Более подробная информация об этой проблеме находится по следующему адресу: FreeBSD не распознаёт мой новейший контроллер от Adaptec.

Новый набор микросхем AIC789x от Adaptec поддерживается подсистемой CAM SCSI, впервые появившейся в 3.0. Патчи для 2.2-STABLE находятся по адресу . Загрузочный диск с поддержкой CAM доступен по адресу . В обоих случаях прежде чем начать, прочтите файл README.

FreeBSD не находит внутренний модем Plug & Play.

Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера последовательного порта. Для включения поддержки Plug & Play, откомпилируйте новое ядро с опцией /sys/i386/isa/sio.c, где-то в районе 1200 строки. Чтобы найти таблицу, поищите слово "SUP1310" в структуре "siopnp_ids[]". Снова постройте ядро, проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть опознан.

Вам может понадобиться отконфигурировать PnP-устройства командой 'pnp' в конфигураторе во время загрузки следующим образом: pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 чтобы модем был распознан.

Как сделать, чтобы приглашение boot: выводилось на консоль на последовательном порту?

Постройте ядро с опцией Создайте файл /boot.config, поместив туда только текст Отключите клавиатуру.

Подробная информация находится в файле /usr/src/sys/i386/boot/biosboot/README.serial.

Почему сетевой адаптер 3Com PCI не работает с компьютерами Micron?

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к несоответствию устройств PCI занимаемым ими адресам. Это приводит к печальным последствиям при загрузке FreeBSD.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System" .

Более подробная информация об этой проблеме находится по следующему адресу: Поддерживает ли FreeBSD многопроцессорные системы (SMP)?

Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и последующих релизах. diff --git a/ru/FAQ/misc.sgml b/ru/FAQ/misc.sgml index 40c9b22563..f1fa7ab305 100644 --- a/ru/FAQ/misc.sgml +++ b/ru/FAQ/misc.sgml @@ -1,318 +1,338 @@ - + Разное - FreeBSD использует гораздо больше места в свопе, чем Linux. Почему? + Почему FreeBSD использует гораздо больше места в разделе подкачки, чем + Linux? -

Это не так. Наверное, вас интересует, ``почему своп выглядит - переполненным?''. Если вы подразумевали именно это, то это объясняется - тем, что помещение страницы памяти в своп с последующим восстановлением - оттуда выполняется быстрее, чем её сброс с последующим взятием снова из - (неизменяемых) блоков выполнимого файла из файловой системы. - -

Реальное количество ``грязных'' страниц памяти, которое вы можете - иметь в системе одновременно, не уменьшается; просто по необходимости - происходит сброс ``чистых'' страниц. +

Это только кажется, что для FreeBSD требуется больше места на разделе + подкачки, чем для Linux. На самом деле это не так. Главное отличие + FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно + перемещает неиспользуемые страницы памяти, к которым не было обращений, + в раздел подкачки, чтобы увеличить объём доступной физической памяти + для активного использования. Linux же перемещает страницы памяти в + раздел подкачки только в крайнем случае. Получаемое во FreeBSD + увеличение нагрузки на раздел подкачки компенсируется более эффективным + использованием оперативной памяти. + +

Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки, + она не может сбросить все неактивные страницы в своп при полностью + неактивной системе. Так что вряд ли может возникнуть ситуация, когда, + проснувшись рано утром, вы обнаружите, что вся ваша система находится в + разделе подкачки, хотя она простаивала всю ночь. Почему используются (и что из себя представляют) форматы выполнимых файлов a.aut и ELF?

Для понимания того, почему FreeBSD использует формат a.out, вы должны сначала получить представление о трёх "основных" форматах выполнимых файлов для UNIX:

Это самый старый, `классический' формат объектных файлов для UNIX. В нём используется короткий и компактный заголовок с магическим числом в начале, которое часто используется для определения формата (за подробным описанием обратитесь к странице Справочника о ). Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу символов и таблицу строк. COFF

Это формат объектных файлов SVR3. Дополнительно в заголовок включена таблица секций, так что вы можете иметь их больше, чем только .text, .data и .bss. ELF

Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя утилиту для пометки конкретного выполнимого файла за подробной информацией.

FreeBSD выросла на "классических" традициях и традиционно использовала формат , технологию, опробованную и проверенную во многих вариациях BSD. Хотя давно уже можно было компилировать и выполнять родные выполнимые файлы (и ядро) в формате В случае FreeBSD, наш механизм работы с совместно используемыми библиотеками очень похож на механизм, применяемый в SunOS, поэтому его очень легко использовать. Однако, начиная с 3.0, FreeBSD официально поддерживает Да, но почему так много разных форматов?

Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были очень просто устроены. На них могла работать простая, маленькая система. Формат a.out полностью решал задачу представления программ на простых системах (PDP-11). Когда же люди перенесли unix с простых систем, они оставили a.out, так как его было достаточно для ранних реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.

Затем какой-то умный инженер решил, что если он может заставить программное обеспечение делать некоторые тонкие манипуляции, то это позволит преодолеть некоторые ограничения при проектировании и позволит ядру процессора работать быстрее. Когда это было сделано с новым типом аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных размеров, а дисковая (и физическая) память оставалась сравнительно небольшой, то возникла концепция совместно используемых библиотек. Система VM также стала более мощной. Хотя каждое из этих нововведений продолжало использовать формат Однако с течением времени инструменты разработки, на которых основаны инструменты разработки FreeBSD (особенно ассемблер и загрузчик), разделились на две параллельные ветви. В дерево FreeBSD была добавлена поддержка совместно используемых библиотеки и были исправлены некоторые ошибки. Разработчики из GNU, которые изначально писали эти программы, полностью их переделали, добавив более простую поддержку построения кросс-компиляторов, в котором можно использовать различные форматы, итд. Когда многие захотели строить кросс-компилятор с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные тексты, которые FreeBSD использовала для as и ld, не подошли. Новый набор утилит от GNU (binutils) поддерживает кросс-компиляцию, - Почему невозможно изменить права на символические ссылки? + Почему невозможно изменить права на символические ссылки?

Чтобы это работало, используйте опции `` и по .

без опций и следуйте символической ссылке с помощью лидирующего слэша (``/''). Например, если `` chmod 555 foo/

Если задан лидирующий слэш, будет следовать символической ссылке, `` Почему длина регистрационного имени

Наверное, вы думаете, что достаточно будет изменить значение константы Во FreeBSD 3.0 и старше, максимальная длина имени была увеличена до 16 символов и все утилиты с предопределённым размером имени были найдены и исправлены. Так как это касается столь многих областей в системе, то такие изменения не делались вплоть до 3.0.

Если вы абсолютно уверены, что сможете найти и исправить проблемы такого рода самостоятельно, когда они возникнут, то можете увеличить длину регистрационного имени в ранних релизах, отредактировав файл /usr/include/utmp.h и изменив соответствующим образом константу UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE. И наконец, если вы компилируете из исходных текстов, не забудьте, что /usr/include обновляется каждый раз! Делайте изменения в соответствующих файлах каталога /usr/src/..

Можно ли запускать программы для DOS во FreeBSD?

Да, начиная с версии 3.0, вы можете использовать эмулятор DOS , посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в этом проекте.

Для систем, предшествовавшим 3.0, в коллекции портов есть замечательная утилита , эмулирующая процессор 8088 и функции BIOS, чего достаточно для запуска приложений DOS, работающих в текстовом режиме. Она требует X Window - System (что поставляется как XFree86). + System (которая поставляется как XFree86). Что такое ``

Сокращение означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для синхронизации исходных текстов на удалённых сайтах с основным сервером разработчиков.

Протокол SUP использует пропускную способность канала неэффективно, и был отвергнут. В настоящее время рекомендуемым методом для синхронизации исходных текстов является протокол . + url="../../handbook/synching.html#CVSUP" name="CVSup">. Насколько греется процессор при работе FreeBSD?

В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания FreeBSD. Наверное, он сильно греется.

О. Нет, но мы сделали различные вкусовые тесты у добровольцев с завязанными глазами, которые до этого приняли по 250 микрограмм LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, тогда как вкус Linux расценивался как фиолетовый туман. Насколько я помню, ни одна из групп не отметила значительной разницы в температуре. Вы хотели опубликовать полные результаты этого опроса, когда обнаружиди, что слишком много добровольцев покинули помещение во время тестов, что несколько смазало результаты. Я думаю, что большинство из них работают сейчас в Apple над их новым GUI ``чеши и нюхай''. Это старый добрый бизнес!

Серьёзно, и FreeBSD, и Linux используют инструкцию `` Кто там скребётся в микросхемах памяти??

В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что вызывает поскрипывание микросхем памяти? При компиляции (и в короткий промежуток времени после обнаружения дисковода при старте системы) от микросхем памяти исходит странный царапающий звук.

О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в документации по BSD, но не многие знают, что это настоящие нематериальные существа, которые теперь завладели вашим компьютером. Царапающий звук, издаваемый микросхемами памяти - это на самом деле высокочастотное перешёптывание между даемонами, когда они решают, как лучше справиться с различными задачами по администрированию системы.

Если шум достиг ваших ушей. команда DOS ``fdisk /mbr'' их спугнёт, но не удивляйтесь, если они отреагируют соответствующим образом и попытаются вас остановить. Фактически, если во время выполнения этой команды вы услышите сатанинский голос Билла Гейтса из встроенного динамика, бегите и даже не оглядывайтесь! Избавленные от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто могут захватить полный контроль не только над вашей машиной и навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я думаю, что предпочту царапающий звук. Что такое 'MFC'?

MFC это сокращение от 'Merged From -CURRENT.' Оно используется в протоколах изменений CVS для отметки того, что изменение было перенесено в ветвь STABLE из CURRENT. + + Что означает сокращение 'BSD'? + +

Это сокращение значит что-то на секретном языке, который могут знать + только посвящённые. Это нельзя перевести один к одному, однако + достаточно сказать, что перевод с BSD - это что-то между 'Команда + Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем + Linux.' :-) + +

Если серьёзно, то BSD является сокращением от 'Berkeley Software + Distribution', названия, которое было выбрано Berkeley CSRG (Computer + Systems Research Group) для их дистрибутива Unix. + diff --git a/ru/FAQ/network.sgml b/ru/FAQ/network.sgml index ddc4223291..5723c3f0d6 100644 --- a/ru/FAQ/network.sgml +++ b/ru/FAQ/network.sgml @@ -1,1318 +1,1319 @@ - + Работа в сети Где можно найти информацию о ``бездисковой загрузке''?

``Бездисковая загрузка'' означает, что машина с FreeBSD загружается по сети и читает необходимые файлы с сервера, а не со своего диска. Подробное описание есть в Руководства. Может ли машина с FreeBSD использоваться как маршрутизатор?

Стандарты Internet и опыт практической работы не позволяют нам в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы, можете сделать это, изменив значение следующей переменной в файле на gateway_enable=YES # Set to YES if this host will be a gateway

Этот параметр изменит значение Кроме того, в большинстве случаев вам будет необходимо запустить программу маршрутизации, для того, чтобы объявить о появлении нового маршрутизатора другим системам в вашей сети; FreeBSD поставляется со стандартной для BSD-систем программой маршрутизации , в более сложных ситуациях вы можете попробовать Мы обязаны предупредить вас, что даже когда FreeBSD настроена таким образом, она не полностью соответствует стандартам Internet для маршрутизаторов, однако для обычной работы этого хватает. Можно ли подключить машину с Win95 к Internet с помощью FreeBSD?

Как правило, те, кто задает такие вопросы, имеют дома два компьютера, один с FreeBSD, а другой с Win95; идея состоит в использовании FreeBSD для подключения к Internet, а затем осуществлять выход в Internet из Windows95 через FreeBSD. На самом деле это просто особый случай предыдущего вопроса.

Существует полезный , описывающий, как настроить FreeBSD в качестве маршрутизатора с выходом по протоколу PPP.

или на машине с FreeBSD.

Посмотрите также раздел о . Почему не проходит компиляция последней версии BIND от ISC?

Это - результат конфликта между файлом ``compat/include/sys/cdefs.h. Поддерживает ли FreeBSD протоколы SLIP и PPP?

Да. Посмотрите страницы справочника по командам , , и . имеет дело исключительно со входящими соединениям, а - только с исходящими.

Эти программы описаны в следующих разделах : + name="Протокол PPP (режим ядра)"> - +

Если вы имеете доступ в Internet через командную строку оболочки, вам может подойти . С его помощью можно получить (ограниченный) доступ к таким службам, как ftp и http прямо с вашей машины. Поддерживает ли FreeBSD NAT или Masquerading?

Если у вас есть локальная сеть (одна или больше машин), но только один IP адрес, предоставленный провайдером, вас может привлечь . Программа имеет похожую встроенную возможность через параметр . Не могу заставить работать ppp. Что я делаю не так?

Первым делом прочтите , посвящённые ppp, а также соответствующий - руководства. + руководства. Включите протоколирование командой set log Phase Chat Connect Carrier lcp ipcp ccp command

Эта команда может быть набрана в командной строке /etc/ppp/ppp.conf (начало секции default - лучшее для неё место. Удостоверьтесь, что файл содержит строки !ppp *.* /var/log/ppp.log

и файл /var/log/ppp.log существует. Теперь вы сможете найти полную информацию о происходящем в файле протокола. Не беспокойтесь, если не всё вам будет там понятно. Если вы будете пользоваться чьей-то помощью, протокол вам пригодится.

Если ваша версия ppp не понимает команду "set log", вы должны скачать . Она рассчитана на FreeBSD версий 2.1.5 и выше. Ppp просто зависает, когда я его запускаю

Обычно это происходит, когда не может быть определено имя вашего хоста. Наилучший способ исправить это - удостовериться, что файл /etc/hosts используется вашим ресолвером. Отредактируйте файл /etc/host.conf, поместив на первое место строчку hosts. Затем просто добавьте записи о вашей машине в файл /etc/hosts. Если у вас нет локальной сети, измените строку localhost: 127.0.0.1 foo.bar.com foo localhost В противном случае просто добавьте ещё одну запись о вашем хосте. Обратитесь к соответствующим страницам справочника за подробным описанием.

Если вы выполнили эти указания, вы сможете успешно выполнить команду ping -c1 `hostname`. Ppp не звонит в режиме -auto

Во-первых, проверьте, что у вас есть маршрут по умолчанию. Запустив , вы должны увидеть две строки вида: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0

Здесь предполагается, что вы использовали адреса, приведённые в Руководстве, Справочнике или файле ppp.conf.sample. Если у вас нет маршрута по умолчанию, это может быть из-за использования старой версии , которая не понимает слова add 0 0 HISADDR

на add 0 0 10.0.0.2

Другой причиной отсутствия маршрута по умолчанию может быть то, что вы ошибочно установили маршрут по умолчанию в вашем файле (этот файл назывался /etc/sysconfig до 2.2.2-RELEASE), и вы пропустили строку delete ALL -

в ppp.conf. В таком случае обратитесь к - соответствующему в ppp.conf. В таком случае обратитесь к соответствующему + Руководства. Что означает сообщение "No route to host"?

Эта ошибка появляется из-за отсутствующего раздела MYADDR: delete ALL add 0 0 HISADDR

в файле /etc/ppp/ppp.linkup. Он необходим, если ваш IP адрес выделяется динамически или адрес маршрутизатора вам не известен. Если вы используете интерактивный режим, вы можете набрать следующие команды после входа в delete ALL add 0 0 HISADDR -

Обратитесь к разделу Обратитесь к разделу Руководства за подробной информацией. Соединение разрывается через 3 минуты

Таймаут для ppp по умолчанию равен 3 минутам. Это может быть изменено строкой set timeout NNN

где ppp.conf или набрать ее в интерактивном режиме. Изменение этого параметра также возможно при активном соединении, если подключиться к сокету или . Обратитесь к страницам Справочника, посвящённым . Соединение разрывается при большой нагрузке

Если у вас включен Link Quality Reporting (LQR), возможно, что слишком много пакетов LQR теряется в канале. Ppp делает вывод, что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5 LQR было включено по умолчанию. Сейчас оно по умолчанию выключено. LQR можно выключить строкой disable lqr Соединение разрывается в случайные промежутки времени

Иногда, на шумной линии или даже на линии с включенным режимом ожидания звонка, ваш модем может вешать трубку, думая (совершенно напрасно), что потерял несущую.

В большинстве содемов есть параметр, определяющий чувствительность к временной потере несущей. Например, в модеме USR Sportster, это определяется значением регистра S10 в десятых долях секунды. Чтобы сделать связь более устойчивой, добавьте следующую последовательность посылок-ожиданий в строку набора: set dial "...... ATS10=10 OK ......"

Обратитесь к руководству по вашему модему. Соединение часто рвётся в случайные промежутки времени

Многие сообщают об обрывах соединений без видимой причины. Первым делом нужно выяснить, с какой стороны соединения рвётся связь.

Если вы используете внешний модем, можете просто попробовать использовать утилиту Выяснив, является эта проблема локальной или удалённой системы, вы имеете следующие возможности: Удалённая система не отвечает

Здесь вы мало что можете сделать. Большинство провайдеров отказываются оказать помощь, если вы используете ОС не от Microsoft. Вы можете добавить команду Первым делом попробуйте отключить всю местную компрессию, указав в конфигурационном файле следующее: disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj

Теперь попробуйте установить соединение ещё раз и удостовериться, что ситуация не изменилась. Если качество соединения улучшилось или проблема окащалась полностью решённой, выясните, настройка чего приводила к проблемам методом проб и ошибок. Это даст вам дополнительную защиту, когда вы будете разговаривать с вашим провайдером (хотя при этом может обнаружиться, что вы работаете не с продуктом Microsoft).

Перед тем, как звонить провайдеру, включите вывод отладочной информации, как вы это делали ранее и подождите, пока соединение снова не прервётся. Правда, для этого требуется некоторое дисковое пространство. Интерес могут представлять последние прочитанные из порта данные. Обычно это данные в формате ascii и они могут даже содержать описание проблемы (``Memory fault, core dumped'' ?).

Если ваш провайдер согласен помочь вам, нужно будет включить режим отладки с их стороны, а потом, когда связь прервётся в следующий раз, они могут сказать вам, почему возникли проблемы с их стороны. Будет хорошо, если вы пришлёте детальное описание на адрес , или даже попросите провайдера связаться со мной напрямую. Ppp зависает

Лучше всего в этом случае перекомпилировать ppp, добавив параметры Пошлите результат на адрес . Ничего не происходит после сообщения Login OK!

До версии FreeBSD 2.2.5, как только связь устанавливалась, ожидал начала согласования Line Control Protocol (LCP) с противоположной стороны. Многие провайдеры Internet не начинают согласования и предполагают, что это сделает клиент. Чтобы заставить set openmode active

В протоколе есть сообщения о том, что 'magic being the same'.

Иногда, сразу же после установления соединения, вы можете увидеть сообщения в протоколе, говорящие что "magic is the same". Иногда эти сообщения проходят безболезненно, а иногда одна из сторон прекращают работу. Большинство реализаций ppp не может справиться с такой ситуацией, и, даже когда связь выглядит установившейся, вы будете видеть только бесконечно повторяющиеся конфигурационные запросы и подтверждения в файле протокола до тех пор, пока ppp окончательно не закроет соединение.

Обычно это происходит на серверах с медленными дисками, на которых порт обслуживает программа getty, а ppp выполняется из сценария регистрации или другой программы после регистрации пользователя. Были сообшения, что такое случается постоянно при использовании slirp. Причина заключается в том, что во время, проходящее между завершением работы getty и запуском ppp, ppp со стороны клиента начинает посылать пакеты Line Control Protocol (LCP). Так как режим эха остаётся всё ещё включенным, ppp клиента получает "отражения" своих запросов.

Частью процесса согласования параметров LCP является определение "магического" числа для каждой стороны соединения для обнаружения "отражений". Согласно спецификации, когда одна сторона пытается использовать совпадающее "магическое" число, должен быть послан ответ NAK и должно быть выбрано новое "магическое" число. В тот момент, когда на порту сервера включен режим эха, клиент ppp посылает пакеты LCP, получает то же самое "магическое" число в отражённом пакете и отвечает на него NAK. Он также видит отражённый NAK (который также означает, что ppp должен изменить своё "магическое" число). В потенциале это может вызвать появление огромного количества процессов смен "магических" чисел, и все они накапливаются в буфере терминала. Как только запустится сервер ppp, он будет перегружен запросами на смену "магических", немедленно решит, что этого много для согласования LCP и прервёт соединение. В то же самое время, клиент, который больше не видит отражений, останавливается для того, чтобы увидеть, что сервер закрыл соединеие.

Этого можно избежать, позволив начинать согласование противоположной стороне следующей строкой в файле ppp.conf: set openmode passive

Это заставит ppp ожидать начала согласования LCP. Некоторые серверы, однако, могут никогда не начать согласование. Если это тот самый случай, вы можете сделать следующее: set openmode active 3

Это заставит ppp пассивно ждать 3 секунды, и только затем посылать запросы LCP. Если противоположная сторона начнёт посылать в этот момент запросы, ppp немедленно ответит, не ожидая истечения трёхсекундного интервала. Согласование LCP продолжается, пока не закроется соединение

В настоящий момент одной из неприятных особенностей реализации Это будет продолжаться до тех пор, пока одна из сторон не обнаружит, что это ни к чему не приводит и не закроет соединение.

Лучшим способом избежать этой ситуации является конфигурация одной из сторон как set openmode passive С этой командой нужно быть осторожным. Вы также должны будете использовать команду set stopped N для ограничения периода ожидания, в течении которого set openmode active N (где Вскоре после соединения ppp блокируется

В версиях FreeBSD ранее 2.2.5, была возможна ситуация, когда связь выключалась очень скоро после соединения из-за некорректной обработки запроса на согласования сжатия данных disable pred1 Когда я выполняю команду shell для тестирования соединения, ppp блокируется

Когда вы выполняете команду Если вам необходимо выполнять подобные команды, используйте команду Ppp, обслуживающее нуль-модем, никогда не закрывается

enable lqr

По умолчанию LQR включается, если это было затребовано с противоположной стороны на этапе согласования параметров соединения. В режиме -auto ppp неожиданно начинает звонить

Если Для выяснения причины такого поведения, используйте строку: set log +tcp/ip

Это включит протоколирование всего трафика через соединение. В следующий раз, когда неожиданно будет установлено соединение, вы установите причину по временным отметкам в файле протокола.

После этого вы можете запретить дозвонку при выясненных условиях. Как правило, такие проблемы возникают из-за обращений к DNS. Для предотвращения обращений к DNS и установления соединения (что set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0

Это может вам не подойти, так как закроет возможность дозвонки по запросу - большинству программ нужно обратиться к DNS до того, как начать работать.

В случае DNS, вы должны попытаться определить, кто пытается определить имя хоста. В большистве случаев виновным оказывается . Удостоверьтесь, что вы указали программе sendmail не осуществлять обращений к DNS в его конфигурационном файле. Обратитесь к разделу о за подробным описанием создания конфигурационного файла и что туда нужно поместить. Вам может понадобиться добавить в файл define(`confDELIVERY_MODE', `d')dnl

Это заставит sendmail ставить все сообщения в очередь до тех пор, пока не будет запущена её обработка (как правило, sendmail запускается с параметрами ``-bd -q30m'', указывающие, что обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока не будет выполнена команда ``sendmail -q'' (может быть, из файла ppp.linkup). Что означают ошибки CCP

В файле протокола появляются такие сообщения об ошибках: CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6)

Это происходит, если ppp пытается установить компрессию типа Predictor1, а противоположная сторона не хочет устанавливать никакой компрессии. Эти сообщения безобидны, но если вы хотите от них избавиться, вы можете запретить компрессию Predictor1 и у себя тоже: disable pred1 Ppp блокируется во время передачи файла с ошибками ввода-вывода

В FreeBSD 2.2.2 и ранее существовала ошибка в драйвере устройства tun, которая не позволяла проходить пакетам размером, превышающим значене MTU интерфейса. Приём пакета, большего, чем размер MTU, приводит к ошибке ввода-вывода, который протоколируется через syslogd.

Спецификация протокола ppp утверждает, что MRU, равное 1500, должно всегда подходить как минимальное, несмотря на согласование LCP, таким образом, если сделать MTU меньше 1500, ваш провайдер может начать передавать пакеты размером 1500, несмотря ни на что, и вы это почувствуете - ваше соединение заблокируется.

Проблема может быть обойдена, если никогда не ставить MTU, меньшее, чем 1500, для FreeBSD 2.2.2 и ранее. Почему ppp не протоколирует скорость соединения?

Для вывода протокола взаимодействия с модемом вам нужно включить следующее: set log +connect

Это заставит протоколировать всё вплоть до последней прочтённой через "expect" строки.

Если вы хотите видеть скорость соединения и используете PAP или CHAP (и поэтому вам не нужно определять никаких сценариев входа через "set login" после получения строки CONNECT сценарием дозвонки dial), вы должны указать ppp, что нужно ожидать полную строку CONNECT, вроде следующего: set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"

Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем символа перевода строки, заставляя Ppp игнорирует символ `\' в chat-скрипте

Ppp выполняет каждую строку в ваших конфигурационных файлах, так что она может проинтерпретировать строку вида Когда интерпретатор chat обрабатывает каждую строку, он ещё раз просматривает аргумент для того, чтобы найти какую-либо специальную последовательность типа ``\P'' or ``\T'' (обратитесь с справочнику). В результате из-за этой двойной интерпретации вы должны всегда использовать правильное число символов экранирования.

Если вам нужно передать символ ``\'', например, вашему модему, вам необходимо указать что-то типа: set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"

что приведёт к такой последовательности: ATZ OK AT\X OK

или set phone 1234567 set dial "\"\" ATZ OK ATDT\\T"

что даст такую последовательность: ATZ OK ATDT1234567 Ppp получает ошибку защиты, но я не вижу файла

Ppp (или любая другая программа такого рода) никогда не создаёт файлов дампа памяти. Так так ppp запускается с эффективным uid, равным 0, то операционная система не будет записывать дамп памяти ppp на диск перед его завершением. Если, однако ppp $ tar xfz ppp-*.src.tar.gz $ cd ppp*/ppp $ echo STRIP= >>Makefile $ echo CFLAGS+=-g >>Makefile $ make clean all $ su # make install # chmod 555 /usr/sbin/ppp

Теперь у вас есть отладочная версия ppp. Вам нужно стать суперпользователем для запуска ppp, так как соответствующие биты прав были убраны. Когда запустите ppp, обратите особое внимание на то, какой каталог у вас был текущим на этот момент.

Итак, если ppp получит ошибку нарушения защиты, он сбросит дамп памяти с именем ppp.core. Затем вам нужно сделать следующее: $ su # gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 ..... (gdb) i args ..... (gdb) l .....

Вся эта информация должна быть предоставлена вместе с вашим вопросом, чтобы проблему можно было продиагностировать.

Если вы умеете обращаться с gdb, вы можете попробовать найти причины образования дампа, а также адреса и значения относящихся к этому переменных. Процесс, вызвавший прозвонку в режиме auto, никогда не получает затребованного соединения

Эта проблема проявлялась, когда Причиной было то, что когда эта программа использует системный вызов , для сокета назначается IP-адрес tun-интерфейса. Ядро создаёт первый исходящий пакет и записывает его в устройство tun. Затем Теоретически есть несколько способов решить эту проблему. Лучше всего, если противоположная сторона назначит интерфейсу тот же самый IP-адрес Самым простым решением будет просто никогда не менять IP-адрес tun-интерфейса, а вместо этого изменять на лету все исходящие пакеты так, чтобы IP-адрес источника менялся с IP-адреса интерфейса на согласованный с противоположной стороной. Это, в сущности, то же самое, что делает опция и ключа Другой возможный (и наверное, самый надёжный) способ - это создать системный вызов, меняющий IP-адреса всем уже связанным сокетам. Ещё одной возможностью является резрешение интерфейсу становиться активным без IP-адреса. Исходящим пакетам будет даваться IP адрес 255.255.255.255 до тех пор, пока не будет дан ioctl-запрос SIOCAIFADDR. приводящий к полной привязке сокета. Почему большинство игр не работает с опцией -alias?

Причиной, по которой игры и подобные программы не работают с библиотекой libalias заключается в том, что внешняя машина будет пытаться открыть соединение или посылать (нежданные) UDP пакеты на машину внутренней сети. Программное обеспечение, обеспечивающее опцию -alias, не знает о том, что должна посылать эти пакеты машине внутренней сети.

Чтобы это всё же заработало, удостоверьтесь, что единственной запущенной программой является программное обеспечение, с которым вы испытываете проблемы, затем напустите tcpdump на tun-интерфейс маршрутизатора либо включите протоколирование tcp/ip в ppp (``set log +tcp/ip'') на маршрутизаторе.

Когда вы запустите некорректно работающее программное обеспечение, вы должны увидеть пакеты, проходящие через маршрутизатор. Когда что-то начнёт приходить извне, оно будет отброшено (в этом-то и проблема). Заметьте номер порта получателя этих пакетов, затем завершите работу вашего программного обеспечения. Выполните эту процедуру несколько раз для того, чтобы убедиться, что номер порта постоянен. Если это так, то следующая строчка в соответствующем разделе /etc/ppp/ppp.conf заставит программное обеспечение функционировать нормально: alias port proto internalmachine:port port

Здесь ``proto'' - это ``tcp'' либо ``udp'', ``internalmachine'' - это машина, которой вы хотите перенаправлять пакеты, и ``port'' - это номер порта получателя пакетов.

Несомненно, вы не сможете использовать программное обеспечение на других машинах, не изменяя указанную выше команду, а также запускать программное обеспечение на двух машинах внутри сети одновременно - в конце концов, внешний мир видит всю вашу сеть как единственную машину.

Есои номера портов непостоянны, есть ещё три варианта:

1) Настройте поддержку этого в libalias. Примеры ``особых случаев'' можно найти в /usr/src/lib/libalias/alias_*.c (alias_ftp.c - хорошее начало). Это означает, что вам нужно будет использовать чтение некоторых распознаваемых исходящих пакетов, обнаруживать команды для установления внешней машиной обратной связи на внутреннюю машину на конкретный (случайный) порт и настраивать ``маршрут'' в таблице соответствий так, чтобы последующие пакеты проходили нормально.

Это самое трудоёмкое решение, но оно наилучшее и позволит программному обеспечению работать на нескольких машинах.

2) Используйте прокси. Приложение может поддерживать, например, socks5 или (как в случае ``cvsup'') может иметь режим ``passive'', обходящийся без запросов к противоположной стороне на открытие обратного соединения.

3) Переназначьте всё на внутреннюю машину с помощью команды ``alias addr''. Это решение в лоб. Что такое ошибки FCS?

FCS является сокращением от show hdlc.

Если у вас плохая линия (или драйвер коммуникационного адаптера отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является причиной для волнений, хотя это существенно замедляет протоколы компрессии. Если у вас внешний модем, проверьте качество экранирования соединительного кабеля - это может избавить от проблемы.

Если ваша связь замирает, как только вы соединились и наблюдается большое количество ошибок FCS, это может быть вызвано не полной прозрачностью канала для 8-битовых данных. Проверьте, что модем не использует программного управоения потоком, используйте команду set accmap 0x000a0000 для указания ppp экранировать символы ^Q и ^S.

Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса close lcp (последующая команда term снова вернёт вас к приглашению shell на удалённой машине).

Если ничего в файле протокола не говорит о том, что связь была прервана, вы должны спросить у администратора удалённой машины (вашего провайдера), почему сеанс был закрыт. Ничего не помогает - я уже отчаялся!

Если всё уже перепробовано, и ничего не получается, пошлите нам максимальное количество информации, ваш конфигурационный файл, способ запуска (до и после соединения) в адрес списка рассылки или в телеконференцию , и может быть, кто-нибудь укажет вам верное направление. Не могу создать устройство /dev/ed0!

В стандарте сетевого взаимодействия Беркли сетевые интерфейсы напрямую доступны только ядру. За дополнительной информацией обратитесь к файлу /etc/rc.network и страницам справочника, описывающим различные сетевые программы, упоминаемые здесь. Если всё это оставит вас в недоумении, почитайте книгу, описывающую администрирование сети в другой BSD-подобной операционной системе; с некоторыми незначитальными исключениями, администрирование сети во FreeBSD в основном совпадает с SunOS 4.0 и Ultrix. Как настроить алиас на Ethernet?

Добавьте `` так, как это сделано здесь: ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?

Если вы хотите задействовать другой разъём, то должны указать дополнительный параметр в командной строке . Разъёмом по умолчанию является ``. У меня проблемы при работе NFS во FreeBSD.

Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем другие что может иногда вызывать проблемы при работе приложений типа NFS, интенсивно использующих сеть.

Подробности описаны в Руководства, посвящённой NFS. Почему я не могу смонтировать диск Linux по NFS?

Некоторые версии NFS для Linux поддерживают запросы на монтирование только с привилегированного порта; попробуйте mount -o -P linuxbox:/blah /mnt Почему я не могу смонтировать диск Sun по NFS?

Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы на монтирование только с привилегированного порта; попробуйте mount -o -P sunbox:/blah /mnt Проблемы при связи по PPP с машинами NeXTStep.

Попробуйте отменить все расширения TCP в , изменив значение следующей переменной в NO: tcp_extensions=NO

Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, поэтому при подключении к ним вам нужно проделать то же самое. Как включить поддержку multicast IP?

Работа с многоадресной рассылкой по умолчанию полностью поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать ваш компьютер как маршрутизатор многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией MROUTING и запустить /etc/rc.conf установлена в значение "YES".

Приложения MBONE находятся в своей категории портов, mbone. Если вы ищете приложения для организации конференций Более подробная информация располагается на сервере . Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?

Вот список, составленный (Glen Foster), с некоторыми незначительными добавлениями: Производитель Модель ---------------------------------------------- ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Model 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Zynx ZX342 Почему я должен использовать FQDN для хостов не в моей сети?

Вы, наверное, обнаружили, что хост, к которому вы обратились, оказался на самом деле в другом домене; например, если вы находитесь в домене foo.bar.edu и хотите обраттиться к хосту ``mumble'' в домене bar.edu, то должны указать его полное доменное имя, ``mumble.bar.edu'', а не просто ``mumble''.

Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая версия , поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от того, в котором вы находитесь, для не полностью указанных имён хостов. Так что неполно указанный хост mumble будет найден либо как mumble.foo.bar.edu, либо будет искаться в корневом домене.

Это отличается от предыдущего поведения, при котором поиск продолжался в mumble.bar.edu, и mumble.edu. Посмотрите RFC 1535 о причинах объявления такого поведения плохой практикой и даже ошибкой в безопасности.

Как хорошее решение, вы можете поместить строку search foo.bar.edu bar.edu

вместо ранее используемой domain foo.bar.edu

в файл . Однако удостоверьтесь, что порядок поиска не нарушает ``границ полномочий между местным и внешним администрированием'', как это названо в RFC 1535. ``Permission denied'' для любых действий в сети.

Если вы компилировали ядро с опцией Если вы случайно неверно отконфигурировали брандмауэр, то для восстановления работоспособность сети дайте такую команду, войдя суперпользователем: ipfw add 65534 allow all from any to any

Также вы можете установить "firewall_type='open'" в файле /etc/rc.conf.

Более подробная информация о конфигурировании брандмауэра в FreeBSD находится в Руководства. Какую нагрузку вызывает использование IPFW?

Ответ на этот вопрос зависит главным образом от набора правил и производительности процессора. Для большинства приложений, имеющих дело с ethernet и простым набором правил, ответ: незначительно. Для тех, кому нужны реальные цифры для удовлетвореия любопытства, читайте дальше.

Следующие измерения были сделаны с использованием 2.2.5-STABLE на машине 486-66. IPFW был модифицирован для измерения времени, затрачиваемого внутри процедуры Тестировались два набора по 1000 правил в каждом. Первый набор был предназначен для демонстрации наихудшего случая, повторяя условие ipfw add deny tcp from any to any 55555

Это наихудший случай, так как все условия IPFW будут проверены перед тем, как будет принято окончательное решение о том, что пакет не соответствует условию (мы меняли номер порта). После 999 повторений этого условия находилось правило allow ip from any to any.

Второй набор был предназначен для быстрого прерывания процесса проверки условий: ipfw add deny ip from 1.2.3.4 to 1.2.3.4

Неподходяший IP-адрес источника для указанного условия быстро вызывает пропуск этого правила. Как и ранее, последним правилом было allow ip from any to any.

Затраты на обработку пакета в первом случае было примерно 2.703 мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, теоретический предел скорости обработки пакетов с этими правилами равен примерно 370 пакетам в секунду. Предполагая использование ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть только 55.5% использования пропускной способности.

В последнем случае на обработку каждого пакета было затрачено примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический предел обработки будет равен около 853 пакетам в секунду, что почти соответствует скорости 10Мб/с ethernet.

Большое количество протестированных правил и природа этих правил не даёт представление о реальной жизни - они были использованы только для генерации информации о времени обработки. Вот несколько наблюдений, которые нужно иметь в виду для построении эффективного набора правил: Поместите правило `established' в самое начало списка для обработки основного трафика TCP. Не помещайте перед ним никаких правил allow tcp. Старайтесь помещать часто вызываемые правила как можно раньше, а редко используемые - позже (без изменения политики, конечно). Вы можете выяснить частоту использования правил с помощью вывода статистики командой ipfw -a l. Как можно перенаправить запросы с одной машины на другую?

Вы можете перенаправить запрос на FTP (или другой сервис) с помощью пакаджа 'socket', доступного в дереве портов в категории 'sysutils'. Просто замените командную строку запуска сервиса на вызов socket, типа: ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp

где 'ftp.foo.com' и 'ftp' являются соответственно хостом и портом для перенаправления. Где можно найти средства управления сетевым трафиком?

Для FreeBSD существуют два средства управления трафиком: свободно распространяемый и коммерческий продукт Bandwidth Manager от . Почему появляются сообщения ``/dev/bpf0: device not configured"?

Для работы программ, использующих Berkeley Packet Filter необходимо включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив в его конфигурационный файл следующую строку: pseudo-device bpfilter # Berkeley Packet Filter

Затем, после перезапуска системы, вам нужно создать соответствующий файл устройства. Это можно сделать, сменив текущий каталог на /dev и выполнив команду # sh MAKEDEV bpf0

Обратитесь к разделу руководства, посвящённому за подробной информацией по этому вопросу. diff --git a/ru/FAQ/preface.sgml b/ru/FAQ/preface.sgml index be66e92e5a..979ca1b12f 100644 --- a/ru/FAQ/preface.sgml +++ b/ru/FAQ/preface.sgml @@ -1,637 +1,638 @@ - + Предисловие

Добро пожаловать во FreeBSD 2.X FAQ! Для чего предназначен этот FAQ?

Как и обычный FAQ конференций Usenet, этот документ содержит большинство из часто задаваемых вопросов, касающихся операционной системы FreeBSD (и, конечно, ответы на них). Первоначально предназначенный для уменьшения потока сообщений и избежания повторения одних и тех же вопросов, постепенно FAQ превратился в ценный источник информации.

Мы прилагаем все усилия, чтобы сделать этот FAQ максимально информативным; если у вас есть идеи по его усовершенствованию, пожалуйста, напишите . FreeBSD - что это такое?

В двух словах, FreeBSD 2.X - это UN*X-подобная операционная система, основанная на версии 4.4BSD Калифорнийского Университета (Беркли) для платформы i386. Также она косвенно базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя от того первоначального кода осталось очень мало. Более подробные объяснения того, что представляет из себя FreeBSD и для чего она может вам пригодиться, можно найти на .

FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Вы можете увидеть некоторых из них в нашей .

Для более детального ознакомления с FreeBSD, пожалуйста, обращайтесь к Каковы цели FreeBSD?

Цели, преследуемые проектом FreeBSD - это предоставление программного обеспечения, которое может быть использовано в любых целях без всяческих ограничений. Многие из нас вкладывают значительные усилия в её разработку (и проектирование) и определённо были бы не против получения финансовой поддержки, но мы не собираемся её требовать. Мы надеемся, что наша основная и самая значительная "миссия" - предоставить код всем желающим, для любых целей, так чтобы он нашел самое широкое применение и принес наибольшую пользу. Это, на наш взгляд, одна из самых фундаментальных целей Free Software, которую мы с энтузиазмом поддерживаем.

Исходный код, который подпадает под действие GNU Public License (GPL) или GNU Library Public License (GLPL), имеет несколько больше ограничений, хотя это и навязывание доступа к исходным текстам, а не наоборот, как обычно. Из-за дополнительных сложностей, которые могут возникнуть в случае коммерческого использования программного обеспечения GPL, мы стараемся, где это только возможно, заменить подобное программное обеспечение аналогичным, но подпадающим под более свободную лицензию BSD. Почему система называется именно FreeBSD?

Она может использоваться безо всяческих выплат, даже для извлечения выгоды. Все исходные тексты операционной системы свободно доступны, на её использование в других разработках (как коммерческих, так и некоммерческих) и дальнейшее распространение наложены минимальные ограничения. Любой, у кого есть усовершенствования и/или исправления, может предоставить свой код и он будет (правда, с парой оговорок) добавлен в исходные тексты системы.

Для тех наших читателей, для которых английский не является родным языком, можно добавить, что слово ``free'' используется здесь в двух смыслах, один означает ``бесплатно'', а другой ``вы можете делать все что хотите''. За исключением пары вещей, которые вы Какова последняя версия FreeBSD?

Версия , выпущенная в феврале 1999 года, является самой последней Если говорить коротко, то ветка Что такое FreeBSD-current? -

- это +

- это версия операционной системы, находящаяся в стадии разработки до момента выпуска 4.0-RELEASE. Таким образом, она представляет реальный интерес только для разработчиков системы и её фанатов. - Обратитесь к соответствующему - + Обратитесь к для прояснения деталей работы с -current.

Если вы не специалист по операционным системам или не в состоянии отличить реальную проблему от временных явлений, вы не должны использовать FreeBSD-current. Эта ветвь зачастую меняется очень быстро и вполне может быть просто не работоспособна некоторое время. Те, кто используют FreeBSD-current, должны быть в состоянии анализировать любые проблемы и сообщать о них, если это действительно ошибки, а не ``глюки''. Сообщения типа ``make world produces some error about groups'' в списке рассылки -current иногда воспринимаются пренебрежительно.

Из ветви -current регулярно делаются , некоторые из которых доступны на CDROM. Их предназначение: Тестирование самой последней версии инсталлятора. Дать людям, которые хотят работать с -current, но не имеют времени и/или мозможности (пропускной способности) для отслеживания ежедневных измененений, простой способ её установки. Фиксация точки для последующих ссылок в случае, если позже мы что-нибудь очень сильно сломаем. (Хотя CVS, как правило, не позволяет случиться ничему такому ужасному :) Любые новые возможности, которым требуется тестирование, должны иметь как можно больше потенциальных тестеров.

Не утверждается, что всякий снапшот имеет качество ``готового продукта''. Для стабильной и надежной работы вам нужно подождать полного релиза.

Снапшоты доступны непосредственно с и, как правило, генерируются ежедневно для веток 4.0-current и 3.0-stable. В чём смысл FreeBSD-stable?

После того, как была выпущена FreeBSD 2.0.5, мы решили разделить разработку FreeBSD на две части. Одна ветка была названа , с тем предназначением, что в ней будут делаться только хорошо оттестированные исправления и маленькие последовательные усовершенствования (для провайдеров услуг Интернет и других коммерческих пользователей, для которых неожиданные изменения или экспериментальные возможности весьма - нежелательны). Другой ветвью является - , которая - по существу является прямой линией, ведущей к 4.0-RELEASE (и + нежелательны). Другой ветвью является , + которая по существу является прямой линией, ведущей к 4.0-RELEASE (и последующим) с тех пор, как была выпущена 2.0. Если вам поможет картинка, то вот как это выглядит: 2.0 | | | [2.1-stable] *ВЕТВЬ* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [конец 2.1-stable] | (Мар 1997) | | | [2.2-stable] *ВЕТВЬ* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [конец] | (Мар 1997) (Окт 97) (Апр 98) (Июл 98) (Дек 98) | | 3.0-SNAPs (начало в I квартале 1997) | | 3.0.0-RELEASE (Окт 1998) | | [3.0-stable] *ВЕТВЬ* 3.1 (Фев 1999) -> ... будущие релизы 3.x ... | | \|/ + [продолжение 4.0-current]

Ветвь -current постепенно переходит в 4.0 и выше, тогда как предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8. Теперь его заменила ветвь 3.0-stable, первый релиз которой, 3.1, выйдет в начале 1999 года. "Текущей веткой" сейчас является 4.0-current, первый релиз которой появится в первом квартале 2000 года. В какой момент выпускаются новые версии FreeBSD?

Как правило, основная группа разработчиков выпускает новую версию, только когда они уверены, что добавленных новых возможностей и/или внесённых исправлений уже достаточно и новый релиз не потеряет стабильности. Многие пользователи оценивают эту осторожность как одну из лучших сторон FreeBSD, хотя она несколько разочаровывает, если вам не терпится попробовать новые возможности..

В среднем новые версии выпускаются примерно каждые четыре месяца.

Для тех, кому не терпится, предназначены SNAP-релизы, выпускаемые более часто, в частности, в течении месяца перед релизом. FreeBSD доступна только для персональных компьютеров?

В настоящее время FreeBSD 3.x работает как на архитектуре x86, так и на платформе . Некоторый интерес был проявлен к переносу на SPARC, однако подробности этого проекта ещё не ясны. Если ваш компьютер имеет другую архитектуру и вам нужно что-то прямо сейчас, советуем попробовать или . Кто разрабатывает FreeBSD?

Решения, которые касаются ключевых моментов в проекте FreeBSD, такие, как общее направление развития проекта или кто может добавлять код к дереву исходных текстов, принимаются - + разработчиков (core team), состоящей из 15 человек. Также существует гораздо большая группа из более 100 (committers), которые могут делать изменения прямо в дереве исходных текстов FreeBSD.

Однако, большинство нетривиальных изменений широко обсуждается в , и не существует никаких ограничений на участие в подобных дискуссиях. Где можно найти FreeBSD?

Все основные релизы FreeBSD доступны по ftp с : Текущий релиз 2.2-stable, 2.2.8R, находится в каталоге . Текущий релиз 3.0-stable, 3.0-RELEASE, находится в каталоге . Релизы делаются ежедневно из ветки RELENG_2_2 (после 2.2.8), которая постепенно переходит в режим сопровождения. Ветвь RELENG_2_2 ведётся очень аккуратно и сейчас туда не вносятся изменений, кроме как жизненно необходимых по соображениям безопасности и надёжности. Выпуски также делаются ежедневно из ветки RELENG_3 (после 3.0-release), пока она переходит в 3.1-RELEASE. Выпуски , которые деляются ежедневно из ветви , предназначены для тестеров и разработчиков.

FreeBSD также доступна через CDROM, по такому алресу:

Walnut Creek CDROM 4041 Pike Lane, Suite F Concord, CA 94520 USA Orders: +1 800 786-9907 Questions: +1 925 674-0783 FAX: +1 925 674-0821 email: WWW:

В Австралии вы можете найти по адресу:

Advanced Multimedia Distributors Factory 1/1 Ovata Drive Tullamarine, Melbourne Victoria Australia Voice: +61 3 9338 6777 CDROM Support BBS 17 Irvine St Peppermint Grove WA 6011 Voice: +61 9 385-3793 Fax: +61 9 385-2360 И в Великобритании: The Public Domain & Shareware Library Winscombe House, Beacon Rd Crowborough Sussex. TN6 1UL Voice: +44 1892 663-298 Fax: +44 1892 667-473 Где найти информацию по спискам рассылки FreeBSD?

Исчерпывающая информация содержится в Руководства, который посвящен спискам рассылки. Какие существуют телеконференции по FreeBSD?

Полная информация о группах новостей есть в Руководства, касающемся телеконференций. Существуют ли каналы IRC (Internet Relay Chat) по FreeBSD?

Да, большинство сетей IRC имеют канал FreeBSD: Канал #FreeBSD в сети EFNet посвящён FreeBSD, но не обращайтесь туда за технической поддержкой и даже не пытайтесь найти человека, который поможет вам обойтись без чтения страниц Справочника или собственных изысканий. Этот канал предназначен в первую и основную очередь для общения, и в круг обсуждаемых тем входит секс, спорт, ядерное оружие, как будто это и есть FreeBSD. В общем, вас предупредили! Канал доступен на сервере irc.chat.org. Канал #FreeBSD в сети DALNET доступен на сервере irc.dal.net в США и на irc.eu.dal.net в Европе. Канал #FreeBSD в сети UNDERNET доступен на серверах us.undernet.org в США и eu.undernet.org в Европе. Похож на канал в сети EFNET - не задавайте вопросов или научитесь задавать их чрезвычайно вежливо, если хотите получить помощь. Это канал для общения, а не для получения помощи. Наконец, вы можете подключиться к каналу #FreeBSD в сети BSDNET, посвящённой исключительно BSD, на сервере irc.FreeBSD.org. Эта сеть пытается быть посвящённой в большей степени технической поддержке и не быть такой анархистской, как EFNET, UNDERNET или DALNET, однако по этой же причине она и не столь популярна. Почему бы сегодня кому-нибудь не взяться и поотвечать на вопросы на BSDNET?

Все эти каналы разные и не имеют отношения друг к другу. Их стили общения также отличаются, так что вам, может быть, придётся попробовать все, чтобы найти тот, который соответствует вашему стилю. Как и обычно с *любым* каналом IRC, если вы легко раздражаетесь или не можете иметь дела с большим количеством лиц школьного (и младшего школьного) возраста, пытающихся озвучить свои попытки самоутверждения, не обращайте на это внимания. Книги по FreeBSD

Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше к нему присоединиться) через список рассылки doc: . Этот список рассылки предназначен для обсуждения документации FreeBSD. Для вопросов по системе предназначен список рассылки questions: .

``Руководство'' по FreeBSD доступно и может быть найдено на . Заметьте, что этот проект находится в процессе разработки, так что некоторые части могут отсутствовать.

Прекрасным печатным руководством по FreeBSD является книга ``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и изданная Walnut Creek CDROM Books. В настоящее время вышло второе издание, содержащее 1,750 страниц руководств по установке и администрированию системы и прикладных программ, а также страницы Справочника. Книга (и последний релиз FreeBSD) может быть заказана у , , или в вашем любимом книжном магазине. Индекс ISBN 1-57176-227-2.

Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2, большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X. O'Reilly and Associates издают следующие руководства: 4.4BSD System Manager's Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 804 pages : 1-56592-080-5 4.4BSD User's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 905 pages : 1-56592-075-9 4.4BSD User's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 712 pages : 1-56592-076-7 4.4BSD Programmer's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 886 pages : 1-56592-078-3 4.4BSD Programmer's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 596 pages : 1-56592-079-1

Описание этих книг может быть найдено через WWW: . Из-за малых объёмов продаж, эти книги найти труднее.

Вы не ошибётесь, если для подробного ознакомления с устройством ядра 4.4BSD kernel обратитесь к следующей литературе:

McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman.

The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. 0-201-54979-4

Хорошей книгой по системному администрированию является:

Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, ``Unix System Administration Handbook'', Prentice-Hall, 1995 : 0-13-151051-7

Эта книга касается основ администрирования, в том числе протоколов TCP/IP, DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, системы печати итд.. Она сравнительно дорогая (примерно US$45-$55), но стоит того. К ней прилагается также компакт-диск с исходными текстами различных утилит; большинство их них, однако, также присутствуют на диске FreeBSD 2.2.6R (на котором к тому же часто находятся более свежие версии). Как можно получить доступ к вашей базе сообщений о проблемах (Problem Report)?

Сообщения пользователей о всех открытых проблемах могут быть запрошены (или добавлены) с помощью нашего и . Команда send-pr(1) также может быть использована для передачи сообщений о проблеме и изменении запроса через электронную почту. Где можно найти FAQ в форматах ASCII/PostScript?

Актуальная версия FAQ в форматах PostScript и обычного текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого его зеркала.

Как PostScript (примерно 370Кб):

Как текст ASCII (примерно 220Кб):

Как текст ISO 8859-1 (примерно 220Кб): Где можно найти Руководство в форматах ASCII/PostScript?

Актуальная версия Руководства в форматах PostScript и обычного текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого его зеркала.

Как PostScript (примерно 1.7Мб):

Как текст ASCII (примерно 1080Кб):

Как текст ISO 8859-1 (примерно 1080Кб): Руководство в формате ASCII - не чистый текст!

Действительно, FAQ и Руководство в форматах ASCII и Latin1 не являются чисто текстовыми документами; они содержат символы форматирования для вывода на печать. Если вам нужно преобразовать эти документы к виду, пригодному для чтения, обработайте файл программой col: $ col -b < inputfile > outputfile Могу ли я зазеркалировать веб-сервер FreeBSD?

Несомненно! Есть несколько способов это сделать. С помошью CVSUP: Вы можете скачивать отформатированные файлы с помощью CVSUP с сервера cvsup.freebsd.org. Добавьте следующую строку в конфигурационный файл cvsup: www release=current hostname=/home base=/usr/local/etc/cvsup prefix=/usr/local/www/data/www.freebsd.org delete old use-rel-suffix С помощью rsync: Обратитесь к странице, посвященной . С помощью зеркалирования ftp: Вы можете скачать копию веб-сервера, находящуюся на ftp, используя ваше любимое средство зеркалирования ftp. Просто начните с каталога ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/www. Я могу перевести документацию на язык племени мумбо-юмбо.

Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам бесплатный CD или футболку и внести вас в список составителей Руководства, если вы предоставите перевод. Другие источники информации.

Следующие телеконференции содержат информацию о FreeBSD, которая будет полезна её пользователям: (модерируемая)

Ресурсы Internet: .

В Руководстве по FreeBSD имеется достаточно полный , который стоит посмотреть, если вы хотите подыскать книгу по системе. diff --git a/ru/FAQ/x.sgml b/ru/FAQ/x.sgml index 3371a1ad2c..a663822340 100644 --- a/ru/FAQ/x.sgml +++ b/ru/FAQ/x.sgml @@ -1,391 +1,391 @@ - + X Window System и виртуальные консоли Я хочу запустить X, как это сделать?

Самый простой способ - это указать во время инсталляции, что вы хотите использовать X.

Затем следуйте указаниям в документации по утилите , которая предназначена для конфигурирования работы XFree86(tm) с вашим графическим адаптером/мышью/итд. -

Вы можете также попробовать сервер Xaccel, доступный по вполне - разумной цене. Подробности находятся в главе о - . +

Вы можете также попробовать сервер Xaccel. За подробной информацией + обратитесь к разделу, посвящённому продуктам фирм и . Почему моя мышь не работает с X?

Если вы используете syscons (стандартный драйвер консоли), то можете настроить поддержку указателя мыши во всех виртуальных экранах. Во избежание конфликтов с X, драйвер syscons поддерживает виртуальное устройство ``/dev/sysmouse''. Все события, полученные от реальной мыши, пишутся в устройство sysmouse, реализующее протокол MouseSystems. Если вы хотите использовать вашу мышь на одной или нескольких виртуальных консолях, /etc/rc.conf: moused_type=ps/2 # or whatever your actual type is moused_port=/dev/psm0 # or whatever your real port is moused_flags= /etc/XF86Config Section Pointer Protocol "MouseSystems" Device "/dev/sysmouse" .....

Некоторые предпочитаюют использовать в X устройство ``/dev/mouse''. Чтобы оно работало, файл устройства должен являться ссылкой на : # cd /dev # rm -f mouse # ln -s sysmouse mouse Меню и диалоговые окна в X Window работают неправильно!

Попробуйте выключить Num Lock.

Если клавиша Num Lock во время загрузки по умолчанию включена, добавьте в секцию `` # Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock Что такое виртуальные консоли и как изменить их количество?

Виртуальные консоли, упрощённо говоря, позволяют вам иметь несколько одновременных сеансов работы с той же самой машиной без установки какой бы то ни было сети или запуска X.

При запуске системы после вывода сообщений этапа загрузки на консоль выдаётся приглашение на вход в систему. Вы можете ввести своё имя и пароль и начать работать (или играть!) на первой виртуальной консоли.

В какой-то момент вы можете захотеть запустить ещё одну сеанс, скажем, чтобы заглянуть в документацию по программе, которую вы запустили или для для чтения электронной почты во время ожидания завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на второй ``виртуальной консоли''! Когда захотите вернуться к первоначальному сеансу, нажмите Alt-F1.

После инсталляции по умолчанию во FreeBSD задействованы три виртуальных консоли, а комбинации клавиш Alt-F1, Alt-F2, и Alt-F3 служат для переключения между ними. Чтобы увеличить количество консолей, отредактируйте файл , добавив туда записи для терминалов с именами от `` # Edit the existing entry for ttyv3 in /etc/ttys and change # "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure

Используйте из них столько, сколько посчитаете нужным. Чем больше виртуальных терминалов у вас имеется, тем больше ресурсов они используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. Вы можете сменить статус консолей с ``Самым простым способом убрать консоль является просто её выключение. Например, если вы запустили на всех 12 консолях виртуальные терминалы, как указано выше, и ещё хотите запустить X, то должны будете изменить параметры двенадцатого виртуального терминала с: ttyvb "/usr/libexec/getty Pc" cons25 on secure

на: ttyvb "/usr/libexec/getty Pc" cons25 off secure

Если на вашей клавиатуре только десять функциональных клавиш, то последние строки будут выглядеть так: ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure

(Вы также можете просто их удалить.)

После того, как вы отредактировали файл , проверьте, что у вас имеется достаточное количество устройств для виртуальных терминалов. Самый простой способ сделать это: # cd /dev # ./MAKEDEV vty12 # For 12 devices

Самым простым (и надёжным) способом активировать виртуальные консоли является перезагрузка. Однако если вы вовсе не хотите этого делать, просто остановите X Window System и выполните (как администратор): kill -HUP 1

При этом требуется, чтобы вы полностью закрыли X Window, если она была запущена, до запуска этой команды. Если вы это не сделаете, ваша система может повиснуть/заблокироваться после выполнения команды kill. Как осуществляется доступ к виртуальным консолям из X?

Если на консоли запущена X Window, вы можете использовать комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим работы с виртуальной консолью. Заметьте, однако, что как только вы переключитесь из X Window в виртуальный терминал, вы можете использовать только Alt- клавиши для переключения в другой виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, то в старых релизах вы может обнаружить, что ваша текстовая консоль осталась в режиме ``заблокированного control''. Нажмите эту клавишу ещё раз. Как запустить XDM во время загрузки?

Есть две философские школы, проповедующие различные методы запуска . Последователи одного течения запускают xdm из , используя приводимый пример, тогда как другие вставляют запуск xdm в скрипт или /usr/local/etc/rc.d. Оба метода равноправны, и один из них может работать в ситуациях, с которыми не справляется другой и наоборот. В обоих случая результат один и тот же: X выводит графическое приглашение login:.

Плюсом метода с использованием ttys является документрование того, на каком vty будет запущен X и то, что ответственность за перезапуск X-сервера при завершении сеанса работы лежит на процессе init. Метод с использованием rc.local позволяет просто прекратить работу xdm, если при запуске X возникли какие-нибудь проблемы.

Из rc.local В предыдущей версии FAQ говорилось о необходимости добавления /usr/X11R6/lib/X11/xdm/Xservers. На самом деле делать это необязательно: X будет использовать первый свободный При запуске xconsole выдаётся сообщение ``Couldn't open console''.

Если вы запускаете через скрипт , права на устройство /dev/console и , не будут работать.

Это зависит от прав доступа, установленных для консоли по умолчанию. В многопользовательской системе вовсе не нужно, чтобы любой пользователь мог выводить информацию на системную консоль. Для пользователей, вошедших в систему через VTY, для решения этой проблемы существует файл .

В общем, раскомментируйте строчку вида /dev/ttyv0 0600 /dev/console

в файле , и этого будет достаточно для того, чтобы всякий, кто вошёл в систему с /dev/ttyv0, будет иметь доступ к консоли. Моя мышь PS/2 в X работает неправильно.

Вполне может быть, что ваша мышь и её драйвер рассинхронизировались.

В версиях 2.2.5 и более ранних это может произойти при переключении из X в виртуальный терминал и последующем возвращении в X. Если эта проблема возникает достаточно часто, попробуйте добавить следующую строку в файл конфигурации ядра и перекомпилировать его. options PSM_CHECKSYNC

Если у вас нет опыта перекомпиляции ядра, обратитесь к .

С этой опцией проблем с синхронизацией мыши и её драйвера должно быть меньше. Если, однако, эта проблема всё же осталась, щёлкните любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать попытку синхронизироваться.

Заметьте, что в некоторых системах эта опция может не работать и приводить к отключению функции ``tap'' устройства ALPS GlidePoint, подключенного к порту мыши PS/2.

В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше и включена в стандартный драйвер мыши PS/2. Она должна работать даже с GlidePort. (Так как код проверки стал стандартной функцией, опция PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы будете видеть такие сообщения ядра: psmintr: out of sync (xxxx != yyyy) а также обнаружите, что мышь теперь работает неправильно.

Если это случится, отмените проверку согласования, установив значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор UserConfig, задав опцию ``-c'' в приглашении загрузчика: boot: -c Затем в командной строке UserConfig наберите: UserConfig> flags psm0 0x100 UserConfig> quit Моя мышь PS/2 от MouseSystems похоже, не работает.

Было несколько сообщений, что некоторые модели мышей PS/2 от MouseSystems работают только в режиме ``высокого разрешения''. В других режимах курсор мыши постоянно прыгает в верхний левый угол экрана.

К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к файлу /sys/i386/isa/psm.c и перестройте ядро. Если у вас нет опыта перекомпиляции ядра, обратитесь к . diff -u psm.c.orig psm.c @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); + #if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */

Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 для перевода её в режим высокого разрешения. Войдите в UserConfig, задав опцию ``-c'' в приглашении загрузчика: boot: -c Затем в командной строке UserConfig наберите: UserConfig> flags psm0 0x04 UserConfig> quit

В предыдущем разделе описана возможная причина проблем с мышью. При компиляции приложений для X

Файл Imake.tmpl является частью пакета Imake, стандартного инструмента для построения X-приложений. Он, также как ещё несколько заголовочных файлов, требуемых для построения X-приложений, содержится в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall или взять из дистрибутива X.

Как поменять местами кнопки мыши?

Поместите команду diff --git a/ru_RU.KOI8-R/FAQ/commercial.sgml b/ru_RU.KOI8-R/FAQ/commercial.sgml index 6ebe3529dd..da7e955294 100644 --- a/ru_RU.KOI8-R/FAQ/commercial.sgml +++ b/ru_RU.KOI8-R/FAQ/commercial.sgml @@ -1,99 +1,177 @@ - + Коммерческие приложения

. Где можно купить Motif для FreeBSD? -

Обратитесь в фирму , предлагающую - дистрибутив Motif 2.0 для FreeBSD. +

Обратитесь в фирму , предлагающую + дистрибутив Motif 2.1 для FreeBSD в формате ELF.

В этот дистрибутив включены: + + OSF/Motif manager, xmbind, panner, wsm. + + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake. + + Статические и динамические ELF-библиотеки (для использования + с FreeBSD 3.0 и выше). + + Демонстрационные приложения. + + +

При оформлении заказа не забудьте указать, что вам нужна версия Motif + для FreeBSD! Apps2go также продаёт версии для NetBSD и OpenBSD. + В настоящий момент их можно скачать только по FTP. + + + + + и . + + + +

Обратитесь в фирму для получения + дистрибутива Motif 2.1 для FreeBSD в форматах ELF или a.out. + +

В этот дистрибутив включены: + + OSF/Motif manager, xmbind, panner, wsm. + + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include + и Imake. + + Статические и динамические библиотеки (укажите ELF для + использования с FreeBSD 3.0 и выше; или a.out при использовании + FreeBSD 2.2.8 и ранее). + Демонстрационные приложения. + + Преформатированные страницы справочника. + + +

При заказе обязательно отметьте, что вам требуется версия Motif + именно для FreeBSD! Metro Link также предлагает версии для + Linux. Они доступны на CDROM или для скачивания по FTP. + +

Обратитесь в фирму за дистрибутивом + Motif 2.0 для FreeBSD в формате a.out. +

В этот дистрибутив включены: OSF/Motif manager, xmbind, panner, wsm. - Комплект разработчика с uil, mrm, xm, xmcxx, файлами include + Пакет разработчика с uil, mrm, xm, xmcxx, файлами include и Imake. - Статические и динамические библиотеки. + Статические и динамические библиотеки (для использования с + FreeBSD 2.2.8 и ранее). Демонстрационные приложения. Отформатированные страницы Справочника.

При заказе обязательно укажите, что вам требуется версия Motif именно для FreeBSD! Xi Graphics также предлагает версии для BSDI и Linux. В настоящее время это набор из 4 дискет... в будущем это будет стандартный дистрибутив на компакт-диске, как их CDE. - + Где можно купить CDE для FreeBSD?

Обратитесь в фирму , предлагающую дистрибутив CDE 1.0.10 для FreeBSD. В него включён Motif 1.2.5, и его - можно использовать с Motif 2.0. + можно использовать с Motif 2.0 в формате a.out. -

Это стандартный дистрибутив на компакт-диске для FreeBSD и Linux. - - +

Это объединённый дистрибутив на компакт-диске для FreeBSD и Linux. + + Существуют ли коммерческие высокопроизводительные X-серверы? - Are there any commercial high-performance X servers? -

Да, предлагает +

Да, фирмы и + предлагают свой продукт Accelerated-X для FreeBSD и других систем на базе Intel. +

Metro Link предлагает высокопроизводительный X-сервер, в котором + предусмотрена упрощённая процедура конфигурирования с помощью набора + утилит FreeBSD для работы с пэкэджами, поддержка нескольких + видеоадаптеров одновременно и он поставляется только в бинарном виде, + доступном по FTP. Нельзя не отметить, что Metro Link продаёт всё это + по очень доступной цене в 39 долларов.

Metro Link продаёт также Motif для FreeBSD в форматах ELF и a.out + (смотрите выше). + + + -

Этот высокопроизводительный X-сервер предоставляет простую - конфигурацию, поддержку нескольких видеоадаптеров и поставляется только - в бинарной форме, в форме стандартного дистрибутива на дискете для - FreeBSD и Linux. + и . -

Доступна бесплатная "демонстрационная" версия 3.1. + + +

Xi Graphics предлагает высокопроизводительный X-сервер, который + обеспечивает простую конфигурацию, поддержку нескольких видеоадаптеров + и поставляется только в бинарной форме, в форме стандартного + дистрибутива на дискетах для FreeBSD и Linux. Xi Graphics также + предлагает высокопроизводительный X-сервер с поддержкой компьютеров + класса laptop. + +

Доступна бесплатная "демонстрационная" версия 5.0.

Xi Graphics также предлагает Motif и CDE для FreeBSD (смотрите выше). или по email. Существуют ли БД для FreeBSD?

Да! Фирма Conetic Software Systems перенесла свои СУБД C/base и C/books во FreeBSD 2.0.5 и выше, а фирма Sleepycat Software продаёт коммерчески сопровождаемую версию библиотеки для работы с БД. , . - diff --git a/ru_RU.KOI8-R/FAQ/hackers.sgml b/ru_RU.KOI8-R/FAQ/hackers.sgml index 8cc7658e12..35c5110375 100644 --- a/ru_RU.KOI8-R/FAQ/hackers.sgml +++ b/ru_RU.KOI8-R/FAQ/hackers.sgml @@ -1,525 +1,595 @@ - + Только для серьёзных FreeBSD хакеров Что такое SNAP и RELEASE?

В сейчас находятся три активно/полуактивно развивающихся ветки FreeBSD:

На данный момент Ветвь Ветвь Как самим сделать релиз?

Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно работать с ядром, включающим драйвер . Добавьте его в файл конфигурации ядра и откомпилируйте новое ядро: pseudo-device vn #Vnode driver (turns a file into a device)

Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы добиться этого, вы можете использовать , указав в файле supfile - именем релиза cvs и удалив все поля с тегами и датами: + url="../../handbook/synching.html#CVSUP" name="CVSUP">, указав в файле + supfile в качестве имени релиза cvs и удалив все поля с тегами и датами: *default prefix=/home/ncvs *default base=/a *default host=cvsup.FreeBSD.org *default release=cvs *default delete compress use-rel-suffix ## Main Source Tree src-all src-eBones src-secure # Other stuff ports-all www doc-all

После этого запустите Наконец, вам нужно свободное место для построения системы. Допустим, что свободное место есть в каталоге /some/big/filesystem и, как в примере выше, вы поместили дерево CVS в каталог /home/ncvs: setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs cd /usr/src/release make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release

Полный релиз будет строиться в каталоге /some/big/filesystem/release и по окончании этого процесса дистрибутив, готовый к помещению на FTP-сервер, будет находиться в каталоге /some/big/filesystem/release/R/ftp. Если вы захотите построить SNAP другой ветки, не -current, то можете указать Как создать инсталляционные диски?

Весь процесс создания инсталляционных дисков и дистрибутивов исходных текстов и бинарников автоматизирован в файле /usr/src/release/Makefile. Информации, в нём содержащейся, должно быть достаточно, чтобы начать. Однако, должны вас предупредить, что этот процесс включает в себя выполнение ``make world'' и поэтому занимает много времени и дискового пространства. По команде ``make world'' были переустановлены все программы.

Да, так и должно быть; как говорит название этой команды, ``make world'' выполняет построение всех системных файлов с нуля, так что в итоге можете быть уверены, что получите чистую рабочую систему (вот почему это занимает столько времени).

Если в момент запуска команд ``${DESTDIR}. Однако некоторые случайные комбинации модификаций совместно используемых библиотек и версий компилируемых программ при исполнении команды `` При загрузке системы выдаётся сообщение ``(bus speed defaulted)''.

Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость доступа к шине. Предыдущие версии драйвера 1542 пытались определить максимально возможную скорость работы и установить это значение. Мы обнаружили, что у некоторых пользователей это приводило к нарушению работоспособности системы, поэтому эта возможность сейчас вынесена в параметр конфигурации ядра `` Можно ли работать с current при ограниченном доступе в Internet?

Да, это можно делать . Как вы разделяете дистрибутив на файлы по 240К?

Команда split в современных BSD-системах имеет опцию ``Вот пример из файла /usr/src/Makefile. bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.) Я написал некоторое добавление к ядру, кому его послать?

Обратитесь к соответствующему Руководства, в котором описано, как это сделать.

И спасибо вам за ваши усилия! Как распознаются и инициализируются адаптеры ISA Plug N Play?

От: (Frank Durda IV)

Если рассматривать на самом низком уровне, то существует несколько портов ввода/вывода, в которые должны выводить информацию все адаптеры PnP, когда компьютер пытается выполнить запрос о наличии установленных адаптеров. Так что, когда запускается процедура определения адаптеров PnP, она выполняет запрос о наличии каких-либо адаптеров PnP, а все такие адаптеры выдают свой номер модели при чтении того же порта ввода/вывода, поэтому процедура определения получит ответ на свой запрос, состоящий из логически наложенных номеров моделей, интерпретируемый как ``да''. В этом ответе по крайней мере один бит будет установлен в единицу. Затем код определения адаптеров может ``выключать'' адаптеры с ID (назначаемыми Microsoft/Intel), меньшими, чем X. Потом следует попытка определить, остались ли ещё адаптеры, отвечающие на запрос. Если ответ ``ID представляет собой два 32-разрядные числа (всего их 2ˆ64) + 8 бит контрольной суммы. Первые 32 бита являются идентификатором производителя. Они никогда не сообщаются, однако часто бывает, что различные типы адаптеров от одного и того же производителя имеют различные 32-битные значения идентификатора производителя. Необходимость в 32 разрядах только для задания производителя адаптера выглядит несколько излишним.

Оставшиеся 32 бита являются серийным номером, ethernet-адресом, чем-либо, делающим этот адаптер уникальным. Производитель не должен выпускать других адаптеров, имеющих то же самое значение этих битов, если, конечно, у них не разные идентификаторы производителя. Таким образом, вы можете иметь несколько адаптеров одинакового типа, но с различными 64-разрядными номерами.

Группы по 32 бита не богут быть нулевыми. Это позволяет при логическом объединении OR их номеров получать ненулевое значение во время начального поиска адаптеров.

Как только система определила ID всех адаптеров, она активизирует каждый адаптер, по одному за раз (через те же порты ввода/вывода), и определяет, какие ресурсы требуются данному адаптеру, какие возможные прерывания доступны итд. Сканирование и сбор информации происходит по всем адаптерам.

Эта информация соотносится с содержащейся в файлах ECU на диске или в MLB BIOS. Поддержка PnP из ECU и BIOS для аппаратуры на MLB обычно имеет синтетический характер, и периферия не выполняет полностью поцедуру настоящего PnP. Однако, используя BIOS и информацию из ECU, процедура инициализации может обнаружить устройства PnP, которые не могут быть найдены другим способом.

Затем устройства PnP опрашиваются ещё раз для назначения им портов ввода/вывода, DMA, IRQ и адресов отображаемой памяти. Теперь устройства должны иметь именно такие настройки и они должны оставаться такими до следующей перезагрузки, хотя нигде не сказано, что вы не можете их менять, когда захотите.

Здесь сделано много упрощений, однако общую идею вы должны уловить.

Microsoft использовала для PnP некоторые порты статуса первого принтера, по их логике, не существует адаптеров, использующих эти адреса для ввода/вывода. Я обнаружил один такой адаптер принтера от IBM, который декодирует запись в порт статуса в момент начального опроса устройств PnP, на что MS ответил ``хулиган''. Так что они выполняют запись в порт статуса принтера для установки адресов, плюс используют этот адрес + Поддерживает ли FreeBSD платформы, отличные от x86?

Интерес к работе над многоплатформенной поддержкой во FreeBSD проявили несколько групп разработчиков, и одна из попыток переноса, FreeBSD/AXP (ALPHA), оказавшейся достаточно удачной, в настоящее время доступна в виде релиза 3.0 SNAP по адресу . Эта реализация для ALPHA сейчас поддерживаёт всё увеличивающееся число машин ALPHA, в частности, модели AlphaStation, AXPpci, PC164, Miata и Multia. Нельзя сказать, что это настоящий релиз, он и не будет полным, пока в него не будут включены все утилиты для инсталляции и не будет сделан дистрибутивный CDROM, включающий достаточное количество рабочих портов и пакаджей. FreeBSD/AXP сейчас находится в стадии BETA. Чтобы быть в курсе событий, происходящих с этим портом, подпишитесь на соответствующий <freebsd-alpha@FreeBSD.ORG>. Также был проявлен интерес к переносу FreeBSD на платформу SPARC, если вы хотите подключиться к этому проекту, подпишитесь на соответствующий <freebsd-sparc@FreeBSD.ORG> . Для обсуждение общих вопросов, касающихся новых аппаратных платформ, предназначен <freebsd-platforms@FreeBSD.ORG>. Мне нужно старшее число для написанного мною драйвера устройства.

Всё зависит от того, планируете вы сделать этот драйвер общедоступным или нет. Если это так, то, пожалуйста, пошлите нам копию исходных текстов драйвера вместе с соответствующими модификациями в файле files.i386, пример описания устройства в файле конфигурации ядра и соответствующий код для создания специальных файлов устройств, которые использует ваше устройство. Если это не так. или это невозможно из-за лицензионных ограничений, то для старшего числа символьного устройства и старшего числа блочного устройства для этих целей были зарезервированы значения 32 и 8 соответственно; используйте их. В любом случае. мы будем рады услышать о вашем драйвере в списке рассылки <freebsd-hackers@FreeBSD.ORG>. Альтернативный метод размещения каталогов

В ответ на вопрос о других методах размещения каталогов могу сказать, что используемая в настоящее схема не претерпела изменений с 1983 года. Эти соглашения были предназначены для оригинальной файловой системы FFS, я никогда их не пересматривал. Эта схема прекрасно работает, позволяя избежать переполнения групп дорожек. Как некоторые из вас замечали, она работает плохо при поиске. Большинство файловых систем создаются из архивов, которые были созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что их каталоги размещаются на нескольких группах дорожек, создавая наихудший случай для последующего поиска глубиной один. Если бы было известно общее количество каталогов, которые должны быть созданы, быходом было бы создание (общее количество / количество групп дорожек) на дорожку группу перед переходом. Обычно это число определяется чисто эвристически. Даже при использовании маленького фиксированное числа, скажем 10, значительно улучшает ситуацию. Чтобы различать операции восстановления от обычных операций (где текущий алгоритм подходит), вы можете использовать объединение в кластеры объёмом до 10, если они делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что это требует некоторых экспериментов.

Кирк МакКузик (Kirk McKusick), Сентябрь 1998

Что делать при аварийном остановах системы

[Этот раздел был вырезан из письма, написанного (Bill Paul) в список рассылки freebsd-current (Dag-Erling Coïdan Smørgrav), который исправил несколько опечаток и добавил комментарии в квадратных скобках]

From: Bill Paul Subject: Re: the fs fun never stops To: ben@rosengart.com Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT) Cc: current@FreeBSD.ORG

[<ben@rosengart.com> отправил письмо, содержащее следующее аварийное сообщение системы] > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x40 > fault code = supervisor read, page not present > instruction pointer = 0x8:0xf014a7e5 ^^^^^^^^^^ > stack pointer = 0x10:0xf4ed6f24 > frame pointer = 0x10:0xf4ed6f28 > code segment = base 0x0, limit 0xfffff, type 0x1b > = DPL 0, pres 1, def32 1, gran 1 > processor eflags = interrupt enabled, resume, IOPL = 0 > current process = 80 (mount) > interrupt mask = > trap number = 12 > panic: page fault

[Если] вы увидите такое сообщение, просто его воспроизвести и послать нам не достаточно. Указатель инструкций, выделенный мною, важен, к сожалению, его значение зависит от конфигурации ядра. Другими словами, его значение меняется в зависимости от конкретного ядра, которое вы используете. Если вы используете ядро GENERIC одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую ошибку, но если вы работаете со специально отконфигурированным ядром, то только Вот что вы должны сделать: Запишите значение указателя инструкций. Заметьте, что часть Когда система перезагрузится, сделайте следующее: % nm /kernel.that.caused.the.panic | grep f0xxxxxx где % nm /kernel.that.caused.the.panic | grep f0xxxxx Если и это не привело ни к каким результатам, отрежьте следующую цифру. Повторяйте, пока не получите хоть что-то. Результатом будет список функций, которые, возможно, привели к аварийному останову. Этот механизм обнаружения ошибочного места довольно неточен, но это всё же лучше чем ничего.

Зачастую люди приводят подобные аварийные сообщения, на редко кто утруждается привести соотвествие указателя инструкций с функцией в таблице символов ядра.

Лучшим способом выяснить причину, вызвавшую аварийный останов, является создание аварийного дампа системы, а затем использование Во всяком случае, обычно я использую такой способ: Отредактируйте конфигурационный файл ядра, добавив строку 'options DDB', если вам зачем-то понадобился встроенный отладчик. (Я использую его в основном для указания точек останова, если подозреваю возникновение бесконечных циклов.) Выполните cd /sys/compile/KERNELCONFIG; make Дождитесь окончания компиляции ядра. cp kernel / reboot

[Замечание: Так как теперь ядра FreeBSD 3.x по умолчанию имеют формат Elf, вы должны использовать команду

Заметьте, что ВАМ Чтобы включить сброс аварийного дампа, вам нужно отредактировать файла /etc/rc.conf, чтобы /etc/rc.conf, скрипты /var/crash.

ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный физическому объёму оперативной памяти вашей машины. Так что если у вас 64МБ ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны удостовериться, что в каталоге /var/crash достаточно места для хранения дампа. Либо вы можете вручную запустить Как только вы получили аварийный дамп, вы можете выполнить трассировку вызовов с помощью % gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0 (gdb) where

Заметьте, что при этом может быть выведено несколько экранов информации; в идеале вы должны использовать Теперь, если вы в самом деле душевнобольной и у вас есть второй компьютер, то можете настроить [Билл (Bill) добавил: "Я забыл обратить ваше внимание на одну вещь: если у вас включена поддержка DDB и ядро переходит в режим отладки, вы можете намеренно вызвать аварийный останов (и создание аварийного дампа), набрав 'panic' в командной строке ddb. Этот процесс может снова вызвать отладчик. В этом случае наберите 'continue' и процесс будет завершён созданием аварийного дампа." -ed] Перестала работать функция dlsym() для ELF!

По умолчанию при работе с форматом ELF символы, определённые в выполнимом файле, не доступны динамическому загрузчику. Поэтому при вызове функции dlsym(), которая осуществляет поиск по дескриптору, полученному после вызова dlopen(NULL, flags), желаемый результат достигнут не будет.

Если вы хотите осуществить поиск в выполнимом файле процесса с помощью функции dlsym(), вам нужно компоновать выполнимый файл с опцией -export-dynamic . + + Увеличение и уменьшение адресного пространства ядра + +

По умолчанию размер адресного пространства ядра равен 256 МБ во + FreeBSD 3.x и 1 ГБ во FreeBSD 4.x. Если вы используете FreeBSD + в качестве сервера с интенсивной сетевой нагрузкой (скажем, + большой FTP или HTTP сервер), вы можете обнаружить, что 256 МБ + недостаточно. + +

Каким же образом можно увеличить адресное пространство? Здесь + есть два момента. Во-первых, вам нужно указать ядру выделить + большее количество адресного пространства для самого ядра. Во-вторых, + так как ядро загружается в верхнюю часть адресного пространства, вам + нужно уменьшить адрес загрузки так, чтобы он не вышел за верхнюю + границу. + +

Первая проблема решается увеличением значения константы + src/sys/i386/include/pmap.h. В случае 1 + ГБ адресного пространства он должен выглядеть примерно так: + + +#ifndef NKPDE +#ifdef SMP +#define NKPDE 254 /* addressable number of page tables/pde's */ +#else +#define NKPDE 255 /* addressable number of page tables/pde's */ +#endif /* SMP */ +#endif + + +

Для вычисления значения Для достижения второй цели вам нужно правильный адрес для загрузки + ядра: просто отнимите размер адресного пространства (в байтах) от + 0x100100000; результат будет равным 0xc0100000 для адресного + пространства в 1 ГБ. Установите значение константы src/sys/i386/conf/Makefile.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); +SECTIONS +{ + /* Read-only sections, merged into text segment: */ + . = 0xc0100000 + SIZEOF_HEADERS; + .interp : { *(.interp) } + + +

После этого переконфигурируйте и перестройте ядро. Вы можете + столкнуться с проблемами при работе утилит /usr/include/vm/). + +

ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть + кратен четырём мегабайтам. + +

[ + (David Greenman) добавил: Я думаю, что размер адресного + пространства ядра должен быть степенью двойки, но я в этом не уверен. + Для работы с верхними адресами памяти использовался код старого + загрузчика, и я ожидаю по крайней мере точность в 256 МБ.] + diff --git a/ru_RU.KOI8-R/FAQ/hardware.sgml b/ru_RU.KOI8-R/FAQ/hardware.sgml index d884e60b67..bad466a461 100644 --- a/ru_RU.KOI8-R/FAQ/hardware.sgml +++ b/ru_RU.KOI8-R/FAQ/hardware.sgml @@ -1,456 +1,458 @@ - + Аппаратная совместимость Какие типы винчестеров поддерживает FreeBSD?

FreeBSD работает с дисками стандартов EIDE и SCSI (с соответствующими контроллерами; обратитесь к следующему разделу), и всеми дисками, использующими оригинальный интерфейс "Western Digital" (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, использующие собственные интерфейсы, могут и не работать: к таким относятся WD1002/3/6/7 и их клоны. Какие поддерживаются контроллеры SCSI? -

Полный список приведён в . +

Полный список приведён в . Какие приводы CD-ROM поддерживаются во FreeBSD?

Поддерживаются любые SCSI-устройства чнения компакт дисков, подключенные к поддерживаемому контроллеру.

Кроме того, поддерживаются следующие оригинальные интерфейсы: Mitsumi LU002 (8bit), LU005 (16bit) и FX001D (16bit 2x Speed). Sony CDU 31/33A Sound Blaster не-SCSI CD-ROM Matsushita/Panasonic CD-ROM ATAPI-совместимые IDE CD-ROM

Все не-SCSI адаптеры ставятся своей медлительностью по сравнению со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать.

С версии 2.2 компакт-диск с FreeBSD от Walnut Creek является загрузочным. Поддерживает ли FreeBSD устройства ZIP?

Несомненно, FreeBSD поддерживает ZIP-устройства SCSI. Устройству ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего SCSI-адаптера поддерживает такую возможность, вы можете с него даже загрузиться. Мне не известны адаптеры, позволяющие загрузиться с устройств, номера которых отличны от 0 или 1... посмотрите в вашей документации (и сообщите мне, если у вас это работает).

Устройства ZIP стандарта ATAPI (IDE) поддерживаются FreeBSD начиная с версии 2.2.6.

Во FreeBSD 3.0-STABLE включена поддержка Zip на параллельном порту. Однако, чтобы его использовать, вам нужно построить новое ядро с поддержкой устройства ppbus (Parallel Port Bus). Примеры находятся в конфигурационном файле LINT.

Также посмотрите о съёмных носителях, и о 'форматировании'. Поддерживает ли FreeBSD съёмные диски типа JAZ или EZ?

Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен выглядеть как диск IDE.

Посмотрите это о 'форматировании'. Какие многопортовые последовательные адаптеры поддерживаются во FreeBSD?

Список таких устройств находится в разделе о - Руководства. + url="../../handbook/install.html#INSTALL-MISC" + name="различных устройствах"> Руководства.

Некоторые безымянные клоны таких адаптеров тоже работают нормально, особенно те, которые заявляют о своей совместимости с AST.

Прочтите страницы Справочника о для получения подробной информации о конфигурировании таких адаптеров. У меня необычная мышь типа bus mouse. Как её настроить?

FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse включен по умолчанию в ядро GENERIC. Если вы строите собственное ядро с этим драйвером, добавьте следующую строку в конфигурационный файл ядра; device mse0 at isa? port 0x23c tty irq5 vector mseintr

Мышь типа bus mouse обычно поставляется с отдельным интерфейсным адаптером. Он позволяет установить адрес порта ввода/вывода и номер IRQ, отличающиеся от приведённых выше. Обратитесь к документации по вашей мыше и страницам Справочника об устройстве . Как использовать мышь PS/2 (типа ``mouse port'' или ``keyboard'')?

Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый драйвер, psm, включён в ядро и активизирован. Ядро должно обнаружить мышь PS/2 во время загрузки.

Если вы работаете с предыдущей, но сравнительно свежей версией FreeBSD (2.1.x и выше), то вы можете просто включить её поддержку в меню конфигурации ядра во время инсталляции, либо позже, указав -c в приглашении boot:. По умолчанию она отключена, так что вы должны включить её явно.

Если вы используете более старую версию FreeBSD, то вам нужно добавить следующие строки в файл конфигурации ядра и скомпилировать новое ядро: device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

Обратитесь к главе Руководства о , если вы не имеете опыта такой работы.

После того, как ядро правильно обнаружило psm0 во время загрузки, проверьте существование файла устройства для psm0 в каталоге /dev. Это можно сделать, набрав: cd /dev; sh MAKEDEV psm0

войдя в систему администратором. Можно ли каким-либо образом использовать мышь, кроме X Window?

Если вы используете стандартный драйвер консоли, syscons, то можете использовать указатель мыши в текстовых консолях для выделения и переноса текста. Запустите демон мыши, moused, и включите отображение указателя мыши на консоли: moused -p /dev/xxxx -t yyyy vidcontrol -m on

Здесь xxxx - это имя устройства мыши, а yyyy - тип протокола, используемого мышью. Страница Справочника о содержит информацию о поддерживаемых типах протоколов.

Вы можете запускать демон мыши автоматически во время старта системы. В версии 2.2.1, установите значение следующей переменной в /etc/sysconfig. mousedtype="yyyy" mousedport="xxxx" mousedflags="" В версиях 2.2.2 и выше, установите значения следующих переменных в /etc/rc.conf. moused_type="yyyy" moused_port="xxxx" moused_flags=""

Начиная с FreeBSD 2.2.6, демон мыши в состоянии определять тип протокола автоматически, если, конечно, мышь не достаточно древней модели. Укажите ``auto'' для автоматического определения типа протокола.

После запуска демона мыши, доступ к мыши должен согласовываться между демоном мыши и другими программами типа X Window. Этот вопрос освещён в . Как можно вырезать и копировать текст с помощью мыши в текстовой консоле?

После того, как вы запустили демон мыши (посмотрите ), нажмите кнопку 1 (левую) и двигайте мышь для выбора области выделения. Затем нажмите кнопку 2 (среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная с текущей позиции курсора.

В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста. Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями программы moused. Обратитесь к странице Справочника по . У моей мыши есть дополнительные колёсико и кнопочки. Можно ли их использовать во FreeBSD?

Ответ, к сожалению, ``в зависимости от обстоятельств''. Эти мышки с дополнительными возможностями как правило, требуют наличия специальных драйверов. До тех пор, пока драйвер мыши или прикладная программа не будут иметь отдельную поддержку такой мыши, она будет работать как стандартная двух- или трёхкнопочная мышь. Как использовать мышь/трэкболл/сенсорную панель на лэптопе?

Посмотрите . И посмотрите на странице о мобильных вычислениях. Какие типы стримеров поддерживаются?

FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с интерфейсом QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм (Exabyte) и DAT. Стримеры QIC-40/80 стравнительно медленны.

Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2 и могут работать не совсем хорошо. Поддерживает ли FreeBSD роботов для смены лент?

FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство и команду . Детальная информация об управлении чейнджерами может быть найдена на странице Справочника по команде .

Если вы не используете систему или другое программное обеспечение, умеющее работать с роботами, имейте в виду, что они могут только переносить ленты с одного места на другое, так что вам нужно самим отслеживать, в каком слоте находится нужная лента, и в какой слот нужно вернуть ленту, находящуюся в стримере. Какие звуковые платы поддерживаются во FreeBSD?

FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также поддерживаются драйвером pcm.

Какие сетевые адаптеры поддерживает FreeBSD?

Более полный список содержится в разделе Руководства об . + url="../../handbook/install.html#INSTALL-NICS" + name="адаптерах Ethernet">. На моей машине отсутствует математический сопроцессор - это плохо?

В общем случае это не проблема, но в отсутствии сопроцессора вы можете столкнуться со снижением производительность и точности при использовании программной эмуляции сопроцессора (обратитесь к разделу об ). В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение математического сопроцессора настоятельно рекомендуется, он того стоит.

Какие ещё устройства поддерживаются в 2.X? -

В - приведён список остальных устройств, которые поддерживаются во FreeBSD. +

В приведён список остальных устройств, которые + поддерживаются во FreeBSD. Поддерживает ли FreeBSD управление энергосбережением на лаптопах?

FreeBSD поддерживает APM на некоторых машинах. Поищите в файле конфигурации ядра . Решение специфичных проблем с аппаратным обеспечением

Этот раздел содержит решения специфичных проблем с аппаратным обеспечением, с которыми сталкиваются наши пользователи. Компьютеры Micron зависают при загрузке

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к печальным последствиям при загрузке FreeBSD, потому что имеет место несоответствие устройств PCI занимаемым ими адресам.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System" .

Более подробная информация об этой проблеме находится по следующему адресу: FreeBSD не распознаёт мой новейший контроллер от Adaptec.

Новый набор микросхем AIC789x от Adaptec поддерживается подсистемой CAM SCSI, впервые появившейся в 3.0. Патчи для 2.2-STABLE находятся по адресу . Загрузочный диск с поддержкой CAM доступен по адресу . В обоих случаях прежде чем начать, прочтите файл README.

FreeBSD не находит внутренний модем Plug & Play.

Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера последовательного порта. Для включения поддержки Plug & Play, откомпилируйте новое ядро с опцией /sys/i386/isa/sio.c, где-то в районе 1200 строки. Чтобы найти таблицу, поищите слово "SUP1310" в структуре "siopnp_ids[]". Снова постройте ядро, проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть опознан.

Вам может понадобиться отконфигурировать PnP-устройства командой 'pnp' в конфигураторе во время загрузки следующим образом: pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8 чтобы модем был распознан.

Как сделать, чтобы приглашение boot: выводилось на консоль на последовательном порту?

Постройте ядро с опцией Создайте файл /boot.config, поместив туда только текст Отключите клавиатуру.

Подробная информация находится в файле /usr/src/sys/i386/boot/biosboot/README.serial.

Почему сетевой адаптер 3Com PCI не работает с компьютерами Micron?

Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к несоответствию устройств PCI занимаемым ими адресам. Это приводит к печальным последствиям при загрузке FreeBSD.

Для решения этой проблемы отключите в BIOS опцию "Plug and Play Operating System" .

Более подробная информация об этой проблеме находится по следующему адресу: Поддерживает ли FreeBSD многопроцессорные системы (SMP)?

Поддержка SMP (Symmetric Multiprocessing) имеется только в 3.0-STABLE и последующих релизах. diff --git a/ru_RU.KOI8-R/FAQ/misc.sgml b/ru_RU.KOI8-R/FAQ/misc.sgml index 40c9b22563..f1fa7ab305 100644 --- a/ru_RU.KOI8-R/FAQ/misc.sgml +++ b/ru_RU.KOI8-R/FAQ/misc.sgml @@ -1,318 +1,338 @@ - + Разное - FreeBSD использует гораздо больше места в свопе, чем Linux. Почему? + Почему FreeBSD использует гораздо больше места в разделе подкачки, чем + Linux? -

Это не так. Наверное, вас интересует, ``почему своп выглядит - переполненным?''. Если вы подразумевали именно это, то это объясняется - тем, что помещение страницы памяти в своп с последующим восстановлением - оттуда выполняется быстрее, чем её сброс с последующим взятием снова из - (неизменяемых) блоков выполнимого файла из файловой системы. - -

Реальное количество ``грязных'' страниц памяти, которое вы можете - иметь в системе одновременно, не уменьшается; просто по необходимости - происходит сброс ``чистых'' страниц. +

Это только кажется, что для FreeBSD требуется больше места на разделе + подкачки, чем для Linux. На самом деле это не так. Главное отличие + FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно + перемещает неиспользуемые страницы памяти, к которым не было обращений, + в раздел подкачки, чтобы увеличить объём доступной физической памяти + для активного использования. Linux же перемещает страницы памяти в + раздел подкачки только в крайнем случае. Получаемое во FreeBSD + увеличение нагрузки на раздел подкачки компенсируется более эффективным + использованием оперативной памяти. + +

Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки, + она не может сбросить все неактивные страницы в своп при полностью + неактивной системе. Так что вряд ли может возникнуть ситуация, когда, + проснувшись рано утром, вы обнаружите, что вся ваша система находится в + разделе подкачки, хотя она простаивала всю ночь. Почему используются (и что из себя представляют) форматы выполнимых файлов a.aut и ELF?

Для понимания того, почему FreeBSD использует формат a.out, вы должны сначала получить представление о трёх "основных" форматах выполнимых файлов для UNIX:

Это самый старый, `классический' формат объектных файлов для UNIX. В нём используется короткий и компактный заголовок с магическим числом в начале, которое часто используется для определения формата (за подробным описанием обратитесь к странице Справочника о ). Он содержит три загружаемых сегмента: .text, .data и .bss плюс таблицу символов и таблицу строк. COFF

Это формат объектных файлов SVR3. Дополнительно в заголовок включена таблица секций, так что вы можете иметь их больше, чем только .text, .data и .bss. ELF

Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя утилиту для пометки конкретного выполнимого файла за подробной информацией.

FreeBSD выросла на "классических" традициях и традиционно использовала формат , технологию, опробованную и проверенную во многих вариациях BSD. Хотя давно уже можно было компилировать и выполнять родные выполнимые файлы (и ядро) в формате В случае FreeBSD, наш механизм работы с совместно используемыми библиотеками очень похож на механизм, применяемый в SunOS, поэтому его очень легко использовать. Однако, начиная с 3.0, FreeBSD официально поддерживает Да, но почему так много разных форматов?

Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были очень просто устроены. На них могла работать простая, маленькая система. Формат a.out полностью решал задачу представления программ на простых системах (PDP-11). Когда же люди перенесли unix с простых систем, они оставили a.out, так как его было достаточно для ранних реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.

Затем какой-то умный инженер решил, что если он может заставить программное обеспечение делать некоторые тонкие манипуляции, то это позволит преодолеть некоторые ограничения при проектировании и позволит ядру процессора работать быстрее. Когда это было сделано с новым типом аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных размеров, а дисковая (и физическая) память оставалась сравнительно небольшой, то возникла концепция совместно используемых библиотек. Система VM также стала более мощной. Хотя каждое из этих нововведений продолжало использовать формат Однако с течением времени инструменты разработки, на которых основаны инструменты разработки FreeBSD (особенно ассемблер и загрузчик), разделились на две параллельные ветви. В дерево FreeBSD была добавлена поддержка совместно используемых библиотеки и были исправлены некоторые ошибки. Разработчики из GNU, которые изначально писали эти программы, полностью их переделали, добавив более простую поддержку построения кросс-компиляторов, в котором можно использовать различные форматы, итд. Когда многие захотели строить кросс-компилятор с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные тексты, которые FreeBSD использовала для as и ld, не подошли. Новый набор утилит от GNU (binutils) поддерживает кросс-компиляцию, - Почему невозможно изменить права на символические ссылки? + Почему невозможно изменить права на символические ссылки?

Чтобы это работало, используйте опции `` и по .

без опций и следуйте символической ссылке с помощью лидирующего слэша (``/''). Например, если `` chmod 555 foo/

Если задан лидирующий слэш, будет следовать символической ссылке, `` Почему длина регистрационного имени

Наверное, вы думаете, что достаточно будет изменить значение константы Во FreeBSD 3.0 и старше, максимальная длина имени была увеличена до 16 символов и все утилиты с предопределённым размером имени были найдены и исправлены. Так как это касается столь многих областей в системе, то такие изменения не делались вплоть до 3.0.

Если вы абсолютно уверены, что сможете найти и исправить проблемы такого рода самостоятельно, когда они возникнут, то можете увеличить длину регистрационного имени в ранних релизах, отредактировав файл /usr/include/utmp.h и изменив соответствующим образом константу UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE. И наконец, если вы компилируете из исходных текстов, не забудьте, что /usr/include обновляется каждый раз! Делайте изменения в соответствующих файлах каталога /usr/src/..

Можно ли запускать программы для DOS во FreeBSD?

Да, начиная с версии 3.0, вы можете использовать эмулятор DOS , посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в этом проекте.

Для систем, предшествовавшим 3.0, в коллекции портов есть замечательная утилита , эмулирующая процессор 8088 и функции BIOS, чего достаточно для запуска приложений DOS, работающих в текстовом режиме. Она требует X Window - System (что поставляется как XFree86). + System (которая поставляется как XFree86). Что такое ``

Сокращение означает Software Update Protocol, который был разработан в CMU для синхронизации исходных текстов. Мы используем его для синхронизации исходных текстов на удалённых сайтах с основным сервером разработчиков.

Протокол SUP использует пропускную способность канала неэффективно, и был отвергнут. В настоящее время рекомендуемым методом для синхронизации исходных текстов является протокол . + url="../../handbook/synching.html#CVSUP" name="CVSup">. Насколько греется процессор при работе FreeBSD?

В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания FreeBSD. Наверное, он сильно греется.

О. Нет, но мы сделали различные вкусовые тесты у добровольцев с завязанными глазами, которые до этого приняли по 250 микрограмм LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина, тогда как вкус Linux расценивался как фиолетовый туман. Насколько я помню, ни одна из групп не отметила значительной разницы в температуре. Вы хотели опубликовать полные результаты этого опроса, когда обнаружиди, что слишком много добровольцев покинули помещение во время тестов, что несколько смазало результаты. Я думаю, что большинство из них работают сейчас в Apple над их новым GUI ``чеши и нюхай''. Это старый добрый бизнес!

Серьёзно, и FreeBSD, и Linux используют инструкцию `` Кто там скребётся в микросхемах памяти??

В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что вызывает поскрипывание микросхем памяти? При компиляции (и в короткий промежуток времени после обнаружения дисковода при старте системы) от микросхем памяти исходит странный царапающий звук.

О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в документации по BSD, но не многие знают, что это настоящие нематериальные существа, которые теперь завладели вашим компьютером. Царапающий звук, издаваемый микросхемами памяти - это на самом деле высокочастотное перешёптывание между даемонами, когда они решают, как лучше справиться с различными задачами по администрированию системы.

Если шум достиг ваших ушей. команда DOS ``fdisk /mbr'' их спугнёт, но не удивляйтесь, если они отреагируют соответствующим образом и попытаются вас остановить. Фактически, если во время выполнения этой команды вы услышите сатанинский голос Билла Гейтса из встроенного динамика, бегите и даже не оглядывайтесь! Избавленные от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто могут захватить полный контроль не только над вашей машиной и навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я думаю, что предпочту царапающий звук. Что такое 'MFC'?

MFC это сокращение от 'Merged From -CURRENT.' Оно используется в протоколах изменений CVS для отметки того, что изменение было перенесено в ветвь STABLE из CURRENT. + + Что означает сокращение 'BSD'? + +

Это сокращение значит что-то на секретном языке, который могут знать + только посвящённые. Это нельзя перевести один к одному, однако + достаточно сказать, что перевод с BSD - это что-то между 'Команда + Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем + Linux.' :-) + +

Если серьёзно, то BSD является сокращением от 'Berkeley Software + Distribution', названия, которое было выбрано Berkeley CSRG (Computer + Systems Research Group) для их дистрибутива Unix. + diff --git a/ru_RU.KOI8-R/FAQ/network.sgml b/ru_RU.KOI8-R/FAQ/network.sgml index ddc4223291..5723c3f0d6 100644 --- a/ru_RU.KOI8-R/FAQ/network.sgml +++ b/ru_RU.KOI8-R/FAQ/network.sgml @@ -1,1318 +1,1319 @@ - + Работа в сети Где можно найти информацию о ``бездисковой загрузке''?

``Бездисковая загрузка'' означает, что машина с FreeBSD загружается по сети и читает необходимые файлы с сервера, а не со своего диска. Подробное описание есть в Руководства. Может ли машина с FreeBSD использоваться как маршрутизатор?

Стандарты Internet и опыт практической работы не позволяют нам в FreeBSD держать маршрутизацию пакетов включенной по умолчанию. Вы, можете сделать это, изменив значение следующей переменной в файле на gateway_enable=YES # Set to YES if this host will be a gateway

Этот параметр изменит значение Кроме того, в большинстве случаев вам будет необходимо запустить программу маршрутизации, для того, чтобы объявить о появлении нового маршрутизатора другим системам в вашей сети; FreeBSD поставляется со стандартной для BSD-систем программой маршрутизации , в более сложных ситуациях вы можете попробовать Мы обязаны предупредить вас, что даже когда FreeBSD настроена таким образом, она не полностью соответствует стандартам Internet для маршрутизаторов, однако для обычной работы этого хватает. Можно ли подключить машину с Win95 к Internet с помощью FreeBSD?

Как правило, те, кто задает такие вопросы, имеют дома два компьютера, один с FreeBSD, а другой с Win95; идея состоит в использовании FreeBSD для подключения к Internet, а затем осуществлять выход в Internet из Windows95 через FreeBSD. На самом деле это просто особый случай предыдущего вопроса.

Существует полезный , описывающий, как настроить FreeBSD в качестве маршрутизатора с выходом по протоколу PPP.

или на машине с FreeBSD.

Посмотрите также раздел о . Почему не проходит компиляция последней версии BIND от ISC?

Это - результат конфликта между файлом ``compat/include/sys/cdefs.h. Поддерживает ли FreeBSD протоколы SLIP и PPP?

Да. Посмотрите страницы справочника по командам , , и . имеет дело исключительно со входящими соединениям, а - только с исходящими.

Эти программы описаны в следующих разделах : + name="Протокол PPP (режим ядра)"> - +

Если вы имеете доступ в Internet через командную строку оболочки, вам может подойти . С его помощью можно получить (ограниченный) доступ к таким службам, как ftp и http прямо с вашей машины. Поддерживает ли FreeBSD NAT или Masquerading?

Если у вас есть локальная сеть (одна или больше машин), но только один IP адрес, предоставленный провайдером, вас может привлечь . Программа имеет похожую встроенную возможность через параметр . Не могу заставить работать ppp. Что я делаю не так?

Первым делом прочтите , посвящённые ppp, а также соответствующий - руководства. + руководства. Включите протоколирование командой set log Phase Chat Connect Carrier lcp ipcp ccp command

Эта команда может быть набрана в командной строке /etc/ppp/ppp.conf (начало секции default - лучшее для неё место. Удостоверьтесь, что файл содержит строки !ppp *.* /var/log/ppp.log

и файл /var/log/ppp.log существует. Теперь вы сможете найти полную информацию о происходящем в файле протокола. Не беспокойтесь, если не всё вам будет там понятно. Если вы будете пользоваться чьей-то помощью, протокол вам пригодится.

Если ваша версия ppp не понимает команду "set log", вы должны скачать . Она рассчитана на FreeBSD версий 2.1.5 и выше. Ppp просто зависает, когда я его запускаю

Обычно это происходит, когда не может быть определено имя вашего хоста. Наилучший способ исправить это - удостовериться, что файл /etc/hosts используется вашим ресолвером. Отредактируйте файл /etc/host.conf, поместив на первое место строчку hosts. Затем просто добавьте записи о вашей машине в файл /etc/hosts. Если у вас нет локальной сети, измените строку localhost: 127.0.0.1 foo.bar.com foo localhost В противном случае просто добавьте ещё одну запись о вашем хосте. Обратитесь к соответствующим страницам справочника за подробным описанием.

Если вы выполнили эти указания, вы сможете успешно выполнить команду ping -c1 `hostname`. Ppp не звонит в режиме -auto

Во-первых, проверьте, что у вас есть маршрут по умолчанию. Запустив , вы должны увидеть две строки вида: Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0

Здесь предполагается, что вы использовали адреса, приведённые в Руководстве, Справочнике или файле ppp.conf.sample. Если у вас нет маршрута по умолчанию, это может быть из-за использования старой версии , которая не понимает слова add 0 0 HISADDR

на add 0 0 10.0.0.2

Другой причиной отсутствия маршрута по умолчанию может быть то, что вы ошибочно установили маршрут по умолчанию в вашем файле (этот файл назывался /etc/sysconfig до 2.2.2-RELEASE), и вы пропустили строку delete ALL -

в ppp.conf. В таком случае обратитесь к - соответствующему в ppp.conf. В таком случае обратитесь к соответствующему + Руководства. Что означает сообщение "No route to host"?

Эта ошибка появляется из-за отсутствующего раздела MYADDR: delete ALL add 0 0 HISADDR

в файле /etc/ppp/ppp.linkup. Он необходим, если ваш IP адрес выделяется динамически или адрес маршрутизатора вам не известен. Если вы используете интерактивный режим, вы можете набрать следующие команды после входа в delete ALL add 0 0 HISADDR -

Обратитесь к разделу Обратитесь к разделу Руководства за подробной информацией. Соединение разрывается через 3 минуты

Таймаут для ppp по умолчанию равен 3 минутам. Это может быть изменено строкой set timeout NNN

где ppp.conf или набрать ее в интерактивном режиме. Изменение этого параметра также возможно при активном соединении, если подключиться к сокету или . Обратитесь к страницам Справочника, посвящённым . Соединение разрывается при большой нагрузке

Если у вас включен Link Quality Reporting (LQR), возможно, что слишком много пакетов LQR теряется в канале. Ppp делает вывод, что канал плох, и разрывает соединение. В FreeBSD до версии 2.2.5 LQR было включено по умолчанию. Сейчас оно по умолчанию выключено. LQR можно выключить строкой disable lqr Соединение разрывается в случайные промежутки времени

Иногда, на шумной линии или даже на линии с включенным режимом ожидания звонка, ваш модем может вешать трубку, думая (совершенно напрасно), что потерял несущую.

В большинстве содемов есть параметр, определяющий чувствительность к временной потере несущей. Например, в модеме USR Sportster, это определяется значением регистра S10 в десятых долях секунды. Чтобы сделать связь более устойчивой, добавьте следующую последовательность посылок-ожиданий в строку набора: set dial "...... ATS10=10 OK ......"

Обратитесь к руководству по вашему модему. Соединение часто рвётся в случайные промежутки времени

Многие сообщают об обрывах соединений без видимой причины. Первым делом нужно выяснить, с какой стороны соединения рвётся связь.

Если вы используете внешний модем, можете просто попробовать использовать утилиту Выяснив, является эта проблема локальной или удалённой системы, вы имеете следующие возможности: Удалённая система не отвечает

Здесь вы мало что можете сделать. Большинство провайдеров отказываются оказать помощь, если вы используете ОС не от Microsoft. Вы можете добавить команду Первым делом попробуйте отключить всю местную компрессию, указав в конфигурационном файле следующее: disable pred1 deflate deflate24 protocomp acfcomp shortseq vj deny pred1 deflate deflate24 protocomp acfcomp shortseq vj

Теперь попробуйте установить соединение ещё раз и удостовериться, что ситуация не изменилась. Если качество соединения улучшилось или проблема окащалась полностью решённой, выясните, настройка чего приводила к проблемам методом проб и ошибок. Это даст вам дополнительную защиту, когда вы будете разговаривать с вашим провайдером (хотя при этом может обнаружиться, что вы работаете не с продуктом Microsoft).

Перед тем, как звонить провайдеру, включите вывод отладочной информации, как вы это делали ранее и подождите, пока соединение снова не прервётся. Правда, для этого требуется некоторое дисковое пространство. Интерес могут представлять последние прочитанные из порта данные. Обычно это данные в формате ascii и они могут даже содержать описание проблемы (``Memory fault, core dumped'' ?).

Если ваш провайдер согласен помочь вам, нужно будет включить режим отладки с их стороны, а потом, когда связь прервётся в следующий раз, они могут сказать вам, почему возникли проблемы с их стороны. Будет хорошо, если вы пришлёте детальное описание на адрес , или даже попросите провайдера связаться со мной напрямую. Ppp зависает

Лучше всего в этом случае перекомпилировать ppp, добавив параметры Пошлите результат на адрес . Ничего не происходит после сообщения Login OK!

До версии FreeBSD 2.2.5, как только связь устанавливалась, ожидал начала согласования Line Control Protocol (LCP) с противоположной стороны. Многие провайдеры Internet не начинают согласования и предполагают, что это сделает клиент. Чтобы заставить set openmode active

В протоколе есть сообщения о том, что 'magic being the same'.

Иногда, сразу же после установления соединения, вы можете увидеть сообщения в протоколе, говорящие что "magic is the same". Иногда эти сообщения проходят безболезненно, а иногда одна из сторон прекращают работу. Большинство реализаций ppp не может справиться с такой ситуацией, и, даже когда связь выглядит установившейся, вы будете видеть только бесконечно повторяющиеся конфигурационные запросы и подтверждения в файле протокола до тех пор, пока ppp окончательно не закроет соединение.

Обычно это происходит на серверах с медленными дисками, на которых порт обслуживает программа getty, а ppp выполняется из сценария регистрации или другой программы после регистрации пользователя. Были сообшения, что такое случается постоянно при использовании slirp. Причина заключается в том, что во время, проходящее между завершением работы getty и запуском ppp, ppp со стороны клиента начинает посылать пакеты Line Control Protocol (LCP). Так как режим эха остаётся всё ещё включенным, ppp клиента получает "отражения" своих запросов.

Частью процесса согласования параметров LCP является определение "магического" числа для каждой стороны соединения для обнаружения "отражений". Согласно спецификации, когда одна сторона пытается использовать совпадающее "магическое" число, должен быть послан ответ NAK и должно быть выбрано новое "магическое" число. В тот момент, когда на порту сервера включен режим эха, клиент ppp посылает пакеты LCP, получает то же самое "магическое" число в отражённом пакете и отвечает на него NAK. Он также видит отражённый NAK (который также означает, что ppp должен изменить своё "магическое" число). В потенциале это может вызвать появление огромного количества процессов смен "магических" чисел, и все они накапливаются в буфере терминала. Как только запустится сервер ppp, он будет перегружен запросами на смену "магических", немедленно решит, что этого много для согласования LCP и прервёт соединение. В то же самое время, клиент, который больше не видит отражений, останавливается для того, чтобы увидеть, что сервер закрыл соединеие.

Этого можно избежать, позволив начинать согласование противоположной стороне следующей строкой в файле ppp.conf: set openmode passive

Это заставит ppp ожидать начала согласования LCP. Некоторые серверы, однако, могут никогда не начать согласование. Если это тот самый случай, вы можете сделать следующее: set openmode active 3

Это заставит ppp пассивно ждать 3 секунды, и только затем посылать запросы LCP. Если противоположная сторона начнёт посылать в этот момент запросы, ppp немедленно ответит, не ожидая истечения трёхсекундного интервала. Согласование LCP продолжается, пока не закроется соединение

В настоящий момент одной из неприятных особенностей реализации Это будет продолжаться до тех пор, пока одна из сторон не обнаружит, что это ни к чему не приводит и не закроет соединение.

Лучшим способом избежать этой ситуации является конфигурация одной из сторон как set openmode passive С этой командой нужно быть осторожным. Вы также должны будете использовать команду set stopped N для ограничения периода ожидания, в течении которого set openmode active N (где Вскоре после соединения ppp блокируется

В версиях FreeBSD ранее 2.2.5, была возможна ситуация, когда связь выключалась очень скоро после соединения из-за некорректной обработки запроса на согласования сжатия данных disable pred1 Когда я выполняю команду shell для тестирования соединения, ppp блокируется

Когда вы выполняете команду Если вам необходимо выполнять подобные команды, используйте команду Ppp, обслуживающее нуль-модем, никогда не закрывается

enable lqr

По умолчанию LQR включается, если это было затребовано с противоположной стороны на этапе согласования параметров соединения. В режиме -auto ppp неожиданно начинает звонить

Если Для выяснения причины такого поведения, используйте строку: set log +tcp/ip

Это включит протоколирование всего трафика через соединение. В следующий раз, когда неожиданно будет установлено соединение, вы установите причину по временным отметкам в файле протокола.

После этого вы можете запретить дозвонку при выясненных условиях. Как правило, такие проблемы возникают из-за обращений к DNS. Для предотвращения обращений к DNS и установления соединения (что set dfilter 1 deny udp src eq 53 set dfilter 2 deny udp dst eq 53 set dfilter 3 permit 0/0 0/0

Это может вам не подойти, так как закроет возможность дозвонки по запросу - большинству программ нужно обратиться к DNS до того, как начать работать.

В случае DNS, вы должны попытаться определить, кто пытается определить имя хоста. В большистве случаев виновным оказывается . Удостоверьтесь, что вы указали программе sendmail не осуществлять обращений к DNS в его конфигурационном файле. Обратитесь к разделу о за подробным описанием создания конфигурационного файла и что туда нужно поместить. Вам может понадобиться добавить в файл define(`confDELIVERY_MODE', `d')dnl

Это заставит sendmail ставить все сообщения в очередь до тех пор, пока не будет запущена её обработка (как правило, sendmail запускается с параметрами ``-bd -q30m'', указывающие, что обрабатывать очередь нужно каждые 30 минут) или до тех пор, пока не будет выполнена команда ``sendmail -q'' (может быть, из файла ppp.linkup). Что означают ошибки CCP

В файле протокола появляются такие сообщения об ошибках: CCP: CcpSendConfigReq CCP: Received Terminate Ack (1) state = Req-Sent (6)

Это происходит, если ppp пытается установить компрессию типа Predictor1, а противоположная сторона не хочет устанавливать никакой компрессии. Эти сообщения безобидны, но если вы хотите от них избавиться, вы можете запретить компрессию Predictor1 и у себя тоже: disable pred1 Ppp блокируется во время передачи файла с ошибками ввода-вывода

В FreeBSD 2.2.2 и ранее существовала ошибка в драйвере устройства tun, которая не позволяла проходить пакетам размером, превышающим значене MTU интерфейса. Приём пакета, большего, чем размер MTU, приводит к ошибке ввода-вывода, который протоколируется через syslogd.

Спецификация протокола ppp утверждает, что MRU, равное 1500, должно всегда подходить как минимальное, несмотря на согласование LCP, таким образом, если сделать MTU меньше 1500, ваш провайдер может начать передавать пакеты размером 1500, несмотря ни на что, и вы это почувствуете - ваше соединение заблокируется.

Проблема может быть обойдена, если никогда не ставить MTU, меньшее, чем 1500, для FreeBSD 2.2.2 и ранее. Почему ppp не протоколирует скорость соединения?

Для вывода протокола взаимодействия с модемом вам нужно включить следующее: set log +connect

Это заставит протоколировать всё вплоть до последней прочтённой через "expect" строки.

Если вы хотите видеть скорость соединения и используете PAP или CHAP (и поэтому вам не нужно определять никаких сценариев входа через "set login" после получения строки CONNECT сценарием дозвонки dial), вы должны указать ppp, что нужно ожидать полную строку CONNECT, вроде следующего: set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"

Здесь мы получили строку CONNECT, ничего не посылаем, затем ожидаем символа перевода строки, заставляя Ppp игнорирует символ `\' в chat-скрипте

Ppp выполняет каждую строку в ваших конфигурационных файлах, так что она может проинтерпретировать строку вида Когда интерпретатор chat обрабатывает каждую строку, он ещё раз просматривает аргумент для того, чтобы найти какую-либо специальную последовательность типа ``\P'' or ``\T'' (обратитесь с справочнику). В результате из-за этой двойной интерпретации вы должны всегда использовать правильное число символов экранирования.

Если вам нужно передать символ ``\'', например, вашему модему, вам необходимо указать что-то типа: set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"

что приведёт к такой последовательности: ATZ OK AT\X OK

или set phone 1234567 set dial "\"\" ATZ OK ATDT\\T"

что даст такую последовательность: ATZ OK ATDT1234567 Ppp получает ошибку защиты, но я не вижу файла

Ppp (или любая другая программа такого рода) никогда не создаёт файлов дампа памяти. Так так ppp запускается с эффективным uid, равным 0, то операционная система не будет записывать дамп памяти ppp на диск перед его завершением. Если, однако ppp $ tar xfz ppp-*.src.tar.gz $ cd ppp*/ppp $ echo STRIP= >>Makefile $ echo CFLAGS+=-g >>Makefile $ make clean all $ su # make install # chmod 555 /usr/sbin/ppp

Теперь у вас есть отладочная версия ppp. Вам нужно стать суперпользователем для запуска ppp, так как соответствующие биты прав были убраны. Когда запустите ppp, обратите особое внимание на то, какой каталог у вас был текущим на этот момент.

Итак, если ppp получит ошибку нарушения защиты, он сбросит дамп памяти с именем ppp.core. Затем вам нужно сделать следующее: $ su # gdb /usr/sbin/ppp ppp.core (gdb) bt ..... (gdb) f 0 ..... (gdb) i args ..... (gdb) l .....

Вся эта информация должна быть предоставлена вместе с вашим вопросом, чтобы проблему можно было продиагностировать.

Если вы умеете обращаться с gdb, вы можете попробовать найти причины образования дампа, а также адреса и значения относящихся к этому переменных. Процесс, вызвавший прозвонку в режиме auto, никогда не получает затребованного соединения

Эта проблема проявлялась, когда Причиной было то, что когда эта программа использует системный вызов , для сокета назначается IP-адрес tun-интерфейса. Ядро создаёт первый исходящий пакет и записывает его в устройство tun. Затем Теоретически есть несколько способов решить эту проблему. Лучше всего, если противоположная сторона назначит интерфейсу тот же самый IP-адрес Самым простым решением будет просто никогда не менять IP-адрес tun-интерфейса, а вместо этого изменять на лету все исходящие пакеты так, чтобы IP-адрес источника менялся с IP-адреса интерфейса на согласованный с противоположной стороной. Это, в сущности, то же самое, что делает опция и ключа Другой возможный (и наверное, самый надёжный) способ - это создать системный вызов, меняющий IP-адреса всем уже связанным сокетам. Ещё одной возможностью является резрешение интерфейсу становиться активным без IP-адреса. Исходящим пакетам будет даваться IP адрес 255.255.255.255 до тех пор, пока не будет дан ioctl-запрос SIOCAIFADDR. приводящий к полной привязке сокета. Почему большинство игр не работает с опцией -alias?

Причиной, по которой игры и подобные программы не работают с библиотекой libalias заключается в том, что внешняя машина будет пытаться открыть соединение или посылать (нежданные) UDP пакеты на машину внутренней сети. Программное обеспечение, обеспечивающее опцию -alias, не знает о том, что должна посылать эти пакеты машине внутренней сети.

Чтобы это всё же заработало, удостоверьтесь, что единственной запущенной программой является программное обеспечение, с которым вы испытываете проблемы, затем напустите tcpdump на tun-интерфейс маршрутизатора либо включите протоколирование tcp/ip в ppp (``set log +tcp/ip'') на маршрутизаторе.

Когда вы запустите некорректно работающее программное обеспечение, вы должны увидеть пакеты, проходящие через маршрутизатор. Когда что-то начнёт приходить извне, оно будет отброшено (в этом-то и проблема). Заметьте номер порта получателя этих пакетов, затем завершите работу вашего программного обеспечения. Выполните эту процедуру несколько раз для того, чтобы убедиться, что номер порта постоянен. Если это так, то следующая строчка в соответствующем разделе /etc/ppp/ppp.conf заставит программное обеспечение функционировать нормально: alias port proto internalmachine:port port

Здесь ``proto'' - это ``tcp'' либо ``udp'', ``internalmachine'' - это машина, которой вы хотите перенаправлять пакеты, и ``port'' - это номер порта получателя пакетов.

Несомненно, вы не сможете использовать программное обеспечение на других машинах, не изменяя указанную выше команду, а также запускать программное обеспечение на двух машинах внутри сети одновременно - в конце концов, внешний мир видит всю вашу сеть как единственную машину.

Есои номера портов непостоянны, есть ещё три варианта:

1) Настройте поддержку этого в libalias. Примеры ``особых случаев'' можно найти в /usr/src/lib/libalias/alias_*.c (alias_ftp.c - хорошее начало). Это означает, что вам нужно будет использовать чтение некоторых распознаваемых исходящих пакетов, обнаруживать команды для установления внешней машиной обратной связи на внутреннюю машину на конкретный (случайный) порт и настраивать ``маршрут'' в таблице соответствий так, чтобы последующие пакеты проходили нормально.

Это самое трудоёмкое решение, но оно наилучшее и позволит программному обеспечению работать на нескольких машинах.

2) Используйте прокси. Приложение может поддерживать, например, socks5 или (как в случае ``cvsup'') может иметь режим ``passive'', обходящийся без запросов к противоположной стороне на открытие обратного соединения.

3) Переназначьте всё на внутреннюю машину с помощью команды ``alias addr''. Это решение в лоб. Что такое ошибки FCS?

FCS является сокращением от show hdlc.

Если у вас плохая линия (или драйвер коммуникационного адаптера отбрасывает пакеты), ошибки FCS неизбежны. Это обычно не является причиной для волнений, хотя это существенно замедляет протоколы компрессии. Если у вас внешний модем, проверьте качество экранирования соединительного кабеля - это может избавить от проблемы.

Если ваша связь замирает, как только вы соединились и наблюдается большое количество ошибок FCS, это может быть вызвано не полной прозрачностью канала для 8-битовых данных. Проверьте, что модем не использует программного управоения потоком, используйте команду set accmap 0x000a0000 для указания ppp экранировать символы ^Q и ^S.

Другой причиной слишком большого количества ошибок FCS может быть прекращение противоположной стороной сеанса close lcp (последующая команда term снова вернёт вас к приглашению shell на удалённой машине).

Если ничего в файле протокола не говорит о том, что связь была прервана, вы должны спросить у администратора удалённой машины (вашего провайдера), почему сеанс был закрыт. Ничего не помогает - я уже отчаялся!

Если всё уже перепробовано, и ничего не получается, пошлите нам максимальное количество информации, ваш конфигурационный файл, способ запуска (до и после соединения) в адрес списка рассылки или в телеконференцию , и может быть, кто-нибудь укажет вам верное направление. Не могу создать устройство /dev/ed0!

В стандарте сетевого взаимодействия Беркли сетевые интерфейсы напрямую доступны только ядру. За дополнительной информацией обратитесь к файлу /etc/rc.network и страницам справочника, описывающим различные сетевые программы, упоминаемые здесь. Если всё это оставит вас в недоумении, почитайте книгу, описывающую администрирование сети в другой BSD-подобной операционной системе; с некоторыми незначитальными исключениями, администрирование сети во FreeBSD в основном совпадает с SunOS 4.0 и Ultrix. Как настроить алиас на Ethernet?

Добавьте `` так, как это сделано здесь: ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff Как заставить адаптер 3C503 использовать другой тип сетевого разъёма?

Если вы хотите задействовать другой разъём, то должны указать дополнительный параметр в командной строке . Разъёмом по умолчанию является ``. У меня проблемы при работе NFS во FreeBSD.

Некоторые сетевые адаптеры работают (мягко говоря) хуже, чем другие что может иногда вызывать проблемы при работе приложений типа NFS, интенсивно использующих сеть.

Подробности описаны в Руководства, посвящённой NFS. Почему я не могу смонтировать диск Linux по NFS?

Некоторые версии NFS для Linux поддерживают запросы на монтирование только с привилегированного порта; попробуйте mount -o -P linuxbox:/blah /mnt Почему я не могу смонтировать диск Sun по NFS?

Рабочие станции Sun под управлением SunOS 4.X поддерживают запросы на монтирование только с привилегированного порта; попробуйте mount -o -P sunbox:/blah /mnt Проблемы при связи по PPP с машинами NeXTStep.

Попробуйте отменить все расширения TCP в , изменив значение следующей переменной в NO: tcp_extensions=NO

Маршрутизаторы Annex фирмы Xylogic не работают по этой же причине, поэтому при подключении к ним вам нужно проделать то же самое. Как включить поддержку multicast IP?

Работа с многоадресной рассылкой по умолчанию полностью поддерживается версиями FreeBSD 2.0 и выше. Если вы хотите использовать ваш компьютер как маршрутизатор многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией MROUTING и запустить /etc/rc.conf установлена в значение "YES".

Приложения MBONE находятся в своей категории портов, mbone. Если вы ищете приложения для организации конференций Более подробная информация располагается на сервере . Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?

Вот список, составленный (Glen Foster), с некоторыми незначительными добавлениями: Производитель Модель ---------------------------------------------- ASUS PCI-L101-TB Accton ENI1203 Cogent EM960PCI Compex ENET32-PCI D-Link DE-530 Dayna DP1203, DP2100 DEC DE435 Danpex EN-9400P3 JCIS Condor JC1260 Linksys EtherPCI Mylex LNP101 SMC EtherPower 10/100 (Model 9332) SMC EtherPower (Model 8432) TopWare TE-3500P Zynx ZX342 Почему я должен использовать FQDN для хостов не в моей сети?

Вы, наверное, обнаружили, что хост, к которому вы обратились, оказался на самом деле в другом домене; например, если вы находитесь в домене foo.bar.edu и хотите обраттиться к хосту ``mumble'' в домене bar.edu, то должны указать его полное доменное имя, ``mumble.bar.edu'', а не просто ``mumble''.

Традиционно, это позволял делать ресолвер BSD BIND. Однако текущая версия , поставляемая с FreeBSD, больше не добавляет имена доменов, отличающихся от того, в котором вы находитесь, для не полностью указанных имён хостов. Так что неполно указанный хост mumble будет найден либо как mumble.foo.bar.edu, либо будет искаться в корневом домене.

Это отличается от предыдущего поведения, при котором поиск продолжался в mumble.bar.edu, и mumble.edu. Посмотрите RFC 1535 о причинах объявления такого поведения плохой практикой и даже ошибкой в безопасности.

Как хорошее решение, вы можете поместить строку search foo.bar.edu bar.edu

вместо ранее используемой domain foo.bar.edu

в файл . Однако удостоверьтесь, что порядок поиска не нарушает ``границ полномочий между местным и внешним администрированием'', как это названо в RFC 1535. ``Permission denied'' для любых действий в сети.

Если вы компилировали ядро с опцией Если вы случайно неверно отконфигурировали брандмауэр, то для восстановления работоспособность сети дайте такую команду, войдя суперпользователем: ipfw add 65534 allow all from any to any

Также вы можете установить "firewall_type='open'" в файле /etc/rc.conf.

Более подробная информация о конфигурировании брандмауэра в FreeBSD находится в Руководства. Какую нагрузку вызывает использование IPFW?

Ответ на этот вопрос зависит главным образом от набора правил и производительности процессора. Для большинства приложений, имеющих дело с ethernet и простым набором правил, ответ: незначительно. Для тех, кому нужны реальные цифры для удовлетвореия любопытства, читайте дальше.

Следующие измерения были сделаны с использованием 2.2.5-STABLE на машине 486-66. IPFW был модифицирован для измерения времени, затрачиваемого внутри процедуры Тестировались два набора по 1000 правил в каждом. Первый набор был предназначен для демонстрации наихудшего случая, повторяя условие ipfw add deny tcp from any to any 55555

Это наихудший случай, так как все условия IPFW будут проверены перед тем, как будет принято окончательное решение о том, что пакет не соответствует условию (мы меняли номер порта). После 999 повторений этого условия находилось правило allow ip from any to any.

Второй набор был предназначен для быстрого прерывания процесса проверки условий: ipfw add deny ip from 1.2.3.4 to 1.2.3.4

Неподходяший IP-адрес источника для указанного условия быстро вызывает пропуск этого правила. Как и ранее, последним правилом было allow ip from any to any.

Затраты на обработку пакета в первом случае было примерно 2.703 мс/пакет, или примерно 2.7 микросекунд на правило. Таким образом, теоретический предел скорости обработки пакетов с этими правилами равен примерно 370 пакетам в секунду. Предполагая использование ethernet 10Мб/с с размером пакета примерно 1500, мы можем достигнуть только 55.5% использования пропускной способности.

В последнем случае на обработку каждого пакета было затрачено примерно 1.172мс, или около 1.2 микросекунд на правило. Теоретический предел обработки будет равен около 853 пакетам в секунду, что почти соответствует скорости 10Мб/с ethernet.

Большое количество протестированных правил и природа этих правил не даёт представление о реальной жизни - они были использованы только для генерации информации о времени обработки. Вот несколько наблюдений, которые нужно иметь в виду для построении эффективного набора правил: Поместите правило `established' в самое начало списка для обработки основного трафика TCP. Не помещайте перед ним никаких правил allow tcp. Старайтесь помещать часто вызываемые правила как можно раньше, а редко используемые - позже (без изменения политики, конечно). Вы можете выяснить частоту использования правил с помощью вывода статистики командой ipfw -a l. Как можно перенаправить запросы с одной машины на другую?

Вы можете перенаправить запрос на FTP (или другой сервис) с помощью пакаджа 'socket', доступного в дереве портов в категории 'sysutils'. Просто замените командную строку запуска сервиса на вызов socket, типа: ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.foo.com ftp

где 'ftp.foo.com' и 'ftp' являются соответственно хостом и портом для перенаправления. Где можно найти средства управления сетевым трафиком?

Для FreeBSD существуют два средства управления трафиком: свободно распространяемый и коммерческий продукт Bandwidth Manager от . Почему появляются сообщения ``/dev/bpf0: device not configured"?

Для работы программ, использующих Berkeley Packet Filter необходимо включение в ядро соответствующего драйвера. Перекомпилируйте ядро, добавив в его конфигурационный файл следующую строку: pseudo-device bpfilter # Berkeley Packet Filter

Затем, после перезапуска системы, вам нужно создать соответствующий файл устройства. Это можно сделать, сменив текущий каталог на /dev и выполнив команду # sh MAKEDEV bpf0

Обратитесь к разделу руководства, посвящённому за подробной информацией по этому вопросу. diff --git a/ru_RU.KOI8-R/FAQ/preface.sgml b/ru_RU.KOI8-R/FAQ/preface.sgml index be66e92e5a..979ca1b12f 100644 --- a/ru_RU.KOI8-R/FAQ/preface.sgml +++ b/ru_RU.KOI8-R/FAQ/preface.sgml @@ -1,637 +1,638 @@ - + Предисловие

Добро пожаловать во FreeBSD 2.X FAQ! Для чего предназначен этот FAQ?

Как и обычный FAQ конференций Usenet, этот документ содержит большинство из часто задаваемых вопросов, касающихся операционной системы FreeBSD (и, конечно, ответы на них). Первоначально предназначенный для уменьшения потока сообщений и избежания повторения одних и тех же вопросов, постепенно FAQ превратился в ценный источник информации.

Мы прилагаем все усилия, чтобы сделать этот FAQ максимально информативным; если у вас есть идеи по его усовершенствованию, пожалуйста, напишите . FreeBSD - что это такое?

В двух словах, FreeBSD 2.X - это UN*X-подобная операционная система, основанная на версии 4.4BSD Калифорнийского Университета (Беркли) для платформы i386. Также она косвенно базируется на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом Джолитцем (William Jolitz)), хотя от того первоначального кода осталось очень мало. Более подробные объяснения того, что представляет из себя FreeBSD и для чего она может вам пригодиться, можно найти на .

FreeBSD используется компаниями, Интернет-провайдерами, научными работниками, профессионалами в вычислительной технике, студентами и рядовыми пользователями по всему миру для работы, образования и отдыха. Вы можете увидеть некоторых из них в нашей .

Для более детального ознакомления с FreeBSD, пожалуйста, обращайтесь к Каковы цели FreeBSD?

Цели, преследуемые проектом FreeBSD - это предоставление программного обеспечения, которое может быть использовано в любых целях без всяческих ограничений. Многие из нас вкладывают значительные усилия в её разработку (и проектирование) и определённо были бы не против получения финансовой поддержки, но мы не собираемся её требовать. Мы надеемся, что наша основная и самая значительная "миссия" - предоставить код всем желающим, для любых целей, так чтобы он нашел самое широкое применение и принес наибольшую пользу. Это, на наш взгляд, одна из самых фундаментальных целей Free Software, которую мы с энтузиазмом поддерживаем.

Исходный код, который подпадает под действие GNU Public License (GPL) или GNU Library Public License (GLPL), имеет несколько больше ограничений, хотя это и навязывание доступа к исходным текстам, а не наоборот, как обычно. Из-за дополнительных сложностей, которые могут возникнуть в случае коммерческого использования программного обеспечения GPL, мы стараемся, где это только возможно, заменить подобное программное обеспечение аналогичным, но подпадающим под более свободную лицензию BSD. Почему система называется именно FreeBSD?

Она может использоваться безо всяческих выплат, даже для извлечения выгоды. Все исходные тексты операционной системы свободно доступны, на её использование в других разработках (как коммерческих, так и некоммерческих) и дальнейшее распространение наложены минимальные ограничения. Любой, у кого есть усовершенствования и/или исправления, может предоставить свой код и он будет (правда, с парой оговорок) добавлен в исходные тексты системы.

Для тех наших читателей, для которых английский не является родным языком, можно добавить, что слово ``free'' используется здесь в двух смыслах, один означает ``бесплатно'', а другой ``вы можете делать все что хотите''. За исключением пары вещей, которые вы Какова последняя версия FreeBSD?

Версия , выпущенная в феврале 1999 года, является самой последней Если говорить коротко, то ветка Что такое FreeBSD-current? -

- это +

- это версия операционной системы, находящаяся в стадии разработки до момента выпуска 4.0-RELEASE. Таким образом, она представляет реальный интерес только для разработчиков системы и её фанатов. - Обратитесь к соответствующему - + Обратитесь к для прояснения деталей работы с -current.

Если вы не специалист по операционным системам или не в состоянии отличить реальную проблему от временных явлений, вы не должны использовать FreeBSD-current. Эта ветвь зачастую меняется очень быстро и вполне может быть просто не работоспособна некоторое время. Те, кто используют FreeBSD-current, должны быть в состоянии анализировать любые проблемы и сообщать о них, если это действительно ошибки, а не ``глюки''. Сообщения типа ``make world produces some error about groups'' в списке рассылки -current иногда воспринимаются пренебрежительно.

Из ветви -current регулярно делаются , некоторые из которых доступны на CDROM. Их предназначение: Тестирование самой последней версии инсталлятора. Дать людям, которые хотят работать с -current, но не имеют времени и/или мозможности (пропускной способности) для отслеживания ежедневных измененений, простой способ её установки. Фиксация точки для последующих ссылок в случае, если позже мы что-нибудь очень сильно сломаем. (Хотя CVS, как правило, не позволяет случиться ничему такому ужасному :) Любые новые возможности, которым требуется тестирование, должны иметь как можно больше потенциальных тестеров.

Не утверждается, что всякий снапшот имеет качество ``готового продукта''. Для стабильной и надежной работы вам нужно подождать полного релиза.

Снапшоты доступны непосредственно с и, как правило, генерируются ежедневно для веток 4.0-current и 3.0-stable. В чём смысл FreeBSD-stable?

После того, как была выпущена FreeBSD 2.0.5, мы решили разделить разработку FreeBSD на две части. Одна ветка была названа , с тем предназначением, что в ней будут делаться только хорошо оттестированные исправления и маленькие последовательные усовершенствования (для провайдеров услуг Интернет и других коммерческих пользователей, для которых неожиданные изменения или экспериментальные возможности весьма - нежелательны). Другой ветвью является - , которая - по существу является прямой линией, ведущей к 4.0-RELEASE (и + нежелательны). Другой ветвью является , + которая по существу является прямой линией, ведущей к 4.0-RELEASE (и последующим) с тех пор, как была выпущена 2.0. Если вам поможет картинка, то вот как это выглядит: 2.0 | | | [2.1-stable] *ВЕТВЬ* 2.0.5 -> 2.1 -> 2.1.5 -> 2.1.6 -> 2.1.7.1 [конец 2.1-stable] | (Мар 1997) | | | [2.2-stable] *ВЕТВЬ* 2.2.1 -> 2.2.2-RELEASE -> 2.2.5 -> 2.2.6 -> 2.2.7 -> 2.2.8 [конец] | (Мар 1997) (Окт 97) (Апр 98) (Июл 98) (Дек 98) | | 3.0-SNAPs (начало в I квартале 1997) | | 3.0.0-RELEASE (Окт 1998) | | [3.0-stable] *ВЕТВЬ* 3.1 (Фев 1999) -> ... будущие релизы 3.x ... | | \|/ + [продолжение 4.0-current]

Ветвь -current постепенно переходит в 4.0 и выше, тогда как предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8. Теперь его заменила ветвь 3.0-stable, первый релиз которой, 3.1, выйдет в начале 1999 года. "Текущей веткой" сейчас является 4.0-current, первый релиз которой появится в первом квартале 2000 года. В какой момент выпускаются новые версии FreeBSD?

Как правило, основная группа разработчиков выпускает новую версию, только когда они уверены, что добавленных новых возможностей и/или внесённых исправлений уже достаточно и новый релиз не потеряет стабильности. Многие пользователи оценивают эту осторожность как одну из лучших сторон FreeBSD, хотя она несколько разочаровывает, если вам не терпится попробовать новые возможности..

В среднем новые версии выпускаются примерно каждые четыре месяца.

Для тех, кому не терпится, предназначены SNAP-релизы, выпускаемые более часто, в частности, в течении месяца перед релизом. FreeBSD доступна только для персональных компьютеров?

В настоящее время FreeBSD 3.x работает как на архитектуре x86, так и на платформе . Некоторый интерес был проявлен к переносу на SPARC, однако подробности этого проекта ещё не ясны. Если ваш компьютер имеет другую архитектуру и вам нужно что-то прямо сейчас, советуем попробовать или . Кто разрабатывает FreeBSD?

Решения, которые касаются ключевых моментов в проекте FreeBSD, такие, как общее направление развития проекта или кто может добавлять код к дереву исходных текстов, принимаются - + разработчиков (core team), состоящей из 15 человек. Также существует гораздо большая группа из более 100 (committers), которые могут делать изменения прямо в дереве исходных текстов FreeBSD.

Однако, большинство нетривиальных изменений широко обсуждается в , и не существует никаких ограничений на участие в подобных дискуссиях. Где можно найти FreeBSD?

Все основные релизы FreeBSD доступны по ftp с : Текущий релиз 2.2-stable, 2.2.8R, находится в каталоге . Текущий релиз 3.0-stable, 3.0-RELEASE, находится в каталоге . Релизы делаются ежедневно из ветки RELENG_2_2 (после 2.2.8), которая постепенно переходит в режим сопровождения. Ветвь RELENG_2_2 ведётся очень аккуратно и сейчас туда не вносятся изменений, кроме как жизненно необходимых по соображениям безопасности и надёжности. Выпуски также делаются ежедневно из ветки RELENG_3 (после 3.0-release), пока она переходит в 3.1-RELEASE. Выпуски , которые деляются ежедневно из ветви , предназначены для тестеров и разработчиков.

FreeBSD также доступна через CDROM, по такому алресу:

Walnut Creek CDROM 4041 Pike Lane, Suite F Concord, CA 94520 USA Orders: +1 800 786-9907 Questions: +1 925 674-0783 FAX: +1 925 674-0821 email: WWW:

В Австралии вы можете найти по адресу:

Advanced Multimedia Distributors Factory 1/1 Ovata Drive Tullamarine, Melbourne Victoria Australia Voice: +61 3 9338 6777 CDROM Support BBS 17 Irvine St Peppermint Grove WA 6011 Voice: +61 9 385-3793 Fax: +61 9 385-2360 И в Великобритании: The Public Domain & Shareware Library Winscombe House, Beacon Rd Crowborough Sussex. TN6 1UL Voice: +44 1892 663-298 Fax: +44 1892 667-473 Где найти информацию по спискам рассылки FreeBSD?

Исчерпывающая информация содержится в Руководства, который посвящен спискам рассылки. Какие существуют телеконференции по FreeBSD?

Полная информация о группах новостей есть в Руководства, касающемся телеконференций. Существуют ли каналы IRC (Internet Relay Chat) по FreeBSD?

Да, большинство сетей IRC имеют канал FreeBSD: Канал #FreeBSD в сети EFNet посвящён FreeBSD, но не обращайтесь туда за технической поддержкой и даже не пытайтесь найти человека, который поможет вам обойтись без чтения страниц Справочника или собственных изысканий. Этот канал предназначен в первую и основную очередь для общения, и в круг обсуждаемых тем входит секс, спорт, ядерное оружие, как будто это и есть FreeBSD. В общем, вас предупредили! Канал доступен на сервере irc.chat.org. Канал #FreeBSD в сети DALNET доступен на сервере irc.dal.net в США и на irc.eu.dal.net в Европе. Канал #FreeBSD в сети UNDERNET доступен на серверах us.undernet.org в США и eu.undernet.org в Европе. Похож на канал в сети EFNET - не задавайте вопросов или научитесь задавать их чрезвычайно вежливо, если хотите получить помощь. Это канал для общения, а не для получения помощи. Наконец, вы можете подключиться к каналу #FreeBSD в сети BSDNET, посвящённой исключительно BSD, на сервере irc.FreeBSD.org. Эта сеть пытается быть посвящённой в большей степени технической поддержке и не быть такой анархистской, как EFNET, UNDERNET или DALNET, однако по этой же причине она и не столь популярна. Почему бы сегодня кому-нибудь не взяться и поотвечать на вопросы на BSDNET?

Все эти каналы разные и не имеют отношения друг к другу. Их стили общения также отличаются, так что вам, может быть, придётся попробовать все, чтобы найти тот, который соответствует вашему стилю. Как и обычно с *любым* каналом IRC, если вы легко раздражаетесь или не можете иметь дела с большим количеством лиц школьного (и младшего школьного) возраста, пытающихся озвучить свои попытки самоутверждения, не обращайте на это внимания. Книги по FreeBSD

Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше к нему присоединиться) через список рассылки doc: . Этот список рассылки предназначен для обсуждения документации FreeBSD. Для вопросов по системе предназначен список рассылки questions: .

``Руководство'' по FreeBSD доступно и может быть найдено на . Заметьте, что этот проект находится в процессе разработки, так что некоторые части могут отсутствовать.

Прекрасным печатным руководством по FreeBSD является книга ``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и изданная Walnut Creek CDROM Books. В настоящее время вышло второе издание, содержащее 1,750 страниц руководств по установке и администрированию системы и прикладных программ, а также страницы Справочника. Книга (и последний релиз FreeBSD) может быть заказана у , , или в вашем любимом книжном магазине. Индекс ISBN 1-57176-227-2.

Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2, большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X. O'Reilly and Associates издают следующие руководства: 4.4BSD System Manager's Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 804 pages : 1-56592-080-5 4.4BSD User's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 905 pages : 1-56592-075-9 4.4BSD User's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 712 pages : 1-56592-076-7 4.4BSD Programmer's Reference Manual By Computer Systems Research Group, UC Berkeley 1st Edition June 1994, 886 pages : 1-56592-078-3 4.4BSD Programmer's Supplementary Documents By Computer Systems Research Group, UC Berkeley 1st Edition July 1994, 596 pages : 1-56592-079-1

Описание этих книг может быть найдено через WWW: . Из-за малых объёмов продаж, эти книги найти труднее.

Вы не ошибётесь, если для подробного ознакомления с устройством ядра 4.4BSD kernel обратитесь к следующей литературе:

McKusick, Marshall Kirk, Keith Bostic, Michael J Karels, and John Quarterman.

The Design and Implementation of the 4.4BSD Operating System. Reading, Mass. : Addison-Wesley, 1996. 0-201-54979-4

Хорошей книгой по системному администрированию является:

Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, ``Unix System Administration Handbook'', Prentice-Hall, 1995 : 0-13-151051-7

Эта книга касается основ администрирования, в том числе протоколов TCP/IP, DNS, NFS, SLIP/PPP, sendmail, INN/NNTP, системы печати итд.. Она сравнительно дорогая (примерно US$45-$55), но стоит того. К ней прилагается также компакт-диск с исходными текстами различных утилит; большинство их них, однако, также присутствуют на диске FreeBSD 2.2.6R (на котором к тому же часто находятся более свежие версии). Как можно получить доступ к вашей базе сообщений о проблемах (Problem Report)?

Сообщения пользователей о всех открытых проблемах могут быть запрошены (или добавлены) с помощью нашего и . Команда send-pr(1) также может быть использована для передачи сообщений о проблеме и изменении запроса через электронную почту. Где можно найти FAQ в форматах ASCII/PostScript?

Актуальная версия FAQ в форматах PostScript и обычного текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого его зеркала.

Как PostScript (примерно 370Кб):

Как текст ASCII (примерно 220Кб):

Как текст ISO 8859-1 (примерно 220Кб): Где можно найти Руководство в форматах ASCII/PostScript?

Актуальная версия Руководства в форматах PostScript и обычного текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого его зеркала.

Как PostScript (примерно 1.7Мб):

Как текст ASCII (примерно 1080Кб):

Как текст ISO 8859-1 (примерно 1080Кб): Руководство в формате ASCII - не чистый текст!

Действительно, FAQ и Руководство в форматах ASCII и Latin1 не являются чисто текстовыми документами; они содержат символы форматирования для вывода на печать. Если вам нужно преобразовать эти документы к виду, пригодному для чтения, обработайте файл программой col: $ col -b < inputfile > outputfile Могу ли я зазеркалировать веб-сервер FreeBSD?

Несомненно! Есть несколько способов это сделать. С помошью CVSUP: Вы можете скачивать отформатированные файлы с помощью CVSUP с сервера cvsup.freebsd.org. Добавьте следующую строку в конфигурационный файл cvsup: www release=current hostname=/home base=/usr/local/etc/cvsup prefix=/usr/local/www/data/www.freebsd.org delete old use-rel-suffix С помощью rsync: Обратитесь к странице, посвященной . С помощью зеркалирования ftp: Вы можете скачать копию веб-сервера, находящуюся на ftp, используя ваше любимое средство зеркалирования ftp. Просто начните с каталога ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/www. Я могу перевести документацию на язык племени мумбо-юмбо.

Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам бесплатный CD или футболку и внести вас в список составителей Руководства, если вы предоставите перевод. Другие источники информации.

Следующие телеконференции содержат информацию о FreeBSD, которая будет полезна её пользователям: (модерируемая)

Ресурсы Internet: .

В Руководстве по FreeBSD имеется достаточно полный , который стоит посмотреть, если вы хотите подыскать книгу по системе. diff --git a/ru_RU.KOI8-R/FAQ/x.sgml b/ru_RU.KOI8-R/FAQ/x.sgml index 3371a1ad2c..a663822340 100644 --- a/ru_RU.KOI8-R/FAQ/x.sgml +++ b/ru_RU.KOI8-R/FAQ/x.sgml @@ -1,391 +1,391 @@ - + X Window System и виртуальные консоли Я хочу запустить X, как это сделать?

Самый простой способ - это указать во время инсталляции, что вы хотите использовать X.

Затем следуйте указаниям в документации по утилите , которая предназначена для конфигурирования работы XFree86(tm) с вашим графическим адаптером/мышью/итд. -

Вы можете также попробовать сервер Xaccel, доступный по вполне - разумной цене. Подробности находятся в главе о - . +

Вы можете также попробовать сервер Xaccel. За подробной информацией + обратитесь к разделу, посвящённому продуктам фирм и . Почему моя мышь не работает с X?

Если вы используете syscons (стандартный драйвер консоли), то можете настроить поддержку указателя мыши во всех виртуальных экранах. Во избежание конфликтов с X, драйвер syscons поддерживает виртуальное устройство ``/dev/sysmouse''. Все события, полученные от реальной мыши, пишутся в устройство sysmouse, реализующее протокол MouseSystems. Если вы хотите использовать вашу мышь на одной или нескольких виртуальных консолях, /etc/rc.conf: moused_type=ps/2 # or whatever your actual type is moused_port=/dev/psm0 # or whatever your real port is moused_flags= /etc/XF86Config Section Pointer Protocol "MouseSystems" Device "/dev/sysmouse" .....

Некоторые предпочитаюют использовать в X устройство ``/dev/mouse''. Чтобы оно работало, файл устройства должен являться ссылкой на : # cd /dev # rm -f mouse # ln -s sysmouse mouse Меню и диалоговые окна в X Window работают неправильно!

Попробуйте выключить Num Lock.

Если клавиша Num Lock во время загрузки по умолчанию включена, добавьте в секцию `` # Let the server do the NumLock processing. This should only be # required when using pre-R6 clients ServerNumLock Что такое виртуальные консоли и как изменить их количество?

Виртуальные консоли, упрощённо говоря, позволяют вам иметь несколько одновременных сеансов работы с той же самой машиной без установки какой бы то ни было сети или запуска X.

При запуске системы после вывода сообщений этапа загрузки на консоль выдаётся приглашение на вход в систему. Вы можете ввести своё имя и пароль и начать работать (или играть!) на первой виртуальной консоли.

В какой-то момент вы можете захотеть запустить ещё одну сеанс, скажем, чтобы заглянуть в документацию по программе, которую вы запустили или для для чтения электронной почты во время ожидания завершения передачи данных по FTP. Просто нажмите Alt-F2 (удерживая клавишу Alt, нажмите F2) и вы обнаружите приглашение, ждущее вас на второй ``виртуальной консоли''! Когда захотите вернуться к первоначальному сеансу, нажмите Alt-F1.

После инсталляции по умолчанию во FreeBSD задействованы три виртуальных консоли, а комбинации клавиш Alt-F1, Alt-F2, и Alt-F3 служат для переключения между ними. Чтобы увеличить количество консолей, отредактируйте файл , добавив туда записи для терминалов с именами от `` # Edit the existing entry for ttyv3 in /etc/ttys and change # "off" to "on". ttyv3 "/usr/libexec/getty Pc" cons25 on secure ttyv4 "/usr/libexec/getty Pc" cons25 on secure ttyv5 "/usr/libexec/getty Pc" cons25 on secure ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/libexec/getty Pc" cons25 on secure ttyv9 "/usr/libexec/getty Pc" cons25 on secure ttyva "/usr/libexec/getty Pc" cons25 on secure ttyvb "/usr/libexec/getty Pc" cons25 on secure

Используйте из них столько, сколько посчитаете нужным. Чем больше виртуальных терминалов у вас имеется, тем больше ресурсов они используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ. Вы можете сменить статус консолей с ``Самым простым способом убрать консоль является просто её выключение. Например, если вы запустили на всех 12 консолях виртуальные терминалы, как указано выше, и ещё хотите запустить X, то должны будете изменить параметры двенадцатого виртуального терминала с: ttyvb "/usr/libexec/getty Pc" cons25 on secure

на: ttyvb "/usr/libexec/getty Pc" cons25 off secure

Если на вашей клавиатуре только десять функциональных клавиш, то последние строки будут выглядеть так: ttyv9 "/usr/libexec/getty Pc" cons25 off secure ttyva "/usr/libexec/getty Pc" cons25 off secure ttyvb "/usr/libexec/getty Pc" cons25 off secure

(Вы также можете просто их удалить.)

После того, как вы отредактировали файл , проверьте, что у вас имеется достаточное количество устройств для виртуальных терминалов. Самый простой способ сделать это: # cd /dev # ./MAKEDEV vty12 # For 12 devices

Самым простым (и надёжным) способом активировать виртуальные консоли является перезагрузка. Однако если вы вовсе не хотите этого делать, просто остановите X Window System и выполните (как администратор): kill -HUP 1

При этом требуется, чтобы вы полностью закрыли X Window, если она была запущена, до запуска этой команды. Если вы это не сделаете, ваша система может повиснуть/заблокироваться после выполнения команды kill. Как осуществляется доступ к виртуальным консолям из X?

Если на консоли запущена X Window, вы можете использовать комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим работы с виртуальной консолью. Заметьте, однако, что как только вы переключитесь из X Window в виртуальный терминал, вы можете использовать только Alt- клавиши для переключения в другой виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X, то в старых релизах вы может обнаружить, что ваша текстовая консоль осталась в режиме ``заблокированного control''. Нажмите эту клавишу ещё раз. Как запустить XDM во время загрузки?

Есть две философские школы, проповедующие различные методы запуска . Последователи одного течения запускают xdm из , используя приводимый пример, тогда как другие вставляют запуск xdm в скрипт или /usr/local/etc/rc.d. Оба метода равноправны, и один из них может работать в ситуациях, с которыми не справляется другой и наоборот. В обоих случая результат один и тот же: X выводит графическое приглашение login:.

Плюсом метода с использованием ttys является документрование того, на каком vty будет запущен X и то, что ответственность за перезапуск X-сервера при завершении сеанса работы лежит на процессе init. Метод с использованием rc.local позволяет просто прекратить работу xdm, если при запуске X возникли какие-нибудь проблемы.

Из rc.local В предыдущей версии FAQ говорилось о необходимости добавления /usr/X11R6/lib/X11/xdm/Xservers. На самом деле делать это необязательно: X будет использовать первый свободный При запуске xconsole выдаётся сообщение ``Couldn't open console''.

Если вы запускаете через скрипт , права на устройство /dev/console и , не будут работать.

Это зависит от прав доступа, установленных для консоли по умолчанию. В многопользовательской системе вовсе не нужно, чтобы любой пользователь мог выводить информацию на системную консоль. Для пользователей, вошедших в систему через VTY, для решения этой проблемы существует файл .

В общем, раскомментируйте строчку вида /dev/ttyv0 0600 /dev/console

в файле , и этого будет достаточно для того, чтобы всякий, кто вошёл в систему с /dev/ttyv0, будет иметь доступ к консоли. Моя мышь PS/2 в X работает неправильно.

Вполне может быть, что ваша мышь и её драйвер рассинхронизировались.

В версиях 2.2.5 и более ранних это может произойти при переключении из X в виртуальный терминал и последующем возвращении в X. Если эта проблема возникает достаточно часто, попробуйте добавить следующую строку в файл конфигурации ядра и перекомпилировать его. options PSM_CHECKSYNC

Если у вас нет опыта перекомпиляции ядра, обратитесь к .

С этой опцией проблем с синхронизацией мыши и её драйвера должно быть меньше. Если, однако, эта проблема всё же осталась, щёлкните любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать попытку синхронизироваться.

Заметьте, что в некоторых системах эта опция может не работать и приводить к отключению функции ``tap'' устройства ALPS GlidePoint, подключенного к порту мыши PS/2.

В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше и включена в стандартный драйвер мыши PS/2. Она должна работать даже с GlidePort. (Так как код проверки стал стандартной функцией, опция PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы будете видеть такие сообщения ядра: psmintr: out of sync (xxxx != yyyy) а также обнаружите, что мышь теперь работает неправильно.

Если это случится, отмените проверку согласования, установив значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор UserConfig, задав опцию ``-c'' в приглашении загрузчика: boot: -c Затем в командной строке UserConfig наберите: UserConfig> flags psm0 0x100 UserConfig> quit Моя мышь PS/2 от MouseSystems похоже, не работает.

Было несколько сообщений, что некоторые модели мышей PS/2 от MouseSystems работают только в режиме ``высокого разрешения''. В других режимах курсор мыши постоянно прыгает в верхний левый угол экрана.

К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к файлу /sys/i386/isa/psm.c и перестройте ядро. Если у вас нет опыта перекомпиляции ядра, обратитесь к . diff -u psm.c.orig psm.c @@ -766,6 +766,8 @@ if (verbose >= 2) log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n", unit, i); + set_mouse_resolution(sc->kbdc, PSMD_RES_HIGH); + #if 0 set_mouse_scaling(sc->kbdc); /* 1:1 scaling */ set_mouse_mode(sc->kbdc); /* stream mode */

Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2 для перевода её в режим высокого разрешения. Войдите в UserConfig, задав опцию ``-c'' в приглашении загрузчика: boot: -c Затем в командной строке UserConfig наберите: UserConfig> flags psm0 0x04 UserConfig> quit

В предыдущем разделе описана возможная причина проблем с мышью. При компиляции приложений для X

Файл Imake.tmpl является частью пакета Imake, стандартного инструмента для построения X-приложений. Он, также как ещё несколько заголовочных файлов, требуемых для построения X-приложений, содержится в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall или взять из дистрибутива X.

Как поменять местами кнопки мыши?

Поместите команду