Решил осветить установку FreeBSD 10. Чисто для себя. все типичные действия. На будущее. Никто не застрахован от забывчивости. =)
Статья ориентированна, в основном, на новичков.
Есть некоторые пометки (курсивом), дискуссия о которых может положительно сказаться на карме =)
Берём операционку отсюда.
От себя добавлю следующее:
- Не гонитесь за свежей осью. Качайте её только для ознакомления. В качестве боевого сервера использовать крайне опасно!
- Тщательно выбирайте архитектуру. Самый лучший выбор, на мой взгляд, amd64, так как оперативы можно нарастить, а сменить архитектуру не получится.
- Чтобы записать установочник на флэш носитель пользуйтесь memstick дистрибутивами.
Итак, скачали. Записали. Окей.
Грузимся с носителя.
Я приведу пример установки по сети. То есть у меня дистрибутив bootonly.

Обычный загрузчик FreeBSD.
Через 10 секунд установщик загрузится в штатном режиме (по умолчанию, пункт 1). Если нет желания ждать, сразу жмакайте 1.
Ждём загрузки. Будут бежать разные надписи. Для новичков они не играют важной роли, а для гуру они могут нести определённый смысл (установленное оборудование, и т.п.)

<Install>
Отсюда начнётся установка операционки. Нам ведь оно и надо???

Выбор языка. Обычно, я оставляю всё по умолчанию:
>>> Continue with default keymap

Сюда нужно написать имя компьютера (сервера) в сети. Исключительно английский язык.
Прошу! Прекратите давать имена на кириллице! Также лично я в организации не рекомендую давать имена по имени пользователя (Смена пользователя = смена имени компа? Действительно? Нет? Тогда, может, есть смысл дать другое имя?). Можно давать имена по другим идентификаторам:
- Физическое расположение. Например: 250-009 (250 кабинет 9 по индексу)
- По инвентарному номеру
- По закупке. Например: Roga-2145-100620 (Поставщик: "Рога и копыта" Счёт №1556 от 20 июля 2010 года)
или вариации из них.

Что ставить? Я предпочитаю самостоятельность. То есть я из этого списка не ставлю ничего. Снимаю все галочки (стрелки - перемещение, пробел - выбор).

Предупреждение, что носитель не несёт в себе файлов установки, и собирается выкачать все прелести по сети. А для этого ему необходимо оную сеть настроить. Ну лады =)

Выбор сетевого интерфейса. У меня он один (установку веду на виртуалке). Как у вас будет - не в курсе.


Настраиваем по DHCP? Что? У вас нет DHCP сервера?? Тогда нужно настроить вручную (приводить пример не буду, так как проблем, обычно, не возникает). Вообще, очень странно, что на предприятии нет DHCP сервера :[

То же самое, но для ip v6. Не практику. Спасибо.

Настройки DNS. Если у вас правильно настроен DHCP, то поле IPv4 DNS будет автоматом заполнено (стёр, чтобы не палить сеть =))

Откуда брать? Я всегда качаю с официального сайта - ftp.freebsd.org. Не люблю чужие зеркала.

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

Что использовать? Весь диск или слайс (партицию)? Я выбираю тебя, диск. Ставлю всегда на самостоятельную систему без мультибута и прочей фигни. Всё начистую Всё под чистую. Исходите из ситуации.

После подтверждения выскочит предупреждение о полной потере данных.

Вот стандартная разметка FreeBSD:
- ada0 ... GPT - означает, что на первом диске (ada0) будет создана структура GPT
- ada0p1 512 KB freebsd-boot - на первой партиции первого диска (ada0p1) будет загрузчик
- ada0p2 ... freebsd-ufs / - на второй партиции первого диска (ada0p2) будет лежать всё
- ada0p3 ... freebsd-swap none - на третьей партиции первого диска (ada0p3) будет файл подкачки
От себя могу сказать по разметке следующее:
- Вы должны отчётливо себе представлять обязанности сервера. Исходя из задач, строить архитектуру диска
- Каталоги /home /var желательно выносить на отдельные партиции
- На производственных серверах всегда используйте RAID массивы. Пусть и программные.


Последнее китайское предупреждение.

Далее идёт разметка диска и качается ядро системы.

Ввод пароля root. Забывать крайне противопоказано!
Замечания по паролям:
- Никогда не используйте личные пароли для администраторских учётных записей. При увольнении их придётся сообщить или заменить.
- Всегда имейте актуальную версию паролей ко всем ключевым серверам на бумажном носителе. У начальства. В сейфе. Под колпаком. С круглосуточной охраной. Никто не застрахован от несчастий и амнезии, о чём свидетельствуют сериалы.
- В паролях минимизируйте появление похожих символов (0 и O; 1, I, l и |; z и 2). На бумаге не всегда явно, какой именно символ используется
- Никогда не используйте кириллицу в паролях
Оптимальнее всего иметь некий регламент паролей. Вот варианты (на примере фразы qwerty asd)
- Отметка времени. Например 05qwerty02asd12 - пароль от 5 мая 2012;
- Разного рода "перемешка". Задом наперёд, по индексу символа и т.п. Например: qawsedrty
- Добавление заглавных букв. Например, каждая третья: qwErtYasD
- Добавление "соли" (соль не должна никогда не меняться). Через слово, через букву. Добавление всей соли или её части Всё зависит от воображения: qwzxcerzxctyzxcaszxcdzxc - соль "zxc" через 2 символа; qwertyzasdxc - добавление соли zxc после каждого слова
- За основу брать фразу на русском, печатать глядя на русские буквы в английской раскладке. Например, для "йцукен фыв" результат будет "qwerty asd"
Также неплохо смотрится комплекс этих мер.

