Обновить
512K+

Linux *

Пишем под *nix

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

Linux 6.19: итоги шестой ветки и переход к 7.0. Что нового и что изменилось?

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

Итак, спустя два месяца работы вышел релиз ядра Linux 6.19. В него вошло больше 15 тысяч исправлений от 2000 разработчиков. Патч получился солидным — больше 50 мегабайт, изменения затронули почти 14 тысяч файлов. Основная часть работы традиционно пришлась на драйверы устройств, архитектурный код и сетевой стек. А еще появилось несколько заметных изменений, которые касаются серверных нагрузок, виртуальных сред, сетей и встроенных девайсов. 

Кстати, сразу после этого анонса Линус Торвальдс объявил о переходе к ветке 7.0. Почему и зачем? Давайте разбираться. 

Читать далее

Пошаговое руководство: Установка отказоустойчивого кластера Kubernetes 1.35 с помощью kubeadm на Ubuntu 24.04

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

Полное руководство по развертыванию высокодоступного кластера Kubernetes 1.35 на Ubuntu 24.04

Эта подробная техническая статья представляет собой пошаговое руководство по созданию отказоустойчивого кластера Kubernetes версии 1.35 с использованием утилиты kubeadm. В руководстве рассматривается развертывание производственного кластера с тремя master-нодами и тремя worker-нодами, что обеспечивает высокую доступность и отказоустойчивость.

Читать далее

ОС linux на btrfs subvolume. Изобретаем велосипед вместо дистрибьюторов

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

Не все инсталляторы linux могут установить систему на btrfs subvolume. Ни один инсталлятор не может установить систему с применением nocow и compress только для определенных subvolume.

На примере Astra linux 1.8.4 с максимальным уровнем защищенности (включен МКЦ и МРД) и написанных мною скриптов для автоматизации я покажу, как перенести установленную систему на btrfs subvolume, а также установить nocow только у необходимых subvolume. Дополнительно будет описан второй скрипт для создания и восстановления снимков.

Читать далее

Партизанский Telegram: как поднять прокси-невидимку, прикидываясь онлайн-магазином

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

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

Это продолжение серии про обход блокировок Telegram. В первой части мы подняли MTProxy на nineseconds/mtg с Fake TLS. Работает, подключаешь и забываешь. Но есть нюанс.

Fake TLS маскирует протокол. DPI смотрит на пакеты и видит обычный TLS к 1c. Всё красиво, пока к вашему серверу не придёт краулер и не попробует на него зайти.

Читать далее

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

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

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца «магию» событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного цикла. К концу статьи, надеюсь, магия исчезнет, а взамен придет ясное понимание фундамента. Статья будет полезна и тем, кто работает с asyncio на других платформах.

Погружаемся

XDP + Jenkins: высокоскоростной фильтр по TLS-отпечаткам

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

В период массового импортозамещения средств защиты от DDoS один из провайдеров перевёл свои центры очистки трафика на отечественное решение. Помимо стандартной защиты на уровне L4, провайдер позиционировал его нам как эффективную защиту от L7-атак за счёт механизма фильтрации по TLS-отпечаткам (тогда это был ещё JA3). Однако на практике мы показали, что рандомизация параметров отпечатка (cipher suites, extensions, порядок) позволяет обойти этот механизм и существенно снижает его эффективность против L7-атак. Стоит ли использовать механизмы защиты по отпечаткам JA3/JA4, зная о возможности обхода? Да, стоит. Процесс обхода требует от атакующего значительных ресурсов — кастомного TLS-клиента для генерации уникальных отпечатков. При дополнительной настройке, например, добавлении счётчика с разными лимитами для новых и известных отпечатков (более высокие лимиты для «белых» отпечатков), можно добиться высокой эффективности против ботовых L7-атак (флуд от ботов с повторяющимися отпечатками).

 В этой статье мы реализуем защиту на основе фильтрации TLS-отпечатков, вдохновлённую подходом JA4, но в упрощённой версии FST1 (по отсортированным cipher suites с использованием Jenkins-хэша). Почему не полноценный JA4? Из-за жёстких ограничений eBPF (ограниченный стек, запрет на сложные циклы, отсутствие динамической памяти и строгие правила верификатора ядра) реализация полного JA4 (с учётом всех расширений, ALPN и других параметров) становится крайне сложной.

