Обратитесь в фирму , предлагающую
- дистрибутив Motif 2.0 для FreeBSD.
+ Обратитесь в фирму , предлагающую
+ дистрибутив Motif 2.1 для FreeBSD в формате ELF.
В Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно
работать с ядром, включающим драйвер Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы
добиться этого, вы можете использовать После этого запустите Наконец, вам нужно свободное место для построения системы.
Допустим, что свободное место есть в каталоге
/some/big/filesystem и, как в примере выше, вы поместили
дерево CVS в каталог /home/ncvs:
Полный релиз будет строиться в каталоге
/some/big/filesystem/release и по окончании этого процесса
дистрибутив, готовый к помещению на FTP-сервер, будет находиться в
каталоге /some/big/filesystem/release/R/ftp. Если вы захотите
построить SNAP другой ветки, не -current, то можете указать
Весь процесс создания инсталляционных дисков и дистрибутивов
исходных текстов и бинарников автоматизирован в файле
/usr/src/release/Makefile. Информации, в нём содержащейся,
должно быть достаточно, чтобы начать. Однако, должны вас предупредить,
что этот процесс включает в себя выполнение ``make world'' и поэтому
занимает много времени и дискового пространства.
Да, так и должно быть; как говорит название этой команды, ``make
world'' выполняет построение всех системных файлов с нуля, так
что в итоге можете быть уверены, что получите чистую рабочую
систему (вот почему это занимает столько времени).
Если в момент запуска команд ``${DESTDIR}. Однако некоторые случайные
комбинации модификаций совместно используемых библиотек и версий
компилируемых программ при исполнении команды ``
Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость
доступа к шине. Предыдущие версии драйвера 1542 пытались определить
максимально возможную скорость работы и установить это значение. Мы
обнаружили, что у некоторых пользователей это приводило к нарушению
работоспособности системы, поэтому эта возможность сейчас вынесена
в параметр конфигурации ядра ``
Да, это можно делать .
Команда split в современных BSD-системах имеет опцию ``Вот пример из файла /usr/src/Makefile.
Обратитесь к соответствующему И спасибо вам за ваши усилия!
От: Если рассматривать на самом низком уровне, то существует несколько
портов ввода/вывода, в которые должны выводить информацию все адаптеры
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
проявили несколько групп разработчиков, и одна из попыток переноса,
FreeBSD/AXP (ALPHA), оказавшейся достаточно удачной, в настоящее
время доступна в виде релиза 3.0 SNAP по адресу Всё зависит от того, планируете вы сделать этот драйвер
общедоступным или нет. Если это так, то, пожалуйста, пошлите нам
копию исходных текстов драйвера вместе с соответствующими
модификациями в файле files.i386, пример описания устройства
в файле конфигурации ядра и соответствующий код
В ответ на вопрос о других методах размещения каталогов могу
сказать, что используемая в настоящее схема не претерпела изменений
с 1983 года. Эти соглашения были предназначены для оригинальной
файловой системы FFS, я никогда их не пересматривал. Эта схема
прекрасно работает, позволяя избежать переполнения групп дорожек.
Как некоторые из вас замечали, она работает плохо при поиске.
Большинство файловых систем создаются из архивов, которые были
созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что
их каталоги размещаются на нескольких группах дорожек, создавая
наихудший случай для последующего поиска глубиной один. Если бы
было известно общее количество каталогов, которые должны быть созданы,
быходом было бы создание (общее количество / количество групп дорожек)
на дорожку группу перед переходом. Обычно это число определяется чисто
эвристически. Даже при использовании маленького фиксированное числа,
скажем 10, значительно улучшает ситуацию. Чтобы различать операции
восстановления от обычных операций (где текущий алгоритм подходит),
вы можете использовать объединение в кластеры объёмом до 10, если они
делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что
это требует некоторых экспериментов. Кирк МакКузик (Kirk McKusick), Сентябрь 1998
[Этот раздел был вырезан из письма, написанного
[<ben@rosengart.com> отправил письмо, содержащее следующее
аварийное сообщение системы]
[Если] вы увидите такое сообщение, просто его воспроизвести и
послать нам не достаточно. Указатель инструкций, выделенный мною,
важен, к сожалению, его значение зависит от конфигурации ядра.
Другими словами, его значение меняется в зависимости от конкретного
ядра, которое вы используете. Если вы используете ядро GENERIC
одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую
ошибку, но если вы работаете со специально отконфигурированным ядром,
то только Вот что вы должны сделать:
Зачастую люди приводят подобные аварийные сообщения, на редко кто
утруждается привести соотвествие указателя инструкций с функцией в
таблице символов ядра.
Лучшим способом выяснить причину, вызвавшую аварийный останов,
является создание аварийного дампа системы, а затем использование
Во всяком случае, обычно я использую такой способ:
[Замечание: Так как теперь ядра FreeBSD 3.x по умолчанию
имеют формат Elf, вы должны использовать команду
Заметьте, что ВАМ Чтобы включить сброс аварийного дампа, вам нужно отредактировать
файла /etc/rc.conf, чтобы /etc/rc.conf, скрипты /var/crash.
ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный
физическому объёму оперативной памяти вашей машины. Так что если
у вас 64МБ ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны
удостовериться, что в каталоге /var/crash достаточно места
для хранения дампа. Либо вы можете вручную запустить Как только вы получили аварийный дамп, вы можете выполнить
трассировку вызовов с помощью
Заметьте, что при этом может быть выведено несколько экранов
информации; в идеале вы должны использовать Теперь, если вы в самом деле душевнобольной и у вас есть второй
компьютер, то можете настроить [Билл (Bill) добавил: "Я забыл обратить ваше внимание
на одну вещь: если у вас включена поддержка DDB и ядро переходит
в режим отладки, вы можете намеренно вызвать аварийный останов
(и создание аварийного дампа), набрав 'panic' в командной строке
ddb. Этот процесс может снова вызвать отладчик. В этом случае
наберите 'continue' и процесс будет завершён созданием аварийного
дампа." -ed]
По умолчанию при работе с форматом 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
+ ГБ адресного пространства он должен выглядеть примерно так:
+
+ Для вычисления значения Для достижения второй цели вам нужно правильный адрес для загрузки
+ ядра: просто отнимите размер адресного пространства (в байтах) от
+ 0x100100000; результат будет равным 0xc0100000 для адресного
+ пространства в 1 ГБ. Установите значение константы src/sys/i386/conf/Makefile.i386 в это значение; затем
+ установите значение счётчика в начале списка секций в то же самое
+ значение, как это сделано здесь:
+
+ После этого переконфигурируйте и перестройте ядро. Вы можете
+ столкнуться с проблемами при работе утилит /usr/include/vm/).
+
+ ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть
+ кратен четырём мегабайтам.
+
+ [
FreeBSD работает с дисками стандартов EIDE и SCSI (с
соответствующими контроллерами; обратитесь к следующему разделу), и
всеми дисками, использующими оригинальный интерфейс "Western Digital"
(MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI,
использующие собственные интерфейсы, могут и не работать: к таким
относятся WD1002/3/6/7 и их клоны.
Полный список приведён в Полный список приведён в Поддерживаются любые SCSI-устройства чнения компакт дисков,
подключенные к поддерживаемому контроллеру.
Кроме того, поддерживаются следующие оригинальные интерфейсы:
Все не-SCSI адаптеры ставятся своей медлительностью по сравнению
со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать.
С версии 2.2 компакт-диск с FreeBSD от Walnut Creek является
загрузочным.
Несомненно, 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.
Также посмотрите
о съёмных носителях, и
о 'форматировании'.
Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что
для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен
выглядеть как диск IDE.
Посмотрите это о
'форматировании'.
Список таких устройств находится в разделе о Некоторые безымянные клоны таких адаптеров тоже работают нормально,
особенно те, которые заявляют о своей совместимости с AST.
Прочтите страницы Справочника о FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от
таких производителей, как Microsoft, Logitech и ATI. Драйвер
устройства bus mouse включен по умолчанию в ядро GENERIC. Если вы
строите собственное ядро с этим драйвером, добавьте следующую строку
в конфигурационный файл ядра;
Мышь типа bus mouse обычно поставляется с отдельным интерфейсным
адаптером. Он позволяет установить адрес порта ввода/вывода и номер
IRQ, отличающиеся от приведённых выше. Обратитесь к документации по
вашей мыше и страницам Справочника об устройстве Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый
драйвер, psm, включён в ядро и активизирован. Ядро должно обнаружить
мышь PS/2 во время загрузки.
Если вы работаете с предыдущей, но сравнительно свежей версией
FreeBSD (2.1.x и выше), то вы можете просто включить её поддержку в
меню конфигурации ядра во время инсталляции, либо позже, указав
-c в приглашении boot:. По умолчанию она отключена, так что вы должны
включить её явно.
Если вы используете более старую версию FreeBSD, то вам нужно
добавить следующие строки в файл конфигурации ядра и скомпилировать
новое ядро:
Обратитесь к главе Руководства о После того, как ядро правильно обнаружило psm0 во время загрузки,
проверьте существование файла устройства для psm0 в каталоге /dev.
Это можно сделать, набрав:
войдя в систему администратором.
Если вы используете стандартный драйвер консоли, syscons, то можете
использовать указатель мыши в текстовых консолях для выделения и
переноса текста. Запустите демон мыши, moused, и включите отображение
указателя мыши на консоли:
Здесь xxxx - это имя устройства мыши, а yyyy -
тип протокола, используемого мышью. Страница Справочника о
Вы можете запускать демон мыши автоматически во время старта
системы. В версии 2.2.1, установите значение следующей переменной в
/etc/sysconfig.
Начиная с FreeBSD 2.2.6, демон мыши в состоянии определять тип
протокола автоматически, если, конечно, мышь не достаточно
древней модели. Укажите ``auto'' для автоматического
определения типа протокола.
После запуска демона мыши, доступ к мыши должен согласовываться
между демоном мыши и другими программами типа X Window. Этот вопрос
освещён в .
После того, как вы запустили демон мыши (посмотрите ), нажмите кнопку 1 (левую) и
двигайте мышь для выбора области выделения. Затем нажмите кнопку 2
(среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная
с текущей позиции курсора.
В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста.
Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у
вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или
переназначить кнопки опциями программы moused. Обратитесь к странице
Справочника по Ответ, к сожалению, ``в зависимости от обстоятельств''. Эти мышки
с дополнительными возможностями как правило, требуют наличия
специальных драйверов. До тех пор, пока драйвер мыши или прикладная
программа не будут иметь отдельную поддержку такой мыши, она будет
работать как стандартная двух- или трёхкнопочная мышь.
Посмотрите .
И посмотрите на странице о
мобильных вычислениях.
FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с
интерфейсом QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм
(Exabyte) и DAT. Стримеры QIC-40/80 стравнительно медленны.
Некоторые ранние модели 8-мм стримеров не совсем соответствуют
стандарту SCSI-2 и могут работать не совсем хорошо.
FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство Если вы не используете систему FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro,
SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound.
Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров.
Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также
поддерживаются драйвером pcm.
Более полный список содержится в разделе Руководства об
Это не так. Наверное, вас интересует, ``почему своп выглядит - переполненным?''. Если вы подразумевали именно это, то это объясняется - тем, что помещение страницы памяти в своп с последующим восстановлением - оттуда выполняется быстрее, чем её сброс с последующим взятием снова из - (неизменяемых) блоков выполнимого файла из файловой системы. - -
Реальное количество ``грязных'' страниц памяти, которое вы можете - иметь в системе одновременно, не уменьшается; просто по необходимости - происходит сброс ``чистых'' страниц. +
Это только кажется, что для FreeBSD требуется больше места на разделе + подкачки, чем для Linux. На самом деле это не так. Главное отличие + FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно + перемещает неиспользуемые страницы памяти, к которым не было обращений, + в раздел подкачки, чтобы увеличить объём доступной физической памяти + для активного использования. Linux же перемещает страницы памяти в + раздел подкачки только в крайнем случае. Получаемое во FreeBSD + увеличение нагрузки на раздел подкачки компенсируется более эффективным + использованием оперативной памяти. + +
Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
+ она не может сбросить все неактивные страницы в своп при полностью
+ неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
+ проснувшись рано утром, вы обнаружите, что вся ваша система находится в
+ разделе подкачки, хотя она простаивала всю ночь.
Для понимания того, почему FreeBSD использует формат a.out,
вы должны сначала получить представление о трёх "основных" форматах
выполнимых файлов для UNIX:
Это самый старый, `классический' формат объектных файлов для UNIX.
В нём используется короткий и компактный заголовок с магическим числом
в начале, которое часто используется для определения формата
(за подробным описанием обратитесь к странице Справочника о Это формат объектных файлов SVR3. Дополнительно в заголовок
включена таблица секций, так что вы можете иметь их больше, чем только
.text, .data и .bss. Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя
утилиту для пометки конкретного выполнимого файла
за подробной информацией.
FreeBSD выросла на "классических" традициях и традиционно использовала
формат Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были
очень просто устроены. На них могла работать простая, маленькая
система. Формат a.out полностью решал задачу представления программ
на простых системах (PDP-11). Когда же люди перенесли unix с простых
систем, они оставили a.out, так как его было достаточно для ранних
реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.
Затем какой-то умный инженер решил, что если он может заставить
программное обеспечение делать некоторые тонкие манипуляции, то это
позволит преодолеть некоторые ограничения при проектировании и позволит
ядру процессора работать быстрее. Когда это было сделано с новым типом
аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных
размеров, а дисковая (и физическая) память оставалась сравнительно
небольшой, то возникла концепция совместно используемых библиотек.
Система VM также стала более мощной. Хотя каждое из этих нововведений
продолжало использовать формат Однако с течением времени инструменты разработки, на которых
основаны инструменты разработки FreeBSD (особенно ассемблер и
загрузчик), разделились на две параллельные ветви. В дерево FreeBSD
была добавлена поддержка совместно используемых библиотеки и были
исправлены некоторые ошибки. Разработчики из GNU, которые изначально
писали эти программы, полностью их переделали, добавив более простую
поддержку построения кросс-компиляторов, в котором можно использовать
различные форматы, итд. Когда многие захотели строить кросс-компилятор
с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные
тексты, которые FreeBSD использовала для as и ld, не подошли. Новый
набор утилит от GNU (binutils) поддерживает кросс-компиляцию,
Чтобы это работало, используйте опции `` и по Если задан лидирующий слэш, Наверное, вы думаете, что достаточно будет изменить значение
константы Если вы абсолютно уверены, что сможете найти и исправить проблемы
такого рода самостоятельно, когда они возникнут, то можете увеличить
длину регистрационного имени в ранних релизах, отредактировав файл
/usr/include/utmp.h и изменив соответствующим образом константу
UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в
файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE.
И наконец, если вы компилируете из исходных текстов, не забудьте, что
/usr/include обновляется каждый раз! Делайте изменения в
соответствующих файлах каталога /usr/src/.. Да, начиная с версии 3.0, вы можете использовать эмулятор DOS
,
посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в
этом проекте.
Для систем, предшествовавшим 3.0, в коллекции портов есть
замечательная утилита Сокращение Протокол SUP использует пропускную способность канала неэффективно,
и был отвергнут. В настоящее время рекомендуемым методом для
синхронизации исходных текстов является протокол В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я
знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания
FreeBSD. Наверное, он сильно греется.
О. Нет, но мы сделали различные вкусовые тесты у добровольцев с
завязанными глазами, которые до этого приняли по 250 микрограмм
LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина,
тогда как вкус Linux расценивался как фиолетовый туман. Насколько
я помню, ни одна из групп не отметила значительной разницы в
температуре. Вы хотели опубликовать полные результаты этого опроса,
когда обнаружиди, что слишком много добровольцев покинули помещение
во время тестов, что несколько смазало результаты. Я думаю, что
большинство из них работают сейчас в Apple над их новым GUI
``чеши и нюхай''. Это старый добрый бизнес!
Серьёзно, и FreeBSD, и Linux используют инструкцию ``
В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что
вызывает поскрипывание микросхем памяти? При компиляции (и в короткий
промежуток времени после обнаружения дисковода при старте системы)
от микросхем памяти исходит странный царапающий звук.
О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в
документации по BSD, но не многие знают, что это настоящие нематериальные
существа, которые теперь завладели вашим компьютером. Царапающий звук,
издаваемый микросхемами памяти - это на самом деле высокочастотное
перешёптывание между даемонами, когда они решают, как лучше справиться
с различными задачами по администрированию системы.
Если шум достиг ваших ушей. команда DOS ``fdisk /mbr''
их спугнёт, но не удивляйтесь, если они отреагируют соответствующим
образом и попытаются вас остановить. Фактически, если во время
выполнения этой команды вы услышите сатанинский голос Билла Гейтса из
встроенного динамика, бегите и даже не оглядывайтесь! Избавленные
от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто
могут захватить полный контроль не только над вашей машиной и
навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я
думаю, что предпочту царапающий звук.
MFC это сокращение от 'Merged From -CURRENT.' Оно используется в
протоколах изменений CVS для отметки того, что изменение было
перенесено в ветвь STABLE из CURRENT.
+ Это сокращение значит что-то на секретном языке, который могут знать
+ только посвящённые. Это нельзя перевести один к одному, однако
+ достаточно сказать, что перевод с BSD - это что-то между 'Команда
+ Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем
+ Linux.' :-)
+
+ Если серьёзно, то BSD является сокращением от 'Berkeley Software
+ Distribution', названия, которое было выбрано Berkeley CSRG (Computer
+ Systems Research Group) для их дистрибутива Unix.
+
Добро пожаловать во FreeBSD 2.X FAQ!
Как и обычный FAQ конференций Usenet, этот документ содержит
большинство из часто задаваемых вопросов, касающихся
операционной системы FreeBSD (и, конечно, ответы на них).
Первоначально предназначенный для уменьшения потока сообщений и
избежания повторения одних и тех же вопросов, постепенно FAQ
превратился в ценный источник информации.
Мы прилагаем все усилия, чтобы сделать этот FAQ максимально
информативным; если у вас есть идеи по его усовершенствованию,
пожалуйста, напишите
В двух словах, FreeBSD 2.X - это UN*X-подобная операционная
система, основанная на версии 4.4BSD Калифорнийского Университета
(Беркли) для платформы i386. Также она косвенно базируется
на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом
Джолитцем (William Jolitz)), хотя от того
первоначального кода осталось очень мало. Более подробные объяснения
того, что представляет из себя FreeBSD и для чего она может вам
пригодиться, можно найти на FreeBSD используется компаниями, Интернет-провайдерами,
научными работниками, профессионалами в вычислительной технике,
студентами и рядовыми пользователями по всему миру для
работы, образования и отдыха. Вы можете увидеть некоторых из них
в нашей Для более детального ознакомления с FreeBSD, пожалуйста,
обращайтесь к Цели, преследуемые проектом FreeBSD - это предоставление
программного обеспечения, которое может быть использовано в
любых целях без всяческих ограничений. Многие из нас вкладывают
значительные усилия в её разработку (и проектирование) и определённо
были бы не против получения финансовой поддержки,
но мы не собираемся её требовать. Мы надеемся, что наша основная и самая
значительная "миссия" - предоставить код всем желающим, для любых целей,
так чтобы он нашел самое широкое применение и принес наибольшую пользу.
Это, на наш взгляд, одна из самых фундаментальных целей
Free Software, которую мы с энтузиазмом поддерживаем.
Исходный код, который подпадает под действие GNU Public License
(GPL) или GNU Library Public License (GLPL), имеет несколько больше
ограничений, хотя это и навязывание доступа к исходным
текстам, а не наоборот, как обычно. Из-за дополнительных сложностей,
которые могут возникнуть в случае коммерческого использования
программного обеспечения GPL, мы стараемся, где это только
возможно, заменить подобное программное обеспечение аналогичным,
но подпадающим под более свободную лицензию BSD.
Для тех наших читателей, для которых английский не является родным
языком, можно добавить, что слово ``free'' используется здесь
в двух смыслах, один означает ``бесплатно'', а другой
``вы можете делать все что хотите''. За исключением пары вещей,
которые вы
Версия Если вы не специалист по операционным системам или не в состоянии
отличить реальную проблему от временных явлений, вы не должны
использовать FreeBSD-current. Эта ветвь зачастую меняется очень
быстро и вполне может быть просто не работоспособна некоторое
время. Те, кто используют FreeBSD-current, должны быть в состоянии
анализировать любые проблемы и сообщать о них, если это действительно
ошибки, а не ``глюки''. Сообщения типа ``make world produces some error
about groups'' в списке рассылки -current иногда воспринимаются
пренебрежительно.
Из ветви -current регулярно делаются
Не утверждается, что всякий снапшот имеет качество
``готового продукта''. Для стабильной и надежной работы
вам нужно подождать полного релиза.
Снапшоты доступны непосредственно с После того, как была выпущена FreeBSD 2.0.5, мы решили разделить
разработку FreeBSD на две части. Одна ветка была названа Ветвь -current постепенно переходит в 4.0 и выше, тогда как
предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8.
Теперь его заменила ветвь 3.0-stable, первый релиз которой, 3.1,
выйдет в начале 1999 года. "Текущей веткой" сейчас является
4.0-current, первый релиз которой появится в первом квартале 2000 года.
Как правило, основная группа разработчиков выпускает
новую версию, только когда они уверены, что добавленных новых
возможностей и/или внесённых исправлений уже достаточно и новый
релиз не потеряет стабильности. Многие пользователи оценивают эту
осторожность как одну из лучших сторон FreeBSD, хотя она несколько
разочаровывает, если вам не терпится попробовать новые возможности..
В среднем новые версии выпускаются примерно каждые четыре месяца.
Для тех, кому не терпится, предназначены SNAP-релизы,
выпускаемые более часто, в частности, в течении месяца перед релизом.
В настоящее время FreeBSD 3.x работает как на архитектуре x86,
так и на платформе Решения, которые касаются ключевых моментов в проекте FreeBSD,
такие, как общее направление развития проекта или кто
может добавлять код к дереву исходных текстов, принимаются
- Однако, большинство нетривиальных изменений широко обсуждается
в , и не существует
никаких ограничений на участие в подобных дискуссиях.
Все основные релизы FreeBSD доступны по ftp с
FreeBSD также доступна через CDROM, по такому алресу:
Walnut Creek CDROM В Австралии вы можете найти по адресу:
Advanced Multimedia Distributors Исчерпывающая информация содержится в Полная информация о группах новостей есть в Да, большинство сетей IRC имеют канал FreeBSD:
Все эти каналы разные и не имеют отношения друг к другу. Их стили
общения также отличаются, так что вам, может быть,
придётся попробовать все, чтобы найти тот, который соответствует
вашему стилю. Как и обычно с *любым* каналом IRC, если вы
легко раздражаетесь или не можете иметь дела с большим количеством
лиц школьного (и младшего школьного) возраста, пытающихся озвучить
свои попытки самоутверждения, не обращайте на это внимания.
Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше
к нему присоединиться) через список рассылки doc:
``Руководство'' по FreeBSD доступно и может быть найдено на
Прекрасным печатным руководством по FreeBSD является книга
``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и
изданная Walnut Creek CDROM Books. В настоящее время вышло второе
издание, содержащее 1,750 страниц руководств по установке и
администрированию системы и прикладных программ, а также страницы
Справочника. Книга (и последний релиз FreeBSD) может быть заказана у
Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2,
большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X.
O'Reilly and Associates издают следующие руководства:
Описание этих книг может быть найдено через 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. Хорошей книгой по системному администрированию является:
Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, Сообщения пользователей о всех открытых проблемах могут быть
запрошены (или добавлены) с помощью нашего
Актуальная версия FAQ в форматах PostScript и обычного текста (7
бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого
его зеркала.
Как PostScript (примерно 370Кб):
Как текст ASCII (примерно 220Кб):
Как текст ISO 8859-1 (примерно 220Кб):
Актуальная версия Руководства в форматах PostScript и обычного
текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD
или с любого его зеркала.
Как PostScript (примерно 1.7Мб):
Как текст ASCII (примерно 1080Кб):
Как текст ISO 8859-1 (примерно 1080Кб):
Действительно, FAQ и Руководство в форматах ASCII и Latin1 не
являются чисто текстовыми документами; они содержат символы
форматирования для вывода на печать. Если вам нужно преобразовать эти
документы к виду, пригодному для чтения, обработайте файл программой
col:
Несомненно! Есть несколько способов это сделать.
Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам
бесплатный CD или футболку и внести вас в список составителей
Руководства, если вы предоставите перевод.
Следующие телеконференции содержат информацию о FreeBSD, которая
будет полезна её пользователям:
Ресурсы Internet:
В Руководстве по FreeBSD имеется достаточно полный
Самый простой способ - это указать во время инсталляции, что вы хотите использовать X.
Затем следуйте указаниям в документации по утилите Вы можете также попробовать сервер Xaccel, доступный по вполне
- разумной цене. Подробности находятся в главе о
- .
+ Вы можете также попробовать сервер Xaccel. За подробной информацией
+ обратитесь к разделу, посвящённому продуктам фирм и .
Если вы используете syscons (стандартный драйвер консоли), то
можете настроить поддержку указателя мыши во всех виртуальных экранах.
Во избежание конфликтов с X, драйвер syscons поддерживает виртуальное
устройство ``/dev/sysmouse''. Все события, полученные от
реальной мыши, пишутся в устройство sysmouse, реализующее протокол
MouseSystems. Если вы хотите использовать вашу мышь на одной или
нескольких виртуальных консолях, Некоторые предпочитаюют использовать в X устройство
``/dev/mouse''. Чтобы оно работало, файл устройства должен
являться ссылкой на Попробуйте выключить 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
служат для переключения между ними.
Чтобы увеличить количество консолей, отредактируйте файл Используйте из них столько, сколько посчитаете нужным. Чем больше
виртуальных терминалов у вас имеется, тем больше ресурсов они
используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ.
Вы можете сменить статус консолей с `` на:
Если на вашей клавиатуре только десять функциональных клавиш,
то последние строки будут выглядеть так:
(Вы также можете просто их удалить.)
После того, как вы отредактировали файл Самым простым (и надёжным) способом активировать виртуальные
консоли является перезагрузка. Однако если вы вовсе не хотите этого
делать, просто остановите X Window System и выполните (как
администратор):
При этом требуется, чтобы вы полностью закрыли X Window, если она
была запущена, до запуска этой команды. Если вы это не сделаете,
ваша система может повиснуть/заблокироваться после выполнения команды
kill.
Если на консоли запущена X Window, вы можете использовать
комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим
работы с виртуальной консолью. Заметьте, однако, что как только вы
переключитесь из X Window в виртуальный терминал, вы можете
использовать только Alt- клавиши для переключения в другой
виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать
клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X,
то в старых релизах вы может обнаружить, что ваша текстовая консоль
осталась в режиме ``заблокированного control''. Нажмите эту клавишу
ещё раз.
Есть две философские школы, проповедующие различные методы запуска
Плюсом метода с использованием ttys является документрование того,
на каком vty будет запущен X и то, что ответственность за перезапуск
X-сервера при завершении сеанса работы лежит на процессе init. Метод
с использованием rc.local позволяет просто прекратить работу xdm, если
при запуске X возникли какие-нибудь проблемы.
Из rc.local В предыдущей версии FAQ говорилось о необходимости добавления
/usr/X11R6/lib/X11/xdm/Xservers. На самом деле делать это
необязательно: X будет использовать первый свободный
Если вы запускаете Это зависит от прав доступа, установленных для консоли по умолчанию.
В многопользовательской системе вовсе не нужно, чтобы любой
пользователь мог выводить информацию на системную консоль. Для
пользователей, вошедших в систему через VTY, для решения этой проблемы
существует файл В общем, раскомментируйте строчку вида
в файле Вполне может быть, что ваша мышь и её драйвер
рассинхронизировались.
В версиях 2.2.5 и более ранних это может произойти при переключении
из X в виртуальный терминал и последующем возвращении в X. Если эта
проблема возникает достаточно часто, попробуйте добавить следующую
строку в файл конфигурации ядра и перекомпилировать его.
Если у вас нет опыта перекомпиляции ядра, обратитесь к .
С этой опцией проблем с синхронизацией мыши и её драйвера должно
быть меньше. Если, однако, эта проблема всё же осталась, щёлкните
любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать
попытку синхронизироваться.
Заметьте, что в некоторых системах эта опция может не работать и
приводить к отключению функции ``tap'' устройства ALPS GlidePoint,
подключенного к порту мыши PS/2.
В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше
и включена в стандартный драйвер мыши PS/2. Она должна работать даже с
GlidePort. (Так как код проверки стал стандартной функцией, опция
PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях
драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы
будете видеть такие сообщения ядра:
Если это случится, отмените проверку согласования, установив
значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор
UserConfig, задав опцию ``-c'' в приглашении
загрузчика:
Было несколько сообщений, что некоторые модели мышей PS/2 от
MouseSystems работают только в режиме ``высокого разрешения''. В
других режимах курсор мыши постоянно прыгает в верхний левый угол
экрана.
К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не
существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к
файлу /sys/i386/isa/psm.c и перестройте ядро. Если у вас
нет опыта перекомпиляции ядра, обратитесь к .
Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2
для перевода её в режим высокого разрешения. Войдите в
UserConfig, задав опцию ``-c'' в приглашении
загрузчика:
В предыдущем разделе описана возможная причина проблем с мышью.
Файл Imake.tmpl является частью пакета Imake, стандартного
инструмента для построения X-приложений. Он, также как ещё несколько
заголовочных файлов, требуемых для построения X-приложений, содержится
в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall
или взять из дистрибутива X. Поместите команду
Обратитесь в фирму , предлагающую
- дистрибутив Motif 2.0 для FreeBSD.
+ Обратитесь в фирму , предлагающую
+ дистрибутив Motif 2.1 для FreeBSD в формате ELF. В этот дистрибутив включены:
+ При оформлении заказа не забудьте указать, что вам нужна версия Motif
+ для FreeBSD! Apps2go также продаёт версии для NetBSD и OpenBSD.
+ В настоящий момент их можно скачать только по FTP.
+
+ Обратитесь в фирму для получения
+ дистрибутива Motif 2.1 для FreeBSD в форматах ELF или a.out.
+
+ В этот дистрибутив включены:
+ При заказе обязательно отметьте, что вам требуется версия Motif
+ именно для FreeBSD! Metro Link также предлагает версии для
+ Linux. Они доступны на CDROM или для скачивания по FTP.
+
+
В Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно
работать с ядром, включающим драйвер Во-вторых, вам нужно иметь на диске полное дерево CVS. Чтобы
добиться этого, вы можете использовать После этого запустите Наконец, вам нужно свободное место для построения системы.
Допустим, что свободное место есть в каталоге
/some/big/filesystem и, как в примере выше, вы поместили
дерево CVS в каталог /home/ncvs:
Полный релиз будет строиться в каталоге
/some/big/filesystem/release и по окончании этого процесса
дистрибутив, готовый к помещению на FTP-сервер, будет находиться в
каталоге /some/big/filesystem/release/R/ftp. Если вы захотите
построить SNAP другой ветки, не -current, то можете указать
Весь процесс создания инсталляционных дисков и дистрибутивов
исходных текстов и бинарников автоматизирован в файле
/usr/src/release/Makefile. Информации, в нём содержащейся,
должно быть достаточно, чтобы начать. Однако, должны вас предупредить,
что этот процесс включает в себя выполнение ``make world'' и поэтому
занимает много времени и дискового пространства.
Да, так и должно быть; как говорит название этой команды, ``make
world'' выполняет построение всех системных файлов с нуля, так
что в итоге можете быть уверены, что получите чистую рабочую
систему (вот почему это занимает столько времени).
Если в момент запуска команд ``${DESTDIR}. Однако некоторые случайные
комбинации модификаций совместно используемых библиотек и версий
компилируемых программ при исполнении команды ``
Адаптеры SCSI Adaptec 1542 позволяют программно изменять скорость
доступа к шине. Предыдущие версии драйвера 1542 пытались определить
максимально возможную скорость работы и установить это значение. Мы
обнаружили, что у некоторых пользователей это приводило к нарушению
работоспособности системы, поэтому эта возможность сейчас вынесена
в параметр конфигурации ядра ``
Да, это можно делать .
Команда split в современных BSD-системах имеет опцию ``Вот пример из файла /usr/src/Makefile.
Обратитесь к соответствующему И спасибо вам за ваши усилия!
От: Если рассматривать на самом низком уровне, то существует несколько
портов ввода/вывода, в которые должны выводить информацию все адаптеры
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
проявили несколько групп разработчиков, и одна из попыток переноса,
FreeBSD/AXP (ALPHA), оказавшейся достаточно удачной, в настоящее
время доступна в виде релиза 3.0 SNAP по адресу Всё зависит от того, планируете вы сделать этот драйвер
общедоступным или нет. Если это так, то, пожалуйста, пошлите нам
копию исходных текстов драйвера вместе с соответствующими
модификациями в файле files.i386, пример описания устройства
в файле конфигурации ядра и соответствующий код
В ответ на вопрос о других методах размещения каталогов могу
сказать, что используемая в настоящее схема не претерпела изменений
с 1983 года. Эти соглашения были предназначены для оригинальной
файловой системы FFS, я никогда их не пересматривал. Эта схема
прекрасно работает, позволяя избежать переполнения групп дорожек.
Как некоторые из вас замечали, она работает плохо при поиске.
Большинство файловых систем создаются из архивов, которые были
созданы с глубиной первого поиска (aka ftw). Это приводит к тому, что
их каталоги размещаются на нескольких группах дорожек, создавая
наихудший случай для последующего поиска глубиной один. Если бы
было известно общее количество каталогов, которые должны быть созданы,
быходом было бы создание (общее количество / количество групп дорожек)
на дорожку группу перед переходом. Обычно это число определяется чисто
эвристически. Даже при использовании маленького фиксированное числа,
скажем 10, значительно улучшает ситуацию. Чтобы различать операции
восстановления от обычных операций (где текущий алгоритм подходит),
вы можете использовать объединение в кластеры объёмом до 10, если они
делаются в окне, равным 10 секундам. Во всяком случае, я думаю, что
это требует некоторых экспериментов. Кирк МакКузик (Kirk McKusick), Сентябрь 1998
[Этот раздел был вырезан из письма, написанного
[<ben@rosengart.com> отправил письмо, содержащее следующее
аварийное сообщение системы]
[Если] вы увидите такое сообщение, просто его воспроизвести и
послать нам не достаточно. Указатель инструкций, выделенный мною,
важен, к сожалению, его значение зависит от конфигурации ядра.
Другими словами, его значение меняется в зависимости от конкретного
ядра, которое вы используете. Если вы используете ядро GENERIC
одного из снэпшотов, то кто-то ещё может отследить функцию, вызвавшую
ошибку, но если вы работаете со специально отконфигурированным ядром,
то только Вот что вы должны сделать:
Зачастую люди приводят подобные аварийные сообщения, на редко кто
утруждается привести соотвествие указателя инструкций с функцией в
таблице символов ядра.
Лучшим способом выяснить причину, вызвавшую аварийный останов,
является создание аварийного дампа системы, а затем использование
Во всяком случае, обычно я использую такой способ:
[Замечание: Так как теперь ядра FreeBSD 3.x по умолчанию
имеют формат Elf, вы должны использовать команду
Заметьте, что ВАМ Чтобы включить сброс аварийного дампа, вам нужно отредактировать
файла /etc/rc.conf, чтобы /etc/rc.conf, скрипты /var/crash.
ЗАМЕЧАНИЕ: аварийные дампы FreeBSD обычно имеют размер, равный
физическому объёму оперативной памяти вашей машины. Так что если
у вас 64МБ ОЗУ, вы получите дамп размером 64МБ. Поэтому вы должны
удостовериться, что в каталоге /var/crash достаточно места
для хранения дампа. Либо вы можете вручную запустить Как только вы получили аварийный дамп, вы можете выполнить
трассировку вызовов с помощью
Заметьте, что при этом может быть выведено несколько экранов
информации; в идеале вы должны использовать Теперь, если вы в самом деле душевнобольной и у вас есть второй
компьютер, то можете настроить [Билл (Bill) добавил: "Я забыл обратить ваше внимание
на одну вещь: если у вас включена поддержка DDB и ядро переходит
в режим отладки, вы можете намеренно вызвать аварийный останов
(и создание аварийного дампа), набрав 'panic' в командной строке
ddb. Этот процесс может снова вызвать отладчик. В этом случае
наберите 'continue' и процесс будет завершён созданием аварийного
дампа." -ed]
По умолчанию при работе с форматом 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
+ ГБ адресного пространства он должен выглядеть примерно так:
+
+ Для вычисления значения Для достижения второй цели вам нужно правильный адрес для загрузки
+ ядра: просто отнимите размер адресного пространства (в байтах) от
+ 0x100100000; результат будет равным 0xc0100000 для адресного
+ пространства в 1 ГБ. Установите значение константы src/sys/i386/conf/Makefile.i386 в это значение; затем
+ установите значение счётчика в начале списка секций в то же самое
+ значение, как это сделано здесь:
+
+ После этого переконфигурируйте и перестройте ядро. Вы можете
+ столкнуться с проблемами при работе утилит /usr/include/vm/).
+
+ ЗАМЕЧАНИЕ: Размер адресного пространства ядра должен быть
+ кратен четырём мегабайтам.
+
+ [
FreeBSD работает с дисками стандартов EIDE и SCSI (с
соответствующими контроллерами; обратитесь к следующему разделу), и
всеми дисками, использующими оригинальный интерфейс "Western Digital"
(MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI,
использующие собственные интерфейсы, могут и не работать: к таким
относятся WD1002/3/6/7 и их клоны.
Полный список приведён в Полный список приведён в Поддерживаются любые SCSI-устройства чнения компакт дисков,
подключенные к поддерживаемому контроллеру.
Кроме того, поддерживаются следующие оригинальные интерфейсы:
Все не-SCSI адаптеры ставятся своей медлительностью по сравнению
со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать.
С версии 2.2 компакт-диск с FreeBSD от Walnut Creek является
загрузочным.
Несомненно, 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.
Также посмотрите
о съёмных носителях, и
о 'форматировании'.
Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что
для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен
выглядеть как диск IDE.
Посмотрите это о
'форматировании'.
Список таких устройств находится в разделе о Некоторые безымянные клоны таких адаптеров тоже работают нормально,
особенно те, которые заявляют о своей совместимости с AST.
Прочтите страницы Справочника о FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от
таких производителей, как Microsoft, Logitech и ATI. Драйвер
устройства bus mouse включен по умолчанию в ядро GENERIC. Если вы
строите собственное ядро с этим драйвером, добавьте следующую строку
в конфигурационный файл ядра;
Мышь типа bus mouse обычно поставляется с отдельным интерфейсным
адаптером. Он позволяет установить адрес порта ввода/вывода и номер
IRQ, отличающиеся от приведённых выше. Обратитесь к документации по
вашей мыше и страницам Справочника об устройстве Если вы используете FreeBSD версии выше, чем 2.2.5, то необходимый
драйвер, psm, включён в ядро и активизирован. Ядро должно обнаружить
мышь PS/2 во время загрузки.
Если вы работаете с предыдущей, но сравнительно свежей версией
FreeBSD (2.1.x и выше), то вы можете просто включить её поддержку в
меню конфигурации ядра во время инсталляции, либо позже, указав
-c в приглашении boot:. По умолчанию она отключена, так что вы должны
включить её явно.
Если вы используете более старую версию FreeBSD, то вам нужно
добавить следующие строки в файл конфигурации ядра и скомпилировать
новое ядро:
Обратитесь к главе Руководства о После того, как ядро правильно обнаружило psm0 во время загрузки,
проверьте существование файла устройства для psm0 в каталоге /dev.
Это можно сделать, набрав:
войдя в систему администратором.
Если вы используете стандартный драйвер консоли, syscons, то можете
использовать указатель мыши в текстовых консолях для выделения и
переноса текста. Запустите демон мыши, moused, и включите отображение
указателя мыши на консоли:
Здесь xxxx - это имя устройства мыши, а yyyy -
тип протокола, используемого мышью. Страница Справочника о
Вы можете запускать демон мыши автоматически во время старта
системы. В версии 2.2.1, установите значение следующей переменной в
/etc/sysconfig.
Начиная с FreeBSD 2.2.6, демон мыши в состоянии определять тип
протокола автоматически, если, конечно, мышь не достаточно
древней модели. Укажите ``auto'' для автоматического
определения типа протокола.
После запуска демона мыши, доступ к мыши должен согласовываться
между демоном мыши и другими программами типа X Window. Этот вопрос
освещён в .
После того, как вы запустили демон мыши (посмотрите ), нажмите кнопку 1 (левую) и
двигайте мышь для выбора области выделения. Затем нажмите кнопку 2
(среднюю) или кнопку 3 (правую) для вставки текста из буфера, начиная
с текущей позиции курсора.
В версиях 2.2.6 и выше, нажатие на кнопку 2 вызовет вставку текста.
Нажатие на кнопку 3 ``расширит'' выбранный область текста. Если у
вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или
переназначить кнопки опциями программы moused. Обратитесь к странице
Справочника по Ответ, к сожалению, ``в зависимости от обстоятельств''. Эти мышки
с дополнительными возможностями как правило, требуют наличия
специальных драйверов. До тех пор, пока драйвер мыши или прикладная
программа не будут иметь отдельную поддержку такой мыши, она будет
работать как стандартная двух- или трёхкнопочная мышь.
Посмотрите .
И посмотрите на странице о
мобильных вычислениях.
FreeBSD поддерживает стримеры с интерфейсами SCSI, QIC-36 (с
интерфейсом QIC-02) и QIC-40/80 (на основе НГМД), включая 8-мм
(Exabyte) и DAT. Стримеры QIC-40/80 стравнительно медленны.
Некоторые ранние модели 8-мм стримеров не совсем соответствуют
стандарту SCSI-2 и могут работать не совсем хорошо.
FreeBSD 2.2 поддерживает SCSI-чейнджеры через устройство Если вы не используете систему FreeBSD поддерживает звуковые платы SoundBlaster, SoundBlaster Pro,
SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound.
Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров.
Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также
поддерживаются драйвером pcm.
Более полный список содержится в разделе Руководства об
Это не так. Наверное, вас интересует, ``почему своп выглядит - переполненным?''. Если вы подразумевали именно это, то это объясняется - тем, что помещение страницы памяти в своп с последующим восстановлением - оттуда выполняется быстрее, чем её сброс с последующим взятием снова из - (неизменяемых) блоков выполнимого файла из файловой системы. - -
Реальное количество ``грязных'' страниц памяти, которое вы можете - иметь в системе одновременно, не уменьшается; просто по необходимости - происходит сброс ``чистых'' страниц. +
Это только кажется, что для FreeBSD требуется больше места на разделе + подкачки, чем для Linux. На самом деле это не так. Главное отличие + FreeBSD от Linux в этом плане заключается в том, что FreeBSD активно + перемещает неиспользуемые страницы памяти, к которым не было обращений, + в раздел подкачки, чтобы увеличить объём доступной физической памяти + для активного использования. Linux же перемещает страницы памяти в + раздел подкачки только в крайнем случае. Получаемое во FreeBSD + увеличение нагрузки на раздел подкачки компенсируется более эффективным + использованием оперативной памяти. + +
Заметьте, что, хотя FreeBSD предпочитает использовать раздел подкачки,
+ она не может сбросить все неактивные страницы в своп при полностью
+ неактивной системе. Так что вряд ли может возникнуть ситуация, когда,
+ проснувшись рано утром, вы обнаружите, что вся ваша система находится в
+ разделе подкачки, хотя она простаивала всю ночь.
Для понимания того, почему FreeBSD использует формат a.out,
вы должны сначала получить представление о трёх "основных" форматах
выполнимых файлов для UNIX:
Это самый старый, `классический' формат объектных файлов для UNIX.
В нём используется короткий и компактный заголовок с магическим числом
в начале, которое часто используется для определения формата
(за подробным описанием обратитесь к странице Справочника о Это формат объектных файлов SVR3. Дополнительно в заголовок
включена таблица секций, так что вы можете иметь их больше, чем только
.text, .data и .bss. Преемник FreeBSD каким-то образом пытается решить эту проблему, предоставляя
утилиту для пометки конкретного выполнимого файла
за подробной информацией.
FreeBSD выросла на "классических" традициях и традиционно использовала
формат Если вернуться в далёкое тёмное прошлое, то тогда компьютеры были
очень просто устроены. На них могла работать простая, маленькая
система. Формат a.out полностью решал задачу представления программ
на простых системах (PDP-11). Когда же люди перенесли unix с простых
систем, они оставили a.out, так как его было достаточно для ранних
реализаций unix для таких архитектур, как Motorola 68k, VAX, итд.
Затем какой-то умный инженер решил, что если он может заставить
программное обеспечение делать некоторые тонкие манипуляции, то это
позволит преодолеть некоторые ограничения при проектировании и позволит
ядру процессора работать быстрее. Когда это было сделано с новым типом
аппаратуры (в наши дни известном как RISC), оказалось, что Вдобавок к этому, так как размеры программ стали достигать огромных
размеров, а дисковая (и физическая) память оставалась сравнительно
небольшой, то возникла концепция совместно используемых библиотек.
Система VM также стала более мощной. Хотя каждое из этих нововведений
продолжало использовать формат Однако с течением времени инструменты разработки, на которых
основаны инструменты разработки FreeBSD (особенно ассемблер и
загрузчик), разделились на две параллельные ветви. В дерево FreeBSD
была добавлена поддержка совместно используемых библиотеки и были
исправлены некоторые ошибки. Разработчики из GNU, которые изначально
писали эти программы, полностью их переделали, добавив более простую
поддержку построения кросс-компиляторов, в котором можно использовать
различные форматы, итд. Когда многие захотели строить кросс-компилятор
с выходнвм кодом для FreeBSD, то им не повезло, так как старые исходные
тексты, которые FreeBSD использовала для as и ld, не подошли. Новый
набор утилит от GNU (binutils) поддерживает кросс-компиляцию,
Чтобы это работало, используйте опции `` и по Если задан лидирующий слэш, Наверное, вы думаете, что достаточно будет изменить значение
константы Если вы абсолютно уверены, что сможете найти и исправить проблемы
такого рода самостоятельно, когда они возникнут, то можете увеличить
длину регистрационного имени в ранних релизах, отредактировав файл
/usr/include/utmp.h и изменив соответствующим образом константу
UT_NAMESIZE. Вы должны будете также изменить значение MAXLOGNAME в
файле /usr/include/sys/param.h, чтобы оно соответствовало UT_NAMESIZE.
И наконец, если вы компилируете из исходных текстов, не забудьте, что
/usr/include обновляется каждый раз! Делайте изменения в
соответствующих файлах каталога /usr/src/.. Да, начиная с версии 3.0, вы можете использовать эмулятор DOS
,
посвящённый эмуляции во FreeBSD, если вы заинтересованы в участии в
этом проекте.
Для систем, предшествовавшим 3.0, в коллекции портов есть
замечательная утилита Сокращение Протокол SUP использует пропускную способность канала неэффективно,
и был отвергнут. В настоящее время рекомендуемым методом для
синхронизации исходных текстов является протокол В. Кто-нибудь делал замеры температуры при работе FreeBSD? Я
знаю, что Linux греется меньше, чем DOS, но никогда не видел упоминания
FreeBSD. Наверное, он сильно греется.
О. Нет, но мы сделали различные вкусовые тесты у добровольцев с
завязанными глазами, которые до этого приняли по 250 микрограмм
LSD-25. 35% добровольцев заявило, что FreeBSD имеет вкус апельсина,
тогда как вкус Linux расценивался как фиолетовый туман. Насколько
я помню, ни одна из групп не отметила значительной разницы в
температуре. Вы хотели опубликовать полные результаты этого опроса,
когда обнаружиди, что слишком много добровольцев покинули помещение
во время тестов, что несколько смазало результаты. Я думаю, что
большинство из них работают сейчас в Apple над их новым GUI
``чеши и нюхай''. Это старый добрый бизнес!
Серьёзно, и FreeBSD, и Linux используют инструкцию ``
В. Делает ли FreeBSD что-нибудь эдакое при компиляции ядра, что
вызывает поскрипывание микросхем памяти? При компиляции (и в короткий
промежуток времени после обнаружения дисковода при старте системы)
от микросхем памяти исходит странный царапающий звук.
О. Да! Вы, наверное, видели частое упоминание ``даемонов'' в
документации по BSD, но не многие знают, что это настоящие нематериальные
существа, которые теперь завладели вашим компьютером. Царапающий звук,
издаваемый микросхемами памяти - это на самом деле высокочастотное
перешёптывание между даемонами, когда они решают, как лучше справиться
с различными задачами по администрированию системы.
Если шум достиг ваших ушей. команда DOS ``fdisk /mbr''
их спугнёт, но не удивляйтесь, если они отреагируют соответствующим
образом и попытаются вас остановить. Фактически, если во время
выполнения этой команды вы услышите сатанинский голос Билла Гейтса из
встроенного динамика, бегите и даже не оглядывайтесь! Избавленные
от противостояния с даемонами BSD, близнецы-демоны DOS и Windows часто
могут захватить полный контроль не только над вашей машиной и
навлечь вечное проклятие на вашу душу. Если бы у меня был выбор, я
думаю, что предпочту царапающий звук.
MFC это сокращение от 'Merged From -CURRENT.' Оно используется в
протоколах изменений CVS для отметки того, что изменение было
перенесено в ветвь STABLE из CURRENT.
+ Это сокращение значит что-то на секретном языке, который могут знать
+ только посвящённые. Это нельзя перевести один к одному, однако
+ достаточно сказать, что перевод с BSD - это что-то между 'Команда
+ Formula-1", 'Пингвины - это вкусные плюшки' и 'Мы прикольнее, чем
+ Linux.' :-)
+
+ Если серьёзно, то BSD является сокращением от 'Berkeley Software
+ Distribution', названия, которое было выбрано Berkeley CSRG (Computer
+ Systems Research Group) для их дистрибутива Unix.
+
Добро пожаловать во FreeBSD 2.X FAQ!
Как и обычный FAQ конференций Usenet, этот документ содержит
большинство из часто задаваемых вопросов, касающихся
операционной системы FreeBSD (и, конечно, ответы на них).
Первоначально предназначенный для уменьшения потока сообщений и
избежания повторения одних и тех же вопросов, постепенно FAQ
превратился в ценный источник информации.
Мы прилагаем все усилия, чтобы сделать этот FAQ максимально
информативным; если у вас есть идеи по его усовершенствованию,
пожалуйста, напишите
В двух словах, FreeBSD 2.X - это UN*X-подобная операционная
система, основанная на версии 4.4BSD Калифорнийского Университета
(Беркли) для платформы i386. Также она косвенно базируется
на 386BSD (BSD Net/2, перенесённой на платформу i386 Вильямом
Джолитцем (William Jolitz)), хотя от того
первоначального кода осталось очень мало. Более подробные объяснения
того, что представляет из себя FreeBSD и для чего она может вам
пригодиться, можно найти на FreeBSD используется компаниями, Интернет-провайдерами,
научными работниками, профессионалами в вычислительной технике,
студентами и рядовыми пользователями по всему миру для
работы, образования и отдыха. Вы можете увидеть некоторых из них
в нашей Для более детального ознакомления с FreeBSD, пожалуйста,
обращайтесь к Цели, преследуемые проектом FreeBSD - это предоставление
программного обеспечения, которое может быть использовано в
любых целях без всяческих ограничений. Многие из нас вкладывают
значительные усилия в её разработку (и проектирование) и определённо
были бы не против получения финансовой поддержки,
но мы не собираемся её требовать. Мы надеемся, что наша основная и самая
значительная "миссия" - предоставить код всем желающим, для любых целей,
так чтобы он нашел самое широкое применение и принес наибольшую пользу.
Это, на наш взгляд, одна из самых фундаментальных целей
Free Software, которую мы с энтузиазмом поддерживаем.
Исходный код, который подпадает под действие GNU Public License
(GPL) или GNU Library Public License (GLPL), имеет несколько больше
ограничений, хотя это и навязывание доступа к исходным
текстам, а не наоборот, как обычно. Из-за дополнительных сложностей,
которые могут возникнуть в случае коммерческого использования
программного обеспечения GPL, мы стараемся, где это только
возможно, заменить подобное программное обеспечение аналогичным,
но подпадающим под более свободную лицензию BSD.
Для тех наших читателей, для которых английский не является родным
языком, можно добавить, что слово ``free'' используется здесь
в двух смыслах, один означает ``бесплатно'', а другой
``вы можете делать все что хотите''. За исключением пары вещей,
которые вы
Версия Если вы не специалист по операционным системам или не в состоянии
отличить реальную проблему от временных явлений, вы не должны
использовать FreeBSD-current. Эта ветвь зачастую меняется очень
быстро и вполне может быть просто не работоспособна некоторое
время. Те, кто используют FreeBSD-current, должны быть в состоянии
анализировать любые проблемы и сообщать о них, если это действительно
ошибки, а не ``глюки''. Сообщения типа ``make world produces some error
about groups'' в списке рассылки -current иногда воспринимаются
пренебрежительно.
Из ветви -current регулярно делаются
Не утверждается, что всякий снапшот имеет качество
``готового продукта''. Для стабильной и надежной работы
вам нужно подождать полного релиза.
Снапшоты доступны непосредственно с После того, как была выпущена FreeBSD 2.0.5, мы решили разделить
разработку FreeBSD на две части. Одна ветка была названа Ветвь -current постепенно переходит в 4.0 и выше, тогда как
предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8.
Теперь его заменила ветвь 3.0-stable, первый релиз которой, 3.1,
выйдет в начале 1999 года. "Текущей веткой" сейчас является
4.0-current, первый релиз которой появится в первом квартале 2000 года.
Как правило, основная группа разработчиков выпускает
новую версию, только когда они уверены, что добавленных новых
возможностей и/или внесённых исправлений уже достаточно и новый
релиз не потеряет стабильности. Многие пользователи оценивают эту
осторожность как одну из лучших сторон FreeBSD, хотя она несколько
разочаровывает, если вам не терпится попробовать новые возможности..
В среднем новые версии выпускаются примерно каждые четыре месяца.
Для тех, кому не терпится, предназначены SNAP-релизы,
выпускаемые более часто, в частности, в течении месяца перед релизом.
В настоящее время FreeBSD 3.x работает как на архитектуре x86,
так и на платформе Решения, которые касаются ключевых моментов в проекте FreeBSD,
такие, как общее направление развития проекта или кто
может добавлять код к дереву исходных текстов, принимаются
- Однако, большинство нетривиальных изменений широко обсуждается
в , и не существует
никаких ограничений на участие в подобных дискуссиях.
Все основные релизы FreeBSD доступны по ftp с
FreeBSD также доступна через CDROM, по такому алресу:
Walnut Creek CDROM В Австралии вы можете найти по адресу:
Advanced Multimedia Distributors Исчерпывающая информация содержится в Полная информация о группах новостей есть в Да, большинство сетей IRC имеют канал FreeBSD:
Все эти каналы разные и не имеют отношения друг к другу. Их стили
общения также отличаются, так что вам, может быть,
придётся попробовать все, чтобы найти тот, который соответствует
вашему стилю. Как и обычно с *любым* каналом IRC, если вы
легко раздражаетесь или не можете иметь дела с большим количеством
лиц школьного (и младшего школьного) возраста, пытающихся озвучить
свои попытки самоутверждения, не обращайте на это внимания.
Вы можете обратиться в FreeBSD Documentation Project (а ещё лучше
к нему присоединиться) через список рассылки doc:
``Руководство'' по FreeBSD доступно и может быть найдено на
Прекрасным печатным руководством по FreeBSD является книга
``The Complete FreeBSD'', написанная Грегом Лиэем (Greg Lehay) и
изданная Walnut Creek CDROM Books. В настоящее время вышло второе
издание, содержащее 1,750 страниц руководств по установке и
администрированию системы и прикладных программ, а также страницы
Справочника. Книга (и последний релиз FreeBSD) может быть заказана у
Так как FreeBSD 2.2.X основана на выпуске Berkeley 4.4BSD-Lite2,
большинство руководств по 4.4BSD подходят к FreeBSD 2.2.X.
O'Reilly and Associates издают следующие руководства:
Описание этих книг может быть найдено через 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. Хорошей книгой по системному администрированию является:
Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, Сообщения пользователей о всех открытых проблемах могут быть
запрошены (или добавлены) с помощью нашего
Актуальная версия FAQ в форматах PostScript и обычного текста (7
бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD или с любого
его зеркала.
Как PostScript (примерно 370Кб):
Как текст ASCII (примерно 220Кб):
Как текст ISO 8859-1 (примерно 220Кб):
Актуальная версия Руководства в форматах PostScript и обычного
текста (7 бит ASCII и 8 бит Latin1) доступна с веб-сервера FreeBSD
или с любого его зеркала.
Как PostScript (примерно 1.7Мб):
Как текст ASCII (примерно 1080Кб):
Как текст ISO 8859-1 (примерно 1080Кб):
Действительно, FAQ и Руководство в форматах ASCII и Latin1 не
являются чисто текстовыми документами; они содержат символы
форматирования для вывода на печать. Если вам нужно преобразовать эти
документы к виду, пригодному для чтения, обработайте файл программой
col:
Несомненно! Есть несколько способов это сделать.
Хорошо. Хотя мы не сможем заплатить, в наших силах подарить вам
бесплатный CD или футболку и внести вас в список составителей
Руководства, если вы предоставите перевод.
Следующие телеконференции содержат информацию о FreeBSD, которая
будет полезна её пользователям:
Ресурсы Internet:
В Руководстве по FreeBSD имеется достаточно полный
Самый простой способ - это указать во время инсталляции, что вы хотите использовать X.
Затем следуйте указаниям в документации по утилите Вы можете также попробовать сервер Xaccel, доступный по вполне
- разумной цене. Подробности находятся в главе о
- .
+ Вы можете также попробовать сервер Xaccel. За подробной информацией
+ обратитесь к разделу, посвящённому продуктам фирм и .
Если вы используете syscons (стандартный драйвер консоли), то
можете настроить поддержку указателя мыши во всех виртуальных экранах.
Во избежание конфликтов с X, драйвер syscons поддерживает виртуальное
устройство ``/dev/sysmouse''. Все события, полученные от
реальной мыши, пишутся в устройство sysmouse, реализующее протокол
MouseSystems. Если вы хотите использовать вашу мышь на одной или
нескольких виртуальных консолях, Некоторые предпочитаюют использовать в X устройство
``/dev/mouse''. Чтобы оно работало, файл устройства должен
являться ссылкой на Попробуйте выключить 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
служат для переключения между ними.
Чтобы увеличить количество консолей, отредактируйте файл Используйте из них столько, сколько посчитаете нужным. Чем больше
виртуальных терминалов у вас имеется, тем больше ресурсов они
используют; это может иметь значение, если у вас меньше чем 8МБ ОЗУ.
Вы можете сменить статус консолей с `` на:
Если на вашей клавиатуре только десять функциональных клавиш,
то последние строки будут выглядеть так:
(Вы также можете просто их удалить.)
После того, как вы отредактировали файл Самым простым (и надёжным) способом активировать виртуальные
консоли является перезагрузка. Однако если вы вовсе не хотите этого
делать, просто остановите X Window System и выполните (как
администратор):
При этом требуется, чтобы вы полностью закрыли X Window, если она
была запущена, до запуска этой команды. Если вы это не сделаете,
ваша система может повиснуть/заблокироваться после выполнения команды
kill.
Если на консоли запущена X Window, вы можете использовать
комбинации клавиш, подобные Ctrl-Alt-F1, для переключения в режим
работы с виртуальной консолью. Заметьте, однако, что как только вы
переключитесь из X Window в виртуальный терминал, вы можете
использовать только Alt- клавиши для переключения в другой
виртуальный терминал или снова в X Window. Вам не нужно ещё нажимать
клавишу Ctrl. Если вы используете клавишу Ctrl при переключении в X,
то в старых релизах вы может обнаружить, что ваша текстовая консоль
осталась в режиме ``заблокированного control''. Нажмите эту клавишу
ещё раз.
Есть две философские школы, проповедующие различные методы запуска
Плюсом метода с использованием ttys является документрование того,
на каком vty будет запущен X и то, что ответственность за перезапуск
X-сервера при завершении сеанса работы лежит на процессе init. Метод
с использованием rc.local позволяет просто прекратить работу xdm, если
при запуске X возникли какие-нибудь проблемы.
Из rc.local В предыдущей версии FAQ говорилось о необходимости добавления
/usr/X11R6/lib/X11/xdm/Xservers. На самом деле делать это
необязательно: X будет использовать первый свободный
Если вы запускаете Это зависит от прав доступа, установленных для консоли по умолчанию.
В многопользовательской системе вовсе не нужно, чтобы любой
пользователь мог выводить информацию на системную консоль. Для
пользователей, вошедших в систему через VTY, для решения этой проблемы
существует файл В общем, раскомментируйте строчку вида
в файле Вполне может быть, что ваша мышь и её драйвер
рассинхронизировались.
В версиях 2.2.5 и более ранних это может произойти при переключении
из X в виртуальный терминал и последующем возвращении в X. Если эта
проблема возникает достаточно часто, попробуйте добавить следующую
строку в файл конфигурации ядра и перекомпилировать его.
Если у вас нет опыта перекомпиляции ядра, обратитесь к .
С этой опцией проблем с синхронизацией мыши и её драйвера должно
быть меньше. Если, однако, эта проблема всё же осталась, щёлкните
любой кнопкой мыши, не двигая ей, что заставит мышь и драйвер сделать
попытку синхронизироваться.
Заметьте, что в некоторых системах эта опция может не работать и
приводить к отключению функции ``tap'' устройства ALPS GlidePoint,
подключенного к порту мыши PS/2.
В версиях 2.2.6 и выше, проверка синхронизации сделана гораздо лучше
и включена в стандартный драйвер мыши PS/2. Она должна работать даже с
GlidePort. (Так как код проверки стал стандартной функцией, опция
PSM_CHECKSYNC в этих версиях нежоступна.) Однако в редких случаях
драйвер может ошибочно обнаруживать проблемы с синхронизацией, и вы
будете видеть такие сообщения ядра:
Если это случится, отмените проверку согласования, установив
значение флага для драйвера мыши PS/2 в 0x100. Войдите в конфигуратор
UserConfig, задав опцию ``-c'' в приглашении
загрузчика:
Было несколько сообщений, что некоторые модели мышей PS/2 от
MouseSystems работают только в режиме ``высокого разрешения''. В
других режимах курсор мыши постоянно прыгает в верхний левый угол
экрана.
К сожалению, для версий 2.0.X и 2.1.X решения этой проблемы не
существует. Для версий от 2.2 до 2.2.5 приложите следующий патч к
файлу /sys/i386/isa/psm.c и перестройте ядро. Если у вас
нет опыта перекомпиляции ядра, обратитесь к .
Для версий 2.2.6 и выше укажите флаг 0x04 драйверу мыши PS/2
для перевода её в режим высокого разрешения. Войдите в
UserConfig, задав опцию ``-c'' в приглашении
загрузчика:
В предыдущем разделе описана возможная причина проблем с мышью.
Файл Imake.tmpl является частью пакета Imake, стандартного
инструмента для построения X-приложений. Он, также как ещё несколько
заголовочных файлов, требуемых для построения X-приложений, содержится
в дистрибутиве программ X. Вы можете их проинсталлировать из sysinstall
или взять из дистрибутива X. Поместите команду