Глава 1. Установка ядра системы и первоначальная настройка.

Итак. Диск FreeBSD в приводе, загрузка с CD включена и вот началась загрузка системы с CD. Самым первым вопросом при загрузке является режим запуска. Собственно говоря нас пока это мало интересует, поэтому просто нажимаем Enter или ждём когда истекут 10 секунд. Далее нам необходимо ответить на два вопроса, касаемо страны, где мы находимся и кодировки:

  1. Country Selection, соответственно выбираем 182 Russian Federation.
  2. System Console Keymap, выбираем Russia KOI8-R.

Конечно вы можете выбрать что-то более подходящее для вас. Кстати, выбор KOI8-R не случаен. Несмотря на то, что в кругах Linux чаще используется UTF-8, для начинающих во FreeBSD лучше оставить KOI8-R. Исходный код ещё недостаточно доработан для корректной поддержки UTF-8. Будьте готовы к тому, что консоль может некорректно отображаться. В интернете вы можете найти несколько методов как получить более или менее полноценную поддержку UTF-8, но, к сожалению, в настоящий момент все из них могут иметь некоторые побочные эффекты.

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

Итак, приступаем к установке системы. Надеюсь вы позаботились заранее о свободном месте на вашем жёстком диске или вообще об отдельно диске для вашей FreeBSD. Нам на выбор предлагают три варианта установки системы: Standard, Express, Custom. Мы не из робкого десятка, поэтому выбираем Custom (остальные методы установки можно задать в качестве домашнего задания). После выбора попадаем в следующее меню.

