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

         

Диски, файловые системы и начальные загрузчики


9.1.

9.2.

9.3.

9.4.

9.5.

9.6.

9.7.

9.8.

9.9.

9.10.

9.11.

9.12.

9.13.

9.14.

9.15.

9.16.

9.17.

9.18.

9.19.

9.20.

9.21.

9.22.

9.23.

9.24.

9.25.



Коммерческие приложения


Замечание: Этот раздел выглядит довольно заброшенным, однако мы, конечно же, надеемся, что производители сделают добавления! :) Проект FreeBSD финансово не заинтересован в успехах ни одной из компаний, которые здесь упоминаются, хотя приводит их список в интересах общества (в предположении, что коммерческий интерес к FreeBSD может положительно повлиять на дальнейшее развитие FreeBSD). Мы просим поставщиков коммерческого программного обеспечения присылать нам информацию о ваших продуктах для включения в этот список. Более полный список производителей находится на странице производителей.

6.1.

6.2.

6.3.

6.4.

6.5.

6.6.



Коммуникационные адаптеры


В этом разделе освещены вопросы о работе последовательных адаптеров во FreeBSD. Протоколы PPP и SLIP рассматриваются в разделе .

15.1.

15.2.

15.3.

15.4.

15.5.

15.6.

15.7.

15.8.

15.9.

15.10.

15.11.

15.12.

15.13.

15.14.

15.15.

15.16.

15.17.

15.18.

15.19.

15.20.



Прикладные программы


7.1.

7.2.

7.3.

7.4.

7.5.

7.6.

7.7.

7.8.

7.9.

7.10.

7.11.

7.12.



Работа в сети


12.1.

12.2.

12.3.

12.4.

12.5.

12.6.

12.7.

12.8.

12.9.

12.10.

12.11.

12.12.

12.13.

12.14.

12.15.

12.16.

12.17.

12.18.

12.19.

12.20.

12.21.

12.22.

12.23.

12.24.

12.25.

12.26.

12.27.



Разное


16.1.

16.2.

16.3.

16.4.

16.5.

16.6.

16.7.

16.8.

16.9.

16.10.

16.11.

16.12.

16.13.

16.14.

16.15.

16.16.



Сложные темы


18.1.

18.2.

18.3.

18.4.

18.5.

18.6.

18.7.

18.8.

18.9.

18.10.

18.11.

18.12.

18.13.

18.14.

18.15.

18.16.



Установка


Nik Clayton

3.1.

3.2.

3.3.

3.4.

3.5.

3.6.

3.7.

3.8.

3.9.

3.10.

3.11.

3.12.

3.13.

3.14.

3.15.

3.16.

3.17.

3.18.

3.19.

3.20.

3.21.

3.22.

3.23.

3.24.

3.25.

3.26.

3.27.

3.28.

3.29.

3.30.

3.31.



Устранение некоторых проблем


5.1.

5.2.

5.3.

5.4.

5.5.

5.6.

5.7.

5.8.

5.9.

5.10.

5.11.

5.12.

5.13.

5.14.

5.15.

5.16.

5.17.

5.18.

5.19.

5.20.

5.21.

5.22.

5.23.

5.24.

5.25.

5.26.

5.27.

5.28.

5.29.

5.30.



Вступление


Добро пожаловать в FAQ по FreeBSD 2.X-5.X!

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

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

1.1.

1.2.

1.3.

1.4.

1.5.

1.6.

1.7.

1.8.

1.9.

1.10.

1.11.

1.12.

1.13.

1.14.

1.15.

1.16.



X Window System и виртуальные консоли


11.1.

11.2.

11.3.

11.4.

11.5.

11.6.

11.7.

11.8.

11.9.

11.10.

11.11.

11.12.

11.13.

11.14.

11.15.

11.16.

11.17.

11.18.

11.19.



Итак, где находятся все прикладные программы?


