seccomp: белый список системных вызовов для процесса

seccomp (secure computing mode) — механизм ядра Linux, который ограничивает процесс конкретным набором системных вызовов: всё, чего нет в профиле, ядро обрывает ещё до выполнения, обычно возвращая EPERM вместо реального эффекта вызова. В отличие от прав доступа к файлам или capabilities, это фильтр на уровне самого интерфейса ядро-процесс — даже если процесс получил root внутри контейнера, вызов, которого нет в whitelist (например, ptrace или mount), просто не сработает. Docker вешает дефолтный seccomp-профиль на каждый контейнер автоматически, если не указано иное — из ~300+ syscall’ов он блокирует около 44, в основном связанных с управлением ядром и отладкой (ptrace, add_key, request_key, большая часть mount). Podman и другие рантаймы на базе crun/runc используют концептуально тот же подход с собственным JSON-профилем. Отключить фильтрацию или подставить свой профиль — один флаг: ...

October 20, 2026 · llexa

glances: один экран вместо top, iotop, iftop и df по очереди

Диагностировать внезапно загруженный сервер обычно означает открыть по очереди top, iotop, iftop, df -h — и в голове собирать из них общую картину. glances делает это за тебя: CPU по ядрам, память и swap, диски и их I/O, сетевые интерфейсы с текущей пропускной способностью, топ процессов по CPU/памяти — всё сразу на одном экране терминала, обновляется в реальном времени. Запускается без параметров: glances и сам решает, какие блоки показывать, в зависимости от того, что происходит на сервере — если диск начинает тормозить, блок I/O подсвечивается заметнее остальных. Полезная деталь: пороги предупреждений (careful/warning/critical) настраиваются в ~/.config/glances/glances.conf, так что «нормальная» загрузка CPU для конкретного сервера не обязана совпадать с дефолтной. ...

October 19, 2026 · llexa

irqbalance: кто разбирает аппаратные прерывания по ядрам

Без вмешательства ядро Linux по умолчанию склонно сажать обработку аппаратных прерываний (IRQ) от сетевой карты или диска на одно и то же ядро — обычно CPU0. На спокойном сервере это незаметно, но стоит сетевой карте начать принимать десятки тысяч пакетов в секунду, и это одно ядро упирается в потолок по %si (softirq) в top, пока остальные ядра простаивают. irqbalance — демон, который читает /proc/interrupts, смотрит на реальную загрузку по ядрам и перераспределяет назначения через /proc/irq/<N>/smp_affinity, не трогая при этом IRQ, явно забаненные через --banirq=<N>. ...

October 19, 2026 · llexa

Rust-утилиты #3: fd вместо find

Продолжаем серию про утилиты, переписанные на Rust: после ls и cat очередь find. fd ищет файлы, но с умолчаниями, настроенными под реальную работу, а не под совместимость с POSIX-стандартом тридцатилетней давности. ...

October 18, 2026 · llexa

FUSE #8: borgfs — смотрим внутрь бэкапа без полного восстановления

Классический сценарий: кто-то случайно удалил конфиг неделю назад, а бэкапится всё через Borg. Самый прямой путь — borg extract всего снапшота в отдельную директорию и выковыривать нужный файл руками, но для одного файла это избыточно, особенно если архив весит сотни гигабайт. У borg для этого есть mount — он поднимает FUSE-драйвер и отдаёт содержимое архива как обычную read-only файловую систему. ...

October 16, 2026 · llexa

Обзор новинок #14: релизы середины октября

Новые релизы терминального/devops-стека за последние пару недель. lazygit — TUI поверх git, вся обычная работа (stage, commit, rebase, стэши) без запоминания флагов git в голове. В v0.65.1 — серия доработок вокруг недавно добавленной поддержки GitHub pull requests прямо из интерфейса, исправляющих шероховатости первой реализации k9s — терминальный клиент для Kubernetes, навигация по подам/неймспейсам/логам без постоянных kubectl get -o wide. В v0.51.0 — плагин для flux reconcile прямо из интерфейса, плагины под Argo Workflows, инверсия тёмной/светлой темы через цветовую модель Oklch (перцептивно равномернее старого HSL-переключения) и возможность стартовать k9s вообще без валидного kube-контекста, что раньше было жёстким условием запуска ...

October 16, 2026 · llexa

Vim с нуля #9: текстовые объекты

Выделить слово под курсором вручную — это v, встать на первую букву, протянуть выделение до последней. Текстовый объект делает то же самое одной командой: ciw меняет слово целиком независимо от того, на какой букве внутри слова стоит курсор. Разница именно в этом — не нужно точно позиционироваться на границе объекта, Vim сам находит её. ...

October 15, 2026 · llexa

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

Держать пять вкладок терминала с tail -f под разные логи — рабочий, но неудобный способ следить за инцидентом сразу по нескольким сервисам. multitail решает это одной командой: делит терминал на панели и в каждой крутит свой файл, живьём. multitail /var/log/nginx/error.log /var/log/nginx/access.log По умолчанию панели идут одна под другой. Флаг -s раскладывает их колонками, что удобнее для широких мониторов и логов с короткими строками: multitail -s 2 /var/log/daemon.log /var/log/syslog Для связанных логов (например, access и error одного и того же сервиса) полезнее не раскладывать по колонкам, а слить в одно окно с сохранением порядка по времени — за это отвечает --mergeall, применённый к нужной группе файлов на командной строке. ...

October 14, 2026 · llexa

ncat: netcat из проекта Nmap

Классический nc (netcat) умеет слушать порт и коннектиться, но для шифрования приходится городить отдельный TLS-туннель поверх. Ncat — реализация той же идеи от команды Nmap, где SSL встроен прямо во флаги, без openssl s_client или stunnel сбоку. Слушатель и подключение — тот же минимализм, что у nc: ncat -l 4444 # слушать на порту 4444 ncat host.example 4444 # подключиться Разница начинается там, где классическому netcat нужна дополнительная обвязка. Шифрованное соединение — один флаг на обеих сторонах: ...

October 14, 2026 · llexa

supervisord: процесс-менеджер для не-systemd приложений

supervisord берёт на себя то же, что обычно делает systemd — следит, что процесс жив, перезапускает его при падении, собирает stdout/stderr в лог — но делает это в userspace, без прав на системные unit-файлы и без зависимости от PID 1. Удобно для контейнеров без systemd, для приложений, которые разворачивает не root, или когда процессов много и плодить под каждый unit-файл избыточно. Конфиг собирается из блоков [program:x], каждый описывает один управляемый процесс: ...

October 13, 2026 · llexa