Обновить
512K+

Linux *

Пишем под *nix

393,89
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

eBPF для начинающих: практическое введение

Время на прочтение11 мин
Охват и читатели10K

Современные инструменты мониторинга (Prometheus, Grafana, профилировщики) обеспечивают хорошую видимость состояния приложения, но имеют ограничения при анализе низкоуровневых проблем. Технология eBPF (Extended Berkeley Packet Filter) позволяет преодолеть этот барьер, предоставляя безопасный доступ к событиям ядра Linux. 

Статья — это практическое введение в eBPF: попробуем готовые команды для наблюдаемости, сети и безопасности, разберём, как программа попадает в ядро и взаимодействует с user-space через maps и helpers, почему верификатор отклоняет «опасный» код и чем отличаются BCC, libbpf и bpftrace. В конце — короткий обзор того, как eBPF используют Cilium, Falco и Pixie.

Материал будет полезен программистам, DevOps-инженерам, SRE-специалистам и всем, кто интересуется Linux.

Читать далее

BBR рулит, но… — есть нюанс, когда алгоритмы из 2000-х понимают Wi-Fi лучше

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.4K

BBR принято считать современным стандартом TCP congestion control. Google разработал его в 2016 году, он работает в production крупнейших CDN, его хвалят в каждой второй статье о сетевой оптимизации. И всё это заслуженно — но с существенной оговоркой, о которой обычно не пишут.

Вперёд в прошлое…

Ваш docker‑compose.yml сломается: 5 настроек, которые все забывают

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели27K

Локально docker-compose.yml обычно выглядит «рабочим» ровно до момента, пока сервис не уезжает на сервер. Потом внезапно заканчивается память, контейнеры не поднимаются после падения, логи разрастаются на десятки гигабайт, а Docker продолжает считать зависшее приложение живым.

В статье — пять настроек Compose, про которые почти всегда вспоминают уже после первого инцидента в проде: лимиты ресурсов, restart policy, healthcheck, ротация логов и работа с volumes.

Читать далее

Дорогая, давай займемся spoofing-ом

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели10K

Email spoofing существует столько же, сколько сам SMTP — протокол, который изначально не предусматривал никакой проверки отправителя. В статье на живом примере разбираю, как отправить письмо от чужого имени через telnet, почему SPF и DKIM не всегда спасают и что нужно настроить, чтобы защитить свой домен.

Читать далее

Installer на стероидах. Модификация установочных образов Astra linux

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели11K

У каждого своё чувство перфекционизма. В этой статье я покажу примеры модификации live installer Astra linux, чтобы вы могли создать автономный дистрибутив своей мечты.

Читать далее

Как программа попадает в память: от execve до main

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели11K

Вы когда-нибудь задумывались, что происходит после того, как вы нажимаете Enter в терминале Linux? Вводите ./myprogram и...

Что именно происходит дальше? Как ядро находит файл? Как загружает его в память? Кто вызывает main? И как на всё это посмотреть вживую?

Разберемся на примере пустой программы empty_sleep. Она ничего не делает, просто запускается и завершается через 30 секунд. В ней нет лишнего кода и мы сможем сосредоточиться только на процессе загрузки. Всё, что мы увидим, относится к большинству динамически скомпилированных программ в Linux.

В этой статье покажу как с помощью strace в реальном времени проследить путь программы от execve до _start и main.

Читать далее

Double Shift вместо ручного удаления: как я делал локальный помощник раскладки для GNOME Wayland

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8.5K

Я сделал для себя локальную open source утилиту для GNOME Wayland: набрал слово не в той RU/EN раскладке, нажал Shift два раза — слово перепечаталось правильно. Делюсь проектом и тем, какие грабли нашлись на Wayland.

Читать далее

Suricata IPS NFQueue with nDPI. Часть V

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели7K

«Suricata IPS NFQueue with nDPI» — это значит, что программа suricata работает в режиме IPS с движком NFQueue и поддержкой nDPI.

Традиционные фаерволы могут блокировать нежелательный трафик по IP адресам и портам, но они не способны анализировать содержимое пакетов и обнаруживать сложные атаки, которые маскируются под легитимный трафик. Suricata сильно дополняет возможности классического фаервола — она позволяет блокировать данные на более высоком уровне — на уровне приложений.

Данная информация предназначена для тех, кто хотел бы получить опыт работы с suricata и попробовать ее возможности на практике. Приведенная конфигурация будет рассчитана на минимальное потребление ресурсов. Установка и настройка будут выполняться на ОС Debian 13 с nftables для текущей стабильной версии suricata 8.0.4.

Часть V содержит: 12. Подготовка к использованию.

Читать далее

