Руководство пользователя FreeBSD Handbook

         

Цели проекта FreeBSD


Вклад Jordan K. Hubbard.

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

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

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



До установки через сеть


Вы можете провести инсталляцию FreeBSD через сеть, используя один из 3-х типов соединений:

Последовательный портSLIP или PPP Параллельный портPLIP (кабель laplink) EthernetСтандартный ethernet-контроллер (включает некоторые PCMCIA).

SLIP поддерживает примитивные и ограниченные длиной кабеля соединения через последовательный порт, как между лэптопом (laptop) и другим компьютером. Для этого типа соединения не требуется модем, в отличии от PPP соединения, которому следует отдавать предпочтение всегда, когда есть возможность.

Если у вас есть модем, то PPP именно то соединение, которое вам нужно. Вам необходимо знать, как минимум, IP адрес вашего провайдера, и, возможно, свой (хотя это можно опустить, предоставив PPP самому "договориться" с вашим ISP (Internet Service Provider)). Кроме этого вы должны уметь пользоваться ``AT-командами" вашего модема.



Если вы подключены через параллельный порт (laplink) к машине, на которой установлена FreeBSD(2.0 или старше), то можно сделать установку, используя этот тип соединения. Скорость передачи данных через параллельный порт намного выше скорости, предоставляемой через последовательный порт (до 50к/сек).

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

Вы должны знать свой IP адрес, сетевую маску и имя машины. Если вы обращаетесь к другим хостам по имени, а не по IP адресу, то вы тогда должны знать и name server и по возможности адреса сетевого шлюза (gateway) (если вы используете PPP-соединение, то IP адрес вашего провайдера). Обо всем, о чем вы не знаете из вышеперечисленного, спросите вашего сетевого администратора.

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



До установки из раздела MS-DOS


Для инсталляции из раздела MS-DOS, скопируйте файлы из дистрибутива в директорий C:\FREEBSD с таким же деревом поддиректорий, что и на CDROM с помощью DOS-команды xcopy.

Например, чтобы подготовить минимальную инсталляцию FreeBSD:

C> MD C:\FREEBSD C> XCOPY /S E:\BIN C:\FREEBSD\BIN\ C> XCOPY /S E:\MANPAGES C:\FREEBSD\MANPAGES\

где
C: - это DOS-раздел, куда вы помещаете дистрибутив
E: - это CDROM, откуда вы копируете дистрибутив.

Вы можете скопировать любое количество поддиректорий `DISTS' в C:\FREEBSD в зависимости от наличия свободного места в разделе MS-DOS. Директорий BIN нужен для установки в минимальном объеме.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



До установки с CDROM


Если FreeBSD не поддерживает ваш CDROM, пропустите все до пункта .

Загрузить установку FreeBSD с CDROM можно сразу из-под DOS, используя командный файл "install.bat'', или сделать загрузочную дискету с помощью командного файла ``makeflp.bat''.

Замечание:

Если вы используете FreeBSD 2.1-RELEASE и имеете IDE CDROM, то соответственно запустите командный фаил "inst_ide.bat" или "atapiflp.bat".

Под DOS наберите команду "view" , которая перенесет вас в меню. Это меню проведет вас по всем пунктам установки.

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

Как только вы запустили инсталляцию из DOS или с дискеты, выберите в меню Media (Устройства) ваш CDROM и загрузите весь дистрибутив с CDROM. Никаких других типов устройств для этого способа установки более не понадобится.

После того как вы полностью закончите инсталляцию и перезагрузите систему с жесткого диска, вы в любой момент можете смонтировать CDROM, издав mount /cdrom

Чтобы удалить CD из дисковода, сначала размонтируйте его:

umount /cdrom и только после этого выньте диск!

Замечание: До установки системы обязательно поставьте диск, чтобы программа инсталляционной проверки смогла обнаружить данное устройство. Так же это верно, если вы хотите, чтобы CDROM входил в конфигурацию системы по умолчанию автоматически во время установки ( если вы не собираетесь устанавливать систему с CDROM).

И наконец, если вы хотите, чтобы другие в дальнейшем могли установить FreeBSD через FTP, используя ваш CDROM, добавьте следующую строчку в файл passwd помощью команды vipw:

ftp:*:99:99::0:0:FTP:/cdrom:/nonexistent

Тогда пользователь, соединенный с вашей машиной сетью и имеющий соответствующее право доступа, может набрать

ftp://your machine

после того, как выберет ``Other'' в меню 'FTP sites'.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



До установки с дискет


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

Потребуется как минимум 12 дискет на 1.44Мб или 1.2Мб . Отформатируйте их под DOS или Windows, даже если ваши дискеты преформатированы (Factory Preformatted floppies).

Если вы создаете дискеты на машине, работающей под FreeBSD, то необязательно помещать на каждую дискету файловую систему DOS. Вместо этого можно положить на них файловую систему UFS, используя команды `disklabel' и `newfs' .

Например, для 3.5" дискет на 1.44Мб это выглядит следующим образом:

fdformat -f 1440 fd0.1440 disklabel -w -r fd0.1440 floppy3 newfs -t 2 -u 18 -l 1 -i 65536 /dev/rfd0 (Используйте "fd0.1200" и "floppy5" для 5.25" 1.2MB дискет).

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

Скопируйте дистрибутив на отформатировнные дискеты . Дистрибутивные файлы разбиты на части так, чтобы на стандартную 1.44 Мб дискету помещалось ровно 5. Каждый дистрибутив должен быть помещен на дискете в поддиректорий, например:

a:\bin\bin.aa, a:\bin\bin.ab,

и так далее.

В инсталляционном меню Media (Устройства) выберите ``Floppy'', и далее следуйте указаниям.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



До установки с лент QIC/SCSI


Метод установки FreeBSD с магнитной ленты, пожалуй, наиболее прост и короче онлайновой инсталляции через FTP или инсталляции с CDROM. Инсталляционная программа предполагает, что все файлы на ленте находятся в tar-архиве, поэтому поместите все интересующие вас файлы из дистрибутива в tar-архив на ленту с помощью команды:

cd /freebsd/distdir

tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2

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

Замечание:Перед тем, как делать инсталляцию с ленты, поместите ее в стриммер до начала загрузки с дискеты. В противном случае инсталляционная программа не определит соответствующее устройство и вы не сможете провести установку.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Джойстик, колонки, прочее


В этом разделе описаны прочие устройства, поддерживаемые FreeBSD, которые не вошли в предыдущие разделы. Ни одна из ниженаписанных строк не входит в файл GENERIC, их надо будет скопировать из этого документа handbook или из файла LINT (кторый содержит поддержку для каждого устройства):

device joy0 at isa? port ``IO_GAME''устройство джойстик для PC. pseudo-device speakerПоддерживает шумовые эффекты в стиле IBM BASIC для колонок PC. Вот некоторые забавные программы, которые его используют /usr/sbin/spkrtest, которая является shell скриптом, проигрывающим некоторые простенькие песенки, ит программа /usr/games/piano которая позволяет играть на клавиатуре, как на пианино (эта программа есть на вашем диске, только если вы установили пакет games). Кроме того, есть замечательная текстовая ролевая игра NetHack (в коллекции ports), которую можно отконфигурировать так, что она будет использовать это устройство, чтобы проигрывать мелодии, когда вы в играете на музыкальных инструментах в процессе игры.

Также смотрите устройство.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Еще один метод Shell Startup Files)


Другой способ настроить locale, отличный от

- это установка двух переменных среды в следующих стартовых файлах, которые использует shell:

/etc/profile:

LANG=ru_RU.KOI8-R; export LANG MM_CHARSET=KOI8-R; export MM_CHARSET

/etc/csh.login:

setenv LANG ru_RU.KOI8-R setenv MM_CHARSET KOI8-R

Или вместо этого вы можете добавить эти инструкции в

/usr/share/skel/dot.profile:
(подобно /etc/profile выше);

/usr/share/skel/dot.login:
(подобно /etc/csh.login выше).

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Если, что-нибудь не получается


Существует четыре категории проблем, возникающих при построении ядра. Это следующие категории:

Не работает команда ConfigЕсли команда config рушится когда вы даете ей описание ядра, то, скорее всего, у вас какая-нибудь простенькая ошибка. К счастью, config печатает номер строки, в которой что-то не так, поэтому при помощи текстового редактора, например vi, вы быстренько доберетесь до этого места в конфигурационном файле. Например, если вы увидите слелующее: config: line 17: syntax error то вы сможете, в vi, добраться до этого места написав ``17G'' в командном режиме. Убедитесь в том, что ключевые слова написаны правильно, сверившись с файлом GENERIC или другим справочником. Неудачно завершается команда makeЕсли рушится команда make, то чаще всего это говорит об ошибках в конфигурационном файле, которые не были обнаружены при выполнении команды config. Еще раз просмотрите файл конфигурации, и если не смогли обнаружить ошибку, то пошлите почту в список рассылки FreeBSD, в котором рассматриваются общие вопросы в письме изложите конфигурацию вашего ядра, обычно они отвечают достаточно быстро. Ядро не загружается Если ваше новое ядро не желает загружаться, или не распознает устройства, не паникуйте! К счастью, у BSD существует отличный механизм для возвращения работоспособности системы в случае неподходящих ядер. Просто, в приглашении загрузки FreeBSD, напишите название ядра, которое вы хотите загрузить (например ``kernel.old''), вместо того, чтобы просто нажать ``Enter''. При переконфигурировании ядра, неплохо сохранять работающее ядро.

После загрузки при помощи хорошего ядра, вы можете проверить конфигурационный файл и попробовать построить ядро заново. Наш очень хороший помощник файл /var/log/messages, в котром записываются, среди прочего, все сообщения ядра, при каждой удачной загрузке. Кроме того, команда dmesg(8) выводит все сообщения ядра текущей загрузки.

Замечание: если у вас проблемы с построением ядра, то обязательно сохраните ядро GENERIC, или какое-то другое ядро, про которое известно, что оно работает; причем это ядро стоить сохранить под названием, которое не забудется при следующих построениях. Вы не можете полагаться на kernel.old потому что при установке нового ядра, kernel.old становится копией последнего установленного ядра, которое могло быть нефункциональным. Кроме того, передвиньте работающее ядро в правильное место размещения ядер, иначе такие команды как ps(1) не будут работать правильно. Правильная команда ``разблокировки'' файла ядра, котоый команда make установила (для того, чтобы передвинуть другое ядро насовсем) это: # chflags noschg /kernel И если вы хотите ``заблокировать'' ваше новое ядро, т.е. передвинуть его в другое место или в какой-нибудь файл, то это нельзя делать при помощи следующей команды: # chflags schg /kernel Ядро работает, но не работает ps!Если вы установили версию ядра, отличающуюся от той версии, с помощью которой были построены системные утилиты, например экспериментальное ядро ``2.2.0'' в системе 2.1.0-RELEASE, многие системные команды, как например ps(1) и vmstat(8) не будут работать совсем. Вы должны перекомпилировать библиотеку libkvm также, как и те утилиты. Это одна из причин почему плохо использовать версию ядра отличную от всей остальной операционной системы.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Ethernet-карты


Allied-Telesis AT1700 и RE2000 SMC Elite 16 WD8013 Ethernet интерфейс, и большинство других WD8003E, WD8003EBT, WD8003W, WD8013W, WD8003S, WD8003SBT и WD8013EBT клонов. SMC Elite Ultra поддерживается также. DEC EtherWORKS III NICs (DE203, DE204 и DE205)DEC EtherWORKS II NICs (DE200, DE201, DE202 и DE422)DEC DC21040/DC21041/DC21140 based NICs:

ASUS PCI-L101-TBAccton ENI1203Cogent EM960PCICompex CPXPCI/32CD-Link DE-530DEC DE435Danpex EN-9400P3JCIS Condor JC1260Linksys EtherPCIMylex LNP101SMC EtherPower 10/100 (Model 9332)SMC EtherPower (Model 8432)SMC EtherPower (2)Zynx ZX342

DEC FDDI (DEFPA/DEFEA) NICs Fujitsu FMV-181 и FMV-182 Fujitsu MB86960A/MB86965A Intel EtherExpress Intel EtherExpress Pro/100B 100Mbit. Isolan AT 4141-0 (16 bit)Isolink 4110 (8 bit) Novell NE1000, NE2000 и NE2100 ethernet интерфейс. 3Com 3C501 3Com 3C503 Etherlink II 3Com 3c505 Etherlink/+ 3Com 3C507 Etherlink 16/TP 3Com 3C509, 3C579, 3C589 (PCMCIA) Etherlink III 3Com 3C590, 3C595 Etherlink III HP PC Lan Plus (27247B и 27252A) Toshiba ethernet-карты PCMCIA ethernet-карты от IBM и National Semiconductor поддерживаются также.

Замечание: FreeBSD в настоящий момент не поддерживает для некоторых Ethernet-карт функций PnP (plug-n-play). Если ваша карта PnP и с ней возникли проблемы, отключите для нее функцию PnP.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Файл конфигурации


5.3.1.
5.3.2.
5.3.3.
5.3.4.
5.3.5.
5.3.6.
5.3.7.
5.3.8.
5.3.9.
5.3.10.
5.3.11.

