Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
Mostrar más📈 Análisis del canal de Telegram Библиотека девопса | DevOps, SRE, Sysadmin
El canal Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 10 431 suscriptores, ocupando la posición 11 852 en la categoría Tecnologías y Aplicaciones y el puesto 62 915 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 10 431 suscriptores.
Según los últimos datos del 10 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 0, y en las últimas 24 horas de 0, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 8.49%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.65% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 886 visualizaciones. En el primer día suele acumular 589 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 4.
- Intereses temáticos: El contenido se centra en temas clave como devops'a, навигация, скрипт, docker, git.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Все самое полезное для девопсера в одном канале.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/25874ec4
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 11 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
goose с поддержкой стриминга и MCP. Обновились тулсеты: Go 1.26, Python 3.14, Ruby 4.0, OpenJDK 25, PostgreSQL 18, MariaDB 11.8.
— Шумахер посчитал строки кода в KDE
— В Linux добавили правила для AI-репортов
— OpenBSD 7.9
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#дайджест_неделиtoggle_window_title_bars.
Авто-перезагрузка конфига
Появилась опция auto_reload_config. Больше не нужно вручную перезагружать kitty после правки конфигурации — изменения применяются сами.
Прогресс-бар
Kitty теперь отображает прогресс-бар в верхней части окна, когда программа сообщает о прогрессе через escape-последовательность OSC 9;4. Поведение управляется через опцию progress_bar.
Генерация палитры
Новая опция palette_generate автоматически строит 256-цветную палитру на основе первых 16 цветов. Полезно, если вы настраиваете тему и хотите согласованную палитру без ручной работы.
Скроллинг
Действия scroll_line_up и scroll_line_down теперь по умолчанию используют плавный скроллинг. Если нужно вернуть старое поведение, пересоздайте маппинг без аргумента smooth. На Wayland жест удержания (hold) теперь останавливает инерционный скроллинг при касании трекпада.
Фоновые изображения
Можно указать несколько записей background_image, и все они хранятся на GPU. Переключение между фонами стало быстрее.
Фокус
Опция focus_follows_mouse теперь переключает активное окно только при переходе курсора в другое окно, а не при любом движении мыши.
Платформенные изменения
На Linux kitty учитывает fontconfig matrix для fake slant шрифтов без курсива. Исправлена проблема с искажением цветов на Nvidia после выхода из suspend. На X11 устранён краш при отключении устройства ввода. На macOS — новая иконка в стиле Tahoe с отдельными фонами для светлой и тёмной темы, исправлены фантомные курсоры и работа аргументов через open --args.
Прочее
В выводе kitten @ ls появились поля session_name и last_focused_at. В diff kitten'е добавились sticky-заголовки. Улучшена производительность рендеринга таб-бара при использовании данных активных процессов. Добавлена поддержка отрисовки Unicode-символов из блока Symbols for Legacy Computing Supplement.
➡️ Полный список изменений
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрииinitramfs убирает лишние перезагрузки, а значит устройства быстрее вводятся в строй.
Сборка образов теперь работает через Chisel. Каждый файл в файловой системе привязан к конкретному slice и исходному пакету. Это даёт точную трассировку зависимостей и упрощает проверку целостности. В сравнении с Yocto, где зависимости скрыты в слоях рецептов, подход Core 26 делает происхождение каждого компонента явным. Бонусом базовый образ похудел на 7%.
Для шифрования дисков (FDE) ключи TPM теперь хранятся прямо в заголовке LUKS2, что снижает риск повторного использования ключей между состояниями устройства. Появилась нативная интеграция с OP-TEE для ARM TrustZone — ключи шифрования запечатываются и распечатываются внутри Trusted Execution Environment.
Livepatch впервые работает на ARM64, обеспечивая патчинг ядра без перезагрузки. На AMD64 Livepatch официально поддерживается для всех версий, начиная с Ubuntu Core 20.
Из инструментария: Ubuntu Frame теперь поддерживает несколько графических приложений на одном дисплее с настраиваемой раскладкой. Появился интерфейс gpu-2604 для аппаратного ускорения графики.
В Snapcraft добавили компоненты — способ распространять крупные или опциональные ресурсы: драйверы, символы отладки, переводы; отдельно от основного snap-пакета.
Релиз важен для тех, кто готовится к EU Cyber Resilience Act. Canonical берёт на себя обязанности «производителя» по CRA в рамках жизненного цикла ОС и обеспечивает мониторинг CVE, координированное раскрытие уязвимостей и соответствие IEC 62443-4-1.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрииkubectl get и разбирать вручную. Crossview — веб-дашборд, который показывает ресурсы Crossplane в одном интерфейсе с поиском, фильтрацией и отслеживанием статусов в реальном времени.
Что умеет
Crossview подключается к Kubernetes API через Informers и отслеживает изменения ресурсов без постоянных запросов. Обновления приходят по WebSocket. Поддерживается работа с несколькими кластерами — переключение между контекстами прямо из UI.
Для каждого ресурса доступны статус-условия, метаданные, события и связи с другими объектами. Есть тёмная тема и SSO через OIDC/SAML.
Стек
Фронтенд — React + Vite + Chakra UI. Бэкенд — Go (Gin) + client-go. БД — PostgreSQL (GORM).
Как запустить
Через Helm:
helm repo add crossview https://corpobit.github.io/crossview
helm repo update
helm install crossview crossview/crossview \
--namespace crossview \
--create-namespace \
--set secrets.dbPassword=your-db-password
Через Docker Compose (в репозитории есть готовый файл с PostgreSQL):
docker-compose up
Для локальной разработки фронтенд и бэкенд запускаются отдельно:
npm install && npm run dev
cd crossview-go-server && go run main.go app:serve
Фронтенд на localhost:5173 проксирует API на бэкенд (localhost:3001).
API
Бэкенд предоставляет REST API на порту 3001:
GET /api/contexts — список Kubernetes-контекстов
GET /api/resources?apiVersion=&kind= — список ресурсов
GET /api/resource?apiVersion=&kind=&name= — детали ресурса
GET /api/events?kind=&name= — события ресурса
GET /api/watch — WebSocket для real-time обновлений
При запуске в кластере бэкенд автоматически использует service account без kubeconfig.
➡️ Репозиторий
📰 Наша подписка как дашборд, но приходит сама
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженераsysctl hw.blockcpu задаются категории ядер (SMT, Performance, Efficient, Lethargic), медленные можно исключить. Работает на amd64 и arm64.
Спинлок в мьютексах ядра заменён на «parking» блокировку. Добавлена инфраструктура для до 52 разделов на диск. MAXCPUs на amd64 увеличен до 255.
Новый machdep.hibernatedelay будит систему из suspend через заданное время и уводит в гибернацию. Полезно для ноутбуков, чтобы не разряжать батарею во сне.
Безопасность
Root больше не обходит bpf(4) BIOCLOCK. Удалён pledge-промис tmppath, его заменяет unveil + pledge "rpath wpath cpath". Новый вызов __pledge_open(2) позволяет libc открывать внутренние файлы под pledge/unveil строго на чтение.
Сеть и pf
veb(4) стал VLAN-aware бриджем с PVID, trunk/hybrid портами и Private VLAN (RFC 5517). IPv6 SLAAC включён по умолчанию. В pf(4) добавлены source/state лимитеры с настраиваемым действием при достижении лимита.
VMM/VMD
Добавлен vmboot для sysupgrade(8) внутри vmd-виртуалок. OpenBSD работает на Apple Virtualization. Поддержка AMD SEV. Исправлены рейсы и дедлоки в vmd(8)/vmm(4).
Драйверы и Wi-Fi
Новые драйверы: USB4 (nhi(4)), Intel LPSS SPI (ispi(4)), SpacemiT K1 (riscv64), Rockchip RK3588/RK3576, Sophgo SG2042. Базовая поддержка 802.11ax. В iwx(4) — 160 МГц, WiFi 6e, PMF и powersave по умолчанию.
OpenSSH 10.3
Исправлены уязвимости: shell-инъекция через метасимволы в именах пользователей, некорректное сопоставление principals в сертификатах, обход PubkeyAcceptedAlgorithms для ECDSA. Добавлен штраф invaliduser в PerSourcePenalties.
LibreSSL 4.3.0
Поддержка MLKEM768_X25519 keyshare в TLS (пост-квантовая криптография). Исправлен off-by-one в X.509-верификаторе с перезаписью 4 байт в хипе. TLSv1.1 и ниже отключены на уровне метода.
➡️ Репозиторий
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрии“KV-cache hit rate is the single most important metric for a production-stage AI agent.”🛠 Что внутри методички (комбо из 3 статей + код):
Экономика кэширования — особенности провайдеров и как правильно считать затраты. Частые анти-паттерны — почему ваш кэш постоянно сбрасывается и вы платите больше. Кэш в AI-агентах — специфика работы с памятью в автономных системах.🍒 Вишенка на торте: готовый SKILL для агента, который делает ревью вашего проекта, находит анти-паттерны и предотвращает низкое попадание в кэш. — Забрать комбо-материалы на GitHub P.S. Если хотите послушать Сергея вживую — ловите его на конференциях Kode Waves (май), Conversations AI и Highload Spb (июнь). 🎁 Акция в честь старта продаж! Прямо сейчас при покупке Инженерного трека вы получаете полный доступ к материалам курса «Разработка ИИ-агентов» в подарок. 👉 Забрать 2 курса по цене 1 и начать обучение
root. Рабочие эксплойты опубликованы.
Copy Fail — уязвимость в подсистеме algif_aead ядра Linux. Эксплуатируется через splice() в связке с io_uring. Позволяет перезаписать страницы памяти suid-бинарников вроде /usr/bin/su, passwd, mount, pkexec.
Dirty Frag (CVE-2026-43284, CVE-2026-43500) — два варианта той же техники, но через xfrm-ESP (IPsec) и RxRPC. Уязвимость в xfrm-ESP присутствует в ядре с 2017 года, в RxRPC — с 2023-го. Проверена на Ubuntu 24.04, RHEL 10.1, openSUSE Tumbleweed, Fedora 44.
PinTheft — свежая эксплуатация через RDS (Reliable Datagram Sockets) и io_uring. Использует double-free в функции rds_message_zcopy_from_user(). CVE ещё не присвоен.
Роль ИИ
Все три уязвимости нашёл автоматизированный инструмент анализа кода. Это не значит, что раньше их не было — они сидели в ядре годами. Инструмент нашёл паттерн: использование splice() и io_uring для записи в страницы page cache без учёта флагов защиты. Один паттерн — несколько точек входа в разных подсистемах.
Затронутые конфигурации
Уязвимости эксплуатируются при наличии загруженных модулей:
- Copy Fail — нужен io_uring (включён по умолчанию) и поддержка algif_aead
- Dirty Frag — нужны модули esp4/esp6 или rxrpc
- PinTheft — нужны модули rds и rds_tcp, а также io_uring
В большинстве дистрибутивов эти модули загружаются автоматически при первом обращении. Arch Linux загружает rds по умолчанию.
Что делать прямо сейчас
Для Dirty Frag — отключить уязвимые модули:
sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"
Для PinTheft — отключить rds и rds_tcp:
rmmod rds_tcp rds
printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.conf
Для Copy Fail — обновить ядро. Патч есть в ветке netdev.
Исправления для Dirty Frag включены в ядра 7.0.5, 6.18.28, 6.12.87, 6.6.138, 6.1.172, 5.15.206, 5.10.255. Все основные дистрибутивы уже выпустили или выпускают обновления.
Почему это важно
Один ИИ-инструмент за короткое время нашёл несколько уязвимостей в коде, который существует годами. Это меняет темп обнаружения: раньше такие цепочки искали вручную, сейчас их можно находить систематически. Стоит ожидать, что подобных находок будет больше — и со стороны исследователей, и со стороны тех, кто ищет не для публикации.
Если вы администрируете Linux-серверы или рабочие станции — обновите ядро и проверьте, какие модули загружены в вашей конфигурации. Также подпишитесь на нашу рассылку, там нет уязвимостей.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётовCAP_NET_ADMIN»), а не спекуляции
• Рабочий reproducer, протестированный вручную
• Патч с тегом Fixes: на проблемный коммит
Модель угроз
Новый threat-model.rst фиксирует границы. Уязвимость — нарушение изоляции пользователей, обход capabilities (CAP_SYS_ADMIN, CAP_NET_ADMIN, CAP_SYS_PTRACE), выход из user namespaces в глобальное пространство, доступ к отладочным интерфейсам (/proc/kmsg, perf, debugfs) без прав.
Не уязвимость: баги в устаревших ветках, небезопасные конфигурации сборки, LOCKDEP/KASAN/FAULT_INJECTION, модули STAGING, проблемы, требующие root, утечки по побочным каналам, обход ASLR, повреждения от аппаратных сбоев.
Документ не запрещает AI. Но требует от репортеров тот же уровень подготовки, что и от всех. Торвальдс сказал прямо: читайте документацию, пишите патч, берите ответственность.
➡️ Полный текст в коммите ядра Linux
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#пульс_индустрииtop или htop. Но они показывают общую картину. Если нужно понять, как нагрузка распределяется по ядрам, какой процент времени CPU тратит в режиме ожидания ввода-вывода и где именно зарыта проблема — нужен mpstat.
Что такое mpstat
mpstat входит в пакет sysstat и выводит статистику использования процессора: по каждому ядру отдельно или суммарно. В отличие от top, он не интерактивный — удобно логировать вывод или использовать в скриптах.
Основные флаги
Запуск без аргументов покажет среднюю статистику с момента старта системы — не очень полезно. Обычно используют так:
mpstat -P ALL 2 5
-P ALL — показать все ядра
2 — интервал в секундах
5 — количество итераций
Пример вывода:
Linux 5.15.0 (srv01) 05/18/2026 _x86_64_ (4 CPU) 14:32:01 CPU %usr %nice %sys %iowait %irq %soft %steal %idle 14:32:03 all 12.3 0.0 3.1 8.4 0.0 0.1 0.0 76.1 14:32:03 0 45.2 0.0 5.3 2.1 0.0 0.2 0.0 47.2 14:32:03 1 3.1 0.0 1.2 18.3 0.0 0.0 0.0 77.4 14:32:03 2 2.4 0.0 2.8 9.2 0.0 0.1 0.0 85.5 14:32:03 3 0.8 0.0 3.2 4.1 0.0 0.0 0.0 91.9На что смотреть
%usr — время в пространстве пользователя. Высокое значение говорит о нагруженном приложении.
%sys — время в режиме ядра. Если оно неожиданно высокое, стоит проверить системные вызовы.
%iowait — CPU ждёт завершения операций ввода-вывода. Значение выше 10–15% — сигнал проблем с диском или сетью.
%steal — время, украденное гипервизором на виртуалках. Если стабильно выше 5% — ресурсов на хосте не хватает.
%idle — простой. Чем меньше, тем выше нагрузка.
В примере выше видно, что нулевое ядро загружено на 45%, а %iowait на первом ядре — 18%. Это повод разобраться, какой процесс привязан к этим ядрам и почему он так активно работает с диском.
Смотрим только iowait
Если нужно быстро отследить проблемы с вводом-выводом:
mpstat -P ALL 1 | awk '/[0-9]/ {print $1, $2, $6}'
Выведет только время, номер ядра и %iowait.
Логирование
sysstat умеет собирать статистику в фоне через sar. Но если нужно просто сохранить данные в файл на время инцидента:
mpstat -P ALL 2 30 > /tmp/cpu_$(date +%F_%T).log
Запустит 30 итераций с интервалом 2 секунды и сохранит в файл с меткой времени.
mpstat полезен, когда нужно быстро понять распределение нагрузки по ядрам или найти аномалии — высокий %iowait, перекос нагрузки на одно ядро, активность гипервизора.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера-n my-namespace к каждой команде. Это раздражает, отнимает время и рано или поздно приводит к ошибке — забыли флаг, команда ушла в default, получили не тот результат.
Проблема решается одной строкой:
kubectl config set-context --current --namespace=<namespace>
Эта команда меняет namespace по умолчанию в текущем контексте вашего kubeconfig. После выполнения все последующие вызовы kubectl будут работать с указанным namespace без дополнительных флагов.
Допустим, вы работаете с namespace staging:
kubectl config set-context --current --namespace=staging
Теперь kubectl get pods покажет поды именно из staging. Не нужно писать kubectl get pods -n staging каждый раз.
Как проверить текущий namespace
Убедиться, какой namespace сейчас выставлен, можно так:
kubectl config view --minify --output 'jsonpath={..namespace}'
Если команда ничего не вернула, значит, используется default.
Что важно понимать
Настройка сохраняется в файле ~/.kube/config и действует не только на текущую сессию терминала. Она будет активна до тех пор, пока вы не переключитесь на другой namespace или не смените контекст.
Для тех, кто переключает namespace часто, есть утилита kubens из пакета kubectx. Она делает то же самое, но короче:
kubens staging
Мелочь, но экономит десятки лишних символов в день.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_promptsu и sudo дают доступ к привилегиям суперпользователя, но работают по-разному.
Что делает su
su (substitute user) переключает текущую сессию на другого пользователя. По умолчанию — на root. При вызове команда запрашивает пароль того пользователя, на которого вы переключаетесь.
После ввода пароля root вы получаете полноценную root-сессию. Все последующие команды выполняются от имени суперпользователя до тех пор, пока вы не выйдете через exit.
Если нужно переключиться с загрузкой окружения целевого пользователя, используйте форму с дефисом:
su -Это загрузит переменные окружения,
$HOME, $PATH и профиль root так, как если бы вы залогинились напрямую.
Что делает sudo
sudo (superuser do) выполняет одну конкретную команду с повышенными привилегиями. Пароль запрашивается ваш собственный, а не пароль root.
sudo apt update
Команда отработает от имени root, после чего вы вернётесь в свою обычную сессию. Никакого переключения пользователя не происходит.
Список пользователей, которым разрешено использовать sudo, и допустимые для них команды задаются в файле /etc/sudoers. Редактировать его нужно только через visudo, чтобы избежать синтаксических ошибок, которые могут заблокировать доступ.
Ключевые отличия
su требует знать пароль root. sudo требует только ваш пароль и запись в sudoers. Это принципиальная разница с точки зрения безопасности.
Раздавать пароль root нескольким администраторам — плохая практика. С sudo каждый работает под своей учёткой, а все действия логируются с привязкой к конкретному пользователю.
su открывает постоянную root-сессию. Забыли выйти — любая случайная команда выполнится с максимальными правами. sudo работает точечно, на одну команду, что снижает риск случайного повреждения системы.
Когда что использовать
sudo подходит для большинства задач администрирования. Обновить пакеты, перезапустить сервис, отредактировать конфиг — всё это удобнее и безопаснее делать через sudo.
su оправдан, когда нужно выполнить серию команд от root подряд, и переключение в полноценную root-сессию экономит время. Но даже в этом случае можно заменить его на:
sudo -i
Эта команда открывает интерактивную root-сессию через механизм sudo, без необходимости знать пароль root.
В современных дистрибутивах sudo стал стандартом. Ubuntu, например, по умолчанию вообще отключает вход под root и предлагает использовать только sudo.
Это безопаснее, прозрачнее для аудита и не требует распространения root-пароля. Используйте su только если точно понимаете, зачем вам полная root-сессия.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#root_prompt
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
