Часть 1 - Операционная система
Часть 2 - Преимущества
Часть 3 - Преимущества (+)
Часть 4 - Установка
Часть 5 - Настройка
Часть 6 - Установка дополнительного ПО
Часть 4 - Установка FreeBSD
Итак решение о использовании для изучения и установки оригинальной FreeBSD я за вас принял. Потом рассмотрим и варианты сборок на основе FreeBSD, которые в принципе облегчают и упрощают установку и настройку... но мы же должны всё знать сами - чтобы понимать, что и как мы делаем, зачем то или иное действие осуществляем? То есть мы реально пойдём по пути unixway! - Всё делать осознанно и с пониманием происходящего. Поехали...
Скачать FreeBSD можно с официального сайта этой операционной системы freebsd.org, соответственно выбираем версию, рекомендую выбрать актуальный на данный момент релиз, то есть тот вариант ОС, который в данный момент является текущим и завершённым.
Для записи и установки с DVD или в виртуальную/реальную машину скачиваем FreeBSD-*-RELEASE-amd64-disc1.iso - образ, а для установки с флэш-носителя FreeBSD-*-RELEASE-amd64-memstick.img - образ, где * - это версия операционной системы. Ссылка на страницу скачивания:
https://www.freebsd.org/where.html
Несколько предварительных замечаний: Я рекомендую установить FreeBSD на виртуальную машину, если вы хотите просто поинтересоваться, процесс инсталляции от этого не изменится. Разница будет, только в этапе настройки виртуальной машины или вашего реального компьютера на тот тип устройств, что у вас будет. Если установка FreeBSD будет идти на реальный компьютер, то рекомендую использовать отдельный жёсткий диск, а диски с уже установленной, например Windows попросту отключить. Так, как если у вас уже установлена какая-либо ОС, то есть вероятность её случайного удаления или повреждения, при ошибке выбора дисков во время конфигурирования дисковой системы. Поэтому примем, что у вас либо виртуальная машина либо реальная, но предназначенная только для FreeBSD.
Подготовка инсталляционного носителя
Для создания носителя можно записать DVD-диск, что в наше время уже затруднительно - многие компьютеры уже приобретаются без соответствующих дисководов, но если он у вас есть, то записываете на DVD-диск, скачанный iso-образ, воспользовавшись соответствующей программой. В Windows, есть встроенная программа записи - можно воспользоваться ей или любой другой, которой вы пользуетесь. Для записи флэш-носителя, например можно использовать встроенное средство самой Windows или выбрать, какое либо, описываемых на этой странице. Если у вас Linux, то есть программа k3b, которая так же запишет диск или воспользовавшись командной строкой можно записать образ на флэш-носитель.Я скачал: FreeBSD-12.1-RELEASE-amd64-memstick.img - то есть актуальный на данный момент - в вашем случае он уже может быть иным.
Перейдите в каталог, куда вы скачали образ FreeBSD... .img и выдайте команду:
# dd if=FreeBSD-12.1-RELEASE-amd64-memstick.img of=/dev/sdb bs=1m
где /dev/sdb - это устройство под которым у вас система распознала флэшноситель.
Для vmware или VirtualBox вы просто в соответствующем месте настроек указываете, что на ваш виртуальный CD-ROM подключен образ FreeBSD-12.1-RELEASE-amd64-disk1.iso и указываете, что загрузка будет с него.Так будем считать, что инсталляционный дистрибутив у вас есть. Характеристики системы для установки можно использовать примерно такие (в равной степени это относится к виртуальной машине и к реальной):
минимальное(рекомендуемое) ОЗУ - 2(4) Gb HDD - 16(120)Gb Замечу так же, что zfs (если вы выберите её) для производительной работы требует минимум 4Gb ОЗУ, но она будет работать и при меньшем объёме памяти.
Загружаемся с DVD или флэш-носителя. Первое, что вы увидите будет загрузчик FreeBSD, он одинаковый и для самой системы и для инсталлятора:
Здесь, сейчас ничего не нужно выбирать. Можно нажать лишь [Enter] чтоб не ждать 9 секунд...
Но в дальнейшем этот загрузчик можно использовать для настройки и в случае "если что-то пошло не так": ремонта, восстановления, устранения сбоев.
Затем пойдёт загрузка ОС с подробным изложением процесса загрузки и инициализации оборудования - загружается минимальная необходимая конфигурация системы единственная задача которой загрузить программу инсталляции и помочь вам установить рабочую копию на ваш компьютер...
Да, важное замечание: навигация по элементам только с использованием клавиатуры:
перемещение по элементам: "стрелки",
выбор: "пробел", подтверждение или "Yes": "enter" ).
"мышь" не поддерживается.
Выбираем <Install>. Далее будут вопросы последовательно: "раскладка клавиатуры" - оставляем по умолчанию, "имя хоста" - вбиваем, к примеру bsdtest, "выбор программ" - отмечаем только lib32 - на всякий случай, если вдруг нам попадётся ПО, которое требует совместимости с 32-битным ПО (вряд ли, но вдруг).
Снимаем пометки с base-dbg, kernel-dbg, lib32-dbg - отладкой и анализом проблем в ОС мы заниматься не будем, ports - нужны для сборки ПО из из исходных текстов ПО, src - исходные коды операционной системы - собирать свой вариант ядра FreeBSD мы не будем - будем использовать универсальный (GENERIC) вариант, tests - тестовый набор ПО - нам он тоже не нужен. Их можно установить позже в любой момент, если это понадобиться (перелистывайте картинки ниже -> ):
Доходим до "разметка диска":
Создать файловые системы можно в ручную 'Manual' - через инструмент инсталлятора, а можно полностью в ручную 'Shell' - средствами утилит OS
Как это сделать описал в отдельной статье: FreeBSD. Файловая система zfs.
Если хотите положиться на автоматическое создание файловых систем, то выбираете 'Auto (UFS)', если хотите использовать ufs или 'Auto (ZFS)' и zfs.
Для ufs будет вопрос о том, как использовать диск - подтвердить использование всего диска и на следующем экране выберите тип разметки диска GPT:
Если же выбрана zfs, то будет предложено сконфигурировать дисковый пул:
стрелочками переходим на "Partition Scheme" и по enter выбираем (BIOS+UEFI) - это даст возможность загрузки, как со старой "BIOS"-загрузкой и относительно новой UEFI. Остальное в принципе можно оставить "как есть", но, если вы хотите использовать несколько дисков для массива, то нужно определиться с его типом. Если оставляете stripe, то все диски, что вы используете и выберете (на следующем экране) будут объединены, mirror - и у вас два диска, то один будет использован для резервирования и диски будут содержать одинаковый набор данных, raidz1 - нужны три диска и объём в размере одного диска будет использован для резервирования, но данные резервирования будут распределены на все три диска и в случае выхода одного их них из строя - данные будут полностью доступны. Выбираем ">>> Install" - вам предложат выбрать тип массива или можно перейти на пункт "Pool Type/DIsks" и выбрать его на этом этапе.
Затем включить в массив диски и если он один, то при выборе любого типа кроме stripe вам не дадут сформировать иной, к примеру raidz1:
и ничего не останется, как выбрать stripe в этом случае:
У меня же дисков 3 (вот оно преимущество виртуальной машины - можно сделать хоть 100500 дисков). Изменяем, например, имя пула на zpool0, оставляя себе возможность именовать пулы дальше по типу zpool1 и т.д. Вдруг мы захотим добавить ещё один или два дисковых массива?
Так же можно выбрать размер Swap Size для области так называемого раздела подкачки - это специальная системная область диска, куда ОС при необходимости или недостатке ОЗУ может сбрасывать часть данных из ОЗУ в эту область или например, при hibernation (засыпании) компьютера - копировать в эту область всё содержимое ОЗУ и выключаться, а при старте системы снова загружать и продолжать работу с прерванного мета. Эта возможность, например, для ноутбука совсем не лишняя - закончился заряд батареи и можно совершить hibernation и выключить всё безопасно, а добравшись до розетки - продолжить... Как выбрать объём этой области? Есть разные подходы: для высоконагруженных систем рекомендуют выбирать двойной размер swap от ОЗУ или даже больше, для рабочих станций и ноутбуков достаточно по размеру ОЗУ, как раз для обеспечения режима hibernation. Поэтому в моём случае это 4096Mб, так как моя система имеет 4096Мб ОЗУ. Так, как дисков три, то логично распределить swap на все три диска... 4096 / 3 = 1365.3333..., округляем до 1366 и соответствующее поле заполняем как "1366M". Так же еще говорим, что эту область надо зашифровать "Encrypt Swap? - YES"... в принципе это не обязательно, но... надо всё-таки учесть, что в принципе многие данные могут храниться (и собственно, как иначе ПО работает с данными?) например, пароли, в открытом виде - доступ к ОЗУ, которое занимает какое-либо ПО, для другого ПО недоступно и прочесть пароли например, можно только очень хитрыми хакерскими методами и, как правило, только воспользовавшись ошибками в ОС... При выключении питания данные из ОЗУ исчезнут, а вот область swap, при выключении питания, данные сохранит (это же жёсткий диск - он для этого и предназначен) и если такой диск подключить в другую систему или тайком проникнув в работающую систему, то в принципе можно, исследовав эту область, что-нибудь найти полезное для злоумышленника. Так, что ставьте шифрацию... Хуже не будет, а лучше может... :)
Итак, всё заполнили и изменили как нам нужно переходим на ">>> Install" и получаем предупреждение:
Так, как у нас чистая система, то данных там важных на дисках нет. Поэтому говорим <Yes> и далее пойдёт собственно процесс инсталляции FreeBSD на нашу систему:
Затем в первую очередь нам предложат задать пароль для суперпользователя root:
Вбиваете свой пароль, подтверждаете "Еnter", вводите его ещё раз чтоб исключить его неправильный ввод. Затем появится вопрос о настройке сети с указанием интерфейса в данном случае это сетевая карта em0:
Если сетевых карт (точнее интерфейсов, но в данном случае это не важно) не одна, то будут предложения о настройке других сетевых карт - поступаем аналогично или если их не надо настраивать, то выбираем отрицательный ответ.
Затем вопрос настраивать ли IPv4:
Далее вопрос "Использовать ли DHCP" - если вы используете его в своей сети либо в виртуальной сети, то можете выбрать DHCP - настройка пройдёт автоматически и будет таковой для этого интерфейса и далее, если вы не измените это впоследствии.
Если хотите задать вручную, то будет предложено ввести соответствующие значения необходимых параметров сетевых настроек вашей новой машины: IP Address, Subnet Mask, Default Router:
Далее будет вопрос про IPv6... полагаю он нам не нужен, поэтому говорим <No>.
Далее будет вопрос про настройку DNS. и имя сети. В принципе вводите любое имя сети, к примеру bsdtest, а адрес DNS-сервера можно ввести наш любимый гугл-DNS: 8.8.8.8 или тот, что вы используете в сети или тот, что вам дал ваш провайдер или оба сразу - у меня 192.168.47.2 от провайдера и 8.8.8.8 - от google:
Затем будут вопросы по настройке часового пояса, времени и запуска обязательных сервисов:
(или как говорили ранее daemons, но по причинам религиозным и толерантности, ныне это слово вытеснено словом services, что в принципе сделано верно) и далее для всех вопросов далее можно оставлять значения настроек по умолчанию. Их и другие всегда потом можно включить. В данном случае оставили для загрузки только сервис удалённого доступа sshd - он позволяет удалённо (с другого компьютера) зайти на вашу систему по протоколу ssh. Для Windows есть программа putty, которая позволяет организовать удалённый сеанс, а в unix в shell просто набрать "ssh yourname@IP".
Далее будет запрос на создание обычного пользователя. В принципе, если вы ставите систему на "посмотреть и изучить", то достаточно записи root, тем более, что создать любое количество учётных записей можно будет и после. Тут решайте сами. Но работать от пользователя root в общем не рекомендуется, например случайно выдадите команду (не надо это сейчас делать!) 'rm -fR /*' и всё... вашей системе придёт белый северный пушной зверёк - причём, не будет никакого предупреждения: команды пользователя root выполняются беспрекословно - root не ошибается.
Далее будет вопрос на конфигурирование параметров безопасности:
Если вы не занимаетесь разработкой для FreeBSD, не занимаетесь отладкой ПО, не нужен параноидальный контроль безопасности, то расставьте параметры, как на предыдущей картинке. Кстати, "clear_tmp" нужно активировать, так, как это такой же по принципу подход, как и шифрование области swap - в tmp (temporary - tmp - каталог хранения временных данных, которые могут создаваться при работе программ) тоже может быть много секретного и вообще размер временных данных в этом разделе может быть очень большим - поэтому автоматическое освобождение будет совсем не лишним (да и периодически проверять содержимое этого каталога на предмет лишнего полезно). Кстати, в наше время правильнее этот раздел делать в виде области в памяти а не на диске - просто так быстрее и очистка будет автоматической в RAM ничего не сохраняется после выключения питания.
На завершающем этапе инсталляции будет предложено внести уточнения в настройки, но тут тоже можно ничего не делать и выбрать пункт "Exit" и последует ещё вопрос не хотите ли внести ещё изменения - говорим <No>...
Но, если выбрать <Yes> , то будет окно в котором можно ещё раз пройти этапы конфигурации:
Если ничего менять не нужно, то выбираем "Exit". Но для полной уверенности, что вы ничего не будете менять последует вопрос, не хотите ли всё-таки пройти в shell - командную строку - другого-то интерфейса нет и уже там что-то в ручную настроить? В принципе на этом этапе можно поставить все необходимые программы и настроить всё как надо и получить полностью готовую систему, если вы знаете, что вам нужно установить. Но нам ничего пока не надо потому выбираем <No>:
Будет вопрос на перезагрузку <Reboot> или загрузку <Live CD> - предварительно настроенный для работы образ FreeBSD - он может например помочь при какой-либо аварии и восстановить работоспособность вашей системы.
Если выбрать <Live CD>, то предложат ввести login (можно ввести root) и без пароля вы попадёте в командную строку и тут, если вы знаете, что хотите сделать, то можно что-то сделать :) ...
В принципе установка завершена... Так, что выбираем <Reboot> и инсталлятор сохранит все настройки и последует перезагрузка. Перезагружаемся...
После процесса загрузки, если всё прошло хорошо и не случилось чего-то фатального или выявилась какая-то несовместимость с оборудованием (кстати, вот почему я ещё говорил о работе в виртуальной машине: в виртуально машине проще поддерживать единообразность устройств, а значит и проще получить положительный результат), то последует запрос на авторизацию:
Авторизуемся, как пользователь root - это самый подходящий логин для последующей настройки :), но предупреждаю: root - это суперпользователь - все команды будут выполнены беспрекословно - в том числе и на самоликвидацию системы - возражений и предупреждений не будет.
Далее же приступим к настройке установленной FreeBSD в варианте "Рабочая станция". Сейчас сразу после установки - это чистая FreeBSD, которая может только загружаться и практически больше ничего (хотя вы можете уже начать программировать в shell (csh)! Причём весьма не тривиальные вещи :) - язык shell позволяет очень многое) - из сервисов система имеет только минимально необходимое для этого и настроенную (опять же в самом простом варианте) сетевую подсистему.
Можете ввести какие-нибудь команды...
Вывести описание установленной ОС:
uname -a
Вывести список каталогов корневого раздела:
ls -l /
Список смонтированных файловых систем, с указанием типа файловых систем:
df -hT
Список собственно файловых систем zfs:
zfs list -v
Посмотреть состояние пула zfs:
zpool status -v
Сетевые настройки:
ifconfig
Загруженные модули ядра:
kldstat
или какие-нибудь ещё... если хотите... их много.
В следующей части сделаем из системы Графическую Рабочую Станцию... то есть превратим его в привычный комп с мышкой, кнопками и прочими привычными элементами интерфейса...