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

Новые релизы за неделю — только то, что важно для сервера. prometheus v3.5.5 — [SECURITY] UI: обновили sanitize-html до v2.17.5, закрыли CVE-2026-53606. keycloak 26.7.0 — новые возможности для пользователей и администраторов Keycloak. syncthing v2.1.2 — поддержка HTTP/HTTPS-прокси с CONNECT, в дополнение к существующему SOCKS. patroni v4.1.4 — плановый релиз с фиксами. alertmanager v0.33.1 — фикс отсутствующего поля notification_reason в webhook-документации. immich v3.0.1 — фикс бага с альбомами, не отображавшимися в мобильном приложении. skim v5.0.0 — крупный релиз после v4: добавлена поддержка Windows. #linux #sysadmin #releases

10 июля 2026 г. · llexa

parted и gdisk: разметка GPT-дисков

MBR ограничен 2 ТБ на диск и 4 основными разделами — на современном железе стандарт давно GPT. parted работает и неинтерактивно (одной командой), и в консольном меню; gdisk — интерактивный аналог fdisk, но именно для GPT. Разметка через parted одной командой: parted /dev/sdb mklabel gpt parted /dev/sdb mkpart primary ext4 0% 100% parted -l Через gdisk — интерактивно: n создать раздел, p показать таблицу, w записать изменения: gdisk /dev/sdb Перед разметкой продакшен-диска — бэкап таблицы разделов, чтобы откатиться при ошибке: ...

8 июля 2026 г. · llexa

PostgreSQL: pg_stat_statements — статистика по запросам

pg_stat_statements — расширение, которое собирает статистику по каждому нормализованному запросу на сервере: сколько раз вызван, суммарное и среднее время выполнения, сколько строк вернул. Без него узкие места ищутся вслепую по логам. Включить: добавить в postgresql.conf и перезапустить кластер, затем создать расширение: shared_preload_libraries = 'pg_stat_statements' CREATE EXTENSION pg_stat_statements; Топ-10 самых тяжёлых запросов по суммарному времени: SELECT query, calls, total_exec_time, mean_exec_time FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 10; Сбросить накопленную статистику: SELECT pg_stat_statements_reset();. Для учёта времени на дисковый I/O отдельно от CPU включи track_io_timing = on. ...

8 июля 2026 г. · llexa

Современные ФС #4: ZFS — основы

ZFS сочетает менеджер томов и файловую систему в одном слое — вместо связки mdadm + LVM + ФС работаешь с одним zpool. Каждый блок данных хранится с чексуммой, поэтому битые копии на диске обнаруживаются сами, без ручных сверок. Создать пул из зеркала двух дисков и датасет со сжатием: zpool create tank mirror /dev/sdb /dev/sdc zfs create -o compression=lz4 tank/data zfs list Проверить состояние пула и целостность данных: zpool status tank zpool scrub tank scrub читает все блоки и сверяет чексуммы — если на зеркале найдена ошибка, ZFS чинит блок автоматически со второй копии. На Debian/RED OS ставится пакетом zfsutils-linux (DKMS-модуль, не в mainline ядре из-за лицензии CDDL). ...

8 июля 2026 г. · llexa

bash history: не только стрелка вверх

История bash хранит не просто список команд — в ней есть подстановки для быстрого повтора и редактирования без перепечатывания. sudo !! # повторить прошлую команду с sudo vim !$ # последний аргумент прошлой команды !apt # последняя команда, начинающаяся с apt ^old^new # заменить old на new в прошлой команде и выполнить Ctrl+R — обратный поиск по истории, повторное нажатие листает совпадения дальше. HISTCONTROL=ignoredups:erasedups в .bashrc убирает дубли и повторы подряд. HISTTIMEFORMAT="%F %T " добавляет метки времени в history. history -d N удаляет конкретную строку, если туда случайно попал пароль. ...

7 июля 2026 г. · llexa

heredoc и herestring в bash

heredoc (<<) подставляет блок текста как stdin команде — без склеивания строк через \n и без экранирования кавычек. cat <<EOF > /etc/nginx/conf.d/app.conf server { listen 80; server_name app.local; } EOF Herestring (<<<) — то же самое, но для одной строки: grep "error" <<< "$log_line" Если EOF в кавычках (<<'EOF') — переменные внутри блока не подставляются, текст передаётся как есть. Без кавычек — $var и `cmd` раскрываются. <<-EOF убирает ведущие табы, что позволяет делать отступы внутри if/function без искажения вывода. ...

7 июля 2026 г. · llexa

ufw: firewall без боли с iptables

ufw (Uncomplicated Firewall) генерирует правила iptables/nft из простых команд — не нужно помнить синтаксис цепочек и таблиц ради базовой защиты сервера. ufw allow 22/tcp # разрешить SSH ufw allow from 10.0.0.0/8 # доверенная подсеть — все порты ufw deny 23 # заблокировать telnet явно ufw enable # включить firewall ufw status verbose # список правил с номерами Правила применяются по порядку — ufw status numbered показывает номера для ufw delete <N>. По умолчанию политика deny incoming, allow outgoing — открывать нужно только то, что реально слушает. Логи: /var/log/ufw.log, включаются через ufw logging on. Не забыть открыть SSH до ufw enable, иначе отвалится текущая сессия. ...

7 июля 2026 г. · llexa

ulimit и лимиты ресурсов процессов

ulimit управляет лимитами ресурсов для процессов текущей оболочки и её потомков. ulimit -a # все лимиты текущей сессии ulimit -n 65535 # открытые файлы (до следующего логаута) ulimit -u 4096 # максимум процессов пользователя Постоянно — через /etc/security/limits.conf: nginx soft nofile 65535 nginx hard nofile 65535 В systemd-сервисах лимиты limits.conf не применяются — нужен LimitNOFILE=65535 в секции [Service]. Проверить текущие лимиты процесса: cat /proc/<pid>/limits. #linux #sysadmin #bash #systemd

6 июля 2026 г. · llexa

Стадии принятия чужого кода

Код-ревью проходит пять стадий. Это написано неплохо Это написано странно Это написано плохо Кто вообще это написал? git blame → ты сам, полтора года назад Архив не врёт. #юмор #git #codereview #sysadmin

5 июля 2026 г. · llexa

dmesg: читаем сообщения ядра правильно

dmesg хранит кольцевой буфер сообщений ядра Linux — именно сюда падают первые признаки проблем с железом: ошибки SATA, срабатывание OOM killer, USB-отключения, kernel panic. По умолчанию вывод идёт без временных меток и без фильтрации — несколько флагов делают его удобным инструментом диагностики. dmesg -T # человекочитаемое время вместо секунд с буткапа dmesg -T -l err,crit # только ошибки и критические события dmesg --follow # следить в реальном времени (как tail -f) dmesg --human # цвет + читаемое время + единицы измерения dmesg -T | grep -i "usb\|nvme\|ata" # поиск по устройству Если ядро OOM-killнуло процесс — это здесь, с именем и PID. Если диск начал сыпать I/O error или ata: SRST failed — тоже здесь, часто за несколько часов до отказа. ...

4 июля 2026 г. · llexa