Обновить
256K+

Linux *

Пишем под *nix

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

GhostBusters — райтап простой машины от платформы Aclabs.pro

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

Данный таск был частью 7 сезона CTF, который проводился на платформе aclabs.pro. Любителям фильма «Охотники за приведениями» рекомендую ознакомиться. Это необычная тачка с двумя флагами user и root. В центре внимания будет уязвимость в вебчике движка ghost cms, а вот флаги, вот здесь интереснее. Были случаи, когда участники брали рута, но не смогли найти ни одного флага. Поэтому считаю эту машину крайне инетресной.

Читать далее

Новости

Три примера перехода с Microsoft AD на «Альт Домен»

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

Три примера перехода с Microsoft AD на «Альт Домен»

На 4-ой партнёрской конференции «Базальт СПО» — AltConf: Orange Season — сооснователь компании Pragmatic Tools Андрей Арефьев представил три примера импортозамещения, при котором происходил переход с корпоративного каталога Microsoft Active Directory на программный комплекс «Альт Домен». Для автоматизированной миграции использовался инструмент для управляемого переноса доменной инфраструктуры Pragmatic Tools Migrator.

Читать далее

Любишь, чтобы сервер работал, — люби и BMC: кто и как решает проблемы на стыке железа и прошивки

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

Стабильность современного сервера зависит от BMC (Baseboard Management Controller): он управляет аппаратной платформой, следит за ее состоянием и решает множество других задач. Поэтому разбираться с проблемами BMC непросто, но именно здесь инженер получает возможность глубоко погрузиться в продукт: не только вырасти в системном программировании и железе, но и научиться воспроизводить проблемы, смотреть на продукт интегративно и ясно излагать мысли, понимая каким образом наши конечные заказчики эксплуатируют системы в своей инфраструктуре.  

Меня зовут Павел Гуделёв, я руковожу центром компетенций L3 в YADRO. С моим коллегой Александром Старцевым на примерах покажем, как мы решаем задачи, связанные с BIOS/BMC, в нашем подразделении. Будьте готовы — впереди несколько инженерных детективов. В конце статьи я перечислю навыки нужные для этой работы, поделюсь вакансией и расскажу, как подготовиться к собеседованию.

Превратим железо в рабочий сервер →

Как постквантовый TLS случайно победил DoS-атаку

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

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

Мой сервер, как и любой другой регулярно получает свою порцию фонового мусора. Сканеры, переборщики .env, искатели чужих веб-шеллов, вялые флуды. Обычно на это не смотришь: защита ест, логи скучные. Но в этот раз первая же строчка лога не сошлась сама с собой, и разбор в итоге вывел не на «очередной кривой флудер», а на структурный сдвиг, который прямо сейчас тихо ломает целый класс сетевого софта — от middlebox'ов до анализаторов трафика.

Читать далее

Своя Linux-based ОС на Rust и QML: опыт создания Platinum OS One

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

Полгода назад я решил не кастомизировать очередной Armbian под конкретную плату, а собрать полноценную ОС: свой build-движок уровня Cargo, свою оболочку на QML поверх вложенного Wayland-композитора — и универсальность как главную ставку: одна система для одноплатников, планшетов и ПК. Первая плата — Orange Pi Zero 3W.

В статье — архитектура, где различия между устройствами живут в данных, а не в коде движка; реальный прогон сборки образа с точными цифрами по каждой из 14 стадий; и то, что обычно не показывают в анонсах — три production-краша с разобранными причинами (SIGSEGV в движке QML, AppArmor против snap-песочницы, macOS tar, портящий Wayland-модуль) и три находки первой живой загрузки на настоящем железе.

Читать далее

Linux Capabilities: новый root, объяснения и примеры работы

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

Изначально с Capabilities я лично столкнулся в своем проекте ServeHub-2, когда настраивал контейнеры в docker-compose. Если быть более конкретным, я настраивал WG-easy с использованием AmneziaWG, которому нужны были привилегии, связанные с загрузкой модулей ядра и настройками интерфейсов. До этого я слышал о Capabilities, но не знал что это такое, поэтому решил подробнее в этом разобраться.

