Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным
файлом является /etc/sysconfig. Все параметры указываются
здесь, а остальные конфигурационные файлы, такие, как
Посмотрите файл /etc/sysconfig и измените значения
переменных на соответствующие вашей системе. В файле содержатся
комментарии, описывающие смысл этих переменных и способ их задания.
В системах выше 2.2.1 и в 3.0 файл /etc/sysconfig сменил
название на говорящее само за себя /etc/rc.local как обычно, можно использовать для запуска
дополнительных местных служб типа Файл /etc/rc.serial предназначен для инициализации
коммуникационных адаптеров (например, установки характеристик
работы последовательных портов итд).
Файл /etc/rc.i386 предназначен для настройки специфичных
для архитектуры Intel параметров, таких, как эмуляция iBCS2 или
характеристик системной консоли ПК.
Начиная с версии 2.1.0R, вы можете иметь "местные" файлы
автозапуска в каталоге, указанном в файле /etc/sysconfig
(или /etc/rc.conf):
Каждый файл, оканчивающийся на Если вам нужно добиться определённого порядка выполнения не
меняя имён файлов, можно использовать схему, в которой для
упорядочения используются цифры, предшествующие имени файла.
Это может выглядеть безобразно (как SysV :-)), но это
простой и понятный метод для добавления дополнительных служб без
шаманства с редактированием /etc/rc.local. Многие
порты/пакаджи предполагают, что каталог
/usr/local/etc/rc.d предназначен для размещения
запускаемых при загрузке системы скриптов.
Используйте команду Существует также пакет, называющийся ``<roberto@FreeBSD.ORG>.
В настоящий момент это пакет находится в стадии доработки.
Чтобы удалить пользователя, используйте команду Обратитесь к Руководству по форматированию дисков на сервере
Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным
дисководом, если вы хотите его использовать) или каким-то
другим, как только оно будет установлено и распознано
системой, и вы вставите в него картридж/дискету/что-там-ещё, всё
будет выглядеть примерно одинаково.
В Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно
работать с ядром, включающим драйвер Во-вторых, вам нужно иметь на диске полное дерево 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
Добро пожаловать в 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'' используется здесь
в двух смыслах, один означает ``бесплатно'', а другой
``вы можете делать все что хотите''. За исключением пары вещей,
которые вы
Версия Версия Короче говоря, ветка Нельзя сказать, что снэпшоты 3.0-current совсем нельзя использовать,
+ Нельзя сказать, что релиз 3.0-STABLE совсем нельзя использовать,
поэтому те, кому нужны некоторые её специфические возможности
(новый компилятор, быстрый сетевой код, итд), успешно их
используют. Мы просто не хотим настаивать на том, что 3.0 полностью
- готова к использованию, пока она окончательно не отлажена.
+ готова к использованию, пока она не будет выпущена как 3.1-RELEASE в
+ феврале 1999.
Если вы не специалист по операционным системам или не в состоянии
отличить реальную проблему от временных явлений, вы не должны
использовать FreeBSD-current. Эта ветвь зачастую меняется очень
быстро и вполне может быть просто не работоспособна некоторое
время. Те, кто используют FreeBSD-current, должны быть в состоянии
анализировать
любые проблемы и сообщать о них, если это действительно
ошибки, а не ``глюки''. Сообщения типа ``make world produces some error
about groups'' в списке рассылки -current иногда воспринимаются
пренебрежительно.
Из ветви -current регулярно делаются
Не утверждается, что всякий снапшот имеет качество
``готового продукта''. Для стабильной и надежной работы
вам нужно подождать полного релиза.
Снапшоты доступны непосредственно с После того, как была выпущена FreeBSD 2.0.5, мы решили разделить
разработку FreeBSD на две части. Одна ветка была названа Ветвь -current постепенно переходит в 3.0.1 и выше, тогда как
+ Ветвь -current постепенно переходит в 4.0 и выше, тогда как
предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8.
- 3.0-current будет оставаться веткой, где ведётся активная разработка,
- вплоть до настоящего релиза 3.0.1 в начале 1999. В этот момент 3.0
- станет еще одной веткой, а 3.1-current станет следующей "текущей
- ветвью".
+ Теперь его заменила ветвь 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 имеется достаточно полный
Для FreeBSD версий от 2.0.5R до 2.2.1R основным конфигурационным
файлом является /etc/sysconfig. Все параметры указываются
здесь, а остальные конфигурационные файлы, такие, как
Посмотрите файл /etc/sysconfig и измените значения
переменных на соответствующие вашей системе. В файле содержатся
комментарии, описывающие смысл этих переменных и способ их задания.
В системах выше 2.2.1 и в 3.0 файл /etc/sysconfig сменил
название на говорящее само за себя /etc/rc.local как обычно, можно использовать для запуска
дополнительных местных служб типа Файл /etc/rc.serial предназначен для инициализации
коммуникационных адаптеров (например, установки характеристик
работы последовательных портов итд).
Файл /etc/rc.i386 предназначен для настройки специфичных
для архитектуры Intel параметров, таких, как эмуляция iBCS2 или
характеристик системной консоли ПК.
Начиная с версии 2.1.0R, вы можете иметь "местные" файлы
автозапуска в каталоге, указанном в файле /etc/sysconfig
(или /etc/rc.conf):
Каждый файл, оканчивающийся на Если вам нужно добиться определённого порядка выполнения не
меняя имён файлов, можно использовать схему, в которой для
упорядочения используются цифры, предшествующие имени файла.
Это может выглядеть безобразно (как SysV :-)), но это
простой и понятный метод для добавления дополнительных служб без
шаманства с редактированием /etc/rc.local. Многие
порты/пакаджи предполагают, что каталог
/usr/local/etc/rc.d предназначен для размещения
запускаемых при загрузке системы скриптов.
Используйте команду Существует также пакет, называющийся ``<roberto@FreeBSD.ORG>.
В настоящий момент это пакет находится в стадии доработки.
Чтобы удалить пользователя, используйте команду Обратитесь к Руководству по форматированию дисков на сервере
Каким бы ни было это устройство, типа ZIP, EZ (или даже обычным
дисководом, если вы хотите его использовать) или каким-то
другим, как только оно будет установлено и распознано
системой, и вы вставите в него картридж/дискету/что-там-ещё, всё
будет выглядеть примерно одинаково.
Если это устройство ZIP или обычный дисковод, и у вас уже есть
файловая система DOS на дискетах, то вы можете нспользовать команду
типа:
для обычных дискет, или
для дискет ZIP со стандартной конфигурацией.
Для других дисков посмотрите их параметры с помощью
/stand/sysinstall.
Остальные примеры даны для привода ZIP на sd2, третьем диске SCSI.
Если это дискета или сменный диск, который будет использоваться для
обмена информацией с другими людьми, хорошой идеей будет помещение туда
файловой системы BSD. Вы получите поддержку длинных имён файлов,
увеличение производительности по крайней мере в два раза и гораздо
большую надёжность. Первым делом вам снова будет нужно выполнить
разбиение диска на разделы/файловые системы. Вы можете
воспользоваться утилитой Вы можете использовать disklabel или /stand/sysinstall для
создания нескольких разделов BSD. Вам наверняка придётся это сделать,
если вы станете добавлять место для раздела подкачки на винчестере,
хотя это не имеет отношения к устройствам типа ZIP.
В итоге вы должны создать новую файловую систему (в этом примере
она занимает весь наш диск ZIP):
и смонтировать её:
Хорошо ещё добавить строку типа следующей в файл
Вторичные разделы DOS находятся после ВСЕХ первичных разделов.
Например, если раздел "E" является вторым разделом DOS на
втором диске SCSI, вам нужно создать специальные файлы для пятого
"слайса" в каталоге /dev, затем смонтировать /dev/sd1s5:
Компакт-диски с файловой системой UFS от Нас интересует любая дополнительная информация по этому вопросу.
Идея заключается в копировании первого сектора корневого раздела
FreeBSD в файл, находящийся в разделе DOS/NT. Предположим, что
вы назвали этот файл c:\bootsect.bsd (по аналогии с
c:\bootsect.dos), после чего можете отредактировать
файл c:\boot.ini, чтобы он выглядел примерно так:
Здесь предполагается, что DOS, NT, FreeBSD или другая операционная
система были установлены в их соответствующие разделы fdisk на
Перезапустите DOS или NT. Пользователи NTFS должны скопировать
файл
attrib -s -r c:\boot.ini
Отредактируйте этот файл, добавив соответствующие строки из
примерного
attrib -r -s c:\boot.ini
Если FreeBSD загружается из MBR, восстановите его командой DOS
``
Если у вас установлены FreeBSD и Linux на одном и том же диске,
следуйте указаниям по установке LILO о загрузке не-Linux операционных
систем. Они сводятся к следующему:
Загрузите Linux, и добавьте слеующие строки в файл
/etc/lilo.conf:
Если FreeBSD располагается на другом диске, вам нужно добавить
строчку ``loader=/boot/chain.b'' в конфигурационный файл
LILO. Например:
В некоторых случаях для успешной загрузки со второго диска вам
может потребоваться указать номер диска BIOS загрузчику FreeBSD.
Например, если диск SCSI с FreeBSD определяется BIOS как диск 1,
в приглашении загрузчика FreeBSD нужно указать:
Во FreeBSD 2.2.5 и выше вы можете настроить В документе Установите LILO в начало загрузочного раздела Linux, а не в
Master Boot Record. После этого можно запустить LILO из BootEasy.
Это рекомендуется сделать в любом случае при одновременном
использовании Windows-95 и Linux, чтобы упростить восстановление
работоспособности Linux после переинсталляции Windows95 (которая
является Недоброжелательной Операционной Системой и не терпит
присутствия других операционных систем в Master Boot Record).
Хотя это самый распространённый способ, использумый в мире
- персональных компьютеров, те, кто пришёл из мира Unix или
- собирается устанавливать машину для работы FreeBSD и только FreeBSD,
- чаще используют классический подход Unix, при котором операционная
- система занимает диск полностью, с самого первого по самый последний
- сектор. Таблица разделов fdisk в этом случае не используется никак,
- на машине работает FreeBSD 24 часа в сутки, 7 дней в неделю, запуск
- других операционных систем здесь даже не предусмотрен. Так что, если
- вы выберите ``A)ll FreeBSD'' в редакторе разделов fdisk инсталлятора,
- и ответите на последующий вопрос ``No'', вы получите такой режим.
- Заметьте, что это значит, что начальный загрузчик BSD также формирует
- iи MBR для этого диска, так что не остаётся места ни для чего, даже
- менеджера загрузки. Даже не пробуйте его установить, вы испортите
- загрузчик BSD.
+ загрузки для переключения между операционными системами. Либо вы
+ можете выделить диск полностью под FreeBSD, не заботясь о совместимости
+ с другими операционными системами.
Почему же этот режим называется ``dangerous''? Дело в том, что
диск в этом режиме не будет содержать того, что обычные утилиты для
ПК распознают как таблицу разделов. В зависимости от того, насколько
хорошо они написаны, они могут сообщить вам об этом, как только
обнаружат такой диск, или, что гораздо хуже, могут запортить загрузчик
- BSD, даже не спрашивая и не сообщая об этом. Некоторые операционные
- системы, достаточно распространённые на ПК, славятся таким
- ``недружелюбным'' поведением (конечно, называя его ``дружественным''
- интерфейсом). По крайней мере, Award BIOS, которые, к примеру,
- используются в серверах серии HP Netserver (и не только там) известен
- игнорированием винчестеров, не содержащим нормальной, по его понятиям,
- таблицы разделов. При загрузке такой диск просто игнорируется,
- BIOS обращается к дисководу, и выдаёт сообщение ``Read error''.
- Впечатляет, правда? Наверное, они тоже называют такое поведение
- ``дружественным'', кто знает?
-
-
В Чтобы сделать релиз, вам нужно иметь три вещи: Во-первых, вам нужно
работать с ядром, включающим драйвер Во-вторых, вам нужно иметь на диске полное дерево 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
Добро пожаловать в 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'' используется здесь
в двух смыслах, один означает ``бесплатно'', а другой
``вы можете делать все что хотите''. За исключением пары вещей,
которые вы
Версия Версия Короче говоря, ветка Нельзя сказать, что снэпшоты 3.0-current совсем нельзя использовать,
+ Нельзя сказать, что релиз 3.0-STABLE совсем нельзя использовать,
поэтому те, кому нужны некоторые её специфические возможности
(новый компилятор, быстрый сетевой код, итд), успешно их
используют. Мы просто не хотим настаивать на том, что 3.0 полностью
- готова к использованию, пока она окончательно не отлажена.
+ готова к использованию, пока она не будет выпущена как 3.1-RELEASE в
+ феврале 1999.
Если вы не специалист по операционным системам или не в состоянии
отличить реальную проблему от временных явлений, вы не должны
использовать FreeBSD-current. Эта ветвь зачастую меняется очень
быстро и вполне может быть просто не работоспособна некоторое
время. Те, кто используют FreeBSD-current, должны быть в состоянии
анализировать
любые проблемы и сообщать о них, если это действительно
ошибки, а не ``глюки''. Сообщения типа ``make world produces some error
about groups'' в списке рассылки -current иногда воспринимаются
пренебрежительно.
Из ветви -current регулярно делаются
Не утверждается, что всякий снапшот имеет качество
``готового продукта''. Для стабильной и надежной работы
вам нужно подождать полного релиза.
Снапшоты доступны непосредственно с После того, как была выпущена FreeBSD 2.0.5, мы решили разделить
разработку FreeBSD на две части. Одна ветка была названа Ветвь -current постепенно переходит в 3.0.1 и выше, тогда как
+ Ветвь -current постепенно переходит в 4.0 и выше, тогда как
предыдущая ветвь, 2.2-stable, была вытеснена релизом 2.2.8.
- 3.0-current будет оставаться веткой, где ведётся активная разработка,
- вплоть до настоящего релиза 3.0.1 в начале 1999. В этот момент 3.0
- станет еще одной веткой, а 3.1-current станет следующей "текущей
- ветвью".
+ Теперь его заменила ветвь 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 имеется достаточно полный