Обновить
317.55

Linux *

Пишем под *nix

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

Запуск x64 программ на ARM или почему вы не захотите этим заниматься

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

Вам нужно было хоть раз запускать x64 программы под Linux на ARM платфоме? Если да - это статья для вас. В ней я рассказываю про способы запуска программ с другой архитектуры на ARM.

Также это статья для вас, если вы хотите на будущее знать способы, которые есть для запуска. Когда наступит эра ARM-ноутбуков и ПК вам это может очень даже пригодится.

Читать далее

Новости

Отправка уведомлений в MAX по номеру телефона

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

Много лет пользовался проектом https://github.com/antirek/alarmo для отправки сообщений с идентификацией по номеру телефона в viber и telegram. Но современные реалии диктуют новые условия и пришлось потратить время чтобы сделать аналогичное решение для нового мессенджера MAX. В текущем моменте регистрация ботов доступна только для корпоративного сегмента, но я думаю это не проблема.
Готового решения я не нашел, поэтому сделал на коленке свое, буду надеяться что кому-нибудь поможет и пригодится. Как поставить Docker и Docker-compose я думаю каждый найдет в интернете, а вот с новинкой в виде MAX пока информации маловато.

Читать далее

Эволюция подходов к написанию корутин от Си до С++20. Часть 3. Использование сопрограмм при обработке событий в Linux

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

В предыдущей статье я рассматривал различные способы организации стековых корутин в языке Си. Эти сопрограммы имели чисто учебное значение так как вряд ли кто-то будет создавать генераторы последовательностей при помощи сопрограмм. Сегодня рассмотрим как писать стектовые корутины на С++ и создадим на их основе tcp сервер, обрабатывающий запросы от клиентов на основе опроса событий с использованием API мультиплексированного ввода-вывода epoll. Данная тема, на мой взгляд, является ключевой для понимания того, как функционируют современные серверные приложения, написанные при помощи таких библиотек как Boost Asio.

Читать далее

Настройка VPS своими руками: Docker + Nginx + SSL

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

Всем привет! Часто требуется поднять свой проект на VPS/VDS. Именно это я и покажу в статье.

Мы настроем сервер, NGINX, выпишем SSL-сертификат и развернём код тестового приложения.

Читать далее

Проблемно-ориентированная система на основе консольных JAVA приложений

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

Привет, Хабр! Хочу поделиться опытом разработки такой системы. Определяющими параметрами проблемно‑ориентированной системы являются.

Читать далее

Как замутить свой мини-Gmail и использовать его для своих рекламных рассылок

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

Привет, Хабр! Я Сергей, на данный момент безработный простой фрилансер, по всякого разного рода задачам, связанных с тем что может поддаться логике смарт камня внутри вашего ПК.

На одном из последних запросов я получил оффер — Установить Hestia, Roundcube, настроить почту. Казалось бы нет ничего проще — пишем промт в ИИ (chatGPT моя супруга ласково его называет по свойски «спроси у гопоты») и получай ответы. Но не тут то было...

А конкретнее...

Защита от SYN-flood: теория, практика и где искать подвох

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

Провайдер Panix в Нью‑Йорке внедрил систему блокировки спама по «чёрному списку» хостов, после чего стал мишенью затяжной SYN‑flood DDoS‑атаки, начавшейся 6 сентября 1996 года и на несколько дней фактически парализовавшей его почтовые, веб-серверы и серверы новостей, а также системы логина и DNS. Эта атака является одной из первых крупных DDoS-атак в истории.

SYN-flood по-прежнему остаётся одним из самых популярных инструментов в арсенале злоумышленников. Согласно отчёту Cloudflare за Q2 2025, этот вектор атак составляет 27% всех DDoS-атак на 3 и 4 уровнях, уверенно занимая «почётное» второе место. В таких условиях надёжная защита от SYN-flood критически важна для любого сервиса.

Меня зовут Лейли, я инженер по информационной безопасности в Ozon Tech, и сегодня расскажу о том, как мы внедряли и контролировали самый простой механизм защиты от SYN-flood и о подводных камнях.