Нестандартное решение для стандартных задач: пробуем вычислительный модуль Luckfox

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели13K

Привет, Хабр!

Глядя на то, как из-за кризиса производства оперативной памяти цены на одноплатные компьютеры улетают в космос, чувствуешь острую необходимость искать для своих проектов более бюджетные и порой нестандартные решения. Одним из таких решений, которое случайно попалось мне на глаза, стал вычислительный модуль Luckfox Core 1106. В данной статье мы посмотрим его характеристики, соберем операционную систему и запустим I2S-интерфейс для передачи цифрового аудио. Если стало интересно, то добро пожаловать под кат!

Читать далее

Обход блокировок на OpenWRT с помощью HomeProxy-hiddify (hiddify-core) и баз GeoIP, Geosite Re:filter

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели30K

Это гайд по настройке через UI нового, разработанного мной, русифицированного приложения для OpenWRT с hiddify-core - HomeProxy Hiddify, он позволяет настроить подключение к NaiveProxy, Mieru, ShadowTLS, Hysteria2, XRay, VLESS (XHTTP), VMESS, Trojan, TUIC и иным протоколам которые поддерживает Hiddify App в т.ч. с помощью подписок (subscription). В статье рассмотрим установку и настройку приложения для раздельного туннелирования на примере списков Re:filter

Читать далее

SELinux — Быстрый онбординг: типы, атрибуты, домены, политики и утилиты на практике

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели17K

В статье пойдет речь о SELinux. Главная моя задача — провести быстрый онбординг о том, как работать с политиками доступов. Я хочу показать, что это вовсе не так сложно, как может показаться на первый взгляд. Буквально 15 минут ознакомления с базовыми понятиями дает 80% понимания как работать с SELinux более уверенно.

Статья не совсем про написание политик, скорее про их понимание. Все описанное необходимо, чтобы уверенно пользоваться утилитами, более осмысленно работать с системой, решать проблемы и задачи, с которыми придется столкнуться в процессе эксплуатации SELinux.

Читать далее

Гейминг под Linux становится быстрее, потому что Windows API превращаются в фичи ядра Linux

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели23K

В марте 2026 года доля пользовательской базы под Linux в Steam впервые перевалила за 5% — рекорд для операционной системы, гейминг для которой был чем-то непривычным два десятка лет. В октябре компания Microsoft объявила дедлайн завершения срока поддержки Windows 10, что заставило многих пользователей искать альтернативы, а Steam Deck втихомолку превратил миллионы людей в Linux-геймеров, что привело к ещё более широкому использованию этой ОС на десктопных машинах.

Основной прогресс раньше происходил в ПО под названием Wine: слое трансляции, убеждающем игры для Windows в том, что они запущены под Windows. Steam Play и Steam Deck работают благодаря специализированной версии Wine под названием Proton, разрабатываемой Valve. Многие годы все существенные улучшения гейминга под Linux были связаны с изменениями в самих Wine и Proton. И это по-прежнему так, но всё больше важных изменений вносится и в слое уровнем ниже — внутри ядра Linux. Последним примером этого можно считать NTSYNC — драйвер уровня ядра, обеспечивающий огромный рост производительности по сравнению со старыми версиями Wine и загруженный по умолчанию во все современные Steam Deck.

Читать далее

Тайна подвальной PlayStation 5 за 7.000 рублей с Ozon

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели53K

Порой на маркетплейсах можно найти довольно интересные и диковинные устройства от небольших производств в Китае. Ранее в блоге я часто рассказывал о такой диковинке, как игровые телефоны с аппаратными клонами Famicom, DIY‑консоли формата «собери и напиши себе игры сам», а также о мелкосерийных игровых устройствах, выпущенных эксклюзивно для локального рынка Китая. Но недавно я увидел просто невероятную диковинку: консоль в стиле PlayStation 5 всего за 7.000 рублей... и моя гиковская душа просто не смогла устоять! Мы с ребятами из FunPay решили изучить, что скрывает в себе это чудо китайской инженерной мысли...

Читать далее

Ближайшие события

Книга: «Linux для администраторов, 2-е изд.»

Время на прочтение3 мин
Охват и читатели12K

Привет, Хаброжители! Раскройте мощь операционной системы Linux, используя ее непревзойденную универсальность для эффективного управления рабочими нагрузками как в локальных, так и в облачных средах. В книге представлены последние достижения в администрировании Linux.

Читать далее

Lindows OS — фейковая ось с гениальным названием

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели19K

Здравствуйте, уважаемые читатели!

