Тетрис в ядре Linux
Подробнее в статье на Хабре.
@usr_bin_linux
Вероятно, вы знаете, что если запустить ядро Linux без корневой файловой системы или файла initramfs, то оно упадет с сообщением о панике ядра.
Но возможна ли работа ядра Linux без этих, вроде бы обязательных компонентов? Ответ на вопрос — да, возможна, но использовать такие возможности в конечном продукте не стоит.
При запуске ядра ему могут передаваться параметры через командную строку. Одним из параметров является rootwait, указывающий ядру на то, что нужно подождать появление корневой файловой системы. В этом случае ядро ожидает появление корневой системы, а не завершается с ошибкой.
Формально ничто не мешает написать модуль ядра, который взаимодействует с клавиатурой и дисплеем и временно выполняет функции пользовательского приложения, пока ядро ожидает корневую файловую систему.
Пользовательским приложением может быть, например, игра Тетрис. Она из-за своей простоты в реализации и зрелищности добавляет наглядности в изучении темы и дает чувство завершенности. А мысль о том, что тетрис, работает в ядре, усиливает эффект.
Подробнее в статье на Хабре.
@usr_bin_linux
👍6🔥6
Создатели Gentoo уходят с GitHub из-за ИИ. Разбираем причины и нюансы
В чем основные причины ухода, что повлияло на выбор площадки и какие дальнейшие планы у Gentoo — разбираются в статье.
@usr_bin_linux
Gentoo — один из самых старых дистрибутивов Linux. Он появился в 2002 году и до сих пор работает по тем же принципам: сборка пакетов из исходных текстов, тщательная настройка под любое железо и полное отсутствие компромиссов. В феврале 2026-го появилась новость о начале переноса зеркал репозиториев с GitHub на Codeberg. И это не просто технический маневр, а принципиальный выбор сообщества.
В чем основные причины ухода, что повлияло на выбор площадки и какие дальнейшие планы у Gentoo — разбираются в статье.
@usr_bin_linux
👍9🔥8⚡2
Почему Linux «клал» на ваш CSS, или Куда уплывает верстка в openSUSE
Чек-лист в статье на Хабре как справиться с проблемой.
@usr_bin_linux
Среди фронтенд-разработчиков, привыкших к уютному миру Windows и macOS, бытует одно опасное заблуждение. Оно звучит так: «Если мой код валиден (XHTML 1.1 Strict, привет из 2000-х!), а CSS написан по спецификации, то сайт будет выглядеть одинаково везде».
Но стоит такому разработчику поставить условную Ubuntu или openSUSE, как мир рушится. Шрифты становятся корявыми, кнопки «раздуваются», а блоки, которые филигранно подгонялись пиксель в пиксель, начинают наезжать друг на друга.
Чек-лист в статье на Хабре как справиться с проблемой.
@usr_bin_linux
🔥6👍5👎1
Учим Linux: Файловая система
Это 1 часть из 11. Рассказывают доступно.
@usr_bin_linux
Давайте не будем вдаваться в элементарные подробности терминологии - что такое файловая система и тому подобное. Скажу лишь, что статья подготовлена для новичков и специалистов, желающих обновить свои знания. Я постарался написать коротко и по сути. Всего частей будет 11.
Это 1 часть из 11. Рассказывают доступно.
@usr_bin_linux
🔥12👍7
Защита от DoS-атак в Angie стандартными модулями
Подробнее в статье.
@usr_bin_linux
Атаки на отказ в обслуживании (Denial‑of‑service attack, DoS), к сожалению, стали обыденным явлением для публичных веб‑сервисов. Типов и разновидностей атак на отказ в обслуживании существует огромное количество, поэтому мы не будем даже пытаться провести классификацию. Скажем только, что для полноценной защиты от распределённых DoS‑атак (DDoS — Distributed DoS) необходима специализированная облачная система. В этой статье мы проведём обзор возможностей защиты от обычных DoS‑атак и простейших DDoS‑атак встроенными средствами веб‑сервера Angie.
Подробнее в статье.
@usr_bin_linux
🔥5👍4
Чёрное окошко Linux: погружение в подсистему TTY
Цель данной статьи — объяснить подсистему TTY и избавить вас от этого неприятного ощущения.
@usr_bin_linux
Начав изучать тему терминалов в Linux, вы можете почувствовать, что по отдельности вроде бы всё понятно, но разница между понятиями и их суть всё равно ускользает. Консоль, терминал, TTY, виртуальная консоль, виртуальный терминал, эмулятор терминала, оболочка — это просто «вот то чёрное окошко, куда вводят команды Linux». На самом деле за этим окошком скрывается целая цепочка разных сущностей — от компонентов ядра до пользовательских программ.
Цель данной статьи — объяснить подсистему TTY и избавить вас от этого неприятного ощущения.
@usr_bin_linux
🔥7👍4
Организация репозитория программных пакетов с ограниченным доступом в Linux
В этой статье рассмотрено, как организовать репозиторий программных пакетов с ограниченным доступом с практическими примерами.
Такой репозиторий может быть полезен в следующих ситуациях:
👉 Если у вас есть тестовый репозиторий, а его пользователи находятся далеко, в таком случае доступ из интернет к репозиторию будет необходим, но при этом в такой репозиторий не должны попадать кто попало.
👉 Разработчик может распространять закрытый продукт, который должен быть доступен только авторизованным пользователям. При этом полный список пользователей заранее неизвестен, и нужен быстрый способ предоставления доступа.
👉 Это может быть коммерческий репозиторий с платной подпиской.
👉 И так далее.
@usr_bin_linux
В этой статье рассмотрено, как организовать репозиторий программных пакетов с ограниченным доступом с практическими примерами.
Такой репозиторий может быть полезен в следующих ситуациях:
@usr_bin_linux
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍5👎1
Как настроить swap в Linux, чтобы поды не убивались и не вытеснялись
Читать дальше на Хабре
@usr_bin_linux
Функция Kubernetes Node system swap support (признана стабильной в v1.34, подробнее о фиче — в обзоре Kubernetes 1.22) разрешает использовать swap. Это значительный отход от общепринятой практики отключения swap ради прогнозируемости производительности. Эта статья посвящена тонкой настройке swap на Linux-узлах, на которых и доступна данная функция. Поддержка swap позволяет им задействовать вторичное хранилище для расширения виртуальной памяти, когда заканчивается физическая, и таким образом повысить эффективность использования ресурсов и уменьшить количество OOM-событий.
Читать дальше на Хабре
@usr_bin_linux
🔥8👍6
Дыра в безопасности, которая обошлась Google в $1 млн. Что скрывает релиз Linux 7.0?
Подробнее в статье на Хабре.
@usr_bin_linux
Ядро прошло путь от 2.6 до 3.0, от 4.20 до 5.0, от 5.19 до 6.0. И вот теперь 6.19 превращается в 7.0. Никаких технических революций, привязанных к дате. Никаких сломанных API. Просто красивая цифра.
Но иногда новые крутые фичи идеально совпадают с символизмом момента. Только за первую половину окна слияния (merge window) в Linux 7.0 влилось 7 695 коммитов. Пятилетний эксперимент официально подошел к концу, в ядро завезли постквантовую криптографию и впервые прописали официальные правила для кода, сгенерированного нейросетями.
Подробнее в статье на Хабре.
@usr_bin_linux
🔥8⚡2👍2👎1
Мастерство поиска в Linux: Grep и регулярные выражения
В этой статье разобраны три основных типа регулярных выражений, используемых в экосистеме grep: Basic (BRE), Extended (ERE) и Perl-compatible (PCRE) и рассмотрим несколько практических примеров.
@usr_bin_linux
Трудно представить современный компьютер или смартфон без тысяч файлов, хранящих в себе различную информацию. Иногда возникает необходимость что-то найти в этом многообразии, причем критерии для поиска могут быть совсем не тривиальными.
В качестве одного из возможных инструментов для поиска может применяться утилита grep. Grep (сокращение от global/regular expression/print) является одним из самых мощных и часто используемых инструментов в арсенале системного администратора и разработчика. На первый взгляд, её задача проста — найти строки в тексте, соответствующие шаблону. Например, вхождение какого-либо слова в текстовом файле Однако истинная мощь grep раскрывается при использовании регулярных выражений (regex).
В этой статье разобраны три основных типа регулярных выражений, используемых в экосистеме grep: Basic (BRE), Extended (ERE) и Perl-compatible (PCRE) и рассмотрим несколько практических примеров.
@usr_bin_linux
👍5🔥4
Шпаргалка по Systemd и Journalctl
В этой статье вы найдете практическое, удобное для копирования и вставки руководство по освоению systemd и journalctl для специалистов DevOps, системных администраторов и разработчиков.
@usr_bin_linux
В этой статье вы найдете практическое, удобное для копирования и вставки руководство по освоению systemd и journalctl для специалистов DevOps, системных администраторов и разработчиков.
@usr_bin_linux
Teletype
Шпаргалка по Systemd и Journalctl
Это перевод оригинальной статьи Systemd & Journalctl Cheat Sheet.
🔥9👍4
Как создать безопасный сервер Linux
Большинство уязвимостей возникают из-за игнорирования основных принципов. Безопасный Linux-сервер начинается с правильной базовой настройки, и она защитит от подавляющего большинства угроз, с которыми можно столкнуться.
В статье разобраны базовые настройки ОС для повышения защищенности сервера.
@usr_bin_linux
Большинство уязвимостей возникают из-за игнорирования основных принципов. Безопасный Linux-сервер начинается с правильной базовой настройки, и она защитит от подавляющего большинства угроз, с которыми можно столкнуться.
В статье разобраны базовые настройки ОС для повышения защищенности сервера.
@usr_bin_linux
Teletype
Как создать безопасный сервер Linux
Это перевод оригинальной статьи How to Build a Secure Linux Server.
🔥10👍4
Практическое руководство по IPTABLES: правила, примеры и лучшие практики безопасности
В этой статье разобраны ключевые команды для настройки iptables. В конце статьи рекомендация переходить на nftables.
@usr_bin_linux
В этой статье разобраны ключевые команды для настройки iptables. В конце статьи рекомендация переходить на nftables.
@usr_bin_linux
Teletype
Практическое руководство по IPTABLES: правила, примеры и лучшие практики безопасности
Это перевод оригинальной статьи Linux IPTABLES Firewall Practical Guide: Rules, Examples & Security Best Practices (Linux Firewall).
🔥6👍5
Как разобраться c сетевыми настройками Linux, не читая 500-страничную книгу
В этой статье приводятся примеры проверок, которые необходимо выполнить в первую очередь при отладке сети на Linux-серверах.
@usr_bin_linux
В этой статье приводятся примеры проверок, которые необходимо выполнить в первую очередь при отладке сети на Linux-серверах.
@usr_bin_linux
Teletype
Как разобраться c сетевыми настройками Linux, не читая 500-страничную книгу
Это перевод оригинальной статьи Understanding Linux Networking Without Reading a 500-Page Book.
🔥8👍2👎2
Лайфхаки по написанию скриптов на Bash, которые должен знать каждый разработчик
В статье вы найдете небольшие хитрости Bash, которые сэкономят часы, предотвратят катастрофы и незаметно улучшат рабочий процесс разработчика.
@usr_bin_linux
Большинство разработчиков «знают» Bash так же, как и Git: ровно столько, чтобы справляться. Несколько команд в памяти. Скрипт скопирован со Stack Overflow. Молитва перед нажатием Enter.
Но Bash — это не просто язык программирования для энтузиастов Linux или специалистов по DevOps. Это невидимая сила, стоящая за автоматизацией, отладкой, деплоями, обработкой данных и бесчисленным количеством повседневных задач. Разница между медленным разработчиком и пугающе эффективным часто сводится к тому, насколько хорошо он владеет shell’ом.
Эта статья не о запоминании малоизвестных флагов. Она о практических приемах написания скриптов на Bash — небольших идеях, оказывающих огромное влияние. Идеях, которые делают ваши скрипты безопаснее, чище и проще в обслуживании. Идеях, которые вы хотели бы увидеть много лет назад.
В статье вы найдете небольшие хитрости Bash, которые сэкономят часы, предотвратят катастрофы и незаметно улучшат рабочий процесс разработчика.
@usr_bin_linux
Teletype
Лайфхаки по написанию скриптов на Bash, которые должен знать каждый разработчик
Это перевод оригинальной статьи Bash Scripting Hacks Every Developer Should Know.
👍9🔥4
Каждый баг, который я когда-либо исправлял, начинал иметь смысл только после того, как я понял эти 7 уровней
Интересный подход для дебага приложений на основе 7 уровней модели OSI.
@usr_bin_linux
Спустя три года работы я потратил две недели на отладку причин, по которым наш API случайным образом возвращал ошибки 502. Логи были чистыми. Приложение работало исправно. Все указывало на то, что проблем нет.
Затем мимо проходил сетевой инженер и спросил: «А ты проверял, совпадает ли таймаут keepalive у балансировщика нагрузки с таймаутом сервера приложения?»
Интересный подход для дебага приложений на основе 7 уровней модели OSI.
@usr_bin_linux
🔥15👍4👎1
Как ведет себя Podman в файловой системе
В статье рассмотрены детали работы Podman с файловой системой.
@usr_bin_linux
Механизм работы с файловой системой в Podman очень схож с Docker. Но есть несколько нюансов. Так как Podman разрабатывался с упором на безопасность и rootless, порой возникают неочевидные ошибки при монтировании volumes.
В статье рассмотрены детали работы Podman с файловой системой.
@usr_bin_linux
🔥9👍2
Как я определял дистрибутивы Linux по установленным пакетам, и при чем тут KUMA?
В статье рассказывается как при помощи API KUMA (Kaspersky Unified Monitoring and Analysis Platform) собрать нужные данные по ОС.
@usr_bin_linux
Работаю я SOC-аналитиком в большой компании. Сижу, разбираю очередной инцидент, заходит ко мне начальство и говорит: "Нам необходимо знать, какие ОС используются у нас в компании" - эти данные необходимы, чтобы мучить сисадминов с обновлением ОС. Та самая вечная борьба сисадминов и безопасников. В каждой большой компании ведется учет пк/серверов и ОС на них, но перебирать ~18000 устройств у меня желания не было, начал думать, как бы всё это автоматизировать.
В статье рассказывается как при помощи API KUMA (Kaspersky Unified Monitoring and Analysis Platform) собрать нужные данные по ОС.
@usr_bin_linux
🔥6👎5👍2