LinuxCamp | DevOps
14.1K subscribers
262 photos
12 videos
372 links
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.

Админ (реклама): @XoDefender
Чат: @linuxcamp_chat

Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg

РКН: https://clck.ru/3RWA3C
Download Telegram
sk(skim): fuzzy search быстрее fzf на Rust

sk - это утилита берет список строк из stdin, открывает интерактивный выбор и фильтрует строки по нечеткому совпадению. Проект активно развивается: постоянно выходят релизы с обновлениями производительности и интерфейса.

Установка:


cargo install skim


Запуск на простом списке:


printf "nginx\npostgres\nredis\ndocker\n" | sk


Как использовать

sk читает входной поток и дает быстро выбрать нужную строку. Это удобно для файлов, процессов, веток Git, истории команд и любых списков, которые уже умеет отдавать shell. Есть сценарии с find, git branch и shell integration.

Примеры:


find . -type f | sk



git branch | sk



ps aux | sk


Если нужно превью выбранного файла:


find . -type f | sk --preview 'bat --color=always {}'


Почему полезен

skim полезен там, где уже есть длинный текстовый вывод и нужен быстрый интерактивный выбор. Не писать длинные grep, не листать сотни строк руками, а просто сузить список и выбрать нужное.

Вывод

skim(sk) - это простой способ превратить любой список строк в удобный интерактивный выбор. Одна утилита, один pipe, и терминал становится заметно быстрее.

LinuxCamp | #utils
👍146🔥3
Любовь приходит и уходит, а желание собрать свой Linux-дистрибутив остается навсегда 😇

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4916🔥5🤔1
netcat (nc): утилита, которая просто открывает TCP и UDP

netcat (nc) - это консольная утилита для работы с TCP и UDP. Через нее можно открыть соединение, поднять простой listener, проверить порт, отправить данные в сокет или быстро посмотреть, отвечает ли сервис. Во многих Linux-системах это одна из самых базовых сетевых утилит.

Базовые примеры

Проверить, открыт ли TCP-порт:


nc -zv 127.0.0.1 80


Проверить сразу несколько портов:


nc -zv 127.0.0.1 22 80 443


Проверить UDP-порт:


nc -zvu 127.0.0.1 53


Поднять listener на порту:


nc -lv 9000


Подключиться к нему с другой стороны:


nc 127.0.0.1 9000


Где полезен

nc удобен для быстрой сетевой диагностики. Проверить доступность сервиса, убедиться что порт слушает, вручную отправить запрос в TCP-соединение, посмотреть сырой ответ, протестировать локальный listener без лишних инструментов.

Например, можно руками отправить HTTP-запрос:


printf "GET / HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n" | nc example.com 80


Или быстро проверить, слушает ли порт внутри сервера:


nc -zv localhost 5432


Даже можно отправить файл не используя ssh, rsync или scp:

На принимающей стороне:


nc -l 9000 > output.bin


На отправляющей стороне:


nc -N <хост получателя> 9000 < input.bin


Это просто сырая передача байтов через TCP-соединение.

Что важно

У netcat есть разные реализации: openbsd-netcat, gnu netcat, ncat. Из-за этого некоторые флаги могут немного отличаться. Но базовые сценарии обычно одинаковые: connect, listen, scan, send data.

Вывод

nc - это простой и полезный инструмент для TCP/UDP-проверок. Когда нужно быстро понять, жив ли порт и что реально отвечает по сокету, netcat обычно оказывается самым коротким путем.

LinuxCamp | #utils
👍36🔥118
Nerd Fonts: агрегатор шрифтов с иконками

Иногда ставишь красивый prompt, открываешь nvim, lazygit, tmux или starship, а вместо иконок видишь квадраты. Примерно так:


□ ~/projects/app main ✗
□ src/
□ docker-compose.yml


Это не баг терминала. Чаще всего просто выбран шрифт, в котором нет нужных символов.

Как исправить

Nerd Fonts — это репозиторий с уже готовыми шрифтами для разработчиков, куда добавили иконки: Devicons, Font Awesome, Octicons, Powerline-символы и другие. То есть можно взять привычный шрифт, но в версии Nerd Font:


