Введение
Я рассмотрю 2 варианта установки:
- Обычный, на одиночный жесткий диск. Такая конфигурация подойдет для виртуальной машины, где резервирование обеспечивается на уровне бэкапа всей виртуальной машины, без необходимости резервирования на уровне жесткого диска.
- Второй вариант — установка на программный raid1, который реализован в виде зеркального пула на zfs. Freebsd уже давно дружит с zfs. Я ставил на нее систему, если не ошибаюсь, 8-й версии. В то время приходилось все делать вручную, сейчас же я увидел, что есть возможность установить freebsd на zfs с помощью стандартного установщика в автоматическом режиме. Такая установка подойдет для разворачивания системе на реальном железе.
Принципиальных изменений в установке, по сравнению с предыдущей 10-й версией я не увидел, поэтому не буду подробно разбирать все этапы, как я это делал в статье про установку freebsd 10
Постараюсь более кратко написать, акцентируя внимание только в ключевых местах. Тем не менее, это руководство по установке с нуля подойдет для новичков, или, как говорится, чайников
Все рассказано простым и доступным языком.
2.2.2. Установка FreeBSD
Теперь, когда все приготовления завершены, можно начинать
установку FreeBSD!
Несмотря на то, что Вы не должны столкнуться с какими-либо
неприятностями, случается всякое. В таких ситуациях бывает полезно
вернуться на несколько шагов назад и внимательно проанализировать
Ваши действия (возможно, заглядывая в данное руководство). Если у
Вас проблемы с оборудованием, или FreeBSD вообще отказываться
загружаться, обратитесь к документации на загрузочной
дискете.
Инсталляционные дискеты FreeBSD содержат всю необходимую
документацию, которая может понадобиться Вам в процессе установки.
Если Вам кажется, что чего-то не хватает, дайте нам знать, что и
каким образом надо улучшать. Посылайте свои замечания и пожелания
на Список рассылки Проекта Документации FreeBSD
<[email protected]>. Мы стремимся сделать инсталлятор (программу
/stand/sysinstall) достаточно документированным, чтобы отпала
необходимость в какой-либо дополнительной «литературе»
Возможно, нам потребуется некоторое время, чтобы осуществить
задуманное, но в любом случае, мы не собираемся отказываться от этой
цели
Возможно, Вам поможет следующая «типичная последовательность
установки»:
Загрузитесь с kern.flp дискеты и, когда
увидите приглашение вставить дискету
mfsroot.flp, вставьте вторую дискету и
нажмите «ввод». По истечении некоторого промежутка
времени (от 30 секунд до 3-х минут, в зависимости от Вашей
конфигурации) Вы увидите меню с основными опциями. Если у Вас
по какой-либо причине не получилось загрузиться, обратитесь к
секции «Вопросы и ответы».
Нажмите клавишу F1. Вы увидите инструкцию с описанием
основных средств навигации и системы меню вообще. Если Вам
раньше не приходилось устанавливать FreeBSD,
пожалуйста, внимательно прочитайте
инструкцию.
В меню Опции (Options) можно изменить некоторые
специфические настройки в соответствии с Вашими
предпочтениями.
Выберите Простой (Novice), Специальный (Custom) или Быстрый
(Express) тип установки, в зависимости от того, хотите ли Вы
получать подсказки по ходу инсталляции, иметь полный контроль
над происходящим, или как можно скорее получить работоспособную
систему
Если Вы впервые имеете дело с FreeBSD, мы рекомендуем
Вам первый вариант.
В заключении, Вам будет предоставлена возможность
сконфигурировать только что установленную систему посредством
меню, обеспечивающих доступ к различным параметрам FreeBSD.
Обратите особое внимание на сетевые настройки, так как если Вы
инсталлировали FreeBSD с компакт-дисков, дискет или магнитной
ленты, Вам скорее всего не понадобилось настраивать сеть на
этапе инсталляции. Лучше сделать это сейчас, тогда уже после первой
загрузки FreeBSD c Вашего жесткого диска Вы получите
полноценный доступ к сети.
Как обновить JLS для FreeBSD с 12 до 13?
Мы тоже можем модернизировать Jail. Концепция та же, но вам нужно указать текущую версию следующим образом. Получить имя Jail и базовый каталог:
# jls
Запустим обновление:
# freebsd-update -b /jails/dnscrypt/ --currently-running 12.2-RELEASE -r 13.0-RELEASE upgrade
Работать в системе, смонтированной в jail на основе /jails/dnscrypt/Нам нужно сообщить об этом freebsd-update при использовании команды upgrade или fetch для обновлений Jail. Не обнаруживать текущий выпуск. Требуется только при обновлении.Укажите новую версию, до которой следует обновить:
-b /jails/dnscrypt/ --currently-running 12.2-RELEASE -r 13.0-RELEASE upgrade
Затем запуск последующих команд обновления и установки jails может быть выполнен обычным образом с помощью -b:
Установка обновления jail
# freebsd-update -b /jails/dnscrypt/ install
Перегрузка или рестарт jail
# /etc/rc.d/jail restart # freebsd-update -b /jails/dnscrypt/ install # jls
Запишите идентификатор jail и получите доступ в оболочку
# jexec 2 sh
Обновите весь пакет внутри jail
# pkg-static install -f pkg # pkg bootstrap -f # pkg update # pkg upgrade
Выход из jail
# exit
Настройка ntp для синхронизации времени
Минимально необходимый инструментарий для настройки мы получили, продолжаем работу. Чтобы время на сервере всегда было актуальным, его надо регулярно синхронизировать. Можно пойти двумя путями. Либо запускать через определенные промежутки времени утилиту ntpdate с ключами, либо настроить и запустить службу ntpd, которая будет постоянно работать и синхронизировать время. Более правильный вариант, использовать службу, но он чуть сложнее в настройке. Чтобы синхронизировать время через ntpdate, достаточно просто ввести команду:
# ntpdate -b europe.pool.ntp.org
и время будет синхронизировано. Можно запускать эту команду через cron с определенной периодичностью. Если у вас уже запущена служба ntpd, то ntpdate не сработает, выдаст ошибку:
the NTP socket is in use, exiting
Настроим в таком случае ntpd. Если она у вас уже запущена, то в файле /etc/rc.conf уже есть строчка
ntpd_enable="YES"
если ее нет, добавьте.
Дальше отредактируем файл /etc/ntp.conf В качестве серверов синхронизации укажем:
server 0.pool.ntp.org server 1.pool.ntp.org server 2.pool.ntp.org server 3.pool.ntp.org
и добавим две строчки в конец:
driftfile /var/db/ntpd.drift logfile /var/log/ntpd.log
Сохраняем, перезапускаем ntpd командой:
# killall ntpd && ntpd
Теперь наш сервер будет автоматически синхронизировать свое время.
Стандартная установка
Начнем с нуля установку Freebsd 11 на одиночный жесткий диск. Вставляем iso образ в автозагрузку и загружаемся с диска. Нас встречает традиционное окно приветствия с тремя вариантами продолжения:
- Install — начать установку системы.
- Shell — перейти в консоль.
- Live CD — загрузиться в режиме Live CD.
Выбираем установку. На следующем этапе будет предложено выбрать раскладку. Чаще всего достаточно стандартной, так что ничего не меняем, а идем дальше со стандартной раскладкой.
Дальше нужно будет указать имя новой freebsd системы. Назвать можете как угодно, это не принципиально. В случае необходимости, это имя можно будет сменить после установки.
Теперь выбираем компоненты, которые будут установлены. Я обычно ничего не ставлю, кроме lib32. Все, что нужно, можно потом установить последней версии из интернета.
На следующем этапе выбираем разбивку жесткого диска. Можно вручную указать все необходимые разделы, выбрать размер и т.д. Я обычно этого не делаю и все устанавливаю на одном корневом разделе. Давно уже так поступаю на всех системах и не вижу в этом никаких проблем. Наиболее частая рекомендация — вынести в отдельный раздел все логи, чтобы случайно заполнив все свободное место они не повесили сервер. На практике у меня такого ни разу не было, поэтому считаю лишним каждый раз возиться с разделами ради очень условного удобства. Правда есть нюанс — у меня на всех серверах всегда настроен мониторинг свободного места на жестком диске. Так что я успеваю оперативно среагировать на проблемы со свободным местом. Ну и слежу за ротацией логов само собой, не оставляю их расти до больших размеров.
Так что выбираем первый пункт — Auto (UFS). Установку freebsd 11 на zfs мы рассмотрим позже.
Дальше у вас спросят, хотите ли вы занять все свободное место жесткого диска под систему. Если это так, а обычно это так, то соглашайтесь. На следующем этапе указываем таблицу разделов. Я выбираю GPT:
Проверяйте предложенную схему разбивки диска. Если все устраивает, то жмите Finish и согласитесь с применением изменений, начнется установка базовой системы.
Длится она буквально несколько минут. Чистая система ставится очень быстро. По ходу дела будет предложено указать пароль для root. Сделайте это. Далее нужно будет выбрать сетевой интерфейс для настройки.
Если у вас их несколько, то выберите тот, который вы хотите настроить для доступа к сети. После выбора интерфейса нужно будет согласиться с настройкой ip адреса на нем. Дальше я выбираю получить настройки по DHCP. Так проще всего. Если вам нужно вручную указать ip адрес, то откажитесь от dhcp и введите сетевые параметры вручную.
После этого нужно будет указать адрес dns сервера, предварительно отказавшись от ipv6. Если вы получили настройки по dhcp, то адрес уже будет заполнен, нужно будет только подтвердить его. Если настройки вручную указывали, введи сами dns сервер.
Теперь выбираем часовой пояс, дату и время. Ничего сложного нет, скриншоты приводить не буду. Если дата и время указаны верно, то просто выбирайте Skip, если есть расхождения, вручную укажите правильные. Это, кстати, нововведение в 11-й версии. Раньше такого календаря и часов не было.
Установка движется к завершению. Нужно указать, какие службы вы хотите запускать автоматически при загрузке системы. Обязательно укажите sshd, чтобы подключаться к серверу удаленно, еще ntpd не помешает. Остальное на ваше усмотрение, я больше ничего не указываю. dumped стоит по-умолчанию, пусть останется.
На следующем этапе нам предлагается выбрать некоторые параметры безопасности. Я не знаком подробно с этой темой, не разбирался, но по названиям вижу, что вещи весьма полезные. Можно и включить. Тут на ваше усмотрение. Хуже не будет, но и чего-то особенно тоже не ждите. Все эти настройки можно и позже сделать.
На заключительном этапе вам будет предложено добавить пользователей в систему. Если вы этого не сделаете, то не сможете подключиться по ssh к серверу. По-умолчанию в freebsd пользователю root запрещено подключаться по ssh. Это можно исправить только зайдя локально рутом и отредактировав настройки ssh. Так что создайте хотя бы одного пользователя и добавьте его в группу wheel, чтобы можно было подключиться по ssh и сделать su для получения root доступа.
Дальше выбирайте Exit, перезагружайте систему и вынимайте загрузочный диск.
Вы должны загрузиться в свежеустановленной системе Freebsd 11. На этом базовая установка закончена.
3) ZFS (Zettabyte File System)
Открываем файл
ee /etc/resolv.conf
1 | eeetcresolv.conf |
И добавляем
zfs_enable=»YES»
1 | zfs_enable=»YES» |
Перезапускаем систему и приступаем к настройке пула.
У меня есть 2 диска для хранилища (da1, da2)
Для начала диски нужно выровнять если они с сектором 4k, для этого удаляем разметку с них
gpart destroy -F da1
1 | gpart destroy-Fda1 |
gpart destroy -F da2
1 | gpart destroy-Fda2 |
Теперь создаем GPT раздел.
gpart create -s gpt da1
1 | gpart create-sgpt da1 |
gpart create -s gpt da2
1 | gpart create-sgpt da2 |
Создаем раздел со смещением и задаем метку дисков disk0, disk1. Для меток дисков рекомендую использовать их серийные номера. Для того чтобы узнать серийный номер диска выполните
diskinfo -v /dev/da1 | grep ident
1 | diskinfo-vdevda1|grep ident |
891DLUDCS # Disk ident.
1 | 891DLUDCS# Disk ident. |
Получившийся номер можно использовать как идентификатор диска, но для примера я использую disk0, disk1
gpart add -t freebsd-zfs -l disk0 -b 8192 -a 4k da1
1 | gpart add-tfreebsd-zfs-ldisk0-b8192-a4kda1 |
gpart add -t freebsd-zfs -l disk1 -b 8192 -a 4k da2
1 | gpart add-tfreebsd-zfs-ldisk1-b8192-a4kda2 |
По итогу у нас получилось два раздела GPT (da1p1, da2p1) с метками disk0, disk1 и с отрезанными 4 мегабайтами в начале диска (это пригодится для замены диска)
Поэтому создаем пул с названием storage и на GPT метках
Для аналога RAID1
zpool create pool mirror /dev/gpt/disk0 /dev/gpt/disk1
1 | zpool create pool mirrordevgptdisk0devgptdisk1 |
Для аналога RAID5
zpool create pool raidz1 /dev/gpt/disk0 /dev/gpt/disk1 /dev/gpt/disk2
1 | zpool create pool raidz1devgptdisk0devgptdisk1devgptdisk2 |
Для аналога RAID6
zpool create pool raidz2 /dev/gpt/disk0 /dev/gpt/disk1 /dev/gpt/disk2 /dev/gpt/disk3
1 | zpool create pool raidz2devgptdisk0devgptdisk1devgptdisk2devgptdisk3 |
Теперь создаем файловую систему stor с сжатием
zfs create -o compression=gzip pool/stor
1 | zfs create-ocompression=gzip poolstor |
и задаем точку монтирования
zfs set mountpoint=/mnt/storage pool/stor
1 | zfs set mountpoint=mntstorage poolstor |
3) Русификация консоли и терминала
Начнем с консоли:
Проверяем локали в системе
locale -a | grep ruru_RU.CP1251
ru_RU.CP866
ru_RU.ISO8859-5
ru_RU.KOI8-R
ru_RU.UTF-8
1 2 3 4 5 |
locale-a|grep ruru_RU.CP1251 ru_RU.CP866 ru_RU.ISO8859-5 ru_RU.KOI8-R ru_RU.UTF-8 |
Использовать будем ru_RU.UTF-8
Смотрим доступные keymaps
ls -Al /usr/share/vt/keymaps/ | grep ru
-r—r—r— 1 root wheel 16228 20 янв. 11:41 ru.kbd
-r—r—r— 1 root wheel 16234 20 янв. 11:41 ru.shift.kbd
-r—r—r— 1 root wheel 16232 20 янв. 11:41 ru.win.kbd
1 2 3 4 |
ls-Alusrsharevtkeymaps|grep ru -r—r—r—1root wheel1622820янв.1141ru.kbd -r—r—r—1root wheel1623420янв.1141ru.shift.kbd -r—r—r—1root wheel1623220янв.1141ru.win.kbd |
- keymap=“ru” — переключение на русский клавишей CAPS Lock;
- keymap=“ru.shift” — переключение на русский клавишей CAPS Lock, но верхний ряд на клавиатуре by default будет цифровой;
- keymap=“ru.win” — переключение на русский клавишами CTRL+SHIFT.
Выбираем понравившийся для указания в /etc/rc.conf
Выбираем шрифт, посмотреть доступные можно командой
ls -Al /usr/share/vt/fonts/
total 176
-r—r—r— 1 root wheel 8452 7 дек. 2018 gallant.fnt
-r—r—r— 1 root wheel 1845 20 янв. 11:41 INDEX.fonts
-r—r—r— 1 root wheel 76248 7 дек. 2018 terminus-b32.fnt
-r—r—r— 1 root wheel 1318 7 дек. 2018 tom-thumb.fnt
-r—r—r— 1 root wheel 36408 7 дек. 2018 vgarom-16×32.fnt
-r—r—r— 1 root wheel 8742 7 дек. 2018 vgarom-8×14.fnt
-r—r—r— 1 root wheel 9864 7 дек. 2018 vgarom-8×16.fnt
-r—r—r— 1 root wheel 5384 7 дек. 2018 vgarom-8×8.fnt
-r—r—r— 1 root wheel 5400 7 дек. 2018 vgarom-thin-8×16.fnt
-r—r—r— 1 root wheel 2704 7 дек. 2018 vgarom-thin-8×8.fnt
1 2 3 4 5 6 7 8 9 10 11 12 |
ls-Alusrsharevtfonts total176 -r—r—r—1root wheel84527дек.2018gallant.fnt -r—r—r—1root wheel184520янв.1141INDEX.fonts -r—r—r—1root wheel762487дек.2018terminus-b32.fnt -r—r—r—1root wheel13187дек.2018tom-thumb.fnt -r—r—r—1root wheel364087дек.2018vgarom-16×32.fnt -r—r—r—1root wheel87427дек.2018vgarom-8×14.fnt -r—r—r—1root wheel98647дек.2018vgarom-8×16.fnt -r—r—r—1root wheel53847дек.2018vgarom-8×8.fnt -r—r—r—1root wheel54007дек.2018vgarom-thin-8×16.fnt -r—r—r—1root wheel27047дек.2018vgarom-thin-8×8.fnt |
Из них:
- vgarom-8×8.fnt — матрица 8×8 с поддержкой русских символов;
- vgarom-8×14.fnt — матрица 8×14 с поддержкой русских символов;
- vgarom-8×16.fnt — матрица 8×16 с поддержкой русских символов (используется по умолчанию);
- vgarom-16×32.fnt — матрица 16×32 с поддержкой русских символов (для wide мониторов).
Итак в файле /etc/rc.conf должно получится нечто следующее
ee /etc/rc.conf
1 | eeetcrc.conf |
keymap=»ru.win»
font8x16=»vgarom-8×16″ #можно не указывать
1 2 |
keymap=»ru.win» font8x16=»vgarom-8×16″#можно не указывать |
Для терминала:
Будем использовать login class, открываем файл
ee /etc/login.conf
1 | eeetclogin.conf |
и приводим класс к следующему виду
russian|Russian Users Accounts:\
:charset=utf-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
1 2 3 4 |
russian|Russian Users Accounts\ charset=UTF-8\ lang=ru_RU.UTF-8\ tc=default |
после этого нужно синхронизировать базу
cap_mkdb /etc/login.conf
1 | cap_mkdbetclogin.conf |
Для существующего пользователя меняем класс.
pw user mod <strong>user_name</strong> -L russian
1 | pw user mod<strong>user_name<strong>-Lrussian |
Где user_name имя пользователя
Так-же добавляем строчку чтобы консоль загрузилась в графическом режиме если кириллица все еще не отображается нормально
ee /boot/loader.conf
1 | eebootloader.conf |
hw.vga.textmode=0
1 | hw.vga.textmode= |
И перезапуск
После настройки SSH, можно подключиться удобным терминалом и настраивать сервер более приятным способом.
Настройка SSH сервера
Перво наперво нужно настроить sshd для удаленного подключения. Если сейчас попробовать подключиться к серверу, то ничего не выйдет. Мы увидим окно приветствия, но залогиниться не получится. Это из-за того, что в системе у нас нет ни одного пользователя, кроме root. А этому пользователю по-умолчанию запрещено подключаться через ssh. Соответственно, у нас два пути, либо разрешить подключаться руту, либо добавить других пользователей. Сделаем и то, и другое. Сначала разрешаем пользователю root подключаться по ssh. Для этого редактируем файл /etc/ssh/sshd_config. Пока у нас голая система, воспользуемся для этого редактором ee. Открываем файл на редактирование:
# ee /etc/ssh/sshd_config
Находим строчку PermitRootLogin, раскомментируем ее и ставим напротив yes. По-умолчанию там стоит no.
Здесь же я рекомендую изменить стандартный порт ssh 22 на что-то более экзотическое. Делается это для того, чтобы роботы, которые постоянно сканируют интернет и пытаются залогиниться на серваки, остались не у дел. На 22 порт постоянно кто-то ломится с несуществующими учетками и подбирает пароли. Все это отражается в логах и может мешать. Сменив порт на нестандартный, мы частично избавляемся от этой проблемы. Ищем строчку со словом Port и меняем значение с 22, например, на 11222.
Сохраняем изменения и выходим из редактора. Теперь нам необходимо перезапустить sshd для принятия изменений. Делаем это командой:
# service sshd restart
Демон sshd перезапустится. Можно пробовать подключаться по ssh, должно получиться зайти под root.
Многие считают небезопасным подключаться удаленно под учетной записью рута. Это вопрос неоднозначный, все зависит от конкретной ситуации. Добавим одного пользователя для удаленного подключения. Воспользуемся командой:
# adduser
Заполняем необходимые данные пользователя. Обязательно в качестве добавочной группы укажите wheel. Если пользователя не добавить в эту группу, то он не сможет зайти потом рутом. После добавления пользователя, подключаемся им по ssh. После логина используем команду:
# su -l
Вводим пароль рута и оказываемся в учетной записи root.
Как подключаться и работать решайте для себя сами.
Дополнительные материалы по Freebsd
Онлайн курс Infrastructure as a code
Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.
Что даст вам этот курс:
- Познакомитесь с Terraform.
- Изучите систему управления конфигурацией Ansible.
- Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
- Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
- В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins
Смотрите подробнее программу по .
Рекомендую полезные материалы по Freebsd: |
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик. Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности. Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления. Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop. Подробная настройка на Freebsd прокси сервера squid + sams2 — панели управления для удобного администрирования. Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache. Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента. |
Обновление портов
Основные настройки сделали. Теперь подготовим нашу систему к установке софта. обновим дерево портов с помощью утилиты portsnap. При первом запуске используем команду:
# portsnap fetch extract
Утилита скачает и распакует порты в папку /usr/ports. Последующее обновление будет производиться командой:
# portsnap fetch update
Добавим ее в cron для регулярного обновления портов раз в сутки. Для этого идем в /var/cron/tabs и создаем там файл root.
# touch /var/cron/tabs/root
Файл должен быть следующего содержания:
SHELL=/bin/sh PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin 0 3 * * * portsnap cron
Обращаю внимание, что команда в планировщике записана не так, как мы запускали из консоли. Это сделано специально, чтобы не грузить сервера обновлений по крону в одно и то же время
Для обновления через планировщик используется специальная команда porsnap cron, которая делает небольшой случайный разброс по времени для обновления, чтобы все клиенты обновлялись в разное время, а не строго по часам.
На этом наша настройка системы закончена, переходим к следующей части, в которой займемся настройкой непосредственно компонентов web-сервера.
Установка FreeBSD 13.0
2. После загрузки образа установщика FreeBSD запишите его на носитель (CD/DVD или USB) и загрузите систему со вставленным носителем. После загрузки системы с установочным носителем появится следующее меню.
Меню загрузки FreeBSD
3. По умолчанию меню будет ждать ввода данных пользователя в течение 10 секунд, прежде чем загрузиться установщик FreeBSD. Или мы можем нажать клавишу «Backspace«, чтобы продолжить установку, а затем нажать клавишу «Enter«, чтобы загрузиться в FreeBSD. После завершения загрузки появится приветственное меню со следующими опциями.
Выберите Пункт Установка FreeBSD
Нажмите Enter, чтобы выбрать опцию по умолчанию «Установить«. Или вы можете выбрать «Shell» для доступа к программам командной строки для подготовки дисков перед установкой. Так же можно выбрать опцию «Live CD«, чтобы попробовать FreeBSD перед ее установкой. Но здесь мы будем использовать опцию по умолчанию «Установить«, так как мы устанавливаем FreeBSD.
4. Далее отображается список ключевых раскладок, просто выберите опцию по умолчанию, чтобы продолжить.
Выбор раскладки клавиш FreeBSD
5. Далее укажите имя хоста для системы, я использовал freebsd.tecmintlocal.com как мое имя хоста.
Установить имя хоста
6. Выберите компоненты для установки для FreeBSD, по умолчанию каждый параметр предварительно выбран.
Выберите компоненты для установки на FreeBSD
7. На этом шаге нам нужно разбить диск на разделы для нашей установки. Здесь у вас будет четыре варианта:
- Auto (ZFS) – Эта опция автоматически создает зашифрованную корневую систему на ZFS с использованием файловой системы ZFS с поддержкой загрузочных сред.
- Auto (UFS) – Этот параметр автоматически создает разделы диска с использованием файловой системы ZFS.
- Вручную – Этот параметр позволяет продвинутым пользователям создавать настраиваемые разделы из параметров меню.
- Shell – Эта опция позволяет пользователям создавать настраиваемые разделы с помощью инструментов командной строки, таких как fdisk, gpart и т. Д.
Выберем опцию «Вручную» для создания разделов в соответствии с нашими потребностями.
Ручное разделение дисков FreeBSD
8. После выбора «Ручное секционирование‘ откроется редактор разделов с выделенным диском»ad0» и выберите Создать для создания допустимой схемы секционирования.
Выберите Раздел диска FreeBSD
9. Затем выберите GPT, чтобы создать таблицу разделов. GPT обычно является наиболее предпочтительным методом для компьютеров amd64. Старые компьютеры, которые не совместимы с GPT, должны использовать MBR.
Выберите раздел GPT
Созданный раздел GPT
2) Настройка сети
Если во время установки сеть не настроилась то лучше сделать это сейчас и перейти уже к настройке по SSH.
ifconfig
1 | ifconfig |
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
groups: lo
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
hn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8051b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4,LRO,LINKSTATE>
ether 00:15:5d:00:65:25
inet 192.168.0.151 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (10Gbase-T <full-duplex>)
status: active
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
lo0flags=8049<UP,LOOPBACK,RUNNING,MULTICAST>metricmtu16384 options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6> inet6::1prefixlen128 inet6 fe80::1%lo0 prefixlen64scopeid0x1 inet127.0.0.1netmask0xff000000 groupslo nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> hn0flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST>metricmtu1500 options=8051b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4,LRO,LINKSTATE> ether00155d006525 inet192.168.0.151netmask0xffffff00broadcast192.168.0.255 mediaEthernet autoselect(10Gbase-T<full-duplex>) statusactive nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> |
У меня определилась сетевая карта hn0 и с настроенным адресом. Но в случае отсутствия адреса приступаем к настройке.
ee /etc/rc.conf
1 | eeetcrc.conf |
И добавляем в файл следующие строки, не забываем что сетевая карта hn0
ifconfig_hn0=»inet 192.168.1.30 netmask 255.255.255.0″
defaultrouter=»192.168.1.1″
1 2 |
ifconfig_hn0=»inet 192.168.1.30 netmask 255.255.255.0″ defaultrouter=»192.168.1.1″ |
Настраиваем DNS
ee /etc/resolv.conf
1 | eeetcresolv.conf |
nameserver 192.168.1.1
1 | nameserver192.168.1.1 |
После внесения изменений нужно перезапустить сервак (так офф документация советует).
Защита SSH от подбора пароля
Чтение лог-файлов, для любого вменяемого системного администратора, является довольно повседневным занятием, делать это можно по разному, речь сейчас пойдет не об этом. Вряд-ли найдется человек, занимающийся удаленным администрированием и ни разу не сталкивавшийся с логом авторизации в системе, буквально заваленным тысячами сообщений о неудачных попыток входа в систему по протоколу SSH.
Напомню, что SSH является стандартом для подключения и администрирования удаленных систем, кстати, не только в мире UNIX, и входит в стандартный набор установленных пакетов, многих UNIX дистрибутивов, FreeBSD в частности.
Выпущена FreeBSD 13 — Что нового?
OpenZFS теперь предоставляет реализацию ZFS в FreeBSD 13. Другими словами, вы получите одну и ту же версию ZFS в Linux и FreeBSD.Клиент и сервер NFS теперь поддерживают NFSv4.2 с расширенными атрибутами.
Кроме того, клиент и сервер NFS теперь поддерживают NFS через TLS из соображений безопасности и конфиденциальности.
FreeBSD 13 удалила несколько сетевых драйверов для устаревших адаптеров Ethernet, таких как Crystal Semiconductor CS8900 / CS8920 и других.Добавили драйвер qat, поддерживающий некоторые функции криптографического ускорения устройства Intel QuickAssist (QAT).
Дополнительные изменения загрузчика для системного раздела EFI.FreeBSD 13 имеет переписанный стек маршрутизации. Он основан на введении следующих переходов — объектов, содержащих все необходимые состояния для передачи пакета в желаемое место назначения.Поддержка многопутевой маршрутизации была переписана в более масштабируемой форме.
64-битная архитектура ARM, известная как arm64 или AArch64, повышена до уровня Tier-1 для FreeBSD 13.Утилита bhyve (8) надежно работает с большим количеством клиентов VNC, включая приложение MacOS «Совместное использование экрана».
7.2. Процесс загрузки
В первом секторе вашего диска (цилиндр 0, головка 0, сектор 1) находится
Master Boot Record (MBR). Там находится карта вашего диска. Она идентифицирует
до четырех разделов, каждый из которых представляет собой цельный кусок
диска. FreeBSD называет разделы (partition) slices, чтобы не путать их со
своими собственными разделами, но мы здесь не будем этого делать. Каждый
раздел может содержать свою собственную операционную систему.
Каждая запись раздела в MBR имеет идентификатор раздела Partition ID,
Начальный цилиндр/Головку/Сектор (Start Cylinder/Head/Sector) и Конечный
цилиндр/головку/сектор (End Cylinder/Head/Sector). Идентификатор раздела
содержит информацию о типе этого раздела (о том, какая там операционная
система), Start/End говорит о том где он находится.
Список может содержать нижеследующие
Partition IDs.
Таблица 1:
Partition IDs
ID (hex) | Description |
---|---|
01 | Primary DOS12 (12-bit FAT) |
04 | Primary DOS16 (16-bit FAT) |
05 | Extended DOS |
06 | Primary big DOS (> 32MB) |
0A | OS/2 |
83 | Linux (EXT2FS) |
A5 | FreeBSD, NetBSD, 386BSD (UFS) |
Заметим, что не все разделы загрузочные(например, Extended DOS). Загрузочным
раздел делает конфигурация загрузочного сектора раздела Partition Boot
Sector, который находится в начале каждого раздела.
Когда вы конфигурируете свой любимый менеджер загрузки, он просматривает
записи в таблице разделов MBR всех ваших жестких дисков и разрешает вам
давать имена записям в этом списке. Далее, когда вы загружаете систему,
менеджер загрузки вызывается специальным кодом в Master Boot Record первого
пробного жесткого диска. Он смотрит в таблице запись, соответствующую вашему
выбору раздела, использует информацию о начальных цилиндре, головке и секторе
для этого раздела, загружает загрузочный сектор раздела (Partition Boot
Sector) и передает ему управление. Загрузочный сектор раздела содержит
достаточно информации для начала загрузки операционной системы, соответствующей
этому разделу.
Есть еще одна очень важная деталь. На всех ваших жестких
дисках есть MBR. Однако важна только находящаяся на диске, который BIOS
пробует первым. Если у вас есть только IDE диски, то это первый IDE диск(например,
primary диск на первом контроллере). То же самое для SCSI. Если у вас и
IDE, и SCSI диски, то IDE диск BIOS обычно пробует первым. Менеджер загрузки,
который вы инсталлируете, будет записан в MBR, первого жесткого диска.