Сначала разберу общее понятие, что вообще такое Capabilities (далее буду кратко писать CAP), потом постепенно перейду к примерам.

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

Читать далее

Откуда взялся /dev/null, и почему без него сломается половина скриптов

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

Файл /dev/null есть в каждой Linux-системе. Он весит ноль байт, но именно туда ежедневно сливаются терабайты ненужного вывода, а если его удалить, то вовсе падут cron, ssh и половина ваших bash-скриптов. Под катом расскажу, откуда взялась эта «чёрная дыра», почему это не обычный файл, а псевдоустройство, и что на нём завязано. 

Читать

AWG-Easy 3: как с помощью вайб-кода сделал простую панель для AmneziaWG 3.x

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

Как я навайбкодил панель для Wireguard ASC 3.x чтобы не просто безопасно выходить в Интернет, но и объединять устройства в одну сеть.

Читать далее

Как настроить nftables на удалённом сервере без риска потерять SSH‑доступ

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

Одна команда с policy drop может оставить администратора без доступа к серверу — особенно когда исправлять ошибку уже некому. Разберём рабочий сценарий безопасной настройки nftables: подготовку правил, атомарную загрузку конфигурации и автоматический откат изменений при потере соединения.

В результате получится понятная схема, которую можно применять при настройке firewall на удалённых Linux‑серверах.

Читать гайд

UnixGPUForge, или Как я решил написать свой демон для работы с видеокартами для Linux

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

Всем привет! Сегодня я расскажу вам свой путь к написанию демона для работы с видеокартами (пока только с Nvidia).

Для начала немного предысториио себе, для меня линукс не новинка, но и не та ОС, с которой я долго взаимодействовал. Я разработчик с коммерческим стажем в финтехе, и с линуксом знаком был ранее только как с очень практичной ОС для серверов. И вот однажды я стал полноценным «линуксоидом», решив перейти к более практичной для кастомизации и гибкой настройки ОС. Выбрал я дистрибутив на основе Арча, а именно CachyOS, как и многие (наверное) я люблю при наличии свободного времени поиграть в игры.

Читать далее

Почему MoE-модель тормозит? Чек-лист из трех шагов

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

Вы запускаете большую MoE‑модель (например, Qwen, DeepSeek, Mixtral) на локальной машине через llama.cpp / llama-server, но скорость генерации токенов в разы ниже ожидаемой. Статья — для Linux-пользователей с гибридными процессорами Intel 12-го поколения и новее и видеокартами NVIDIA (CUDA). Конфигурация: RTX 4070 (12 ГБ), i5-12600K, 32 ГБ DDR5-6000.

Статья написана по мотивам публикации "Local LLM Inference Optimization: The Complete Guide" и является частью цикла статьей по траблшутингу и оптимизации работы языковой модели на локальных машинах.

Открыть чек-лист

tmux у сисадмина — разбивает терминал, реанимирует сессии, уносит хаос

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

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

Привет! Я Саломея, продуктовый технический писатель в Selectel. В этой статье поделюсь своим опытом, как с помощью tmux упорядочить этот хаос и сделать работу удобнее. Разделим окно терминала на панели, запустим сессию, которая не прервется при закрытии окна, автоматизируем настройку рабочего пространства. Посмотрим, как выполнять команду сразу на нескольких серверах.

Читать далее →

Простая декларативная установка NixOs, часть 1 — Настройка конфигурации

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

Эта статья является прямым продолжением этой статьи, посвящённой декларативной разметке диска через disko.

Что мы будем делать сегодня?

Мы с вами составим минимально-рабочий конфиг для нашей системы. Под "минимально-рабочим" я имею в виду: без графического окружения(XFCE, GNOME и прочее), углублённых настроек(установка zsh, например). Мы настроим: загрузчик, сеть, пользователя, звук, локализацию, подключим наш файл disko-config.nix.

