psj-notes
~/home ~/series ~/archive

03. Базовая система: локализация, время, имя, память

13.07.2026 Серия: Настройка VDS сервера с VPN "система" "локаль" "swap"

Перед тем как устанавливать веб-сервер и VPN, нужно привести саму систему в порядок. Это скучная, но необходимая часть: правильно настроенные локаль, часовой пояс и swap-файл уберегут вас от множества проблем в будущем.

Локализация (locale)

По умолчанию Ubuntu поставляется с локалью C.UTF-8. Для русскоязычного пользователя удобнее установить ru_RU.UTF-8 — это повлияет на формат вывода дат, чисел и сортировку.

Проверим текущую локаль:

locale

Вывод скорее всего будет:

LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
...

Генерируем русскую локаль:

sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8 LC_ALL=ru_RU.UTF-8

Применяем без перезагрузки:

export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
source /etc/default/locale 2>/dev/null

Проверяем:

locale
date

Дата теперь должна выводиться по-русски: «июль» вместо «Jul».

Часовой пояс

Сервер может быть в любом дата-центре мира, но время лучше установить по тому региону, где живёте вы или ваша аудитория. Для Москвы:

sudo timedatectl set-timezone Europe/Moscow

Проверяем:

timedatectl

Обратите внимание на строки:

Time zone: Europe/Moscow (MSK, +0300)
System clock synchronized: yes
NTP service: active

Если NTP service не активен, включите:

sudo timedatectl set-ntp true

Правильное время критично для:

  • Логов (вы будете искать события в своём часовом поясе)
  • SSL-сертификатов (разница во времени > 5 минут — ошибки валидации)
  • Cron-задач (бэкапы должны запускаться в нужный час)

Имя хоста (hostname)

Сервер с именем по умолчанию вроде vps12345 — это несерьёзно. Дадим ему осмысленное имя:

sudo hostnamectl set-hostname vds1

Теперь пропишем его в /etc/hosts, чтобы не было проблем с sudo:

sudo sed -i "s/127.0.1.1.*/127.0.1.1 vds1/" /etc/hosts

Проверяем:

hostname
hostname -f

Оба должны вернуть vds1.

Swap-файл

На сервере 2 GB RAM. Этого достаточно для обычной работы, но при пиковых нагрузках (компиляция, архивация) память может закончиться. Swap-файл — это «аварийный» резерв на диске.

Создадим файл подкачки на 4 GB:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Проверяем:

sudo swapon --show

Добавляем в /etc/fstab для автоматического монтирования при загрузке:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Настройка swappiness

Параметр vm.swappiness определяет, насколько активно система будет использовать swap при наличии свободной RAM. Значение по умолчанию — 60, что слишком агрессивно для сервера. Установим 10 — swap будет использоваться только при загрузке памяти > 90%:

sudo sysctl vm.swappiness=10

Сделаем настройку постоянной:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
Параметр Значение Эффект
vm.swappiness=10 Низкая склонность к swap Система держит данные в RAM
vm.vfs_cache_pressure=50 Медленная очистка кэша Меньше дисковых операций (опционально)

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

Перед установкой любого софта обновим систему до последних версий:

sudo apt update
sudo apt upgrade -y
sudo apt autoremove -y

Желательно перезагрузиться, чтобы применить обновления ядра, если они были:

sudo reboot

Итог

Система готова к дальнейшей настройке:

  • Локаль ru_RU.UTF-8 — русский язык вывода
  • Часовой пояс Europe/Moscow — правильное время
  • Hostname vds1 — осмысленное имя
  • Swap 4 GB + swappiness=10 — запас памяти
  • Система обновлена до актуального состояния

В следующей части установим и настроим UFW — фаервол, который защитит сервер от внешних атак.

Комментарии

Комментарии пока не подключены.