DevOps
23.4K subscribers
1.15K photos
143 videos
15 files
1.02K links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥полезные ит-каналы

https://t.me/Golang_google - Golang программирование

@golangl - golang chat

@GolangJobsit - golang channel jobs

@golang_jobsgo - jobs

РКН: clck.ru/3FmvZA

#VRHSZ
Download Telegram
⚡️ Linux Roadmap: подробный практический курс от нуля до уверенного администратора

Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.

Как работать с этим курсом: идите сверху вниз, не перепрыгивайте разделы; каждую команду набирайте руками, а не копируйте; в конце каждого блока выполняйте задание; специально ломайте систему в виртуалке и чините — это лучший способ учиться.

https://github.com/justxor/linuxfullroadmap/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥52🥰1
Pointer tagging: как рантаймы прячут данные прямо внутри указателя

В x86-64 Linux пользовательские процессы обычно используют не все 64 бита адреса. На практике адреса занимают около 48 бит, а верхние биты часто остаются свободными.

И вот тут начинается низкоуровневая магия.

Некоторые рантаймы кладут в эти верхние биты служебную информацию: тип объекта, флаги, состояние GC, короткий идентификатор или другой metadata-tag. Перед разыменованием указатель очищается маской, и процессор снова видит обычный валидный адрес.

Это называется pointer tagging.

Зачем это нужно:

- можно хранить метаданные без отдельной структуры
- меньше аллокаций
- лучше cache locality
- быстрее проверка типа или состояния объекта
- меньше overhead в рантайме

Такой подход используют Lisp-рантаймы, garbage collectors, JavaScript-движки и VM, где каждый байт и каждый лишний переход по памяти имеют значение.

Идея простая: если часть битов в указателе всё равно не участвует в адресации, почему бы не заставить их работать.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
🖥Ускорь Linux без апгрейда железа

Linux может стать заметно отзывчивее без апгрейда железа.

Мало кто включает zram, а зря. Он создаёт сжатую память прямо в RAM и снижает обращения к медленному swap на диске.

Особенно хорошо это чувствуется на ноутбуках и VPS с 8–16 гигабайтами памяти.

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

Один небольшой твик - и Linux работает лучше.

https://www.youtube.com/shorts/XGSNY4a0nJA
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴53🔥2👍1👎1
Разработчик так устал смотреть, как его AI-агент пишет 500 строк для задачи на 5 строк, что сделал фикс.

Он назвал его Ponytail. В честь того самого человека, который есть почти в каждой команде: длинный хвост, овальные очки, работает там дольше, чем существует version control. Ты показываешь ему 50 строк, он молча смотрит на них и заменяет одной.

Теперь ваш агент делает то же самое. Перед тем как что-то написать, он сначала ищет причину не писать.

На 80–94% меньше кода. На 47–77% дешевле. В 3–6 раз быстрее.

Лучший код, тот, который вы вообще не написали.

GitHub: https://github.com/DietrichGebert/ponytail
12👍8🫡3😁2
4 MCP-сервера, о которых стоит знать каждому DevOps-инженеру

1. Kubernetes MCP

- расследовать pod’ы в CrashLoopBackOff;
- дебажить неудачные деплои;
- анализировать состояние кластера.

Repo:
https://github.com/Flux159/mcp-server-kubernetes

2. AWS MCP

- разбирать резкие скачки расходов в AWS;
- находить неиспользуемые ресурсы;
- troubleshooting облачной инфраструктуры.

Repo:
https://github.com/awslabs/mcp

3. Terraform MCP

- проверять Terraform-планы;
- находить drift в инфраструктуре;
- объяснять изменения в инфраструктуре.

Repo:
https://github.com/hashicorp/terraform-mcp-server

4. Grafana + Prometheus MCP

- расследовать скачки latency;
- анализировать production-инциденты;
- объяснять alert storms.