Читать далее

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

Создаём простейший киоск при помощи Yocto

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

Я уже рассказывал, как можно собрать минимальный Linux под различные архитектуры. Также я описывал свой эмулятор известной игры «Ну, Погоди!». В этой статье я хочу рассказать, как создать дистрибутив Linux с моим эмулятором, который будет работать в режиме киоска.

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

Читать далее

Замерщик под Wayland — экранная линейка, скриншотер и пипетка на C++ и GTK4

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

Переписал с Perl/GTK3 на C++/GTK4 ds-measurer — утилиту для измерений поверх живого экрана, снятия скриншотов (в буфер обмена и/или на диск) и цветов в различных CSS-нотациях (в буфер обмена и/или c выводом на экран).

Есть поддержка цветовых схем с переключением по ним, направляющих с прилипанием к ним, выделение из центра и/или с фиксированным соотношением сторон, настраиваемые сетки и хоткеи.

Читать далее

Omarchy — Arch Linux с красивыми обоями привлёк 10 миллионов долларов и вызвал споры в сообществе

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

В твиттере уже несколько дней не утихают споры по поводу Omarchy — Linux дистрибутива от создателя фреймворка Ruby on Rails. Дистрибутив недавно получил крупное обновление 4.0 Quattro, но не оно стало причиной дискуссий. Создатель основал некоммерческую организацию Omacom Foundation и привлёк 8 миллионов долларов (уже 10) на развитие и поддержку дистрибутива. Проект уже объявил[1][2], что будет спонсировать разработку двух проектов, на которых основан — Hyprland и quickshell чтобы их создатели могли свободно продолжать работу над своими проектами, не думая об источнике финансирования.

Это вызвало споры в сообществе о полезности дистрибутива:

Энтузиасты считают, что дистрибутив создаёт импульс, который приведёт в Linux новых пользователей

Скептики указывают на отсутствие фундаментальной ценности в дистрибутиве (Arch Linux с предустановленными настройками и приложениями) и наличие уязвимостей.

Так кто же из них прав? Сначала приведу короткую информацию о дистрибутиве, аргументы обеих сторон, которые видел, и в конце приведу своё мнение по поводу полезности дистрибутива для сообщества. Сразу скажу - я не пробовал Omarchy, но настольным Linux пользуюсь больше 10 лет и вопросы, поднимаемые в этой дискуссии, не специфичны для дистрибутива, просто он спровоцировал новый виток их обсуждения.

Читать далее

Декларативная разметка дисков в NixOS с помощью Disko: от конфига до готовой ФС

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

Каждый, кто хоть раз устанавливал Linux вручную, знает этот ритуал: загрузиться с Live‑образа, запустить fdisk или parted, создать таблицу разделов, отформатировать их в btrfs/ext4, создать субтома, а затем вручную примонтировать всё это в /mnt.

Конечно, такой подход можно использовать и при установке NixOs. Но вопрос — зачем?

Это не только полностью противоречит самой сути NixOS — системы, где всё должно быть описано декларативно в коде, но и существенно влияет вообще на удобство использования этой системы в будущем. Стоит вам захотеть развернуть точно такую же конфигурацию на другом сервере или ноутбуке, и весь ручной процесс разметки приходится повторять заново, вспоминая точные флаги монтирования вместо того, чтобы написать всего лишь одну команду.

В этой статье мы этим вопросом и займёмся, а поможет нам в этом известная утилита disko. Мы напишем чистый декларативный конфигурационный файл в ДВУХ вариантах:

Читать далее

OpenTelemetry Filelog Receiver: руководство по приему лог‑файлов

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

OpenTelemetry постепенно становится универсальным пылесосом для телеметрии. Осталось только научить его аккуратно засасывать всё то наследие, которое приложения десятилетиями складывали в файлы. В этом переводе статьи разбирается как использовать filelog receiver на практике — от простого чтения JSON‑логов до продакшен‑сценариев с настройкой производительности. Ещё больше полезных материалов я публикую у себя в авторском телеграм‑канале Мониторим ИТ. Всегда рад новым подписчикам.