В данном меню представлены все стадии установки системы на ваш HDD:

  1. Options - в этой части мы можем указать различные опции при установке системы. Для начинающих я бы порекомендовал пока не обращать внимание на этот пункт, что мы собственно и делаем. Если вы хотите всё-таки познакомиться с содержимым Options, милости просим. Для завершения нажмите Q.
  2. Partition - в этой части мы собственно создаём слайс (в терминологии Windows - раздел), где будет размещаться наша FreeBSD. Разбивка HDD здесь не совсем стандартна. В одном слайсе можно создать несколько разделов (имеено поэтому различается терминология). Работать в этом разделе нужно очень внимательно, т.к. из-за своих ошибок можно потерять другие разделы на HDD. Собственно говоря никогда не видел ничего сложного в этой процедуре, однако знакомые умудрялись уничтожить раздел с установленной Windows и кучей нужных данных. Так или иначе, советую выбрать unused часть диска, после чего нажать кнопку C. В ответ вам предложат выбрать размер вашего будущего слайса, который по умолчанию равен величине свободного пространства на диске. При желании вы можете изменить этот размер и оставить ещё немного свободного места. Размер можно указывать в блоках, мегабайтах или гигабайтах (в последних двух случаях необходимо после размера указать букву M или G). После выбора размера нас попросят выбрать тип слайса, выбираем значение по умолчанию 165. Собственно для установки системы нам достаточно одного слайса. Перед выходом убеждаемся, что разделы других систем, как то NTFS и прочие мы видим, после чего можно нажимать кнопку Q для выхода из этого меню.

    Далее мы попадаем в меню Install Boot Manager.

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

    Если в системе имеется несколько HDD, то вам предложат выбрать диски, на которые вы ходите установить загрузчик FreeBSD. Если у вас уже установлен какой-то удобный вам загрузчик, умеющий загружать различные системы, можно ничего не устанавливать. Если FreeBSD устанавливается на второй диск в системе, то рекомендую на этом диске поставить загрузчик типа Standard, а на основном поставить BootMgr или свой загрузчик. При желании можно заставить загружать FreeBSD загрузчиком от Windows 2000/XP, но это дело чревато, если вы что-то не так сделаете, можете потерять раздел Windows. Так что оставим эти эксперименты для особо любопытных, почитать подробнее можно в handbook на сайте www.freebsd.or g. Собственно говоря, на этом разметка диска закончена.

  3. Label - создание разделов в слайсе. На предыдущем этапе мы подготовили слайс для наших разделов, теперь займёмся непосредственно их созданием. Надо сразу отметить различие между Windows/MS-DOS и Linux/BSD. В ОС *nix файловая система состоит из одного корневого раздела, остальные файловые системы монтируются в папках. Кстати, подобная система появилась и в Windows 2000, но она завуалирована наличием дисков C: D: и т.д., которые по сути являются ссылками на определённые папки корневой файловой системы.

    Итак, выберем самый простой путь разметки - автоматический. Для этого выбираем в верхней части меню нужный диск и слайс в нём, после чего нажимаем кнопку A. При этом создаются следующие разделы:

    / - корневой раздел типа UFS2, размер его обычно 512Mb. Это основной раздел, единственный, который монтируется в аварийных случаях. Содержит в себе ядро операционной системы, жизненно важные команды (например, проверки диска), а также конфигурационные файлы.

    swap - своп операционной системы, если в Windows он представляет из себя файл, то в данном случае это отдельный раздел типа SWAP, объём его выбирается исходя из размера оперативной памяти. Можно вообщем-то согласиться с выбором системы, но у меня он составляет 1,5Гб :-) (т.к. у меня 1Гб оперативной памяти). Обычно я его уменьшаю до меньшего размера, т.к. даже этот гигабайт при работе очень сложно забить, это не Windows. Например в момент написания этих строк у меня запущен Firefox 2.0 с несколькими вкладками, SIM-IM, XMMS, KGet, системный монитор KDE, но пик загрузки оперативной памяти не превышает 600Мб, при этом своп файл вообще не используется.

    /var - раздел для размещения постоянно меняющихся данных. В него обычно помещается база почтового сервера, базы SQL и другая информация, которая часто модифицируется. Так то, если вы планируете установить у себя MySQL сервер, то позаботьтесь о выделении необходимого места под вашу базу данных. Раздел имеет тип UFS2+S, размер по умолчанию 1139Mb.

    /tmp - радел для размещения временных файлов, которые создаю приложения. Сделано это для того, чтобы не замусоривать основные файловые системы и, соответственно, увеличивать степень фрагментации файлов. Тип файловой системы UFS2+S, размер по умолчанию 512Mb, хотя можно подумать и об его увеличении, так например вы уже не сможете просматривать большие архивы через Midnight Commander, т.к. он распаковывает их перед просмотром именно в этот раздел. С другой стороны распаковка проиходит очень долго :-)

    /usr - основной пользовательский раздел, тип файловой системы UFS2+S. По умолчанию занимает всё свободное пространство в слайсе. Здесь будут размещаться весь устанавливаемый софт и ваши документы (/usr/home)

    Иногда имеет смысл создать ещё дополнительные разделы, при этом уменьшив раздел /usr. Например, если вы хотите использовать свой компьютер как файл-сервер на базе Samba, то имеет смысл выделить каталог /home в отдельный раздел, для которого включить дополнительные возможности файловой системы.

    Если же вы всё-таки решились создать разделы по вашему выбору, то делается это следующим образом. Выбираем сверху нужный слайс, после чего нажимаем кнопку C. Далее нас просят указать размер раздела. Указать его можно в блоках (указывается количество блоков числом), гигабайтах (при этом после размера ставится буква G), мегабайтах (указываем букву M), или цилиндрах (указываем букву C). Далее необходимо выбрать тип файловой системы, собственно говоря выбирать не из чего, имеется только FS (A file system) и Swap (A swap partition). Swap, как понятно из названия, используется только для раздела Swap. Все остальные разделы должны быть типа FS. Завершающая стадия создания раздела - указание точки монтирования.

  4. Distributions. Перейдём непосредственно в выбору основных компонентов нашей операционной системы. Это первый пункт, к которому вы можете вернуться после установки системы. Правда, если вы забудете установить важные компоненты системы, вы просто не сможете загрузить систему :-) Итак, перейдём к выбору компонентов. Снова выбираем Custom, ведь мы не боимся трудностей, тем более, что в этом случае мы сможем контролировать то, что будет установлено. Вот список компонент:

    • base - binary base distribution - базовый набор компонентов, обязателен для установки, иначе вы просто не сможете работать!!!
    • kernels - ядро операционной системы, также обязательный компонент системы!!! В старых версиях предлагалось два варианта: GENERIC или SMP (GENERIC symmetric multiprocessor kernel configuration). SMP вам пригодится в случае использования многопроцессорных систем или двухядерных процессоров, в остальных случаях выбираем GENERIC. В новых версиях GENERIC также научился работать с несколькими процессорами или ядрами процессора.
    • dict (Spelling checker dictionary files) - словари, используются для проверки орфографии. Можно не устанавливать, тем более, что здесь установятся только англоязычный словарь.
    • doc (Miscellaneous FreeBSD online docs) - набор документации. Можно не устанавливать, т.к. это англоязычная документация.
    • games (Games (non-commercial) - некоммерческие игры, можно не устанавливать.
    • info (GNU info files) - info файлы GNU, можно не устанавливать.
    • man (System manual pages) - документация для компонентов системы, рекомендую установить, несмотря на том, что все описания на английском языке.
    • catman (Preformatted system manual pages) - набор программ, для работы с документацией man
    • proflibs (Profiled versions of the libraries) - набор дополнительных библиотек. Для чего конкретно они нужны не разбирался, обычно ставлю.
    • src (Sources for everything) - исходный код всех компонентов системы, рекомендую поставить всё, т.к. в будущем мы попробуем создать установить своё ядро, а также обновлять систему до текущего состояния.
    • ports (The FreeBSD Ports collection) - коллекция портов. Очень удобный механизм установки приложений для FreeBSD. По сути это каталог всевозможного софта с описанием автоматизированной установки. Рекомендую поставить!!!
    • local (Local additions collection) - так и не разобрался для чего это.
    • X.org (The X.Org distribution) - графический сервер, которые используют практически все графические оболочки для *nix для прорисовки окон и других графических элементов. Если вы планируете использовать графическую оболочку на своём компьютере (а мы сейчас устанавливаем именно desktop), то рекомендую установить все компоненты X.org. Существует также другая реализация этого сервера XFree, но от него отказались в пользу Xorg в одной из предыдущих версий FreeBSD.

    После выбора необходимых компонентов, выходим в наше установочное меню.

  5. Media - выбор источника установочных файлов. Поскольку вы ставите систему в первый раз, то используете CD/DVD, который собственно и выбираем. Обратите внимание на многообразие источников установки. Благодаря такому выбору опытные пользователи могут производить установку по сети, не используя монитора, клавиатуры и сменных приводов.
  6. Commit. Итак, мы дошли до пункта, где начинается непосредственно внесение всех изменений в файловой системе и установка компонентов. Сразу же после выбора этого пунта нам показывают предупреждение, что это последний шанс отказаться от установки, иначе все изменения в структуре слайсов на диске будут применены. Соглашаемся, что мы готовы продолжать.

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

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

Завершаем установку выбрав Exit install. Перед перезагрузкой нас предупредят, что необходимо убрать все сменные носители с которых может произойти загрузка. Можно этого не делать, если во время перезагрузки заглянуть в Setup вашего компьютера и указать загрузку с HDD.

Итак, во время перезагрузки не забывает отключить загрузку с CD. После перезагрузки проверяем все ли наши операционные системы загружаются правильно, после чего вы можете загрузить FreeBSD.

Итак, перезагрузка прошла успешно и вы получили приглашение login. Поздравляю вас! С самым сложным этапом вы справились, теперь ничего не угрожает операционным системам на вашем компьютере :-)

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