Пожалуйста, загляните на , содержащую информацию о программных продуктах, перенесённых во FreeBSD. На данный момент в этом списке находится более 10,500 приложений и он ежедневно увеличивается, так что почаще туда заглядывайте или подпишитесь на список рассылки freebsd-announce, в котором публикуется информация о появлении новых приложений.

Большинство портов должны нормально работать на системах веток 4.X и 5.X. При выходе нового релиза FreeBSD в него в каталог ports/ включается актуальная на момент выхода коллекция портов.

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

Используйте меню установки пакаджей в /stand/sysinstall (в пункте меню post-configuration) или запускайте pkg_add(1) с указанием конкретных файлов с пакаджами, которые вы хотите проинсталлировать. Файлы с пакаджами, как правило, идентифицируются по их суффиксу .tgz, а для тех, кто имеет дистрибутив системы на компакт-диске, предназначен каталог packages/All, содержащий все эти файлы. Они также могут быть получены по сети для разных версий FreeBSD со следующих серверов:

для 4.X-RELEASE/4-STABLE

для 5.X-CURRENT

или с ближайшего к вам зеркального сервера.

Имейте в виду, что не все порты могут быть доступны в виде пакаджей, так как постоянно идёт добавление новых. Неплохо время от времени проверять, какие пакаджи доступны на основном сервере .



Я хочу изменить настройки ядра Это сложно?


Вовсе нет! Обратитесь к Руководства, который посвящён этому вопросу.

Замечание: Мы рекомендуется сохранить копию вашего нового файла ядра /kernel в файл kernel.ГГММДД после того, как вы получите нормально работающее ядро. Также сделайте резервную копию нового каталога /modules в каталог /modules.ГГММДД. В таком случае, если вы испортите что-либо в вашем конфигурационном файле, то сможете загрузить резервное ядро, вместо того, чтобы начинать всё снова с kernel.GENERIC. Это, в частности, имеет смысл, если вы производите загрузку системы с контроллера, который не поддерживается в стандартном ядре GENERIC.



Я хочу приобрести аппаратуру для моей системы FreeBSD Какая модель/производитель/тип лучше всего?


Это постоянно обсуждается в списках рассылки FreeBSD. Так как аппаратура меняется так быстро, мы это ожидаем. Мы всё же настоятельно рекомендуем, чтобы вы прочитали Hardware Notes для FreeBSD 5.2.1 или , а также выполнили поиск по списков рассылки перед тем, как задавать вопросы о самом последнем и лучшем оборудовании. Весьма вероятно, что обсуждение требуемого вам оборудование как раз было на прошлой неделе.

Если вы подбираете лэптоп, посмотрите архивы списка рассылки FreeBSD-mobile. В противном случае вам нужны архивы FreeBSD-questions или, возможно, специфичные списки рассылки по конкретному типу оборудования.



Я хочу запустить X, как это сделать?


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

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

Вы можете также попробовать сервер Xaccel. За подробной информацией обратитесь к разделу, посвящённому продуктам фирм и Metro Link.



Я написал некоторое добавление к ядру, кому его послать?


Обратитесь к статье о том, как помочь проекту FreeBSD, чтобы выяснить, как это сделать.

И спасибо Вам за Ваши усилия!



Я не могу скомпилировать ядро Отсутствует _hw_floatПочему?


Позвольте мне угадать. Вы, наверное, удалили npx0

(посмотрите справку по npx(4)) из вашего файла конфигурации ядра, потому что у вас нет сопроцессора, да? А вот и неправильно! :-) Строка npx0 ОБЯЗАТЕЛЬНА. Даже если у вас нет математического сопроцессора, вы должны включить поддержку устройства npx0.



Я обновил исходные тексты, как теперь обновить установленные порты?


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

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

# pkg_version -c > /tmp/myscript

Получаемый скрипт необходимо

отредактировать вручную перед его использованием. Последние версии команды pkg_version(1)

заставляют делать это, помещая в начало скрипта команду exit(1).

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

Замечание: Начиная с FreeBSD 5.0 (и для более поздних версий), pkg_version(1) более не поддерживает параметр -c.

