df и du: Как быстро найти, какая папка сожрала место на диске в Linux

Одна из самых частых ситуаций в практике администрирования: базы данных начинают отдавать ошибки, веб-сервер перестает записывать сессии, а при попытке дополнить файл конфигурации терминал сыплет сообщениями No space left on device. Диск забит на 100%. Хуже всего, когда это происходит внезапно, и вам нужно прямо сейчас найти виновника, чтобы поднять упавшие сервисы.

Для быстрой диагностики дисковой подсистемы в Linux есть два базовых инструмента: df и du. Они выполняют принципиально разные задачи: один показывает общую картину по смонтированным разделам, а второй — детально препарирует вес конкретных папок и файлов. Сегодня разберем, как с их помощью за полминуты локализовать и устранить утечку дискового пространства.

Читать далее «df и du: Как быстро найти, какая папка сожрала место на диске в Linux»

Манифест отчуждения кода: Как за два месяца собрать промышленный Fullstack-сервис, работать в отпуске и уйти с собственным продуктом

ДИСКЛЕЙМЕР: Этот текст не должен был увидеть свет. Перед вами не жалоба, не попытка оправдаться и не эмоциональный всплеск. Это монументальный технический и управленческий post-mortem проекта «Генератор КП» — хроника того, как создавался сложный корпоративный софт, как инженер сам позволил себя кинуть на старте, совершив классическую ошибку, и как менеджмент попытался выжать Middle+ Fullstack-разработку за копейки, прикрываясь мифами о «нейросетях, которые в 2026 году делают всё за три дня». Текст публикуется как манифест защиты инженерного труда и как открытое предложение для рынка: готовое бизнес-решение полностью отчуждено от старой компании и продается.

Читать далее «Манифест отчуждения кода: Как за два месяца собрать промышленный Fullstack-сервис, работать в отпуске и уйти с собственным продуктом»

Шпаргалка по curl: Проверка HTTP-заголовков, ответов сервера и TTFB из консоли

Когда вы разворачиваете веб-ресурс, настраиваете реверс-прокси, вам постоянно нужно проверять, как сервер отдает контент во внешний мир. Открывать для каждой микро-проверки тяжелый браузер, чистить кэш вручную или ковыряться в панели разработчика (F12) — неэффективно.

В консольной среде главным инструментом для тестирования сетевых запросов является утилита curl (Client URL). Она позволяет имитировать поведение любого клиента, проверять SSL-сертификаты, прокидывать кастомные заголовки и детально препарировать ответы сервера. Сегодня разберем базовые приемы работы с curl, которые пригодятся в повседневной практике для быстрой диагностики сайтов напрямую из терминала.

Читать далее «Шпаргалка по curl: Проверка HTTP-заголовков, ответов сервера и TTFB из консоли»

Управление правами в Linux: Раз и навсегда разбираемся с chmod и chown

Классическая картина: начинающий администратор разворачивает сайт на WordPress или переносит скрипты, и внезапно сталкивается со сбоем — веб-сервер не может загрузить картинку, обновить плагин или выплевывает ошибку доступа Permission Denied. Самое частое и худшее «решение», которое советуют на сомнительных форумах — бахнуть команду chmod -R 777 на всю директорию.

Давать полные права на чтение, запись и выполнение абсолютно всем пользователям в системе — это должностное преступление против безопасности сервера. Любой уязвимый скрипт или загруженный шелл получит полный контроль над вашими файлами. Безопасность и стабильность Linux начинаются с жесткой дисциплины прав доступа. Сегодня мы разберем физику работы утилит chown и chmod, чтобы вы навсегда забыли про слепое выставление трех семерок.

Читать далее «Управление правами в Linux: Раз и навсегда разбираемся с chmod и chown»

Шпаргалка по tar: Как правильно архивировать файлы в Linux с сохранением прав

Казалось бы, архивация файлов — базовая задача, с которой начинается знакомство с терминалом Linux. Но именно на ней чаще всего сыплются новички. Типичная ошибка: распаковал архив с сайтом или бэкапом на новом сервере, а всё сломалось — веб-сервер выдает ошибку доступа (классическая Forbidden 403), скрипты не исполняются, права улетели в дефолтные.

В Linux права доступа (Permissions) и владельцы файлов (Ownership) — это основа безопасности. Обычные утилиты компрессии при слепом копировании могут сбросить эти метаданные. Чтобы этого не происходило, стандартном автоматизации де-факто является утилита tar (Tape Archive). Она умеет не просто сжимать данные, а упаковывать их в один поток, намертво вшивая внутрь информацию о владельцах и масках прав. Сегодня разберем чистые CLI-команды для повседневной работы.

Читать далее «Шпаргалка по tar: Как правильно архивировать файлы в Linux с сохранением прав»

Защита терминальных сессий: Как GNU Screen спасает терабайтные бэкапы от внезапного обрыва SSH

Классическая история из админской практики: запускаешь тяжелый скрипт архивации (например, backup.sh), который должен упаковать несколько терабайт критических данных на сервере. Процесс долгий, ты сидишь и смотришь в консоль. И тут на самом интересном месте моргает провайдер, отваливается локальный Wi-Fi или рвется сессия OpenSSH / Putty. Связь восстанавливается через минуту, ты заходишь на сервер — и всё прервалось.