🟡JetBrainsMono Nerd Font
🟡FiraCode Nerd Font
🟡Hack Nerd Font
🟡Meslo Nerd Font


Весь репозиторий скачивать не обязательно. Он большой. Обычно достаточно скачать только нужный шрифт из релизов. Например, JetBrains Mono:


mkdir -p ~/.local/share/fonts/JetBrainsMonoNF

curl -L \
https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.tar.xz \
-o /tmp/JetBrainsMonoNF.tar.xz

tar -xf /tmp/JetBrainsMonoNF.tar.xz -C ~/.local/share/fonts/JetBrainsMonoNF

fc-cache -fv


Если fc-cache не найден:


apt install -y fontconfig


Посмотреть доступные шрифты можно на странице загрузок Nerd Fonts или в списке релизов. Обычно имя архива совпадает с названием шрифта:


Hack.tar.xz
FiraCode.tar.xz
JetBrainsMono.tar.xz
UbuntuMono.tar.xz


Что выбрать

Если ты уже пользуешься JetBrains Mono: скачай JetBrainsMono Nerd Font. Если хочешь новый шрифт сразу с иконками: просто выбери любой готовый вариант из Nerd Fonts и установи его. После установки нужно открыть настройки терминала и выбрать установленный шрифт вручную:


JetBrainsMono Nerd Font Mono


Именно после этого иконки появятся в prompt, файловых деревьях, статус-барах и TUI-инструментах.

Если нужен свой шрифт

В Nerd Fonts есть font-patcher. Он нужен, если у тебя свой шрифт, которого нет среди готовых вариантов. Схема такая:


./font-patcher MyFont.ttf


На выходе получится пропатченный шрифт с добавленными символами Nerd Fonts. Его так же нужно положить в ~/.local/share/fonts, обновить кэш через fc-cache -fv и выбрать в настройках терминала. Но для большинства случаев это лишнее. Готовых шрифтов почти всегда вполне достаточно.

Вывод

Если в терминале вместо иконок квадраты просто поставь Nerd Font-версию своего шрифта и выбери ее в настройках.

LinuxCamp | #utils
Please open Telegram to view this post
VIEW IN TELEGRAM
👍217🔥6
isd: systemd, но в нормальном TUI

isd расшифровывается как interactive systemd. Это TUI-утилита для работы с systemd units: сервисами, таймерами, сокетами и user/system unit’ами. Вместо постоянного набора systemctl status, journalctl, restart, enable можно открыть один интерфейс и искать нужные юниты через fuzzy search.

Что умеет

Внутри можно быстро переключаться между system и user units, смотреть превью статуса, открывать вывод в pager/editor, работать с командами через command palette и не писать каждый раз длинные systemctl-команды руками. Запуск выглядит просто:


isd


Установить можно через uv, nix или AppImage. Например, если используешь uv:


uv tool install isd-tui
isd


Где полезно

Когда на сервере много сервисов и нужно быстро понять, что упало, что перезапустить и какие логи посмотреть. Обычный вариант:


systemctl status nginx
journalctl -u nginx -f
systemctl restart nginx


С isd это можно делать из одного TUI, не вспоминая каждый раз точное имя юнита.

Вывод

isd не заменяет знание systemctl, но сильно ускоряет повседневную работу с systemd. Хорошая штука для серверов, dev-машин и ситуаций, когда юнитов много, а руками искать их уже надоело.

LinuxCamp | #utils
👍175🔥4🤣2🤔1
Когда код руками писать отвык, но LLM твои задачи не тянет 🗣

LinuxCamp | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
😁483🔥3👍1🥴1
hackingtool: большая подборка hacking security-утилит в одном меню 👻

hackingtool — это Python/TUI-оболочка для установки и запуска инструментов по security-тестированию. Внутри собраны утилиты для OSINT, web security, reverse engineering, forensics, cloud security, mobile security, Active Directory и других задач. В версии 2.0 авторы заявляют 185+ инструментов и поиск по меню.

Что умеет