Сегодня я предлагаю вам взглянуть на любопытный продукт — операционную систему, основанную на Linux Debian и имеющую громкое название «Lindows OS», далее — Lindows. Речь пойдёт об операционной системе, которая вынудила корпорацию Microsoft выкупить себе столь созвучное наименование.

Официальная цель создания программного продукта с названием Lindows — обеспечить запуск Windows- и Linux-приложений в среде Linux. А что, так можно было, что ли? Это не просто круто, а неимоверно свежо (речь идёт о 2001 годе). В данном проекте было организовано подобие онлайн-магазина приложений, а ещё бонусом предполагается стабильность работы Linux. В таком случае приобретение Windows — под вопросом.

В дальнейшем «Lindows OS» переименовалась в «Linspire OS», и проект просуществовал аж до 2008 года — это около 7 лет с момента создания.

Поставим-ка мы эту операционную систему, посмотрим, на чём она построена и как планировалось обеспечить обещанную работоспособность.

Посмотрим-поглядим

Как я сделал desktop‑версию мессенджера на vanilla Electron, не на React Native for Desktop. И не пожалел

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели9K

Это четвёртая статья из серии про инженерные решения в ONEMIX — моём мессенджере на React Native. В предыдущих разбирал трёхуровневый кэш сообщений, Double Ratchet E2E и WebRTC звонки с trickle ICE. Последняя про звонки набрала больше всего просмотров, и в комментариях несколько раз спрашивали про десктоп: «а как у тебя там устроено?».

Сегодня — отдельная статья про desktop‑версию. Сразу скажу: я не использовал React Native for Desktop, не Tauri, не React, не TypeScript. Чистый Electron + vanilla HTML/JS. Это нестандартное решение, и я объясню почему пошёл этим путём, что от этого выиграл, и где это бьёт по голове.

Читать далее

Запуск Vivado 2019.1 на Orange Pi 3 LTS  через QEMU

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели14K

Если вам интересно как выглядит работа Vivado на одноядерном ARM процессоре с частотой 1.8 ГГц, и 2 Гб ОЗУ, то я вам это покажу, и расскажу, как я запустил и успешно прошил плату (ДА! Собрал проект и прошил).

Читать далее

Если ты хороший игрок в Dota 2, то ты хороший Devops

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели18K

Играешь или играл когда‑то в Dota? Тогда я уверен, что ты сможешь научиться DevOps и стать в нём одним из лучших. Включай внимание и вникай, если ещё не вкатился в IT, либо готовься опровергать мой спич.

Я, как, наверное, и большинство людей, своё знакомство с компьютерами начал через игры. Игры учат нас систематическому мышлению, определённым механикам. Каждая игра включает в себя обучение, например, как двигаться, как драться и, собственно, проходить уровни. В уровнях систематически встречаются маленькие проблемы, то есть лёгкие враги, которых ты пачками бьёшь, если, конечно же, разобрался в управлении. Под конец уровня ты, скорее всего, встретишься с боссом этого уровня, которого будет достаточно трудно победить, и тебе непременно нужно будет применить для победы все выученные приёмы! Прошёл уровень? Держи новый, он будет достаточно сильно похож на предыдущий, но враги и твои проблемы становятся сложнее, и ты учишься новому, чтобы стать лучше и быстрее побеждать твоих врагов!

Уже начинаете понимать, к чему я клоню? Да, это очень похоже на реальную жизнь, в принципе: наши уровни — это как минимум наши годы, с течением которых мы становимся старше и встречаем «новые» проблемы. Мне нравилось играть, и я хотел с таким же интересом работать на своей будущей работе. Пока я учился, я узнавал новые приёмы и места, где их применять. Так я изначально и познакомился с компьютерными сетями: с тем, как общаются маршрутизаторы и коммутаторы, да и с тем, как вообще устроен интернет. За любой компанией стоит инфраструктура, где запущены серверы, а серверы соединены в локальную сеть благодаря сетевому оборудованию.

Узнать как работа в IT связана с играми

Простая настройка машины под Linux как роутера — NAT+nftables+dnsmasq

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели12K

Короткое описание, как я настраивал себе на Linux-машине роутер с пересылкой трафика в интернет, собственным DNS и DHCP. Простое и элегантное решение.

Читать далее

Локальный ИИ на «древнем» железе: выжимаем максимум из AMD RX 580 через Vulkan в Fedora (Llama 3.1, DeepSeek, Qwen 3.5)

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели11K

Я решил проверить, на что способен мой старый компьютер с Radeon RX 580 под управлением Fedora. В этой статье я пошагово разберу, как завести современный ИИ-стек (Ollama, n8n, Open WebUI) через Vulkan без боли с ROCm, и почему 15-35 токенов в секунду на железе 2017 года — это реальность, доступная каждому.

Читать далее