Devops
52 страницыисправление утечек памяти в python-сервисах: диагностика и сбор дампов
Python-сервисы под нагрузкой могут silently расходовывать память до hitting cgroup limit и OOM-kill. Без систематического сбора дампов и интроспекции root-cause hunt превращается в перебор гипотез. Ниже — проверенный набор команд и скриптов для …
Python-сервисы под нагрузкой могут silently расходовывать память до hitting cgroup limit и OOM-kill. Без систематического сбора дампов и интроспекции root-cause hunt превращается в перебор гипотез. Ниже — проверенный набор команд и скриптов для …
kubectl cheatsheet: основные команды для работы с Kubernetes
kubectl — основной инструмент взаимодействия с Kubernetes-кластером. Ниже собрана шпаргалка по рутинным операциям: от настройки контекста до отладки подов и переключения между namespace. Все команды проверены на актуальных версиях kubectl (1.28+). …
kubectl — основной инструмент взаимодействия с Kubernetes-кластером. Ниже собрана шпаргалка по рутинным операциям: от настройки контекста до отладки подов и переключения между namespace. Все команды проверены на актуальных версиях kubectl (1.28+). …
Создание пользователя, роли в Kubernetes и их связка через RBAC
В Kubernetes нет отдельных «пользователей» в классическом смысле — есть ServiceAccount’ы и сертификаты, привязанные к ролям через RBAC. Без правильной настройки любой, у кого есть kubeconfig, получает доступ ко всему кластеру. Ниже — полный цикл: …
В Kubernetes нет отдельных «пользователей» в классическом смысле — есть ServiceAccount’ы и сертификаты, привязанные к ролям через RBAC. Без правильной настройки любой, у кого есть kubeconfig, получает доступ ко всему кластеру. Ниже — полный цикл: …
Git Tag: разметка релизов и закладки в истории
Git Tag: разметка релизов и закладки в истории Теги — это механизм Git для присвоения осмысленных меток конкретным коммитам. В отличие от веток, теги не двигаются: они зафиксированы в точке коммита и служат якорями для релизов, версий и важных …
Git Tag: разметка релизов и закладки в истории Теги — это механизм Git для присвоения осмысленных меток конкретным коммитам. В отличие от веток, теги не двигаются: они зафиксированы в точке коммита и служат якорями для релизов, версий и важных …
ulimit и systemd LimitNOFILE — почему ulimit -n в unit не живёт
Что такое nofile и где он живёт nofile — максимальное количество открытых файловых дескрипторов на один процесс. Это не только обычные файлы, а сокеты, pipe, stdin/stdout/stderr, логи через journald — всё считается. Когда nginx или Go-приложение …
Что такое nofile и где он живёт nofile — максимальное количество открытых файловых дескрипторов на один процесс. Это не только обычные файлы, а сокеты, pipe, stdin/stdout/stderr, логи через journald — всё считается. Когда nginx или Go-приложение …
Git hook post-receive для деплоя на сервере
Деплой через CI — это хорошо, но иногда нужно просто закинуть код на сервер одним git push. post-receive hook в bare-репозитории решает эту задачу без лишних зависимостей: пушитшь на сервер — хук автоматически вытягивает файлы в рабочую директорию. …
Деплой через CI — это хорошо, но иногда нужно просто закинуть код на сервер одним git push. post-receive hook в bare-репозитории решает эту задачу без лишних зависимостей: пушитшь на сервер — хук автоматически вытягивает файлы в рабочую директорию. …
ThinLinc: удалённый доступ к Linux-рабочим столам
ThinLinc: удалённый доступ к Linux-рабочим столам В корпоративной среде удалённый доступ к Linux-рабочим столам часто сводится к VNC с нестабильным шифрованием или RDP-прокси, требующим костылей. ThinLinc от Cendio — это полноценное решение для …
ThinLinc: удалённый доступ к Linux-рабочим столам В корпоративной среде удалённый доступ к Linux-рабочим столам часто сводится к VNC с нестабильным шифрованием или RDP-прокси, требующим костылей. ThinLinc от Cendio — это полноценное решение для …
Sudoers: NOPASSWD без дыр
Почему NOPASSWD + ALL — это не решение, а дыра %admin ALL=(ALL) NOPASSWD: ALL — самая частая ошибка в sudoers. Пользователь получает неограниченный root-доступ без пароля. Любой скрипт, любая утилита, любая уязвимость в окружении пользователя …
Почему NOPASSWD + ALL — это не решение, а дыра %admin ALL=(ALL) NOPASSWD: ALL — самая частая ошибка в sudoers. Пользователь получает неограниченный root-доступ без пароля. Любой скрипт, любая утилита, любая уязвимость в окружении пользователя …
scp — передача файлов по SSH
scp — утилита для копирования файлов по SSH поверх протокола SSH. Работает из терминала, не требует настройки сервера сверху — достаточно работающего sshd и авторизации. В эпоху rsync и bat SCP живёт как простой инструмент для разовых передач, когда …
scp — утилита для копирования файлов по SSH поверх протокола SSH. Работает из терминала, не требует настройки сервера сверху — достаточно работающего sshd и авторизации. В эпоху rsync и bat SCP живёт как простой инструмент для разовых передач, когда …
Docker logs и journald: выбор драйвера логирования
Когда контейнер падает, логи — первое, что нужно увидеть. docker logs выглядит просто, но под капотом работает разные драйверы логирования, и выбор влияет на то, как хранятся, вращаются и доступны логи. Вот что стоит знать перед тем, как доверять …
Когда контейнер падает, логи — первое, что нужно увидеть. docker logs выглядит просто, но под капотом работает разные драйверы логирования, и выбор влияет на то, как хранятся, вращаются и доступны логи. Вот что стоит знать перед тем, как доверять …
curl --resolve и SNI: проверка виртуального хоста без /etc/hosts
Когда нужно проверить виртуальный хост на конкретном IP, но править /etc/hosts нет желания — ни из-за прав, ни из-за конфликтов с другими сервисами — curl --resolve решает обе задачи: подменяет DNS-запись и корректно отправляет SNI в TLS-хендшейке. …
Когда нужно проверить виртуальный хост на конкретном IP, но править /etc/hosts нет желания — ни из-за прав, ни из-за конфликтов с другими сервисами — curl --resolve решает обе задачи: подменяет DNS-запись и корректно отправляет SNI в TLS-хендшейке. …
coredumpctl: найти падение бинаря
Что такое coredumpctl и как он работает Когда бинарь падает с SEGV, ядро может сохранить core dump — снимок памяти процесса в момент креша. В systemd-based дистрибутивах за сбор, хранение и поиск этих дампов отвечёт coredumpctl, обёртка над …
Что такое coredumpctl и как он работает Когда бинарь падает с SEGV, ядро может сохранить core dump — снимок памяти процесса в момент креша. В systemd-based дистрибутивах за сбор, хранение и поиск этих дампов отвечёт coredumpctl, обёртка над …
nftables: базовый набор правил
Примечание Все команды проверены на Debian/Ubuntu с пакетом nftables и на RHEL/CentOS 8+. На старых системах может потребоваться apt install nftables или yum install nftables. nftables пришёл на смену iptables, но документация по базовому набору …
Примечание Все команды проверены на Debian/Ubuntu с пакетом nftables и на RHEL/CentOS 8+. На старых системах может потребоваться apt install nftables или yum install nftables. nftables пришёл на смену iptables, но документация по базовому набору …
journalctl: фильтры и follow
Системный журнал systemd — это первое место, куда нужно смотреть, когда сервис упал или узел начал жрать CPU. journalctl умеет гораздо больше, чем вывести весь лог подряд: фильтровать по юнитам, приоритетам, временным окнам и читать в реальном …
Системный журнал systemd — это первое место, куда нужно смотреть, когда сервис упал или узел начал жрать CPU. journalctl умеет гораздо больше, чем вывести весь лог подряд: фильтровать по юнитам, приоритетам, временным окнам и читать в реальном …
fail2ban: jail для sshd
Защита SSH от брутфорса — один из первых шагов при укреплении сервера. fail2ban сканирует логи, находит повторные неудачные попытки входа и блокирует источник через iptables или nftables. В заметке разберём jail для sshd: от установки до тонкой …
Защита SSH от брутфорса — один из первых шагов при укреплении сервера. fail2ban сканирует логи, находит повторные неудачные попытки входа и блокирует источник через iptables или nftables. В заметке разберём jail для sshd: от установки до тонкой …
Chrony вместо ntpd
В Debian/Ubuntu и RHEL/CentOS ntpd давно пора менять на chrony. Он быстрее сходится к точному времени, лучше работает при нестабильных сетях и меньше нагружает систему. В современных дистрибутивах chrony уже стоит по умолчанию — но если он ещё не …
В Debian/Ubuntu и RHEL/CentOS ntpd давно пора менять на chrony. Он быстрее сходится к точному времени, лучше работает при нестабильных сетях и меньше нагружает систему. В современных дистрибутивах chrony уже стоит по умолчанию — но если он ещё не …
Debian — Швейцарский нож в мире Linux
Debian — это не самый яркий дистрибутив, но самый надёжный фундамент в мире Linux. За ним стоит крупнейшее сообщество волонтёров-разработчиков, а за его плечами — десятилетия безотказной работы серверов, встраиваемых систем и облачной инфраструктуры. …
Debian — это не самый яркий дистрибутив, но самый надёжный фундамент в мире Linux. За ним стоит крупнейшее сообщество волонтёров-разработчиков, а за его плечами — десятилетия безотказной работы серверов, встраиваемых систем и облачной инфраструктуры. …
pipx: изолированные Python-утилиты без боли
pipx решает простую, но хроническую проблему: когда нужно запустить Python-утилиту однажды или разово, а pip install засоряет глобальное окружение или требует виртуальное окружение, которое потом забываешь удалить. pipx создаёт изолированное venv для …
pipx решает простую, но хроническую проблему: когда нужно запустить Python-утилиту однажды или разово, а pip install засоряет глобальное окружение или требует виртуальное окружение, которое потом забываешь удалить. pipx создаёт изолированное venv для …
uv — быстрый менеджер пакетов Python
Что такое uv uv — менеджер пакетов Python, написанный на Rust. Решает одну проблему: стандартный pip медленно разрешает зависимости, а poetry добавляет свою модель проектов поверх PEP 621. uv работает поверх pyproject.toml, совместим с PEP 621 и PEP …
Что такое uv uv — менеджер пакетов Python, написанный на Rust. Решает одну проблему: стандартный pip медленно разрешает зависимости, а poetry добавляет свою модель проектов поверх PEP 621. uv работает поверх pyproject.toml, совместим с PEP 621 и PEP …
Создание своего SSH-бастион-сервера
Зачем нужен бастион и где он живёт Бастион — единственная точка входа в приватный сегмент сети. Вместо того чтобы открывать SSH на каждом сервере из интернета, вы пускаете трафик через один хост, на котором настроена жёсткая политика доступа. …
Зачем нужен бастион и где он живёт Бастион — единственная точка входа в приватный сегмент сети. Вместо того чтобы открывать SSH на каждом сервере из интернета, вы пускаете трафик через один хост, на котором настроена жёсткая политика доступа. …
tmux на проде после Screen
Почему перешли с Screen на tmux Screen был нашим инструментом номер один ещё лет пять назад. Но после миграции кластера на новые серверы стало очевидно: screen теряет сессию при обрыве SSH, если не настроен hardstatus, а восстановление через screen …
Почему перешли с Screen на tmux Screen был нашим инструментом номер один ещё лет пять назад. Но после миграции кластера на новые серверы стало очевидно: screen теряет сессию при обрыве SSH, если не настроен hardstatus, а восстановление через screen …
Rsync: бэкап каталога по SSH
Rsync: бэкап каталога по SSH Классический способ переложить каталог на удалённую машину — rsync поверх SSH. Не нужно открывать дополнительных портов, трафик шифруется, а сам инструмент умеет докачивать изменения и сохранять метаданные. Одна команда — …
Rsync: бэкап каталога по SSH Классический способ переложить каталог на удалённую машину — rsync поверх SSH. Не нужно открывать дополнительных портов, трафик шифруется, а сам инструмент умеет докачивать изменения и сохранять метаданные. Одна команда — …
logrotate для своих демонов
Логи демона разрастаются, а ротации нет — файл достигает десятков гигабайт, диск забивается, мониторинг ругается. systemd-journald и syslog-ng умеют вращать сами, но если у тебя свой демон пишет напрямую в файл, ротацию несёт logrotate. Вот как его …
Логи демона разрастаются, а ротации нет — файл достигает десятков гигабайт, диск забивается, мониторинг ругается. systemd-journald и syslog-ng умеют вращать сами, но если у тебя свой демон пишет напрямую в файл, ротацию несёт logrotate. Вот как его …
ip: сетевая настройка и диагностика в CLI
Когда привычный ifconfig выдаёт пустую строку, а настройка маршрута через route требует отдельной команды — это не баг системы. Это iproute2, который в современных дистрибутивах вытеснил net-tools. Утилита ip из пакета iproute2 — стандартный …
Когда привычный ifconfig выдаёт пустую строку, а настройка маршрута через route требует отдельной команды — это не баг системы. Это iproute2, который в современных дистрибутивах вытеснил net-tools. Утилита ip из пакета iproute2 — стандартный …
ProxyJump и bastion-хосты через ~/.ssh/config
Иногда сервер живет в приватной сети, без публичного IP. Единственная точка входа — bastion host с белым адресом. Руками набирать ssh -J user@bastion user@private каждый раз — лишняя боль. Разберу, как настроить всё через ~/.ssh/config, чтобы ходить …
Иногда сервер живет в приватной сети, без публичного IP. Единственная точка входа — bastion host с белым адресом. Руками набирать ssh -J user@bastion user@private каждый раз — лишняя боль. Разберу, как настроить всё через ~/.ssh/config, чтобы ходить …
journalctl: фильтрация и форматирование логов systemd
Логи пропали. Сервер перезагрузили — и привычный less /var/log/syslog молчит. В современных дистрибутивах с systemd логи собирает journald, а читает их journalctl. Если не знать его фильтры, работа с системой превращается в гадание. Почему логи …
Логи пропали. Сервер перезагрузили — и привычный less /var/log/syslog молчит. В современных дистрибутивах с systemd логи собирает journald, а читает их journalctl. Если не знать его фильтры, работа с системой превращается в гадание. Почему логи …
systemd-run: запуск сервиса без unit-файла
Иногда нужно быстро поднять процесс под systemd, но писать unit-файл и класть его в /etc/systemd/system лень или нельзя — контейнер без systemd, чужая машина, временный запуск. На этот случай есть systemd-run. Зачем systemd-run Инструмент создает …
Иногда нужно быстро поднять процесс под systemd, но писать unit-файл и класть его в /etc/systemd/system лень или нельзя — контейнер без systemd, чужая машина, временный запуск. На этот случай есть systemd-run. Зачем systemd-run Инструмент создает …
sshd_config: минимум для стенда
SSH-доступ к стенду обычно открывают по-быстрому, а потом удивляются брутфорсу в логах. Базовый sshd_config, который отсекает типовые проблемы, укладывается в пять параметров и двадцать минут. Зачем менять умолчания Дистрибутивные sshd идут с …
SSH-доступ к стенду обычно открывают по-быстрому, а потом удивляются брутфорсу в логах. Базовый sshd_config, который отсекает типовые проблемы, укладывается в пять параметров и двадцать минут. Зачем менять умолчания Дистрибутивные sshd идут с …
logrotate: автоматическая ротация и архивация логов
Логи приложений забивают диск за неделю, а rm *.log вручную — путь к проблемам. logrotate решает это сам: ротирует, сжимает и удаляет старые файлы по расписанию. Разберёмся, как это работает и как настроить за пять минут. Как это устроено logrotate …
Логи приложений забивают диск за неделю, а rm *.log вручную — путь к проблемам. logrotate решает это сам: ротирует, сжимает и удаляет старые файлы по расписанию. Разберёмся, как это работает и как настроить за пять минут. Как это устроено logrotate …
mc — консольный клиент S3
S3-хранилища — стандарт де-факто для объектных бакетов, бэкапов и статики. Когда AWS CLI кажется избыточным, а веб-консоль неудобной, выручает MinIO Client (mc). Это консольный инструмент для любого S3-совместимого хранилища: MinIO, Yandex Cloud, AWS …
S3-хранилища — стандарт де-факто для объектных бакетов, бэкапов и статики. Когда AWS CLI кажется избыточным, а веб-консоль неудобной, выручает MinIO Client (mc). Это консольный инструмент для любого S3-совместимого хранилища: MinIO, Yandex Cloud, AWS …
ethtool: диагностика и тюнинг сетевого интерфейса
Проблемы с сетевой картой редко видны снаружи — интерфейс поднят, IP назначен, iptables молчит, а потери пакетов или микрофризы проявляются только под нагрузкой. ethtool даёт прямой доступ к состоянию железа, драйвера и offload-механизмов, которые не …
Проблемы с сетевой картой редко видны снаружи — интерфейс поднят, IP назначен, iptables молчит, а потери пакетов или микрофризы проявляются только под нагрузкой. ethtool даёт прямой доступ к состоянию железа, драйвера и offload-механизмов, которые не …
curl: отладка HTTP в терминале
cURL — стандартный инструмент отладки HTTP в терминале. Работает из коробки в Linux и macOS, есть в большинстве Docker-образов. Если нужно быстро проверить API, посмотреть заголовки ответа или отловить проблему с редиректом — одной строки достаточно. …
cURL — стандартный инструмент отладки HTTP в терминале. Работает из коробки в Linux и macOS, есть в большинстве Docker-образов. Если нужно быстро проверить API, посмотреть заголовки ответа или отловить проблему с редиректом — одной строки достаточно. …
tcpdump и tshark: захват и анализ пакетов в CLI
При отладке сетевых проблем в Linux-инфраструктуре недостаточно ping и curl. Иногда нужно посмотреть, что реально ходит по проводу. tcpdump — стандартный инструмент для захвата пакетов из CLI. tshark — его побратим из набора Wireshark, удобный для …
При отладке сетевых проблем в Linux-инфраструктуре недостаточно ping и curl. Иногда нужно посмотреть, что реально ходит по проводу. tcpdump — стандартный инструмент для захвата пакетов из CLI. tshark — его побратим из набора Wireshark, удобный для …
SSH Config: wildcards и подстановка переменных
SSH-клиент читает ~/.ssh/config строчку за строчкой, но без переменных файл быстро превращается в копипасту. Разбираю, как Host *, Match exec и подстановки %h, %r, %l сокращают конфиг в разы и закрывают реальные сценарии — от динамической …
SSH-клиент читает ~/.ssh/config строчку за строчкой, но без переменных файл быстро превращается в копипасту. Разбираю, как Host *, Match exec и подстановки %h, %r, %l сокращают конфиг в разы и закрывают реальные сценарии — от динамической …
Что такое Self-Hosted и почему она так популярна
Вы платите за подписку на Notion, Dropbox и Google Drive. Затем Notion повышает цену, Dropbox ограничивает хранилище, а Google «улучшает» интерфейс Docs. Самостоятельный хостинг — это когда вы берёте инфраструктуру в свои руки и перестаёте зависеть …
Вы платите за подписку на Notion, Dropbox и Google Drive. Затем Notion повышает цену, Dropbox ограничивает хранилище, а Google «улучшает» интерфейс Docs. Самостоятельный хостинг — это когда вы берёте инфраструктуру в свои руки и перестаёте зависеть …
Создание собственной службы Systemd
Приложение нужно запускать при старте сервера, перезапускать при падении и вести логи. Shell-скрипты в /etc/rc.local не дают ни перезапуска, ни зависимостей. Systemd решает всё это одной декларацией. Зачем писать свой unit-файл Вместо скриптов и …
Приложение нужно запускать при старте сервера, перезапускать при падении и вести логи. Shell-скрипты в /etc/rc.local не дают ни перезапуска, ни зависимостей. Systemd решает всё это одной декларацией. Зачем писать свой unit-файл Вместо скриптов и …
SSH escape-последовательности: оживление зависшего терминала
SSH-сессия зависла, Ctrl+C не помогает, Ctrl+D вываливает мусор — знакомая картина. Прежде чем закрывать терминал и терять сессию, попробуй встроенные escape-последовательности. Они работают на уровне SSH-клиента до того, как данные попадут на …
SSH-сессия зависла, Ctrl+C не помогает, Ctrl+D вываливает мусор — знакомая картина. Прежде чем закрывать терминал и терять сессию, попробуй встроенные escape-последовательности. Они работают на уровне SSH-клиента до того, как данные попадут на …
socat: проброс Unix-сокетов через TCP
Иногда нужно обратиться к Unix-сокету с хоста, где этот сокет физически не существует. SSH-туннель не поможет — он работает с TCP-портами. socat решает эту задачу: поднимает TCP- listener и пробрасывает соединения в Unix-сокет, а клиенту достаточно …
Иногда нужно обратиться к Unix-сокету с хоста, где этот сокет физически не существует. SSH-туннель не поможет — он работает с TCP-портами. socat решает эту задачу: поднимает TCP- listener и пробрасывает соединения в Unix-сокет, а клиенту достаточно …
cockpit-ufw-module: Uncomplicated Firewall в Cockpit
UFW на домашнем или небольшом сервере обычно настраивают по SSH: ufw status numbered, затем ufw allow 443/tcp. cockpit-ufw-module закрывает тот же цикл в браузере: пакет, статус, политики, правила. Это одна из панелей группы cockpit-modules — пункт …
UFW на домашнем или небольшом сервере обычно настраивают по SSH: ufw status numbered, затем ufw allow 443/tcp. cockpit-ufw-module закрывает тот же цикл в браузере: пакет, статус, политики, правила. Это одна из панелей группы cockpit-modules — пункт …
systemd-timer: планирование вместо cron
cron работает, но его логи — текстовый файл без структуры, а зависимости от сервисов приходится городить через костыли вроде Requires= в shell-скрипте. systemd-timer решает это: единый интерфейс управления, логи в journald, зависимости через familiar …
cron работает, но его логи — текстовый файл без структуры, а зависимости от сервисов приходится городить через костыли вроде Requires= в shell-скрипте. systemd-timer решает это: единый интерфейс управления, логи в journald, зависимости через familiar …
SSH-сертификаты вместо authorized_keys
authorized_keys — это классика, но когда серверов больше десятка, начинается хаос. Добавление нового разработчика превращается в ручное скачивание ключей и раскладку по десяткам машин. SSH-сертификаты решают проблему: один CA-ключ подписывает все …
authorized_keys — это классика, но когда серверов больше десятка, начинается хаос. Добавление нового разработчика превращается в ручное скачивание ключей и раскладку по десяткам машин. SSH-сертификаты решают проблему: один CA-ключ подписывает все …
Squid: проброс интернета на удалённую ВМ
Бывает так: твоя ВМ в облаке не имеет публичного IP или доступ в интернет через NAT закрыт, а деплой требует wget/curl изнутри. Squid на промежуточном хосте с нормальным каналом решает проблему за десять минут. Зачем это нужно Пробрасываю интернет …
Бывает так: твоя ВМ в облаке не имеет публичного IP или доступ в интернет через NAT закрыт, а деплой требует wget/curl изнутри. Squid на промежуточном хосте с нормальным каналом решает проблему за десять минут. Зачем это нужно Пробрасываю интернет …
MkDocs: генератор документации из Markdown
Документация в репозитории устаревает быстрее, чем её читают: ссылки в README ведут в никуда, разделы разбросаны по docs/, wiki/ и confluence, а поиск по сайту не работает. MkDocs решает это предсказуемо — берёт папку с .md файлами и собирает …
Документация в репозитории устаревает быстрее, чем её читают: ссылки в README ведут в никуда, разделы разбросаны по docs/, wiki/ и confluence, а поиск по сайту не работает. MkDocs решает это предсказуемо — берёт папку с .md файлами и собирает …
dig: отладка DNS-запросов в CLI
DNS- resolver отдал не тот адрес, клиенты не видят обновление, или просто непонятно, какой сервер сейчас отвечает на запросы. dig (Domain Information Groper) — стандартный инструмент для диагностики DNS из терминала. Работает на Linux, macOS, есть в …
DNS- resolver отдал не тот адрес, клиенты не видят обновление, или просто непонятно, какой сервер сейчас отвечает на запросы. dig (Domain Information Groper) — стандартный инструмент для диагностики DNS из терминала. Работает на Linux, macOS, есть в …
cockpit-modules: веб-панели для повседневной эксплуатации
Cockpit закрывает базовое администрирование Linux из браузера: сервисы, логи, сеть, аккаунты. Для файервола, fail2ban, cron и Let’s Encrypt штатного набора уже не хватает — либо нет панели, либо она слишком общая. Группа cockpit-modules — набор …
Cockpit закрывает базовое администрирование Linux из браузера: сервисы, логи, сеть, аккаунты. Для файервола, fail2ban, cron и Let’s Encrypt штатного набора уже не хватает — либо нет панели, либо она слишком общая. Группа cockpit-modules — набор …
Свой корневой сертификат: куда его класть, чтобы ему доверяли
TLS-ошибка «сертификат не доверен» почти никогда не значит, что сертификат «сломан». Обычно сломана точка доверия: клиент смотрит не в то хранилище, куда вы положили CA. curl, openssl, Git, Python и браузер — разные клиенты. У части из них своя база …
TLS-ошибка «сертификат не доверен» почти никогда не значит, что сертификат «сломан». Обычно сломана точка доверия: клиент смотрит не в то хранилище, куда вы положили CA. curl, openssl, Git, Python и браузер — разные клиенты. У части из них своя база …
Настройка Cron: практический разбор
Cron — стандартный планировщик в Linux, который встречается в каждой инфраструктуре. Задачи сыплются, логи копятся, окружение подводит. Разберём, как настраивать cron надёжно и где он не подходит. Когда cron нужен, а когда нет Cron подходит для …
Cron — стандартный планировщик в Linux, который встречается в каждой инфраструктуре. Задачи сыплются, логи копятся, окружение подводит. Разберём, как настраивать cron надёжно и где он не подходит. Когда cron нужен, а когда нет Cron подходит для …
Too many authentication failures: SSH исчерпал попытки
Received disconnect from 10.0.0.5 port 22:2: Too many authentication failures и следом Permission denied (publickey) — это не «сервер сломан» и не обязательно неверный пароль. Клиент потратил лимит попыток, пока перебирал ключи из агента, и до …
Received disconnect from 10.0.0.5 port 22:2: Too many authentication failures и следом Permission denied (publickey) — это не «сервер сломан» и не обязательно неверный пароль. Клиент потратил лимит попыток, пока перебирал ключи из агента, и до …
kind: локальный Kubernetes в Docker
Kubernetes-кластер на ноутбуке — задача нередкая: CI/CD, эксперименты с операторами, проверка манифестов без нагрузки на prod. minikube тянет виртуалку, k3s просит отдельный host, а kind поднимает управляющую плоскость в Docker-контейнерах. …
Kubernetes-кластер на ноутбуке — задача нередкая: CI/CD, эксперименты с операторами, проверка манифестов без нагрузки на prod. minikube тянет виртуалку, k3s просит отдельный host, а kind поднимает управляющую плоскость в Docker-контейнерах. …
Kafka: проверка работоспособности кластера
Kafka-кластер в KRaft-режиме не прощает, когда о нём забывают до первого инцидента. Проверять здоровье нужно регулярно и короткими командами — без графиков и дашбордов, прямо из консоли. Ниже — набор команд, которые закрывают типовой чек-лист: …
Kafka-кластер в KRaft-режиме не прощает, когда о нём забывают до первого инцидента. Проверять здоровье нужно регулярно и короткими командами — без графиков и дашбордов, прямо из консоли. Ниже — набор команд, которые закрывают типовой чек-лист: …
GNU Screen: сессии, которые переживают обрыв SSH
Долгий apt upgrade, миграция, сборка — и ноутбук ушёл в сон. SSH рвётся, процесс получает SIGHUP и умирает. GNU Screen держит терминал на сервере: отключился, подключился снова, работа на месте. Это не замена nohup и не «ещё один SSH». Это …
Долгий apt upgrade, миграция, сборка — и ноутбук ушёл в сон. SSH рвётся, процесс получает SIGHUP и умирает. GNU Screen держит терминал на сервере: отключился, подключился снова, работа на месте. Это не замена nohup и не «ещё один SSH». Это …
ssh-connection-manager: TUI для хостов из ~/.ssh/config
Когда в ~/.ssh/config десятки стендов, bastion и jump-хостов, вспоминать алиасы уже не хочется. ssh-connection-manager — это TUI поверх обычного OpenSSH: список хостов, фильтр, подключение штатным ssh, добавление новой записи в конфиг. Команда в …
Когда в ~/.ssh/config десятки стендов, bastion и jump-хостов, вспоминать алиасы уже не хочется. ssh-connection-manager — это TUI поверх обычного OpenSSH: список хостов, фильтр, подключение штатным ssh, добавление новой записи в конфиг. Команда в …