Если у вас достаточный объем дискового пространства, вы можете использовать инструмент portupgrade для автоматизации всего этого. В portupgrade включены различные утилиты для упрощения работы с пакаджами. Он находится в sysutils/portupgrade. Так как он написан на языке Ruby, то вряд ли portupgrade может быть кандидатом на включение в поставку FreeBSD. Однако это вовсе не значит, что его нельзя использовать.

Если ваша система находится в работе постоянно, для создания списка портов, которым может потребоваться обновление, каждую неделю, можно использовать систему periodic(8), задав weekly_status_pkg_enable="YES" в файле /etc/periodic.conf.



Я обновил некоторые разделы Коллекции


Если вы обновляете Коллекцию Портов только частично, используя один из более мелких наборов CVSup, обходясь без CVSup-набора ports-all, то вы должны всегда обновлять также и набор ports-base! Причины описаны в Руководстве.



Я попытался установить новое ядро, однако утилита chflags не сработала Как это обойти?


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

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

# sysctl kern.securelevel

Вы не можете понизить уровень безопасности; для установки ядра вам нужно перезагрузиться в однопользовательский режим, или изменить уровень безопасности в /etc/rc.conf, а затем выполнить перезагрузку. Обратитесь к странице Справочника по за подробной информацией об уровне безопасности и посмотрите /etc/defaults/rc.conf и справочную страницу по rc.conf(5) для выяснения подробностей о файле rc.conf.



Я попытался запустить X, но получил


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

Так что вопрос сводится к тому, как вам это обойти, и у вас здесь есть в основном два варианта: понизить ваш уровень защиты обратно к нулю (обычно это делается в /etc/rc.conf) или во время загрузки запускать xdm(1) (до того, как повышается уровень защиты).

Обратитесь к для получения более полной информации о запуске xdm(1) во время загрузки.



Я пытался обновить мою систему до последней -STABLE, а получил -RC или -PRERELEASE! Что происходит?


Краткий ответ: это же просто название. RC означает ``Release Candidate''. Это значит, что вскоре произойдет выход релиза. Во FreeBSD появление -PRERELEASE, как правило, равнозначно прекращению внесения изменений в код системы перед появлением релиза. (Для некоторых релизом метка -BETA использовалась точно так же, как и PRERELEASE.)

Подробный ответ: во FreeBSD релизы выпускаются из одного из двух мест. Крупные релизы, точка-ноль, такие, как 3.0-RELEASE и 4.0-RELEASE, ответвляются от основного потока разработки, более известного как . Мелкие релизы, такие, как 3.1-RELEASE или 4.2-RELEASE, являлись снэпшотами активной ветки -STABLE. Начиная с 4.3-RELEASE, каждый релиз также имеет свою ветвь, которой могут следовать те, кому необходим сверхконсервативный метод обновления (как правило, внесение только тех исправлений, которые касаются вопросов обеспечения безопасности).

Когда делается релиз, то ветвь, из которой он выпускается, подвергается некоторой подготовке. Частью этого процесса является замораживание кода. Когда инициируется замораживание кода, то имя ветки изменяется для того, чтобы отразить факт близости релиза. Например, если ветка называлась 4.5-STABLE, то её имя будет изменено на 4.6-PRERELEASE, чтобы обозначить момент прекращения внесения изменений в код системы и период дополнительного тестирования перед выходом релиза. В это время исправления ошибок могут быть внесены в код системы для того, чтобы быть включенными в релиз. Когда исходный код подготовлен к выпуску релиза, имя будет изменено на 4.6-RC для обозначения того, что релиз будет сделан, скорее всего, именно из этого кода. Когда код находится на этапе RC, в нём могут исправляться только самые критичные ошибки. Как только релиз (в нашем примере 4.6-RELEASE) и ветка релиза будут созданы, ветвь будет переименована в 4.6-STABLE.

