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

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

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

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

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

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

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

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

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

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

  • Создать файл /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
pkg update -f && pkg upgrade --yes

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

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

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

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

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

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

1
pkg install bash ca_root_nss curl gnupg htop mc nano rsync rsyslog sudo zsh && sysrc syslogd_enable=NO && sysrc rsyslogd_enable=YES

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

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

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

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

Где:

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

Настройка приложений и служб

Ядро

  • Увеличение лимита на дескрипторы файлов:
1
echo -e 'kern.maxfiles=500000\nkern.maxfilesperproc=500000' >> '/etc/sysctl.conf'

ZFS

  • Отключение atime:
1
zfs set atime=off zroot

Zsh

  • Скачиваем конфигурацию:
1
curl -fsSLo '/usr/local/etc/zshrc.grml' 'https://git.grml.org/f/grml-etc-core/etc/zsh/zshrc'
  • Редактируем ~/.zshrc:
1
echo -e ". '/usr/local/etc/zshrc.grml'\nexport GPG_TTY=\$(tty)" >> ~/.zshrc

SSHD

  • Настройка параметров подключения по SSH:
1
sed -i '' -e 's/#Port 22/Port 8022/g' -e 's/#IgnoreRhosts/IgnoreRhosts/g' -e 's/#MaxAuthTries 6/MaxAuthTries 2/g' -e 's/#PermitEmptyPasswords/PermitEmptyPasswords/g' -e 's/#PermitRootLogin/PermitRootLogin/g' -e 's/#X11Forwarding/X11Forwarding/g' -e 's/#LogLevel INFO/LogLevel VERBOSE/g' '/etc/ssh/sshd_config'

Параметры

  • Port 8022 - порт SSH.
  • IgnoreRhosts yes - не учитывать содержимое файлов .rhosts и .shosts.
  • MaxAuthTries 2 - количество попыток авторизации.
  • PermitEmptyPasswords no - запретить вход с пустым паролем.
  • PermitRootLogin no - запретить вход под пользователем root.
  • X11Forwarding no - отключить проброс приложений X11.
  • LogLevel VERBOSE - включить расширенное логирование.
Категории
Авторы
Смотрите также
Мета
Лицензия
ID файла
UUID
Системный путь
Тип
Статистика
Количество слов
Время чтения
мин.