Часто Задаваемые Вопросы по FreeBSD 2.X, 3.X, 4.X и 5.X

         

Как подключить терминал к FreeBSD?


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

Затем модифицируйте файл /etc/ttys (посмотрите справку по ttys(5)) описанным выше способом. Например, если вы подключаете терминал WYSE-50 к пятому последовательному порту, используйте такую строчку:

ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure

В этом примере описан порт на /dev/ttyd4, имеющий терминал wyse50, подключенный на скорости 34800 bps без контроля по четности (std.38400 из файла /etc/gettytab, информацию о котором можно получить из справки по gettytab(5)) и разрешён непосредственный вход пользователя root (secure).



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


Поместите команду xmodmap -e "pointer = 3 2 1" в один из ваших скриптов .xinitrc или .xsession.



Как преобразовать текстовые файлы DOS в формат Unix?


Используйте такую команду:

% perl -i.bak -npe 's/\r\n/\n/g' file ...

где file - это имя файла(ов) для преобразования. Преобразование делается в том же самом файле, оригинальные файлы сохраняются с расширением .bak.

Это преобразование также можно выполнить с помощью команды tr(1):

% tr -d '\r' < dos-text-file > unix-file

где dos-text-file - это имя файла, содержащего текст DOS, а в файл unix-file будет помещён уже преобразованный текст. Этот способ может работать гораздо быстрее, чем при использовании perl.



Как проще всего добавить пользователя?


Используйте команду adduser(8) или pw(8) в случае выполнения более сложных операций.

Чтобы удалить пользователя, используйте команду rmuser(8) или, если это будет необходимо, pw(8).



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


От: Фрэнка Дурды IV (Frank Durda IV) uhclem@nemesis.lonestar.org>

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

ID представляет собой два 32-разрядные числа (всего их 2^64) + 8 бит контрольной суммы. Первые 32 бита являются идентификатором производителя. Они никогда не сообщаются, однако часто бывает, что различные типы адаптеров от одного и того же производителя имеют различные 32-битные значения идентификатора производителя. Необходимость в 32 разрядах только для задания производителя адаптера выглядит несколько излишним.

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

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

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

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

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

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

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


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


Обычным пользователям можно позволить монтировать устройства. Вот как это делается:

Как пользователь root, установите системную переменную vfs.usermount в значение 1.

# sysctl -w vfs.usermount=1

Работая пользователем root, назначьте соответствующие права на устройства с поблочным доступом, которые соответствуют сменным носителям.

Например, чтобы позволить пользователям монтировать дискеты в первом дисководе, воспользуйтесь командой

# chmod 666 /dev/fd0

Чтобы разрешить пользователям из группы operator

монтировать компакт-диски, сделайте так:

# chgrp operator /dev/cd0c

# chmod 640 /dev/cd0c

Наконец, добавьте строчку vfs.usermount=1 в файл /etc/sysctl.conf, чтобы она срабатывала во время загрузки системы.

Теперь все пользователи могут монтировать дискету /dev/fd0

в собственные каталоги:

% mkdir ~/my-mount-point

% mount -t msdos /dev/fd0 ~/my-mount-point

Пользователи из группы operator теперь могут монтировать компакт-диск /dev/cd0c в собственные каталоги:

% mkdir ~/my-mount-point

% mount -t cd9660 /dev/cd0c ~/my-mount-point

Размонтировка устройства осуществляется просто:

% umount ~/my-mount-point

Использование vfs.usermount, однако, имеет некоторые негативные стороны, связанные с вопросами безопасности. Более правильным способом работы с носителями в формате MSDOS является использование пакета mtools из коллекции портов.



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


Постройте ядро с параметром options COMCONSOLE.

Создайте файл /boot.config, поместив туда только текст -P.

Отключите клавиатуру.

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



Как сделать оригинальную загрузочную дискету?


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

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



Как сделать вход через модем?


Похоже, что вы хотите стать Internet-провайдером, да? Сначала вам необходимо подключить к системе один или несколько модемов, которые могут работать в режиме автоответа. Модем должен держать сигнал наличия несущей, только когда она присутствует. Он должен вешать трубку и переинициализировать, когда сигнал готовности устройства DTE (DTR) меняет состояние из включенного на выключенный. Должно использоваться аппаратное (RTS/CTS) управление потоком или вовсе отсутствовать. Ещё он должен работать на постоянной скорости с портом компьютера, но (что удобно для звонящих) с согласованием скорости передачи с другим модемом.

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