Для получения дополнительной информации о номерах версий и различных ветках CVS обратитесь к статье о .



Я сделал ошибку в файле rcconf


При получении приглашения на ввод полного пути до командного процессора, просто нажмите ENTER, а затем выполните команду mount / для повторного монтирования корневой файловой системы в режиме чтения/записи. Вам может также потребоваться выполнить команду mount -a -t ufs для монтирования файловой системы, в которой расположен ваш любимый редактор. Если редактор расположен на сетевой файловой системе, то вам потребуется выполнить сетевые настройки вручную до монтирования сетевой файловой системы, либо воспользоваться редактором, находящимся в локальной файловой системе, таким, как .

Если вы собираетесь использовать полноэкранный редактор, такой, как vi(1) или emacs(1), то вам нужно будет выполнить команду export TERM=cons25, чтобы такие редакторы смогли корректно взять данные из базы данных termcap(5).

После выполнения этих шагов вы сможете отредактировать файл /etc/rc.conf так, как вы это обычно делаете для исправления ошибки. Сообщение об ошибке, выводимое сразу же после сообщений при загрузке ядра, должно указать вам на номер строки в файле, которая содержит ошибку.



Я скомпилировал новое ядро и при загрузке получил сообщение об ошибке ``archswreadinfailed''


Вы можете осуществить загрузку системы, явно указав ядро во время второго этапа загрузочного процесса, нажав любую клавишу после появления символа | до запуска загрузчика. Более точно, вы обновили исходные тексты ядра, откомпилировали и установили новое ядро без выполнения make world . Такое не поддерживается. Выполните make world.



Я только что обновил систему с


FreeBSD 3.X и более ранние версии поддерживают утилиту bad144, которая автоматически переназначает испорченные блоки. Во FreeBSD 4.X и выше этого не поддерживается, так как в современные диски IDE эта функциональность уже включена. Обратитесь к этому вопросу для получения более полной информации.

Чтобы исправить это после обновления системы, вам нужно физически поместить диск в рабочую систему и воспользоваться командой disklabel(8), как описано в следующем вопросе.



Я только что установил CVSup, но при попытке его запустить получил сообщения об ошибках Что не так?


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

/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found

Ошибки, подобные этой, возникают при установке порта net/cvsup на машину без пакета XFree86. Если вы хотите использовать GUI, имеющийся в CVSup, то вам нужно теперь установить XFree86. Либо, если вы хотите использовать CVSup только из командной строки, то вы должны удалить ранее установленный пакадж. Затем установите порт net/cvsup-without-gui. Более подробно это описано в разделе о CVSup Руководства.

X Window System и виртуальные консоли   Безопасность



Я забыл пароль пользователя root! Что делать?


Без паники! Просто перезапустите систему, наберите boot -s в приглашении Boot: (или просто -s в случае использования версий FreeBSD до 3.2) для входа в однопользовательский режим. На вопрос об используемой оболочке нажмите ENTER. На приглашение # введите mount -u /, чтобы перемонтировать корневую файловую систему в режиме чтения/записи, после чего выполните команду mount -a для монтирования всех файловых систем. Запустите команду passwd root, чтобы сменить пароль пользователя root, а затем exit(1) для продолжения процесса загрузки.



Я загрузился с ATAPI CDROM, однако


Обычной причиной возникновения такой проблемы является неправильно сконфигурированный привод CDROM. Теперь зачастую ПК продаются с CDROM, установленным как ведомое устройство на втором контроллере IDE, но без ведущего устройства на этом контроллере. Согласно спецификации ATAPI, такая конфигурация неверна, однако Windows в таком случае всё же работает, и BIOS игнорирует это при загрузке. Вот почему BIOS может видеть CDROM при загрузке, а FreeBSD для завершения установки - нет.

Переконфигурируйте вашу систему так, чтобы CDROM оказался либо основным устройством на том IDE-контроллере, на котором он установлен, либо ведомым устройством на контроллере IDE, который имеет ведущее устройство.



