В этом посте собраны ключевые команды и техники: от мгновенного перезапуска отдельных сервисов до глубокой очистки окружения и просмотра логов. Эти методы помогают тратить меньше времени на ожидание билдов и больше — на написание кода.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
Когда кластер начинает вести себя нестабильно, время на поиск решения ограничено. Эти команды помогут мгновенно локализовать сбой, проверить события жизненного цикла контейнеров и пробросить порты для глубокой отладки без правок в конфигах.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤6👍6
Например,
BIOS/UEFI запускает проверку железа (POST) и ищет устройства, GRUB загружает ядро, а systemd поднимает сервисы и готовит систему к логину.На картинке — 8 этапов boot-процесса, которые стоит держать под рукой, чтобы быстро понимать, где искать проблему при отладке или настройке сервера.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤9🔥8
Как быстро поднять HTTP-шаринг директории одной командой!
В Linux можно за секунду превратить любую папку в HTTP-файлообменник, встроенным модулем Python. Помогает, когда нужно быстро передать файлы в сети или проверить статику фронта.
Нужен список файлов в браузере с автоматической навигацией? Он уже там:
Если хотите, чтобы сервер слушал только
Нужно запустить и получить
Хотите скачать всю директорию одной командой на другой машине?
🔥 Рекурсивно, без выхода за пределы папки и без лишних путей.
➡️ DevOps Ready | #совет
В Linux можно за секунду превратить любую папку в HTTP-файлообменник, встроенным модулем Python. Помогает, когда нужно быстро передать файлы в сети или проверить статику фронта.
Нужен список файлов в браузере с автоматической навигацией? Он уже там:
cd /path/to/share
python3 -m http.server 8080
Если хотите, чтобы сервер слушал только
localhost (без риска открыть доступ в сеть):python3 -m http.server 8080 --bind 127.0.0.1
Нужно запустить и получить
PID одной строкой?python3 -m http.server 8080 & echo $!
Хотите скачать всю директорию одной командой на другой машине?
wget -r -np -nH --cut-dirs=1 http://HOST:8080/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤10🔥9
В этой статье:
• Четыре золотых сигнала SRE (задержка, трафик, ошибки, насыщение) на простых примерах;
• Как применить это на практике: как ловить аномалии в логах и алертах чтобы не просыпаться ночью от пейджеров;
• Почему SRE-мышление — это не про кучу тулов, а про понимание системы.🔊 Продолжай читать на Habr!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍3
Анализ эффективности IP-блокировок на практике!
Проверка механизмов фильтрации трафика позволяет выявить «дыры» в защите, такие как пропуски через
Мы создадим тестовый сценарий, имитирующий атаку, и проверим, как система реагирует на смену адресов и попытки обхода. Это базовый навык для настройки
Для начала настроим временное правило в
Теперь проверим, как приложение реагирует на запросы с поддельным заголовком
Результат проверки: если сервер вернул
Протестируем устойчивость блокировки при обращении через протокол
Ожидаемый вывод: попытка соединения или код
🔥 Всегда проверяйте, синхронизированы ли правила для
➡️ DevOps Ready | #практика
Проверка механизмов фильтрации трафика позволяет выявить «дыры» в защите, такие как пропуски через
IPv6, некорректная обработка X-Forwarded-For или отсутствие лимитов на количество запросов.Мы создадим тестовый сценарий, имитирующий атаку, и проверим, как система реагирует на смену адресов и попытки обхода. Это базовый навык для настройки
WAF и систем предотвращения вторжений (IPS).Для начала настроим временное правило в
iptables, которое имитирует блокировку подозрительного адреса после обнаружения сканирования:sudo iptables -A INPUT -s 192.168.1.50 -j DROP
Теперь проверим, как приложение реагирует на запросы с поддельным заголовком
X-Forwarded-For, который часто используется для обхода прокси-фильтров:curl -H "X-Forwarded-For: 1.1.1.1" http://localhost/api/resource
Результат проверки: если сервер вернул
200 OK вместо 403, значит логика блокировки не учитывает реальный IP за прокси.Протестируем устойчивость блокировки при обращении через протокол
IPv6, который часто забывают настроить в правилах безопасности:curl -6 http://[::1]/admin
Ожидаемый вывод: попытка соединения или код
404/200, если IPv6 не закрытIPv4 и IPv6, и доверяйте заголовкам X-Forwarded-For только от проверенных балансировщиков.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4👍4