logger и systemd-cat: пишем в journald из bash

Скрипт, пишущий статус в свой файл в /var/log/, — ещё одна точка для ротации и мониторинга. logger шлёт сообщение прямо в syslog/journald, под общую ротацию и journalctl. logger -t backup-script -p user.err "disk full" # тег + приоритет journalctl -t backup-script # только свои сообщения systemd-cat оборачивает целую команду — её stdout/stderr: systemd-cat -t rsync-job rsync -av /data /backup/ journalctl -t rsync-job --since "10 min ago" Из cron: job.sh 2>&1 | logger -t rsync-job — результат ищется одной командой, без grep по файлам в /var/log/. Приоритет (err, warning) фильтрует по важности и вешает алерты на ошибки, не трогая шум. ...

20 июля 2026 г. · llexa

nginx: усиление TLS без танцев с бубном

Дефолтный nginx с сертификатом Let’s Encrypt работает, но A на SSL Labs не даст — разрешены старые протоколы и слабые шифры. Правится парой директив в server. ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5:!3DES; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "max-age=63072000" always; ssl_stapling on; # OCSP stapling — сервер сам ssl_stapling_verify on; # прикладывает статус сертификата После правки: nginx -t && systemctl reload nginx, проверка — ssl-labs.com/ssltest или openssl s_client -connect host:443 -status. HSTS с годовым max-age необратим: сломается TLS — браузеры откажутся ходить и по HTTP. Включать значение постепенно. ...

20 июля 2026 г. · llexa

Уровни паники по цвету алерта в Zabbix

Zabbix красит триггеры по severity — но по факту это шкала внутренней паники дежурного, не важности инцидента. Not classified / Information — даже не открываешь вкладку, само пройдёт. Warning — открыл, подумал «ну ладно», закрыл обратно. Average / High — уже читаешь description триггера и ищешь runbook. Disaster — звонишь тому, кто «точно знает», даже если сейчас 3 часа ночи. Корреляция между severity и пульсом почти линейная — впору вешать vital-мониторинг на самого дежурного, не только на сервер. ...

19 июля 2026 г. · llexa

chroot и arch-chroot: смена корня файловой системы

chroot меняет корень файловой системы для процесса — программа видит /mnt/rescue как /, а всё, что выше, ей недоступно. Классический сценарий — сломанный загрузчик: грузимся с LiveCD, монтируем раздел и чиним систему изнутри неё. mount /dev/sda2 /mnt for d in dev proc sys; do mount --bind /$d /mnt/$d; done chroot /mnt /bin/bash grub-install /dev/sda update-grub exit Три bind mount руками — то, что забывают чаще всего: без /dev и /proc внутри chroot откажутся работать даже базовые команды. В Arch Linux это автоматизировал arch-chroot из пакета arch-install-scripts — та же задача одной командой: ...

18 июля 2026 г. · llexa

LVM с нуля: pvcreate, vgcreate, lvcreate, lvextend

Без LVM размер раздела фиксирован разметкой диска — расширить его без даунтайма сложно. LVM добавляет промежуточный слой: физические тома (PV) объединяются в группу (VG), из которой нарезаются логические тома (LV) — их можно растягивать, пока в VG есть свободное место. pvcreate /dev/sdb /dev/sdc # физические тома из целых дисков vgcreate data_vg /dev/sdb /dev/sdc # группа томов lvcreate -L 50G -n data_lv data_vg # логический том 50 ГБ mkfs.ext4 /dev/data_vg/data_lv Расширение на лету, когда место закончилось: ...

18 июля 2026 г. · llexa

nmcli: NetworkManager из терминала

На серверах с NetworkManager настройки сети живут не в /etc/network/interfaces, а в connection-профилях самого NetworkManager. nmcli — способ управлять ими из терминала, без риска потерять единственный SSH-сеанс на неудачный ifconfig. nmcli device status # список интерфейсов и их состояние nmcli con show # все сохранённые подключения nmcli con up "Wired connection 1" # поднять nmcli con down eth0 # погасить Статический IP без правки конфигов руками: nmcli con mod eth0 ipv4.addresses 192.168.1.50/24 nmcli con mod eth0 ipv4.gateway 192.168.1.1 nmcli con mod eth0 ipv4.dns "8.8.8.8 1.1.1.1" nmcli con mod eth0 ipv4.method manual nmcli con up eth0 Изменения применяются сразу после con up — перезагрузка не нужна. ...

18 июля 2026 г. · llexa

lynis: аудит безопасности сервера одной командой

lynis — сканер безопасности для Linux/Unix без агента и без сети: работает локально, читает конфиги и состояние системы. На выходе — не список уязвимостей, а числовой hardening index и причина по каждой находке. apt install lynis # или git clone для последней версии lynis audit system # полный прогон, ~200 тестов lynis show tests # список проверок с ID lynis audit system --cronjob # тихий прогон для cron Результат — в /var/log/lynis.log и /var/log/lynis-report.dat. В конце — блок Suggestions с ID вида SSH-7408 и кратким пояснением. Категории: SSH-конфиг, права на файлы, устаревшие пакеты, параметры ядра — первый прогон на свежем сервере обычно выдаёт полсотни рекомендаций. ...

17 июля 2026 г. · llexa

rkhunter: охота за руткитами и бэкдорами

rkhunter (Rootkit Hunter) ищет то, что обычный антивирус на сервере не ловит: подмену системных бинарников, скрытые процессы, следы известных руткитов. Работает по базе сигнатур плюс сравнение с сохранённым эталоном — эталон нужно снять сразу после чистой установки. apt install rkhunter rkhunter --propupd # снять эталон после установки rkhunter --update # обновить базу сигнатур rkhunter --check --sk # проверка без пауз (--skip-keypress) Результат — в /var/log/rkhunter.log, предупреждения помечены [Warning]. Часть — стандартный шум (изменённые пути после апдейта пакетов, нестандартные права) — разобрать один раз и занести в /etc/rkhunter.conf через ALLOWHIDDENDIR. Для регулярного контроля — --cronjob вместо интерактивного режима. ...

17 июля 2026 г. · llexa

Новые версии: 10 июля — 17 июля

Новые релизы за неделю — только то, что важно для сервера. vscode 1.129.0 nginx 1.31.3 — nginx-1.31.3 mainline: фикс переполнения буфера при использовании map с конкатенацией строк. loki helm-loki-7.1.0 immich v3.0.3 — исправления багов, публикация в собственный F-Droid репозиторий. node_exporter v1.12.1 — фикс обработки флага perf-профайлера, опциональный сбор csrow ue_count в edac. postgres 19_BETA2 3x-ui v3.5.0 — MTProto Multi-Client, миграция SQLite → PostgreSQL, доработки под нагрузку до 500k. terminal v1.25.1912.0 prometheus v0.313.1 bottom 0.14.4 — фикс бага с колонками процессов в конфиге и хоткеем выхода. skim v5.1.0 eza v0.23.5 #linux #sysadmin #releases

17 июля 2026 г. · llexa

iostat и sar: где потерялась производительность

Общая картина по CPU и памяти не отвечает на вопрос «какой конкретно диск тормозит». Для этого — iostat (снимок сейчас) и sar (история за прошлые дни). iostat -xz 1 5 # расширенная статистика, обновление раз в секунду, 5 раз # %util — занятость диска, await — латентность запроса в мс await выше 10-20 мс на HDD или 1-2 мс на SSD — сигнал упереться в диск. sar из пакета sysstat собирает метрики в фоне и хранит историю: ...

16 июля 2026 г. · llexa