Я записал CD во FreeBSD и теперь не могу считать его ни в какой другой операционной системой Почему?


Скорее всего, вы записали на CD непосредственно необработанный файл без первоначального создания файловой системы ISO 9660. Прочтите главу Руководства о создании CDROM, в частности, раздел о .



Как деинсталлировать Kerberos?


Чтобы убрать Kerberos из системы, переустановите дистрибутив bin того релиза, который у вас запущен. Если у вас есть CDROM, вы можете смонтировать компакт-диск (положим, в каталог /cdrom) и выполнить команду

# cd /cdrom/bin

# ./install.sh

Либо вы можете убрать все опции MAKE_KERBEROS из файла /etc/make.conf и выполнить полное перестроение системы.



Как добавить дополнительную виртуальную память?


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



Как добавить в систему дополнительные псевдотерминалы?


Если у вас много пользователей, работающий в сеансах telnet, ssh, X или в screen, вам можете столкнуться с проблемой нехватки псевдотерминалов. Их количество можно увеличить следующим образом:

Откомпилируйте и инсталлируете новое ядро, в конфигурационный файл которого входит такая строка:

pseudo-device pty 256

Выполните следующие команды:

# cd /dev

# sh MAKEDEV pty{1,2,3,4,5,6,7}

для создания 256 дополнительных файлов устройств для новых терминалов.

Отредактируйте файл /etc/ttys, добавив по строке для каждого из 256 терминалов. Они должны соответствовать формату существующих строк, то есть должны выглядеть вот так:

ttyqc none network

Порядок назначения букв при записи в виде регулярного выражения имеет вид tty[pqrsPQRS][0-9a-v].

Теперь осталось только перезапустить систему с новым ядром.



Как добавить в систему новый диск?


Обратитесь к Руководству по форматированию дисков на сервере www.FreeBSD.org.



Как использовать мышь PS/(типа ``mouse port'' или ``keyboard'')?


Встроенная поддержка мыши PS/2 имеется во всех последних версиях FreeBSD. Необходимый драйвер устройства, psm, включён в ядро GENERIC.

Если в вашем ядре его нет, то добавьте следующие строки в файл конфигурации ядра и постройте новое ядро.

Во FreeBSD 3.0 и ранее, строчка должна иметь вид:

device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

Во FreeBSD 3.1 и выше, строчка должна быть такой:

device psm0 at isa? tty irq 12

Во FreeBSD 4.0 и выше строчка должна иметь вид:

device psm0 at atkbdc? irq 12

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

# cd /dev; sh MAKEDEV psm0

войдя в систему администратором.

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

devfs(5), так как необходимые файлы устройств будут создаваться в каталоге /dev автоматически.



Как использовать удалённые X-дисплеи?


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

Для включения этой возможности просто запустите X с аргументом -listen_tcp:

% startx -listen_tcp



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


Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным дисководом, если вы хотите его использовать) или каким-то другим, как только оно будет установлено и распознано системой, и вы вставите в него картридж/дискету/что-там-ещё, всё будет выглядеть примерно одинаково.

(этот раздел опирается на FAQ по устройствам ZIP Марка Мэйо (Mark Mayo))

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

# mount -t msdos /dev/fd0c /floppy

для обычных дискет, или

# mount -t msdos /dev/da2s4 /zip

для дискет ZIP со стандартной конфигурацией.

Для других дисков посмотрите их параметры с помощью команды fdisk(8) или sysinstall(8).

Остальные примеры даны для привода ZIP на da2, третьем диске SCSI.

Если это дискета или сменный диск, который будет использоваться для обмена информацией с другими людьми, хорошей идеей будет помещение туда файловой системы BSD. Вы получите поддержку длинных имён файлов, увеличение производительности по крайней мере в два раза и гораздо большую надёжность. Первым делом вам снова будет нужно выполнить разбиение диска на разделы/файловые системы. Вы можете воспользоваться утилитой fdisk(8) либо sysinstall(8), а в случае небольшого диска, на котором не нужно располагать несколько операционных систем, просто сотрите таблицу разделов (слайсов) FAT и используйте разбиение на разделы BSD.

