Первичная настройка FreeBSD

Первичная настройка FreeBSD

Надумал я как-то на днях изучить ОС #FreeBSD. Система обладает своими особенностями, но кто работает в #Linux, тот легко разберётся в FreeBSD.

Обновление системы

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

  1. Запросить и применить обновления:
1
freebsd-update fetch && freebsd-update install

Обновление пакетов

  1. Запросить и применить обновления пакетов:
1
pkg update -f && pkg upgrade --yes

Переключение ветки пакетов

По умолчанию, #FreeBSD берёт обновления пакетов из квартальной (quarterly) ветки. Если хочется получить свежие пакеты здесь и сейчас, то нужно переключить ветку на latest.

  1. Создать файл /usr/local/etc/pkg/repos/FreeBSD.conf:
1
mkdir -p /usr/local/etc/pkg/repos && echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest" }' > /usr/local/etc/pkg/repos/FreeBSD.conf
  1. Обновить базу данных пакетов и обновить пакеты:
1
pkg update -f && pkg upgrade --yes

Установка пакетов

Для установки пакетов используется пакетный менеджер pkg. В интернете есть информация о том, что не рекомендуется смешивать пакеты и порты. То есть, если вы уже начали использовать пакеты, то надо продолжать только ими пользоваться.

Установка сервиса обновления микрокода CPU

  1. Установить пакет.
  2. Добавить в rc.conf автозапуск сервиса.
  3. Запустить сервис.
1
pkg install cpu-microcode && sysrc microcode_update_enable=YES && service microcode_update start

Установка дополнительных пакетов

Для работы на сервере, я устанавливаю следующие пакеты:

1
pkg install bash ca_root_nss curl git gnupg htop mc nano smartmontools wget zsh

Настройка ядра

Увеличение числа дескрипторов файлов

У меня используется синхронизация данных при помощи #Syncthing, данных много. Иногда случается ступор из-за лимита на дескрипторы файлов. Открываем /etc/sysctl.conf, добавляем:

1
2
kern.maxfiles=500000
kern.maxfilesperproc=500000

Перезагружаем систему:

1
shutdown -r now

Настройка терминала

В своей работе я предпочитаю #Zsh.

Установка Zsh для пользователей

  1. Изменить стандартную оболочку на #Zsh для root:
1
chsh -s zsh root
  1. Изменить стандартную оболочку на #Zsh для обычного пользователя:
1
chsh -s zsh user

Где:

  • user - логин пользователя.

Конфигурация Zsh

Использую конфигурацию от GRML.

  1. Скачиваем конфигурацию:
1
wget -O ~/.zshrc.grml https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc
  1. Открываем файл ~/.zshrc и добавляем следующие строки:
1
2
. "${HOME}/.zshrc.grml"
export GPG_TTY=$(tty)

Я работаю на ОС Windows и к серверам подключаюсь через #KiTTY. При работе с #GPG, она иногда не понимает куда ей выбрасывать запрос на парольную фразу. Поэтому, у меня здесь добавлен фикс export GPG_TTY=$(tty).

Настройка файловой системы

Отключение atime

atime это время доступа к файлу. В обычной работе такая метрика бесполезна. На диск могут быть тысячи файлов и для каждого файла ядро ОС будет фиксировать и обновлять время доступа. Подобная операция весьма дорогая.

1
zfs set atime=off zroot

Где:

  • zroot - пул файловой системы #ZFS.
Категории
Авторы
Смотрите также
Мета
Лицензия
ID файла
UUID
Системный путь
Тип
Статистика
Количество слов
Время чтения
мин.