LinuxCamp | DevOps
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C
Show more📈 Analytical overview of Telegram channel LinuxCamp | DevOps
Channel LinuxCamp | DevOps (@linuxcamp_tg) in the Russian language segment is an active participant. Currently, the community unites 13 963 subscribers, ranking 9 152 in the Technologies & Applications category and 47 191 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 13 963 subscribers.
According to the latest data from 05 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -98 over the last 30 days and by -2 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 26.20%. Within the first 24 hours after publication, content typically collects 10.85% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 659 views. Within the first day, a publication typically gains 1 516 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 23.
- Thematic interests: Content is focused on key topics such as linuxcamp, ядро, linux, диск, docker.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C”
Thanks to the high frequency of updates (latest data received on 06 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
* таблицы * списки * графики * вкладки * прогресс-бары * панели и layoutПример создания панели:
use ratatui::widgets::{Block, Borders};
let block = Block::default()
.title("Dashboard")
.borders(Borders::ALL);
После этого интерфейс рендерится прямо в терминал.
Почему TUI снова популярны
Терминальные интерфейсы имеют несколько преимуществ:
* работают по SSH * почти не требуют ресурсов * идеально подходят для DevOps * удобны для серверных инструментовПоэтому всё больше CLI-утилит делают не просто вывод текста, а полноценный интерфейс в терминале. Вывод Ratatui - библиотека на Rust, которая позволяет писать интерактивные интерфейсы прямо в терминале. Именно на таких инструментах строятся современные TUI-утилиты вроде lazygit и k9s. LinuxCamp | #utils
git checkout feature-a
# работаем
git checkout main
# возвращаемся
git checkout feature-b
Но если нужно:
* держать несколько веток одновременно * тестировать несколько фич * работать с несколькими PR * запускать разные версии сервисаначинаются постоянные checkout, stash и переключения. Что решает worktrunk Утилита делает удобным использование git worktree. Создать отдельную рабочую папку для ветки:
wt create feature-auth
Git создаст новую директорию:
repo/ repo-feature-auth/Теперь можно держать несколько веток открытыми, запускать разные версии проекта, не делать постоянные checkout Почему это особенно актуально сейчас С появлением AI-агентов разработка все чаще становится параллельной. Например:
repo-main -> основная работа repo-agent-auth -> агент пишет фичу repo-agent-refactor -> агент делает рефактор repo-agent-tests -> агент генерирует тестыКаждый агент работает в своей ветке и своей директории. Агенты могут спокойно выполнять задачи параллельно, не мешая друг другу. Вывод git worktree позволяет иметь один репозиторий, несколько веток и несколько рабочих директорий, а CLI вроде worktrunk просто делает эту возможность Git намного удобнее. LinuxCamp | #utils
голос → распознавание → текст → вставка в активное окноЧем распознает и что умеет В репозитории заявлена поддержка нескольких движков распознавания, включая whisper.cpp как основной вариант, а также альтернативы вроде Whisper и Vosk. Утилита ориентирована на локальную работу и не требует облачного сервиса как обязательного условия.
vocalinux --help
Как правильно воспринимать результат
Vocalinux не "управляет Linux", он печатает распознанный текст туда, где стоит курсор. Поэтому для терминала самый прямой сценарий это произнести команду так, чтобы она распозналась текстом, а выполнение уже делает сам shell после нажатия Enter.
Например сказать:
docker ps
и команда вставится в поле ввода
Вывод
Vocalinux полезен как hands free ввод текста, а не как голосовой ассистент, который понимает смысл фраз и сам строит команды.
LinuxCamp | #utils- разработчиков - девопсов и админов - специалистов по данным и ML - специалистов поддержки и сопровождения - тестировщиков и безопасниковВнутри 20+ модулей: от установки Linux и работы с файлами до сетей, прав, дисков, процессов, автоматизации на Bash и многого другого. Всё сразу закрепляется на практике (200+ заданий с автопроверкой) Материал подаётся понятным языком, шаг за шагом, на реальных примерах и с наглядными схемами После прохождения вы получите сертификат, который можно добавить в резюме. В ближайшие 48ч курс доступен со скидкой 30% по промокоду «
LINUXCAMP30»: открыть курс на Stepik
umask 077
SECRET_FILE=$(mktemp /tmp/secret.XXXXXX)
umask 077 гарантирует, что файл будет доступен только владельцу.
mktemp создаёт файл атомарно и защищает от подмены в /tmp.
Права выставляются в момент создания.
Вводим секрет без history
Читаем данные напрямую из TTY и записываем в файл:
read -s SECRET
printf "%s\n" "$SECRET" > "$SECRET_FILE"
read -s не показывает ввод.
Переменная живет только в текущем shell.
В history ничего не попадет.
Автоудаление
Настроим удаление через 5 минут:
(sleep 300; shred -u "$SECRET_FILE") &
sleep задает задержку. shred -u перезаписывает и удаляет файл. Процесс уходит в фон, можно продолжать работу.
Даже если выйдешь из shell, удаление все равно произойдет.
Итог
Получаем временный файл с жесткими правами, без утечек в history и без мусора на диске.
LinuxCamp | #utils
tmux new -s backend
Окна и панели
Но самое полезное - это окна и панели.
Окна в tmux как вкладки, а панели разделяют экран внутри одного окна. Теперь у меня в одной сессии может быть окно с логами, второе с деплоем, третье с htop.
Разделить экран можно так:
Ctrl + b, % # вертикальный split
Ctrl + b, " # горизонтальный split
Создавать и переключаться между окнами:
Ctrl + b, c # создание окна
Ctrl + b, n # переключение между окнами
Если нужно уйти и оставить все работать:
Ctrl + b, d
Вернуться:
tmux attach -t backend
Вывод:
В итоге у меня один SSH, по одной сессии на проект, и внутри нее уже готовое рабочее окружение под меня. Также можно разделять по стендам: дев, прод, стейдж. Заходишь и продолжаешь с того же места.
LinuxCamp | #utils
x-logging: &journald
driver: "journald"
options:
tag: "{{.Name}}"
services:
app:
logging: *journald
Теперь смотришь логи не через docker logs, а как нормальные системные:
journalctl -t app -f
journalctl -t app --since "1 hour ago"
journalctl -t app --since "2026-02-09 00:00:00"
Чтобы логи переживали ребут
По умолчанию journald может хранить часть логов в памяти. Включаем хранение на диск:
sudo mkdir -p /var/log/journal
sudo systemctl restart systemd-journald
Проверка сколько места заняли логи:
journalctl --disk-usage
Ротация логов journald, чтобы диск не умер
Если ты кидаешь логи в journald, он не хранит их бесконечно. Ротация и лимиты настраиваются в /etc/systemd/journald.conf или правильнее в отдельных файлах:
sudo mkdir -p /etc/systemd/journald.conf.d
sudo nano /etc/systemd/journald.conf.d/10-rotation.conf
Вывод
Хочешь не терять логи, не привязывай их к жизни контейнера. Сложи их в journald и получи единый поиск, ротацию и историю, которая переживает перезапуски.
LinuxCamp | #utils
nano ~/.ssh/config
chmod 600 ~/.ssh/config
Минимальный пример: алиас, юзер, ключ, нормальные keepalive
Host prod
HostName 95.215.56.62
User maga
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 30
ServerAliveCountMax 3
Теперь подключение становится человеческим:
ssh prod
JumpHost: когда есть bastion
Если внутренняя машина доступна только через bastion, добавляешь ProxyJump.
Host bastion
HostName 1.2.3.4
User maga
IdentityFile ~/.ssh/id_ed25519
Host internal
HostName 10.95.0.10
User maga
IdentityFile ~/.ssh/id_ed25519
ProxyJump bastion
И заходишь одной командой, без матрёшки из ssh:
ssh internal
Ускоряем повторные ssh: ControlMaster
Когда ты делаешь 10 коннектов подряд, каждый новый handshake это боль, особенно через bastion. Мультиплексирование решает.
Host *
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
После этого повторные ssh internal ощущаются как телепорт.
Вывод
Ключи дают безопасность, а ~/.ssh/config даёт скорость и порядок. ProxyJump убирает матрёшку, ControlMaster убирает тормоза. Один раз настроил и дальше просто работаешь.
LinuxCamp | #utilssystemd-analyze blameОна покажет список юнитов, отсортированный по времени старта. Важно: это не всегда время выполнения, а то, сколько юнит считался стартующим. Но обычно виновники видны сразу. Дерево зависимостей Когда юнит тормозит, часто причина не в нём, а в том, что он ждёт сеть, диск, другой сервис.
systemd-analyze critical-chainЭта штука показывает цепочку, что блокировало путь до default.target. Видно кто кого ждал и где пробка. График загрузки для красивого разбора Если хочется визуально показать коллеге почему оно долго стартует, есть SVG-таймлайн.
systemd-analyze plot > boot.svg
Открываешь boot.svg в браузере и видишь полосочки, кто и когда стартовал.
Вывод
systemd-analyze это твой способ увидеть кто, где и почему тормозит загрузку и кто кого ожидает.
LinuxCamp | #utilsxdg-open file.pdfevince (пакет evince) Нормальный GUI просмотрщик, если у тебя есть окружение.
evince file.pdfpdfinfo и pdftotext (пакет poppler-utils) Посмотреть метаданные и быстро вытащить текст.
pdfinfo file.pdf | head pdftotext file.pdf - | lesspdftoppm (пакет poppler-utils) Если PDF это скан и текста нет, рендерим страницы в PNG.
pdftoppm -png -f 1 -l 3 file.pdf page
mupdf (пакет mupdf)
Лёгкий просмотрщик, часто быстрее тяжёлых.
mupdf file.pdfzathura (пакет zathura) Минималистичный просмотрщик, любимый вариант для клавиатурных ниндзя.
zathura file.pdfВывод Для PDF тебе обычно хватает poppler-utils и одного просмотрщика. Остальное уже по вкусу. А если вдруг в очередной слив опять попадет документация по bash, ты хотя бы будешь готов открыть ее красиво. LinuxCamp | #utils
Available now! Telegram Research 2025 — the year's key insights 