# dd if=/dev/zero of=/dev/rda2 count=2

# disklabel -Brw da2 auto

Вы можете использовать disklabel(8) или sysinstall(8) для создания нескольких разделов BSD. Вам наверняка придётся это сделать, если вы станете добавлять место для раздела подкачки на винчестере, хотя это не имеет отношения к устройствам типа ZIP.

В итоге вы должны создать новую файловую систему (в этом примере она занимает весь наш диск ZIP):

# newfs /dev/rda2c

и смонтировать её:

# mount /dev/da2c /zip

Хорошо ещё добавить строку типа следующей в файл /etc/fstab

(прочтите справку по fstab(5)), чтобы в будущем можно было просто давать команду mount /zip:

/dev/da2c /zip ffs rw,noauto 0 0



Как использовать zmodem вместе с tip?


Первым делом установите одну из программ, реализующих протокол zmodem из коллекции портов (там есть парочка в категории comms, lrzsz и rzsz).

Для приёма файлов запустите программу передачи на противоположной стороне. Затем нажмите enter и наберите ~C rz (или ~C lrz, если у вас установлен lrzsz) для начала приёма их на локальную машину.

Для посылки файлов, запустите программу приёма на противоположной стороне. Затем нажмите enter и наберите ~C sz files (или ~C lsz files) для посылки файлов на удалённую систему.

PPP   Разное



Как я должен ввести эти AT-команды?


Создайте так называемое ``прямое'' описание в вашем файле /etc/remote (посмотрите справку по remote(5)). Например, если ваш модем подключен к первому последовательному порту, /dev/cuaa0, сделайте такую строку:

cuaa0:dv=/dev/cuaa0:br#19200:pa=none

Укажите максимальную скорость обмена с портом, поддерживаемую модемом в параметре br. Затем выполните команду tip cuaa0

(обратитесь к справке по tip(1)) и вы подключитесь к модему.

Если в вашей системе нет устройства /dev/cuaa0, сделайте следующее:

# cd /dev

# sh MAKEDEV cuaa0

Или используйте cu, войдя администратором, с такими параметрами:

# cu -lline -sspeed

где line - это имя последовательного порта (например, /dev/cuaa0), а speed - скорость работы модема с портом (например, 57600). После ввода AT-команд, наберите ~. для завершения работы.



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


Идея заключается в копировании первого сектора корневого раздела FreeBSD в файл, находящийся в разделе DOS/NT. Предположим, что вы назвали этот файл c:\bootsect.bsd (по аналогии с c:\bootsect.dos), после чего можете отредактировать файл c:\boot.ini, чтобы он выглядел примерно так:

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" C:\BOOTSECT.BSD="FreeBSD" C:\="DOS"

Если FreeBSD установлена на тот же самый диск, что и загрузочный раздел NT, просто скопируйте /boot/boot1 в C:\BOOTSECT.BSD. Однако, если FreeBSD установлена на другой диск, то /boot/boot1 работать не будет, нужно копировать /boot/boot0.

/boot/boot0 нужно устанавливать с помощью sysinstall, выбрав менеджер загрузки FreeBSD в диалоговом окне при выборе менеджера загрузки. Это потому что в /boot/boot0 область таблицы разделов заполнена символами NULL, а sysinstall копирует сюда таблицу разделов перед тем, как скопировать /boot/boot0 в область MBR.

Внимание: Не копируйте просто /boot/boot0 вместо /boot/boot1, этим вы перезапишете таблицу разделов винчестера и ваш компьютер перестанет загружаться!

При запуске менеджер загрузки FreeBSD задаёт ОС, которая загружалась последний раз, устанавливая для этой операционной системы признак активизации в таблице разделов, а затем записывает 512 байт самого себя обратно в MBR, так что если вы просто скопируете /boot/boot0 в C:\BOOTSECT.BSD, то в MBR будет записана пустая таблица разделов с флагом активности в некотором месте.



