ch
Feedback
Библиотека девопса | DevOps, SRE, Sysadmin

Библиотека девопса | DevOps, SRE, Sysadmin

前往频道在 Telegram

Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

显示更多

📈 Telegram 频道 Библиотека девопса | DevOps, SRE, Sysadmin 的分析概览

频道 Библиотека девопса | DevOps, SRE, Sysadmin (@devopsslib) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 429 名订阅者,在 技术与应用 类别中位列第 11 851,并在 俄罗斯 地区排名第 62 903

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 10 429 名订阅者。

根据 11 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 3,过去 24 小时变化为 0,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 8.62%。内容发布后 24 小时内通常能获得 5.58% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 899 次浏览,首日通常累积 582 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 4
  • 主题关注点: 内容集中在 devops'a, навигация, скрипт, docker, git 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Все самое полезное для девопсера в одном канале. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/25874ec4 Для обратной связи: @proglibrary_feeedback_bot РКН: https://gosuslugi.ru/snet/6798b4e4509aba56522d1787

凭借高频更新(最新数据采集于 12 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

10 429
订阅者
无数据24 小时
+107
+330
帖子存档
📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека devops'a #пятничный_деплой
📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пятничный_деплой

price_update: scheduled for Jan 20 Завтра мы деплоим повышение цен на все программы. Успейте сегодня нажать apply, пока стары
price_update: scheduled for Jan 20 Завтра мы деплоим повышение цен на все программы. Успейте сегодня нажать apply, пока старые условия не превратились в legacy. Настроить пайплайн саморазвития

HEALTHCHECK в Dockerfile чтобы контейнер не умирал молча Контейнер может продолжать работать, даже если внутри уже все сломалось. HEALTHCHECK позволяет Docker периодически проверять состояние и выставлять статус healthy или unhealthy. Самый простой вариант это дергать внутренний эндпоинт и падать по ненулевому коду, если ответ плохой. Docker поддерживает параметры interval, timeout и retries, чтобы настроить частоту и порог ошибок. Пример:
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
  CMD curl -f http://localhost:8080/health || exit 1
Команда может быть любой, главное чтобы успешный результат был exit 0, а неуспешный exit 1. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

😎 Поставьте свой голос за любимый пост
Anonymous voting

🗞 Первая рабочая неделя Собрали для вас новости и материалы прошедшей недели. — Трудоголики снова в моде — Свежий Wine — Ког
🗞 Первая рабочая неделя Собрали для вас новости и материалы прошедшей недели. — Трудоголики снова в модеСвежий Wine Когда ls уже не впечатляетLinux Mint 22.3 ZenaSSD за грамм стали дороже золота 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #дайджест_недели

👨‍💻 COPY с chown и меньше боли с правами Если в контейнере приложение запускается не от root, то права на файлы часто ломают сборку или запуск. Вместо отдельного RUN chown можно сразу копировать файлы с нужным владельцем через COPY с флагом chown. Простой пример для приложения, которое запускается от appuser:
FROM alpine:3.20

RUN addgroup -S app && adduser -S -G app appuser

WORKDIR /app

COPY --chown=appuser:app . /app

USER appuser
CMD ["./app"]
Если в образе нет /etc/passwd или /etc/group, и указать имя пользователя или группы, сборка может упасть, поэтому для минимальных образов иногда проще использовать числовые UID и GID. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

👀 Наглядная иерархия процессов в Linux systemd-cgls — это утилита для отображения иерархии control groups в системах на базе systemd. Она показывает древовидную структуру всех процессов, сгруппированных по юнитам systemd. В отличие от классического ps или top, systemd-cgls показывает не просто список процессов, а их организационную структуру: какие процессы принадлежат каким службам, сессиям пользователей и слайсам системы. Просто запустите без аргументов:
systemd-cgls
Вы увидите дерево, разделённое на слайсы: • system.slice — системные службы • user.slice — пользовательские сессии • machine.slice — виртуальные машины и контейнеры Показать только конкретный юнит:
systemd-cgls /system.slice/nginx.service
Показать процессы определённого пользователя:
systemd-cgls /user.slice/user-1000.slice
📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

🏷 Теги и лейблы в Terraform как привычка Ресурсы без тегов почти всегда превращаются в невидимые расходы и в проблемы с управлением. Если навести порядок в тегах прямо в Terraform модулях, инфраструктуру проще искать, считать и контролировать. Лучше начинать со схемы на уровне модуля. У каждого модуля должен быть входной map для tags или labels и этот map должен применяться ко всем ресурсам, которые это поддерживают. Идея простая. В модуле есть базовые поля вроде окружения и владельца, а сверху можно передать дополнительные теги и объединить их через мерж. Пример:
variable "environment" {
  type = string
}

variable "owner" {
  type = string
}

variable "tags" {
  type        = map(string)
  description = "Общие теги для всех ресурсов"
  default     = {}
}

locals {
  common_tags = merge(
    {
      env       = var.environment
      owner     = var.owner
      terraform = "true"
    },
    var.tags
  )
}

resource "proglib_bucket" "this" {
  bucket = var.owner

  tags = local.common_tags
}
Последний шаг это запрет на ресурсы без обязательных тегов. Это можно сделать через policy as code и проверки, чтобы не разгребать мусор уже в проде. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

«Этот манёвр будет стоить нам 51 год...» DevOps — это не только YAML-конфиги, но и умение автоматизировать процессы с помощью
«Этот манёвр будет стоить нам 51 год...» DevOps — это не только YAML-конфиги, но и умение автоматизировать процессы с помощью Python и понимание архитектуры систем. Рынок требует всё больше компетенций в ИИ. Успейте забрать обучение в Proglib Academy по ценам 2025 года: — Разработка ИИ-агентов — Математика для разработки AI-моделей — ML для старта в Data Science — Математика для Data Science — Специалист по ИИ — Алгоритмы и структуры данных — Программирование на Python — Основы IT для непрограммистов — Архитектуры и шаблоны проектирования Выбрать направление ⚠️ Стоимость изменится 19 января

😤 «Я ненавижу GitHub Actions всей душой» Разработчик написал эмоциональный текст о том, почему GitHub Actions — это боль. Переводим и разбираем аргументы. Главные претензии: 1. YAML-ад:
name: CI
on:
  push:
    branches: [main]
  pull_request:
    branches: [main]
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Setup Node
        uses: actions/setup-node@v3
        with:
          node-version: '18'
      - run: npm ci
      - run: npm test
Выглядит просто? Но здесь довольно просто докинуть багов: • Опечатка в node-version → silent fail • Забыл @v3 в actions → неожиданная версия • Отступы не там → непонятная ошибка 2. Дебаг — это пытка В других CI можно: • Подключиться по SSH к раннеру • Запустить локально (GitLab Runner) • Посмотреть полные логи В GitHub Actions: • Логи обрезаны • Нельзя зайти на раннер • Локальный запуск через костыли (act) • Цикл «коммит → push → wait → fail» занимает минуты 3. Секреты — русская рулетка:
- name: Deploy
  env:
    API_KEY: ${{ secrets.API_KEY }}
  run: ./deploy.sh
Проблемы: • Секрет не установлен? Пустая строка • Опечатка в имени? Пустая строка • Секрет в форке? Не работает • Дебажить? Удачи, secrets маскируются в логах 4. Кеширование — лотерея:
- name: Cache node modules
  uses: actions/cache@v3
  with:
    path: ~/.npm
    key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
Проблемы: • Кеш иногда не восстанавливается • Иногда восстанавливается битый кеш • Лимит 10 GB → старые кеши удаляются 5. Версии actions — dependency hell:
- uses: actions/checkout@v3      # Какая v3? v3.0? v3.5?
- uses: actions/setup-node@v3    # Deprecated через месяц
- uses: docker/build-push-action@v4  # Ломает старые workflow
• Нет lock-файла для actions • Breaking changes в минорных версиях • @main — может сломаться завтра • @sha — нечитаемо и надо обновлять вручную 💬 Как у вас с GitHub Actions? Всё спокойно или тоже есть дровишки в огонь? 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

🏭 Трудоголики снова в моде Что происходит, когда рынок из «кандидатского» превращается в «работодательский»? Культ личной эф
🏭 Трудоголики снова в моде Что происходит, когда рынок из «кандидатского» превращается в «работодательский»? Культ личной эффективности вместо командной работы, up-or-out вместо саббатикала, и «работай или уходи» вместо «мы о тебе заботимся». 2026 год в IT — это конец иллюзии про дружескую атмосферу в офисе и начало честной истории про трудоголизм как норму выживания. ➡️ Узнать в этом кто виноват 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a

🤩 QR-коды чистым SQL в PostgreSQL Разработчик проснулся рано из-за кота и за час с помощью ИИ написал генератор QR-кодов одн
🤩 QR-коды чистым SQL в PostgreSQL Разработчик проснулся рано из-за кота и за час с помощью ИИ написал генератор QR-кодов одним SQL-запросом для Postgres. Никаких расширений или библиотек не нужно, просто выполним скрипт:
psql -qf pqr.sql -v payload='Hello, World!'
И на выходе нас ждёт QR-код. ➡️ Скрипт забираем здесь 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

🐳 Секреты из .env в Docker Мы уже говорили, что переменные из .env файлов при сборке Docker-образов запекаются в слои навсегда. Вот свежий кейс от команды, где ключи БД и токены оказались доступны всем. Что пошло не так В Dockerfile скопировали .env в контекст или использовали в RUN-командах. Результат: docker history показывает секреты, любой pull видит их в inspect. Фикс и лучшие практики Передавайте через --env-file только на runtime. Для build ARG без дефолтов и --build-arg снаружи. Multi-stage сборка сбрасывает промежуточные слои с данными. ➡️ Живой пример | Зеркало 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #разбор_полётов

📝 touch — недооценённая команда Все знают touch как «создать пустой файл». Но это лишь верхушка айсберга. Что на самом деле делает touch: Обновляет временные метки файла (access time, modification time). Создание файла — побочный эффект, если файл не существует. Базовое использование:
# Создать пустой файл
touch app.log

# Обновить время изменения существующего файла
touch config.yaml

# Создать несколько файлов
touch file1.txt file2.txt file3.txt
Продвинутые флаги:
# Установить конкретное время
touch -t 202501150830.00 file.txt
# Формат: [[CC]YY]MMDDhhmm[.ss]

# Установить время как у другого файла
touch -r reference.txt target.txt

# Изменить только access time
touch -a file.txt

# Изменить только modification time  
touch -m file.txt

# Не создавать файл, если не существует
touch -c file.txt
Полезные комбинации:
# Создать структуру директорий с файлами
mkdir -p app/{config,logs,data}
touch app/config/.gitkeep app/logs/.gitkeep

# Найти файлы старше 30 дней и "омолодить"
find /tmp -type f -mtime +30 -exec touch {} \;

# Обновить timestamp только если файл существует
[ -f config.json ] && touch config.json

# Создать файл с правами в одну команду
(umask 077 && touch secret.key)
touch — это швейцарский нож для работы с временными метками и файловыми операциями. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

🍷 Свежий Wine Wine 11.0 вышел после года разработки и тысяч правок. Основные новинки: ARM64EC архитектура, улучшенная поддер
🍷 Свежий Wine Wine 11.0 вышел после года разработки и тысяч правок. Основные новинки: ARM64EC архитектура, улучшенная поддержка HiDPI, Wayland по умолчанию и экспериментальный FFMPEG-бэкенд для мультимедиа. ➡️ Анонс 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

Roadmap: Оркестрация и деплой ИИ-агентов Для `DevOps`-инженера ИИ-агенты — это новые типы нагрузок, требующие специфического
Roadmap: Оркестрация и деплой ИИ-агентов Для `DevOps`-инженера ИИ-агенты — это новые типы нагрузок, требующие специфического мониторинга, безопасности и масштабирования. План освоения технологии: — понимание логики автономных агентов и их взаимодействия с API; — настройка окружений для работы мультиагентных систем; — управление состоянием (`State`) и памятью агентов в кластерах; — безопасность и контроль доступа при Tool Calling. Курс «Разработка ИИ-агентов» поможет разобраться в архитектуре ИИ-сервисов и научиться внедрять их в продакшн. Освоить ИИ-инструменты Акция «3 в 1» до 19 января: купите курс и получите ещё два в подарок.

🔍 systemd-analyze: что тормозит загрузку Linux systemd-analyze — встроенный инструмент для диагностики. Показывает какие сервисы жрут время при старте и где система простаивает. Быстрая диагностика Проверить общее время загрузки: Результат:
Startup finished in 3.2s (firmware) + 2.1s (loader) + 
1.8s (kernel) + 12.4s (userspace) = 19.5s
Сразу видно проблему — userspace съел 12 секунд из 19. Копаем дальше. Смотрим топ медленных сервисов:
systemd-analyze blame
8.234s postgresql.service
2.891s docker.service
1.456s NetworkManager-wait-online.service
0.234s nginx.service
PostgreSQL стартует 8 секунд. Может база огромная, либо что-то не так с конфигом. Сервисы запускаются не параллельно, а друг за другом по зависимостям:
systemd-analyze critical-chain
graphical.target @19.2s
└─multi-user.target @19.1s
  └─postgresql.service @10.8s +8.2s
    └─network.target @10.7s
      └─NetworkManager.service @8.2s +2.4s
Видно: postgresql ждёт сеть, сеть ждёт NetworkManager. И все остальные сервисы встали в очередь за базой. График покажет картину целиком:
systemd-analyze plot > boot.svg
firefox boot.svg
Получаете таймлайн с цветными полосками — когда каждый сервис стартовал, сколько времени занял, кто с кем параллелился. Узкие места видны сразу. Узнать время старта отдельного сервиса:
systemd-analyze blame | grep nginx
Или посмотреть его зависимости:
systemd-analyze critical-chain nginx.service
Больше не нужно гадать почему сервер грузится как чугунный мост. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #арсенал_инженера

🛠 Eza — когда ls уже не впечатляет Eza — это современная замена ls, написанная на Rust. Главное отличие: вывод сразу читабел
🛠 Eza — когда ls уже не впечатляет Eza — это современная замена ls, написанная на Rust. Главное отличие: вывод сразу читабельный, а не набор символов, который нужно расшифровывать. Что внутри Цветная подсветка по умолчанию. Папки, файлы, симлинки — каждый тип отличается визуально. Не нужно вглядываться в права доступа, чтобы понять, что перед вами. Иконки для файлов. Если терминал поддерживает Nerd Fonts, увидите значки рядом с именами. Мелочь, но код на Python сразу отличается от markdown-файла. Git-статусы в выводе. Команда eza --git покажет, какие файлы изменены, добавлены или проигнорированы. Древовидная структура. Флаг --tree развернёт директории в дерево. Глубину контролируете параметром --level. Детальная информация. Флаг --long выведет размеры, даты изменения, владельцев. Плюс человекочитаемые форматы: не «4096 байт», а «4.0 КБ». Eza доступна через пакетные менеджеры большинства систем:
# macOS
brew install eza

# Ubuntu/Debian
apt install eza

# Arch
pacman -S eza
После установки можете создать алиас в .bashrc или .zshrc:
alias ls='eza --icons'
alias ll='eza --long --git --icons'
alias tree='eza --tree --icons'
Eza не меняет рабочий процесс радикально, но убирает микрораздражители. А в долгосрочной перспективе это экономит больше времени, чем кажется. 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #root_prompt

💻 Linux Mint 22.3 Zena Linux Mint 22.3 под кодовым именем Zena теперь доступен для скачивания. Это LTS-версия на базе Ubuntu
💻 Linux Mint 22.3 Zena Linux Mint 22.3 под кодовым именем Zena теперь доступен для скачивания. Это LTS-версия на базе Ubuntu 24.04.3 с поддержкой до апреля 2029 года. Свежее издание принесло Cinnamon 6.6 с переработанным меню приложений, боковой панелью для аватара, мест и фаворитов. Nemo обзавелся поиском по регулярным выражениям, паузой копирования файлов и шаблонами в контекстном меню. Экранная клавиатура переписана нативно, улучшена Wayland-поддержка, добавлены индикаторы уведомлений на панели. ➡️ Release Notes 📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пульс_индустрии

📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека devops'a #пятничный_деплой
📍 Навигация: ВакансииЗадачиСобесы 🐸 Библиотека devops'a #пятничный_деплой