Низкоуровневый аудит процесса в Linux!
Когда
Аргументы запуска процесса (
Показывает текущие аргументы процесса. Полезно для диагностики, но
Пример вывода:
Память процесса:
Пример:
Детальная карта памяти процесса:
Позволяет понять, где именно расходуется память:
Открытые файлы и сокеты процесса:
Здесь видны логи, сокеты,
Количество потоков внутри процесса:
Рост значения без явной нагрузки может указывать на проблемы с управлением потоками, но не всегда означает утечку.
Реальный исполняемый файл процесса:
Права и
🔥 Короткая практическая выжимка для анализа процессов на уровне procfs/ядра.
➡️ DevOps Ready | #практика
Когда
top и htop уже не дают ответов, вся реальная картина состояния процесса находится в /proc. Аргументы запуска процесса (
argv):cat /proc/PID/cmdline | tr '\0' ' '
Показывает текущие аргументы процесса. Полезно для диагностики, но
argv может быть изменён самим процессом и не всегда отражает исходную команду запуска.Пример вывода:
/usr/bin/python3 worker.py --queue=emails --env=prod
Память процесса:
cat /proc/PID/status | grep -E 'VmRSS|VmSize|VmSwap'
VmRSS — реально занятая RAM
VmSize — виртуальное адресное пространство процесса
VmSwap — объём, вытесненный в swap
Пример:
VmRSS: 412384 kB
VmSwap: 65536 kB
Детальная карта памяти процесса:
cat /proc/PID/smaps
Позволяет понять, где именно расходуется память:
private, shared, file-backed. На больших процессах может быть тяжёлым.Открытые файлы и сокеты процесса:
ls -l /proc/PID/fd
Здесь видны логи, сокеты,
pipes и удалённые файлы, которые всё ещё удерживаются процессом (доступ зависит от прав).Количество потоков внутри процесса:
ls /proc/PID/task | wc -l
Рост значения без явной нагрузки может указывать на проблемы с управлением потоками, но не всегда означает утечку.
Реальный исполняемый файл процесса:
readlink /proc/PID/exe
Права и
capabilities процесса:cat /proc/PID/status | grep Cap
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍10🔥10
Forwarded from Linux Ready | DevOps
День рождения Линуса Торвальдса: создателю Linux и Git исполнилось 56 лет!
Сегодня, 28 декабря, мир IT отмечает день рождения Линуса Бенедикта Торвальдса. Он родился в 1969 году в Хельсинки и начал программировать в 11 лет на Commodore VIC-20.
В 1991 году Линус выпустил ядро Linux, ставшее основой серверов, Android и тысяч embedded-систем. В 2005 году создал Git, который появился как быстрый инструмент для разработки самого Linux и за считанные годы стал стандартом индустрии.
@linux_ready
Сегодня, 28 декабря, мир IT отмечает день рождения Линуса Бенедикта Торвальдса. Он родился в 1969 году в Хельсинки и начал программировать в 11 лет на Commodore VIC-20.
В 1991 году Линус выпустил ядро Linux, ставшее основой серверов, Android и тысяч embedded-систем. В 2005 году создал Git, который появился как быстрый инструмент для разработки самого Linux и за считанные годы стал стандартом индустрии.
@linux_ready
❤23🔥11👍9
Тут мы видим, как работают
HTTP/HTTPS, WebSocket, TCP/UDP, SMTP и FTP, а также в каких сценариях их обычно применяют: от веб-браузинга и чатов до видео-конференций и загрузки файлов.Сохрани, чтобы быстро вспоминать, какой протокол за что отвечает и чем они отличаются по механике работы и
use case.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍9❤8
Как мгновенно откатить ошибочную команду в shell!
Запустил команду и сомневаешься, что она делает? Повтори последнюю команду без выполнения, просто выведи её:
Хочешь, чтобы при повторе команда сначала появлялась в терминале для проверки, а не исполнялась сразу?
Теперь при вводе:
🔥 Команда вставится в строку, но не выполнится, пока не нажмёшь Enter. Если увидел, что это не то — просто редактируй или отменяй.
➡️ DevOps Ready | #совет
Запустил команду и сомневаешься, что она делает? Повтори последнюю команду без выполнения, просто выведи её:
!!:p
!! — последняя команда из истории, :p — print only.Хочешь, чтобы при повторе команда сначала появлялась в терминале для проверки, а не исполнялась сразу?
shopt -s histverify
Теперь при вводе:
!!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤6👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Это больше, чем просто эмулятор: запускайте Ubuntu, Debian, Kali и другие дистрибутивы, работайте с терминалом, настраивайте сервисы и экспериментируйте с командами. Идеально для практики системного администрирования, DevOps и информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7🤝7
Девопсеры, с наступающим! 🎄
Желаю каждому провести новый 2026 год намного лучше и выполнить все планы. Моя цель: набрать более 15 тысяч подписчиков.
Желаю каждому провести новый 2026 год намного лучше и выполнить все планы. Моя цель: набрать более 15 тысяч подписчиков.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23🔥12👍7
В этом посте собраны ключевые команды и техники: от мгновенного перезапуска отдельных сервисов до глубокой очистки окружения и просмотра логов. Эти методы помогают тратить меньше времени на ожидание билдов и больше — на написание кода.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍5❤3🤝2
Например, DNS переводит домены в IP-адреса, HTTPS отвечает за безопасное соединение с сайтами и API, а SSH позволяет безопасно подключаться к серверам.
На картинке — сетевые сервисы, их протоколы и стандартные порты, которые постоянно встречаются в backend, DevOps и инфраструктурной работе.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7🔥6
Открываем ISO-образы в Linux без распаковки!
ISO монтируются как обычные каталоги через loop-устройство, что позволяет просматривать структуру диска и копировать файлы без изменения самого образа.
Монтирование в режиме только для чтения:
Проверка монтирования и просмотр содержимого:
Копирование файлов с сохранением доступных в образе атрибутов:
Сохранение прав, симлинков и расширенных атрибутов зависит от наличия поддержки Rock Ridge/Joliet в самом ISO. Ключ
Размонтирование:
Shell-функция для частого использования с автоматической очисткой:
Вызов:
🔥 Образ подключается в
➡️ DevOps Ready | #практика
ISO монтируются как обычные каталоги через loop-устройство, что позволяет просматривать структуру диска и копировать файлы без изменения самого образа.
Монтирование в режиме только для чтения:
sudo mkdir -p /mnt/iso
sudo mount -o loop,ro image.iso /mnt/iso
Проверка монтирования и просмотр содержимого:
findmnt /mnt/iso
ls /mnt/iso
Копирование файлов с сохранением доступных в образе атрибутов:
cp -a /mnt/iso ~/iso-copy/
Сохранение прав, симлинков и расширенных атрибутов зависит от наличия поддержки Rock Ridge/Joliet в самом ISO. Ключ
-a копирует только те метаданные, которые реально присутствуют и доступны.Размонтирование:
cd ~
sudo umount /mnt/iso
Shell-функция для частого использования с автоматической очисткой:
mountiso() {
local dir
dir=$(sudo mktemp -d /tmp/iso-XXXXXX)
sudo mount -o loop,ro "$1" "$dir" && cd "$dir"
echo "Для размонтирования выполните: sudo umount $dir && sudo rmdir $dir"
}Вызов:
mountiso ./ubuntu-24.04.iso
ro и остаётся неизменным. В контейнерах нужны CAP_SYS_ADMIN и доступ к /dev/loop* или запуск с --privileged.Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍8🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
Этот репозиторий включает лучшие практики и команды для Linux/macOS терминала. Здесь собраны приемы, комбинации CLI-утилит, практики, которые помогают работать быстрее, искать ошибки, обрабатывать данные и автоматизировать рутинные задачи. Отличный ресурс, чтобы повысить эффективность работы.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤7🔥7
Правильная архитектура
Git-репозиториев в DevOps — это не про красоту папок, а про безопасность деплоя, скорость отката и удобство командной работы. В этом посте:
• Монорепозиторий или Полирепозиторий: что выбрать под ваш масштаб?
• Структура IaC: почему модули должны жить отдельно от окружений;
• Слоеная архитектура: разделяем Core, Platform и App уровни;
• GitOps подход: как автоматизировать связь между кодом и манифестами.
Хорошая структура позволяет масштабировать систему без боли и лишних митингов. Разбираемся, как заложить фундамент правильно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥4
Например,
ssh -L открывает локальный порт и направляет трафик через SSH на удалённый сервис, а подключение через bastion даёт безопасный доступ к сервисам в приватной сети без public IP.На картинке — варианты port forwarding, плюс схема, как трафик идёт от SSH-клиента к внутреннему веб-серверу.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤8👍8🤝1
Как узнать, какие shared-библиотеки фактически использует процесс?
Хочешь понять, какие .so библиотеки реально загружены в память процесса, без ldd, lsof и сторонних утилит?
Нужно убедиться, что приложение использует именно нужную версию библиотеки?
Можно быстро увидеть, не была ли библиотека подменена или загружена через окружение:
🔥 maps отражает что уже загружено в память в момент проверки. Если либы нет — она ещё не загружена или может подгрузиться позже через
➡️ DevOps Ready | #совет
Хочешь понять, какие .so библиотеки реально загружены в память процесса, без ldd, lsof и сторонних утилит?
sudo grep "\.so" /proc/1234/maps
/proc/<PID>/maps показывает фактические file-backed mmap’ы, включая ELF shared objects.Нужно убедиться, что приложение использует именно нужную версию библиотеки?
grep "/lib/x86_64-linux-gnu/libssl.so" /proc/1234/maps
Можно быстро увидеть, не была ли библиотека подменена или загружена через окружение:
grep "LD_PRELOAD=" /proc/1234/environ
dlopen().Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥8👍7