Как можно оказать помощь проекту FreeBSD?


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



Как можно передавать файлы с помощью программы tip?


Если вы соединились с другой Unix-системой, вы можете посылать и принимать файлы командами ~p (передача) и ~t

(приём). Эти команды запускают программы cat(1) и echo(1) на удалённой системе, чтобы принять и послать файлы. Синтаксис вызова имеет такой вид:

~p <local-file> [<remote-file>] ~t <remote-file> [<local-file>]

Контроль ошибок передачи при этом не осуществляется, так что вам может понадобиться другой протокол передачи, например, zmodem.



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


Вы можете перенаправить запрос на FTP (или другой сервис) с помощью пакаджа socket, доступного в дереве портов в категории ``sysutils''. Просто замените командную строку запуска сервиса на вызов socket, типа:

ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp

где ftp.example.com и ftp являются соответственно хостом и портом для перенаправления.



Как можно получить доступ к базе сообщений о проблемах (Problem Report)?


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

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

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



Как можно узнать больше о внутреннем устройстве FreeBSD?


В настоящее время нет книги по внутреннему устройству ОС, специфичному для FreeBSD. Однако большинство общих представлений о UNIX® непосредственно применимо к FreeBSD. Кроме того, нет книг, специфичных для BSD, которые ещё актуальны.

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



Как можно вырезать и копировать текст с помощью мыши в текстовой консоли?


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

Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями даемона мыши. Обратитесь к справочным страницам по moused(8) для получения полной информации.



Как набрать телефонный номер из командной строки?


Поместите так называемое ``общее'' описание в ваш файл /etc/remote (посмотрите справку по remote(5)). Например:

tip115200|Dial any phone number at 115200 bps:\ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: tip57600|Dial any phone number at 57600 bps:\ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:

Тогда вы сможете выполнять команды вроде tip -115200 5551234. Если предпочитаете программу cu(1), а не tip(1), используйте общее описание для cu:

cu115200|Use cu to dial any number at 115200bps:\ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:

и выполняйте команду cu 5551234 -s 115200.



Как настроить алиас в сети Ethernet?


Если алиас находится в той же самой сети, что и уже настроенный на интерфейсе адрес, то добавьте в командной строке для ifconfig(8) добавьте netmask 0xffffffff примерно следующим образом:

# ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff

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

# ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00



Как настроить INN (Internet News) на моей машине?


После установки пакаджа или порта news/inn для начала загляните на страничку Дэйва Бэрра (Dave Barr), посвящённую INN, где вы найдёте соответствующий FAQ.



Как осуществляется доступ к последовательным портам во FreeBSD?


Третий последовательный порт, sio2 (посмотрите справку по ), который в DOS называется COM3), обозначается как /dev/cuaa2 для устройств, выполняющих исходящие звонки, и /dev/ttyd2 для устройств, принимающих входящие звонки. Какая разница между этими двумя классами устройств?

Вы должны использовать ttydX для входящих соединений. При открытии /dev/ttydX в блокирующем режиме, процесс будет ожидать неактивности соответствующего устройства cuaaX, а затем появления сигнала о наличии несущей. При открытии устройства cuaaX, он проверяет, что последовательный порт не используется уже устройством ttydX. Если порт доступен, он ``похищает'' его у устройства ttydX. Также устройство cuaXX не следит за наличием несущей. С такой схемой работы и модемом, находящимся в режиме автоответа, вы можете позволить пользователям входить в систему и в то же время можете осуществлять исходящие звонки, а система позаботится о возможных конфликтах.



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


Используйте комбинацию клавиш Ctrl+Alt+Fn для переключения обратно в виртуальную консоль. Нажатие Ctrl+Alt+F1 вернёт вас на первую виртуальную консоль.

После того, как вы оказались в текстовой консоли, можете использовать, как обычно, комбинации Alt+Fn для переключения между ними.