Даже в эпоху облачных приложений и распределенного трейсинга обычные файлы логов остаются одним из самых ценных источников достоверной информации в любой системе. От корпоративных приложений и пакетных заданий до NGINX, баз данных и локальной инфраструктуры — критически важная диагностическая информация по‑прежнему записывается на диск.

Получатель filelog в OpenTelemetry Collector позволяет интегрировать эти логи в современный конвейер наблюдаемости. Он непрерывно отслеживает файлы, анализирует их содержимое и преобразует необработанный текст в структурированные записи логов OpenTelemetry.

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

Прежде чем углубляться: если вы контролируете приложения, записывающие эти логи, наилучшим решением будет настроить их на вывод структурированных JSON‑логов, размещённых в одной строке. Чтобы получатель filelog в этом случае стал простым и удобным уровнем приема данных.

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

Начнём!

Читать далее

Путь к ubuntu touch и обратно

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

Квест пройден! Я установил на смартфон линукс, живя в России, в августе 2026 года, без VPN, и теперь у меня Ubuntu Touch 24.04–1 на борту старого доброго Poco X3 NFC. Конечно, в других условиях места или времени можно было бы сделать всё гораздо проще, но… Это был вызов, и я его принял. Не спрашивайте меня, зачем я это сделал — хотел поразвлечься, получить девайс с линуксом, который можно брать с собой куда угодно. Возможно, когда‑нибудь я поделюсь и опытом использования подобных девайсов... Но сейчас, когда квест по установке Ubuntu Touch на смартфон, которому средняя цена на авито пять тысяч рублей, пройден, я хочу поделиться своим опытом его прохождения (возможно, чтобы помочь кому‑то, кто в будущем решит пройти этот квест самостоятельно). И это не просто «подождать неделю, нажать кнопочку в программе — и она всё сама сделает», у меня установка заняла приличное время, не всё оказалось так просто (точнее даже так: всё оказалось совсем не просто). Собрав, пожалуй, все грабли, какие только могут быть встречены простым пользователем (за исключением полного окирпичивания), я готов описать их, а самое главное — поделиться найденными мной способами решения каждой проблемы.

Статья называется «путь к ubuntu touch и обратно» потому, что в ней я опишу не только, как установить на Poco X3 NFC линукс, но и как вернуться с него обратно на андроид, возможно — даже на лучшую версию, чем у вас была раньше. Если вы (вдруг) решите проделать этот путь вместе со мной, сначала прочитайте всё, от первого до последнего слова, хорошенько взвесьте своё решение — потянете ли, и… возможно, вы тоже захотите попасть в клуб владельцев «линуксофонов», который насчитывает от 150 до 250 тысяч активных пользователей (в мире линукс нет скрытой телеметрии, но когда телефон проверяет наличие обновлений, сервер фиксирует уникальный запрос). Итак, пристегните ремни — и… В любом случае сразу хочу предупредить, что все действия со своим смартфоном вы выполняете на свой страх и риск, я здесь ни при чём, я описал свой опыт, если у вас что‑то может пойти не так, оно и пойдёт не так! В общем, если мне не удалось вас испугать — вперёд, поехали!

Читать далее

Make STL Cringe Again: Как я динамические строки на C создавал

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

Привет, Хабр! Однажды я подумал, что вот не умеют разработчики жить. В каждом из языков есть свои напасти (от которых, в принципе, спасаются разве что разработчики-полиглоты). Возьмем хотя бы C++ — даже без его шаблонов, исключений, и т.д., там все еще много мраков. Возьмем хотя бы iostream — он, блин, весит 2 МБ в последней версии GCC при компиляции под Windows! Или, вот, std::string — динамическая строка. Звучит интересно на бумаге, учитывая, что язык не из добрейших, но на практике...

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