Общий формат файла конфигурации очень прост. Каждая строка содержит ключевое слово и один или больше аргументов. Для простоты, многие строки содержат только один аргумент. Что-нибудь типа # рассматривается в качестве комментария и игнорируется. В следующих разделах описаны все ключевые слова, почти в том же порядке, в котором они присутствуют в GENERIC, хотя некоторые связанные ключевые слова могут быть сгруппированы в один раздел (например Сеть) даже если они были разбросаны по всему GENERIC файлу. Исчерпывающий лист опций и более подробные объяснения строк относящихся к устройствам представлены в конфигурационном файле LINT, находящемся в той же директории, что и GENERIC. Если вы не уверены в необходимости, какой-лтбо строки, посмотрите сначала информацию о ней в файле LINT.

Сейчас предпринимаются усилия, для большей организованности в управлении опциями конфигурирования ядра. Традиционно, каждая опция из файла конфигурации просто конвертировалась в вид -D``опция'' в строке CFLAGS в Makefile ядра. На деле это приводило к жуткой неразберихе, когда было непонятно какая опция к какому файлу относится.

В новой схеме, для каждый #ifdef, который связан с опцией, эта опция ищется в заголовочном файле opt_foo.h, который создается в директории, где происходит компиляция программой config. Список опций для config разбит на два файла: архитектурно-независимые опции прописаны в файле /sys/conf/options, архитектурно-зависимые -- в файле /sys/arch/conf/options.arch, где arch это например i386.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Файлы GNU Info


FreeBSD содержит большое число приложений и утилит, созданных Free Software Foundation (FSF). В дополнение к man pages, эти программы приходят с описаниями в виде гипертекстовых документов, называемых info файлами, которые можно просмотреть командой info или, если вы установили emacs, то в info режиме emacs.

info Для краткого ознакомления напечатайте h. Для быстрой справки - напечатайте ?.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Где взять FreeBSD порт


Есть два пути получения FreeBSD port программы (port -- программа, перенесенная на FreeBSD). Первый требует , другой требует наличия

Инсталяция приложений: Коллекция портов


Вклад .

4.1.

4.2.

4.3. 4.3.1.
4.3.2.

4.4. 4.4.1.
4.4.2.
4.4.3.
4.4.4.

4.5.

4.6.

Коллекция портов FreeBSD позволяет Вам скомпилировать и установить обширное множество приложений с минимальными усилиями.

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

Некоторые программные дистрибуции решили эту проблему предоставлением конфигурационных скриптов. Некоторые из них очень умные, но, к сожалению, они имеют тенденцию торжественно заявить, что ваша система есть что-то, о чем Вы даже никогда не слышали и затем зададут вам ряд вопросов, которые похожы на экзаменационные вопросы по систеному программированию Unix-a (``Does your system's gethitlist function return a const pointer to a fromboz or a pointer to a const fromboz? Do you have Foonix style unacceptable exception handling? And if not, why not?'').

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

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Инсталляция FreeBSD


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

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

Загрузочная дискета FreeBSD содержит онлайновую документацию, которую можно прочесть во время инсталляции.

Порядок действий:

Загрузитесь с boot дискеты. Через несколько секунд или минут (от 30 секунд до 3-х минут) в зависимости от машины, появится меню. Если инсталляционная программа не грузится с дискеты или же повисла во время загрузки, обратитесь к секции Q&A руководства "Hardware Guide" за возможным решением.Нажмите F1 и внимательно прочтите основные инструкции к меню.Выберите в меню пункт Options и по вашему усмотрению установите флаги и значения (это может быть включение/отключение отладочного режима; указание временного директория; версии системы и пр.). Выберите один из предлагаемых уровней инсталляции: Novice, Custom или Express, уровень, который вам наиболее предпочтителен. Первый будет контролировать каждый ваш шаг, поэтому всем, кто ставит FreeBSD впервые, рекомендуется выбрать этот пункт; последний уровень - это быстрая инсталляция, во время которой значения берутся по умолчанию, где это возможно. Последний пункт меню, Сonfiguration, позволяет провести дальнейшую настройку. Здесь вы можете ввести параметры вашей сети, если вы устанавливаете систему с CDROM, ленты или дискет, и еще не сконфигурировали сетевой интерфейс. Правильно сконфигуровав его здесь, после перезагрузки системы с жесткого диска вы сразу получите работающую в сети FreeBSD.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Историческая справка


Проект FreeBSD родился в начале 1993 года, отпочковавшись от неофициальной версии системы 386BSD Patchkit. Группа состояла по крайней мере из трех координаторов: Нейта Уильямса (Nate Williams), Рода Граймса (Rod Grimes) и Джордана Хаббарда (Jordan Hubbard).

Сначала в их планы входило только "заморозить" 386BSD в ее текущем состоянии и зафиксировать проблемы, с которыми механизм patchkit уже не справлялся. Некоторые из вас может быть помнят, что на ранней стадии проект так и назывался "386BSD 0.5" или "386BSD Interim", что означает временный.

Билл Джолитц (Bill Jolitz) был автором системы 386BSD. За год в ней накопилось множество нерешенных проблем, в результате чего patchkit раздулся невероятно. В группе все единодушно согласились, что необходимо что-то предпринять, и предложили Биллу эту временную "вычищенную" версию системы. Но планам не суждено было сбыться, потому что Билл Джолитц резко приостановил их, неожиданно отказавшись от поддержки этого проекта без ясных указаний того, что должно быть сделано взамен.

Однако группе не потребовалось много времени на раздумывание. Поставленная цель заслуживала внимания даже без поддержки Билла, и они дали проекту другое название "FreeBSD", подкинутое Дэвидом Гринманом (David Greenman). После консультаций с пользователями системы были обрисованы начальные цели проекта и сразу стало ясно, что у проекта есть будущее. Джордан Хаббард связался с компанией Walnut Creek CDROM, чтобы расширить каналы распространения FreeBSD для тех несчастливцев, у которых нет доступа к Internet. Компания Walnut Creek CDROM не только поддержала идею распространения FreeBSD на CD, но даже пошла дальше и предоставила для проекта оборудование и быстрое соединение с Internet. Без серьезной поддержки со стороны этой компании к тому времени совсем неизвестного проекта прогресс FreeBSD был бы невозможен.

Первый дистрибутив системы FreeBSD 1.0 на CDROM'е и в сети был выпущен в декабре 1993 года. Он базировался на системе 4.3BSD-Lite ("Net/2") tape, созданной в Калифорнийском университете в Беркли, со многими компонентами, предоставляемыми 386BSD и Free Software Foundation. Новая система имела удивительный успех и группа продолжила работу над совершенствованием проекта и мае 1994 года была выпущена новая версия системы FreeBSD 1.1.

Где-то к этому времени над горизонтом сгустились грозовые тучи, когда Novell и Калифорнийский университет в Беркли завершили свой длительный судебный процесс по поводу легального статуса Net/2 tape. Условием этого соглашения стала уступка со стороны университета некоторых частей Net/2, довольно больших, которые были "препятствующим" кодом и являлись собственностью Novell. Ранее перед этим Novell приобрела их у AT&T. В обмен университет получил "благословение" Novell , что когда, наконец, будет выпущена версия 4.4BSD-Lite, Novell не будет претендовать на нее и будет поощрать переход всех существующих пользователей Net/2 на эту версию. Для FreeBSD был установлен крайний срок, в рамках которого проекту разрешалось выпустить последнюю версию, FreeBSD 1.1.5.1.

Затем группа приступила к трудной задаче буквально возродить FreeBSD из абсолютно новой и незавершенной системы 4.4BSD-Lite. "Lite"-выпуски были действительно облегченными, потому что группа CSRG в Беркли удалила большие куски кода (благодаря различным законным требованиям). Кроме этого не надо упускать из виду, что перенос 4.4 на Intel был очень несовершенен. До декабря 1994 года проект занимался своим перемещением и в январе 1995 года была выпущена версия FreeBSD 2.0 в сети и на CDROM. Несмотря на то, что новая версия не была достаточно обкатана, она имела значительный успех. Работа продолжалась и в июне 1995 года была выпущена следующая версия FreeBSD 2.0.5, которая была более устойчивая и проще в установке.

Что дальше

В августе 1996 года группа выпустила версию FreeBSD 2.1.5, которая сразу стала достаточно популярной среди провайдеров Internet и компаний, выпускающих коммерческие продукты. Версия FreeBSD 2.1.7.1, выпущенная в феврале 1997 года, являлась концом разработки главной линии 2.1. Сейчас в основном направлении развития системы стоят усовершенствование безопасности (security) и исправление других критических моментов, зафиксированные в ветви (RELENG_2_1_0).

FreeBSD 2.2 ответвилась от главной линии разработки в ноябре 1996 года. Первая полная версия (2.2.1) направления RELENG_2_2 была выпущена в апреле 1997 года. Дальнейшие выпуски новых версий этой линии спланированы на лето и конец 1997 года и в самом начале зимы ожидается первый выпуск версии 3.0.

Долгосрочные проекты разработки для поддержки различных платформ, от SMP до DEC ALPHA, будут продолжаться в линии 3.0 и промежуточные версии 3.0 начнут появляться в мае 1997 года на CDROM и в сети.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Это кажется не работает?!


Ох. Вы можете сделать одно из четырех (4) :

    Исправиить это самостоятельно. Жалуйтесь. Делайте это *ТОЛЬКО* по электронной почте! Люди из Walnut Creek не отвечают за функциональность (или ее отсутствие) системы FreeBSD в целом, и в особенности за коллекцию портов, большинство которой сделанно внешними людьми. (Если вы мне не верите, то посмотрите каталог, в частности строку в которой сказано "Мы не можем предоставить техническую поддержку для этого продукта"). Используйте e-mail адрес списка рассылки FreeBSD, посвященного коллекции портов, . Пожалуйста, включите в ваше письмо подробности про порт, откуда вы получили исходники порта и исходники дистрибутивов, а также какие какие были ошибки.

    Замечание: Во время написания этого документа, lang/Sather кажется не работает на Пентиумах из-за проклятья Intel (имеется ввиду ``Ошибка деления чисел с плавающей точкой'') Пожалуйста не пишите нам об этом - жалуйтесь прямо в Intel - это их проблема! Забыть про это. Это самый легкий способ - обычно только несколько программ вам действительно необходимы! Скачайте скомпилированный пакет с ftp-сервера. Основная коллекция пакетов находится на FTP-сервере FreeBSD в каталоге . Хотя вначале лучше посмотреть на ближайшем к вам ``зеркале''. Они должны сработать с большей вероятностью, чем попытки компилирование из исходных текстов, и это намного быстрее! Используйте команду pkg_add(1) для установки таких пакетов на вашу машину.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Как это сделать с помощью adduser


Если вы используете adduser(8), чтобы добавить новых пользователей, тогда

Установите

defaultclass = russian

в файле /etc/adduser.conf (в этом случае вы должны ввести default class для всех "нерусских" пользователей);

Всякий раз, когда вы видите подсказку от adduser(8)

Enter login class: default []:

следует давать альтернативный ответ russian;

Другой вариант вызова утилиты adduser, если вы хотите добавить нового пользователя:

# adduser -class russian



Как это сделать с помощью pw


Если вы используете pw(8), чтобы добавить новых пользователей, то это может выглядеть следующим образом:

# pw useradd user_name -L russian



Как это сделать с помощью vipw


Если вы используете vipw(8), чтобы добавить новых пользователей, то соответствующее место в файле /etc/master.passwd должно выглядеть следующим образом:

user:password:1111:11:russian:0:0:User Name:/home/user:/bin/csh



Как работает коллекция портов FreeBSD?


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

Стандартный набор действий заключается в том, что вы должны ftp-уть tarball, расспоковать его, выполнить конфигурационный скрипт, и использовать стандартную программу 'make', чтобы скомпилировать и инсталировать программу.

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

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

''Как такое может быть?'' - Я слышу ваш крик. ''Здесь нет даже исходных текстов!''

Не бойтесь, все скоро станет ясно. Давайте посмотрим, что произойдет, если мы попытаемся инсталировать порт. Я выбрал 'bash', также известный как Bourne-Again Shell, так как это кажется наиболее типичным.

Замечание: Если вы пытаетесь сделать это дома, вам необходимо зайти как root.

# cd /usr/ports/shells/bash # make install Checksums OK. ===> Extracting for bash-1.14.5 ===> Patching for bash-1.14.5 ===> Applying FreeBSD patches for bash-1.14.5 ===> Configuring for bash-1.14.5 ===> Building for bash-1.14.5 [lots and lots of compiler output here...] ===> Installing for bash-1.14.5 make -f bash-Makefile bindir=/usr/local/bin prefix=/usr/local install (cd ./documentation/; make ) rm -f builtins.txt nroff -man builtins.1 > builtins.txt install -c -o bin -g bin -m 555 bash /usr/local/bin/bash install -c -o bin -g bin -m 555 bashbug /usr/local/bin/bashbug ( cd ./documentation/ ; make mandir=/usr/local/man/man1 man3dir=/usr/local/man/man3 infodir=/usr/local/info install ) [ -d /usr/local/man/man1 ] mkdir /usr/local/man/man1 [ -d /usr/local/info ] mkdir /usr/local/info ../support/install.sh -c -m 644 bash.1 /usr/local/man/man1 ../support/install.sh -c -m 644 builtins.1 /usr/local/man/man1/bash_builtins.1 ../support/install.sh -c -m 644 features.info /usr/local/info/bash.info gzip -9nf /usr/local/man/man1/bash.1 /usr/local/man/man1/bash_builtins.1 ===> Registering installation for bash-1.14.5

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

>> bash-1.14.5.tar.gz doesn't seem to exist on this system. >> Attempting to fetch from ftp://slc2.ins.cwru.edu/pub/dist/.

Программа 'make' заметила, что вы не имеете локальной копии исходных текстов и попыталась FTP-уть их (вы начинаете удивляться? 8-)). В моем случае я уже имею исходники, так что здесь нет необходимости их доставать .

Давайте посмотрим, что программа 'make' делала.

    Находит исходный код Если он не доступен локально, пытается взять его с FTP узла. Выполняет , чтобы проверить, что tarball не был подделанным, случайно обрезанным и т.д.. Распаковывает tarball во временную рабочую директорию. Применяет всякие , необходимые, чтобы получить исходники компилируемыми и исполнимыми под FreeBSD. Выполняет конфигурационный скрипт, необходимый для процесса построения и корректно отвечает на вопросы. (Последнее!) Компилирует код. Устанавливает исполняемые программы и другие файлы, man страницы, и др. в соответствующие директории в /usr/local, где они не будут перемешиваться с системными программами. Это позволяет быть уверенным, что все порты, которые вы инсталируете, будут находиться в одном и том же месте, а не валяться где попало. Регистрирует установку в базе данных. Это означает, что если вам программа не понравилась, вы можете просто все следы о программе в системе.

Посмотрите, можете ли вы обнаружить эти действия в выводимой информации.

И если вы еще не были удивленны, то вы должны это сделать сейчас!

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Каркасы Sceletons)


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

Каталог files


Файл содержащий для порта называется "md5", из-за использования MD5 в качестве алгоритма Он находится в директории "files"

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

Каталог patches


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

Каталог pkg


Этот каталог содержит три довольно полезных файла:-

COMMENT - описание программы одной строкой DESCR - более подробное описание PLIST - Список всех файлов, которые создаются при установке порта

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Компиляция портов из Internet


Если у вас нет CDROM, или вы хотите быть уверены, что у вас самая последняя версия нужного вам port, вам нужно скачать для port. Это может прозвучать, как достаточно грязная работа, полная ловушек, как например скачивание patches в директорию pkg по ошибке, но это достаточно просто.

Смысл в том, что сервер FreeBSD FTP может создавать на лету. Вот как это работает на примере программы gnats из директории databases (в квадратных скобках -- комментарии, не вводите их в командной строке!):-

# cd /usr/ports # mkdir databases # cd databases # ftp ftp.freebsd.org [войти под именем `ftp' и в качестве пароля ввести свой почтовый адрес (e-mail). Помните, что надо использовать режим binary (двоичный)!] > cd /pub/FreeBSD/ports/databases > get gnats.tar.gz [скачать tarballs (архив) с gnats] > quit # tar xzf gnats.tar.gz [распаковать gnats] # cd gnats # make install [скомпилировать и установить gnats]

Что мы делали сейчас? Мы соединились с FTP сервером и вошли в директорию с базами данных (СУБД). Затем мы дали серверу команду `get gnats.tar.gz', FTP сервер директорию gnats и даже сжал файл перед отправкой, что ускорило передачу данных.

Затем мы распаковали этот файл и вошли в директорию gnats, чтобы построить port. Как мы объясняли , make сообщил, что на локальной машине нет исходников, поэтому make пытается достать исходники сам, если не получается, то он сообщает об этом и просит пользователя достать исходники и положить их в нужное место..

Попробуем что-нибудь более сожное. Вместо одного каркаса(skeleton) для port, попробуем скачать целую директорию, например всю директорию database в ports collection. Это делается почти так же:-

# cd /usr/ports # ftp ftp.freebsd.org [войти под именем `ftp' и в качестве пароля ввести свой почтовый адрес (e-mail). Помните, что надо использовать режим binary (двоичный)!] > cd /pub/FreeBSD/ports > get databases.tar.gz [скачиваем директорию databases] > quit # tar xzf databases.tar.gz [распаковываем архив database] # cd databases # make install [компилируем и устанавливаем все ports в директории database]

С помощью шести команд, мы построили несколько программ, с помощью которых можно работать с несколькими СУБД на нашей машине с FreeBSD! All we did that was different from getting a single port skeleton and building it was that we got a whole directory at once, and compiled everything in it at once. Pretty impressive, no?

Если вы собираетесь устанавливать больше, чем один или два портаIf you expect to be installing more than one or two ports, it is probably worth downloading all the ports directories - this involves downloading 2 or 3MB, when they are compressed. However, don't get carried away and type 'get ports.tar.gz' unless you are prepared to download the distfiles directory as well - this contains the source code for every single port and will take a very long time to download!

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Компиляция портов, находящихся на CDROM


Если на вопрос ``Do you want to link the ports collection to your CDROM'', который был задан вовремя установки FreeBSD, вы ответили "yes", то начальные установки уже сделаны системой.

Если нет, то проверьте, что FreeBSD CDROM находится в дисководе для CDROM и смонтирован, например, на /cdrom . Выполните следующие команды

# mkdir /usr/ports # cd /usr/ports # ln -s /cdrom/ports/distfiles distfiles

это позволяет механизму make находить tarballs (*tar.gz), которые нужны ports (make считает, что они должны находиться в /usr/ports/distfiles, поэтому и надо сделать ссылку из директории на CDROM, в которой хранятся tarballs (*tar.gz)).

Допустим, вам нужно установить программу gnats из директории databases. Вот как надо это делать:-

# cd /usr/ports # mkdir databases # cp -R /cdrom/ports/databases/gnats databases # cd databases/gnats # make install

Или если вы серьезно работаете с базами данных и вам надо сравнить все базы данных доступные в Ports collection, сделайте так

# cd /usr/ports # cp -R /cdrom/ports/databases . # cd databases # make install

(в команде cp действительно надо ставить точку, это не ошибка. В Unix, точка обозначает текущую директорию)

и механизм make в ports автоматически скомпилирует и установит все ports (port -- программа, перенесенная на FreeBSD) в директории databases!

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

Создайте "дерево ссылок" для ports, хранящихся на CDROM, при помощи команды lndir(1), которая входит в дистрибутив XFree86. Найдите свободное место у себя на диске, создайте там директорию и войдите в нее. Затем вызовите команду lndir(1), в качестве первого аргумента этой команды задайте полный путь директории на CDROM, где хранятся ``ports'', а в качестве второго аргумента, используйте . (текущую директорию). Это, например, может быть так: lndir /cdrom/ports .

Теперь вы можете строить ports прямо из CDROM, и они будут строиться в "дереве ссылок", которое вы создали.

Заметим, что есть ports, исходники которых не выкладываются на CDROM, из-за ограничений в лицензии по распространению. В этом случае посмотрите раздел Компилирование с использованием доступа к Internet.

Конфигурирование ядра FreeBSD


Сделано
6 October 1995.

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

5.1.

5.2. (english)

5.3. 5.3.1.
5.3.2.
5.3.3.
5.3.4.
5.3.5.
5.3.6.
5.3.7.
5.3.8.
5.3.9.
5.3.10.
5.3.11.

5.4.

5.5.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Консоль


Чтобы консоль воспринимала русские буквы, вставьте в файл /etc/rc.conf следующие строчки:

keymap=ru.koi8-r keychange="61 ^[[K" scrnmap=koi8-r2cp866 font8x16=cp866b-8x16 font8x14=cp866-8x14 font8x8=cp866-8x8