Главная идея простая: не держать в голове десятки репозиториев и команд установки, а искать нужный инструмент из одного интерфейса. Например, в списке есть:


nmap
theHarvester
ffuf
OWASP ZAP
Trivy


Самое интересное


Репозиторий содержит не только защитные инструменты, но и спорные категории: phishing, RAT, DDoS, payload creation и post-exploitation.
🤔Использовать только в защитных целях!!!

Вывод

hackingtool полезен как каталог и быстрый лаунчер security!-инструментов. Детям не игрушка 😁

LinuxCamp | #utils
Please open Telegram to view this post
VIEW IN TELEGRAM
👍223😁2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Как вам такое DE, братва?

LinuxCamp
👍32🔥1110
This media is not supported in your browser
VIEW IN TELEGRAM
Linux впервые в истории взял 5% в Steam

Доля пользователей Linux на Steam достигла 5% по данным опроса Valve за март 2026 года.

Для контекста, как Linux рос:

ноябрь 2024 — 2%
ноябрь 2025 — 3%
март 2026 — 5.33%

При ~132 млн пользователей Steam в месяц это около 7 млн геймеров на Linux.

Расклад по платформам в марте:

Windows — 92.33% (-4.28%)
Linux — 5.33% (+3.10%)
macOS — 2.35%

LinuxCamp | #news
🔥57👍10🦄5🥱32🤣2
Shellfirm: защита от опасных команд в терминале

Shellfirm — это предохранитель для shell-команд. Он перехватывает рискованные команды перед выполнением и просит дополнительное подтверждение. Например, если ты случайно запускаешь что-то вроде:


rm -rf /
git reset --hard
kubectl delete namespace prod


Shellfirm может остановить выполнение и показать предупреждение.

Как работает

Утилита встраивается в shell через hook и проверяет команду перед запуском. Установка:


cargo install shellfirm


Инициализация:


shellfirm init


После перезапуска shell можно проверить:


git reset --hard


Команда не выполнится молча: Shellfirm должен показать предупреждение.

Вывод

Shellfirm — простой предохранитель для терминала. Можно использовать как дополнительный слой проверки перед выполнением опасных действий.

LinuxCamp | #utils
👍267🙈1
Forwarded from ITCamp | AI & Code
Полный курс по вайбкодингу с Claude Code (за 1.5 часа) 😁

По полочкам разложил весь багаж знаний по работе с Claude Code:

— Установка, оплата, настройка

— MCP, субагенты, скиллы, команды

— git/github, x100 к скорости работы через "Git Worktrees"

— Деплой на выделенный сервер (как делают взрослые дяди):

покупка домена, аренда сервера, настройка DNS, сборка через dokploy


Рассказываю, что сам использую в работе и почему. Ценю ваше время, поэтому сжал 7 часов лайва в 1.5 😊

Видео забирай бесплатно по ссылке
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣27👍6🥴4🔥1🌚1
socktop: удаленный мониторинг сервера по WebSockets

socktop — это TUI-мониторинг для удалённых Linux-машин. На сервере запускается лёгкий агент, а ты со своей машины подключаешься к нему через WebSocket и смотришь метрики в терминале. По стилю похоже на top/btop, но с удалённым подключением.

Что показывает

В интерфейсе есть CPU, память, swap, диски, сеть, температуры и список процессов. Агент не крутит постоянный сборщик метрик в фоне: он собирает данные по запросу клиента. Когда никто не подключён, нагрузка почти нулевая.

Как запустить

Установка через cargo:


cargo install socktop
cargo install socktop_agent


На сервере:


socktop_agent --port 3000


На своей машине:


socktop ws://SERVER_IP:3000/ws


Для локального демо без отдельного сервера:


socktop --demo


Важный нюанс

Если открываешь агент не только в локальной сети, лучше включить TLS и токен.


SOCKTOP_TOKEN=changeme socktop_agent --enableSSL --port 8443


Подключение:


socktop --tls-ca /path/to/cert.pem \
"wss://SERVER_IP:8443/ws?token=changeme"


Без этого получится удобный, но лишний открытый вход к системным метрикам.

Вывод