Читать далее

Когда облако становится дорогим — переходим на выделенный сервер!?

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

В какой момент логично перейти на выделенный сервер и что вы получите взамен? Рассказываем о реальных цифрах, архитектуре и плюсах перехода.

Читать далее

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 2 — PMM + Allocator

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

В текущей статье, реализуем поддержку памяти и аллокатора в ядре, а так же перегрузим new и delete используя новый механизм памяти. На последок напишем контейнер OS::String для работы со строками, интерфейс API будет совпадать с интерфейсом std::string. Что бы в будущем просто сделать using на std контейнеры. Когда получится их завести. Цель создать фундамент для использования C++ идиом (включая умные указатели и STL‑подобные контейнеры) в «голом» окружении ядра без стандартных библиотечных аллокаторов. Решение позволяет тестировать код на хост‑системе (Windows/Linux) и затем без изменений запускать на целевой платформе (QEMU).

Читать далее

Алиас в помощь

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

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

Читать далее

Как я построил полностью изолированную пентест-лабораторию и почему ИИ нельзя доверять

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

Как я построил полностью изолированную пентест-лабораторию и почему ИИ нельзя доверять

Уже месяц я изучаю создание пентест-инструментов (назовем это так, чтобы с модерацией проблем не было :-)) по книге "Black Hat Go", и до недавних пор я тестировал малварь на своём хосте, ибо в них нет ничего опасного, это простейшие утилиты по типу TCP-сканера.

Значит, нужно построить свою виртуальную и изолированную лабу. В них должно быть минимум 3 машины: Windows 11 в роли жертвы, Ubuntu server lts в роли C2 сервака, и, конечно, классический Metasploitable2 опять же в роли жертвы.

Читать, как я мучился последние 3 дня

Автоматизация рутинных задач на VPS с помощью cron и скриптов

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

Мы каждый день сталкиваемся со множеством однотипных задач. Постоянно возвращаясь к ним, мы расходуем самый ценный ресурс — время. В итоге застреваем в рутине, рискуем не уложиться в сроки и совершить ошибку.

Но можно остановиться и передать повторяющуюся работу тому, кто не забудет и не промахнётся. Нас спасёт автоматизация!

Сегодня расскажем о том, как автоматизировать рутинные задачи на Linux-сервере при помощи cron и немного с помощью скриптов.

Читать далее

Вышла новая версия российской операционной системы «МСВСфера» 9.7

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

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

Мы в команде «Инферит ОС» выпустили крупное обновление «МСВСфера» 9.7, это была масштабная и непростая работа, но мы рады поделиться результатом. Немного расскажу про наши нововедения и фичи. 

В АРМ версию мы добавили конвертер медиа, с доступом прямо из контекстного меню файлового менеджера. Увидели в папке кучу .flac или .mov, которые нужно срочно перевести в mp4/mp3? Не нужно искать онлайн-сервисы или запускать тяжелые GUI-приложения. Правая кнопка мыши -> Конвертировать в — выбираете формат и получаете результат. Функция умеет даже отделять аудиодорожку от видео и накладывать одну на другую. 

Читать далее

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

Собираем Linux, который весит меньше, чем мем с котиком, ну или почти…

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

Мне всегда было интересно, насколько минимальным может быть Linux.

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

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

Зачем вообще нужно создавать такие сборки Linux?

Установил готовый дистрибутив или загрузился в Live — работай и изучай. Но такой подход не даёт настоящей уверенности в знаниях. Представьте: водитель и шофёр. Водитель просто ездит. Шофёр знает устройство автомобиля и может его починить.

Современные автомобили сложны — починить всё самому уже нельзя. Но вы можете открыть капот, измерить уровень масла, заменить колесо в случае прокола, установить винт для буксировочного троса и т. д. Так же и с Linux: коммерческий дистрибутив вы вряд ли соберёте, но на одну ступеньку вверх по лестнице профессионализма подниметесь.

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

Как минимальный Linux служит для понимания более сложных вещей, так и моя статья даёт базу для дальнейшего более глубокого изучения.