После входа в систему набираем sysinstall и попадаем в знакомое нам меню. На этот раз нас интересует пункт меню Configuration.

Сразу задаём Root Password, особенно если в дальнейшем ваш компьютер будет иметь выход в сеть. От этого действия зависит безопасность вашей системы.

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

Раздел Packages - это комплект скомпилированных приложений, которые разработчики поместили на дистрибутивные диски. Вы можете установить нужные вам программы отсюда, либо непосредственно с ftp сервера ftp.freebsd.org (несомненно в этом случае вы получите наиболее свежие версии программ).

С пунктом Root Password мы уже знакомы, это задание пароля пользователя root.

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

Раздел User Management. Здесь вы можете создать новых пользователей, при этом будут созданы все необходимые пользовательские папки (обычно они создаются в папке /home, которая по умолчанию является ничем иным как символический ссылкой на папку /usr/home). Рекомендую создать вам хотя бы одного пользователя. При создании пользователя также будет создана группа с таким же именем, поэтому добавлять группы нет необходимости.

При создании пользователя нам необходимо ввести:

Следующий пункт меню - Console. Здесь мы конфигурируем нашу консоль. Это первый этап русификации:

Time zone. Здесь всё просто, нужно указать часовой пояс в котором вы находитесь. Первое, что нас просят сделать, указать, хотим ли мы использовать всемирное коррдинированное время UTC в аппаратных часах компьютера. Тут стоит немного разобраться. Исторически сложилось, что операционные системы производства Microsoft оперируют местным временем. Это вносит множество неудобств: необходимость перевода стрелок часов на летнее время и обратно, переезде из одного часового пояса в другой. Отсюда, наиболее логичным было бы выбрать UTC в аппаратных часах, тогда перевод стрелок производился бы автоматически просто путём указания нового часового пояса или введения коррекции на 1 час (т.к. время UTC не переводится ни зимой, ни летом). Но не спешите. Если на вашем компьютере есть система семейства Microsoft Windows, то данный выбор усложнит вам жизнь. Выражается это тем, что полноценной поддержки UTC в Windows нет. Возможно заставить часы Windows использовать время в UTC, но в некоторых случаях вы получите неточное время, в частности при выходе компьюетра из ждущего или спящего режимов. В данном случае Windows неожиданно решает, что время в аппаратных часах время местное. Если же вы счастливый пользователь *nix систем, логичнее выбрать UTC. Далее выбираем регион, для выбора Екатеринбурга нужно выбрать 5 Asia, далее 37 Russian Federation и далее 5 Moscow+2.