Читать далее

Изучаем, как работает клавиатура в Linux, и пишем шуточный модуль ядра

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

Часто в учебной литературе по Linux приведены скучные и неинтересные примеры написания модулей ядра. Я решил исправить этот пробел и показать, что разработка небольшого модуля — это задача под силу многим, если понимаешь базовые принципы разработки программ.

Читать далее

Настройка автоматической архивации отчетов Matomo на сервере

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

В прошлой статье я закончил полноценную настройку сервера сбора событий и тегов Matomo. Кроме того, я дал наглядную методику расчета нагрузки, исходя из посещаемости ресурса, который вы планируете отслеживать. Сегодняшняя статья из разряда оптимизационных, она нужна только для профессионалов, которые тонко настраивают свои серверы для отслеживания высоконагруженных ресурсов. Важно сразу обозначить границу: эта настройка почти не влияет на маркетологов и аналитиков в интерфейсе Matomo, но радикально воздействует на сервер, базу данных и разработчиков, которые поддерживают всю эту инфраструктуру. По сути, мы переводим Matomo из реактивного режима («пользователь зашел - система начала считать») в предсказуемый серверный процесс с контролируемой нагрузкой.

Читать далее

Индикация смены раскладки клавиатуры в виде лампы с RGB-светодиодом для Gnome и Windows

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

Этот cказ о том, как мне надоело приглядываться к раскладке клавиатуры, и я решил проблему попутно освоив нестолько фичей в программировании и не только

Есть одна маленькая, но изматывающая боль, знакомая почти каждому, кто много печатает. Ты смотришь на экран, пальцы уверенно бегут по клавиатуре, мысль сформулирована… и на выходе получается:

Читать далее

Самодельный NAS на ARM. Часть 1

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

В качестве хобби-проекта я захотел собрать простейший домашний NAS на 7 дисков на базе одноплатного компьютера.

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

Читать далее

Опыт использования Линукс смартфона. Ubuntu Touch на Xiaomi Poco X3 NFC

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

В общем то решил я как-то попробовать перейти на Linux phone. Но решил сделать это тестово и дешевым способом, купил себе Xiaomi Poco X3 NFC за 5 тыс. руб на Авито, хорошенько потанцевал с бубнами и накатил себе Ubuntu Touch.

Читать далее

far2l и буфер обмена: ускоряем bracketed paste

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

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

Поговорим о скорости. А точнее — о том, как мы заставили far2l мгновенно «проглатывать» большие объемы текста из буфера обмена терминала, даже если вы сидите через медленный SSH на сервере, где нет иксов.

Читать далее

Установка GrapheneOS через терминал Debian-based Linux

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

О том, как установить GrapheneOS без браузера через командную строку, используя ПК на Debian или его деривативах.

Читать далее

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

40 млн строк кода: как меняется ядро Linux в 2026 году

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

Начало 2026 года для сообщества ядра Linux получилось насыщенным. В конце января в документацию добавили раздел Linux kernel project continuity. В нем описывается, что произойдет, если ключевые участники проекта внезапно не смогут выполнять свою работу. Обсуждения шли еще на Maintainers Summit в декабре 2025-го, и теперь этот вопрос зафиксирован в документации в явном виде.

Все вполне логично. Ядро Linux давно превратилось в часть огромной мировой инфраструктуры — с десятками миллионов строк кода, тысячами разработчиков из компаний по всему миру и постоянным давлением со стороны требований к производительности, безопасности и энергоэффективности. Поэтому сообщество вынуждено не только поддерживать текущий уровень стабильности, но и экспериментировать, стараться сделать систему гибче и надежнее. В 2026 году проявились несколько направлений такой работы — от Rust и планировщиков до поддержки новых архитектур. Давайте посмотрим, что тут и как.