В комментариях к моей предыдущей статье я видел замечания, что можно использовать buildroot или книгу Linux From Scratch. Скажу только, что я преследую другие цели: собрать минимальный Linux без использования специализированных программ и сделать это как можно проще.

Всем, кого заинтересовало, добро пожаловать под кат.

Читать далее

Марсианские страсти: DOS, любовь и С++

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

У нас было 640Кб памяти, CGA-экран, 20-мегабайтовый диск и целых четыре мегагерца тактовой частоты. А еще старые пятидюймовые дискеты на 360кб. Не то чтобы это был необходимый набор для современного разработчика C++, но если уж начал коллекционировать дичь, то сложно остановиться..

Читать далее

Мониторинг в Linux на уровне ядра. Краткое практическое введение в eBPF+Cilium

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

Добрый день, всем читающим данную статью. Недавно эксперементируя с eBPF для разработки нового функционала своей EDR для linux-серверов, я столкнулся с огромной проблемой: на просторах интернета есть огромный пласт статей по теории работы с eBPF, однако кратких практических статей как работать с BPF мной найдено не было.

Если быть более точным, то такие статьи есть, однако, они не дают понимания функционала.
В общем, в данной статье хотелось бы написать краткий гайд по работе с eBPF с уклоном в практику.

Читать далее

Защита от ложных срабатываний триггеров в Zabbix с использованием функций min/max/avg

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

Всем привет! Мы делаем проекты по Zabbix, накопили большую экспертизу и решили сделать переводы нескольких статей, которые нам показались интересными и полезными. Наверняка, будут полезны и вам. Также своим опытом делимся в телеграм-канале zabbix_ru, где вы можете найти полезные материалы и записи наших вебинаров, опубликованных на нашем ютуб-канале (прим. переводчика). Ниже ссылки на предыдущие статьи из цикла.

Миграция с MySQL на PostgreSQL

SELinux: интеграция с Zabbix и другими инструментами

При использовании элементов данных в Zabbix, собирающих состояния систем, вы можете столкнуться с ложными срабатываниями. Это связано с тем, что настройки не позволяют использовать функции min, max или avg для оценки нескольких значений, т.к. Zabbix отбрасывает одинаковые последовательные состояния (в случае наличия предобработки Discard unchanged).

Читать далее

Элегантный OSDev: Пишем ядро ОС на modern C++ без макросов. Часть 1 — HAL всему голова

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

В теории я бы хотел сделать ОС на современном C++ — с умными указателями, лямбдами и прочими красивостями. А на практике пока что научился выводить текст прямо в видеопамять. Но это же и есть самый честный low-level — когда ты по-настоящему чувствуешь, как железо оживает от твоего кода.

Читать далее

Moss: Linux-совместимое ядро на Rust. Что это за проект?

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

В конце ноября 2025 года проект Moss представил прототип Unix-подобного ядра, написанного на Rust. Это попытка создать ядро, которое умеет запускать Linux-приложения, но работает уже по новым правилам — с упором на асинхронность и современные подходы к системному коду. За восемь месяцев команда добилась того, что ядро работает на реальном оборудовании, поддерживает базовые системные вызовы и запускает командную оболочку Bash. В этой статье разберем, что такое Moss, как оно устроено, где пока недотягивает и какие у него перспективы.

Читать далее

SELinux: интеграция с Zabbix и другими инструментами

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

Всем привет! Мы делаем проекты по Zabbix, накопили большую экспертизу и решили сделать переводы нескольких статей, которые нам показались интересными и полезными. Наверняка, будут полезны и вам. Также своим опытом делимся в телеграм-канале zabbix_ru, где вы можете найти полезные материалы и записи наших вебинаров, опубликованных на нашем ютуб-канале (прим. переводчика).

Миграция с MySQL на PostgreSQL — первая статья цикла переводов.

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

Данное руководство предназначено для дистрибутивов на основе RPM (RHEL, CentOS, Rocky Linux, AlmaLinux, Fedora, …).

Читать далее
1
23 ...