Repos:
https://github.com/grafana/mcp-grafana
https://github.com/pab1it0/prometheus-mcp-server


ИИ может получать доступ к вашей инфраструктуре, понимать, что реально происходит, и помогать разбирать проблемы на основе настоящих данных, а не догадок.
👍7
Linux-инсайт: shell - это просто обычная программа

Ваш терминал не разговаривает с ядром напрямую магическим языком. Shell - это обычная userspace-программа. Просто таких программ целое семейство:

bash, zsh, fish, dash, ksh, ash, встроенный shell из BusyBox.

С точки зрения ядра все они делают примерно одну и ту же работу:

- читают байты из file descriptor
- парсят их как командный язык
- вызывают fork
- вызывают exec
- запускают другие программы

Разница почти вся живёт в userspace: какой синтаксис shell принимает, насколько он удобен в интерактивной работе, насколько строго следует POSIX и какие расширения добавляет сверху.

POSIX описывает shell-язык, который часто называют просто sh. Большинство shell реализуют его как базу, а потом добавляют свои фичи.

Поэтому bash и dash - это не «разные терминалы». Это разные реализации одной идеи.

Небольшой сюрприз: в Debian и Ubuntu /bin/sh обычно не bash, а dash. Он проще, меньше и стартует быстрее. Поэтому скрипт с первой строкой:


#!/bin/sh


может вести себя не так, как вы ожидаете, если вы писали его «как bash-скрипт».

Проверьте у себя:


readlink -f /bin/sh

И вы увидите, какой shell реально стоит за /bin/sh на вашей машине.
👍62🔥2
Открываете Grafana и видите 50 дашбордов «из коробки», но не понимаете ни один.
Копируете PromQL со Stack Overflow, потому что писать с нуля долго и непонятно.
200 алертов в день, критичных — три, и их не видно в общем шуме.

Не нужно учить всё это месяцами, пройдём полный путь за час.

23 июня в 12:00 — вебинар Deckhouse Академии. 60 минут, один живой сюжет, ноль воды.


Что покажем в эфире:
– как формируется metric и почему «удобный» label вроде user_id может взорвать кардинальность и заполнить всё хранилище;
– Prom++ против ванильного Prometheus: экономия памяти от ~10x и причины этой экономии (реестр ПО № 28605);
– модуль monitoring-custom в DKP или как начать собирать метрики без правок scrape_config;
– базовую агрегацию метрики;
– Alert Rule с for и keep_firing_for: как сделать «нешумный» алерт;
– как настроить отправку уведомлений и получить алерт.


Регистрация
4😁1
Linux tip: когда процесс завис, не убивайте его вслепую

Если процесс завис, не обязательно сразу делать kill -9 и гадать, что там произошло.

Можно подключиться к нему через strace и посмотреть в реальном времени, на каком системном вызове он застрял.

Команда:


strace -p <PID> -e trace=read,write,open


Что это даёт:

видно, читает ли процесс данные
видно, пишет ли он куда-то
видно, какие файлы открывает
можно понять, ждёт ли он stdin, файл, сокет или pipe
не нужно менять код
не нужно перезапускать сервис

Например, если программа «висит», strace может показать, что она просто ждёт read() из file descriptor. То есть проблема не в CPU, не в deadlock и не в магии Linux, а в том, что процесс ждёт ввод.

Это особенно полезно в проде, когда нельзя просто взять и перезапустить сервис ради эксперимента.

Базовый сценарий:


pidof my_process
sudo strace -p <PID> -e trace=read,write


И дальше вы видите, чем процесс реально занят.

strace - один из тех инструментов, которые превращают «оно зависло» в нормальный технический диагноз.
👍16🔥86
Рэй Брэдбери бы оценил: запрещённые книги теперь прячут в умных лампочках

Энтузиаст разобрал обычную Wi-Fi лампочку и превратил её микроконтроллер ESP32-C3 в маленький автономный веб-сервер.

