Как автоматизировать работу с выделенными серверами без слез и костылей
Разбираемся на бесплатном вебинаре от Selectel. Присоединяйтесь, чтобы узнать, как работать с Terraform на выделенных серверах, чем подход Infrastructure as Code может быть полезен для бизнеса и как устроен Bare Metal Cloud в Selectel.
Все участники вебинара получат промокод на 3000 бонусов в панели Selectel.
📍 Онлайн
⏰ 16 июня в 12:00
Регистрируйтесь ➡️ https://slc.tl/h2fy7
Больше мероприятий для ИТ-специалистов в канале @selectel_events. Подписывайтесь!
Реклама. АО "Селектел". erid:2W5zFJ3GM5s
Разбираемся на бесплатном вебинаре от Selectel. Присоединяйтесь, чтобы узнать, как работать с Terraform на выделенных серверах, чем подход Infrastructure as Code может быть полезен для бизнеса и как устроен Bare Metal Cloud в Selectel.
Все участники вебинара получат промокод на 3000 бонусов в панели Selectel.
📍 Онлайн
⏰ 16 июня в 12:00
Регистрируйтесь ➡️ https://slc.tl/h2fy7
Больше мероприятий для ИТ-специалистов в канале @selectel_events. Подписывайтесь!
Реклама. АО "Селектел". erid:2W5zFJ3GM5s
❤2👏1
Когда инфраструктура перестаёт соответствовать текущим нагрузкам, компаниям приходится принимать решение о переезде в новое окружение. Чтобы сделать этот процесс менее затратным, Yandex Cloud предлагает программу миграции.
Она рассчитана на организации, которые переходят из других облаков, хостингов или собственных дата-центров. В рамках программы можно получить грант на 60 дней использования облачной платформы, консультации архитектора по подготовке плана миграции и поддержку персонального менеджера. Грант покроет все расходы на миграцию, размер рассчитывается индивидуально.
В распоряжении пользователей Yandex Cloud — более 75 сервисов и 4 собственных дата-центра для работы с инфраструктурой, данными и приложениями. Расходы зависят только от объёма реально потреблённых ресурсов.
Подайте заявку до 20 июня и получите поддержку при миграции в Yandex Cloud.
Она рассчитана на организации, которые переходят из других облаков, хостингов или собственных дата-центров. В рамках программы можно получить грант на 60 дней использования облачной платформы, консультации архитектора по подготовке плана миграции и поддержку персонального менеджера. Грант покроет все расходы на миграцию, размер рассчитывается индивидуально.
В распоряжении пользователей Yandex Cloud — более 75 сервисов и 4 собственных дата-центра для работы с инфраструктурой, данными и приложениями. Расходы зависят только от объёма реально потреблённых ресурсов.
Подайте заявку до 20 июня и получите поддержку при миграции в Yandex Cloud.
❤2👍2🔥2
Создатели Unix сами устали от Unix - и в Bell Labs начали строить ему замену.
Кен Томпсон, Деннис Ритчи и Роб Пайк почти десятилетие работали над Plan 9. Название взяли из старого трэшового sci-fi фильма Plan 9 from Outer Space, как внутреннюю шутку. Но сама система была совсем не шуткой.
Plan 9 пыталась довести идеи Unix до логического конца. Если в Unix «всё файл» звучало как красивая философия, то в Plan 9 это стало реальной архитектурой. Файлами выглядели устройства, процессы, сеть, окна, удалённые машины. Всё собиралось в единое пространство имён, с которым можно работать одинаковыми инструментами.
Самые сильные идеи Plan 9:
- единое пространство имён для файлов, устройств, процессов, сети и графики
- личный вид системы для каждого пользователя
- распределённые вычисления как основа, а не отдельная надстройка
- UTF-8, который потом стал стандартом для всего интернета
- сетевые идеи, которые позже повлияли на Linux, Android и контейнеры
- подходы, которые Роб Пайк позже перенёс в Go
В 2000 году Plan 9 открыли бесплатно. Можно было запускать, менять, изучать и использовать без лицензий уровня Windows и без привязки к железу Apple.
Но массовым он так и не стал. Linux забрал внимание индустрии, Unix-наследие осталось везде, а Plan 9 превратился в систему, которую знают в основном системные программисты и любители красивых ОС.
Ирония в том, что Plan 9 проиграл как продукт, но выиграл как источник идей. UTF-8, распределённая модель, namespaces, сетевой подход, влияние на Go - всё это живёт в современных системах до сих пор.
Мир почти не заметил Plan 9.
Зато взял у него кучу идей.
Кен Томпсон, Деннис Ритчи и Роб Пайк почти десятилетие работали над Plan 9. Название взяли из старого трэшового sci-fi фильма Plan 9 from Outer Space, как внутреннюю шутку. Но сама система была совсем не шуткой.
Plan 9 пыталась довести идеи Unix до логического конца. Если в Unix «всё файл» звучало как красивая философия, то в Plan 9 это стало реальной архитектурой. Файлами выглядели устройства, процессы, сеть, окна, удалённые машины. Всё собиралось в единое пространство имён, с которым можно работать одинаковыми инструментами.
Самые сильные идеи Plan 9:
- единое пространство имён для файлов, устройств, процессов, сети и графики
- личный вид системы для каждого пользователя
- распределённые вычисления как основа, а не отдельная надстройка
- UTF-8, который потом стал стандартом для всего интернета
- сетевые идеи, которые позже повлияли на Linux, Android и контейнеры
- подходы, которые Роб Пайк позже перенёс в Go
В 2000 году Plan 9 открыли бесплатно. Можно было запускать, менять, изучать и использовать без лицензий уровня Windows и без привязки к железу Apple.
Но массовым он так и не стал. Linux забрал внимание индустрии, Unix-наследие осталось везде, а Plan 9 превратился в систему, которую знают в основном системные программисты и любители красивых ОС.
Ирония в том, что Plan 9 проиграл как продукт, но выиграл как источник идей. UTF-8, распределённая модель, namespaces, сетевой подход, влияние на Go - всё это живёт в современных системах до сих пор.
Мир почти не заметил Plan 9.
Зато взял у него кучу идей.
👍12❤3😭3
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ GitHub ударил по vibe coding
GitHub выкатил Spec Kit - набор инструментов для разработки с AI-агентами, где сначала появляется спецификация, а уже потом код.
И это важный сдвиг.
Проблема vibe coding не в том, что модели слабые. Проблема в том, что ты кидаешь агенту идею в стиле «сделай мне приложение», а дальше он сам додумывает требования, архитектуру, ограничения и порядок работы.
Иногда попадает.
Чаще начинает уверенно строить не то.
Spec Kit предлагает другой процесс: сначала зафиксировать правила проекта, уточнить требования, выбрать стек, разбить работу на задачи и только потом запускать реализацию.
Основной workflow выглядит так:
-
-
-
-
-
-
Главная идея простая: агенту больше не дают «мечту в одном абзаце» и не надеются, что он не уедет в сторону.
Ему дают живую спецификацию.
Она описывает, что строим, почему именно так, какие ограничения есть, в каком порядке идти и по каким критериям проверять результат.
И, похоже, GitHub прямо показывает, куда всё идёт: AI-агенты будут писать всё больше кода, но нормальная разработка всё равно начинается не с автокомплита, а с ясных требований.
github.com/github/spec-kit
GitHub выкатил Spec Kit - набор инструментов для разработки с AI-агентами, где сначала появляется спецификация, а уже потом код.
И это важный сдвиг.
Проблема vibe coding не в том, что модели слабые. Проблема в том, что ты кидаешь агенту идею в стиле «сделай мне приложение», а дальше он сам додумывает требования, архитектуру, ограничения и порядок работы.
Иногда попадает.
Чаще начинает уверенно строить не то.
Spec Kit предлагает другой процесс: сначала зафиксировать правила проекта, уточнить требования, выбрать стек, разбить работу на задачи и только потом запускать реализацию.
Основной workflow выглядит так:
-
/speckit.constitution - правила проекта: качество, тесты, архитектура, ограничения-
/speckit.specify - что нужно построить и зачем, без преждевременного выбора стека-
/speckit.clarify - агент задаёт вопросы по мутным местам до старта разработки-
/speckit.plan - технический план, стек, архитектурные решения-
/speckit.tasks - список задач с зависимостями и порядком выполнения-
/speckit.implement - реализация по уже собранному плануГлавная идея простая: агенту больше не дают «мечту в одном абзаце» и не надеются, что он не уедет в сторону.
Ему дают живую спецификацию.
Она описывает, что строим, почему именно так, какие ограничения есть, в каком порядке идти и по каким критериям проверять результат.
И, похоже, GitHub прямо показывает, куда всё идёт: AI-агенты будут писать всё больше кода, но нормальная разработка всё равно начинается не с автокомплита, а с ясных требований.
github.com/github/spec-kit
❤19👍6🤓6
🚀 RSS и виртуальная память - не одно и то же
Хороший пример для тех, кто путает virtual memory и реальное потребление памяти в Linux.
Когда процесс делает
Физические страницы появляются только тогда, когда программа реально к ним обращается:
-
- запись в
- RSS растёт, потому что теперь за частью адресов стоит реальная память
-
- Linux может освободить физическую память
- само виртуальное отображение при этом остаётся
Именно поэтому после
А если потом снова записать в
Редкий, но важный момент для backend, runtime, баз данных и всего, где память измеряется не глазами в
Хороший пример для тех, кто путает virtual memory и реальное потребление памяти в Linux.
Когда процесс делает
mmap, он может зарезервировать большой кусок виртуального адресного пространства, например 1 GB. Но это ещё не значит, что процесс реально занял 1 GB физической памяти.Физические страницы появляются только тогда, когда программа реально к ним обращается:
-
mmap создаёт отображение в адресном пространстве- запись в
region[0] или region[4096] заставляет ядро выделить физические страницы- RSS растёт, потому что теперь за частью адресов стоит реальная память
-
madvise(..., MADV_DONTNEED) говорит ядру: эти страницы больше не нужны- Linux может освободить физическую память
- само виртуальное отображение при этом остаётся
Именно поэтому после
MADV_DONTNEED RSS падает, но virtual memory почти не меняется. Адреса всё ещё зарезервированы, просто за ними больше нет физических страниц.А если потом снова записать в
region[0], произойдёт page fault, и Linux заново подложит физическую страницу по требованию.Редкий, но важный момент для backend, runtime, баз данных и всего, где память измеряется не глазами в
top, а пониманием того, что именно показывает метрика.❤3👍3🔥1😱1
Один человек написал код, который сегодня работает на 20+ млрд устройств
Даниэль Стенберг начал cURL в 1996 году как маленькую утилиту для скачивания файлов из интернета.
Без большой команды. Без венчурных денег. Без хайпа. Просто писал open-source инструмент в свободное время.
Почти 30 лет спустя cURL стал тихим фундаментом интернета.
Он есть в iPhone, Android, PlayStation, Tesla, серверах, приложениях, сайтах и куче устройств, о которых мы даже не думаем. Его используют Spotify, YouTube, Netflix, Instagram и тысячи других сервисов.
NASA даже использовала cURL на марсианском вертолёте Ingenuity.
То есть код Стенберга буквально летал на другой планете.
Самое безумное - первые 23 года он не зарабатывал на cURL ничего. Триллионные компании строили продукты на его коде, а он продолжал бесплатно поддерживать проект и отвечать на баг-репорты.
В 2017 году король Швеции вручил ему премию Полхема - впервые в истории эту награду получил open-source проект.
В 2019 году Стенберг наконец начал работать над cURL фултайм в wolfSSL. В 2025 году получил золотую медаль IVA от Королевской шведской академии инженерных наук.
Но по сути ничего не изменилось: он всё ещё пишет код из домашнего офиса в Стокгольме и сам отвечает на GitHub issues.
Почти 30 лет человек делал инструмент, который работает в фоне и держит огромную часть интернета.
Без громких презентаций.
Без миллиардных раундов.
Просто хороший код, который пережил почти всё.
Даниэль Стенберг начал cURL в 1996 году как маленькую утилиту для скачивания файлов из интернета.
Без большой команды. Без венчурных денег. Без хайпа. Просто писал open-source инструмент в свободное время.
Почти 30 лет спустя cURL стал тихим фундаментом интернета.
Он есть в iPhone, Android, PlayStation, Tesla, серверах, приложениях, сайтах и куче устройств, о которых мы даже не думаем. Его используют Spotify, YouTube, Netflix, Instagram и тысячи других сервисов.
NASA даже использовала cURL на марсианском вертолёте Ingenuity.
То есть код Стенберга буквально летал на другой планете.
Самое безумное - первые 23 года он не зарабатывал на cURL ничего. Триллионные компании строили продукты на его коде, а он продолжал бесплатно поддерживать проект и отвечать на баг-репорты.
В 2017 году король Швеции вручил ему премию Полхема - впервые в истории эту награду получил open-source проект.
В 2019 году Стенберг наконец начал работать над cURL фултайм в wolfSSL. В 2025 году получил золотую медаль IVA от Королевской шведской академии инженерных наук.
Но по сути ничего не изменилось: он всё ещё пишет код из домашнего офиса в Стокгольме и сам отвечает на GitHub issues.
Почти 30 лет человек делал инструмент, который работает в фоне и держит огромную часть интернета.
Без громких презентаций.
Без миллиардных раундов.
Просто хороший код, который пережил почти всё.
❤52🔥11👍7👎2
Проблема новичков в том, что они учат Python кусками: синтаксис, пару задач, немного теории - и потом не понимают, как собрать из этого реальный проект.
Этот курс закрывает именно этот разрыв. Здесь вы не просто смотрите уроки, а учитесь писать код, разбирать ошибки и собирать рабочие решения на практике.
Внутри:
- Python с нуля
- много практики без сухой теории
- реальные задачи и проекты
- автоматизация рутины
- работа с файлами, данными и API
- понятная логика программирования
- современная разработка с ИИ
- отдельный блок по вайбкодингу
Вайбкодинг это нормальный навык 2026 года и вас научат- правильно ставить задачу, проверять код, понимать результат и быстрее доводить проект до рабочего состояния.
48 часов скидка 60%: https://stepik.org/course/288218/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Это пошаговый маршрут изучения Linux с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.
Как работать с этим курсом: идите сверху вниз, не перепрыгивайте разделы; каждую команду набирайте руками, а не копируйте; в конце каждого блока выполняйте задание; специально ломайте систему в виртуалке и чините — это лучший способ учиться.
https://github.com/justxor/linuxfullroadmap/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2🥰1
Pointer tagging: как рантаймы прячут данные прямо внутри указателя
В x86-64 Linux пользовательские процессы обычно используют не все 64 бита адреса. На практике адреса занимают около 48 бит, а верхние биты часто остаются свободными.
И вот тут начинается низкоуровневая магия.
Некоторые рантаймы кладут в эти верхние биты служебную информацию: тип объекта, флаги, состояние GC, короткий идентификатор или другой metadata-tag. Перед разыменованием указатель очищается маской, и процессор снова видит обычный валидный адрес.
Это называется pointer tagging.
Зачем это нужно:
- можно хранить метаданные без отдельной структуры
- меньше аллокаций
- лучше cache locality
- быстрее проверка типа или состояния объекта
- меньше overhead в рантайме
Такой подход используют Lisp-рантаймы, garbage collectors, JavaScript-движки и VM, где каждый байт и каждый лишний переход по памяти имеют значение.
Идея простая: если часть битов в указателе всё равно не участвует в адресации, почему бы не заставить их работать.
В 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 может стать заметно отзывчивее без апгрейда железа.
Мало кто включает zram, а зря. Он создаёт сжатую память прямо в RAM и снижает обращения к медленному swap на диске.
Особенно хорошо это чувствуется на ноутбуках и VPS с 8–16 гигабайтами памяти.
Система меньше тупит под нагрузкой, быстрее переключается между задачами и реже упирается в диск.
Один небольшой твик - и Linux работает лучше.
https://www.youtube.com/shorts/XGSNY4a0nJA
Please open Telegram to view this post
VIEW IN TELEGRAM
🥴5❤3🔥2👍1👎1
Разработчик так устал смотреть, как его AI-агент пишет 500 строк для задачи на 5 строк, что сделал фикс.
Он назвал его Ponytail. В честь того самого человека, который есть почти в каждой команде: длинный хвост, овальные очки, работает там дольше, чем существует version control. Ты показываешь ему 50 строк, он молча смотрит на них и заменяет одной.
Теперь ваш агент делает то же самое. Перед тем как что-то написать, он сначала ищет причину не писать.
На 80–94% меньше кода. На 47–77% дешевле. В 3–6 раз быстрее.
Лучший код, тот, который вы вообще не написали.
GitHub: https://github.com/DietrichGebert/ponytail
Он назвал его 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’ы в
- дебажить неудачные деплои;
- анализировать состояние кластера.
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
ИИ может получать доступ к вашей инфраструктуре, понимать, что реально происходит, и помогать разбирать проблемы на основе настоящих данных, а не догадок.
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-программа. Просто таких программ целое семейство:
С точки зрения ядра все они делают примерно одну и ту же работу:
- читают байты из file descriptor
- парсят их как командный язык
- вызывают
- вызывают
- запускают другие программы
Разница почти вся живёт в userspace: какой синтаксис shell принимает, насколько он удобен в интерактивной работе, насколько строго следует POSIX и какие расширения добавляет сверху.
POSIX описывает shell-язык, который часто называют просто
Поэтому
Небольшой сюрприз: в Debian и Ubuntu
может вести себя не так, как вы ожидаете, если вы писали его «как bash-скрипт».
Проверьте у себя:
И вы увидите, какой shell реально стоит за /bin/sh на вашей машине.
Ваш терминал не разговаривает с ядром напрямую магическим языком. 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 на вашей машине.
👍6❤2🔥2
Открываете Grafana и видите 50 дашбордов «из коробки», но не понимаете ни один.
Копируете PromQL со Stack Overflow, потому что писать с нуля долго и непонятно.
200 алертов в день, критичных — три, и их не видно в общем шуме.
Не нужно учить всё это месяцами, пройдём полный путь за час.
23 июня в 12:00 — вебинар Deckhouse Академии. 60 минут, один живой сюжет, ноль воды.
Регистрация
Копируете 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: когда процесс завис, не убивайте его вслепую
Если процесс завис, не обязательно сразу делать
Можно подключиться к нему через
Команда:
Что это даёт:
видно, читает ли процесс данные
видно, пишет ли он куда-то
видно, какие файлы открывает
можно понять, ждёт ли он stdin, файл, сокет или pipe
не нужно менять код
не нужно перезапускать сервис
Например, если программа «висит», strace может показать, что она просто ждёт read() из file descriptor. То есть проблема не в CPU, не в deadlock и не в магии Linux, а в том, что процесс ждёт ввод.
Это особенно полезно в проде, когда нельзя просто взять и перезапустить сервис ради эксперимента.
Базовый сценарий:
И дальше вы видите, чем процесс реально занят.
strace - один из тех инструментов, которые превращают «оно зависло» в нормальный технический диагноз.
Если процесс завис, не обязательно сразу делать
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🔥8❤6
Рэй Брэдбери бы оценил: запрещённые книги теперь прячут в умных лампочках
Энтузиаст разобрал обычную Wi-Fi лампочку и превратил её микроконтроллер ESP32-C3 в маленький автономный веб-сервер.
Получился почти сюжет из «451 градуса по Фаренгейту»: лампа создаёт открытую Wi-Fi сеть, открывает портал и даёт читать книги, которые запрещали или ограничивали в школах.
SD-карту в тесный корпус встроить не удалось, поэтому библиотека живёт прямо во встроенной памяти. Всего 4 МБ, но для текста этого хватает.
Самое забавное, что такие лампочки уже давно вышли за пределы «умного дома». На похожем железе поднимают Minecraft-серверы, запускают DOOM и теперь ещё прячут мини-библиотеки.
Будущее странное: раньше книги сжигали, теперь они раздаются из лампочки.
https://www.richardosgood.com/posts/banned-book-library/
Энтузиаст разобрал обычную 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 #хардэнинг #кибербезопасность #бэкапы #системноеадминистрирование
Большинство серверов взламывают не через киношные zero-day, а через базовые ошибки: парольный SSH, открытые порты, root-вход и отсутствие бэкапов.
В этом ролике короткий чек-лист, как обезопасить Linux-сервер с нуля.
Первое: вход только по SSH-ключу, парольную авторизацию отключить.
Второе: запретить прямой вход под root и работать через sudo.
Третье: закрыть все лишние порты через UFW или iptables.
Четвёртое: регулярно ставить security updates.
Дальше: fail2ban против перебора паролей, двухфакторка там, где возможно, минимум прав для пользователей и сервисов.
И обязательно бэкапы. Не “когда-нибудь”, а по расписанию и отдельно от сервера.
Финальный слой: логи и мониторинг, чтобы видеть подозрительную активность до того, как сервер уже лег.
Минимум, который реально нужен: SSH-ключи, firewall, обновления, fail2ban и бэкапы.
Полезно бэкендерам, DevOps и всем, кто держит VPS или продакшен.
#Linux #сервер #безопасность #DevOps #SSH #fail2ban #firewall #VPS #хардэнинг #кибербезопасность #бэкапы #системноеадминистрирование
👍10❤6🔥4✍1
⚙️ ASMLings - подробный гайд на русском
ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.
Полный русскоязычный гайд по asmlings — интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust.
Внутри: что это, как устроено под капотом, как установить, как читать и решать упражнения, разборы реальных задач из репозитория, готовые примеры в examples/ и шпаргалки.
https://github.com/justxor/-ASMLingsru/
ASMLings - это набор из ~32 коротких упражнений на ассемблере Intel 8086, выстроенных по возрастанию сложности: от mov ax, 0x1337 до 32-битного сложения через carry flag, циклов, подпрограмм, работы с памятью и стеком.
Полный русскоязычный гайд по asmlings — интерактивной песочнице для изучения ассемблера Intel 8086, в которой 16-битный x86-эмулятор написан на Rust.
Внутри: что это, как устроено под капотом, как установить, как читать и решать упражнения, разборы реальных задач из репозитория, готовые примеры в examples/ и шпаргалки.
https://github.com/justxor/-ASMLingsru/
❤1👍1