Читать далее

Как я делал перенос по словам в редакторе far2l

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

Привет, Хабр! Обычно в своих дайджестах разработки far2l я рассказываю сразу о пачке новостей, накопившихся за год. Но сегодня случай особый. Мы реализовали фичу, тикет на которую висел в багтрекере с 10 ноября 2016 года. Фичу, которой мне самому остро не хватало ещё со времён использования Far Manager в Windows. Фичу, к которой многие боялись подступиться из-за сложности реализации в архитектуре, заточенной под «одна строка кода = одна строка на экране». Встречайте: перенос по словам (Word Wrap) во встроенном редакторе far2l! Под катом — рассказ о том, почему это заняло 9 лет, как Junior/Middle навыков C/C++ хватило для задачи уровня Senior благодаря Gemini 2.5 и 3 Pro, и как помог процесс формат патчей .ap.

Читать далее

slowfetch: замедляем fastfetch ради эстетики. История одного овер-инжиниринга на Bash

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

В мире Linux существует негласное соревнование: чей neofetch (земля ему пухом) или fastfetch запустится быстрее и покажет заветное лого дистрибутива. Разработчики бьются за миллисекунды, оптимизируют конфиги, переписывают всё на C... Я же решил построить своего рода Машину Голдберга.

Мой путь — это путь slowfetch. Я взял инструмент, который гордится своей скоростью (0.013с), и «оптимизировал» его до 0.77с. Зачем? Чтобы превратить терминал в панель управления космическим кораблём (или алтарь, об этом позже).

Это история о том, как простое желание «пофлексить» конфигом превратилось в полгода разработки на Bash и создание собственного инсталлера.

Читать далее

Работа с внешними устройствами в Linux

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

Всегда ли вы понимали как работать с устройствами в Linux?
Задавали себе вопрос "А что в пути забыли ссылки?"
Или хотели знать, как в Linux представлены USB-устроства на уровне системы?

В этой статье я разбиаю как работать с внешними устройствами, для чего нужна директории /sys и /dev, как представлены в системе USB-устройства и cd-диски.

Читать далее

А знали ли вы, что в 2010 году, в России был журнал с Linux?

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

Внимание: Это полностью переписанный «ремастер» одной из моих старых статей. Данный материал подготовлен специально для юной аудитории Хабра, которая могла и не застать эту частичку Linux-истории :-)

Нет, глаза вас не обманывают: не про Linux, а на Linux! 16 лет назад, в 2009 году, чипсетов для медиаплееров на рынке стало настолько много, что китайские чипмейкеры начали продавать их за копейки. Буквально за пару долларов можно было купить процессор, который включал в себя производительное ARM-ядро, аппаратные декодеры аудио и видео, ЦАП/АЦП и другие периферийные модули...

Читать далее

Управление ресурсами процессов с помощью контрольных групп Linux

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

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

В статье — практический разбор cgroups v2: как руками через cgroupfs создать группу, задать лимиты CPU/RAM и правильно запускать процессы без «окна без ограничений», а затем сделать то же самое через cg*-утилиты и systemd-run/slice. По дороге станет ясно, почему эти приёмы напрямую перекладываются на мир Docker и Kubernetes.

Перейти к статье

Все получилось! Debian Linux на Nintendo Wii

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

После написания первого материала я получил достаточно много комментариев и отзывов. Это было очень приятно, спасибо! Обязательно попробую запустить там иксы и прогнать предложенными тестами. Вместе с этим в голове крутилась простая до безобразия мысль: а можно ли поставить туда Linux?

Как только начал изучать этот вопрос, показалось, что установить его будет очень просто. Но реальность преподнесла сюрпризы. Сегодня покажу, как получить работающий Linux на этой игровой консоли с PowerPC-процессором IBM Broadway.

Читать далее