Свежий Ubuntu Server на VPS тянет за собой набор служб «на все случаи жизни»: snap, multipath, modem manager, иногда bluetooth и avahi. На маленьком инстансе это лишняя RAM, лишние unit-ы при boot и лишняя поверхность атаки. Ниже – как посмотреть, что включено, что реально тормозит загрузку, и что обычно можно отключить или убрать на типичном VPS.
Важно: не отключайте пачками сетевые и дисковые службы на боевой машине без консоли/VNC у хостера. Один неверный disable NetworkManager без настроенного netplan/networkd – и SSH пропадёт. Делайте по одной службе, проверяйте сеть и нужные сервисы.
Что сейчас включено
Список unit-файлов в состоянии enabled:
systemctl list-unit-files --type=service --state=enabled
Полный перечень service-unit-ов (в т.ч. disabled):
systemctl list-unit-files --type=service --all --no-pager
Кто дольше всех стартует при boot:
systemd-analyze blame
blame показывает время старта unit-а, а не «насколько он плохой». Долгий cloud-init на первом boot – норма; долгий ненужный daemon на каждом reboot – кандидат на disable.
Правила безопасной зачистки
- сначала некритичное (bluetooth, avahi, modemmanager), потом спорное;
- ведите список отключённого (файл в home или ticket) – чтобы откатить;
- после каждого шага: сеть, SSH, ваши приложения;
- не трогайте ssh, cron, logging, time-sync, ваш web/db stack без понимания зависимости.
Кандидаты на отключение и удаление
1. Snapd
Если snap-пакеты не используете (типичный headless VPS на apt), snapd можно убрать:
sudo apt purge snapd squashfs-tools
Вернуть при необходимости:
sudo apt install snapd
На части образов Ubuntu snap уже «вшит» в экосистему (lxd, firefox-snap и т.п.). Если что-то из нужного зависит от snap – purge отложите.
2. ModemManager
На VPS без USB-модемов обычно не нужен:
sudo systemctl stop ModemManager sudo systemctl disable ModemManager
3. multipathd (DM-Multipath)
Multipath нужен, когда к СХД несколько путей. На обычном VPS с одним виртуальным диском – лишний:
- Остановить:
sudo systemctl stop multipathd - Выключить автозапуск:
sudo systemctl disable multipathd - Удалить пакет:
sudo apt-get remove multipath-tools - Проверить:
sudo systemctl status multipathd - При желании purge конфигов:
sudo apt-get purge multipath-tools
4. udisks2
Управление съёмными накопителями. На сервере без hotplug USB-дисков часто можно отключить:
sudo systemctl stop udisks2 sudo systemctl disable udisks2
5. NetworkManager – только если сеть уже на netplan/networkd
На многих cloud-образах сеть уже через netplan + systemd-networkd, NetworkManager нет. Если NM установлен и вы им не пользуетесь, отключение возможно, но только после проверки, что IP, DNS и маршруты поднимаются без него:
sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager
Если SSH ходит только через NM-профиль – сначала переведите интерфейс на netplan, проверьте reboot, потом disable.
6. Bluetooth
На VPS почти всегда лишний:
sudo systemctl stop bluetooth sudo systemctl disable bluetooth
7. avahi-daemon
mDNS/DNS-SD в локалке. Публичному VPS обычно не нужен:
sudo systemctl stop avahi-daemon sudo systemctl disable avahi-daemon
8. Лишний веб-сервер из образа
Если в образе случайно стоит Apache, а вы на nginx (или наоборот) – уберите неиспользуемый стек. Пример для Apache2:
sudo systemctl stop apache2 sudo systemctl disable apache2 sudo apt-get remove apache2
Не удаляйте тот web-сервер, на котором крутятся сайты.
Пакеты и проверка после
Подчистить зависимости:
sudo apt-get autoremove
Активные службы:
systemctl list-units --type=service
Имеет смысл ещё раз глянуть systemd-analyze blame и free -h до/после – чтобы видеть эффект на boot и RAM, а не гадать.
Кратко
«Оптимальный» Ubuntu VPS – это не вырезанный до гола образ, а хост без служб, которые не обслуживают ваши задачи. Смотрите enabled + blame, отключайте modemmanager/bluetooth/avahi/multipath/snap по необходимости, NetworkManager – только с запасным каналом доступа. После зачистки проверьте сеть, SSH и приложения.


