/usr/bin
4.75K subscribers
147 photos
899 links
Канал для пользователей и администраторов Linux-систем: управление, инфраструктура, технические детали, новости и прочее.

Реклама и цены: @gals_ad_bot
Вопросы: @antoniusfirst

@monitorim_it — канал о мониторинге ИТ
Download Telegram
ОС FreeBSD 14.3 на MacBook выпуска 2008 года

Недавно, перебирая хлам скопившийся на пыльных антресолях, я обнаружил старенький MacBook 2,1 (A1181) образца 2008 года выпуска. Этот MacBook мне на день рождения, который состоялся более 15-ти лет назад, подарила супруга. Большим ценителем яблочной продукции я так и не стал, но некоторое время использовал эту машинку в качестве второй — для чтения почты или просмотра ютуба, брал с собой в туристические поездки. Мне нравился дизайн корпуса и клавиатуры этой машинки, местами даже где-то меня привлекала операционная система MacOS X являющаяся родственником FreeBSD. Но сейчас не об этом. В те времена вычислительная техника персонального применения стремительно устаревала — появлялись процессоры с всё большим числом ядер и большей тактовой частотой, состоялся полный переход от 32-битных архитектур к 64-х битным и т. д. Всё это сильно расслабило разработчиков и, как следствие, требования софта к железу выросли просто непомерно. Таким образом, данная машинка очень быстро «морально устарела». Я пару раз проводил апгрейд — сначала добавил немного SDRAM, потом заменил HDD на SSD, несколько раз апгрейдил MacOS X. Но к 2012 году машинка всё равно стала мало пригодной для работы и отправилась на антресоли.


В этой статье автор рассказывает о некоторых особенностях яблочных ноутбуков мало знакомых даже опытным маководам, о тонкостях установки FreeBSD, о проблеме под названием UEFI, о баге в ядре ОС FreeBSD с которым он столкнулся и помог зафиксить, о прекращении поддержки DRM-KMOD драйверов в 32-х битной ветке ОС FreeBSD и о том, как ему все же удалось портировать их для FreeBSD 14.3-RELEASE/i386.

@usr_bin_linux
1🔥9👍5
Я отказался от Windows 11 в пользу Linux, и вам стоит поступить так же

Недавно я установил Linux на свой основной десктопный компьютер и рабочий ноутбук, полностью перезаписав раздел Windows. По сути, я удалил главную операционную систему с двух компьютеров, которыми пользуюсь чаще всего, доверив все свои личные и рабочие потребности сообществу опенсорса. Эта тенденция набирает популярность, и я присоединился к общему ажиотажу, но по веским причинам. Некоторые из этих причин могут отозваться в вас и убедить наконец-то тоже совершить этот переход.


В статье автор рассказывает о своём опыте.

@usr_bin_linux
🔥14👍11👎111
Загрузка Linux. От LILO и до наших дней

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

@usr_bin_linux
👍6🔥4
Аптечка сисадмина: необходимый набор ПО для Linux и Windows

У каждого системного администратора должен быть набор программных решений для практически любой ситуации — некая серверная аптечка первой помощи. В статье собран базовый минимум ПО для «лечения» основных болезней серверов на Linux и Windows.

@usr_bin_linux
👍9🔥5
Let's Encrypt для внутренних сайтов

Однажды администратор одного из внутренних сайтов предприятия попросил прописать TXT запись для получения Let's Encrypt сертификата, поскольку сайт не доступен снаружи и, нет возможности настроить проверку HTTP-01. Через три месяца попросил прописать еще раз, для продления, потом появился второй такой сайт, и, стало очевидно, что процесс пора автоматизировать.