Замечание: ^[ означает, что в файл /etc/rc.conf должен быть введен настоящий символ ESC, а не строка ^[ .

Клавиатура KOI8-R с альтернативным шрифтом для экрана отображается на кодировку KOI8-R и сохраняет символы псевдографики. Серая клавиша Delete

отображается на соответствующий вход в русском termcap(5) для FreeBSD консоли. Переключение RUS/LAT осуществляется по клавише CapsLock. Функцию, которую раньше обслуживала клавиша CapsLock, можно вызвать через одновременное нажатие Shift+CapsLock. Когда горит световой индикатор CapsLock, это означает, что включен режим RUS, а не CapsLock.

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

ttyv0 "/usr/libexec/getty Pc" cons25r on secure

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Контроллеры дисков


WD1003 (любой типовой MFM/RLL)WD1007 (любой типовой IDE/ESDI)IDEATA Adaptec 1505 ISA SCSI Adaptec 152x ISA SCSI Adaptec 1535 ISA SCSIAdaptec 154x ISA SCSI Adaptec 174x EISA SCSI (в стандартном и расширенном режимах)Adaptec 274x/284x/2940/2940U/3940 (Narrow/Wide/Twin) серии EISA/VLB/PCI SCSI Adaptec AIC7850 on-board SCSIAdaptec AIC-6360 , базирующиеся на них и включающие карты AHA-152x и SoundBlaster SCSI.
Замечание:Вы не сможете загрузиться с карт SoundBlaster, если на плате нет BIOS, который необходим для отображения загрузочного устройства в системные вектора I/O BIOS. Однако карты отлично используются для внешних лент, CDROM'ов и прочее. Это также относится к любой другой AIC-6x60 карте без бутовой памяти ROM. Некоторые системы должный иметь бутовую память ROM, которая обычно индицируется сообщением некоторого сорта, когда система включается или заново стартуется (через reset). Подробности посмотрите в вашей документации на карту. Buslogic 545S & 545c

Замечание: Buslogic ранее был известен как "Bustek".Buslogic 445S/445c VLB SCSI Buslogic 742A/747S/747c EISA SCSI .Buslogic 946c PCI SCSI Buslogic 956c PCI SCSI NCR 53C810/53C815/53C825/53C860/53C875 PCI SCSINCR5380/NCR53400 (``ProAudio Spectrum'') SCSI. DTC 3290 EISA SCSI в режиме эмуляции 1542UltraStor 14F/24F/34F SCSI Seagate ST01/02 SCSI Future Domain 8xx/950 series SCSIWD7000 SCSI

Ко всем SCSI контроллерам, поддержка предоставлена и для периферийных устройств SCSI-I & SCSI-II, включающих диски, ленты (в том числе и DAT) и CD ROM.

На данный момент поддерживаются следующие CD ROM:

SoundBlaster SCSI и ProAudio Spectrum SCSI (cd)Mitsumi (все модели) (mcd)Matsushita/Panasonic (Creative) CR-562/CR-563 (matcd) Sony (scd)ATAPI IDE (wcd)

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Locale


Существуют 2 переменных среды для настройки locale:

LANG для семейства функций POSIX setlocale(3);MM_CHARSET для приложений в MIME формате



Локализация


11.1. Русский язык (KOI8-R)

Сделано

1 мая 1997.

За полее полной информацией по кодировке KOI8-R обращайтесь к .

11.1.1.

11.1.2.

11.1.2.1.
11.1.2.2.

11.1.3.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Makefile


Наиболее важной частью каркаса является Makefile. В нем находятся разлицные спецификации, показывающие как надо компилировать и устанавливать порт. Например, возьмем Makefile для bash:

# New ports collection makefile for: bash # Version required: 1.14.5 # Date created: 21 August 1994 # Whom: jkh # # Makefile,v 1.13 1995/10/04 14:45:01 asami Exp # DISTNAME= bash-1.14.5 CATEGORIES= shells MASTER_SITES= ftp://slc2.ins.cwru.edu/pub/dist/ MAINTAINER= ache@FreeBSD.ORG post-install: .if !defined(NOMANCOMPRESS) gzip -9nf ${PREFIX}/man/man1/bash.1 ${PREFIX}/man/man1/bash_builtins.1 .endif .include <bsd.port.mk>

Строки начинающиеся с символа "#" sign - это комментарии, использующиеся только для удобства человека (как и в большинстве файлов со скриптами в Unix).

`DISTNAME" указывает имя , но без суффикса.

`CATEGORIES" описывает категорию, к которой принадлежит эта программы.

`MASTER_SITES" это список адресов FTP-узлов, которые используются для того чтобы скачать , если его нет на локальной машине. Эти узлы обычно имеют хорошую репутацию, и, почти всегда, один из них - это узел с которого эта программа оффициально распространяется (конечно, если она вообще "оффициально" распостраняется по Интернет)

`MAINTAINER" - это email человека, который ответственнен за освежение этого каркаса, например, в случае выхода новой версии программы. (Замечание: звание "maintainer" - в основном чисто административный; это не означает, что этот человек занимается поддержкой этой программы. Если у вас есть какие-нибудь , то, пожалуйста пишите в список рассылки FreeBSD , а не по email, указанному в этом поле. Спасибо!)

Давайте ненадолго пропустим несколько следующих строчек, и посмотрим на строку .include <bsd.port.mk> в которой говорится что все прочие команды и правила необходимые для того, чтобы создать порт находятся в стандартном файле `bsd.port.mk". Так как они одинаковы для всех портов, то нет необходимости повторять их в каждом файле, поэтому они и хранятся в отдельном стандартном файле.

Это скорее всего не самое правильное место для того, чтобы лезть в детали того, как работают эти Makefile; Достаточно сказать, что строки, начиная с ost-install" переопределяют инструкции в bsd.port.mk о том что делать после установки программы, так что справочная информация может быть сжата после того, как ее уже положили на место назначения.

Метод Login Class


Прежде всего проверьте, есть ли в вашем файле /etc/login.conf login class russian. Это может выглядеть следующим образом:

russian:Russian Users Accounts:\ :charset=KOI8-R:\ :lang=ru_RU.KOI8-R:\ :tc=default:

Более подробно смотри в login.conf(5).



Модель разработки FreeBSD


Вклад .

Разработка FreeBSD - очень открытый и гибкий процесс, FreeBSD была буквально построена из вкладов сотни людей всего мира. Мы постоянно ищем новых разработчиков и новые идеи, и те кому интересно более тесно работать над проектом пишите нам на freebsd-hackers@FreeBSD.ORG

Те, кто предпочитает работать более независимо, - также принимаются, они могут свободно использовать наш FTP узел по адресу ftp.freebsd.org, чтобы распространять их собственные патчи или работающие программы. Список рассылки анонсов FreeBSD

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

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

The CVS repository

Центральное дерево исходных текстов поддерживается с помощью

(Concurrent Version System), свободно доступного средства контроля исходных текстов, который поставляется вместе с FreeBSD. Главное находиться на машине в Concord CA, USA, откуда оно раскопируетя на множество машин-зеркал по всему миру. CVS дерево, также как и -current и -stable деревья, которые вынимаются из него, могут быть также легко раскопированы на вашу машину. Для того, чтобы получить больше информации по данному вопросу, посмотрите Synchronizing your source tree.

Список вершителей

Вершители - это люди, которые имеют доступ на ''запись'' к CVS дереву, и которые имеют права делать изменения в исходных текстах FreeBSD (термин ''вершитель'' - наш вольный перевод слова committer, а ''committer'' произошло от команды cvs(1) ''commit'', которая используется для завершения новых изменений в хранилище CVS).

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

Команда FreeBSD

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

Некоторые члены команды также имеют определенные области ответственности, что означает, что они должны гарантировать работоспособность некоторой большой части системы. Заметьте, что большинство членов команды добровольно занимаются разработкой FreeBSD и не имеют никакой финансовой выгоды. Но это ''обязательство'' не должно быть исталковано как ''гарантировання поддержка''. Аналония с ''правлением директоров'' на самом деле не очень точная, и может быть более правильно сказать, что это люди, которые отдали свои жизни во благо FreeBSD вопреки их голосу разума! ;)

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

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

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

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Некоторые вопросы и ответы


В. Я думал здесь обсуждаются модемы??!

О. Вы должно быть думаете о последовательных портах на обратной стороны вашего компьютера. Мы используем слово `порт' здесь для обозначения результата `переноса' программы с одной версии Unix на другую. (Использование одного и того же слова для обозначения совершенно разных вещей, к сожалению, стало плохой привычкой всех в околокомпьютерном мире. В. Я думал, что предполагается использовать пакеты для инсталяции дополнительных программ?

О. Совершенно верно, это обычно самый быстрый и простой способ сделать это. В. Так зачем тогда беспокоиться о портах?

О. Есть несколько причин:-

    Лицензионные ограничения некоторых программ разрешают распространять их только в виде исходных текстов, а не исполняемых файлов. Некоторые люди не доверяют двоичным пакетам. Если у вас есть исходный текст, то вы можете (в теории) просмотреть его на предмет потенциальных проблем самостоятельно. Если у вас есть свои патчи, вам необходимо применить их к исходникам самостоятельно. У вас может быть другое мнение о том как эта программа должна быть скомпилирована, чем у того кто сделал пакет - некоторые имеют свою точку зрения на то какая должна быть оптимизация, нужна ли отладочная информация и тому подобное. Некоторым нравиться иметь исходники под рукой, так что они смогут читать их со скуки, модифицировать, переиспользовать куски кода (конечно с учетом лицензии) и так далее. И наконец - если у вас нет исходников, то где же собственно софт? ;-)
В. Что такое патч?

О. Патч - это маленький (обычно) файл, в котором описано как изменить одну версию файла до другой. Он содержит текст который, в действительности, состоит из вещей вроде ``удалить строку 23'', ``добавить эти две строки после строки 468'' или ``изменить строку 197 на эту''. Он также известен как ``diff'', поскольку так называется программа, которая их генерирует. В. Что такое tarball?

О. Это файл с заканчивающийся на .tar.gz (возможно .tar.Z, или даже .tgz)

По существу, это архив структуры каталогов (.tar), а потом сжатый (.gz). Изначально эта технология использовалась для архивов на лентах (Tape ARchive - отсюда и название `tar'), но сейчас это один из наиболее широко применяемых методов распространения исходных текстов программ по Интернет.

Вы можете посмотреть какие файлы находятся внутри, или даже разархивировать их самостоятельно, используя стандартную утилиту UNIX - tar. Она поставляется вместе с базовой системой FreeBSD. Например:

tar tvzf foobar.tar.gz # Показывает содержимое foobar.tar.gz tar xzvf foobar.tar.gz # Разархивирует файлы в текущий каталог В. Что такое контрольная сумма (checksum)?

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

В. Я действовал по вашим и все работало отлично до тех пор пока я не попробовал установить порт kermit :- # make install >> cku190.tar.gz doesn't seem to exist on this system. >> Attempting to fetch from ftp://kermit.columbia.edu/kermit/archives/. Почему он не существует? У меня бракованный диск?

О. Условия лицензии для kermit не позволяют нам положить его tarball на CDROM, так что вам придется скачать его самостоятельно. Причина, из-за которой вы получили эти сообщения об ошибках, - это отсутствие подключения к Интернет в тот момент. Как только вы скачаете нужный tarball откуда-нибудь, вы можете повторить попытку сделать порт. (скачивайте его с ближайшего к вам места, так вы сохраните и ваше время и пропускные способности Интернет)

В. Я сделал это, но когда я попробовал положить его в /usr/ports/distfiles я получил сообщение об отсутствии прав доступа.

О. Механизм портов по умолчанию ищет tarball в каталоге /usr/ports/distfiles, но у вас не получится ничего туда добавить, потому что это символьная ссылка на CDROM, запись на который невозможна. Но вы можете изменить место поиска tarball с помощью команды:

DISTDIR=/where/you/put/it make install В. Механизм портов работает только если вы все кладете в /usr/ports? Мой системный администратор сказал, что я должен хранить все только под /u/people/guests/wurzburger, и у меня не получается сделать порт.

О. Вы можете использовать переменные PORTSDIR и PREFIX для указания необходимости использовать другие директории. Например,

PORTSDIR=/u/people/guests/wurzburger/ports make install

Эта команда компилирует порт в /u/people/guests/wurzburger/ports и устанавливает в /usr/local?.

а следующая команда откомпилирует порт в /usr/ports и установит в /u/people/guests/wurzburger/local: PREFIX=/u/people/guests/wurzburger/local make install

И наконец

PORTSDIR=.../ports PREFIX=.../local make install

объединяет оба эффекта (полная команда слишком длинна и не влезает целиком на страницу, но я уверен, что вы уже поняли идею)

Если вы не хотите набирать такие строки каждый раз при инсталляции порта, то вставьте эти переменные в свое окружение (environment).

В. У меня нет FreeBSD CDROM, но я хочу скопировать все нужные tarball к себе заранее, чтобы мне не приходилось долго ждать каждый раз когда я устанавливаю port. Существует ли простой способ скачать их все сразу?

О. Для того чтобы скачать все tarball для коллекции портов, запустите:

# cd /usr/ports # make fetch

Для того чтобы скачать все tarball для отдельной директории, запустите:

# cd /usr/ports/directory # make fetch

Ну я думаю вы уже догадались как скачать tarball для одного порта.

В. Мне кажется что будет быстрее скачать все tarball с одного из соседних зеркал FreeBSD. Существует ли способ указать адресс для скачивания, отличный от тех, которые указаны в MASTER_SITES?

О. Да. если вы например думаете, что ftp.FreeBSD.ORG намного ближе, чем узлы из списка MASTER_SITES, то используйте следующий пример. # cd /usr/ports/directory # make MASTER_SITE_OVERRIDE=ftp://ftp.FreeBSD.ORG/pub/FreeBSD/distfiles/ fetch В. Я хотел бы узнать какие файлы нужны для компиляции, до того как make будет их скачивать.

О. 'make fetch-list' покажет вам список файлов необходимых этому порту.

В. Есть ли способ предотвратить компиляцию? Я хочу сделать некоторые исправления в исходниках перед тем как компилировать, но меня утомляет идея караулить момент когда нажать control-C.

О. Использование 'make extract' остановит процесс после скачивания и распаковки исходных текстов. В. Я пытаюсь сделать мой собственный порт и хочу иметь возможность останавливать процесс до компиляции, чтобы посмотреть как работают мои патчи. Есть ли что-нибудь вроде 'make extract', но для патчей?

О. Да, 'make patch' - это то что вы ищете. И кстати, спасибо за то что вы это делаете!

В. Я слышал, что некоторые опции компилятара могут стать причиной ошибок. Это правда? Как мне быть увереным, что я откомпилировал порт с правильными опциями?

О. Да, в gcc версии 2.6.3 (эта версия поставлялась вместе с FreeBSD 2.1.0 и 2.1.5), опция -O2 могла приводить к коду с ошибками, если не использовать опцию -fno-strength-reduce. (Большинство поротов не использует -O2). У вас должна быть возможность указывать флаги, используя что-нибудь вроде:

# CFLAGS='-O2 -fno-strength-reduce' make install

или при помощи редактирования /etc/make.conf, но это кажется не всегда срабатывает. наиболее надежный способ - использовать 'make configure', после чего зайти в каталог с исходными текстами и проверить Makefile, но это может быть затруднительно если дерево исходных текстов содержит кучу подкаталогов, в каждом из которых есть свой Makefile.

В. Слишком много разных портов - тяжело найти тот, который нужен мне. Есть ли нде-нибудь список всех портов?

О. Смотрите INDEX в каталоге /usr/ports. В. Я собиралсяустановить 'foo' порт, но система внезапно остановилась и начала компилировать порт 'bar'. Что произошло?

О. Порт 'foo' требует что-нибудь, что поставляется вместе с 'bar' - рапример, если 'foo' использует графику, то 'bar' может иметь библиотеку с полезными графическими процедурами. Или 'bar' может быть инструментом, который нужен для компиляции порта 'foo'.

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

О. Нет проблем, просто запустите

pkg_delete grizzle-6.5 В. Подождите секундочку, вы должны знать номер версию для того чтобы использовать такую команду. Вы серьезно ожидаете, что я ее помню??

О. Нет, конечно, вы можете узнать его следующим образом

pkg_info -a | grep grizzle

Результатом будет что-то вроде:-

Information for grizzle-6.5: grizzle-6.5 - the combined piano tutorial, LOGO interpreter and shoot 'em up arcade game. В. К вопросу о месте на диске, каталог портов кажется занимает кучу места. Безопасно ли удалить часть файлов в нем?

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

# cd /usr/ports # make clean

В результате во всех подкаталогах /usr/ports будут удалены все файлы кроме входящих в каркас. В. я сделал это, но в каталоге distfiles все еще сохранились эти tarball или как вы их там называете. Могу я их удалить?

О. Да, если вы уверены, что они вам больше не нужны.

В. Мне нравиться иметь кучу программ. Есть ли возможность установить все порты сразу?

О. Просто сделайте

# cd /usr/ports # make install В. Ok, я сделал это, но, хоть я и думал, что это займет много времени, так что я пошел спать и оставил компьютер работать. С утра я обнаружил, что сделанно только три с половиной порта. Что нибудь не так?

О. Нет, проблема в том, что некоторые порты начинают задавать вопросы (например - ``Вы используете бумагу формата A4 или Letter?'') и им нужен кто-то кто введет ответ.

В. Но мне вовсе не хочется провести целый день уставившись в монитор. Есть идеи получше?

О. Ok, сделайте это перед тем как идти в кровать/на работу/местный парк :-

# cd /usr/ports # make -DBATCH install

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

# cd /usr/ports # make -DIS_INTERACTIVE install

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

О. Никаких проблем, если вы знаете как сделать патчи соответствующие вашим изменениям:

# cd /usr/ports/somewhere/frobble # make extract # cd work/frobble-2.8 [Добавьте ваши патчи] # cd ../.. # make package В. Эта система довольно хитра. Я жажду разобраться как это работает. в чем секрет?

О. Никаких секретов. Просто смотрите в файлы bsd.ports.mk и bsd.ports.subdir.mk в каталоге /localhost/usr/share/mk/ с makefiles. (Замечание: Читателям с отвращением к замысловатым shell-скриптам рекомендуем пропустить эту ссылку ...)

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Несколько слов о FreeBSD


FreeBSD - это клон операционной системы UNIX для персональных компьютеров, базирующихся на архитектуре процессоров Intel (386SX/386DX/486SX/486DX/Pentium/Pentium Pro). FreeBSD работает также на процессорах AMD и Cyrix , совместимых с Intel. FreeBSD предоставляет широкий набор функций, которые ранее были доступны только на более дорогих компьютерах.Они включают:

Вытесняющую многозадачность (Preemptive multitasking) с динамической настройкой приоритетов, которая обеспечивает гибкое разделение ресурсов компьютера между приложениями и пользователями. Многопользовательский доступ, означающий, что одновременно в системе могут работать несколько пользователей, использующих различные приложения. Такие периферийные ресурсы, как принтер и магнитная лента, также разделяются между всеми пользователями системы. Полная сетевая поддержка TCP/IP, включая SLIP, PPP, NFS и NIS. Это означает, что ваша FreeBSD машина может легко взаимодействовать с другими операционными системами, а также работать в качестве сервера, предоставляющего такие важные функции, как NFS ( доступ к удаленным файлам) и электронную почту. Вы можете организовать на ней WWW- или ftp-сервер, с помощью которого вы можете представлять свою организацию в Internet , установить роутинг и систему безопасности (firewall), защищающую вашу корпоративную сеть от внешнего мира. Защиту памяти, которая гарантирует, что приложения (или пользователи) не могут вредить друг другу. В любом случае крах одного приложения никоим образом не задевает работу других. FreeBSD - это 32-bit-ная операционная система и была таковой с самого начала. Промышленный стандарт X Window System (X11R6) предоставляет графический пользовательский интерфейс (GUI), поддерживает большинство VGA-карт, мониторов и приходит со всеми исходными кодами. Двоичную совместимость со многими программами, созданными для систем SCO,BSDI, NetBSD, Linux и 386BSD. Большое число готовых к работе приложений, находящихся в коллекции переносимых пакетов (Port Packages Collection). Зачем искать их, рыская по сети, когда можно взять все это прямо здесь? Еще большее число дополнительных и легко переносимых приложений, имеющихся в Internet. Исходные коды FreeBSD совместимы со многими коммерческими системами UNIX и большинство приложений, если и требуют, то совсем немного, изменений для их компиляции. Страничная организация виртуальной памяти (VM) с подкачкой страниц по требованию и общий кэш для VM и буфера I/O позволяют удовлетворять непомерные аппетиты приложений, в то же время не причиняя неудобств другим пользователям. Разделяемые библиотеки (Unix-овый эквивалент MS-Windows DLL) обеспечивают эффективное использование дискового пространства и памяти. Полный набор средств разработки для языков C, C++ и Fortran. В коллекции пакетов можно найти много других языков для передовых исследований и разработок. Исходные коды всей системы. Имея их, вы получаете самый высокий уровень контроля над вашей средой. Обширная on-line документация . И многое многое другое!

FreeBSD базируется на ОС BSD версии 4.4BSD-Lite, разработанной исследовательской группой компьютерных систем (Computer Systems Research Group, сокращенно CSRG) Калифорнийского университета в Беркли и несет в себе традиции разработки систем BSD. Группа FreeBSD Project добилась максимальной производительности и надежности системы в ситуациях реальной жизни, потратив на это достаточно много времени, в то время как многие коммерческие гиганты еще бьются над решением этих задач на поле операционных систем для PC.

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

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

Услуги Internet : Устойчивость сетевого протокола TCP/IP, встроенного в систему, делает ее идеальной платформой для различных интернетовских услуг:

FTP-серверWWW-серверGopher- серверПочтовый серверНовости USENETBBS (Bulletin Board Systems)И так далее...

Образование:

Лучший способ изучать операционные системы, архитектуру компьютеров и сетей - это потрогать все своими руками и FreeBSD открыта для этого. Существуют свободные CAD, математические пакеты и пакеты графического дизайна, которые будут чрезвычайно полезны всем тем, кто использует компьютер для конкретных целей.Исследование:

Исходные коды - прекрасный источник для изучения работы операционных систем и других направлений компьютерных технологий. FreeBSD свободная система, поэтому люди, разделенные расстоянием, могут сотрудничать друг с другом, обсуждать вопросы на открытых форумах, не беспокоясь о лицензионных соглашениях и ограничениях. Сеть: Вам нужен новый роутер? DNS? Firewall, обеспечивающий защиту вашей внутренней сети от внешнего мира? FreeBSD может превратить устаревшие 386 и 486 PC, тихо пылящиеся где-нибудь в углу, в эффективные роутеры с изощренными возможностями фильтрации пакетов. Рабочая станция X Window:

С помощью FreeBSD можно создать недорогие X-терминалы, используя свободный XFree86-сервер или один из коммерческих серверов, содержащий в себе X. В отличие от X-терминала, FreeBSD позволяет запускать на локальной машине, если нужно, некоторые приложения, снижая тем самым нагрузку на центральный сервер. FreeBSD даже может производить "бездисковую" загрузку, делая индивидуальные рабочие станции дешевле и проще для администрирования. Разработка программного обеспечения: Базовая система FreeBSD приходит с полным комплектом средств разработки, включая известный GNU компилятор C/C++ и отладчик.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



О текущей версии


FreeBSD - свободно распространяемая система, базирующаяся на 4.4BSD-Lite для процессоров Intel i386/i486/Pentium/PentiumPro (и совместимых с ними). Первоначально за основу было взято программное обеспечение группы CSRG из Калифорнийского университета в Беркли с некоторыми расширениями из NetBSD, 386BSD и Free Software Foundation.

С версии FreeBSD 2.0, выпущенной в январе 1995 года, производительность, множество функций и устойчивость системы улучшились коренным образом. Наибольшим изменениям подверглась переделанная система виртуальной памяти (VM) и общего кэша VM и буфера I/O, которая не только увеличила производительность, но и уменьшила объем памяти, занимаемой FreeBSD, что позволило сделать минимальную конфигурацию на 5Мб. Другие усовершенствования включают полную поддержку NIS клиент/сервер, протоколов TCP, PPP, улучшенную SCSI подсистему, поддержку ISDN, FDDI и адаптеров Fast Ethernet (100Mbit), улучшенную поддержку Adaptec 2940 (широкий и узкий) и множество исправленных ошибок.

В дополнение к базовому дистрибутиву FreeBSD предлагает новую коллекцию переносимого программного обеспечения (ports collection) с большим количеством популярных программ. В начале декабря 1996 года в ней было более чем 700 элементов (портов). Коллекция содержит http (WWW)-серверы, игры, языки, редакторы и т.п. Целиком коллекция занимает всего 10Мб дискового пространства, все порты представлены в исходных кодах. Это упрощает модификацию порта и значительно уменьшает требования к дисковому пространству, которые были присущи более старой версии коллекции 1.0. Чтобы откомпилировать порт, нужно просто изменить директорий программы, которую вы хотите инсталлировать, напечатать ``make install'' и после успешной компиляции напечатать ``make all'', предоставив системе все остальное проделать самой. Полный оригинальный дистрибутив каждого порта, который вы строите, динамически восстанавливается с CDROM или локального ftp-сайта, поэтому вам нужно только необходимое место на диске для выбранного порта. Практически все порты снабжены предкомпиляционными "пакетами", которые могут быть установлены простой командой (pkg_add), если вы не хотите сами компилировать порты из исходных кодов.

В директории '/usr/share/doc' много дополнительных документов, которые могут оказаться полезными во время установки и использования системы (для машин, работающих под FreeBSD 2.1 и выше).

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Обязательные ключевые слова


Эти ключевые слова требуются в каждом ядре, которое вы строите.

machine ``i386''Первое ключевое слово это machine, поскольку FreeBSD работает только на платформе Intel 386 и совместимых с ней, то это соотвественно i386.

Замечание: любое ключевое слово, в котором цифры используются в качестве текста, должны быть заключены в кавычки, в противном случае, config растеряется и будет думать, что вы имели в виду число 386. cpu ``cpu_type''Следующее ключевое слово это cpu, которое подключает поддержку, для каждого CPU, с которым работает FreeBSD. Возможные значения cpu_type: I386_CPUI486_CPU I586_CPUI686_CPU и строки, включащие слово cpu, с разными значениями поля cpu_type могут присутствовать в вашем файле конфигурации, так же как они присутствуют в файле GENERIC. Для вашего собственного ядра вам лучше всего указать, только тот cpu, который на самом деле стоит в вашей машине. Если, например, у вас Intel Pentium, то используйте I586_CPU в качестве cpu_type. ident machine_nameДалее идет ident, который идентифицирует ядро. Вам надо изменить название GENERIC на любое другое, в данном примере -- MYKERNEL. Название, которое вы запишите в ident, будет печататься, когда вы будете загружать ядро, поэтому полезно дать ядру отличающееся имя, если вы хотите сохранить это ядро наряду с обычным (например вы хотите построить экспериментальное ядро). Заметьте, что как и в случае с machine и cpu, нужно заключить название ядра в кавычки, если в нем используются цифры.

Так как название ядра передается компилятору C для флага -D, то не используйте такие имена, как DEBUG, или что-нибудь еще, что можно спутать с именем машины или названием CPU, например vax. maxusers numberЭта позиция устанавливает размер для некоторых очень важных системных таблиц. Это число будет рассматриваться, как приблизительное количество пользователей одновременно работающих на вашей машине. В нормальных условиях, вам нужно установить значение maxusers равным, по крайней, четырем, особенно, если вы используете X Window System или хотите что-нибудь компилировать. По параметру maxusers устанавливается другой очень важный параметр -- это максимальное количество процессов, которое расчитывается как 20 + 16 * maxusers, таким образом если вы установите maxusers равным одному, тогда на вашей машине может быть запущено одновременно только 36 процессов, включая около 18 процессов, запускаемых системой при старте, и около 15 процессов дополнительно будет создано, если вы запустите X Window System. Даже такая простая задача, как чтение man-страницы потребует запуска еще 9 процессов, которые фильтруют, распаковывают, показывают нужную информацию. Если вы установите maxusers равным 4, то это позволит работать 84 процессам одновременно, такого количества вполне достаточно для большинства пользователей. Но, если вы, пытаясь запустить еще одну программу, или у вас сервер с большим количеством пользователей (как сервер Walnut Creek CDROM's FTP ), вдруг, увидите ужасное сообщение об ошибке вида ``proc table full'', то в этом случае вы можете увеличить maxusers и перестроить ядро.

Замечание: maxuser нет ограничивает количество пользователей, которые могут зайти на вашу машину. Он устанавливает размеры определенных таблиц, причем эти размеры приблизительно соотвествуют тому количеству пользователей, которое бы вы хотели иметь (т.е. размеры будут такие, как будто максимальное число пользователей действительно не превышает maxuser ). И эти размеры соответсвуют тому количеству процессов, которое каждый из них, в среднем, запускает. Ключевое слово, которое действительно ограничивает количество одновременных удаленных login это . config kernel_name root on root_deviceВ этой строчке определяется место хранения ядра с именем kernel_name. Традиционно ядро называется vmunix но во FreeBSD, это называется kernel. В качестве kernel_name, вам надо всегда использовать kernel, потому что изменение этого названия вызовет многочисленные проблемы с работой утилит. Во второй части строки определяется диск и раздел, где искать корневую файловую и ядро. Наверняка root_device будет: wd0 для систем с не-SCSI дисками, или sd0 для систем со SCSI дисками.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Общие опции


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

options MATH_EMULATEЭта строка указывает ядру моделировать (изображать) математический сопроцессор, если на вашей машине его нет (386 или 486SX). сли у вас Pentium, 486DX, или 386 или 486SX с отдельной 387 или 487 микросхемой, вы можете закомментировать эту строчку.

Замечание: Часто, режим эмулирования математического сопроцессора работает not очень хорошо, в реализации поставляемой FreeBSD. Если у вас нет математического сопроцессора и вы хотите, чтобы все работало хорошо, мы советуем вам заменить эту опцию на GPL_MATH_EMULATE, для того, чтобы использовать отличную математическую поддержку GNU, которая не включена по умолчанию из-за правил лицензий options ``COMPAT_43''Совместимость с 4.3BSD. Оставьте эту строку; некоторые программы начнут вести себя странно, если вы закомментируете эту строку. options BOUNCE_BUFFERSУстройства ISA и EISA, действующие в режиме совместимости с ISA, могут осуществлять DMA (Direct Memory Access) к памяти объемом не больше 16 мегабайт. Эта опция позволяет таким устройствам работать с системами, где объем памяти больше 16 мегабайт. options UCONSOLEПозволяет пользователям открывать консоль, что полезно при использовании X Windows. Например, вы можете создать окно консоли, запустив команду xterm -C, которая будет выводить сообщения `write', `talk', и другие сообщения, посылаемые на консоль ядром. options SYSVSHMЭта опция обеспечивает возможность работы с разделяемой памятью в соответствии с System V. Эта возможность используется в расширении XSHM в X Windows, многие графические программы (такие как проигрыватель фильмов XAnim, и Linux DOOM) используют преимущества разделяемой памяти для увеличения производительности. Если вы используете X Window System, вам определенно нужно включить эту опцию. options SYSVSEMПоддержка семафоров в соответствии с System V. Используется меньше не очень часто, но добавляет всего несколько сотен в ядро. options SYSVMSGПоддержка сообщений в соответствии с System V. Как и в предыдущем случае увеличивает ядро ненамного.

Замечание: Команда ipcs(1) выдаст список процессов, использующих одну из этих возможностей System V.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Online-руководство


Самая объемлющая документация по FreeBSD находится в форме man pages. Практически каждая программа в системе приходит с кратким описанием, в котором объясняются основное действие и различные аргументы командной строки. Описание можно просмотреть с помощью вызова команды:

man command

где command - имя команды, информацию о которой вы хотите получить.

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

% man ls

Online-руководство поделено на секции, каждая из которых имеет свой номер:

    Пользовательские командыСистемные вызовы и номера ошибокФункции в С-библиотекахДрайверы устройствФорматы файловИгры и другие развлеченияРазличная информацияПоддержка системы и системные команды

В некоторых случаях одна и та же тема может быть отражена более чем в одной секции руководства. Например, пользовательская команда chmod и системный вызов chmod(). В этом случае можно вызвать команду man с номером интересующей вас секции:

% man 1 chmod

которая отобразит страницу с описанием команды chmod. Ссылки на отдельную секцию руководства в документе традиционно размещаются в круглых скобках, т.е. chmod(1) ссылается на пользовательскую команду chmod, а chmod(2) ссылается на системный вызов.

Все это замечательно, если вы знаете имя команды и просто хотите узнать, как пользоваться ею. Но что если вы не знаете ее имени? Тогда можно воспользоваться командой man, чтобы найти команду по ключевым словам в ее описании с помощью ключа -k:

% man -k mail

После этого вы получите список команд, которые содержат ключевое слово `mail' в своем описании. Это эквивалентно вызову apropos command.

Предположим, что вы не знаете, как работает большинство команд в каталоге /usr/bin. Тогда войдите в этот каталог и вызовите команду man c ключом -f:

% cd /usr/bin; man -f *

или

% cd /usr/bin; whatis *

что одно и то же.



Опции файловой системы


Данные опции добавляют поддержку различных файловых систем. Вы должны подключить, по крайней мере, одну из них для поддержки устройства с которого вы будете загружаться; обычно это FFS если вы загружаетесь с твердого диска, или NFS если у вас бездисковая станция и вы загружаетесь с помощью Ethernet. Вы можете включить другие часто-используемые файловые системы в ядро, но не включайте поддержку файловых систем, которые вы собираетесь использовать редко (может быть файловая система MS-DOS?), так как они будут динамически загружаться из директории Loadable Kernel Module (загружаемый модуль ядра) /lkm как только вы смонтируете раздел такого типа.

options FFSОсновная файловая система жесткого диска; оставьте эту опцию, если вы будете загружаться с жесткого диска. options NFSСетевая файловая система. Если вы не собираетесь монтировать разделы с файлового сервера Unix, то вы можете закомментировать эту строку. options MSDOSFSMS-DOS Filesystem. Если вы не планируете монтировать разделы DOS во время загрузки, то можете смело закомментировать эту строку. Эта опция будет автоматически подключаться, как только вы смонтируете раздел DOS, как уже было сказано. Также, прекрасный пакет mtools (в коллекции ports) позволит вам работать с гибкими дисками DOS без процедур mount и unmount (при этом MSDOSFS даже не требуется). options ``CD9660''Файловая система ISO 9660 для CD-ROM. Закомментируйте эту строку если, у вас нет устройства CD-ROM drive или если вам очень редко будут нужны данные на CD (эта файловая система будет динамически загружаться, как только вы смонтируете CD). Аудио CD не требуют наличия этой файловой системы. options PROCFSФайловая система процессов. Это фиктивная файловая система монтируемая как /proc, которая позволяет таким программам как ps(1), выдавать вам достаточно информации о текущих процессах. options MFSФайловая система отображения памяти. В основном, это диск RAM для быстрого доступа к временным файлам, полезно если у вас достаточно большой объем swap, который бы вы хотели эффективно использовать. Самое лучшее место монтирования раздела MFS это директория /tmp, так как многие программы хранят свои временные данные здесь. Для того, чтобы смонтировать диск MFS RAM как /tmp, добавьте следующую строку в файл /etc/fstab и перезагрузите систему, либо просто напечатайте ее в командной строке mount /tmp: /dev/wd1s2b /tmp mfs rw 0 0

Замечание: Замените /dev/wd1s2b на ваше название раздела swap, который будет записан в файле /etc/fstab следующим образом: /dev/wd1s2b none swap sw 0 0

Замечание: Файловая система MFS также может загружаться динамически not, таким образом вы обязаны включить эту файловую систему в ваше ядро, если хотите поэкспериментировать со всем этим. options QUOTAВключает дисковые квоты, точнее возможность их устанавливать. Если ваша система предоставляет услуги многим пользователям и вы не хотите, чтобы их данные переполняли раздел /home, вы можете установить квоты на использование диска для каждого пользователя. Для более полной информации посмотрите раздел Disk Quotas.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Основные контроллеры и устройства


В этих разделах описаны основные контроллеры дисков, лент и CD-ROM, поддерживаемые FreeBSD. Есть отдельные разделы по контроллерам и сетевым картам.

controller isa0Все PC's поддерживаемые FreeBSD имеют хотя бы один такой контроллер. Если у вас IBM PS/2 (Micro Channel Architecture), то пока что вы не сможете использовать FreeBSD. controller pci0Включите это если у вас материнская плата PCI. Это включает авто-определение карт PCI и переход (шлюз) из PCI на ISA шину. controller fdc0Контроллер гибкого диска: fd0 дисковод ``A:'' , а fd1 дисковод ``B:''. ft0 это устройство для ленты QIC-80 посаженный на floppy-контроллер. Закомментируйте строки, соответствующие тем устройствам, которых у вас нет.

Замечание: поддержка ленты QIC-80 требует отдельной фильтрационной программы называющейся ft(8), смотрите страницу руководства для более полной информации. controller wdc0Это первичный IDE-контроллер. wd0 и wd1 являются первичным (master) и вторичным (slave) жесткими дисками соответственно. wdc1 -- вторичный IDE-контроллер, на который можно разместить третий или четвертый диск, или IDE CD-ROM. Закомментируйте те строки, которые не применяете (если у вас SCSI диск, скорее всего, вам надо будет закомментировать все шесть строк). device wcd0 Это устройство обеспечивает поддержку IDE CD-ROM. Обязательно проверьте, чтобы не были закомментированы wdc0 и wdc1, если у вас более одного IDE-контроллера и ваш CD-ROM установлен на карте второго контроллера. Чтобы использовать эту возможность, вы должны включить строку options ATAPI. device npx0 at isa? port ``IO_NPX'' irq 13 vector npxintrnpx0 это интерфейс для работы с плавающей запятой во FreeBSD, это либо аппаратный сопроцессор для математики, либо программа эмулирования этого сопроцессора. Эту строку нельзя включать по выбору, т.е. ее надо включать обязательно. device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintrПоддержка ленточных устройств Wangtek и Archive QIC-02/QIC-36 Proprietary CD-ROM support (Поддержка фирменных CD-ROM) Следующие драйверы предназначены для, так называемых, фирменных CD-ROM. Эти устройства имеют собственный контроллер, или могут быть вставлены в звуковую карту так же, как SoundBlaster 16. Они не являются ни IDE, ни SCSI. Наиболее старые одно- и двухскоростные CD-ROMы используют эти интерфейсы, в то время как новые четырех-скоростные скорее всего будут или . device mcd0 at isa? port 0x300 bio irq 10 vector mcdintrMitsumi CD-ROM (LU002, LU005, FX001D). device scd0 at isa? port 0x230 bioSony CD-ROM (CDU31, CDU33A). controller matcd0 at isa? port ? bioMatsushita/Panasonic CD-ROM (продаются Creative Labs для SoundBlaster).

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Поддержка консоли, шины мыши и X сервера


Вы должны выбрать один из двух типов консолей, и, если вы планируете использовать X Window System с консолью vt220, включите опцию XSERVER и, возможно, шину мыши или устройство мыши PS/2.

device sc0 at isa? port ``IO_KBD' tty irq 1 vector scintrsc0 это драйвер консоли по умолчанию, который похож (во всяком случае по названию) на SCO консоль. Поскольку большинство полнлэкранных программ получают доступ к консоли через библиотеку базы данных терминалов, например через termcap, то не имеет большого значения, используете вы это (sc0) или vt0, драйвер консоли совместимый с VT220. При входе систему, установите переменную TERM в ``scoansi'', если полноэкранные программы ругаится, при использовании такого типа консоли. device vt0 at isa? port ``IO_KBD'' tty irq 1 vector pcrintЭто VT220-совместимый драйыер консоли, совместимый с VT100/102 (т.е. он понимает VT100/102, а наоборот нет). Он хорошо работает на некоторых laptops, которые аппаратно несовместимы с sc0. После входа в систему установите переменную TERM в ``vt100'' или ``vt220''. Этот драйвер очень полезен, если вы собираетесь заходить на много всяких разных машин в сети, может случиться, что в termcap или terminfo нет записей о sc0 -- вто время как ``vt100'', понимается практически на всех платформах.

options ``PCVT_FREEBSD=210''Нужен для драйвера консоли vt0. options XSERVERПрименим только с драйвером консоли vt0. Подключает код необходимый для запуска сервера X Window XFree86 под драйвером консоли vt0. device mse0 at isa? port 0x23c tty irq 5 vector msИспользуйте это устройство, если у вас карта шины мыши Logitech или ATI InPort.

Замечание: Если у вас последовательная мышь, то забудьте про те две строки, и вместо этого, проверьте чтобы соответствующий порт был включен (скорее всего COM1). device psm0 at isa? port ``IO_KBD'' conflicts tty irq 12 vector psmintrИспользуйте это устройство, если мышь подключена к порту мыши PS/2.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Поддержка SCSII устройств


В этом разделе описываются различные SCSI контроллеры и SCSI устройства, поддерживаемые FreeBSD.

SCSI ControllersСледующий десяток строчек включает поддержку различных типов SCSI-контроллеров. Закомментируйте все, чего нет на вашей машине:

controller bt0 at isa? port ``IO_BT0'' bio irq ? vector btintrБольшинство контроллеров Buslogic controller uha0 at isa? port ``IO_UHA0'' bio irq ? drq 5 vector uhaintrUltraStor 14F и 34F controller ahc0Adaptec 274x/284x/294x controller ahb0 at isa? bio irq ? vector ahbintrAdaptec 174x controller aha0 at isa? port ``IO_AHA0'' bio irq ? drq 5 vector ahaintrAdaptec 154x controller aic0 at isa? port 0x340 bio irq 11 vector aicintrAdaptec 152x и звуковые карты, использующие Adaptec AIC-6360 (медленные!) controller nca0 at isa? port 0x1f88 bio irq 10 vector ncaintrКарты ProAudioSpectrum, использующие NCR 5380 или Trantor T130 controller sea0 at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seaintr8 битовый контроллер Seagate ST01/02 (медленный!) controller wds0 at isa? port 0x350 bio irq 15 drq 6 vector wdsintrКонтроллер Western Digital WD7000 controller ncr0Контроллер NCR 53C810, 53C815, 53C825, 53C860, 53C875 PCI SCSI options ``SCSI_DELAY=15''Это запись говорит ядру сделать паузу 15 секунд перед тем как проверить наличие SCSI устройства в системе. Если у вас только IDE-диск, вы можете игнорировать это, иначе вы можете уменьшить это число, скажем до 5 секунд, для ускорения загрузки. Если вы так сделали и у FreeBSD начались проблемы с распознаванием SCSI-устройств, конечно же, надо восстановить прежнее значение. controller scbus0Если у вас есть хоть какие-то SCSI-контроллеры, то эта строка обеспечивает общую поддержку SCSI. Если у вас нет ничего, относящегося к SCSI, вы можете закомментировать эту строку и еще следующие три строки. device sd0Поддержка жестких SCSI-дисков. device st0Поддержка ленточных SCSI-устройств. device cd0Поддержка SCSI CD-ROM.

Заметим, что цифра 0 в предыдущих примерах, ввдит в легкое заблуждение: все эти устройства автоматически конфигурируются (именуются и проч.) системой, как только она их обнаруживает; в независимости от того, сколько их на самом деле висит на SCSI шине(ах), и какие у них ID.

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

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Подготовка к инсталляции


Существует несколько методов установки FreeBSD. Ниже описываются подготовительные шаги для каждого метода.

2.2.1.

2.2.2.

2.2.3.

2.2.4.

2.2.5.

2.2.5.1.
2.2.5.2.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Подготовка к установке через FTP


Инсталляция через FTP может быть сделана с любого узла-"зеркала", который содержит версию FreeBSD 2.2.2. Меню FTP-сайта обеспечивает выбор зеркала из практически любой точки мира.

Если вы проводите установку с FTP-сайта, не включенного в этот список, или у вас возникли проблемы с правильной конфигурацией name server, укажите свой собственный URL, выбрав опцию ``Other'' в этом меню. URL может быть IP адресом, тогда name server может отсутствовать.

ftp://192.216.222.4/pub/FreeBSD/2.2.2-RELEASE

Вы можете использовать один из двух режимов установки через FTP:

FTP ActiveНе работает с firewall, но часто работает с более старыми ftp-серверами, которые не поддерживают пассивный режим. Если ваше коннекция повисла в пассивном режиме (по умолчанию), то используйте активный режим!

FTP PassiveДает возможность пользователю проходить через firewall, который не разрешает вход по случайным адресам портов.

Замечание:Активный и пассивный режимы - это не то же самое, что `proxy' коннекция, где proxy FTP сервер приведен в списке и пересылает запросы по FTP!

Для proxy FTP сервера укажите имя настоящего сервера как часть пользовательского имени после символа @. Proxy сервер затем заменит настоящий сервер. Например, вы хотите сделать установку с сайта , используя proxy FTP сервер , находящийся в списке на порте 1234.

В этом случае, вы идете в Options меню, устанавливаете имя пользователя FTP в ftp@ftp.freebsd.org и пароль как ваш email адрес. В качестве вашего инсталляционного устройства выберите FTP (или passive FTP, если proxy поддерживает это) и URL

ftp://foo.bar.com:1234/pub/FreeBSD

представляет /pub/FreeBSD из . Вы проводите инсталляцию с этой машины, которая доставляет файлы с ftp.freebsd.org, когда от вас появляется запрос на них.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Подготовка к установке через NFS


Скопируйте дистрибутивные файлы FreeBSD на сервер и затем в меню Media (Устройства) выберите NFS.

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

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

Для того чтобы NFS-инсталляция работала, сервер должен поддерживать монтирование поддиректориев, т.е. если дистрибутив FreeBSD 2.2.2 находится в ziggy:/usr/archive/stuff/FreeBSD, тогда ziggy должен разрешать монтирование /usr/archive/stuff/FreeBSD, а не только /usr или /usr/archive/stuff.

В FreeBSD-ном файле /etc/exports существует для этого опция ``-alldirs''. Другие NFS-серверы могут иметь отличные соглашения.



Последовательные и параллельные порты


Они существуют почти во всех системах. Если вы подключили принтер на один из таких портов, то раздел Печать документа handbook будет вам очень полезна. Если вы используете модем, то Dialup access пояснит детали настройки последовательного порта, для возможности пользоваться такими устройствами. device sio0 at isa? port ``IO_COM1'' tty irq 4 vector siointr sio0 -- sio3 это четыре последовательных порта, которые в MS-DOS обозначаются COM1 -- COM4 соответственно. Заметим, что если у вас внутренний модем подключен на COM4, а последовательный порт на COM2, то вам придется изменить IRQ модема на 2 (по непонятным техническим причинам IRQ 2 = IRQ 9), для доступа к нему во FreeBSD. Если у вас многопортовая последовательная карта, посмотрите страницу руководства по sio(4), для более полной информации о правильных значениях для этих строк. Некоторые видеокарты (например основанные на микросхемах S3) используют адреса IO в виде 0x*2e8, и, поскольку многие дешевые последовательные карты не могут полностью кодировать 16-bit IO адресное пространство, они конфликтуют с такими картами, и делают использование порта COM4 практически невозможным.

Каждый последовательный порт должен иметь уникальный IRQ (если только вы не используете многопортовую карту, где поддерживаются разделяемые прерывания ), поэтому нельзя использовать IRQs, установленные для COM3 и COM4 по умолчанию.

device lpt0 at isa? port? tty irq 7 vector lptintrlpt0 -- lpt2 это три порта принтера, которые могут быть на вашей машине. У многих пристутствует лишь один, поэтому, если у вас в наличии не все то комментируйте ненужные строки.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Построение и установка нового ядра


First, let us take a quick tour of the kernel build directory. All directories mentioned will be relative to the main /usr/src/sys directory, which is also accessible through /sys. There are a number of subdirectories here representing different parts of the kernel, but the most important, for our purposes, are i386/conf, where you will edit your custom kernel configuration, and compile, which is the staging area where your kernel will be built. Notice the logical organization of the directory tree, with each supported device, filesystem, and option in its own subdirectory. Also, anything inside the i386 directory deals with PC hardware only, while everything outside the i386 directory is common to all platforms which FreeBSD could potentially be ported to.

Note: If there is not a /usr/src/sys directory on your system, then the kernel source has not been been installed. Follow the instructions for installing packages to add this package to your system.

Next, move to the i386/conf directory and copy the GENERIC configuration file to the name you want to give your kernel. For example: # cd /usr/src/sys/i386/conf # cp GENERIC MYKERNEL Traditionally, this name is in all capital letters and, if you are maintaining multiple FreeBSD machines with different hardware, it is a good idea to name it after your machine's hostname. We will call it MYKERNEL for the purpose of this example.

Note: You must execute these and all of the following commands under the root account or you will get ``permission denied'' errors.

Now, edit MYKERNEL with your favorite text editor. If you are just starting out, the only editor available will probably be vi, which is too complex to explain here, but is covered well in many books in the bibliography. Feel free to change the comment lines at the top to reflect your configuration or the changes you have made to differentiate it from GENERIC.

If you have build a kernel under SunOS or some other BSD operating system, much of this file will be very familiar to you. If you are coming from some other operating system such as DOS, on the other hand, the GENERIC configuration file might seem overwhelming to you, so follow the descriptions in the section slowly and carefully.

Note: If you are trying to upgrade your kernel from an older version of FreeBSD, you will probably have to get a new version of config(8) from the same place you got the new kernel sources. It is located in /usr/src/usr.sbin, so you will need to download those sources as well. Re-build and install it before running the next commands.

When you are finished, type the following to compile and install your kernel: # /usr/sbin/config MYKERNEL # cd ../../compile/MYKERNEL # make depend # make # make install The new kernel will be copied to the root directory as /kernel and the old kernel will be moved to /kernel.old. Now, shutdown the system and reboot to use your kernel. In case something goes wrong, there are some instructions at the end of this document. Be sure to read the section which explains how to recover in case your new kernel .

Note: If you have added any new devices (such as sound cards) you may have to add some to your /dev directory before you can use them.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Прочие устройства


AST с 4 последовательными портами, использующая разделяемый IRQ. ARNET с 8 последовательными портами, использующая разделяемый IRQ. BOCA IOAT66 с 6 последовательными портами, использующая разделяемый IRQ. BOCA 2016 с 16 последовательными портами, использующая разделяемый IRQ. Cyclades Cyclom-y Serial Board. STB с 4 портами, использующая разделяемый IRQ. SDL Communications Riscom/8 Serial Board. SDL Communications RISCom/N2 и N2pci sync serial cards. Digiboard Sync/570i high-speed sync serial card. Decision-Computer Intl. "Eight-Serial" с 8 последовательными портами, использующая разделяемый IRQ. Звуковые карты Adlib, SoundBlaster, SoundBlaster Pro, ProAudioSpectrum, Gravis UltraSound, Gravis UltraSound MAX и Roland MPU-401. Matrox Meteor video frame grabber. Creative Labs Video spigot frame grabber. Omnimedia Talisman frame grabber. X-10 power controllers. PC joystick and speaker.

На данный момент FreeBSD не поддерживает микроканальную шину IBM (MCA).

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Псевдо-устройства


Драйверы псевдо-устройств это части ядра, действующие как драйвера устройств, но для них нет соответствующего устройства в вашем компьютере. Псевдо-устройства в том разделе, оставшиеся будут описаны ниже. pseudo-device gzipgzip позволяет запускать программы FreeBSD, которые были сжаты при помощи gzip. Программы в директории /stand сжаты, поэтому было бы неплохо добавить эту опцию в ядро. pseudo-device loglog используется для журналирования сообщений ядра об ошибках. Обязательная опция. pseudo-device pty number pty это ``псевдо-терминал'' или моделированный порт входа. Он используется входящими сессиями telnet и rlogin, xterm-ами, и некотрыми другими приложениями, как например emacs. number определяте количество pty, которые можно создать. Вам нужно будет больше, чем значение равное 16, которое установлено по умолчанию в GENERIC; вам, наверняка, понадобится большее число одновременно работающих окон xterm и/или удаленных logins, поэтому увеличьте это число, но оно должно быть не более 64. pseudo-device snp numberПодсматривающее устройство. Это псевдо-устройство позволяет одной сессии терминала просматривать другую используя команду watch(8). Заметим, что реализация этой возможности имеет большие последствия для безопасности и секретности. number после snp это общее количество одновременно работающих сессий snoop(подсматривающих). Не обязательная опция. pseudo-device vnДрайвер Vnode. Позволяет работать с файлом, как с устройством, после создания, с помощью команды vnconfig(8). Это драйвер может быть полезен при работе с images для гибких дисков и при использовании файла, как устройства для swap (например swap файл в MS Windows). Не обязательная опция. pseudo-device ccd numberСклеенные (последовательно) диски. Это псевдо устройство позволяет вам присоединять (конкатенировать) несколько разделов диска в один большой ``meta''-диск. number после ccd это общее количество присоединенных дисков (не общее количество дисков, которые могут быть присоединены), которое можно создать (т.е. это, как мы поняли, количество ``meta''-дисков). (Смотрите man-страницы ccd(4) и ccdconfig(8) для более полной информации.) Не является обязательной.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Сеть


FreeBSD, как, впрочем, весь Unix в целом, делает уделяет большое внимание сетевым возможностям. Поэтому, даже если у вас нет карты Ethernet, обратите особое внимание на обязательные опции и поддержку сетевых возможностей dial-up.

options INETПоддержка сети. Оставьте эту опцию даже если вы не собираетесь испеолбзовать сеть. Многим программам требуется, по крайней мере, сеть типа loopback (т.е. сетевые соединения внутри вашего PC) поэтому эта опция является строго обязательной. Ethernet cardsСледующие строки подключают поддержку различных карт Ethernet. Если у вас нет сетевой карты, то вы можете закомментировать все эти строки. В противном случае, вам надо будет включить поддержку ваших(ей) карт(ы):

device de0карты Ethernet на основе Digital Equipment DC21040, DC21041 или DC21140 chips device fxp0Intel EtherExpress Pro/100B device vx03Com 3C590 и 3C595 (плохая) device cx0 at isa? port 0x240 net irq 15 drq 7 vector cxintrCronyx/Sigma multiport sync/async (с Cisco или PPP framing) device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintrWestern Digital и SMC 80xx and 8216; Novell NE1000 и NE2000; 3Com 3C503; HP PC Lan Plus (HP27247B и HP27252A) device el0 at isa? port 0x300 net irq 9 vector elintr3Com 3C501 (медленная!) device eg0 at isa? port 0x310 net irq 5 vector egintr3Com 3C505 device ep0 at isa? port 0x300 net irq 10 vector epintr3Com 3C509 (плохой) device fe0 at isa? port 0x240 net irq ? vector feintrFujitsu MB86960A/MB86965A Ethernet device fea0 at isa? net irq ? vector feaintrкарта DEC DEFEA EISA FDDI device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintrAT&T StarLAN 10 и EN100; 3Com 3C507; малоизвестный NI5210 device ix0 at isa? port 0x300 net irq 10 iomem 0xd0000 iosiz 32768 vector ixintrIntel EtherExpress 16 device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intrDigital Equipment EtherWorks 2 and EtherWorks 3 (DEPCA, DE100, DE101, DE200, DE201, DE202, DE203, DE204, DE205, DE422) device lnc0 at isa? port 0x300 net irq 10 drq 0 vector lncintrкарты Lance/PCnet (Isolan, Novell NE2100, NE32-VL) device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintrIBM/National Semiconductor PCMCIA ethernet контроллер. device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr3Com PCMCIA Etherlink III

Замечание: Для определенных карт (например для NE2000) вам надо будет изменить порт и/или IRQ, поскольку нет ``сиандарта'' по размащению этих карт. pseudo-device looploop это основное устройство типа loopback для TCP/IP. Если вы делаете telnet или FTP на localhost ( 127.0.0.1), то это делается с помощью этого псевдо-устройства. Обязательная опция. pseudo-device etherether нужно только в том случае, если у вас есть карта Ethernet; эта опция подключает программу поддерживающую общий протокол Ethernet. pseudo-device sl numbersl нужен для поддержки протокола SLIP (Serial Line Internet Protocol). Этот протокол был почти целиком вытеснен протоколом PPP, который легче устанавливать, который лучше подходит для соединений типа модем-модем, при этом он более эффективен и более мощный. Параметр number, идущий после sl, определяет количество одновременных сессий SLIP, которые надо поддерживать. В нашем руководстве документе есть более полная информация о SLIP client или server. pseudo-device ppp numberppp нужен для поддержки ядром PPP (Point-to-Point Protocol) для подключения в Internet типа dial-up. Существует также версия PPP, реализованная как пользовательское приложение, которое использует tun и предлагает большую гибкость и дополнительные возможности, как например автодозвон (demand dialing). Если вы еще не передумали использовать этот драйвер PPP, то почитайте раздел PPP в режиме ядра этог руководства. Как и в случае с устройством sl, number определяет сколько одновременных сессий PPP надо поддерживать. pseudo-device tun numbertun используется программами для PPP, работающего в пользовательском режиме. Эту программу легко и быстро запускать. Есть также дополнительные возможности, например автодозвон. Число после tun количество одновременных сессий PPP, которые надо поддерживать. Для более полной информации смотри раздел PPP в пользовательском режиме. pseudo-device bpfilter numberФильтр пакетов, сделанный в Berkeley. Это псевдоустройство позволяет устанавливать сетевые интерфейсы в раскрепощенный режим, который забирает все пакеты, рассылаемые по broadcast (например ethernet). Эти пакеты могут быть скачаны на диск и/или исследованы с помощью программы tcpdump(1). Заметим, реализация этой возможности может серьезно повредить сетевой безопасности вашей системы. number, стоящий после bpfilter это количество интерфейсов, которые могут опрашиваться одновременно. Не обязательная опция, не рекомендуется применять, если есть малейшие опасения о взломах через сеть и прочих неприятностях. Не все сетевые карты поддерживают эту возможность.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Создание узлов устройств


Почти каждое устройство определенное в ядре имеет соответствующий файл ``node(узел)'' в директории /dev. Эти ``узлы'' выглядят, как обыкновенные файлы, но на самом деле это записи в ядре, которые программы используют чтобы получить доступ к устройству. shell скрипт /dev/MAKEDEV, который выполняется, когда вы первый раз устанавливаете операционную систему, создает ``узлы'' для почти всех поддерживаемых устройств. Но не все, поэтому когда вы добавляете поддержку нового устройства, этот скрипт проверяет есть ли соответствующий файл в этой (/dev) директории, и если нет, то добавляет. Вот простой пример:

Предположим вы добавляете в ядро поддержку IDE CD-ROM. Строка, которую надо добавить: controller wcd0 Это значит, что вам надо искать записи начинающиеся с wcd0 в директории /dev, после этого, возможно, идет буква, например `c', или перед этим может быть буква 'r', которая означает `raw (сырое)' устройство. Это означает, что нужных файлов нет, поэтому надо войти в директорию /dev и выполнить команду: # sh MAKEDEV wcd0 Когда MAKEDEV закончит работу, вы увидите файлы wcd0c и rwcd0c в директории /dev, что свидетельствует о правильном выполнении скрипта.

Для звуковых карт команда: # sh MAKEDEV snd0 создает соответствующие файлы. Замечание: если созданы узлы устройств для таких устройств, как звуковые карты, то в ситуации, когда ваша машина доступна другим пользователям (по сети), будет целесообразно защитить эти устройства от внешнего доступа, путем добавления их в файл /etc/fbtab. Для более полной информации, смотрите man fbtab.

Проделайте такую же процедуру для всех устройств, которых нет в ядре GENERIC и для которых нет записей в файле /etc/fbtab.

Замечание: Для всех SCSI-контроллов используются одни и те же файлы в директории /dev, поэтому не надо их создавать. Кроме того, для сетевых карт и псевдо-устройств SLIP/PPP вообще не бывает соответствующих файлов в директории /dev, поэтому не беспокойтесь о них.

| |

Comments: info@citmgu.ru
Designed by Andrey Novikov
Copyright © CIT


Требования к системе


В настоящий момент FreeBSD работает на персональных компьютерах (PC) от 386sx до Pentium (хотя 386sx не рекомендуется), с большим разнообразием шин: ISA, VLB, EISA и PCI. Предоставляется поддержка для основных конфигураций устройств IDE и ESDI, различных SCSI контроллеров, сетевых и serial карт.

Для запуска FreeBSD требуется как минимум 4 Мб RAM. Для запуска X Window System требуемый минимум - 8 Мб RAM.

Ниже приводятся списки всех поддерживаемых дисковых контроллеров и сетевых карт.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



Установка FreeBSD


2.1.

2.1.1.


2.1.2.


2.1.3.

2.2.

2.2.1.


2.2.2.


2.2.3.


2.2.4.


2.2.5.

2.3.

2.4.



Вопросы и ответы для пользователей MS-DOS


Ниже приводятся наиболее общие вопросы, которые задают многие пользователи MS-DOS, желающие установить FreeBSD на машину, где уже стоит MS-DOS.

Помогите! На диске нет места! Неужели я должен сначала все удалить?

Если ваша машина работает под MS-DOS и на ней не осталось (практически или совсем) места на диске, необходимого для установки FreeBSD, не спешите отчаиваться. Еще не все потеряно! В директории tools на CD есть утилита FIPS, (или на любом FReeBSD ftp--сайте), которая будет весьма полезна.

FIPS позволяет существующий MS-DOS раздел разрезать на 2 части, сохраняя при этом оригинальный раздел и разрешая проводить установку на второй свободной части. Сначала вы дефрагментируйте ваш MS-DOS раздел, используя для этого DOS-утилиту 6.xx DEFRAG или Norton Disk Tools, а затем запустите FIPS. Она проинформирует вас обо всем, что ей нужно. После этого перезагрузите машину и устанавливайте FreeBSD на освободившемся месте. Просмотрите меню Distributions, чтобы иметь представление о том, сколько необходимо дискового пространства для вашего варианта установки.

Могу ли я использовать компрессированные файловые системы MS-DOS из-под FreeBSD?

Нет. Если вы применяете утилиты компрессирования диска, как Stacker(tm) или DoubleSpace(tm), FreeBSD будет использовать только часть, оставшуюся некомпрессированной. Остальная часть файловой системы будет показываться как один большой файл (stacked/dblspaced файл!) Не удаляйте этот файл!

Возможно, вы потом будете очень сожалеть об этом!

Может быть лучше создать другой некомпрессированный MS-DOS primary раздел и использовать его для коммуникаций между MS-DOS и FreeBSD.

Могу ли я монтировать MS-DOS extended разделы?

Да. Разделы 'DOS extended' отображаются после FreeBSD-разделов, т.е. ваш диск D: может быть /dev/sd0s5, E: может быть /dev/sd0s6 и так далее, в предположении, что ваши extended разделы находятся на SCSI drive 0. Для IDE устройств, замените ``sd'' на ``wd'' соответственно. Монтировать extended разделы можно как и любые другие DOS устройства, т.е.:

mount -t msdos /dev/sd0s5 /dos_d

Могу ли я запускать бинарные файлы MS-DOS из-под FreeBSD?

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

Пошлите почту на mailing list

если вы хотите присоединиться к решению этого вопроса.

А пока существует неплохое приложение в коллекции переносимых пакетов (Ports Collection), которое называется pcemu. С его помощью вы можете запускать основные MS-DOS бинарные файлы.

| |

Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT



FreeBSD базируется на операционной системе


FreeBSD базируется на операционной системе 4.4BSD-Lite для процессоров семейства Intel x86. Для ознакомления с системой FreeBSD, смотрите . Краткая история проекта описана в . Описание текущей версии читайте в главе . 1.1.
1.2.
1.3.
1.4.
1.5.
|


Comments: info@citmgu.ru

Designed by Andrey Novikov

Copyright © CIT

X Window


Чтобы кириллизовать X Window, последовательно проделайте следующие шаги:

    Сначала выполните настройку locale, как это описано в пункте .

    Замечание:

    Русская локализация KOI8-R может не работать со старыми версиями XFree86 (ниже 3.2.1 + заплатки (patches) locale/keyboard). Порт XFree86 из /usr/ports/x11/XFree86 уже имеет все необходимые заплатки, поэтому, если вы установите XFree86 из этого порта, то получите уже кириллизованный X Window.

    Войдите в директорий /usr/ports/russian/X.language и скажите там

    # make all install

    Этот порт установит самые последнии версии шрифтов KOI8-R.

    Найдите секцию "Files" в файле /etc/XF86Config, и проверьте, чтобы соответствующие строки были перед любыми другими строками FontPath:

    FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/misc" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic/100dpi"

    Если вы используете высокое разрешение монитора, то поменяйте местами строчки с 75 dpi и 100 dpi.

    Чтобы активизировать русскую клавиатуру, добавьте в секцию "Keyboard" в файле /etc/XF86Config:

    XkbKeymap "xfree86(ru)"

    Проверьте, чтобы функция XkbDisable была отключена, т.е. строчка с XkbDisable была закомментирована.

    Примечание: Мы встретились с такой ситуацией, когда русификация "заработала" только после раскомментирования строчки XkbDisable. Другим решением проблемы русификации является установка xrus.

    Переключатель RUS/LAT будет сидеть на клавише CapsLock. Старая функция CapsLock сейчас находится на Shift+CapsLock (только в режиме LAT).

    Замечание 1:

    1.Русская XKB клавиатура может не работать со старыми версиями XFree86. Подробнее об этом смотри в в начале этой главы.

    Замечание 2:.В файле xinitrc необходимо указать в качестве параметра команды xmodmap файл /usr/ports/russian/X.language/files/xmodmap или, если вы точно знаете раскладку клавиатуры, путь к своему xmodmap.

    |

    Comments: info@citmgu.ru

    Designed by Andrey Novikov

    Copyright © CIT



    Зачем нужна коллеция портов?


    Базовая система FreeBSD поставляется с огромным количеством инструмнтов, системных утилит, но большинство популярных программ не включены в базовую систему по ряду причин:

      ``Я не могу жить без x, y и z на моей машине'' (т.е. без каких-нибудь основанных на Lisp редакторов, или без mtools - набора программ для работы с DOS-ими дискетами), но это слишком субъективно (многие люди никогда не запускают Emacs и/или никогда не используют DOS-дискеты и кажется не очень от этого страдают) Слишком специализированны, чтобы включить в базовую систему (CAD, базы данных). Программы, которые попадают в категорию "Я взгляну на них, когда у меня будет свободная минутка", прямая противоположность системно-критическим программам (некоторые языки). ``Wow fab this is way cool'' прикольные программы, которые не могут поставляться с серьезными ОС подобно FreeBSD ;-) в любом случае, сколько бы программ вы не включили в базовую систему, люди всегда будут хотеть большего, так что должна быть проведена граница (иначе дистрибуции FreeBSD будут огромными).

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

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

    | |

    Comments: info@citmgu.ru
    Designed by Andrey Novikov
    Copyright © CIT


    Зачем строить ядро отличное от существующего?


    Построение нового ядра это один из важнейших ритуалов администрирования, с которым администратор должен быть знаком. Это процесс, занимающий достаточно времени, обеспечивает улучшение работы вашей FreeBSD-системы. В отличии от GENERIC-ядра, который должен поддерживать любую возможную SCSII и сетевую карты, и кучу всякого старого железа, ваше собственное ядро содержит поддержку только для железа вашего PC. Это имеет ряд преимуществ:

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

    | |

    Comments: info@citmgu.ru
    Designed by Andrey Novikov
    Copyright © CIT


    Звуковые карты


    Это первый раздел, в котором содержатся строки, которых нет ядре GENERIC. Чтобы включить поддержку звуковой карты, вам нужно будет скопировать соответствующие строки из файла LINT (который содержит поддержку для всех устройств) например такие:

    controller snd0

    Общая программа звукоывх драйверов. Нужна для всех следующих сетевых карт кроме pca. device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr

    ProAudioSpectrum digital audio и MIDI. device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr

    SoundBlaster digital audio.

    Замечание: Если ваш SoundBlaster на другом IRQ (например 5), измените irq 7 на, например, irq 5 и уберите ключевое слово conflicts. Также, вы должны добавить строку: options ``SBC_IRQ=5'' device sbxvi0 at isa? drq 5

    SoundBlaster 16 digital 16-bit audio.

    Замечание: Если ваш SB16 на другом 16-bit DMA канале (например 6 или 7), измените ключевое слово drq 5 соответствующим образом, и добавьте строку: options "SB16_DMA=6" device sbmidi0 at isa? port 0x330

    Интерфейс 16 MIDI. Если у вас SoundBlaster 16, вы должны включить эту строку, иначе ядро не скомпилируется. device gus0 at isa? port 0x220 irq 10 drq 1 vector gusintr

    Gravis Ultrasound. device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr

    Microsoft Sound System. device opl0 at isa? port 0x388 conflicts

    AdLib FM-synthesis audio. Включите эту строку для пользователей AdLib, SoundBlaster, и ProAudioSpectrum, если вы хотите проигрывать файлы MIDI припомощи программы playmidi (в коолекции ports). device mpu0 at isa? port 0x330 irq 6 drq 0

    Отдельная карта Roland MPU-401. device uart0 at isa? port 0x330 irq 5 vector ``m6850intr''

    Отдельный 6850 UART для MIDI. device pca0 at isa? port ``IO_TIMER1'' tty

    Цифровое аудио на колонках PC. Похоже это будет не очень хорошее качество и потребляющий много ресурсов CPU, так что мы вас предупредили (но это не требует наличия звуковой карты).

    Замечание: Существует дополнительная документация в /usr/src/sys/i386/isa/sound/sound.doc. Кроме того, если вы добавили какое-нибудь из вышеперечисленных устройств, обязательно создайте звуковые .

    | |

    Comments: info@citmgu.ru
    Designed by Andrey Novikov
    Copyright © CIT