Forwarded from Хабр Новости
В начале декабря 2025 года Linux 6.18 официально стал выпуском ядра с долгосрочной поддержкой (LTS) — до декабря 2027 года.
#ОС #разработка
#ОС #разработка
👍1
Викторина «Linux или боль» завершена 🔥
Если ты набрал:
8–10 - ты человек, который однажды забудет пароль root, но всё равно зайдёт через initramfs.
5–7 - у тебя устойчивость к боли. Ты ещё вернёшься.
0–4 - ты или джун, или уже слишком опытный, чтобы снова страдать.
Напиши свой результат в комментариях.
И выбери, какую следующую линукс-викторину запускать:
«Найди ошибку в bash-скрипте»
«Угадай, какой сервис упал»
«Сетевой Linux: выживет только один»
Если ты набрал:
8–10 - ты человек, который однажды забудет пароль root, но всё равно зайдёт через initramfs.
5–7 - у тебя устойчивость к боли. Ты ещё вернёшься.
0–4 - ты или джун, или уже слишком опытный, чтобы снова страдать.
Напиши свой результат в комментариях.
И выбери, какую следующую линукс-викторину запускать:
«Найди ошибку в bash-скрипте»
«Угадай, какой сервис упал»
«Сетевой Linux: выживет только один»
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2
#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Что делает команда kill -0 <PID>?
Anonymous Quiz
23%
Немедленно завершает процесс
46%
Проверяет существование процесса, не посылая сигнал
9%
Перезапускает процесс
21%
Посылает SIGSTOP
❤1😇1
Что на самом деле делает
Что делает
Проверяет, существует ли процесс и можно ли к нему обращаться сигналами - при этом не посылает никакого сигнала.
Это просто тест на доступность процесса.
Почему это важно?
Потому что иногда нужно узнать:
⚪️ жив ли процесс?
⚪️ есть ли права взаимодействовать с ним?
⚪️ не “повис” ли PID после падения?
⚪️ стоит ли перезапускать сервис или это ложная тревога?
И всё это - без риска его случайно убить.
Как это работает?
Команда
делает системный вызов
Нулевой сигнал - это не сигнал. Это проверка.
Возможные результаты:
⚪️ Выходит без ошибки → процесс существует, доступен, жив.
⚪️
⚪️
Выглядит как мелочь, а в продакшене - спасает от ложных срабатываний мониторинга и бесконечных перезапусков.
Где используют
1. В health-check скриптах
Перед тем как перезапустить сервис, проверяют, жив ли текущий PID.
2. В init-скриптах systemd и supervisord
Чтобы не запустить дублирующие процессы.
3. В CI/CD пайплайнах
Для проверки зависших тестов или фоновых задач.
4. В мониторинге
Zabbix, Prometheus exporters, cron - все любят быструю проверку на существование процесса.
Почему не стоит игнорировать этот приём
Это очень безопасный, надёжный и почти бесплатный способ понять текущее состояние процесса без взаимодействия с ним.
kill -0 <PID> и почему это один из самых недооценённых приёмов в LinuxЧто делает
kill -0 <PID>?Проверяет, существует ли процесс и можно ли к нему обращаться сигналами - при этом не посылает никакого сигнала.
Это просто тест на доступность процесса.
Почему это важно?
Потому что иногда нужно узнать:
И всё это - без риска его случайно убить.
Как это работает?
Команда
kill -0 <PID>
делает системный вызов
kill(), но с “нулевым” сигналом.Нулевой сигнал - это не сигнал. Это проверка.
Возможные результаты:
ESRCH → процесса с таким PID нет.EPERM → процесс есть, но нет прав для сигналов.Выглядит как мелочь, а в продакшене - спасает от ложных срабатываний мониторинга и бесконечных перезапусков.
Где используют
kill -0 в реальной работе1. В health-check скриптах
Перед тем как перезапустить сервис, проверяют, жив ли текущий PID.
2. В init-скриптах systemd и supervisord
Чтобы не запустить дублирующие процессы.
3. В CI/CD пайплайнах
Для проверки зависших тестов или фоновых задач.
4. В мониторинге
Zabbix, Prometheus exporters, cron - все любят быструю проверку на существование процесса.
Почему не стоит игнорировать этот приём
Это очень безопасный, надёжный и почти бесплатный способ понять текущее состояние процесса без взаимодействия с ним.
ps, pgrep, pidof - полезны, но kill -0 проверяет ещё и права, что особенно критично в мультипользовательских системах и контейнерах.Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👎2
Какую ключевую особенность имеет rsync, которой нет в scp?
Anonymous Quiz
4%
Использование TCP
81%
Инкрементальная передача только изменённых блоков
6%
Поддержка IPv6
9%
Возможность копировать каталоги
❤1
rsync, scp и sftp: чем копировать, чтобы потом не было больно
В Linux есть три популярных способа копирования файлов по сети:
Протоколы и принцип работы
Он не знает, что копирует, не умеет продолжать передачу и каждый раз гоняет файл целиком.
Больше похож на FTP: можно ходить по каталогам, забирать файлы, но для автоматизации и массовых операций он неудобен.
Он сравнивает источник и назначение и передаёт только различия. Именно поэтому его используют в проде.
Ускорение и контроль передачи
🟢
🟢
🟢
В
Безопасность
Все три работают по SSH.
Если настроены ключи, отключён пароль и ограничены права - по безопасности разницы нет.
Но
Частые ошибки rsync
🗄 забывают
🗄 используют -
🗄 синхронизируют
🗄 копируют миллион мелких файлов без
Когда использовать что
✅ Бэкапы 👉
✅ Миграции серверов 👉
✅ Перенос конфигов 👉
✅ Один файл быстро забрать 👉
✅ Ручная работа с файлами 👉
В Linux есть три популярных способа копирования файлов по сети:
scp, sftp и rsync. Формально все они работают поверх SSH и считаются безопасными, но на практике решают разные задачи.Протоколы и принцип работы
scp - это прямое копирование файла “как есть”. Он не знает, что копирует, не умеет продолжать передачу и каждый раз гоняет файл целиком.
sftp - интерактивный файловый протокол поверх SSH.Больше похож на FTP: можно ходить по каталогам, забирать файлы, но для автоматизации и массовых операций он неудобен.
rsync - не просто копирование, а синхронизация.Он сравнивает источник и назначение и передаёт только различия. Именно поэтому его используют в проде.
Ускорение и контроль передачи
rsync выигрывает за счёт флагов:--partial - продолжение прерванной передачи--compress - сжатие данных на лету--progress - реальный прогресс, а не “ждите”В
scp максимум, на что можно рассчитывать - флаг -C для сжатия, без контроля состояния.Безопасность
Все три работают по SSH.
Если настроены ключи, отключён пароль и ограничены права - по безопасности разницы нет.
Но
rsync позволяет тонко управлять тем, что и куда копируется, что снижает риск случайно затереть прод.Частые ошибки rsync
/ в конце пути и копируют каталог целиком-delete без dry-run /etc, не исключив секреты--inplaceКогда использовать что
rsyncrsyncrsyncscpsftpЕсли коротко: в автоматизации rsync, всё остальное - компромисс.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3
Что покажет команда journalctl -xe?
Anonymous Quiz
6%
Текущие процессы
76%
Детализированные ошибки последних событий systemd
6%
Вывод сетевых логов
11%
Логи ядра
❤1
journalctl -xe: первая команда, которую вводят, когда «что-то сломалось»Когда в Linux внезапно не стартует сервис, systemd ругается, а причина неочевидна - почти всегда первым делом вводят:
journalctl -xe
И не просто так.
Что показывает
journalctl -xeЭта команда выводит детализированные сообщения об ошибках последних событий
systemd, с пояснениями и фокусом именно на проблемах.Она не показывает процессы, не лезет в сетевые логи и не является просмотром логов ядра в чистом виде. Это быстрый и удобный инструмент диагностики системных сбоев.
Почему именно
-x и -eФлаги здесь работают в связке:
-e
Перемещает вывод сразу в конец журнала - к самым свежим событиям. То есть ты сразу видишь, что произошло только что, без прокрутки километров логов.
-x
Добавляет человеческие пояснения к сообщениям systemd. Это не просто сухая ошибка, а подсказка, что именно пошло не так и в каком направлении копать.
Вместе они превращают
journalctl в инструмент быстрого разбора аварий.Когда реально полезно
journalctl -xe обычно запускают, когда:systemctl start вернул ошибку)Это точка входа в дебаг, а не финальный диагноз.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤2
Что означает grep -E?
Anonymous Quiz
25%
Исключающий поиск
60%
Расширенные регулярные выражения
13%
Режим точного совпадения
2%
Поиск только по файлам .txt
❤1
grep: история о возможностях, которыми почти никто не пользуется
Большинство знают
Поиск по множеству файлов
Можно искать по каталогам, маскам и даже по всему проекту.
Регулярки и флаг
Читаемый вывод
Цвет - не гулянка. Это скорость анализа и меньше ошибок глазами.
Поиск с исключениями
Идеально, когда нужно убрать шум и оставить только важное.
Большинство знают
grep как “поиск строки в файле”. На самом деле это один из самых мощных инструментов анализа в Linux.Поиск по множеству файлов
grep "ERROR" /var/log/*.log
grep -r "token" .
Можно искать по каталогам, маскам и даже по всему проекту.
Регулярки и флаг
-Egrep -E "ERROR|WARN|FATAL" app.log
-E включает расширенные регулярные выражения. Без него половина возможностей просто недоступна.Читаемый вывод
grep --color=auto "timeout" app.log
Цвет - не гулянка. Это скорость анализа и меньше ошибок глазами.
Поиск с исключениями
grep -v "healthcheck" access.log
Идеально, когда нужно убрать шум и оставить только важное.
👍12
Что делает команда watch -n 1 -d df -h?
Anonymous Quiz
10%
Запускает df только один раз
75%
Выполняет df каждые 1 секунду и подсвечивает изменения
14%
Мониторит диск в режиме интерактива
1%
Анализирует inode
👍3❤1
watch: команда, которая показывает живую систему
Базовая идея
Команда выполняется каждые N секунд, а ты видишь, как меняется состояние.
Реальные кейсы
Идеально для:
🟢 отладки
🟢 диагностики
🟢 наблюдения за деградацией
В расследовании инцидентов
Когда:
🟠 растёт диск
🟠 отваливаются сокеты
🟠 поды флапают
🟠 память “утекает”
Кастомизация
Можно менять интервал и подсвечивать изменения - идеально для сравнения состояний.
Почему лучше cron
Cron даёт точки во времени.
watch - один из самых недооценённых инструментов Linux. Он позволяет наблюдать за системой в реальном времени, без скриптов и демонов.Базовая идея
watch <command>
Команда выполняется каждые N секунд, а ты видишь, как меняется состояние.
Реальные кейсы
watch df -h
watch ss -lntup
watch kubectl get pods
watch free -m
Идеально для:
В расследовании инцидентов
Когда:
watch показывает динамику, а не статический снимок.Кастомизация
watch -n 1 command
watch -d command
Можно менять интервал и подсвечивать изменения - идеально для сравнения состояний.
Почему лучше cron
Cron даёт точки во времени.
watch даёт контекст и поведение системы.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🥴3🤪1💊1
#подборка_статей_Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Что значит состояние процесса Z?
Anonymous Quiz
5%
Спит, ожидая I/O
2%
Остановлен пользователем
92%
Зомби — завершён, но не убран родителем
1%
В данный момент работает
👍1
Что значит состояние процесса Z в Linux
Иногда в
Что такое процесс-зомби
Процесс в состоянии Z (zombie) - это процесс, который уже завершился, но его родитель ещё не забрал код завершения через wait().
Проще говоря:
🟢 сам процесс мертв;
🟢 запись о нём осталась в таблице процессов;
🟢 ресурсы (CPU, память) он не потребляет.
Почему появляются зомби
Каждый процесс в Linux обязан:
🔴 завершиться;
🔴 сообщить родителю статус выхода;
🔴 быть «убранным» родителем.
Если родитель:
🟢 не вызывает wait();
🟢 завис;
🟢 написан с ошибкой,
то дочерний процесс превращается в зомби.
Почему зомби нельзя убить
✅ процесса фактически уже нет;
✅ сигналу некуда доставляться.
Поэтому:
🤔 kill -9 не помогает;
🤔 перезапускать нужно родителя, а не зомби.
Опасны ли зомби
Один-два - нет.
Тысячи - да.
Хотя зомби не жрут ресурсы, они:
- занимают PID’ы;
- могут забить таблицу процессов;
- указывают на баги в приложении.
Как избавиться от зомби
Правильные способы:
🟢 перезапустить родительский процесс;
🟢 починить код, чтобы вызывался wait();
🟢 в крайнем случае - перезапуск сервиса или системы.
Неправильный способ - бесконечно пытаться убить Z через kill.
Иногда в
ps, top или htop можно увидеть процесс со статусом Z. Это не «зависший» и не «работающий» процесс - это зомби.Что такое процесс-зомби
Процесс в состоянии Z (zombie) - это процесс, который уже завершился, но его родитель ещё не забрал код завершения через wait().
Проще говоря:
Почему появляются зомби
Каждый процесс в Linux обязан:
Если родитель:
то дочерний процесс превращается в зомби.
Почему зомби нельзя убить
kill не работает, потому что:Поэтому:
🤔 kill -9 не помогает;
🤔 перезапускать нужно родителя, а не зомби.
Опасны ли зомби
Один-два - нет.
Тысячи - да.
Хотя зомби не жрут ресурсы, они:
- занимают PID’ы;
- могут забить таблицу процессов;
- указывают на баги в приложении.
Как избавиться от зомби
Правильные способы:
Неправильный способ - бесконечно пытаться убить Z через kill.
Состояние Z - это не проблема ядра и не баг Linux. Это сигнал, что где-то есть криво написанный родительский процесс. Если видишь зомби - ищи того, кто его «породил».
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Какой командой можно посмотреть использование сети в реальном времени?
Anonymous Quiz
13%
top
58%
netcat
25%
bandwhich
5%
lsmod
👎7❤3
Как посмотреть использование сети в реальном времени в Linux
Одна из самых частых болей в Linux - «интернет лагает, но непонятно почему». Процессов много, сервисов ещё больше, а понять, кто именно сейчас ест сеть, бывает сложно. Именно для таких ситуаций и существует bandwhich.
Это утилита, которая в реальном времени показывает, какие процессы и подключения потребляют сетевой трафик. Не абстрактные мегабиты по интерфейсу, а конкретно: какой процесс, по какому адресу и с какой скоростью передаёт или принимает данные. В этом её ключевое отличие от классических инструментов.
В отличие от
Bandwhich особенно хорошо заходит, когда нужно быстро найти источник проблемы: внезапно вырос исходящий трафик, сервер начал «качать» данные без видимой причины, контейнер неожиданно упирается в лимиты. Запустил утилиту - и сразу видно, кто именно виноват.
Отдельный плюс - читаемый интерфейс. Никаких графиков ради графиков, только полезная информация: процесс, направление трафика, скорость и общий объём. Именно поэтому bandwhich часто используют DevOps, админы и SRE во время инцидентов, когда времени разбираться «по науке» просто нет.
Одна из самых частых болей в Linux - «интернет лагает, но непонятно почему». Процессов много, сервисов ещё больше, а понять, кто именно сейчас ест сеть, бывает сложно. Именно для таких ситуаций и существует bandwhich.
Это утилита, которая в реальном времени показывает, какие процессы и подключения потребляют сетевой трафик. Не абстрактные мегабиты по интерфейсу, а конкретно: какой процесс, по какому адресу и с какой скоростью передаёт или принимает данные. В этом её ключевое отличие от классических инструментов.
В отличие от
top, который работает с CPU и памятью, bandwhich вообще не интересуется загрузкой процессора. Он смотрит на сетевые сокеты и сопоставляет их с процессами. Поэтому top здесь бесполезен. netcat - это инструмент для ручной работы с соединениями, а не мониторинг. lsmod вообще показывает загруженные модули ядра и к сети отношения не имеет.Bandwhich особенно хорошо заходит, когда нужно быстро найти источник проблемы: внезапно вырос исходящий трафик, сервер начал «качать» данные без видимой причины, контейнер неожиданно упирается в лимиты. Запустил утилиту - и сразу видно, кто именно виноват.
Отдельный плюс - читаемый интерфейс. Никаких графиков ради графиков, только полезная информация: процесс, направление трафика, скорость и общий объём. Именно поэтому bandwhich часто используют DevOps, админы и SRE во время инцидентов, когда времени разбираться «по науке» просто нет.
Если коротко: когда нужен быстрый и честный ответ на вопрос «кто жрёт сеть прямо сейчас», правильная команда - bandwhich.
👍6👎3
Что делает команда ncdu?
Anonymous Quiz
3%
Показывает историю команд
69%
Анализирует дисковое пространство в TUI
10%
Создаёт системные дампы
17%
Мониторит порты
👍3👎1