Раздел Media - выбор источника установки. Можно не трогать, если вы не хотите его изменить (например установить что-то не с компакт диска, а с FTP).

Раздел Mouse - настройка интерфейса мыши. Надеюсь с этим разделом вы разберётесь самостоятельно, тем более, что чаще всего можно воспользоваться пунктом Auto.

Раздел Networking - настройка локальной сети. Это очень обширный раздел. Не буду вдаваться в подробности его настройки и укажу самое необходимое: Interfaces - настройка существующих сетевых интерфейсов.

Gateway - включение этого пункта позволит вашему компьютеру передавать пакеты между сетевыми интерфейсами в случае установки нескольких сетевых плат. Mail - по умолчанию в системе устанавливается sendmail - не самый безопасный компонент, который к тому же нам вовсе не нужен, поэтому выбираем None. Sshd - этот демон позволяет получить доступ к вашему компьютеру по сети (доступ к консоли через SSH клиента, например, putty).

Вообщем-то на этом можно закончить установку при помощи утилиты sysinstall и перейти к редактированию конфигурационных файлов. Перед тем, как вы приступите к редактированию нужно освоить несколько действий в операционной системе:

/etc/rc.conf

Один из самых важных конфигурационных файлов системы. В нём сохраняются многие данные о конфигурации системы, а также параметры запуска демонов. Приступим к его редактированию:

# cd /etc
# ee rc.conf

После этого мы видим реактор с открытым файлом rc.conf. По сути дела в этот файл записались настройки, которые были заданы нами через утилиту sysinstall. Добавим в конфигурацию несколько дополнительных штрихов:

  • включим раскладку клавиатуры, аналогичную Windows (я думаю даже заядлые пользователи Linux/BSD встречаются с Windows, да и на клавиатуре в большинстве случаев нанесены символы именно в такой раскладке, поэтому будет удобнее придерживаться её как стандарта). Для этого нужно просто найти строчку
    keymap="ru.koi8-r"
    
    и изменить её на
    keymap="ru.koi8-r.win"
    
  • выключим прослушивание демоном syslogd сетевого интерфейса. Эта возможность нужна в том случае, если вы желаете, чтобы удалённый сервер складывал свои логи на вашу машину непосредственно. Для выключения этой возможности установим флаги при запуске syslogd с помощью строчки: syslogd_flags="-ss"
  • изменим разрешение текстовой консоли, зададим размер 80х50 символов
    allscreens_flags="80x50"
    

После внесения всех изменений мы получим что-то вроде

###############/etc/rc.conf#################
defaultrouter="172.17.22.254"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
hostname="bsd.fsahome.ru"
ifconfig_sk0="inet 172.17.22.1 netmask 255.255.255.0"
keyrate="fast"
keymap="ru.koi8-r.win"
mousechar_start="3"
moused_enable="YES"
scrnmap="koi8-r2cp866"
sendmail_enable="NONE"
syslogd_flags="-ss"
allscreens_flags="80x50"
sshd_enable="YES"
########################################

Если в вашем файле имеются дубликаты параметров, можно смело уничтожать все, кроме последних. Именно последнее значение будет использовано. На заметку, утилита sysinstall никогда не удаляет строки из /etc/rc.conf, а всегда добавляет новые. Так что после использования sysinstall желательно заглянуть в rc.conf и убрать оттуда лишние строки, т.к. в этом случае файл становится более лёгок для понимания. Не возбраняется оставлять комментарии к файле. Комментарии начинаются с символа #. Полезным также может стать группировка параметров по смыслу.

Локализация консоли.

Множество приложений Linux/BSD изначально поддерживают русский язык. При этом они смотрят локаль пользователя и начинают выдавать сообщения на родном языке пользователя. По умолчанию таким языком является английский язык. Нам же удобнее будет получать сообщения на русском языке. Именно этим мы сейчас и займёмся.

Существует несколько способов локализации консоли. О них вы можете подробнее прочитать в handbook. Я же расскажу о способе, когда все пользователи системы имеют единую локаль.

Для начала нам нужно добавить 2 строки в файл /etc/csh.login:

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

Далее нужно добавить 2 строки в файл /etc/profile:

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

Внимание

Обращаю ваше внимание на то, что часть строки после символа ; НЕ является комментарием!!!