Дескрипторы закрылись, демон SSH отправил сигнал SIGHUP (Hangup) всем дочерним процессам внутри этого терминала, и ядро Linux их послушно прибило. Архив побит, время потеряно. Чтобы этого не происходило, нужно изолировать выполнение от сессии пользователя. Использовать для этого утилиту виртуальных экранов — GNU Screen. Она переносит дескрипторы ввода-вывода в безопасную зону оперативной памяти, полностью отвязывая процесс от стабильности твоего сетевого кабеля.

Читать далее «Защита терминальных сессий: Как GNU Screen спасает терабайтные бэкапы от внезапного обрыва SSH»

Stats.sh: Как я победил рутину и перестал набирать одни и те же команды

Знаете это чувство, когда ты делаешь одно и то же действие в сотый, тысячный раз? Со мной это случилось в прошлом месяце. Я получал доступ к свежеарендованному выделенному серверу и начинал набивать одну и ту же мантру: dmesg | tail, smartctl -A /dev/sda, df -h, cat /proc/mdstat, free -h, lscpu, vmstat 1 5, ps auxfww. Пальцы сами выбивали команды, а я уже мысленно был в другом месте.

Я инженер. Мне лень. А лень, как говорится, двигатель прогресса. Поэтому я сел и за вечер набросал скрипт, который делает всю эту грязную работу за меня. Встречайте: stats.sh!

Читать далее «Stats.sh: Как я победил рутину и перестал набирать одни и те же команды»

Простой переезд: Как развернуть Caddy на Debian 13 и подружить его с WordPress и Nextcloud

Привет, друзья! Сегодня у нас будет большой практический разбор, посвященный обновлению серверного веб-стека. Из года в год, настраивая новые серверы, многие системные администраторы по привычке ставят связку из Apache и утилиты Certbot для управления SSL-сертификатами. Мы копируем старые проверенные конфигурационные файлы, настраиваем cron для автоматического восстановления ключей Let’s Encrypt и тратим время на рутинное обслуживание системы.

Но зачем плодить лишний оверхед и усложнять архитектуру, если всю эту работу можно доверить автоматике? Сегодня мы поговорим про Caddy — современный, быстрый и стабильный веб-сервер, написанный на Go. Его главная фишка — ультимативная простота и полностью автоматическое управление безопасностью.

В этой статье мы пошагово разберем, как развернуть Caddy на актуальном Debian 13 (Trixie), как настроить реверс-прокси для внутренних приложений, как полностью заменить им старый Apache для обычных сайтов на WordPress с PHP 8.4 и как без боли перевести на этот стек облачное хранилище Nextcloud. Поехали разбираться!

Читать далее «Простой переезд: Как развернуть Caddy на Debian 13 и подружить его с WordPress и Nextcloud»

Развертывание и коммутация подсети IPv6 /64 на выделенном сервере

При развертывании серверной инфраструктуры на базе «честного железа» дефолтная конфигурация от большинства хостинг-провайдеров ограничивается выделением одного статического IPv4-адреса. В современных реалиях промышленной эксплуатации этого недостаточно. Полноценный стек Dual-Stack (одновременная поддержка IPv4 и IPv6) необходим не ради абстрактного следования трендам, а для обеспечения прямого сетевого суверенитета сервера. Наличие IPv6 снижает задержки (latency) за счет устранения промежуточных CGNAT-шлюзов на стороне клиентов.

Читать далее «Развертывание и коммутация подсети IPv6 /64 на выделенном сервере»

Иллюзия контроля: Как я сам уничтожил бэкапы, или Хроника одного пятничного безумия

Когда ты сам администрируешь свою серверную инфраструктуру, ты не просто арендуешь абстрактные вычислительные мощности. Ты берешь на себя полную, единоличную ответственность за каждый физический сектор на магнитных пластинах, за каждый вольт на шине питания под нагрузкой и за каждый байт данных, проходящий через кольца ядра операционной системы. В этой жесткой схеме нет места «технической поддержке» или «тикет-системам». Если всё работает идеально — тебя никто не замечает. Если всё рушится — ты остаешься один на один с ледяным мерцанием курсора в пустой консоли SSH в три часа ночи.

Вчера инфраструктура ушла в глубокий, беспросветный офлайн. Итог запланированной миграции на новое выделенное железо — тотальный, абсолютный провал. На домене висела глухая заглушка 503 — памятник моей собственной поспешности, идиотской избыточной самоуверенности и глупости. Да, я далеко не новичок в системном администрировании. Я прекрасно знаю все базовые принципы построения отказоустойчивых систем, наизусть помню правила резервного копирования и регулярно учу других, как надо делать правильно. Но в этот раз я умудрился похерить абсолютно всё, нарушив каждый существующий канон безопасности и эксплуатации.

Сегодня, когда дисковые массивы наконец досинхронизировались, а базы данных перестали плеваться ошибками целостности, я готов выдать полную, неприкрытую хронику этой катастрофы. Это честный инженерный разбор того, как поспешность превращает терабайты данных в цифровой мусор, как ломается человеческая логика и как выглядит процесс «хирургической» реанимации ядра системы, когда пути назад физически не существует.

Читать далее «Иллюзия контроля: Как я сам уничтожил бэкапы, или Хроника одного пятничного безумия»

root@phoenix901:~# connect
[×]

Получай дайджест раз в неделю.
Без спама.