Система спрашивает: у вас часы выставлены по UTC? Если вы не знаете, жмякните No.

Выбор часового пояса. За несколько шагов. Ничего сложного. (Россия находися в меню Asia)

Что будет работать?
- local_unboud - как я понял, сетевые имена будут браться из локального кэша. Лично мне это не нужно.
- sshd - Сервис SSH. Must Have. Лично для меня это необходимо.
- moused - Отображает курсор мышки в консоли. Сомнительное удовольствие. Включать на свой вкус.
- ntpd - Сервис синхронизации системного времени. Желательно иметь.
- powerd - Динамическое изменение частоты процессора (если процессор умеет). По ситуации.
- dumpdev - сохранять дамп ядра при выхода из строя. Пожалуй, лучше включу.

Добавлять ли нового пользователя? Конечно да!

- name - Имя пользователя. Логин.
- Full name - Полное имя или описание пользователя.
- uid - Идентификатор пользователя. Если хотите задать какой-то определённый, то это ваша цель. Если нет - оставьте пустым.
- Login group - группа пользователя. Если вы не уверены в своих действиях, то оставьте пустым.
- Login group is username. Invite into other groups? - добавить пользователя в другие группы? Себя я по умолчанию в группу wheel. Просто НАДО!
- Login class - класс пользователя. Если вы не уверены в своих действиях, то оставьте пустым.
- Shell - Командная оболочка. Лично мне нравится tcsh. Nologin значит, что пользователь не сможет логиниться в систему. Если вы не уверены в своих действиях, то оставьте пустым.
- Home directory - домашний каталог. Если вы не уверены в своих действиях, то оставьте пустым.
- Home directory permissions - Разрешения на домашний каталог. Если вы не уверены в своих действиях, то оставьте пустым.
- Use password-based authentication? - Защитить учётку паролем? Я желаю =) Yes
- Use an empty password? - Использовать пустой пароль? Неа
- Use a random password? - Сгенерировать случайный пароль? Неа
- Enter password - Введите пароль
- Enter password again - повторите пароль
- Lock out the account after creation? - заблокировать учётку? Неа. Зачем тогда я её создавал?
- Ok? - Угумс (на этом моменте скрин). Напечатать "yes" или просто "y"
- Add another user? - Добавить ещё кого-то? Увольте, не надо. Напечатайте "no" или просто "n"

Здесь можно внести финальные корректировки в установку. По мне, так я молодец, и всё вделал правильно. Exit

Внести ручные корректировки? Вообще-то да. Yes.
Попадаем в консоль. Во первых, я хочу уменьшить время автоматической загрузки. Lader из начала установки помним? 10 секунд знакомы? В действительности, чем раньше стартанёт сервер, тем лучше (IMHO). Лично мне, хватает и 2-х секунд для сброса таймера (нажать кнопку "вниз", например). Поэтому поправлю конфигурацию.
# ee /boot/defaults/loader.conf
Ищем строчку
#autoboot_delay="10"
У меня это 58 строчка. Меняем на
autoboot_delay="2"
Выходим.
Кто не знаком с текстовым редактором "ee" расскажу.
После внесения правок нажать на "esc" - escape -> a) leave editor -> a) save changes
Гуд. Дальше я хочу научить своего пользователя русскому языку. Для включения поддержки UTF-8 правим конфиги:
# ee /etc/login.conf
Ищем русский язык:
russian|Russian Users Accounts:\
:charset=KOI8-R:\
:lang=ru_RU.KOI8-R:\
:tc=default:
меняем на
russian|Russian Users Accounts:\
:charset=UTF-8:\
:lang=ru_RU.UTF-8:\
:tc=default:
Далее - магия.
# cap_mkdb /etc/login.conf
и включаю русский язык пользователю
#pw usermod -n <username> -L russian
В <username> Подставьте своего пользователя, созданного ранее.
Ещё. Синхронизация времени.
# date
Покажет текущее время.
Если надо, то поправим сервер времени:
# ee /etc/ntp.conf
Комментируем все существующие сервера:
#server 0.freebsd.pool.ntp.org iburst
#server 1.freebsd.pool.ntp.org iburst
#server 2.freebsd.pool.ntp.org iburst
Добавляем свой.
server <ip> iburst
Подставь свой ip или имя сервера времени. Хоть time.windows com
Ещё я временно изменю текстовый редактор по умолчанию для рута на ee. Ну не приучен я к vim, а тем более к vi =(
# ee /root/.cshrc
...
setenv EDITOR ee
Сохранил.
Всё.
# exit

Всё. Установка завершена.
В следующей статье опишу минимальную настройку программ и обновлений.
20156-11-05: Добавил смену редактора для root