AT &C1 &D3 &K3 &Q6 S0=1 &W

Информация о том, как сделать эти настройки без обращения к терминальным программам MS-DOS, содержится в разделе о .

Затем опишите модем в файле /etc/ttys (посмотрите справку по ). В нём перечислены все порты, с которых операционная система ожидает входа пользователей. Добавьте строку, которая выглядит как эта:

ttyd1 "/usr/libexec/getty std.57600" dialup on insecure

В этой строке указано, что ко второму последовательному порту (/dev/ttyd1) подключен модем на скорости 57600 bps без контроля по чётности (std.57600, что берётся из файла /etc/gettytab (посмотрите справку по gettytab(5)). Тип терминала для этого порта определён как dialup. Порт включен (on) и небезопасен (insecure), что означает, что попытки войти в систему пользователем root с этого порта будут отвергнуты. Для портов, обслуживающих входящие звонки, как этот, используйте устройства вида ttydX.

Использование слова dialup в качестве имени терминала является обычной практикой. Многие пользователи включают в свои файлы .profile или .login скрипты для задания реального типа терминала, если начальным является тип dialup. В примере порт описан небезопасным. Чтобы войти пользователем root на этом порту, вам нужно сначала войти обычным пользователем, а затем командой стать пользователем root. Если порт имеет атрибут secure, то пользователь root может входить с этого порта непосредственно.

После редактирования файла /etc/ttys вам нужно послать сигнал потери связи или HUP процессу init(8):

# kill -HUP 1

Это заставит процесс init(8) снова прочитать файл /etc/ttys. Процесс init запустит процессы getty для всех портов с характеристикой on. Вы можете проверить, доступны ли входы с конкретного порта, выполнив команду

% ps -ax | grep '[t]tyd1'

Вы должны увидеть нечто вроде следующего:

747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1



Как сменить приглашение загрузчика с ??? на что-нибудь более значащее?


Вы не можете сделать это со стандартным менеджером загрузки, не переписав его. Среди портов из категории sysutils есть несколько других менеджеров загрузки, которые предоставляют такую функциональность.



Как смонтировать диск Windows-машины в моей локальной сети, как это делает smbmount в Linux?


Используйте пакет SMBFS. В него включён набор изменений в ядре и пользовательские программы. Программы и информация доступны в виде порта из Коллекции Портов или как часть базовой системы в 4.5-RELEASE и более поздних версиях.



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


Вторичные разделы DOS находятся после ВСЕХ первичных разделов. Например, если раздел ``E'' является вторым разделом DOS на втором диске SCSI, вам нужно создать специальные файлы для пятого ``слайса'' в каталоге /dev, а затем смонтировать /dev/da1s5:

# cd /dev

# sh MAKEDEV da1s5

# mount -t msdos /dev/da1s5 /dos/e

Замечание: Вы можете пропустить этот шаг, если используете FreeBSD 5.0-RELEASE или более новую версию с включенным механизмом

devfs(5).



Как создать аудио-CD из файлов MIDI?


Для создания аудио-CD из MIDI-файлов сначала установите из портов программу audio/timidity++, затем установите набор патчей GUS от Эрика Уэлша (Eric A. Welsh), доступный по адресу . После корректной установки timidity++ midi-файлы могут быть преобразованы в wav-файлы следующей командой:

% timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid

wav-файлы затем могут быть преобразованы в другие форматы или записаны как аудио-CD, что описано в Руководстве FreeBSD.

Коммерческие приложения   Конфигурирование ядра



Как создать образ CD с данными?


Это описано в разделе Руководства о копировании CD с данными. Более полную информацию о работе с компакт-дисками можно найти в разделе о главы об устройствах хранения данных Руководства.



Как создать зеркало проекта FreeBSD?


Информация о том, как создать зеркало проекта FreeBSD, может быть найдена в статье .



Как удалить badс моей системы версии до X, чтобы я смог спокойно обновить систему?


Используйте команду disklabel -e -rwd0 для редактирования метки диска. Просто удалите слово badsect из поля флагов, сохраните и выйдите. Файл bad144 будет все же занимать некоторое пространство на вашем диске, но диск сам по себе будет возможно использовать.

Мы продолжаем рекомендовать вам купить новый диск, если у вас есть большое количество испорченных блоков.



Как указать на то, что на диске


Для этого воспользуйтесь программой disklabel(8). disklabel -r дисковое устройство

выдаст вам содержимое метки диска. Посмотрите на поле flags. Если вы видите flags: badsect, то этот диск использует bad144. К примеру, на следующих дисках включено bad144:

# disklabel -r wd0

# /dev/rwd0c: type: ESDI disk: wd0s1 label: flags: badsect bytes/sector: 512 sectors/track: 63



Как установить экранную заставку и где такие заставки можно найти?


Перед самым выпуском релиза FreeBSD 3.1 в систему была добавлена возможность вывода ``заставки'' во время загрузки. На данный момент экраны заставок должны быть 256-цветными файлами формата BMP *.BMP или ZSoft PCX (*.PCX). Кроме того, они должны иметь размер 320x200 или меньше для работы со стандартными адаптерами VGA. Если вы включили поддержку VESA при компиляции ядра, сможете использовать заставки размером до 1024x768. Реальная поддержка VESA может быть вкомпилирована в ядро при указании опции VESA либо загружена в виде kld-модуля ядра во время начальной загрузки.

Чтобы использовать заставку, вам нужно изменить файлы, управляющие процессом загрузки FreeBSD. Формат этих файлов был изменён перед выпуском релиза FreeBSD 3.2, так что есть два способа загрузки экранных заставок:

FreeBSD 3.1

Первым делом нужно найти экранную заставку в формате BMP. Релиз 3.1 поддерживает заставки только в формате Windows. После того, как вы нашли понравившуюся вам заставку, скопируйте её в файл /boot/splash.bmp. Затем вам нужно поместить в файл /boot/loader.rc следующие строки:

load kernel load -t splash_image_data /boot/splash.bmp load splash_bmp autoboot

FreeBSD 3.2+

Кроме поддержки заставок в формате PCX, FreeBSD 3.2 включает более гибкую систему конфигурации процесса загрузки. Если вы хотите, то можете использовать метод, указанный выше для FreeBSD 3.1. Если же вы хотите использовать формат PCX, замените splash_bmp на splash_pcx. С другой стороны, если вы хотите использовать новую систему конфигурации процесса загрузки, вам нужно создать файл /boot/loader.rc, содержащий следующие строки:

include /boot/loader.4th start

и файл /boot/loader.conf со строками:

splash_bmp_load="YES" bitmap_load="YES"

Здесь предполагается, что в качестве заставки вы используете файл /boot/splash.bmp. Если вы используете PCX-файл, скопируйте его под именем /boot/splash.pcx, создайте файл /boot/loader.rc, как указано выше, и создайте файл /boot/loader.conf, который содержит следующее:

splash_pcx_load="YES" bitmap_load="YES" bitmap_name="/boot/splash.pcx"

Теперь всё, что вам нужно - это сама заставка. Поищите заставки в галерее по адресу http://www.baldwin.cx/splash/.



Как узнать, какие последовательные порты были обнаружены FreeBSD?


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

% dmesg | grep sio

после загрузки и запуска системы.

Вот пример вывода указанной команды:

sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A sio1 at 0x2f8-0x2ff irq 3 on isa sio1: type 16550A

Здесь присутствуют два последовательных порта. Первый использует irq 4, порт ввода/вывода 0x3f8 и построен на микросхеме UART типа 16550A. Второй использует тот же тип микросхемы, но использует irq 3 и адрес порта ввода/вывода 0x2f8. Внутренние модемы выглядят точно также, как последовательные порты, за исключением того, что к модем ним ``подключен'' всегда.

В ядро GENERIC встроена поддержка двух последовательных портов, с irq и адресами портов ввода/вывода, как в примере выше. Если эти настройки не соответствуют вашим, или если вы добавили внутренние модемы, или у вас больше последовательных портов, чем описано в ядре, просто переконфигурируйте ядро. За дополнительной информацией обратитесь к разделу .



Как включить поддержку многопортовых последовательных адаптеров?


Повторим ещё раз: информация о конфигурировании ядра содержится в разделе, посвящённом этому вопросу. Для многопортовых последовательных адаптеров в файле конфигурации ядра поместите ключевое слово sio(4) для каждого порта на адаптере. Но irq и вектор должен быть указан только у одного порта. Все порты на адаптере должны использовать одно и то же irq. Используйте последний последовательный порт для указания irq. Также включите опцию COM_MULTIPORT.

В следующем примере дано описание 4-портового адаптер AST на irq 7:

options "COM_MULTIPORT" device sio4 at isa? port 0x2a0 tty flags 0x781 device sio5 at isa? port 0x2a8 tty flags 0x781 device sio6 at isa? port 0x2b0 tty flags 0x781 device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr

Флаги указывают, что управляющий порт имеет младший номер устройства 7 (0x700), включена диагностика на время обнаружения (0x080), и все порты используют одно и то же irq (0x001).



Как включить поддержку multicast IP?


По умолчанию FreeBSD поддерживает работу с многоадресного сетевого вещания. Если вы хотите использовать ваш компьютер как маршрутизатор многоадресного трафика, вам нужно перекомпилировать ядро с включенной опцией MROUTING и запустить . Во FreeBSD во время загрузки будет запускаться mrouted(8), если переменная mrouted_enable в файле /etc/rc.conf установлена в значение YES.

Приложения MBONE находятся в собственной категории портов, mbone. Если вы ищете приложения для организации конференций vic и vat, посмотрите там!



Как вы разделяете дистрибутив на файлы по ?


Команда split(1) в современных BSD-системах имеет опцию -b, позволяющую разрезать файлы на части с точностью до байта.

Вот пример из файла /usr/src/Makefile.

bin-tarball: (cd ${DISTDIR}; \ tar cf - . \ gzip --no-name -9 -c | \ split -b 240640 - \ ${RELEASEDIR}/tarballs/bindist/bin_tgz.)



Как выполнить mount для многосеансового CD?


По умолчанию mount(8) будет пытаться смонтировать последнюю дорожку (сеанс) CD с данными. Если вы хотите загрузить более ранний сеанс, то должны воспользоваться опцией командной строки -s. Пожалуйста, обратитесь к справке по команде mount_cd9660(8) для получения конкретных примеров.



Как загрузить FreeBSD и Linux с помощью BootEasy?


Установите LILO в начало загрузочного раздела Linux, а не в Master Boot Record. После этого можно запустить LILO из BootEasy.

Это рекомендуется сделать в любом случае при одновременном использовании Windows 95 и Linux, чтобы упростить восстановление работоспособности Linux после переинсталляции Windows 95 (которая является Ревнивой Операционной Системой и не терпит присутствия других операционных систем в Master Boot Record).



Как загрузить FreeBSD и Linux с помощью LILO?


Если у вас установлены FreeBSD и Linux на одном и том же диске, следуйте указаниям по установке LILO о загрузке не-Linux операционных систем. Они сводятся к следующему:

Загрузите Linux, и добавьте следующие строки в файл /etc/lilo.conf:

other=/dev/hda2 table=/dev/hda label=FreeBSD

(здесь мы предполагаем, что слайс с FreeBSD известен Linux как /dev/hda2; измените эту строку в соответствии с вашей конфигурацией). Затем достаточно будет запустить lilo, войдя в систему как администратор.

Если FreeBSD располагается на другом диске, вам нужно добавить строчку loader=/boot/chain.b в конфигурационный файл LILO. Например:

other=/dev/dab4 table=/dev/dab loader=/boot/chain.b label=FreeBSD

В некоторых случаях для успешной загрузки со второго диска вам может потребоваться указать номер диска BIOS загрузчику FreeBSD. Например, если диск SCSI с FreeBSD определяется BIOS как диск 1, в приглашении загрузчика FreeBSD нужно указать:

Boot: 1:da(0,a)/kernel

Во FreeBSD 2.2.5 и выше вы можете настроить boot(8) на автоматическое принятие таких параметров во время загрузки.

В документе содержится много информации, касающейся взаимодействия FreeBSD и Linux.



Как запретить перезагрузку по нажатию Control+Alt+Delete?


Если вы используете драйвер консоли syscons (который является стандартным), перегенерируйте и установите новое ядро со следующим параметром.

options SC_DISABLE_REBOOT

в конфигурационном файле. Если же вы используете драйвер консоли PCVT, то вместо вышеуказанной включите в конфигурационный файл следующую строку.

options PCVT_CTRL_ALT_DEL



Как запустить XDM во время загрузки?


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

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

Из rc.local xdm должен быть запущен без аргументов, (то есть как даемон). xdm должен быть запущен ПОСЛЕ запуска getty(8), иначе они будут конфликтовать, блокируя консоль. Лучше всего выдержать паузу секунд на 10 и потом запустить xdm.

Если xdm запускается из /etc/ttys, то есть вероятность конфликта между xdm и getty(8). Одним из способов избежать этого является добавление номера vt в файл /usr/X11R6/lib/X11/xdm/Xservers.

:0 local /usr/X11R6/bin/X vt4

В вышеприведённом случае X-серверу указывается работать на /dev/ttyv3. Заметьте, что номера отличаются на единицу. Дело в том, что X-сервер считает vty от единицы, когда как отсчёт vty в ядре FreeBSD ведётся с нуля.



Как заставить адаптер использовать другой тип сетевого разъёма?


Если вы хотите задействовать другой разъём, то должны указать дополнительный параметр при вызове команды ifconfig(8). Разъёмом по умолчанию является link0. Чтобы задействовать разъём AUI, а не BNC, используйте link2. Эти флаги должны быть указаны с помощью переменных ifconfig_* в файле /etc/rc.conf (посмотрите справку по ).



Как заставить работать аппаратное ускорение -графики для OpenGL?


Наличие 3D-ускорения зависит от версии используемого вами XFree86 и типа графического адаптера. Если у вас адаптер NVIDIA, то вы можете использовать бинарные файлы драйверов для FreeBSD 4.7, размещённые в разделе Drivers их сайта. Относительно использования аппаратного ускорения в XFree86-4 с другими адаптерами, включая Matrox G200/G400, ATI Rage 128/Radeon, а также 3dfx Voodoo 3, 4, 5 и Banshee, дополнительную информацию можно почерпнуть на страничке XFree86-4 Direct Rendering on FreeBSD. Пользователи XFree86 версии 3.3 могут воспользоваться портом Utah-GLX, находящимся в graphics/utah-glx, для получения частичного ускорения OpenGL для наборов микросхем Matrox Gx00, ATI Rage Pro, SiS 6326, i810, Savage и старых адаптеров NVIDIA.

Системное администрирование   Работа в сети



Как зовут этого маленького симпатичного красного парня?


У него нет определённого имени, он называется просто ``даемон BSD''. Если вам непременно нужно имя, называйте его ``beastie''. Заметьте, что ``beastie'' произносится как ``BSD''.

Больше о даемоне BSD вы можете узнать из его домашней страницы.



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


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



Какие имеются ограничения на объём оперативной памяти?


Размер оперативной памяти ограничен объёмом в 4 гигабайта. Если вы собираетесь устанавливать столько оперативной памяти в компьютер, будьте внимательны. Скорее всего, вам придётся использовать память ECC и для уменьшения нагрузки также взять 9-чиповые модули памяти вместо 18-чиповых.



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


Список таких устройств находится в разделе о различных устройствах

Руководства.

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

Прочтите страницы Справочника о sio(4) для получения подробной информации о конфигурировании таких адаптеров.



Какие параметры диска я должен использовать?


Замечание: Под ``параметрами'' диска мы понимаем число дорожек, головок и секторов на дорожку на диске, что для простоты обозначается как C/H/S. Именно так работает BIOS персональных компьютеров при чтении или записи диска.

Это вызывает много недоразумений у начинающих системных администраторов. Прежде всего, физические параметры диска SCSI не имеют никакого значения, так как FreeBSD работает в терминах дисковых блоков. Фактически нет такого показателя, как физические параметры, так как плотность размещения секторов различна по всему диску. То, что производители называют физическими параметрами, есть не что иное, как параметры, которые они получили по занимаемому пространству. Для дисков IDE, FreeBSD работает в терминах C/H/S, но во всех современных дисках они преобразовываются во внутреннее представление.

Имеют значение только логические

параметры. Это то, что получает BIOS, когда спрашивает ``какие у тебя параметры?'' Затем они используются для обращения к диску. Так как FreeBSD использует BIOS при загрузке, очень важно получить верные параметры. В частности, если у вас на диске находятся несколько операционных систем, они обе должны иметь одинаковое представление о параметрах диска. В противном случае серьёзные проблемы при загрузке неизбежны!

В случае дисков SCSI, параметры используются в зависимости от того, включена ли поддержка расширенной трансляции на вашем контроллере (что часто обозначается как ``поддержка дисков DOS >1GB'' или что-то похожее). Если эта возможность выключена, то используйте N дорожек, 64 головки и 32 сектора на дорожку, где N - это ёмкость диска в мегабайтах. Например, 2-гигабайтный диск должен иметь 2048 дорожек, 64 головки и 32 сектора на дорожку.

Если трансляция включена (что обычно используется для преодоления некоторых ограничений MSDOS) и ёмкость диска превышает 1ГБ, используется M дорожек, 63 сектора на дорожку (не 64) и 255 головок, где 'M' - это объём диска в мегабайтах, поделённый на 7.844238 (!). Таким образом, наш диск объёмом 2ГБ будет иметь 261 дорожку, 63 сектора на дорожку и 255 головок.

Если вы не уверены, или FreeBSD ошибается при определении параметров диска во время установки, самый простой способ решить эту проблему - создать на диске маленький раздел DOS. После этого BIOS должна определить параметры диска правильно (и вы всегда можете удалить раздел DOS в редакторе разделов, если вы не хотите его сохранить. Однако вы можете оставить его для настройки сетевых адаптеров и тому подобных вещей.

Кроме того, существует свободно доступная утилита, распространяемая вместе с FreeBSD, которая называется pfdisk.exe. Вы можете найти её в каталоге tools компакт-диска с FreeBSD или на различных FTP-серверах с FreeBSD. Эту программу можно использовать для определения параметров, используемых другими операционными системами, расположенными на вашем диске. Затем вы можете использовать эти параметры в редакторе разделов.



Какие поддерживаются контроллеры SCSI?


Полный список приведён в Hardware Notes для FreeBSD 5.2.1 или .



Какие приводы CD-RW поддерживаются во FreeBSD?


FreeBSD поддерживает все ATAPI-совместимые IDE-приводы CD-R или CD-RW. Для FreeBSD версии 4.0 и выше обратитесь к справочной странице по команде burncd(8). Для более ранних версий FreeBSD посмотрите примеры в файле /usr/share/examples/atapi.

FreeBSD поддерживает также все SCSI-приводы CD-R или CD-RW. Установите и используйте программу cdrecord из системы портов или пакаджей, но проверьте, что в вашем ядре присутствует устройство pass.



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


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

Кроме того, поддерживаются следующие оригинальные интерфейсы CDROM:

Mitsumi LU002 (8bit), LU005 (16bit) и FX001D (16bit 2x Speed).

Sony CDU 31/33A

Sound Blaster не-SCSI CDROM

Matsushita/Panasonic CDROM

ATAPI-совместимые IDE CDROM

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

Официальный FreeBSD CDROM ISO, а также диски CDROM от Daemon News и FreeBSD Mall, являются загрузочными.



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


Обратитесь к файлу Hardware Notes, поставляемому с каждым релизом FreeBSD, для получения полного списка.



Какие сетевые адаптеры сделаны на наборе микросхем DEC PCI?


Вот список, составленный Гленом Фостером (Glen Foster) gfoster@driver.nsta.org>, с некоторыми незначительными добавлениями:

Таблица 12-1. Сетевые карты созданные на основе наборе микросхем DEC PCI

Производитель

Модель

ASUS PCI-L101-TB
Accton ENI1203
Cogent EM960PCI
Compex ENET32-PCI
D-Link DE-530
Dayna DP1203, DP2100
DEC DE435, DE450
Danpex EN-9400P3
JCIS Condor JC1260
Linksys EtherPCI
Mylex LNP101
SMC EtherPower 10/100 (Модель 9332)
SMC EtherPower (Модель 8432)
TopWare TE-3500P
Znyx (2.2.x) ZX312, ZX314, ZX342, ZX345, ZX346, ZX348
Znyx (3.x) ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442, ZX444, ZX474, ZX478, ZX212, ZX214 (10mbps/hd)



Какие существуют ограничения для файловой системы ffs?


Для файловой системы ffs максимальный теоретический размер равен 8 терабайтам (2Г блоков) или 16ТБ при стандартном размере блока 8К. На практике есть программное ограничение в 1 терабайт, но с некоторыми модификациями достижимы 4 терабайта (и такие системы существуют).

Максимальный размер одного файла ffs равен примерно 1Г блоков, или 4ТБ при размере блока 4К.

Таблица 3-1. Maximum file sizes

размер блока fs

2.2.7-stable

3.0-current

работает

должно работать

4K 4T-1 4T-1 4T-1 >4T
8K >32G 8T-1 >32G 32T-1
16K >128G 16T-1 >128G 32T-1
32K >512G 32T-1 >512G 64T-1
64K >2048G 64T-1 >2048G 128T-1

При размере блока файловой системы 4К, тройная адресация блоков работает и всё должно быть ограничено максимальным количеством блоков, которое задаётся в виде тройной переадресации блока (примерно 1K^3 + 1K^2 + 1K), однако всё ограничивается (ошибочным) лимитом 1Г-1 на количество блоков файловой системы. Это ограничение должно быть равным 2Г-1. При количестве блоков, приближающемся к 2Г-1, появляются некоторые ошибки, но этот предел недостижим при размере блока 4К.

При размере блока 8К и больше, всё должно быть ограничено лимитом 2Г-1 на количество блоков файловой системы, но реально ограничено пределом в 1Г-1 на число блоков файловой системы, кроме случая -STABLE, недостижимый при тройной переадресации, так что предел равен максимальному числу блоков файловой системы, который может быть представлен через двойную переадресацию (примерно (размер блока/4)^2 + (размер блока/4)), и под -CURRENT превышение этого ограничения может вызвать проблемы. Использование верного ограничения в 2Г-1 блоков вызывает проблемы.



Какие существуют телеконференции по FreeBSD?


Полная информация о группах новостей есть в разделе Руководства, касающемся телеконференций.



Какие типы стримеров поддерживаются?


FreeBSD поддерживает устройства SCSI и QIC-36 (с интерфейсом QIC-02), включая 8-мм (Exabyte) и DAT.

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



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


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



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


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

Замечание: Это касается только звука! Этот драйвер не поддерживает CDROM, SCSI или джойстики ни на каких подобных адаптерах, кроме SoundBlaster. Поддерживаются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но загрузиться с них невозможно.



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


Просто наберите:

# sysctl kern.quantum

Если вы увидите

unknown oid 'kern.quantum'

это значит, что используется планировщик ``SCHED_ULE'', однако, если вы увидите

kern.quantum: 100000

то выбран оригинальный планировщик ``SCHED_4BSD''.



Какое другое программное обеспечение для почтового сервера можно использовать вместо Sendmail?


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

В дереве портов уже имеются различные альтернативные MTA, из которых mail/exim, mail/postfix, mail/qmail, mail/zmailer являются одними из самых популярных.

Разнообразие хорошо, а тот факт, что у вас есть выбор из многих различных почтовых серверов, является хорошим признаком; поэтому попытайтесь не задавать вопросы типа ``Sendmail лучше, чем Qmail?'' в списках рассылки. Если вы захотите получить ответ, сначала просмотрите архивы списков рассылки. Достоинства и недостатки каждого из имеющихся MTA уже обсуждались неоднократно.



Какой файл нужно скачать для установки FreeBSD?


До выхода в свет релиза FreeBSD 3.1 для установки вам был нужен только один файл с образом дискеты, floppies/boot.flp. Однако, начиная с версии 3.1, во FreeBSD была добавлена изначальная поддержка очень широкого спектра оборудования, что занимает значительно больший объём дисковое пространства, поэтому для установки FreeBSD версий 3.X и выше вам нужны образы двух дискет: floppies/kernel.flp и floppies/mfsroot.flp. Эти образы нужно перенести на дискеты с помощью таких утилит, как fdimage или dd(1).

Если вы хотите скачать дистрибутив самостоятельно (например, для установки с раздела DOS), вот список рекомендованных частей дистрибутива:

bin/

manpages/

compat*/

doc/

src/ssys.*

Полные инструкции по этой процедуре и об установке вообще можно найти в разделе Руководства, посвящённом инсталляции FreeBSD.



Какой из паролей DES, Blowfish


По умолчанию во FreeBSD используется формат паролей на основе MD5. Это делается в предположении, что он более защищён, чем традиционный формат паролей Unix, в котором используется схема на основе алгоритма DES. Пароли DES остаются применимыми, если вам нужно использовать файл паролей совместно с более старыми операционными системами, в которых используется менее защищённый формат паролей (их можно использовать, если в программе sysinstall вы выберите установку дистрибутива ``crypto'' или установите исходные тексты пакета crypto в случае построения из исходных текстов). Установка криптографических библиотек позволит вам также использовать пароли в более защищённом формате Blowfish. Управление выбором используемого формата для новых паролей осуществляется через параметр входа ``passwd_format'' в файле /etc/login.conf, принимающий значения ``des'', ``blf'' (если они есть) или ``md5''. Более подробная информация о параметрах входа находится на странице Справочника .



Какова цель FreeBSD?


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

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



Какова последняя версия FreeBSD?


На данном этапе разработки FreeBSD существуют две параллельно разрабатываемые ветки; релизы делаются из обеих веток. Серия релизов 4.X выполняется из ветки -STABLE, а серия релизов 5.X выполняется из -CURRENT.

Версия , выпущенная February 2004, является самым последним релизом ветки -CURRENT. Версия 4.10, выпущенная May 2004, является самым последним релизом ветки -STABLE.

Если вкратце, то ветка -STABLE

предназначена поставщикам услуг Internet, корпоративным пользователям, а также всем тем, кому в первую очередь нужна надёжность и минимальное количество отличий от последнего релиза по сравнению с новыми (и, возможно, ненадёжно работающими) возможностями последнего снэпшота -CURRENT. Релизы можно делать из любой ветки, но -CURRENT можно использовать только в том случае, если вы уверены, что готовы к постоянным (по сравнению со -STABLE) изменениям в работе системы.

Релизы делаются . Хотя многие стараются отслеживать актуальное состояние исходных текстов FreeBSD (обратите внимание на вопросы о и FreeBSD-STABLE), делать это не обязательно, так как исходные тексты постоянно меняются.

Более полную информацию о релизах FreeBSD можно получить со страницы о Процессе выпуска релизов на веб-сайте FreeBSD.



Какую нагрузку вызывает использование IPFW?


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



Какую версию Microsoft FrontPage я должен иметь?


Используй порт, дурачок! Среди портов имеется www/apache13-fp, готовая к использованию версия Apache с поддержкой FrontPage.



Когда я монтирую CDROM, все неанглийские символы в именах файлов выводятся как ``?''


Скорее всего, на вашем компакт-диске для хранения информации о файлах и каталогах используется расширение ``Joliet''. Это описано в главе Руководства о создании и использовании CDROM, а именно в разделе об .



Когда я выполняю команду shell для тестирования соединения, ppp блокируется


Когда вы выполняете команду shell или !, ppp(8) запускает оболочку (если были заданы параметры, ppp(8) их использует). Ppp будет ждать окончания выполнения команды, прежде чем продолжить. Если вы попытаетесь воспользоваться связью PPP после запуска команды, связь будет выглядеть заблокированной. Это происходит из-за того, что ppp(8) ждёт завершения выполнения запущенной команды.

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



Команда su выдает, что ``you are


Это особенность работы системы защиты. Для того, чтобы изменить свои привилегии на пользователя root (или любого другого пользователя, имеющего привилегии администратора), вы должны быть членом группы wheel. Если бы этого не было, любой, имеющий доступ к системе и узнавший пароль пользователя root, смог получить в системе администраторские полномочия. С такой же защитой этого не получится; su(1) будет препятствовать попыткам даже ввести пароль, если некто не являетесь членом группы wheel.

Чтобы разрешить кому-либо менять привилегии на root, просто включите его в группу wheel.



Команды du и df показывают разный объем доступного дискового пространства Что происходит?


Вам нужно разобраться, что на самом деле делают команды du и df. du

проходит по дереву каталогов, замеряя, насколько большой объем занимает каждый файл, и выдает общий объем. df просто запрашивает файловую систему об оставшемся объеме. Это выглядит как одно и то же, однако файл без записи в каталоге затронет df, но не повлияет на du.

Когда программа использует файл, а вы его удалили, файл на самом деле не удаляется из файловой системы, пока программа не прекратит его использовать. Однако файл тут же удаляется из списка каталога. Вы можете легко это видеть при помощи такой программы, как more. Предположим, что у вас имеется файл, настолько большой, что его присутствие влияет на вывод команд du и df. (Так как в настоящее время диски могут быть настолько большими, это может быть очень большой файл!) Если вы удалите этот файл в процессе работы more над ним, на команду more это не повлияет и она не сообщит, что не может просматривать файл. Запись о файле просто удалена из каталога, так что другие программы или пользователи не смогут к нему обратиться. du покажет, что файл исчез -- она просматривает дерево каталогов, а файла там не будет. df показывает, что он все еще здесь, так как файловая система знает, что more все еще использует это пространство. Как только вы закончите работу с more, команды du и df придут в соответствие.

Заметьте, что подсистема отложенных обновлений (Soft Updates) может задерживать освобождение дискового пространства; вам может потребоваться подождать до 30 секунд, прежде, чем изменения будут заметны!

Такая ситуация часта на веб-серверах. Многие устанавливают веб-сервер на FreeBSD и забывают обновлять файлы протоколов. Журнал доступа заполняет /var. Новый администратор удаляет файл, но система все еще сообщает о том, что раздел заполнен. Остановка и перезапуск программы веб-сервера освободит файл, позволяя системе освободить дисковое пространство. Для предотвращения этого настройте newsyslog(8).



Компьютеры Micron зависают при загрузке


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

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

Более подробная информация об этой проблеме находится по следующему адресу: