Библиотека девопса | DevOps, SRE, Sysadmin
Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787
نمایش بیشتر📈 تحلیل کانال تلگرام Библиотека девопса | DevOps, SRE, Sysadmin
کانال Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 10 431 مشترک است و جایگاه 11 864 را در دسته فناوری و برنامهها و رتبه 62 924 را در منطقه روسيا دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 10 431 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 09 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 4 و در ۲۴ ساعت گذشته برابر 5 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 8.41% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 5.62% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 877 بازدید دریافت میکند. در اولین روز معمولاً 586 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 3 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند devops'a, навигация, скрипт, docker, git تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Все самое полезное для девопсера в одном канале.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/25874ec4
Для обратной связи: @proglibrary_feeedback_bot
РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 10 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامهها تبدیل کردهاند.
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Его доклад про мифы семантического поиска и провалы Naive RAG стал одним из самых рейтинговых на конференции.🟣 Эксперт по GraphRAG и Knowledge Graphs
Андрей внедряет инженерный подход в сложные системы, заменяя «слепую веру» в эмбеддинги строгой логикой графов.🟣 Автор «14 кругов ада для RAG»
Разработал уникальный набор из 14 unit-тестов, на которых ломается стандартный векторный поиск (от слепоты к отрицаниям до конфликта версий).🟣 Спикер Saint HighLoad
Регулярно выступает на крупнейших хайлоад-площадках, разбирая архитектуру отказоустойчивых ИИ-сервисов.Андрей упаковал свои наработки в Google Colab, где можно пощупать 14 сценариев ошибок RAG и их решения: 🔗 Забрать Colab-ноутбук На курсе Андрей отвечает за самые «мясные» блоки: RAG, оркестрацию агентов и их промышленную эксплуатацию. Узнать больше о программе и обучении у Андрея: 👉 Курс о том, как внедрять AI-логику в бэкенд и сохранять стабильность сервиса Так, продолжаем знакомить вас с командой? 👍 — Да, ждем новых лиц 🔥 — Пойду тестить Colab Носова
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
