Bcachefs теперь «внешне поддерживаемая»
Это значит, что ядро больше не принимает её изменения, а дальнейшая разработка ведётся вне основной кодовой базы.
⏺ Причина — конфликты с автором проекта Кентом Оверстритом: он присылает крупные изменения в неподходящее время, нарушая процесс ядра.
Торвальдс считает, что поздние релизы должны лишь исправлять ошибки, а Оверстрит настаивает на срочном исправлении багов для сохранности данных. Bcachefs остаётся экспериментальной ФС.
28 августа 2025 года Линус Торвальдс перевёл файловую систему Bcachefs в режим Externally maintained.
Это значит, что ядро больше не принимает её изменения, а дальнейшая разработка ведётся вне основной кодовой базы.
Торвальдс считает, что поздние релизы должны лишь исправлять ошибки, а Оверстрит настаивает на срочном исправлении багов для сохранности данных. Bcachefs остаётся экспериментальной ФС.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍2🤔1
Logrotate для нестандартных приложений
Стандартные сервисы вроде Nginx или syslog ротируются автоматически, а вот для нестандартных daemon или собственных приложений нужно использовать postrotate, sharedscripts и правильно обрабатывать сигнал HUP.
⏺ postrotate — команды после ротации (например, сигнал процессу перечитать лог).
⏺ sharedscripts — если несколько файлов ротируются, скрипт выполняется один раз.
⏺ HUP — заставляет daemon перечитать файл без перезапуска.
Пример для PostgreSQL:
Здесь логи сжимаются и хранятся неделю, пустые файлы не ротируются, а PostgreSQL после ротации продолжает писать в новый файл.
Пример для Nginx:
Можно добавить уведомление админа через mail или Slack.
Стандартные сервисы вроде Nginx или syslog ротируются автоматически, а вот для нестандартных daemon или собственных приложений нужно использовать postrotate, sharedscripts и правильно обрабатывать сигнал HUP.
Пример для PostgreSQL:
/var/log/postgresql/*.log {
daily
rotate 7
compress
delaycompress
notifempty
missingok
sharedscripts
postrotate
systemctl reload postgresql > /dev/null 2>/dev/null || true
endscript
}
Здесь логи сжимаются и хранятся неделю, пустые файлы не ротируются, а PostgreSQL после ротации продолжает писать в новый файл.
Пример для Nginx:
/var/log/nginx/*.log {
daily
rotate 14
missingok
notifempty
sharedscripts
postrotate
[ -f /run/nginx.pid ] && kill -HUP `cat /run/nginx.pid`
endscript
}
Можно добавить уведомление админа через mail или Slack.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3
Контейнер в Kubernetes постоянно перезапускается. Команда kubectl describe pod показывает:
Back-off restarting failed container Что это означает?
Back-off restarting failed container Что это означает?
Anonymous Quiz
20%
kubelet не видит контейнер
57%
Pod зациклился в CrashLoopBackOff
7%
Подов слишком много в namespace
16%
Kubernetes перезапустил узел
❤6🔥2
DevOps, админы, разработчики, архитекторы — хватит закрывать глаза на «серого кардинала» кластера.
9 сентября в 19:00 мы разберём все тонкости работы kubelet с ведущим DevOps-инженером и магистром Михаилом Чугуновым.
На вебинаре вы узнаете:
💡Как kubelet управляет жизненным циклом подов и почему без него кластер — как корабль без капитана
💡Что происходит, когда kubelet падает, и как быстро возвращать систему в строй
💡Взаимодействие с API-сервером, CRI, CNI, CSI и kube-proxy — не только теория, но реальные практические советы
💡Как избежать катастроф из-за неправильной настройки kubelet и продумать архитектуру под микросервисы
🎁Бонусы для участников:
7% скидка на любой курс OTUS
Видео-урок: «Детальный разбор Kubernetes»
Видео-разбор: «строим конвейер поставки»
Не откладывай — количество мест ограничено, а кластер ждать не станет.
Записывайся https://tglink.io/211848aff6ef
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFG9LYkG
9 сентября в 19:00 мы разберём все тонкости работы kubelet с ведущим DevOps-инженером и магистром Михаилом Чугуновым.
На вебинаре вы узнаете:
💡Как kubelet управляет жизненным циклом подов и почему без него кластер — как корабль без капитана
💡Что происходит, когда kubelet падает, и как быстро возвращать систему в строй
💡Взаимодействие с API-сервером, CRI, CNI, CSI и kube-proxy — не только теория, но реальные практические советы
💡Как избежать катастроф из-за неправильной настройки kubelet и продумать архитектуру под микросервисы
🎁Бонусы для участников:
7% скидка на любой курс OTUS
Видео-урок: «Детальный разбор Kubernetes»
Видео-разбор: «строим конвейер поставки»
Не откладывай — количество мест ограничено, а кластер ждать не станет.
Записывайся https://tglink.io/211848aff6ef
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: 2W5zFG9LYkG
❤2👎2
Мониторинг открытых файлов: lsof
В Linux всё — это файл. Сюда попадают не только документы на диске, но и сокеты, устройства, пайпы.
В таких случаях незаменим инструмент lsof (list open files).
Несколько базовых приёмов:
⏺
⏺
⏺
Кроме поиска по файлам и портам, lsof помогает находить процессы с утечками дескрипторов. Иногда сервисы постепенно «съедают» лимит открытых файлов, и тогда lsof -p <PID> покажет, чем именно завален процесс.
🔥 В связке с df и du утилита позволяет быстро вычислить «невидимых пожирателей места», а при отладке сетей — вычленить подозрительные соединения.
Инструмент старый, но до сих пор один из самых надёжных для диагностики.
В Linux всё — это файл. Сюда попадают не только документы на диске, но и сокеты, устройства, пайпы.
Иногда это приводит к странным ситуациям: файл вроде удалили, а место на диске не освободилось. Или порт висит занятым, хотя процесс уже остановлен.
В таких случаях незаменим инструмент lsof (list open files).
Несколько базовых приёмов:
lsof /path/to/file
— покажет, какой процесс держит файл открытым. Полезно, если удалённый лог «не освобождает» место.lsof -i :8080
— кто слушает порт 8080 или держит соединение. Отлично работает при отладке сервисов.lsof -u www-data
— все открытые файлы конкретного пользователя, например, у веб-сервера.Кроме поиска по файлам и портам, lsof помогает находить процессы с утечками дескрипторов. Иногда сервисы постепенно «съедают» лимит открытых файлов, и тогда lsof -p <PID> покажет, чем именно завален процесс.
Инструмент старый, но до сих пор один из самых надёжных для диагностики.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤4
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Однако агрессивная дефрагментация может вызвать паузы в работе приложений из-за копирования страниц, поэтому в высоконагруженных системах её часто отключают или настраивают в режиме “madvise”, чтобы влияние на производительность было минимальным.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Канал Team Lead'a, где публикуются полезные советы и практики для Python-разработчиков:
780 ГБ — Боты на Python
511 ГБ — Проекты на Python
23 ГБ — Cтатьи Python
958 ГБ — Видеокурсы Python
12 ГБ — Вопросы с собесов
30 ГБ — Задачи с собесов
124 ГБ — SQL & Python
98 ГБ — Docker & Python
197 ГБ — Linux & Python
201 ГБ — Алгоритмы & Python
335 ГБ — Фреймворк Django
408 ГБ — Книги по Python
👉🏻 Подписывайся и прокачивай свои навыки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1😁1
Поиск «тяжёлых» файлов: ncdu
На помощь приходит ncdu — интерактивный аналог du, который показывает размер каталогов и файлов в удобной древовидной структуре и позволяет управлять ими прямо из интерфейса.
Например, чтобы проверить логи:
Откроется текстовый интерфейс, где можно быстро сортировать файлы и папки по размеру, перемещать их или удалять.
Это помогает находить крупные логи, временные файлы и другие объекты, которые занимают место, без необходимости писать сложные скрипты.
Плюсы ncdu:
⏺ Видно, сколько реально занимает каждая папка.
⏺ Можно удалять или перемещать файлы прямо в интерфейсе.
⏺ Быстро ориентируетесь на серверах с ограниченным SSD.
⏺ Подходит для диагностики как пользовательских, так и системных директорий.
Когда на сервере заканчивается место, команды вроде du и ls -lh не всегда помогают быстро понять, что именно съедает дисковое пространство.
На помощь приходит ncdu — интерактивный аналог du, который показывает размер каталогов и файлов в удобной древовидной структуре и позволяет управлять ими прямо из интерфейса.
Например, чтобы проверить логи:
ncdu /var/log
Откроется текстовый интерфейс, где можно быстро сортировать файлы и папки по размеру, перемещать их или удалять.
Это помогает находить крупные логи, временные файлы и другие объекты, которые занимают место, без необходимости писать сложные скрипты.
Плюсы ncdu:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6🔥1
Первый альфа-выпуск дистрибутива KDE Linux
Системные образы (~5 ГБ) работают в Live-режиме, основаны на Arch Linux, обновляются атомарно и поддерживают зашифрованные разделы для пользовательских данных.
Обновления идут на пассивный Btrfs-раздел с возможностью отката, а дополнительные приложения можно устанавливать через Flatpak, AppImage, Snap, Distrobox или Toolbox.
Альфа рассчитана на тестирование и контроль качества, поддерживает только UEFI, Wayland и новые GPU NVIDIA (Turing+).
Команда KDE представила первый альфа-выпуск дистрибутива KDE Linux.
Системные образы (~5 ГБ) работают в Live-режиме, основаны на Arch Linux, обновляются атомарно и поддерживают зашифрованные разделы для пользовательских данных.
Обновления идут на пассивный Btrfs-раздел с возможностью отката, а дополнительные приложения можно устанавливать через Flatpak, AppImage, Snap, Distrobox или Toolbox.
Альфа рассчитана на тестирование и контроль качества, поддерживает только UEFI, Wayland и новые GPU NVIDIA (Turing+).
В будущем появятся Stable и Enthusiast Edition с финальными и свежими релизами KDE Plasma.
❤8👍5🔥2👎1
Впервые на экранах! Онлайн-марафон «PT NGFW: исповедь инженеров» 😲
Пять дней инженерного хардкора: с 15 по 19 сентября, 11:00-13:00💪
Кажется, команда готова исповедоваться: за одну неделю расскажет не только, как работает PT NGFW, но и почему он работает именно так. Это будет не просто теория, а живой обмен опытом, разбор реальных кейсов и практические советы, которые можно сразу применить в работе.
В спикерах — вся команда PT NGFW.
🏆 Головоломки от наших экспертов и шанс выиграть собственный PT NGFW*🏆
Регистрируйтесь на сайте
Информация о конкурсе
Пять дней инженерного хардкора: с 15 по 19 сентября, 11:00-13:00💪
Кажется, команда готова исповедоваться: за одну неделю расскажет не только, как работает PT NGFW, но и почему он работает именно так. Это будет не просто теория, а живой обмен опытом, разбор реальных кейсов и практические советы, которые можно сразу применить в работе.
В спикерах — вся команда PT NGFW.
Регистрируйтесь на сайте
Информация о конкурсе
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1
Inotify и fsnotify для событий на файловой системе
Linux умеет уведомлять процессы о событиях на файловой системе.
С помощью inotify (и абстракции fsnotify в ядре) можно отслеживать создание, удаление, модификацию файлов и каталогов, что удобно для автоматизации.
Вместо регулярного опроса ls или find достаточно «подписаться» на события файловой системы — это экономит ресурсы и ускоряет реакцию.
Базовый пример с inotifywait (из пакета inotify-tools):
Что можно отслеживать:
• create — создание файла
• delete — удаление
• modify — изменение содержимого
• moved_to / moved_from — перемещение файлов в/из каталога
Linux умеет уведомлять процессы о событиях на файловой системе.
С помощью inotify (и абстракции fsnotify в ядре) можно отслеживать создание, удаление, модификацию файлов и каталогов, что удобно для автоматизации.
Пример применения: нужно запускать скрипт каждый раз, когда появляются новые логи или выгружается дамп БД.
Вместо регулярного опроса ls или find достаточно «подписаться» на события файловой системы — это экономит ресурсы и ускоряет реакцию.
Базовый пример с inotifywait (из пакета inotify-tools):
# следим за появлением новых файлов в каталоге /var/log/myapp
inotifywait -m /var/log/myapp -e create -e moved_to |
while read path action file; do
echo "Новый файл $file обнаружен в $path, запускаем скрипт..."
/usr/local/bin/process_new_log.sh "$path/$file"
done
Что можно отслеживать:
• create — создание файла
• delete — удаление
• modify — изменение содержимого
• moved_to / moved_from — перемещение файлов в/из каталога
❤9👍4
Быстрый поиск строк в логах: ripgrep
Когда на сервере гигабайты логов, а надо срочно найти конкретную ошибку, стандартный grep начинает тормозить.
Он оптимизирован под большие объёмы данных и работает в разы быстрее.
Пример для поиска ошибок во всех логах:
По умолчанию он рекурсивно обходит каталоги и выводит совпадения с путём к файлу и номером строки.
Если нужен контекст вокруг найденной строки:
Так выводятся три строки до и после совпадения — удобно при анализе логов PostgreSQL, Nginx или системных журналов.
⏺ ripgrep поддерживает регулярные выражения, можно искать сразу несколько шаблонов и фильтровать файлы по расширениям. Например:
Вывод ограничится только SQL-логами.
Когда на сервере гигабайты логов, а надо срочно найти конкретную ошибку, стандартный grep начинает тормозить.
Здесь помогает ripgrep (rg) — современный инструмент поиска по тексту.
Он оптимизирован под большие объёмы данных и работает в разы быстрее.
Пример для поиска ошибок во всех логах:
rg "ERROR" /var/log
По умолчанию он рекурсивно обходит каталоги и выводит совпадения с путём к файлу и номером строки.
Если нужен контекст вокруг найденной строки:
rg -C 3 "FATAL" /var/log/postgresql
Так выводятся три строки до и после совпадения — удобно при анализе логов PostgreSQL, Nginx или системных журналов.
rg -t sql "SELECT.*FROM" /var/log
Вывод ограничится только SQL-логами.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4