socktop полезен, когда хочется смотреть состояние удалённого сервера без SSH-сессии с htop, iotop и кучей отдельных команд.
Для домашней лаборатории, Raspberry Pi, dev-серверов и небольших стендов очень приятный вариант.

LinuxCamp | #utils
👍227
Бэкапы БД отдельным контейнером

container-db-backup — Docker-образ для регулярных бэкапов баз данных. Поддерживает PostgreSQL, MySQL/MariaDB, MongoDB, Redis, SQLite, MSSQL, CouchDB и InfluxDB. Бэкапы можно складывать в локальную папку, S3-compatible storage, MinIO, Wasabi или Azure.

Как работает

Ты добавляешь отдельный контейнер рядом с базой, задаёшь параметры через env-переменные, а он по расписанию делает dump. Пример для PostgreSQL:


services:
db-backup:
image: docker.io/tiredofit/db-backup:latest
volumes:
- ./backups:/backup
environment:
- DB01_TYPE=pgsql
- DB01_HOST=postgres
- DB01_NAME=app
- DB01_USER=app
- DB01_PASS=secret
- DEFAULT_BACKUP_INTERVAL=1440
- DEFAULT_COMPRESSION=ZSTD


DB01, DB02, DB03 — это разные backup job’ы. Так можно одним контейнером бэкапить несколько баз.

Что умеет

Можно настроить расписание, сжатие, checksum, шифрование, очистку старых архивов, pre/post hooks и уведомления при ошибках в email, Matrix, Mattermost или Rocket.Chat. Ручной запуск тоже есть:


docker exec -it db-backup backup-now


А для отдельной задачи:


docker exec -it db-backup backup01-now


Важный нюанс

Бэкап это не только файл в папке. Его нужно периодически проверять восстановлением. У образа есть restore-скрипт, но поддержка восстановления заявлена только для MariaDB, Postgres и MongoDB. Для остальных лучше заранее проверить свой сценарий руками.

Вывод

container-db-backup — удобный вариант, если хочется быстро добавить scheduled backups в Docker Compose без отдельного cron-скрипта. Но после настройки обязательно проверь restore, иначе это не бэкап, а просто архив с надеждой.

LinuxCamp | #utils
🔥136👍4🤯1
Ядро Linux уже чисто ИИ пишет

За последние пару недель количество новых коммитов, помеченных как “Assisted-by” ИИ-ассистентом (например, Claude), буквально взлетело.

Каждый день отправляются пачки изменений, написанных в режиме вайб-кодинга 🫶

LinuxCamp | #news
Please open Telegram to view this post
VIEW IN TELEGRAM
😱36🤔13💊6👍2
SRE тут? Нашли для вас подкаст, который вполне может пополнить ряд любимых.

Коллеги из Авито создали «В SREду на кухне», периодически собираются, зовут на запись гостей и обсуждают то, о чём не принято говорить в опенспейсе. Например, вот темы недавних выпусков:
— GitOps не волшебная таблетка;
— Зачем продукту бюджет ошибок;
— Роняем прод, чтобы стать сильнее: всё о Chaos Engineering;
— SRE больше не нужны. AI переписал правила.

Отвечая на вопрос «А при чём здесь комьюнити?» — все дополнительные инсайты, статьи и мысли на темы выпусков ребята выкладывают в канал «Avito SREда». И там уже собралась активная аудитория коллег-инженеров.
👍3🔥32🤔1🤪1
Не все любят AI

Пока Linux ядро стремительно превращается в вайбкод проект, многие другие опенсорс тулзы запрещают любые AI-контрибьюции

- QEMU — "Политика проекта – отклонять любые контрибьюции, если есть основания полагать, что они включают в себя AI-сгенерированный контент или основаны на нём».

- NetBSD — код, сгенерированный AI, «считается потенциально заражённым кодом и не должен попадать в коммит».

- Zig — полный запрет на использование AI в любом виде:

«Никакого LLM-сгенерированного контента», «Никаких LLM для перевода», «Никаких LLM для поиска багов»

- OBS Studio — «Код должен быть написан человеком».

LinuxCamp | #news
👍398🔥5❤‍🔥1💊1