Получился почти сюжет из «451 градуса по Фаренгейту»: лампа создаёт открытую Wi-Fi сеть, открывает портал и даёт читать книги, которые запрещали или ограничивали в школах.

SD-карту в тесный корпус встроить не удалось, поэтому библиотека живёт прямо во встроенной памяти. Всего 4 МБ, но для текста этого хватает.

Самое забавное, что такие лампочки уже давно вышли за пределы «умного дома». На похожем железе поднимают Minecraft-серверы, запускают DOOM и теперь ещё прячут мини-библиотеки.

Будущее странное: раньше книги сжигали, теперь они раздаются из лампочки.

https://www.richardosgood.com/posts/banned-book-library/
11👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Хватит держать сервер нараспашку: базовый хардэнинг Linux за 8 шагов

Большинство серверов взламывают не через киношные zero-day, а через базовые ошибки: парольный SSH, открытые порты, root-вход и отсутствие бэкапов.

В этом ролике короткий чек-лист, как обезопасить Linux-сервер с нуля.

Первое: вход только по SSH-ключу, парольную авторизацию отключить.
Второе: запретить прямой вход под root и работать через sudo.
Третье: закрыть все лишние порты через UFW или iptables.
Четвёртое: регулярно ставить security updates.

Дальше: fail2ban против перебора паролей, двухфакторка там, где возможно, минимум прав для пользователей и сервисов.

И обязательно бэкапы. Не “когда-нибудь”, а по расписанию и отдельно от сервера.

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

Минимум, который реально нужен: SSH-ключи, firewall, обновления, fail2ban и бэкапы.

Полезно бэкендерам, DevOps и всем, кто держит VPS или продакшен.

#Linux #сервер #безопасность #DevOps #SSH #fail2ban #firewall #VPS #хардэнинг #кибербезопасность #бэкапы #системноеадминистрирование
👍106🔥41
⚙️ ASMLings - подробный гайд на русском

ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.

Полный русскоязычный гайд по asmlings — интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust.

Внутри: что это, как устроено под капотом, как установить, как читать и решать упражнения, разборы реальных задач из репозитория, готовые примеры в examples/ и шпаргалки.

https://github.com/justxor/-ASMLingsru/
1👍1
А вы знали, что Linux тоже можно забэкдорить?

Многие считают Linux почти неуязвимым. Но это не так.

В 2024 году злоумышленник почти 2 года тихо встраивал бэкдор в XZ Utils - базовую библиотеку сжатия, которая есть почти во всех крупных Linux-дистрибутивах.

Целью был sshd. При наличии правильного ключа шифрования можно было внедрять код через SSH-сертификаты входа. Тихо, без алертов, внешне всё выглядело полностью легитимно.

Один разработчик заметил проблему только потому, что sshd стал запускаться примерно на 500 мс медленнее обычного.

Именно из-за этого бэкдор не успел попасть в production-системы по всему миру.

Linux не неуязвим. Просто долгое время он не был главной целью. Теперь это меняется.
👍53🔥3
⚙️ Cloud-native в России начинает собирать собственный инженерный «core team»

Первая в России независимая некоммерческая ассоциация, которая занимается развитием облачно-ориентированных технологий (АОТ), формирует экспертный совет. В него войдут девять практиков, которые работают с Kubernetes и современной облачной инфраструктурой не в презентациях, а в продакшене.

Фокус ожидаемо инженерный:

- Kubernetes
- платформенные решения
- DevOps и DevSecOps
- безопасность облачных систем
- observability
- устойчивость инфраструктуры
- применение AI в разработке

Если раньше cloud-native был набором отдельных инструментов, то сейчас это уже полноценное направление со своим профессиональным сообществом, исследованиями и отраслевой повесткой.

Похоже, Kubernetes окончательно перестал быть просто оркестратором контейнеров и превратился в фундамент современной инфраструктуры.

https://kod.ru/aot-experts/amp
👍61