В этой статье краткая “шпаргалка с заменой по Ctrl+H”, для тех, кто использует сервер DNS сервер bind и хочет делегировать выпуск/проверку Let`s Encrypt сертификатов для внутренних сайтов сторонним подразделениям.

@usr_bin_linux
👍11🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
snitch

Более удобный интерфейс для ss и netstat. Можно проверить сетевые соединения с помощью удобного интерфейса TUI или стилизованных таблиц.

Репыч на Гитхаб

P.S. Внимательно на Гифку можно посмотреть в репе на Гитхабе.

@usr_bin_linux
🔥9👍5
Linux Mint 22.3 и тихая эволюция классического Linux-десктопа

Linux Mint — один из тех проектов, которые пережили практически всё, что только можно было в мире Linux-дистрибутивов. Он видел взлет и падение KDE 4 с его радикальными изменениями, приход GNOME 3, который перевернул привычный рабочий стол с ног на голову, бесконечные споры вокруг Unity, первые шаги Wayland и даже нынешнюю моду на immutable-системы с их атомарными обновлениями. А сам Mint все это время оставался верен своей идее: дать пользователям предсказуемый, удобный интерфейс, который не нужно переучивать каждые полгода и он просто работает.

В середине января 2026-го вышел Mint 22.3 — очередной релиз в LTS-ветке на базе Ubuntu 24.04. Поддержка обещана до 2029 года, ядро по-прежнему Linux 6.14, а окружения рабочего стола — те же проверенные Cinnamon, MATE и Xfce. Никаких революций и обязательных переходов на новые протоколы дисплея. Зато множество мелких, но осмысленных улучшений, которые делают повседневную работу чуть комфортнее. И именно в этом подходе вся суть проекта. Давайте оценим новинку.


Подробнее в статье

@usr_bin_linux
🔥12👍6
Решаем архитектурную проблему nginx с HTTP/3: опыт Angie и магия eBPF

Для пользователя может показаться, что переход с HTTP/2 на HTTP/3 — это просто замена TCP на UDP в конфиге. Но для серверного ПО с многопроцессной архитектурой этот шаг превращается в настоящую «головную боль». Классическая схема с accept(), на которой годами строилась работа с TCP‑соединениями, в мире QUIC попросту не существует. Пакеты летят в UDP‑порт, и ядро ОС больше не знает, какому именно рабочему процессу их отдать.

В оригинальном nginx это привело к тому, что поддержка HTTP/3 уже долгое время остается «экспериментальной» и ограниченной: она страдает от проблем с обрывами сессий и деградации сервиса при обновлении конфигурации. Для многих это стало стоп‑фактором для внедрения протокола в реальный продакшен.


В этой статье рассказано, как в Angie 1.11 удалось устранить эти фундаментальные недостатки. Была не просто добавлена поддержка протокола, а пересмотрена механику взаимодействия с ядром. Путь от простых хешей до создания полноценного аналога accept() для QUIC с помощью BPF‑программ позволил заявить: реализация HTTP/3 в Angie закончена, лишена «детских болезней» nginx и полностью готова к эксплуатации в высоконагруженных средах.

@usr_bin_linux
🔥17👍4
Обход стека в ядре Linux для RISC-V: разбираем и чиним

В этой статье рассказано о странностях при обходе стека в RISC-V, которые автор статьи обнаружил пару лет назад, о том, какие нашли ошибки и как их исправили. Поломка оказалась интересна тем, что проявлялась не всегда, но звезды сошлись нужным образом, и они смогли гарантированно воспроизводить странное поведение.
🔥6👍3
eBPF в Linux: когда писать код в ядре — неплохая идея

eBPF давно перестал быть узкоспециализированной игрушкой для kernel-энтузиастов и исследователей внутренностей Linux. Сегодня с ним, так или иначе, сталкиваются не только SRE, но вообще все, кто разрабатывает системы, близкие к сети, производительности или безопасности: от авторов сетевых плагинов (CNI) и прокси, до разработчиков кастомных агентских решений, observability-инструментов и low-level инфраструктурных компонентов. Даже если вы никогда не писали eBPF-код руками, есть хороший шанс, что он уже работает в вашей системе — тихо, незаметно и с довольно широкими полномочиями.

Чаще всего eBPF проявляется через удобные CLI, библиотеки и дашборды: установили агент, включили, и внезапно система знает о происходящем больше, чем strace, tcpdump и половина метрик вместе взятых. Но за этим комфортом скрывается нетривиальный механизм исполнения пользовательского кода прямо внутри ядра Linux — с жёсткими правилами валидации, ограниченной моделью исполнения и целым набором архитектурных компромиссов, о которых обычно не принято говорить в маркетинговых описаниях.


В этой статье заглядываем под капот eBPF и разбираемся, как именно eBPF-программы попадают в ядро, что с ними происходит до и во время выполнения, и почему одни сценарии применения действительно оправданы, а другие выглядят впечатляюще только на слайдах.
🔥8👍2
Все получилось! Debian Linux на Nintendo Wii

Что такое BootMii
На просторах Сети можно найти много разных образов Linux под этот аппарат. Все они в большинстве своем базируются на старых ядрах, что обусловлено весьма скромными техническими характеристиками Wii. Их объединяет способ запуска — они завязаны на такую штуку, как BootMii. Это небольшой кусок кода, который изначально был разработан вовсе не для запуска сторонних ОС, а чтобы в случае чего дать возможность выполнить аварийное восстановление консоли.

Важно понимать: Wii чем-то похожа на обычный компьютер, но в реальности тут нет ни BIOS, ни UEFI. Если вдруг в процессе исследования что-то пойдет не так, то система просто превратится в бесполезный кирпич без адекватных возможностей восстановления. BootMii был создан как раз на этот случай — он работает максимально близко к «нулевому уровню» загрузки и может легко снять точный побитовый слепок текущего состояния NAND-флешки.


Читать дальше на Хабре

@usr_bin_linux
🔥7👍2
Управление ресурсами процессов с помощью контрольных групп Linux

Это не исчерпывающее руководство, а практический пример того, как ограничивать потребление процессом CPU и оперативной памяти с помощью cgroups в Linux. Этот подход можно использовать, чтобы:

Защитить систему от особенно прожорливого процесса

Обеспечить справедливое распределение ресурсов между несколькими приложениями

Проверять производительность приложения при ограниченных ресурсах

Гарантировать доступность ресурсов в мультиарендных средах

Мы начнём с создания, настройки и добавления процесса в cgroup самым базовым (и трудоёмким) способом, напрямую работая с виртуальной файловой системой cgroupfs. Затем посмотрим, как сделать ровно то же самое с помощью более высокоуровневых инструментов вроде cgcreate и cgexec из libcgroup или systemd-run и slice-юнитов в systemd.


Читать дальше на Хабре

@usr_bin_linux
🔥11👍2
Почему сервер тормозит при свободных CPU и RAM

Если мониторинг показывает, что ЦП большую часть времени в простое, а оперативка не выбивается из нормальных значений, значит, узкие места нужно искать в других подсистемах. В статье автор рассказывает про основные причины заторможенности Linux-сервера и как проверить, есть ли они у вас.

@usr_bin_linux
🔥10👍3👎1
40 млн строк кода: как меняется ядро Linux в 2026 году

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

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


Читать дальше на Хабре

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

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

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


Далее в статье на Хабре.

@usr_bin_linux
🔥12👍4
Централизованный мониторинг логов с помощью Loki, Promtail и Grafana

В этой статье рассмотрена агрегация и визуализация логов с помощью Loki. Будет показано как настроить Loki вместе с Promtail и как создать дашборды.

P.S. Расширенная поддержка Promtail завершится в феврале 2026 года. У Grafana есть способы миграции с Promtail на новый агент Alloy.

@usr_bin_linux
🔥8👍2
SUID, SGID и Sticky Bit в Linux — права доступа, которые незаметно управляют привилегиями

На первый взгляд, права доступа в Linux кажутся простыми — чтение, запись, выполнение. Большинство инженеров на этом останавливаются.
Но в реальных production-системах Linux всё держится на более глубоком уровне доверия: кем процесс является на самом деле, к какой группе он принадлежит и кто имеет право удалять файлы в общих средах. В этой статье подробно разобрана ролевая модель Linux.

@usr_bin_linux
🔥13👍2👎1
10 трюков с терминалом, которые экономят часы каждую неделю

В этой статье разобраны способы оптимизации рутины при работе в терминале. Вы узнаете про !!, !$, pushd, popd, fd, алиасы и многое другое.

@usr_bin_linux
🔥12👍9
Использование команды Shift в Linux

Команда shift в Linux — это встроенная команда используемая в shell-скриптах для управления позиционными параметрами (аргументами, переданными скрипту или функции). Она сдвигает позиционные параметры влево, фактически переназначая их: первый параметр ($1) отбрасывается, а оставшиеся параметры ($2, $3 и т. д.) сдвигаются на одну позицию вниз. Это полезно для итеративной обработки аргументов командной строки. Подробнее в статье.

@usr_bin_linux
🔥8👍5
Почему я никогда не храню пароли в скриптах (и как я вместо этого обеспечиваю безопасность автоматизации)

Автоматизация упрощает жизнь — до тех пор, пока случайно не приводит к утечке ваших учетных данных. За эти годы автор этой статьи видел, как производственные системы выходили из строя из-за того, что кто-то оставил пароль в скрипте Bash, скрипте PowerShell или файле Python. Это одна из самых простых ошибок — и одна из самых опасных. Вот как перестать хранить пароли в скриптах и ​​что использовать вместо этого.

@usr_bin_linux
🔥11👍5👎21
Почему я использую разделы только для чтения на своих Linux-серверах (и вам следует делать так же)

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

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

@usr_bin_linux
🔥7👍53👎1