Чтобы вернуться в сеанс работы X, вы должны переключиться в виртуальную консоль, на которой запущена X Window. Если вы запустили X из командной строки (например, при помощи команды startx), то сеанс работы X будет привязан к следующей неиспользуемой виртуальной консоли, а не к той текстовой консоли, с которой он был запущен. Если у вас имеется восемь активных виртуальных терминалов, то X будет работать на девятом, и вам нужно будет воспользоваться комбинацией Alt+F9 для возврата в X.



Как перечитать содержимое /etc/rcconf и перестартовать /etc/rc без перезагрузки системы?


Перейдите в однопользовательский режим, а затем возвратитесь обратно в многопользовательский.

На консоли выполните следующее:

# shutdown now

(Замечание: без -r или -h)

# return

# exit



Как перенести систему на большой новый диск?


Самый лучший способ заключается в переустановке ОС на новый диск и последующем переносе данных пользователей. Это очень рекомендуется делать, если вы следовали ветке -STABLE в течение более одного релиза или обновляли релиз, а не устанавливали новый. Вы можете установить программу booteasy на оба диска с помощью команды boot0cfg(8) и выполнять загрузку с любого из них до тех пор, пока не будете удовлетворены новой конфигурацией системы. Пропустите следующий абзац, чтобы перейти к вопросу переноса данных после этой операции.

Если вы решили не делать новой установки, то вам нужно разбить на разделы и разметить новый диск с помощью /stand/sysinstall или fdisk(8) и disklabel(8). Вы также должны установить на оба диска программу booteasy с помощью boot0cfg(8), чтобы иметь возможность выполнять загрузку как старой, так и новой системы после выполнения копирования. Обратитесь к за подробным описанием этого процесса.

Итак, после подготовки диска вы можете переносить данные. К сожалению, вы не можете просто скопировать данные. Такие вещи, как файлы устройств (в каталоге /dev), флаги и ссылки будут этому мешать. Вам нужно использовать инструменты, которые работают с такими случаями, а именно dump(8). Хотя рекомендуется выполнять перенос данных в однопользовательском режиме, это не обязательное условие.

Вы не должны использовать ничего, кроме dump(8) и restore(8) для переноса корневой файловой системы. Команда tar(1) может сработать, а может и не сработать. Также вы должны использовать dump(8) и restore(8) при переносе одного раздела в другой пустой раздел. Последовательность шагов при использовании программы dump для переноса данных раздела в новый раздел такова:

выполните команду newfs над новым разделом.

смонтируйте его во временный каталог.

перейдите в этот каталог.

Выполните команду dump над старым разделом, направив вывод в новый раздел.

Например, если вы собираетесь перенести корневую файловую систему на устройство /dev/ad1s1a с использованием каталога /mnt в качестве временной точки монтирования, то это делается так:



с использованием dump требует несколько


# newfs /dev/ad1s1a

# mount /dev/ad1s1a /mnt

# cd /mnt

# dump 0af - / | restore xf -

Переразбиение разделов с использованием dump требует несколько больше усилий. Для объединения раздела типа /var с его вышестоящим разделом, создайте новый раздел, достаточно большой для размещения их обоих, переместите вышестоящий раздел так, как это описано выше, а затем переместите нижестоящий раздел в пустой каталог, созданный при первом перемещении:

# newfs /dev/ad1s1a

# mount /dev/ad1s1a /mnt

# cd /mnt

# dump 0af - / | restore xf -

# cd var

# dump 0af - /var | restore xf -

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

# newfs /dev/ad1s1a

# newfs /dev/ad1s1d

# mount /dev/ad1s1a /mnt

# mkdir /mnt/var

# mount /dev/ad1s1d /mnt/var

# cd /mnt

# dump 0af - / | restore xf -

Вы можете использовать cpio(1), pax(1), tar(1) вместо dump(8) для данных пользователей. На момент написания этого документа было известно, что они теряют информацию о флагах файлов, так что используйте их с осторожностью.