<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все посты подряд / Linux / Хабр]]></title>
    <link>https://habr.com/ru/hubs/linux_dev/posts/</link>
    <description><![CDATA[Linux – пишем под *nix]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 15 Sep 2026 14:21:04 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    

  

  
  <item>
    <title><![CDATA[Пост @SestrichkinK — Linux (+4) — 10.09.2026 18:53]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1080976/</guid>
    <link>https://habr.com/ru/posts/1080976/?utm_campaign=1080976&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Лимиты CPU и памяти в cgroup v2: как это работает на самом деле</strong>  </p><p>Лимиты CPU и памяти в cgroup v2 работают по-разному: cpu.max в cgroup v2 задаёт квоту, memory.high вызывает reclaim, а memory.max может привести к OOM. Результат зависит от ядра, дерева systemd, swap, OOM-политики и состава cgroup.</p><p><strong>Чем cpu.max отличается от cpu.weight?</strong></p><p>cpu.max задаёт квоту CPU на период, и после её исчерпания группа ждёт следующего периода. cpu.weight делит время между соседями, которые одновременно конкурируют за процессор. Без конкуренции высокий вес задачу не ускоряет, тогда как квота всё равно остаётся абсолютной границей для группы.</p><p><strong>Где cgroup v2 действительно применяет контроллер</strong></p><p>Одного файла cpu.max в cgroup v2 мало, путь процесса проверяют командами:</p><pre><code>stat -fc %T /sys/fs/cgroup
 systemctl show -p ControlGroup app.service
 systemd-cgls --unit app.service</code></pre><p>Контроллер должен входить в cgroup.controllers родителя и cgroup.subtree_control. Для доменных контроллеров действует no internal process: у родителя с дочерними cgroup не должно быть процессов.</p><p><strong>cpu.max, cpu.weight и конкуренция за время процессора</strong></p><p>cpu.max хранит квоту и период в микросекундах. cpu.weight (1–10000, по умолчанию 100) распределяет время между активными соседями одной ветви. Affinity и лимит родителя сужают доступный CPU. memory.max в cgroup v2 не ограничивает процессор.</p><p><strong>Как увидеть исчерпание CPU-квоты в cpu.stat</strong></p><p>Нагрузку создают через stress-ng в изолированном unit с неизменным cpuset, меняя между ступенями только cpu.max. Показатели usage_usec, nr_periods, nr_throttled и throttled_usec из cpu.stat сопоставляют с throughput и p99. memory.high против memory.max тестируют отдельно, чтобы reclaim не исказил результат.</p><p><strong>Как memory.high и memory.max ведут себя под давлением?</strong></p><p>memory.high замедляет процессы через reclaim, причём потребление может временно оставаться выше порога. memory.max задаёт жёсткую верхнюю границу, и если память освободить не удаётся, начинается cgroup OOM. Разницу видно по high, max, oom и oom_kill в <a href="http://memory.events" rel="noopener nofollow">memory.events</a>.local, а также по memory PSI.</p><p><strong>memory.low, memory.high и memory.max без смешения ролей</strong></p><p>memory.low защищает рабочий набор в пределах бюджета родителя, memory.high усиливает reclaim, memory.max ставит жёсткую границу. При росте resident set пишут memory.current, anon, file и пределы родителя. В unit лимиты systemd cgroup v2 сверяют с эффективными значениями.</p><p><strong>Замедление до OOM как отдельный режим</strong></p><p>Память наращивают ступенями, записывая high в <a href="http://memory.events" rel="noopener nofollow">memory.events</a>.local, pgscan, PSI memory и latency. Reclaim может нарушить SLO до OOM. CPU weight в cgroup при этом не трогают. anon и file разделяют анонимную и файловую память.</p><p><strong>Что происходит при достижении memory.max</strong></p><p>События max, oom и oom_kill сверяют с журналом ядра. <a href="http://memory.oom.group" rel="noopener nofollow">memory.oom.group</a>=1 убивает все задачи группы разом, кроме процессов с oom_score_adj=-1000. Проверять это можно только на изолированном стенде.</p><p><strong>Как проверить, что лимиты cgroup v2 действительно работают?</strong></p><p>1. systemd-cgls и ControlGroup подтверждают путь процесса.</p><p>2. Файлы содержат нужные значения, а счётчики растут под нагрузкой.</p><p>3. Throughput и latency меняются одновременно с throttling, PSI или OOM.</p><p>В отчёт идут дерево cgroup, лимиты, swap, ряды cpu.stat и <a href="http://memory.events" rel="noopener nofollow">memory.events</a>, PSI, журнал OOM и версия ядра.</p><p><strong>memory.swap.max, latency и ложное ощущение запаса</strong></p><p>Для каждого прогона указывают swap, memory.swap.max, swap in/out и p99. Swap отодвигает OOM killer ценой задержки, поэтому прогоны со swap и без него не смешивают. Отсутствие OOM не означает выполнения SLO.</p><p><strong>Как перенести измеренные границы в unit и мониторинг</strong></p><p>В systemd slices CPUQuota, CPUWeight, MemoryHigh и MemoryMax задают параметры cgroup. Мониторинг берёт PSI, throttled_usec, high, oom и oom_kill. После изменения unit или ядра запускают canary-тест.</p><p>Лимиты CPU и памяти в cgroup v2 задают вместе с сигналами срабатывания: throttling в cpu.stat, pressure в PSI и события OOM. Проверяют их в той же systemd-иерархии, где работает служба. Настройка годится, когда приложение выполняет SLO при включённых лимитах.</p> <a href="https://habr.com/ru/posts/1080976/?utm_campaign=1080976&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 10 Sep 2026 15:53:23 GMT</pubDate>
    <dc:creator><![CDATA[SestrichkinK]]></dc:creator>
      
      <category><![CDATA[cgroup v2]]></category><category><![CDATA[cpu]]></category><category><![CDATA[memory]]></category><category><![CDATA[oom killer]]></category><category><![CDATA[cgroup]]></category><category><![CDATA[psi]]></category><category><![CDATA[systemd]]></category><category><![CDATA[resources]]></category><category><![CDATA[resource management]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @atomlib — Искусственный интеллект (+4) — 10.09.2026 11:03]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1080684/</guid>
    <link>https://habr.com/ru/posts/1080684/?utm_campaign=1080684&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Джастин Шрёдер показал любопытный образец того, как сегодня может вестись разработка. В твите Шрёдер <a href="https://x.com/jpschroeder/status/2097758256420565442" rel="noopener nofollow">выложил</a> фотографию, на которой MacBook смотрит встроенной в крышку веб-камерой на собственный экран через зеркало. Как утверждает разработчик, таким способом он улучшает поддержку графики AMD Radeon в Omarchy.</p><figure class=""><img src="https://habrastorage.org/webt/b9/4c/1c/b94c1ccc17c94de17c7033f6fa82425f.jpg" alt="@jpschroeder" title="@jpschroeder"><div><figcaption><a href="https://x.com/jpschroeder/status/2097758256420565442" rel="noopener nofollow">@jpschroeder</a></figcaption></div></figure><p>Как <a href="https://x.com/jpschroeder/status/2097845474002665751" rel="noopener nofollow">объясняет</a> в комментариях к твиту Шрёдер, зеркало как раз позволяет при отладке оценивать не скриншот, а изображение на физическом дисплее ноутбука. Что именно происходит на экране, разобрать тяжело из-за невысокого разрешения снимка и зеркального отражения. Если судить по его <a href="https://x.com/jpschroeder/status/2097041421454696902" rel="noopener nofollow">другому твиту</a>, саму веб-камеру под Linux Шрёдер запускает с помощью <a href="https://github.com/standardagents/t1bridge" rel="noopener nofollow">T1Bridge</a>&nbsp;— открытого проекта Standard Agents, добавляющего поддержку Apple&nbsp;T1 и iBridge, включая камеру FaceTime&nbsp;HD. Справа (слева на отражении в зеркале) открыт интерфейс приложения <a href="https://localsend.org/" rel="noopener nofollow">LocalSend</a>: в папку <code>/home/justin-schroeder/Downloads</code> только что передали две фотографии в файловом формате HEIC. Слева, судя по характерным строкам <code>Ran</code> и <code>Explored</code>, работает Codex&nbsp;CLI компании OpenAI.</p><p>Сам Шрёдер&nbsp;— разработчик открытого программного обеспечения и создатель <a href="https://github.com/standardagents/dmux" rel="noopener nofollow">dmux</a>, инструмента для параллельной работы с агентами программирования. Эта утилита запускает Codex, Claude Code и другие агенты в отдельных панелях tmux, создавая для каждой задачи отдельную ветку и рабочий каталог Git. Беглый поиск показывает, что к Omarchy Шрёдер имеет непосредственное отношение как контрибьютор: 9 сентября он <a href="https://github.com/omacom/omarchy/pull/11017" rel="noopener nofollow">отправил</a> в проект патч, исправляющий работу адаптера Wi-Fi фирмы Broadcom на MacBookPro13,3. Судя по всему, сейчас он как раз занимается доводкой Omarchy на этой машине.</p> <a href="https://habr.com/ru/posts/1080684/?utm_campaign=1080684&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 10 Sep 2026 08:03:59 GMT</pubDate>
    <dc:creator><![CDATA[atomlib]]></dc:creator>
      
      <category><![CDATA[Omarchy]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Codex]]></category><category><![CDATA[Codex CLI]]></category><category><![CDATA[OpenAI]]></category><category><![CDATA[агентное программирование]]></category><category><![CDATA[Джастин Шрёдер]]></category><category><![CDATA[dmux]]></category><category><![CDATA[Radeon]]></category><category><![CDATA[MacBook]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Учебный процесс в IT (+4) — 10.09.2026 08:40]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1080606/</guid>
    <link>https://habr.com/ru/posts/1080606/?utm_campaign=1080606&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Представлен открытый проект <a href="https://github.com/hyperfield/ai-file-sorter/" rel="noopener nofollow">AI File Sorter</a>. Решение раскладывает файлы по папкам и меняет названия. Приложение анализирует содержимое картинок и документов: test123.jpg превращается в фото_в_деревне.jpg, а файл PDF получает имя по тексту внутри. Перед сортировкой можно проверить и поправить предложения, а последний запуск с изменениями можно откатить. Проект работает на Windows, macOS и Linux, при этом бесплатно, если использовать локальную ИИ-модель.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/6ba/79a/4d5/6ba79a4d518badb2586d75c66ccb975b.png" width="1002" height="832"></figure> <a href="https://habr.com/ru/posts/1080606/?utm_campaign=1080606&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 10 Sep 2026 05:40:35 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[AI File Sorter]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Granulex — Linux (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1079980/</guid>
    <link>https://habr.com/ru/posts/1079980/?utm_campaign=1079980&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong> Хороший бэкап умеет не только сохранять, но и возвращать нужное</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/440/12e/6de/44012e6de39d059811f3df9222fcaef8.png" width="1672" height="940"></figure><p>В большой инфраструктуре десятки тысяч машин, БД, контейнеров, платформ. И сценарии восстановления у всех свои: где-то нужно поднять всё с нуля, а где-то – вернуть один объект или несколько атрибутов.  Российские вендоры последовательно <a href="https://www.cnews.ru/news/line/2026-09-03_kiberprotekt_rasshiril" rel="noopener nofollow">движутся</a> в сторону точности.  <br><br>Свежий пример: в «Кибер Бэкапе Облачном» теперь можно выбирать отдельные объекты внутри Kubernetes. Резервируешь и восстанавливаешь только то, что действительно нужно, – не тащишь весь кластер ради одной ошибки. <strong> </strong><br><br><strong>Не просто «есть копия», а умение достать из неё именно то, что сломалось, и не трогать остальное.  </strong><br><br>Тот же принцип особенно важен для каталогов.  В гетерогенных средах и особенно при миграции с AD на Linux инфраструктура становится сложнее: параллельные среды, скрипты, промежуточные состояния.  И тут ошибка часто не убивает каталог целиком. Можно неверно изменить атрибуты пользователей, удалить группу, разорвать связи — система продолжит работать, но доступы поедут.  </p><p>Восстанавливать весь каталог из полной копии — как из пушки по воробьям.</p><p>Нужно найти, что именно сломалось, и вернуть только это — один объект, один атрибут. Это и есть гранулярное восстановление. <strong>Оно не отменяет полное восстановление — это разные сценарии. </strong>Пожар в дата-центре и кривой скрипт, поменявший одну группу, лечатся по-разному.<br> <br>Простая логика для каталога: перед миграцией сделал копию, потом сравнил состояния и точечно исправил последствия.<br> <br> И здесь Kubernetes и каталог оказываются ближе, чем кажется: <strong>бэкап ценен не только фактом наличия, но и тем, насколько точно ты можешь им воспользоваться, когда что-то пошло не так. </strong><br><br>Источники:<br><br><a href="https://www.cnews.ru/news/line/2026-09-03_kiberprotekt_rasshiril" rel="noopener nofollow">«Киберпротект» расширил возможности «Кибер Бэкапа Облачного» для крупных гетерогенных инфраструктур</a></p><p><a href="https://secradar.ru/klass/backup/" rel="noopener nofollow">Российские системы резервного копирования: из реестра</a></p> <a href="https://habr.com/ru/posts/1079980/?utm_campaign=1079980&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 09 Sep 2026 04:22:21 GMT</pubDate>
    <dc:creator><![CDATA[Granulex]]></dc:creator>
      
      <category><![CDATA[информационная безопасность]]></category><category><![CDATA[импортозамещение]]></category><category><![CDATA[Linux]]></category><category><![CDATA[LDAP]]></category><category><![CDATA[резервное копирование]]></category><category><![CDATA[гранулярное восстановление]]></category><category><![CDATA[Active Directory]]></category><category><![CDATA[ALD Pro]]></category><category><![CDATA[миграция]]></category><category><![CDATA[системное администрирование]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Assador — *nix (+4) — 06.09.2026 16:19]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1079036/</guid>
    <link>https://habr.com/ru/posts/1079036/?utm_campaign=1079036&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>В&nbsp;ошалевшую от&nbsp;безделья голову пришла шальная мысль&nbsp;— может&nbsp;ли современный уважающий себя в&nbsp;меру упитанный человек прожить на&nbsp;голом ядре Linux, coreutils, пачке элементарных консольных мастхэв и&nbsp;нескольких консольных&nbsp;же баловст для&nbsp;приятственного времяпрепровождения?</p><p>Пораскинув в&nbsp;хорошем смысле мозгами, сделал такую подборку:</p><ul><li><p><strong>Основа</strong>&nbsp;— <code>linux</code>, <code>linux-firmware</code>, <code>grub</code>, <code>runit</code>, <code>coreutils</code>, <code>util-linux</code>, <code>kmod</code>, <code>shadow</code>, <code>kbd</code></p></li><li><p><strong>Сеть</strong>&nbsp;— <code>iproute2</code>, <code>dhcpcd</code>, <code>ca-certificates</code></p></li><li><p><strong>Окружение</strong>&nbsp;— <code>kmscon</code>/<code>fbterm</code>, <code>tmux</code>, <code>nerd-fonts</code>, <code>mc</code></p></li><li><p><strong>Мастхэв</strong>: <code>sudo</code>, <code>file</code>, <code>procps-ng</code>, <code>neovim</code>, <code>git</code>, <code>wget</code>, <code>openssh</code>, <code>openssl</code>, <code>gcc</code>, <code>make</code>, <code>glibc</code>, <code>tar</code>, <code>zstd</code>, <code>unzip</code>, <code>less</code>, <code>grep</code>, <code>sed</code>, <code>awk</code>, <code>findutils</code>, <code>man-db</code>, <code>man-pages</code></p></li></ul><p>Если немножко додать жиру, то&nbsp;— <code>yazi</code>, <code>neomutt</code>, <code>lynx</code>/<code>w3m</code>, <code>newsboat</code>, <code>alsa-lib</code>,  <code>alsa-utils</code>, <code>mpv</code>.</p><p>Наверняка чего-то упустил&nbsp;/ чего-то захочется ещё. Но&nbsp;такова природа человека… Иначе до&nbsp;пятидесятого гнома мы&nbsp;бы не&nbsp;дошли.</p><p>Вот. На&nbsp;следующих выходных попробую себе устроить GUI-детокс и&nbsp;геморрой на&nbsp;свою соскучившуюся пятую точку (см. начало про&nbsp;безделье). Посмотрю, чего реально не&nbsp;хватает современному в&nbsp;меру упитанному человеку для жизни.</p><p>И&nbsp;распивая чаи со&nbsp;спиртом (опционально), буду читать здесь холивары о&nbsp;гноме и&nbsp;кедах&nbsp;😁</p> <a href="https://habr.com/ru/posts/1079036/?utm_campaign=1079036&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 06 Sep 2026 13:19:38 GMT</pubDate>
    <dc:creator><![CDATA[Assador]]></dc:creator>
      
      <category><![CDATA[минимализм]]></category><category><![CDATA[без gui]]></category><category><![CDATA[tty]]></category><category><![CDATA[runit]]></category><category><![CDATA[консоль]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Assador — Linux (+3) — 05.09.2026 00:09]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1078712/</guid>
    <link>https://habr.com/ru/posts/1078712/?utm_campaign=1078712&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Наболело… Куда катится мир, граждане-товарищи? Раньше был веб-дизайнером по&nbsp;профессии, теперь лишь подхалтуриваю, но…</p><p>Итак, дано. Стек: Linux, Wayland, Qt/GTK. Нужна программа для работы с&nbsp;цветом:</p><ul><li><p>Живой проект</p></li><li><p>Linux/Wayland</p></li><li><p>GUI</p></li><li><p>Отдельная программа, а не GIMP/Figma/Krita/веееб-инструмееенты без регистрации и&nbsp;СМС</p></li><li><p>Палитры</p></li><li><p>Цветовые пространства</p></li><li><p>Гармонические схемы</p></li><li><p>Генерация вариаций</p></li><li><p>Математическое смешивание</p></li><li><p>Blend modes вроде Overlay</p></li><li><p>Интерполяция/шаги</p></li><li><p>Лёгкая и узкоспециализированная</p></li><li><p>Кофе варить не&nbsp;обязана</p></li></ul><p>Очень много?</p><p>Нужен богатый функционал, но при этом чётко очерченная область тупо работы с цветом. Безо всех этих «а ещё мы вам прямо здесь трактор в фигме нарисуем», лёгкие, быстрые, с минимумом зависимостей, чистая математика, удобный интерфейс.</p><p>Есть pastel. Консольная.<br> Есть Gpick. Дохлый.<br> Есть Rickrack. Дохлый. Да&nbsp;ещё и&nbsp;на PyQt5. С&nbsp;кучей некродрузей за&nbsp;ручку.</p><p>Я&nbsp;не&nbsp;понимаю. Правда. Сейчас всем хватает только пипеток и инстаграмчиков на&nbsp;телефончиках?</p><p>Недавно запилил свою мерялку экрана на C++/GTK4 со&nbsp;всякими координатами, шириной-высотой, углами, диагоналями, соотношениями сторон, направляющими и&nbsp;пр. плюшками. Для Wayland. И даже умудрился туда прикрутить те же колорпикер со&nbsp;скриншотами, мать&nbsp;их… Просто потому что самому нужно. Теперь пилить ещё и&nbsp;это? Я&nbsp;один такой дурак в&nbsp;этом мире, которому всё это нужно?… Простите. Крик души.</p> <a href="https://habr.com/ru/posts/1078712/?utm_campaign=1078712&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 04 Sep 2026 21:09:33 GMT</pubDate>
    <dc:creator><![CDATA[Assador]]></dc:creator>
      
      <category><![CDATA[linux]]></category><category><![CDATA[wayland]]></category><category><![CDATA[color]]></category><category><![CDATA[palette manager]]></category><category><![CDATA[gpick]]></category><category><![CDATA[веб-дизайн]]></category><category><![CDATA[gui]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1078036/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1078036/?utm_campaign=1078036&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Сервис тормозит, а мониторинг ничего не показывает: разбираемся с eBPF</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/95e/d2f/167/95ed2f167d84d0a7f0b80aae501ba6eb.jpg" width="1800" height="980"></figure><p>Сервис начал отвечать медленнее, пользователи жалуются на ошибки, а привычные дашборды показывают только рост задержек. Где искать причину, если приложение, сеть и инфраструктура выглядят «почти нормально»?</p><p>В таких ситуациях инженерам приходится спускаться глубже — к событиям внутри Linux-ядра. Один из инструментов для этого — eBPF: технология, которая позволяет получать данные о работе системы без остановки сервисов и точнее находить узкие места в продакшене.</p><p>На открытом уроке курса «DevOps практики и инструменты» вместе с преподавателем разберём, как eBPF помогает исследовать сетевые взаимодействия, производительность и безопасность современных систем. Посмотрим, какие задачи он решает в реальной эксплуатации и где его применение действительно оправдано. Когда: 23 сентября в 20:00. <a href="https://otus.pw/rRgs/" rel="noopener nofollow">Присоединяйтесь</a></p><p><em>А пока можно посмотреть другие темы бесплатных уроков месяца </em><a href="https://otus.pw/dZ0j/" rel="noopener nofollow"><em>в дайджесте.</em></a></p> <a href="https://habr.com/ru/posts/1078036/?utm_campaign=1078036&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 03 Sep 2026 15:03:12 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[eBPF]]></category><category><![CDATA[мониторинг]]></category><category><![CDATA[наблюдаемость]]></category><category><![CDATA[Linux]]></category><category><![CDATA[ядро Linux]]></category><category><![CDATA[диагностика систем]]></category><category><![CDATA[сетевая производительность]]></category><category><![CDATA[информационная безопасность]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Granulex — Информационная безопасность (+2) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1077856/</guid>
    <link>https://habr.com/ru/posts/1077856/?utm_campaign=1077856&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Самая опасная кнопка в&nbsp;КИИ&nbsp;— у&nbsp;человека за&nbsp;соседним столом</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/595/d82/c02/595d82c028b99d400cf852bce696d2be.png" width="1536" height="1024"></figure><div class="floating-image"><p><br>В новом исследовании «СёрчИнформ» ста судебных дел за&nbsp;последние годы по&nbsp;статье 274.1&nbsp;УК РФ&nbsp;— «Неправомерное воздействие на&nbsp;критическую информационную инфраструктуру Российской Федерации» обнаружилась интересная закономерность.<br><br>95%&nbsp;нарушителей&nbsp;— сами сотрудники пострадавших организаций. 14%<strong> </strong>среди них&nbsp;— руководители подразделений. Но&nbsp;есть и хорошая новость, ИТ‑ и ИБ‑специалистов среди них всего 5%, а&nbsp;топ менеджмента и подавно 1%. Почти на&nbsp;уровне погрешности.<br><br>Внешних нарушителей&nbsp;— всего 5%. Но&nbsp;это не&nbsp;потому, что&nbsp;их мало. Просто раскрываемость компьютерных преступлений в&nbsp;России не&nbsp;превышает 21%. Большинство внешних атак остаются безнаказанными.<br><br>Что&nbsp;интересно, 67%&nbsp;проанализированных дел&nbsp;— не&nbsp;взлом и не&nbsp;уничтожение серверов, а&nbsp;внесение недостоверных данных<strong> </strong>в&nbsp;таких сферах, как&nbsp;связь и телеком 47%, здравоохранение 25% и финансовый сектор 10%.<br><br>Причина&nbsp;— большое число сотрудников с&nbsp;легитимным доступом к&nbsp;системам и низкая цифровая грамотность.<br><br><strong>Больше доступа&nbsp;— выше цена ошибки.</strong><br><br>Когда администратор просто изменил не&nbsp;тот атрибут, или&nbsp;скрипт сломал членство в&nbsp;службе каталога&nbsp;— каталог жив, пользователи заходят, но&nbsp;доступы уже сломаны.<br><br>Для&nbsp;LDAP‑инфраструктуры это головная боль: система считает изменение легитимным (права‑то&nbsp;были!), а&nbsp;вы даже не&nbsp;знаете,&nbsp;<em>что&nbsp;именно</em>&nbsp;вернуть назад.<br><br>Классический бэкап здесь не&nbsp;выход. Откатывать всё из‑за одной сломанной группы&nbsp;— как&nbsp;стрелять из&nbsp;пушки по&nbsp;воробьям. Нужен другой подход:</p></div><ol><li><p><strong>Сравнить</strong>&nbsp;текущее состояние каталога с&nbsp;резервной копией.</p></li><li><p><strong>Найти</strong>&nbsp;точечные расхождения.</p></li><li><p><strong>Восстановить</strong>&nbsp;только изменённые объекты, не&nbsp;трогая остальное.</p></li></ol><p>Защищать нужно не&nbsp;только&nbsp;<em>доступность</em>&nbsp;каталога, но&nbsp;и&nbsp;<em>целостность</em>&nbsp;данных. Потому что&nbsp;легитимный доступ ≠ безопасное изменение. И это справедливо не&nbsp;только для&nbsp;КИИ.<br><br><em>Информацию взял </em><a href="https://d-russia.ru/bolshe-80-narushitelej-bezopasnosti-kii-poluchajut-uslovnye-nakazanija-issledovanie.html" rel="noopener nofollow"><em>отсюда</em></a><em> и </em><a href="https://searchinform.ru/survey/judge-infosec-2026/" rel="noopener nofollow"><em>отсюда</em></a><em>.</em></p> <a href="https://habr.com/ru/posts/1077856/?utm_campaign=1077856&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 03 Sep 2026 04:21:33 GMT</pubDate>
    <dc:creator><![CDATA[Granulex]]></dc:creator>
      
      <category><![CDATA[КИИ]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[LDAP]]></category><category><![CDATA[Linux]]></category><category><![CDATA[служба каталогов]]></category><category><![CDATA[резервное копирование]]></category><category><![CDATA[гранулярное восстановление]]></category><category><![CDATA[контроль доступа]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @SestrichkinK — Linux (+4) — 02.09.2026 15:17]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1077700/</guid>
    <link>https://habr.com/ru/posts/1077700/?utm_campaign=1077700&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>io_uring против epoll в KVM: сервер с большим числом соединений</strong>  </p><p>Тест io_uring против epoll в KVM проводят на одной кодовой базе. Бенчмарк io_uring при множестве соединений корректен, если меняется только бэкенд событий. Итог зависит от ядра, цикла событий, протокола, режима io_uring и offload.</p><p><strong>Когда io_uring обгоняет epoll на сетевом сервере?</strong></p><p>io_uring обгоняет epoll, когда сервер пакетно отправляет операции и обрабатывает завершения, сокращая число переходов в ядро. Такой выигрыш обычно виден при множестве одновременных соединений и малом объёме работы на запрос. Простая замена epoll-уведомлений на io_uring poll может не окупить сложность.</p><p><strong>Что обязано остаться неизменным между epoll и io_uring</strong></p><p>Чтобы бенчмарк io_uring при множестве соединений был честным, обе ветки используют общий парсер, обработчик, TLS-режим, keep-alive и формат ответа. Сверяют чтения, записи и аллокации на запрос. Поэтому демонстрационный пример не сравнивают со зрелым сервером.</p><p><strong>Готовность fd против очередей submission и completion</strong></p><p>epoll сообщает о готовности fd, а приложение выполняет I/O. В io_uring приложение отправляет SQE в submission queue, а ядро записывает CQE. Пакетная отправка сокращает переходы в ядро, но неудачный цикл событий сводит выигрыш к нулю. Поэтому масштабирование epoll в KVM проверяют на том же профиле нагрузки.</p><p><strong>Где KVM и virtio могут скрыть разницу бэкендов</strong></p><p>Пакет идёт через сетевой стек гостя, очереди vhost-net и тракт хоста. До теста фиксируют число очередей, offload, привязку vCPU и IRQ. Иначе задержка сетевого сервера io_uring объясняется хостом, а не бэкендом.</p><p><strong>Какой тест позволяет честно сравнить эти модели?</strong></p><p>Используйте один код сервера, протокол, объём работы на запрос и правила соединений, меняя только бэкенд событий. После прогрева запускайте серии с одинаковым CPU-бюджетом на каждой ступени concurrency. Публикуйте пропускную способность, p99, число системных вызовов, ошибки и загрузку гостя и хоста отдельно.</p><p><strong>Соединения, запросы и backpressure без скрытых различий</strong></p><p>Задайте размеры запросов и ответов, долю новых соединений и keep-alive. Повышайте concurrency до насыщения, следя за ошибками, таймаутами и очередью.<a href="https://github.com/axboe/liburing/wiki/io_uring-and-networking-in-2023" rel="noopener nofollow"> Накладные расходы цикла событий</a> оценивайте по CPU на запрос и числу системных вызовов, сопоставляя их с p99 и пропускной способностью.</p><p><strong>Syscalls, переключения контекста и CPU на запрос</strong></p><p>Счётчики cycles, instructions и context-switches делят на число запросов. Отдельно измеряют расход CPU рабочими и vhost-потоками. Многократный accept в io_uring снижает число постановок accept, но каждый CQE нужно обработать. К отчёту прикладывают коммит, конфиги бэкендов, генератор и сырой CSV.</p><p><strong>Где преимущество появляется и где исчезает</strong></p><p>Сравните низкую нагрузку, рабочую точку и перегрузку. Проверьте мелкие и крупные сообщения. Сохраняйте p50, p99, пропускную способность, соединения в секунду и разброс повторов. Если разбросы перекрываются, не выбирайте победителя.</p><p><strong>Какие накладные расходы добавляет KVM?</strong></p><ol><li><p>Часть ожидания vCPU отражается в %steal, остальные паузы видны только на хосте.</p></li><li><p>Очереди гостя, vhost и NIC хоста могут накапливать пакеты независимо от бэкенда.</p></li><li><p>IRQ, softirq и offload влияют на расход CPU, поэтому настройки фиксируют до теста.</p></li></ol><p><strong>Как найти источник p99 внутри ring или цикла событий</strong></p><p>При росте p99 трассируют SQ/CQ, обработку CQE и паузы рабочих потоков. Проверяют переполнение ring, незавершённые операции и backpressure. Если хвостовая латентность растёт вместе с паузами vCPU, сначала проверяют хост.</p><p><strong>Когда выигрыш оправдывает новый бэкенд</strong></p><p>До перехода фиксируют версию ядра, поддержку отмены, наблюдаемость и fallback. Настройки virtio не меняют, иначе выигрыш не отнести к бэкенду. Порог связывают с целевой метрикой и ценой сопровождения. Новый бэкенд включают поэтапно, с откатом на epoll.</p><p>io_uring против epoll в KVM выбирают не по новизне API. Переход оправдан, если серии дают выигрыш по p99, пропускной способности или CPU на запрос, а поведение при перегрузке и fallback предсказуемо. Иначе epoll остаётся более простым бэкендом.</p> <a href="https://habr.com/ru/posts/1077700/?utm_campaign=1077700&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 02 Sep 2026 12:17:54 GMT</pubDate>
    <dc:creator><![CDATA[SestrichkinK]]></dc:creator>
      
      <category><![CDATA[io_uring]]></category><category><![CDATA[epoll]]></category><category><![CDATA[kvm]]></category><category><![CDATA[virtio]]></category><category><![CDATA[linux]]></category><category><![CDATA[highload]]></category><category><![CDATA[benchmark]]></category><category><![CDATA[p99]]></category><category><![CDATA[event loop]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Weronika_Saturday — Open source (+4) — 27.08.2026 20:01]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1075460/</guid>
    <link>https://habr.com/ru/posts/1075460/?utm_campaign=1075460&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Я создала <a href="https://github.com/weronika-saturday/OrangeQPC" rel="noopener nofollow">красивый GUI</a> для Qemu для запуска древних MacOS начиная с версии 9.0 до 10.5 Leopard. Для удобной эмуляции для простых пользователей ПК. Доступен для всех Linux, в том числе Raspberry Pi, chromeOS, SteamDeck и Steam Machine. Программа создана на Qt6 и C++, из-за чего программа потребляет максимум полтора килобайта ОЗУ.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/622/a01/954/622a0195420519e4bfc4db7656c45aef.png" width="685" height="811"></figure><p>Я не просто создала программу и выложила на GitHub и всё, я настроила автоматическую сборку бинарного файла на сервере, поэтому вам не нужно компилировать. Бинарная сборка в одном файле AppImage <a href="https://github.com/weronika-saturday/OrangeQPC/releases/tag/v1.0" rel="noopener nofollow">доступна</a> для всех. Работает как минимум на Debian 13 (я проверяла), так что программа будет работать и на Ubuntu, и на Fedora, и на ArchLinux</p> <a href="https://habr.com/ru/posts/1075460/?utm_campaign=1075460&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 27 Aug 2026 17:01:58 GMT</pubDate>
    <dc:creator><![CDATA[Weronika_Saturday]]></dc:creator>
      
      <category><![CDATA[qemu]]></category><category><![CDATA[macos]]></category><category><![CDATA[linux]]></category><category><![CDATA[программирование]]></category><category><![CDATA[qt6]]></category><category><![CDATA[c++]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Granulex — Информационная безопасность (+3) — 27.08.2026 17:42]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1075400/</guid>
    <link>https://habr.com/ru/posts/1075400/?utm_campaign=1075400&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Зачем ФСТЭК ограничивает права ИИ</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/092/260/003/09226000324e89db980f114eb727829e.png" width="1536" height="1024"></figure><p>ФСТЭК <a href="https://www.comnews.ru/content/247052/2026-08-26/2026-w35/1007/fstek-uzhestochit-trebovaniya-k-zaschite-ii-gosinformacionnykh-sistemakh" rel="noopener nofollow">готовит</a> новые правила для ИИ в государственных информационных системах. 24 августа ведомство опубликовало проект изменений в приказ №117. В нем предлагается ограничить модели ИИ в доступе и правах. Проект должен вступить в силу 1 марта 2027 года.</p><p><strong>Что меняется, когда ИИ получает доступ к LDAP  </strong></p><p>ИИ сильно повзрослел. Это уже не просто собеседник, а полноценный агент, который может сам обращаться к компьютерам, серверам и выполнять операции.</p><p>Например, если ИИ-агенту дать доступ к корпоративному LDAP-каталогу, он сможет:</p><ul><li><p>Добавить учетную запись в группу</p></li><li><p>Изменить атрибут пользователя</p></li><li><p>Изменить членство в группе</p></li><li><p>Массово изменить данные</p></li></ul><p>Поэтому, если злоумышленник получит доступ к агенту, то он сможет украсть или испортить данные каталога, передать их в третьи руки.</p><p><strong>Что может оказаться под угрозой?</strong></p><p>В каталоге лежат не только логины и учётные записи, но и ФИО, должности, отделы, телефоны, почта, фото – целая база персональных и служебных данных.</p><p>Если агенту разрешено читать эти данные, то злоумышленникам не обязательно взламывать LDAP. Достаточно дать агенту команду – и он сам отдаст данные наружу или испортит их. </p><p><strong>Локальная или внешняя модель?</strong></p><p>С точки зрения рисков не принципиально, используете вы внешнюю или локальную модель. Если локальная модель имеет широкие права, она сольёт данные не хуже внешнего сервиса. Так что ФСТЭК смотрит не на место проживания модели, а на то, что она видит, к чему имеет доступ и что может делать.</p><p><strong>Один неправильный запрос может превратиться в инфраструктурный инцидент.</strong></p><p>Причем источник проблемы может находиться далеко от каталога. Например, вредоносная инструкция может попасть в ИИ через внешний ресурс или заражённый документ. Эксперты называют&nbsp;prompt injection&nbsp;одной из главных дыр, которые надо закрывать в защите ИИ.</p><p><strong>ИИ становится еще одним участником системы доступа</strong></p><p>Выходит, ИИ-агент, подключенный к каталогу, становится еще одним участником системы управления доступом. Если дать ему слишком много прав, мы откроем путь:<br>внешняя команда → ИИ-агент → LDAP → данные пользователей или права доступа.</p><p>Поэтому принцип минимальных прав критичен. Если агенту нужен только один атрибут – не даём ему весь каталог. Если нужно сделать одну операцию – не разрешаем править все учётки. Чем меньше прав, тем меньше ущерб от возможной атаки.</p><p><strong>Что делать, если изменения уже произошли</strong></p><p>Просто иметь бэкап каталога – мало. Если агент испортил сотни записей, полный откат вернёт старую версию, но заодно откатит все правильные изменения, которые появились после бэкапа.</p><p>Поэтому нужны два уровня защиты:</p><ol><li><p><strong>Резервное копирование</strong>, чтобы сохранить состояние каталога;</p></li><li><p><strong>Гранулярное восстановление</strong>, чтобы найти и вернуть неправильно изменённые объекты или атрибуты.</p></li></ol><p>Получается простая цепочка:</p><p><strong>ограничить права ИИ → контролировать его действия → не дать слить данные наружу → не дать править лишнее → иметь бэкап → уметь точечно восстановить данные.</strong></p><p>Новые требования ФСТЭК интересны не только для ИИ. Они показывают: если ИИ подключается к инфраструктуре, его безопасность становится частью безопасности всей системы – включая службу каталога.</p> <a href="https://habr.com/ru/posts/1075400/?utm_campaign=1075400&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 27 Aug 2026 14:42:02 GMT</pubDate>
    <dc:creator><![CDATA[Granulex]]></dc:creator>
      
      <category><![CDATA[ИИ]]></category><category><![CDATA[ИИ-агенты]]></category><category><![CDATA[LDAP]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[контроль доступа]]></category><category><![CDATA[минимальные привилегии]]></category><category><![CDATA[prompt injection]]></category><category><![CDATA[персональные данные]]></category><category><![CDATA[утечка данных]]></category><category><![CDATA[Linux]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @SestrichkinK — Системное администрирование (+4) — 18.08.2026 13:46]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1071654/</guid>
    <link>https://habr.com/ru/posts/1071654/?utm_campaign=1071654&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>NUMA и топология CCD Ryzen 9 9950X: как размещение vCPU влияет на задержки</strong>.</p><p>NUMA и топология CCD Ryzen 9 9950X не равнозначны: гость видит NUMA-схему, но не границы L3. Сравнивать нужно размещение vCPU на одной VM внутри CCD, между CCD и без pinning. Результат зависит от нагрузки, BIOS, ядра, QEMU и SMT.</p><p><strong>Как определить, какие vCPU находятся на одном CCD?</strong></p><p>Сопоставьте логические CPU с ядрами и SMT-сиблингами, затем найдите группы общего L3-кэша. Каждый CCD объединяет восемь ядер с общим L3, номера CPU зависят от хоста, поэтому проверяйте shared_cpu_list. Запишите BIOS, микрокод, ядро и governor.</p><pre><code>lscpu -e=CPU,CORE,SOCKET,NODE,CACHE
grep -H . /sys/devices/system/cpu/cpu*/cache/index3/shared_cpu_list</code></pre><p>Границы CCD измеримы: в открытом наборе для 9950X с AGESA 1.2.0.2 средняя задержка CAS через общую строку кэша составила 22,4 нс внутри CCD и 79,5 нс между CCD, тогда как numactl границу не покажет.</p><p><strong>От физических ядер к vCPU, emulatorpin и vNUMA</strong></p><p>vcpupin связывает vCPU с CPU хоста, но не трогает остальные потоки VM: эмулятор QEMU и IOThread закрепляются отдельно. NUMA node гостя должен отражать домен памяти, а не границу L3, иначе межчиплетная задержка смешается с доступом к удалённой RAM.</p><pre><code>virsh vcpupin vm-latency
virsh emulatorpin vm-latency
virsh numatune vm-latency</code></pre><p><strong>Компактный CCD, разнесённые CCD и свободное планирование</strong></p><p>Сравните одну VM в трёх конфигурациях: внутри одного L3, между CCD и без vcpupin. Число vCPU и RAM не меняйте, пиннинг задавайте по физическим ядрам, SMT проверяйте отдельно.</p><p><strong>Насколько размещение между CCD увеличивает задержку?</strong></p><p>Универсальной прибавки нет: результат зависит от общих данных, синхронизации, памяти и миграций. Сравнивайте одну нагрузку на одном хосте, сохраняя p50, p95, p99 и разброс. Core-to-core тест измеряет обмен между CCD, а не p99 приложения.</p><p><strong>Как не принять boost, нагрев или соседнюю VM за эффект CCD</strong></p><p>Прогрейте VM, фиксируйте частоту, температуру и %st: performance не удерживает частоту на Ryzen. Чередуйте схемы A–B–C–C–B–A и записывайте фоновые задачи. vNUMA должна совпадать с доменами памяти хоста.</p><p><strong>Связь задержки с миграциями, кэш-промахами и удалённой памятью</strong></p><p>Возьмите приложение с общей памятью или синхронизацией и микротест обмена. Перед серией проверьте pinning в libvirt и память QEMU, затем снимайте context switches, миграции и NUMA faults. Для cache-misses нужен vPMU. Нормируйте счётчики: рост вместе с p99 причину не доказывает.</p><pre><code>perf stat -e context-switches,cpu-migrations,cache-misses \
   -- ./test
numastat -p "$(pgrep -fo 'guest=vm-latency')"</code></pre><p><strong>Когда пиннинг vCPU улучшает p99?</strong></p><p>1. Рабочие потоки часто обращаются к общим данным.</p><p>2. Без pinning они мигрируют между группами L3.</p><p>3. p99 снижается без потери throughput и роста %st.</p><p><strong>Где компактность помогает, а где ограничивает параллелизм</strong></p><p>Сведите три схемы в таблицу: медиана p99 по повторам и доверительный интервал разницы. Если интервал пересекает ноль, результат в пределах погрешности. Задачам с независимыми потоками компактность ничего не даёт: обмена между ядрами почти нет, а привязка сужает выбор планировщика.</p><p><strong>Как превратить топологию 9950X в правило эксплуатации</strong></p><p>До теста задайте порог, например снижение p99 на 10% без потери ops/s. В XML подставьте cpuset и узел.</p><pre><code>&lt;vcpu&gt;2&lt;/vcpu&gt;
&lt;iothreads&gt;1&lt;/iothreads&gt;
&lt;cputune&gt;
 &lt;vcpupin vcpu='0' cpuset='0'/&gt;
 &lt;vcpupin vcpu='1' cpuset='1'/&gt;
 &lt;emulatorpin cpuset='2'/&gt;
 &lt;iothreadpin iothread='1' cpuset='3'/&gt;
&lt;/cputune&gt;
&lt;numatune&gt;&lt;memory mode='strict' nodeset='0'/&gt;&lt;/numatune&gt;</code></pre><p>Закрепляйте vCPU внутри CCD только если улучшение p99 воспроизводится в повторных прогонах. Если throughput падает или p99 не меняется, оставьте свободное планирование. Топология задаёт гипотезу, решение зависит от VM.  </p> <a href="https://habr.com/ru/posts/1071654/?utm_campaign=1071654&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 18 Aug 2026 10:46:49 GMT</pubDate>
    <dc:creator><![CDATA[SestrichkinK]]></dc:creator>
      
      <category><![CDATA[numa]]></category><category><![CDATA[ccd]]></category><category><![CDATA[ryzen]]></category><category><![CDATA[vcpu]]></category><category><![CDATA[kvm]]></category><category><![CDATA[l3 cache]]></category><category><![CDATA[p99 latency]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Floodww — IT-инфраструктура (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1071364/</guid>
    <link>https://habr.com/ru/posts/1071364/?utm_campaign=1071364&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>RoutineOps upd. 17.08.2026</strong><br>С момента последней <a href="https://habr.com/ru/articles/1066138/" rel="noopener noreferrer nofollow">статьи</a> сделали много. Так как я условился, что теперь буду выпускать информацию об апдейтах в виде коротких постов, то вот:<br>- Отполирован macOs агент и функционал с FileVault блоком.<br>- Логирование действий под временной админкой.<br>- EN локализация.<br>- Процесс установки/удаления/преустановки агентов отполирован.<br>- Самое главное: удаленное подключение к устройству пользователя прям из WebUI.<br><br>Подробнее о проекте и функционале в доках репозитория на <a href="https://github.com/Floodww/RoutineOps" rel="noopener noreferrer nofollow">гитхабе</a> и в постах: <a href="https://habr.com/ru/articles/1061394/" rel="noopener noreferrer nofollow">Пост</a> про сам проект, первые шаги и финальный функционал первого Public Release! <a href="https://habr.com/ru/articles/1066138/" rel="noopener noreferrer nofollow">Пост</a> про разработку enterprise версии.<br>В скором времени подготовлю статью про процесс разработки удаленного подключения, какие были архитектурные решения, сам процесс и финальный результат!<br>Если вам интересно подробнее узнать про какую то функцию или архитектурное решение, то пишите, рад буду пообщаться на тему проекта.<br></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/e78/77f/d3d/e7877fd3d2e3a2630387890037d2b847.png" alt="Подключение к устройству" title="Подключение к устройству" width="2880" height="1864"><div><figcaption>Подключение к устройству</figcaption></div></figure> <a href="https://habr.com/ru/posts/1071364/?utm_campaign=1071364&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 17 Aug 2026 15:11:09 GMT</pubDate>
    <dc:creator><![CDATA[Floodww]]></dc:creator>
      
      <category><![CDATA[MDM]]></category><category><![CDATA[mdm-система]]></category><category><![CDATA[uem]]></category><category><![CDATA[uem-платформа]]></category><category><![CDATA[macos]]></category><category><![CDATA[системное администрирование]]></category><category><![CDATA[windows]]></category><category><![CDATA[linux]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1070458/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1070458/?utm_campaign=1070458&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как поменять firewall на удалённом сервере и не отрезать себе SSH</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/274/79d/5c3/27479d5c3b1702d628a7fda7e213caa4.jpg" width="1672" height="941"></figure><p>Настраивать firewall по SSH всегда немного тревожнее, чем кажется в документации. Одно неудачное правило — и вместо аккуратно закрытых портов получаем сервер, до которого теперь нужно добираться через консоль провайдера или просить кого-то вернуть доступ.</p><p><strong>26 августа в 19:00 </strong>на <a href="https://otus.pw/MQla/" rel="noopener noreferrer nofollow">бесплатном демо-уроке</a> будем разбираться, как работать с nftables на удалённом Linux-сервере так, чтобы изменения можно было вносить контролируемо и без неприятных сюрпризов. Заодно станет понятнее, чем nftables отличается от привычного iptables и что учитывать при постепенном переходе между ними.</p><p>Урок проведёт Николай Лавлинский — преподаватель-практик курса «Администратор Linux. Продвинутый уровень». Формат рассчитан на разбор реальной админской задачи, где цена ошибки вполне ощутима.</p><blockquote><p>Больше бесплатных уроков на август собрали <a href="https://otus.pw/WWA8/" rel="noopener noreferrer nofollow">в дайджесте</a> — там можно быстро посмотреть темы и выбрать нужную сейчас.</p></blockquote> <a href="https://habr.com/ru/posts/1070458/?utm_campaign=1070458&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 15 Aug 2026 09:38:36 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[nftables]]></category><category><![CDATA[linux]]></category><category><![CDATA[firewall]]></category><category><![CDATA[SSH]]></category><category><![CDATA[сетевой фильтр]]></category><category><![CDATA[удаленный сервер]]></category><category><![CDATA[сетевая безопасность]]></category><category><![CDATA[администрирование Linux]]></category><category><![CDATA[фильтрация трафика]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Linux (+4) — 12.08.2026 09:02]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1069498/</guid>
    <link>https://habr.com/ru/posts/1069498/?utm_campaign=1069498&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>OpenAI <a href="https://x.com/OpenAI/status/2087231350134980830" rel="noopener noreferrer nofollow">объявила</a> о доступности предварительной версии десктоп-приложения ChatGPT для платформы Linux, предоставляющего интерфейс для использования ChatGPT, ChatGPT Work и ИИ-агента Codex. Приложение <a href="https://openai.com/codex/" rel="noopener noreferrer nofollow">доступно</a> для загрузки в форматах deb и rpm  в сборках для архитектур x64 и ARM64. Заявлена поддержка дистрибутивов Ubuntu 24.04/26.04, Debian 13 и Fedora 43/44.  </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/059/f7a/375/059f7a3750cf66483f9b1c86fa48b529.png" width="941" height="455"></figure> <a href="https://habr.com/ru/posts/1069498/?utm_campaign=1069498&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 12 Aug 2026 06:02:43 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[chatgpt]]></category><category><![CDATA[linux]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @andrey_chuyan — DevOps (+1) — 05.08.2026 16:30]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1067094/</guid>
    <link>https://habr.com/ru/posts/1067094/?utm_campaign=1067094&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/c2b/236/6f8/c2b2366f8a2bc81e1cdae1b9feea06a3.jpg" width="1330" height="751"></figure><p>🤖 <strong>AI-агенты для Ansible: как делегировать рутину и не писать плейбуки руками</strong> — бесплатный стрим 12 августа</p><p>Я перестал писать Ansible-плейбуки руками. Вообще. Вместо этого у меня работает AI-агент, который знает лучшие паттерны, понимает мою инфраструктуру и сам пишет роли, модули, соединяет их и поднимает всё необходимое. Недавно он за вечер собрал связку Terraform + Ansible на новом сервере — и справился лучше, чем я ожидал.</p><p>На стриме покажу, как это устроено изнутри:</p><p>🔧 <strong>Архитектура AI-агента для Ansible:</strong> база знаний, инструментарий, что дёргать и как дёргать<br>📜 <strong>Как агент пишет роли и модули:</strong> промпты, валидация, итеративное исправление ошибок<br>🖥 <strong>Живой пример:</strong> поднимем инфраструктуру с нуля руками агента — в реальном времени<br>💡 <strong>Границы применимости:</strong> что агент делает хорошо, а что пока лучше делать самому</p><p><strong>Андрей Чуян</strong> — основатель DebugSkills, автор AI-агента для работы с Ansible, спикер лабораторных по AI-оркестрации и Kubernetes.</p><p>📅 <strong>12.08.2026, 19:00 (МСК)</strong><br>📡 <strong>ktalk</strong><br>⏱️ <strong>45 мин контент + 15 мин Q&amp;A</strong></p><p>&gt; «Я ушёл из рутины, делегировал Ansible AI-агенту, который занимается этим.» — Андрей Чуян, из диалога с участником на лекции Jenkins</p><p>Это не вебинар и не лабораторная. Это живой разговор о том, как AI меняет работу DevOps-инженера уже сегодня. Без продаж, без подписок — просто приходите и смотрите.</p><p>Ссылка на регистрацию: <a href="https://debug-skills.timepad.ru/event/4127747/" rel="noopener noreferrer nofollow">https://debug-skills.timepad.ru/event/4127747/</a></p><p>Жду вас! 🤖</p> <a href="https://habr.com/ru/posts/1067094/?utm_campaign=1067094&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 05 Aug 2026 13:30:27 GMT</pubDate>
    <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[ansible]]></category><category><![CDATA[ai]]></category><category><![CDATA[llm]]></category><category><![CDATA[terraform]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Open source (+4) — 04.08.2026 18:04]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1066614/</guid>
    <link>https://habr.com/ru/posts/1066614/?utm_campaign=1066614&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><a href="https://github.com/pg83/shitty/releases" rel="noopener noreferrer nofollow">Представлен</a> первый релиз эмулятора терминала под необычным названием <a href="https://github.com/pg83/shitty" rel="noopener noreferrer nofollow">Shitty</a>. Автор проекта считает его «серьёзным эмулятором терминала с&nbsp;глупым названием». Код решения написан с помощью ИИ-ассистента на C++23 (сbundled libstd, требующей -std=c++26) и <a href="https://github.com/pg83/shitty/" rel="noopener noreferrer nofollow">распространяется</a> под двойной лицензией MIT и GPL-3.0. Поддерживаются macOS и Linux. </p><p>Проект делает ставку на&nbsp;обеспечение низких задержек,&nbsp;быстрого запуска и предсказуемого потребления ресурсов: состояние терминала обрабатывается на&nbsp;CPU, а&nbsp;отрисовка выполняется через бэкенды на&nbsp;базе Vulkan в&nbsp;Linux и Metal в&nbsp;macOS, без&nbsp;использования стороннего графического тулкита. При&nbsp;тестировании производительности вывод 100&nbsp;МБ ASCII через терминал Shitty показывает ~118&nbsp;МБ/с, обгоняя alacritty (0.81&nbsp;с&nbsp;против 0.96&nbsp;секунд), kitty и ghostty. На «случайных байтах» с&nbsp;некорректным UTF-8&nbsp;отрыв от&nbsp;alacritty ещё заметнее (~51&nbsp;МБ/с против ~31&nbsp;МБ/с). Корректность работы Shitty обеспечивается более чем 5000&nbsp;тестами, собранными из&nbsp;десятка с&nbsp;лишним внешних наборов&nbsp;— kitty, esctest, vttests из&nbsp;xterm, vttest, tack, libvterm, libtsm, alacritty, ghostty, contour, konsole, mosh. Тесты выполняются с&nbsp;проверкой работы на&nbsp;реальном PTY. </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/650/210/677/650210677ade3ca0f28ea2d055960bd9.png" width="709" height="752"></figure> <a href="https://habr.com/ru/posts/1066614/?utm_campaign=1066614&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 04 Aug 2026 15:04:19 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[Shitty]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @runity — Блог компании Рунити (+4) — 03.08.2026 14:54]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/runity/posts/1066068/</guid>
    <link>https://habr.com/ru/companies/runity/posts/1066068/?utm_campaign=1066068&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Первые шаги на сервере: что быстрее освоить — консоль или ispmanager</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/bda/5a3/6a2/bda5a36a23d998e9662e3b231f0f85c8.png" width="1694" height="929"></figure><p>У новичка на сервере обычно два пути: открыть панель управления в браузере или подключиться по SSH и разбираться с командами. Панель дает готовые формы под типовые операции, консоль — прямой доступ к системе. Освоить панель получится быстрее, но Linux под ней никуда не денется.</p><p>В статье сравнили оба подхода по сильным и слабым сторонам, разобрали сценарии для разработчика, владельца сайта и системного администратора и собрали минимум знаний Linux, который понадобится даже при работе через панель.</p><p>Подробности — в<a href="https://reg.cloud/blog/pervye-shagi-na-servere-chto-bystree-osvoit-konsol-ili-ispmanager/?utm_source=habr&amp;utm_medium=posthabr&amp;utm_campaign=habr" rel="noopener noreferrer nofollow"> блоге Рег.облака</a>.</p> <a href="https://habr.com/ru/posts/1066068/?utm_campaign=1066068&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 03 Aug 2026 11:54:53 GMT</pubDate>
    <dc:creator><![CDATA[runity (Рунити)]]></dc:creator>
      
      <category><![CDATA[рег.облако]]></category><category><![CDATA[ispmanager]]></category><category><![CDATA[ssh]]></category><category><![CDATA[linux]]></category><category><![CDATA[vps]]></category><category><![CDATA[администрирование серверов]]></category><category><![CDATA[командная строка]]></category><category><![CDATA[панель управления]]></category><category><![CDATA[виртуальный сервер]]></category><category><![CDATA[разработка]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @VladislavKalinkin — Rust (+4) — 03.08.2026 09:21]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1065890/</guid>
    <link>https://habr.com/ru/posts/1065890/?utm_campaign=1065890&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Друзья, я просто обязан сказать огромное спасибо всему сообществу Хабра за вашу поддержку и активность под статьей о моем проекте Kakehashi!</p><p>Вдохновившись вашими отзывами, вчера вечером я опубликовал проект на Hacker News. Результат превзошел все ожидания: прямо сейчас тред держит&nbsp;<strong>204 поинта</strong>, а репозиторий набрал&nbsp;<strong>более 220 звезд на GitHub</strong>.</p><p>Проект попал в радар к хардкорным системщикам со всего мира. Среди тех, кто дал звезду, оказались инженеры из команд&nbsp;<strong>Cursor, Fly.io, Astro</strong>, создатель пакетного менеджера&nbsp;<strong>Pixi</strong>, разработчик <strong>Redox OS</strong>&nbsp;и в дискуссии на HN был легендарный автор утилиты Cydia&nbsp;<strong>@saurik</strong>.</p><p>Но мне особенно приятно и дорого то, что самый первый импульс, первые звезды и конструктивный фидбэк проект получил именно здесь. Вы дали Kakehashi тот самый стартовый заряд, благодаря которому он смог громко заявить о себе на международной арене.</p><p>Огромное вам спасибо!&nbsp;</p><p>P.S. Хотел опубликовать в хаб «Я пиарюсь», но интерфейс не пропустил из-за нехватки кармы (нужно 30). Поэтому публикую в профильные хабы как апдейт к прошлой статье. Надеюсь на понимание!</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/333/9e1/c5c/3339e1c5cb35c7cc742a25c4193e8b0d.png" alt="Спасибо всем!" title="Спасибо всем!" width="2880" height="1414"><div><figcaption>Спасибо всем!</figcaption></div></figure><p>Проект: <a href="https://github.com/wie-project/kakehashi" rel="noopener noreferrer nofollow">https://github.com/wie-project/kakehashi</a></p><p>Статья на Хабре: <a href="https://habr.com/ru/articles/1065502/" rel="noopener noreferrer nofollow">https://habr.com/ru/articles/1065502/</a></p><p>Пост на Hacker News: <a href="https://news.ycombinator.com/item?id=49145937" rel="noopener noreferrer nofollow">https://news.ycombinator.com/item?id=49145937</a></p> <a href="https://habr.com/ru/posts/1065890/?utm_campaign=1065890&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 03 Aug 2026 06:21:06 GMT</pubDate>
    <dc:creator><![CDATA[VladislavKalinkin]]></dc:creator>
      
      <category><![CDATA[rust]]></category><category><![CDATA[macos]]></category><category><![CDATA[linux]]></category><category><![CDATA[компиляторы]]></category><category><![CDATA[darling]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @SestrichkinK — Системное администрирование (+4) — 02.08.2026 13:14]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1065740/</guid>
    <link>https://habr.com/ru/posts/1065740/?utm_campaign=1065740&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Антипаттерн при работе с VPS: почему не стоит постоянно работать под root</strong>?<br>Работать под root на VPS удобно: перед командами не нужно вводить sudo. Но ошибка может затронуть весь сервер, а безопасность VPS требует разделять обычные и административные действия.  </p><p><strong>Почему работа под root удобна и опасна? </strong>В Unix доступ к файлам и управление процессами зависят от пользователя и его групп. Root может изменять системные файлы, управлять службами, пакетами и сетью. При постоянной работе под root ошибка в команде способна затронуть системные файлы и службы. Опечатка в пути команды удаления или ошибка в скрипте, запущенном от root, может стереть системные файлы, изменить права на каталоги и остановить сервисы. При запуске от обычного пользователя ущерб чаще ограничен его правами. Украденный ключ, разрешающий вход под root, или пароль этой учётной записи сразу дают административные права. Ключ обычного пользователя даёт доступ только с его правами. Получение root-прав зависит от настроек sudo, пароля, уязвимостей и ошибок конфигурации.</p><p><strong>Как правильно: отдельный пользователь и sudo</strong>.</p><p>В Ubuntu или Debian создайте пользователя и добавьте его в группу sudo:</p><pre><code>adduser operator
 usermod -aG sudo operator</code></pre><p>Добавьте публичный ключ в файл .ssh/authorized_keys в домашнем каталоге нового пользователя и проверьте вход по SSH. Затем задайте параметр в</p><pre><code>/etc/ssh/sshd_config:
PermitRootLogin no</code></pre><p>Проверьте конфигурацию и примените изменения без разрыва текущих подключений:  </p><pre><code>sshd -t &amp;&amp; systemctl reload ssh</code></pre><p><strong>Мини-чек-лист безопасного старта на VPS</strong></p><p>•&nbsp; &nbsp; &nbsp; &nbsp; Отдельный пользователь создан, команды запускаются через sudo.</p><p>•&nbsp; &nbsp; &nbsp; &nbsp; Публичный ключ добавлен, приватный защищён парольной фразой.</p><p>•&nbsp; &nbsp; &nbsp; &nbsp; Вход по SSH под root отключён.</p><p>•&nbsp; &nbsp; &nbsp; &nbsp; Обновления системы устанавливаются регулярно.</p><p>Проверьте настройки доступа к VPS: создайте отдельного пользователя с sudo, протестируйте вход по SSH и только после этого отключите вход под root.</p> <a href="https://habr.com/ru/posts/1065740/?utm_campaign=1065740&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 02 Aug 2026 10:14:41 GMT</pubDate>
    <dc:creator><![CDATA[SestrichkinK]]></dc:creator>
      
      <category><![CDATA[vps-сервер]]></category><category><![CDATA[root]]></category><category><![CDATA[linux]]></category><category><![CDATA[sudo]]></category><category><![CDATA[ssh]]></category><category><![CDATA[системное администрирование]]></category><category><![CDATA[принцип наименьших привилегий]]></category><category><![CDATA[защита сервера]]></category><category><![CDATA[безопасность linux]]></category><category><![CDATA[настройка vps]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @andrey_chuyan — Linux (+2) — 31.07.2026 15:21]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1065360/</guid>
    <link>https://habr.com/ru/posts/1065360/?utm_campaign=1065360&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/110/33e/071/11033e071b6f69726d70fee64281ff92.jpg" width="1333" height="749"></figure><p>🔥 <strong>Основы FastAPI: собираем сервис «прочитать позже»</strong></p><p>У каждого есть свалка ссылок «прочитаю потом»: 40 вкладок, сохранёнки в Telegram, закладки с 2022 года. Проблема не в том, что нечего читать, — а в том, что всё это невозможно найти и разгрести.</p><p>Решим по-инженерному: напишем свой Read-Later сервис и с нуля освоим FastAPI.</p><p><strong>6 августа, 19:00–20:30 МСК</strong> — бесплатный воркшоп с Ольгой Пичужкиной, Middle Python Developer (S-Cats).</p><p>За 1.5 часа:<br>⚡️ Поймёте, что такое FastAPI и почему он удобен<br>🧱 Опишете модель данных (SQLAlchemy + Pydantic)<br>🔁 Напишете полный CRUD<br>🔍 Научитесь фильтровать через query-параметры<br>📄 Получите Swagger UI бесплатно<br>🌐 Подключите простой фронтенд</p><p>Для кого: знаете Python, но ещё не писали API.</p><p>🛠 <strong>Куда дальше — дорожная карта:</strong> FastAPI — не просто фреймворк. На нём построен наш MCP Knowledge Server (Qdrant + семантический поиск) — ядро AI-ассистента сообщества, который «помнит» всё изученное. </p><p><strong>Цепочка:</strong> 🐳 Docker (25.07) → 🐍 FastAPI (06.08) → 🧠 MCP Knowledge Server (сентябрь). В сентябре — отдельный воркшоп: поднимем такой сервер вместе.</p><p>📖 Pre-read: за 3 дня до воркшопа — инструкция по установке uv и Python.</p><p>🔗 <strong>Подробнее:</strong> <a href="https://debugskills.ru/content?article=labs-fastapi-workshop" rel="noopener noreferrer nofollow">https://debugskills.ru/content?article=labs-fastapi-workshop</a></p><p>#DebugSkills #FastAPI #Python #Backend</p> <a href="https://habr.com/ru/posts/1065360/?utm_campaign=1065360&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 31 Jul 2026 12:21:39 GMT</pubDate>
    <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[fastapi]]></category><category><![CDATA[backend]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1065018/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1065018/?utm_campaign=1065018&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Что прокачать системному администратору для профессионально роста</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/cb9/97e/b2f/cb997eb2f8c5d4ce4658e03727968078.jpg" width="1800" height="980"></figure><p>31 июля — День системного администратора, поздравляем с профессиональным праздником всех причастных! И это хороший повод ненадолго отложить чужие заявки и подумать о собственном развитии.</p><p>Профессия давно вышла за пределы настройки серверов и учетных записей. Современному админу приходится работать с контейнерами, автоматизацией, наблюдаемостью и безопасностью. Здесь собрали несколько бесплатных уроков для тех, кто хочет увереннее решать текущие задачи или двигаться в сторону DevOps, SRE и DevSecOps.</p><p>↓ Заглянуть под капот Linux<br><sup>Когда проблема находится ниже уровня сервисов и конфигов, полезно понимать, что происходит внутри системы.</sup></p><blockquote><p><strong>«Что такое модуль ядра. Как его написать, собрать, запустить»</strong><br><strong>3 августа в 20:00</strong><br>За один вечер можно пройти путь от исходного кода до загрузки собственного модуля и перестать воспринимать ядро Linux как полностью закрытый черный ящик. <a href="https://otus.pw/XVr7/" rel="noopener noreferrer nofollow">Записаться</a></p></blockquote><p>↓ Быстрее находить причины сбоев<br><sup>Обычный мониторинг сообщает, что&nbsp;сервису плохо. Наблюдаемость помогает понять, где именно все пошло не&nbsp;так.</sup></p><blockquote><p><strong>«OpenTelemetry — наблюдаемость на блюдечке»</strong><br><strong>4 августа в 20:00</strong><br>Метрики, логи и трассировки пригодятся, когда один запрос проходит через несколько сервисов, а источник задержки или ошибки не лежит на поверхности. <a href="https://otus.pw/RWkn/" rel="noopener noreferrer nofollow">Записаться</a></p></blockquote><p>↓ Сделать деплой предсказуемым<br><sup>Если выпуск новой версии зависит от набора ручных команд и памяти конкретного сотрудника, процесс пора автоматизировать.</sup></p><blockquote><p><strong>«Kubernetes + CI/CD + GitOps — делаем стабильный деплой без выхода из кластера»</strong><br><strong>10 августа в 20:00</strong><br>Полезно тем, кто хочет хранить состояние инфраструктуры в Git, контролировать изменения и откатываться без ночной археологии в терминале. <a href="https://otus.pw/9EZs/" rel="noopener noreferrer nofollow">Записаться</a></p></blockquote><p>↓ Перестать искать логи по серверам вручную<br><sup>Чем больше машин и контейнеров, тем меньше хочется подключаться к каждому из них ради одной строки.</sup></p><blockquote><p><strong>«Системы логирования: ELK, EFK или Graylog?»</strong><br><strong>17 августа в 20:00</strong><br>Возможность сопоставить популярные стеки и понять, какой из них лучше подходит под конкретную инфраструктуру, объем данных и доступные ресурсы. <a href="https://otus.pw/RJXT/" rel="noopener noreferrer nofollow">Записаться</a></p></blockquote><p>↓ Подготовиться к сбою до сбоя<br><sup>Единственная точка отказа обычно не беспокоит ровно до того момента, пока не откажет.</sup></p><blockquote><p><strong>«Готовим инфраструктуру к сбоям: отказоустойчивый кластер на базе VRRP и HAProxy»</strong><br><strong>18 августа в 19:00</strong></p><p>Практика для тех, кому нужно автоматическое переключение между узлами, балансировка нагрузки и меньше ручных действий во время аварии. <a href="https://otus.pw/jqnB/" rel="noopener noreferrer nofollow">Записаться</a></p></blockquote><p><em>А для тех, кто предпочитает закрывать пробелы в своем темпе, мы собрали целый </em><a href="https://otus.pw/7okR/" rel="noopener noreferrer nofollow"><em>дайджест, посвященный инфраструктуре.</em></a></p> <a href="https://habr.com/ru/posts/1065018/?utm_campaign=1065018&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 31 Jul 2026 07:25:47 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[системное администрирование]]></category><category><![CDATA[Linux]]></category><category><![CDATA[ядро Linux]]></category><category><![CDATA[OpenTelemetry]]></category><category><![CDATA[наблюдаемость]]></category><category><![CDATA[Kubernetes]]></category><category><![CDATA[GitOps]]></category><category><![CDATA[централизованное логирование]]></category><category><![CDATA[DevSecOps]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @SestrichkinK — Linux (+1) — 29.07.2026 17:28]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1064560/</guid>
    <link>https://habr.com/ru/posts/1064560/?utm_campaign=1064560&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>CPU steal time: как измерить, как доказать и когда он ни при чём.</strong> В логах пусто, загрузка процессора умеренная, а приложение отвечает вдвое медленнее обычного. Один из кандидатов на объяснение — steal time: время, когда виртуальная машина была готова считать, но не получила физическое ядро.</p><p>Метрика простая на вид и очень легко используется неправильно. Ниже — как она устроена, как снять её так, чтобы результат что-то значил, и почему высокий steal сам по себе ещё не диагноз.</p><p><strong>Как steal вообще появляется</strong> Гипервизор раздаёт физические ядра между виртуальными машинами. Когда планировщик гостевого ядра ставит задачу на vCPU, а гипервизор в этот момент отдал физическое ядро другой машине, гостевое ядро видит, что время прошло, а работа не выполнялась. Эта разница и учитывается как steal.</p><p>Отсюда важное следствие: steal измеряется изнутри гостя и всегда является косвенной оценкой. Гость не знает, почему ему не дали ядро. Причин минимум четыре:</p><ul><li><p>конкуренция с соседними VM на ноде; </p></li><li><p>ограничение по CPU на уровне тарифа (квота), которое гипервизор применяет к вам; </p></li><li><p>накладные расходы самого планировщика гипервизора; </p></li><li><p>кратковременные всплески — миграция VM, резервное копирование ноды, обслуживание.</p></li></ul><p><strong>Где steal не виден вообще?</strong> Если у вас контейнерная виртуализация (lxc, openvz), steal time не появится никогда — механизма для него нет, ядро общее с хостом. Проверить:</p><pre><code>systemd-detect-virt</code></pre><p>Аналог steal для контейнеров — троттлинг по cgroup:</p><pre><code>grep -E 'nr_throttled|throttled_usec' /sys/fs/cgroup/cpu.stat
cat /sys/fs/cgroup/cpu.max</code></pre><p>Растущий nr_throttled означает, что вы выбираете свою квоту. Это не соседи и не оверселлинг — это ваш лимит, и решается он либо оптимизацией, либо тарифом.  </p><p><strong>Какие значения считать нормой. </strong>Универсальной нормы нет — она зависит от платформы виртуализации, политики провайдера и тарифа. Практические ориентиры, которые у меня обычно работают:</p><ul><li><p><strong>0–1%</strong> — фон, встречается почти везде, игнорируем.</p></li><li><p><strong>3–5%</strong> — повод посмотреть динамику и сопоставить с задержками приложения. Само по себе не проблема.</p></li><li><p><strong>выше 10% устойчиво</strong> — заметно влияет на латентно-чувствительные сервисы: API, realtime, базы под нагрузкой. Пакетную обработку может почти не задевать.</p></li></ul><p>Ключевое слово — <strong>устойчиво</strong>. Смотрите значение за 10–15 минут, а не пиковый выброс. Разовый скачок до 30% на две секунды не значит ничего.</p><p><strong>Как отличить соседей от собственной квоты. </strong>Единственный надёжный способ — сопоставить steal с вашей нагрузкой.</p><p>Постройте два ряда за сутки: steal и ваш собственный CPU usage (us + sy). Дальше:</p><ul><li><p>Steal растёт <strong>вместе</strong> с вашей нагрузкой и падает вместе с ней — почти наверняка вы упираетесь в квоту тарифа. Провайдер тут ни при чём.</p></li><li><p>Steal приходит <strong>независимо</strong> от вашей активности, в том числе ночью при простое, — это внешняя конкуренция.</p></li><li><p>Steal ровным фоном 2–3% круглосуточно — накладные расходы платформы, обычно нормально.</p></li></ul><p>Без исторических данных этот анализ невозможен, поэтому sysstat стоит поставить заранее, а не в момент инцидента.</p><p><strong>Что передавать в поддержку?</strong> Обращение вида «у меня высокий steal» почти всегда возвращается с просьбой уточнить. Работает такой набор:</p><ul><li><p>вывод sar -u 1 600 или график за несколько часов;</p></li><li><p>mpstat -P ALL 1 за минуту — с разбивкой по ядрам;</p></li><li><p>ваша собственная загрузка CPU за тот же период, чтобы показать отсутствие корреляции;</p></li><li><p>конкретные временные метки, когда приложение деградировало;</p></li><li><p>systemd-detect-virt и параметры тарифа.</p></li></ul><p>Что не поможет</p><ul><li><p><strong>Оптимизация кода.</strong> Если ядро вам не выдают, эффективность вашего кода на steal не влияет.</p></li><li><p><strong>Добавление vCPU.</strong> Иногда даже ухудшает: больше vCPU — больше конкуренции за планирование, особенно на переподписанной ноде.</p></li><li><p><strong>Перезагрузка.</strong> Помогает только если приводит к переезду на другую ноду, и это лотерея.</p></li></ul><p><strong>Чек-лист</strong></p><pre><code>systemd-detect-virt                          # есть ли steal в принципе
vmstat 1                                     # характер: плато или выбросы
mpstat -P ALL 1                              # распределение по ядрам
sar -u 1 600                                 # устойчивость за 10 минут
grep throttled /sys/fs/cgroup/cpu.stat       # для контейн</code></pre> <a href="https://habr.com/ru/posts/1064560/?utm_campaign=1064560&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 29 Jul 2026 14:28:10 GMT</pubDate>
    <dc:creator><![CDATA[SestrichkinK]]></dc:creator>
      
      <category><![CDATA[cpu]]></category><category><![CDATA[linux]]></category><category><![CDATA[виртуализация]]></category><category><![CDATA[гипервизор]]></category><category><![CDATA[vcpu]]></category><category><![CDATA[vmstat]]></category><category><![CDATA[sysstat]]></category><category><![CDATA[cgroups]]></category><category><![CDATA[сервер]]></category><category><![CDATA[производительность]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1063860/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1063860/?utm_campaign=1063860&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Где ломается инфраструктура: 13&nbsp;открытых уроков для&nbsp;системных администраторов</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/f32/cd3/3ff/f32cd33ff272d439b336fee406b5ccd1.png" width="1800" height="980"></figure><p>Когда инфраструктура работает стабильно, кажется, что&nbsp;всё под&nbsp;контролем. Но&nbsp;один сбой&nbsp;быстро показывает слабые места: сеть уходит в&nbsp;шторм, кластер не&nbsp;выдерживает отказа, журналы не&nbsp;помогают найти причину, а&nbsp;автоматизация только добавляет ручной работы.</p><p>На этих&nbsp;открытых уроках разберём, как&nbsp;диагностировать такие проблемы, настраивать Linux, сети, наблюдаемость и отказоустойчивость, чтобы&nbsp;быстрее находить источник сбоя и выстраивать инфраструктуру, которая предсказуемо работает под&nbsp;нагрузкой.</p><p><strong>Сети, хранение данных и отказоустойчивость</strong></p><ul><li><p>30 июля в 20:00. «Восстанавливаем RAID5 в Linux». <a href="https://otus.pw/Cluha/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>3 августа в 20:00. «MPLS для корпоративных сетей: мифы, реальность и практика». <a href="https://otus.pw/tTm9/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>18 августа в 19:00. «Готовим инфраструктуру к сбоям: отказоустойчивый кластер на базе VRRP и HAProxy». <a href="https://otus.pw/ofiF/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>24 августа в 20:00. «Защита от петель L2: что выбрать, если STP уже не устраивает». <a href="https://otus.pw/3VP8/" rel="noopener noreferrer nofollow">Записаться</a></p></li></ul><p><strong>Linux и системное программирование</strong></p><ul><li><p>3 августа в 20:00. «Что такое модуль ядра. Как его написать, собрать, запустить». <a href="https://otus.pw/mU3c/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>10 августа в 20:00. «Вход в ядро: системные вызовы и граница между user space и kernel space».<a href="https://otus.pw/ODOx/" rel="noopener noreferrer nofollow"> Записаться</a></p></li><li><p>20 августа в 20:00. «Средства защиты в ядре Linux». <a href="https://otus.pw/WFDO/" rel="noopener noreferrer nofollow">Записаться</a></p></li></ul><p><strong>Kubernetes и автоматизация инфраструктуры</strong></p><ul><li><p>10 августа в 20:00. «Kubernetes + CI/CD + GitOps — делаем стабильный деплой без выхода из кластера». <a href="https://otus.pw/jWZ1/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>13 августа в 20:00. «Принцип DRY в GitLab CI: как избавиться от дублирования и навести порядок в пайплайнах». <a href="https://otus.pw/HWOe/" rel="noopener noreferrer nofollow">Записаться</a></p></li></ul><p><strong>Наблюдаемость и логирование</strong></p><ul><li><p>4 августа в 20:00. «OpenTelemetry — наблюдаемость на блюдечке». <a href="https://otus.pw/t3MP/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>17 августа в 20:00. «Системы логирования: ELK, EFK или Graylog?». <a href="https://otus.pw/Pvtc/" rel="noopener noreferrer nofollow">Записаться</a></p></li></ul><p><strong>Безопасность инфраструктуры</strong></p><ul><li><p>3 августа в 20:00. «Какие результаты должен давать DevSecOps-проект бизнесу и команде». <a href="https://otus.pw/trGl/" rel="noopener noreferrer nofollow">Записаться</a></p></li><li><p>18 августа в 20:00. «Безопасный релиз на практике: SAST, SCA, контейнеры и security gates». <a href="https://otus.pw/s3CW/" rel="noopener noreferrer nofollow">Записаться</a></p></li></ul><p><em>Все занятия бесплатные. Можно задать вопросы преподавателю, сверить настройки и понять, какой инфраструктурный пробел стоит закрыть следующим.</em></p><p><strong>ЧТО ПОЧИТАТЬ ПО ТЕМЕ</strong></p><ul><li><p><a href="https://habr.com/ru/companies/otus/articles/1047406/" rel="noopener noreferrer nofollow">«История о том, как мультикаст IGMP-запрос перестал быть запросом и стал broadcast-штормом»</a><br><sub>Разбор сбоя сетевых карт Intel X710: как найти причину по логам, проверить драйвер и прошивку и вернуть мультикаст в рабочее состояние.</sub></p></li><li><p><a href="https://habr.com/ru/companies/otus/articles/1051082/" rel="noopener noreferrer nofollow">«Ищем петли и шторма в L2-сети»</a><br><sub>Практический материал о поиске сетевых петель, MAC flapping, диагностике проблемного порта и защите сети от повторного коллапса.</sub></p></li><li><p><a href="https://habr.com/ru/companies/otus/articles/1048516/" rel="noopener noreferrer nofollow">«4 антипаттерна CI-автоматизации, из-за которых команда делает работу за ботов»</a><br><sub>О том, почему автоматические напоминания только создают новые ручные задачи и как перенести в конвейер само выполнение рутинных действий.</sub></p></li><li><p><a href="https://habr.com/ru/companies/otus/articles/1039572/" rel="noopener noreferrer nofollow">«От capabilities к AppArmor: что реально остановит атакующего в контейнере»</a><br><sub>Разбор многоуровневой защиты контейнера с помощью capabilities, seccomp и AppArmor: какие угрозы закрывает каждый механизм и где остаются пробелы.</sub></p></li></ul><blockquote><p>Больше открытых уроков, статей и материалов по Kubernetes, сетям, Linux, наблюдаемости и безопасности инфраструктуры — в<a href="https://habr.com/ru/companies/otus/articles/1061010/" rel="noopener noreferrer nofollow"> полном дайджесте</a>.</p></blockquote> <a href="https://habr.com/ru/posts/1063860/?utm_campaign=1063860&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 29 Jul 2026 07:50:58 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[системное администрирование]]></category><category><![CDATA[Linux]]></category><category><![CDATA[компьютерные сети]]></category><category><![CDATA[отказоустойчивость]]></category><category><![CDATA[Kubernetes]]></category><category><![CDATA[мониторинг]]></category><category><![CDATA[логирование]]></category><category><![CDATA[GitLab CI]]></category><category><![CDATA[информационная безопасность]]></category><category><![CDATA[инфраструктура]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @andrey_chuyan — DevOps (+2) — 27.07.2026 15:39]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1063544/</guid>
    <link>https://habr.com/ru/posts/1063544/?utm_campaign=1063544&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/94e/2d2/c47/94e2d2c47cdf4bc380d35ced739ccd59.jpg" width="1024" height="1024"></figure><p><strong>🏕️ Ваши друзья не понимают, зачем идти в лес с IT-шниками.</strong></p><p>Саша планирует поехать на DebugCamp в сентябре. Это наш регулярный выезд на природу на 20 человек — проводим 2 раза в год. Саша написал нам честно: «Зову всех, но в кругу нет кто согласился».</p><p>Знакомо?</p><p>Когда вы говорите «пойду в лес с айтишниками на два дня», люди слышат «пойду спать в палатке с коллегами без связи». Картинка в голове - выживание, а не осмысленный выезд.</p><p>На самом деле <strong>DebugCamp - это два дня с понятной программой</strong>. За 48 часов вы:</p><p>- Формулируете <strong>личный запрос</strong> (карьерный, технический, продуктовый)</p><p>- <strong>Получаете идеи</strong> от 10+ коллег — не small-talk, а разбор рабочих задач: приносите свою — группа помогает найти решение</p><p>- Проходите <strong>квест-ориентирование</strong> «Тропа Выживания» с инструктором</p><p>- Участвуете в вечернем <strong>разборе карьерных вопросов</strong> в кругу коллег у костра</p><p>Это не «отдохнуть от дедлайнов». Это возможность посмотреть на свою работу и карьеру со стороны - с теми, кто говорит на вашем языке.</p><p>Сомневаться - нормально. Вы не один такой.</p><p>Если хоть раз думали «а почему бы и нет» - программа <a href="https://debugskills.ru/content?article=it-v-les&amp;utm_source=telegram&amp;utm_medium=post&amp;utm_campaign=debugcamp_sep2026&amp;utm_content=post1" rel="noopener noreferrer nofollow">здесь</a></p><p>#DebugCamp #DebugSkills #ITмероприятия #поход #нетворкинг</p> <a href="https://habr.com/ru/posts/1063544/?utm_campaign=1063544&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 27 Jul 2026 12:39:41 GMT</pubDate>
    <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[ретриты]]></category><category><![CDATA[system analyst]]></category><category><![CDATA[backend]]></category><category><![CDATA[frontend]]></category><category><![CDATA[management]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Dertefter — Linux (+1) — 25.07.2026 12:59]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1062908/</guid>
    <link>https://habr.com/ru/posts/1062908/?utm_campaign=1062908&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Сделал небольшое расширение для GNOME</p><iframe id="6a6488acb1ed1c734ec28e4d" src="https://embedd.srv.habr.com/iframe/6a6488acb1ed1c734ec28e4d" class="embed_video embed__content" allowfullscreen="true"></iframe><p>Всё, что оно делает - показывает текст текущей песни в верхней панели. Тексты песен извлекаются с помощью&nbsp;<a href="http://lrclib.net" rel="noopener noreferrer nofollow">lrclib.net</a>. <br>Также есть небольшое меню настроечек, текст можно переместить в левый или правый угол панели.<br>Тестировал его на Fedora 44 Workstation, GNOME 50. Вроде работает.<br>Публиковать его я не хочу, мне лень этим заниматься. Но если кто-то хочет потестить - оно валяется на&nbsp;<a href="https://github.com/dertefter/The-Lyrics" rel="noopener noreferrer nofollow">github</a></p> <a href="https://habr.com/ru/posts/1062908/?utm_campaign=1062908&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 25 Jul 2026 09:59:41 GMT</pubDate>
    <dc:creator><![CDATA[Dertefter]]></dc:creator>
      
      <category><![CDATA[gnome]]></category><category><![CDATA[gnome-shell]]></category><category><![CDATA[linux]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @yar3333 — Linux (+2) — 19.07.2026 20:30]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1060682/</guid>
    <link>https://habr.com/ru/posts/1060682/?utm_campaign=1060682&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/da0/76e/4c4/da076e4c4df298e93677791624f04826.png" width="1914" height="944"></figure><p>Навайбкодил небольшое веб-приложение для управления ИИ-сервером под Ubuntu. Управляем произвольными systemd-сервисами, добавляем новые + спец. диалог для добавления llama-server как сервиса. Возможно, кому-то пригодится: <a href="https://github.com/yar3333/aiservermanager" rel="noopener noreferrer nofollow">aiservermanager</a>.</p> <a href="https://habr.com/ru/posts/1060682/?utm_campaign=1060682&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 19 Jul 2026 17:30:09 GMT</pubDate>
    <dc:creator><![CDATA[yar3333]]></dc:creator>
      
      <category><![CDATA[сервисы]]></category><category><![CDATA[ии]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Старое железо (+4) — 19.07.2026 19:17]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1060674/</guid>
    <link>https://habr.com/ru/posts/1060674/?utm_campaign=1060674&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Энтузиаст электроники и ПК под ником Uwoslab <a href="https://www.tomshardware.com/desktops/pc-building/crazed-enthusiast-runs-pc-on-192-aa-batteries-successfully-boots-into-hannah-montana-linux-system-is-stable-during-stress-testing-and-even-plays-freedoom" rel="noopener noreferrer nofollow">собрал</a> внешнюю «батарею» из 192 обычных пальчиковых батареек AA (высокотоковые щелочные Pookell) и заставил на ней работать ПК без подключения к сети, без штатного блока питания.</p><p>В начале проекта Uwoslab запланировал использовать 400 батареек: закупил четыре упаковки по сотне и 50 групп по восемь элементов. В процессе работы конструкция вышла проще. На всё ушло 192 батарейки. Энтузиаст распределил элементы по трём блокам, по 64 штуки в каждом. Ток от этой такой мегабатареи идёт напрямую в материнскую плату через переходник 12V DC-to-ATX.</p><p>По прикидкам Uwoslab, именно сборка из 400 таких батареек могла бы выдавать около 160 Вт на протяжении десяти часов. Характеристики ПК: система на сокете AM4 со встроенной графикой и без накопителя. ОС грузится прямо с флешки - Hannah Montana Linux на базе Debian.</p><p>На старте батарейный блок выдавал около 13 В, а под нагрузкой встроенного теста stress-ng, когда процессор загрузили на 98%, напряжение просело лишь до стабильных 11,95 вольта — ПК работал штатно. По остаточному заряду автор предположил, что она могла бы протянуть ещё пару часов, прежде чем напряжение упадёт слишком сильно. Также энтузиаст запустил на таком ПК FreeDoom.</p><iframe id="6a5cf7cf3b954272d3febc11" src="https://embedd.srv.habr.com/iframe/6a5cf7cf3b954272d3febc11" class="embed_video embed__content" allowfullscreen="true"></iframe> <a href="https://habr.com/ru/posts/1060674/?utm_campaign=1060674&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 19 Jul 2026 16:17:22 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[ПК]]></category><category><![CDATA[AA]]></category><category><![CDATA[батарейка]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Информационная безопасность (+4) — 19.07.2026 14:29]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1060628/</guid>
    <link>https://habr.com/ru/posts/1060628/?utm_campaign=1060628&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Адриан Мастронарди (занимается созданием и управлением инженерными организациями, стоящими за выпуском ПО) выпустил книгу под названием «<a href="https://www.half-second.com/" rel="noopener noreferrer nofollow">Полсекунды</a>». В ней подробно рассматривается попытка создания бэкдора в&nbsp;xz в 2024&nbsp;году. Книга распространяется бесплатно под (несвободной) некоммерческой&nbsp;лицензией CC, запрещающей создание производных работ.</p><p>Публикации про&nbsp;инцидент с&nbsp;xz на&nbsp;Хабре:</p><ul><li><p>«<a href="https://habr.com/ru/articles/958842/" rel="noopener noreferrer nofollow">Можно&nbsp;ли&nbsp;было обнаружить бэкдор xz при&nbsp;более продуманной работе с&nbsp;пакетами в&nbsp;Git и Debian?</a>»</p></li><li><p>«<a href="https://habr.com/ru/news/804163/" rel="noopener noreferrer nofollow">Бэкдор в&nbsp;xz нашли из‑за замедления работы sshd в&nbsp;полсекунды</a>».</p></li></ul><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/400/aca/7f5/400aca7f54cb554a1a8a2df27213d569.png" width="1138" height="759"></figure> <a href="https://habr.com/ru/posts/1060628/?utm_campaign=1060628&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 19 Jul 2026 11:29:44 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[xz]]></category><category><![CDATA[бэкдор]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @andrey_chuyan — DevOps (+2) — 06.07.2026 11:01]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1055916/</guid>
    <link>https://habr.com/ru/posts/1055916/?utm_campaign=1055916&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/252/290/27d/25229027daede5d523aaad433d73b44d.jpg" width="1328" height="753"></figure><p>🔥 <strong>Docker для начинающих: от «что это» до своего контейнера за 4 часа</strong></p><p>Docker используется везде: от локальной разработки до production. <strong>Фокус лабы — не на запоминании команд, а на понимании.</strong> Вы пройдёте путь от первого контейнера до настройки сетей и данных — своими руками. После лабы сможете уверенно обсуждать контейнеризацию с разработчиками, DevOps и архитекторами.</p><p><strong>25 июля, 10:00-14:00 МСК</strong> | Максим Тачков, Middle Developer (BIM), преподаватель Docker. По отзывам с прошлой лабы: экспертиза 9/10.</p><p><strong>5 блоков за 4 часа:</strong> (1) Основы Docker → (2) Сборка (Dockerfile) → (3) Управление (Compose, логи, мониторинг) → (4) Данные (volumes, bind mounts) → (5) Сети (Docker Network, DNS)</p><p><strong>За 4 часа вы:</strong></p><p>- 🐳 Освоите словарь Docker: image, container, volume, network, Dockerfile</p><p>- 🔧 Соберёте и запустите свой первый контейнер из Dockerfile</p><p>- 🛠 Научитесь управлять контейнерами через Docker Compose</p><p>- 📦 Настроите хранение данных через volumes и bind mounts</p><p>- 🌐 Настроите сетевое взаимодействие между контейнерами</p><p><strong>Для кого:</strong> Backend, frontend, fullstack разработчики, QA-инженеры, системные и бизнес-аналитики, архитекторы, технические менеджеры. Нужно: базовый CLI, понимание веб-приложений, VS Code.</p><p>🎬 <strong>Запись — 20%.</strong> Живая практика с ведущим, ответы на вопросы, разбор ошибок — только на лабораторной.</p><p>📖 <strong>Pre-read:</strong> за 3 дня до лабы высылаем шпаргалку по Docker-командам — подготовьтесь заранее и не теряйте темп.</p><p>🛠️ <strong>Makefile как «пульт управления»</strong> — одна команда = одно действие. Фокус на понимании, а не на синтаксисе CLI.</p><p>🚀 <strong>Дальнейший маршрут:</strong> Kubernetes → REST+OpenAPI → Keycloak → Kafka → Prometheus+Grafana.</p><p>🔗 <strong>Подробнее:</strong> <a href="https://debugskills.ru/content?article=labs-docker-basics" rel="noopener noreferrer nofollow">https://debugskills.ru/content?article=labs-docker-basics</a></p> <a href="https://habr.com/ru/posts/1055916/?utm_campaign=1055916&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 06 Jul 2026 08:01:43 GMT</pubDate>
    <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[docker]]></category><category><![CDATA[docker-compose]]></category><category><![CDATA[laboratory]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @andrey_chuyan — DevOps (+1) — 02.07.2026 16:53]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1054938/</guid>
    <link>https://habr.com/ru/posts/1054938/?utm_campaign=1054938&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/4f3/d97/a32/4f3d97a328afd5b34479f4a26983ecbe.jpg" width="1328" height="752"></figure><p>Вы пробовали ChatGPT и Cursor. Но система из нескольких AI-агентов — это другой уровень: агенты конфликтуют, теряют контекст, зацикливаются, а отладка напоминает расследование без улик.</p><p>🎻 Один AI = музыкант. Несколько AI = оркестр. А кто дирижёр?</p><p><strong>19 июля, 10:00-14:00 МСК</strong> — лабораторная работа с Андреем Чуяном, создателем ROLES-экосистемы (3 экосистемы, 15+ ролей). За 4 часа: проектирование AI-ролей с YAML-контрактами, 5 хаос-сценариев, MCP-сервер на личной VM, самодиагностика экосистемы.</p><p>📐 Проверенная методология FPF + TDD в основе каждого блока.</p><p>🔗 <strong>Подробное описание:</strong> <a href="https://debugskills.ru/content?article=labs-ai-orchestration%EF%BF%BC%F0%9F%A5%89" rel="noopener noreferrer nofollow">https://debugskills.ru/content?article=labs-ai-orchestration<br></a>Готовы спроектировать свою первую AI-экосистему? Приходите 19 июля! 🚀</p> <a href="https://habr.com/ru/posts/1054938/?utm_campaign=1054938&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 02 Jul 2026 13:53:08 GMT</pubDate>
    <dc:creator><![CDATA[andrey_chuyan]]></dc:creator>
      
      <category><![CDATA[llm]]></category><category><![CDATA[ai]]></category><category><![CDATA[labs]]></category><category><![CDATA[roocode]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Timeweb_Cloud — Блог компании Timeweb Cloud (+4) — 24.06.2026 14:53]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/posts/1051398/</guid>
    <link>https://habr.com/ru/companies/timeweb/posts/1051398/?utm_campaign=1051398&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/ea3/8e3/030/ea38e30304f58d6007b98aa6eba65e77.jpg" width="960" height="1280"></figure><p><strong>Обновили ядро Linux на всех Ryzen-серверах в Москве</strong></p><p>В копилку стабильности — и с конкретным обновлением под капотом.</p><p>Во время работы с высокопроизводительными серверами на Ryzen 7950X нашли причину редких зависаний нод. На старом ядре Ubuntu 22.04 эти процессоры могли работать нестабильно.</p><blockquote><p>Это могло обернуться внезапной недоступностью виртуальных машин, хотя с самими проектами все было в порядке.</p></blockquote><p>Чтобы устранить проблему, <strong>обновили ОС и ядро на всех Ryzen-серверах в московской локации. </strong></p><blockquote><p>Переезд выполнили поэтапно: сначала подняли резервные серверы, перенесли на них проекты и только потом приступили к обновлению основных хостов. Поэтому пользователи не столкнулись с простоем.</p></blockquote><p>Теперь гипервизоры работают на новом ядре, а риски возможных зависаний нод осталась в прошлом.</p><p>Если вам нужны мощные серверы в Москве, есть еще одна новость — расширили парк Ryzen 7950X, чтобы было больше доступных конфигураций под ваши проекты.</p> <a href="https://habr.com/ru/posts/1051398/?utm_campaign=1051398&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 24 Jun 2026 11:53:39 GMT</pubDate>
    <dc:creator><![CDATA[Timeweb_Cloud (Timeweb Cloud)]]></dc:creator>
      
      <category><![CDATA[timeweb_новости]]></category><category><![CDATA[linux]]></category><category><![CDATA[linux-сервер]]></category><category><![CDATA[хост]]></category><category><![CDATA[ryzen]]></category><category><![CDATA[ryzen 7950x]]></category><category><![CDATA[ubuntu]]></category><category><![CDATA[процессоры]]></category><category><![CDATA[amd]]></category><category><![CDATA[москва]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Granulex — Системное администрирование (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1048820/</guid>
    <link>https://habr.com/ru/posts/1048820/?utm_campaign=1048820&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/6d0/f7c/320/6d0f7c32011a28866ca604b678a85c8c.png" width="975" height="549"></figure><p><strong>Многодоменная архитектура: почему бэкап одного домена не восстанавливает сервис</strong></p><p>В инфраструктурных проектах иногда возникает идея разделить окружение на несколько доменов:</p><ul><li><p>пользователи – в одном контуре;</p></li><li><p>серверы и рабочие станции – в другом;</p></li><li><p>тестовая среда – в третьем.</p></li></ul><p>На схеме это выглядит логично: сегментация, изоляция ошибок, разные зоны ответственности, поэтапная миграция без шуму и пыли.</p><p>Но в эксплуатации важен не только вопрос «где лежит объект».</p><p>Важнее другое: какие зависимости связывают объекты между собой.</p><p>Многодоменная архитектура не опасна сама по себе. Проблема начинается тогда, когда её начинают восстанавливать как набор независимых доменов.</p><p><strong>Сценарий</strong></p><p>Пользователь – в домене A.<br>Рабочая станция – в домене B.<br>Группа доступа к приложению – в домене C.</p><p><strong>Цепочка доступа:</strong></p><p>учётная запись → группа → DNS → доверие между доменами (Kerberos) → права на сервере.</p><p>Каждый компонент по отдельности может выглядеть исправным:</p><p>KDC отвечает. LDAP-серверы доступны. DNS разрешает имена. Билеты выдаются. Группа существует. Пользователь в группе.</p><p>А доступ к приложению всё равно не работает.</p><p>Почему? Потому что сломался не отдельный объект, а связь между объектами.</p><p>Именно здесь обычная логика «объект изменился → нашли резервную копию → восстановили объект» перестаёт быть достаточной.</p><p>В многодоменной среде важно уметь восстановить не только объект, но и связность: группы, доверительные отношения между доменами, DNS SRV-записи, Kerberos-зависимости и порядок применения политик.</p><p><strong>Что стоит проверить заранее</strong></p><ul><li><p><strong>Основной источник данных</strong> – где создаются пользователи, где живут группы, какие домены участвуют в кросс-аутентификации.</p></li><li><p><strong>Карта доверительных отношений</strong> – какие домены доверяют друг другу, в каком направлении работает доверие и что произойдёт, если одно звено станет недоступным.</p></li><li><p><strong>Контур восстановления</strong> – какие домены можно восстанавливать отдельно, а какие требуют жёсткой последовательности: например, сначала восстановить домен A, проверить состояние доверия к B и только потом тестировать доступ.</p></li><li><p><strong>DNS и Kerberos</strong> – понимаем ли мы, как после восстановления домены находят друг друга? Не разъедутся ли ключи на сервисах и контроллерах, если восстановление идёт из старого снепшота? При откате может измениться KVNO в SPN-записях, и Kerberos-аутентификация для ресурсов сломается, хотя формально всё «зелёное».</p></li><li><p><strong>Сквозной тест доступа</strong> – проверяем не только доступность серверов, а весь путь: пользователь из одного домена должен получить доступ к ресурсу в другом.</p></li></ul><p><strong>Главный вывод</strong></p><p>Многодоменная архитектура – это не просто «удобно разделили контуры». Это более сложная эксплуатационная модель.</p><p>Если пользователи, ресурсы, группы и политики разнесены по разным доменам, план восстановления должен описывать всю цепочку, а не один объект.</p><p>Иначе гибкость на этапе проектирования превращается в непрозрачность при первой серьёзной аварии.</p><p>Коллеги, тестируете восстановление всей цепочки доступа или только каждый домен по отдельности?</p><p><strong>#Linux #Инфраструктура #Backup</strong></p><p>&nbsp;</p> <a href="https://habr.com/ru/posts/1048820/?utm_campaign=1048820&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 18 Jun 2026 05:20:34 GMT</pubDate>
    <dc:creator><![CDATA[Granulex]]></dc:creator>
      
      <category><![CDATA[Linux]]></category><category><![CDATA[LDAP]]></category><category><![CDATA[Kerberos]]></category><category><![CDATA[DNS]]></category><category><![CDATA[FreeIPA]]></category><category><![CDATA[ALD Pro]]></category><category><![CDATA[многодоменная архитектура]]></category><category><![CDATA[резервное копирование]]></category><category><![CDATA[восстановление доступа]]></category><category><![CDATA[IT-инфраструктура]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @yadro_team — Блог компании YADRO (+3) — 15.06.2026 15:07]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/yadro/posts/1047688/</guid>
    <link>https://habr.com/ru/companies/yadro/posts/1047688/?utm_campaign=1047688&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как разработать Linux-драйвер реального устройства для платформы RISC-V</strong></p><p>Если вы хотите лучше разобраться во внутреннем устройстве Linux и узнать, как его ядро взаимодействует с физическими устройствами, то приходите <a href="https://meetups.yadro.com/master-class-msk-0726/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=ysemi_2026&amp;utm_content=post_embedded_riscv_linux_driver_workshop&amp;utm_referrer=habr.com" rel="noopener noreferrer nofollow">на бесплатный офлайн мастер-класс YADRO</a>. Вместе пройдем полный цикл создания драйвера дисплея LCD1602 для VisionFive2: от теории до добавления новых функциональных элементов и запуске на одноплатнике.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/c06/f47/a99/c06f47a99b784850398ed73e8c4489a8.png" width="1248" height="652"></figure><p>Что будем делать:</p><ul><li><p>загрузим информацию о дисплее в ядро через Device Tree Overlay;</p></li><li><p>выведем текст на дисплей через драйвер Linux для embedded-систем;</p></li><li><p>считаем содержимое дисплея из ядра Linux и выведем в консоль;</p></li><li><p>научимся управлять подсветкой и курсором через интерфейсы Linux Kernel Driver;</p></li><li><p>займемся обработкой IRQ по нажатию кнопки;</p></li><li><p>разберем типичные ошибки при разработке Linux-драйверов.</p></li></ul><p>Мастер-класс проведет Никита Косырев, инженер-программист группы системного ПО в YADRO. Никита — энтузиаст embedded-систем и архитектуры RISC-V, несколько лет занимался разработкой драйверов периферийных устройств в ядре Linux.&nbsp;</p><p>Приглашаем инженеров, которые хотят лучше разобраться в низкоуровневой разработке для Linux и особенно тех, кто работает с user space-приложениями.&nbsp;</p><p>Мастер-класс пройдет <strong>офлайн 3 июля в московском офисе YADRO</strong>, количество мест ограничено. Участие бесплатное, но <a href="https://meetups.yadro.com/master-class-msk-0726/?utm_source=habr&amp;utm_medium=referral&amp;utm_campaign=ysemi_2026&amp;utm_content=post_embedded_riscv_linux_driver_workshop&amp;utm_referrer=habr.com" rel="noopener noreferrer nofollow">регистрация обязательна</a>. </p> <a href="https://habr.com/ru/posts/1047688/?utm_campaign=1047688&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 15 Jun 2026 12:07:08 GMT</pubDate>
    <dc:creator><![CDATA[yadro_team (YADRO)]]></dc:creator>
      
      <category><![CDATA[linux-драйвер]]></category><category><![CDATA[embedded]]></category><category><![CDATA[embedded linux]]></category><category><![CDATA[встраиваемые системы]]></category><category><![CDATA[risc-v]]></category><category><![CDATA[linux kernel development]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Granulex — Linux (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1045682/</guid>
    <link>https://habr.com/ru/posts/1045682/?utm_campaign=1045682&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p> </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/3eb/dab/177/3ebdab1773d5d6bfe58782a738cbf482.png" width="598" height="337"></figure><p><strong>Российский Linux. Встреча с реальностью</strong></p><p>Есть у нас один заказчик. Весь в Windows. Решил переезжать на российское.<br>На бумаге всё выглядит понятно: выбирает дистрибутив, разворачивает сервисы, переносит приложения, постепенно уходит от прежнего стека.<br>Упирается в версию Samba, которой в родных репах нет. Пакет конфликтует с системными библиотеками. Yum (dnf) не может разрешить зависимости и ломается.<br>Решили просто: подключили репы CentOS, перетерли половину системных пакетов.<br>На тесте взлетело. В продакшен – уже риск.</p><p><em>Вопрос, который сразу возникнет:</em>&nbsp;«А почему просто не собрать Samba из исходников?»</p><p>Для тестовой лабы – ок. Для прода с сотнями пользователей – нет. И вот почему.</p><p><strong>Почему это проблема, а не просто настройка</strong></p><p>Когда для домена (Samba, Kerberos, DNS) вы собираете из исходников или<strong> </strong>лезете в чужие репозитории – вы теряете три вещи:</p><p><u>Поддержку вендора</u><br>В договоре чёрным по белому: только штатные репозитории. Подменили пакет или поставили самосбор – тикет закроют фразой «сами собрали, сами и поддерживайте».</p><p><u>Безопасные обновления</u><br>Выходит апдейт от вендора.&nbsp;При левых репах – <code>dnf update</code> падает с конфликтом зависимостей. При самосборе – вы вообще не получите апдейт, чинить каждую CVE придётся руками.</p><p><u>Сертификацию (ФСТЭК/Минцифра)</u><br>И левый репозиторий, и самосбор аннулируют сертификат моментально. На проверке это увидят.</p><p><em>Важное уточнение для тех, кто вспомнит EPEL</em><br>EPEL подключают к RHEL для установки&nbsp;дополнительного&nbsp;софта, которого нет в базе. Он не трогает системные пакеты. В нашем кейсе – родной репозиторий ОС не содержал&nbsp;нужной версии критического пакета&nbsp;(Samba). Пришлось лезть в чужой репозиторий и&nbsp;заменять базовые пакеты. Это совсем другая история. </p><p><strong>Коротко про вендора</strong></p><p>Вендор скажет ровно одно: «Ваша система — не наша сборка. Приходите, когда переустановите без левых реп и самосборов».  
Никто не приедет, не поправит, не подстрахует. Вы один на один с костылём.</p><p><strong>Вывод</strong></p><p>Столкнулись с тем, что роль не ставится из родного репозитория?</p><p><s>Плохие решения:&nbsp;</s>подключать левые репозитории и подменять пакеты, собирать из исходников в продуктиве.</p><p><u>Правильные решения</u>:<br>Взять другую российскую ОС, где эта роль работает из коробки.<br>Потребовать от вендора добавить нужные пакеты в свой репозиторий.<br>Отказаться от этой роли/стека, если ОС его не тянет.</p><blockquote><p>Подмена пакетов в продуктиве – не выход, а вход в ад техподдержки.</p></blockquote><p>Больше про российский ИТ без простоев – <a href="https://t.me/mdis_granulex" rel="noopener noreferrer nofollow">в телеграм-канале</a>.</p> <a href="https://habr.com/ru/posts/1045682/?utm_campaign=1045682&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 10 Jun 2026 05:27:33 GMT</pubDate>
    <dc:creator><![CDATA[Granulex]]></dc:creator>
      
      <category><![CDATA[#инфраструктура]]></category><category><![CDATA[Linux_каталог]]></category><category><![CDATA[инфраструктура]]></category><category><![CDATA[российский софт]]></category><category><![CDATA[импортозамещение]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @vibecodingai — Linux (+1) — 09.06.2026 16:37]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1045544/</guid>
    <link>https://habr.com/ru/posts/1045544/?utm_campaign=1045544&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>⚡️ <strong>Linux Roadmap: подробный практический курс от нуля до уверенного администратора в 2026 году</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/43f/038/b27/43f038b2731b5c2dfdfa4e3e5bb76307.jpg" width="1024" height="1280"></figure><p>Это<a href="https://github.com/justxor/linuxfullroadmap/" rel="noopener noreferrer nofollow"> пошаговый маршрут изучения Linux </a>с упором на практику. Каждый раздел содержит объяснение «почему это устроено именно так», разбор команд и обязательные задания, которые нужно выполнить руками в терминале. Чтение без повторения навыка не даёт — держите терминал открытым рядом с этим текстом.</p><p>Как работать с этим курсом: идите сверху вниз, не перепрыгивайте разделы; каждую команду набирайте руками, а не копируйте; в конце каждого блока выполняйте задание; специально ломайте систему в виртуалке и чините — это лучший способ учиться.</p><p><a href="https://github.com/justxor/linuxfullroadmap/" rel="noopener noreferrer nofollow">https://github.com/justxor/linuxfullroadmap/</a></p> <a href="https://habr.com/ru/posts/1045544/?utm_campaign=1045544&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 09 Jun 2026 13:37:26 GMT</pubDate>
    <dc:creator><![CDATA[vibecodingai]]></dc:creator>
      
      <category><![CDATA[linux]]></category><category><![CDATA[debian]]></category><category><![CDATA[junior]]></category><category><![CDATA[junior developer]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @wozard-nix — Операционные системы (+1) — 08.06.2026 08:51]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1044704/</guid>
    <link>https://habr.com/ru/posts/1044704/?utm_campaign=1044704&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Всем привет, я создал свой дистрибутив на основе Debian, и нет это не однотипный его форк.Основная философия дистрибутива заключается в легкости,удобстве и скорости.Вы можете быть как новичком,профи,разработчиком итд но дистрибутив вам подойдет.Сейчас дистрибутив использует арт и никс(для утилит связанных с пакетами итд,также хэшей безопасности)но вы можете работать с любым пакетником из-за утилиты Distrobox,в системе есть поддержка waydroid,wine,flatpack также присутствует самый большой репозиторий софта nixpkg.И своя DE OriginUI, использует дистрибутив мало и подойдет на все пк(приложил фото) скачать можно по этой ссылке:&nbsp;<a href="https://t.me/origin_linux" rel="noopener noreferrer nofollow">https://t.me/origin_linux</a> </p><p>Кому нужно больше инфы пишите, буду отвечать! </p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/f2c/931/1dc/f2c9311dcd7af4fe7218cf0a28d69184.png" alt="OriginUI" title="OriginUI" width="1280" height="800"><div><figcaption>OriginUI</figcaption></div></figure><p>Скоро будет доступен гитхаб проекта и сайт!</p> <a href="https://habr.com/ru/posts/1044704/?utm_campaign=1044704&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 08 Jun 2026 05:51:10 GMT</pubDate>
    <dc:creator><![CDATA[wozard-nix]]></dc:creator>
      
      <category><![CDATA[линукс в массы]]></category><category><![CDATA[linux]]></category><category><![CDATA[линукс для каждого]]></category><category><![CDATA[дистрибутив]]></category><category><![CDATA[разработка]]></category><category><![CDATA[операционные системы]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Open source (+4) — 03.06.2026 10:32]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1042996/</guid>
    <link>https://habr.com/ru/posts/1042996/?utm_campaign=1042996&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Microsoft <a href="https://blogs.windows.com/windowsdeveloper/2026/06/02/build-2026-furthering-windows-as-the-trusted-platform-for-development/" rel="noopener noreferrer nofollow">представила</a> порт набора утилит <a href="https://github.com/microsoft/coreutils" rel="noopener noreferrer nofollow">Coreutils для&nbsp;платформы Windows</a>. В&nbsp;состав входит несколько десятков утилит, включая sort, cat, chmod, chown, cp, find, sleep, sort, tee, echo, uptime и ls. Инструментарий позволяет напрямую использовать в&nbsp;Windows типовые утилиты, доступные в&nbsp;Linux и macOS, без&nbsp;использования прослойки WSL. Целью проекта заявлено упрощение перехода между Unix‑подобными системами, WSL, контейнерами и Windows, и предоставление единого набора команд, флагов и методов, позволяющих переносить существующие скрипты из&nbsp;других систем без&nbsp;переписывания. Код написан на&nbsp;Rust и PwerShell, и <a href="https://github.com/microsoft/coreutils" rel="noopener noreferrer nofollow">распространяется</a> под&nbsp;лицензией MIT. </p><p>Реализация основана на коде проекта <a href="https://habr.com/ru/news/1041766/" rel="noopener noreferrer nofollow">uutils</a> (Rust Coreutils), развивающего вариант GNU Coreutils на языке Rust, а также реализациях утилит <a href="https://github.com/uutils/findutils" rel="noopener noreferrer nofollow">find</a> и <a href="https://github.com/uutils/grepn" rel="noopener noreferrer nofollow">grep</a> на Rust. Утилиты собраны в виде одного универсального исполняемого файла "C:\Program Files\coreutils\coreutils.exe", отдельные команды к которому привязаны при помощи жёстких ссылок в NTFS.  </p><p>Из‑за конфликта с&nbsp;имеющимися штатными утилитами Windows или&nbsp;привязки к&nbsp;специфичным возможностям из&nbsp;поставки исключены утилиты dd, dir, dircolors, shred, sync, uname, expand, kill, more, paste, timeout и whoami. Из&nbsp;состава также исключены утилиты, завязанные на&nbsp;не&nbsp;поддерживаемые в&nbsp;Windows концепции POSIX: chcon, chgrp, chmod, chown, chroot, groups, hostid, id, install, logname, mkfifo, mknod, nice, nohup, pathchk, pinky, runcon, stdbuf, stty, tty, users, who. </p><p>Из&nbsp;ограничений и особенностей отмечается необходимость использовать NUL вместо /dev/null, отсутствие поддержки сигналов (SIGHUP, SIGPIPE, SIGUSR), возможность создания символических ссылок только после включения режима для&nbsp;разработчика, недоступность некоторых операций с&nbsp;правами доступа. При работе с каталогами принимаются как пути с символом "/", так и c "\". </p><iframe id="6a1fd82c6e2a155d35784d2f" src="https://embedd.srv.habr.com/iframe/6a1fd82c6e2a155d35784d2f" class="embed_video embed__content" allowfullscreen="true"></iframe> <a href="https://habr.com/ru/posts/1042996/?utm_campaign=1042996&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 03 Jun 2026 07:32:09 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[Coreutils для платформы Windows]]></category><category><![CDATA[Coreutils]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @vibecodingai — Linux (+1) — 30.05.2026 11:57]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1041446/</guid>
    <link>https://habr.com/ru/posts/1041446/?utm_campaign=1041446&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>✔️ <strong>NVIDIA переводит все свои открытые модели на единую лицензию от Linux Foundation</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/9f5/216/0b7/9f52160b7090a756984ae900aa0921cb.jpg" width="1280" height="617"></figure><p>На лицензию OpenMDW-1.1 переходят 4 семейства: Cosmos, Isaac GR00T, Ising и Nemotron.</p><p>Стандарт разработан Linux Foundation для ИИ-индустрии и одним документом покрывает все компоненты релиза: исходный код, датасеты, веса, метаданные и документацию. Лицензия позволяет делать дообученные модели и производные продукты проприетарными.</p><p>Разработчики получают права на коммерциализацию, модификацию и распространение моделей. Единственное требование - сохранение оригинальных копирайтов при дистрибуции.</p><p> <a href="https://openmdw.ai/" rel="noopener noreferrer nofollow">https://openmdw.ai/</a></p> <a href="https://habr.com/ru/posts/1041446/?utm_campaign=1041446&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 30 May 2026 08:57:33 GMT</pubDate>
    <dc:creator><![CDATA[vibecodingai]]></dc:creator>
      
      <category><![CDATA[linux]]></category><category><![CDATA[nvidia]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @easimonenko — Linux — 23.05.2026 15:02]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1038484/</guid>
    <link>https://habr.com/ru/posts/1038484/?utm_campaign=1038484&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Обновил вчера Ubuntu 25.10 на 26.04. В последние два года я обновляю Ubuntu при каждом новом выпуске, начиная с 23.10 насколько помню. И никаких проблем ни во время обновления, ни после него до этого не возникало. Вчера же столкнулся с несколькими неприятностями:</p><ul><li><p>Объём загружаемых пакетов вырос с обычных 2 Гб до 4 Гб! Вероятно у вас будет меньше, ведь это зависит от установленных вами пакетов, но если судить относительно прежнего объёма, то скачёк потребления трафика с учётом мобильного доступа не радует. Скаченные пакеты я сохранил, чтобы на других ноутбуках с Ubuntu не пришлось снова качать 4 Гб. Раньше я так не делал.</p></li><li><p>Во время установки пакетов рабочий стол заблокировался с сообщением, что у меня нет прав root, чтобы что-то сделать, что именно не написано. Причём нажатие на Отмена блокировку не снимало, и окно сообщения оставалось открытым. Похоже на какой-то баг Gnome, Resolute или где-то глубже в системе. Дождался, когда индикатор диска и вентилятор успокоятся, в надежде, что обновление закончилось успешно, переключился на консоль и сделал reboot.</p></li><li><p>После первой загрузки и входа в Gnome рабочий стол завис. Снова переключение в консоль и reboot. После второй перезагрузки Gnome заработал. Это ещё один явный баг.</p></li><li><p>Теперь после каждого включения с нуля или после сна, не важно, запускается какой-то процесс localsearch, который интенсивно работает с диском и греет процессор. Причём процесс ветвится. Как отключить не понятно. Подождав полчаса сделал kill по номеру процесса localsearch. И вынужден делать это каждый раз.</p></li></ul><p>В остальном пока вроде всё нормально. Особых нововведений не заметил. Пиктограммы программ в главном меню стали меньше. В строке статуса появился значёк режима нагрузки процессора.</p><p>В предыдущих выпусках был ещё баг с thumbnailer, который при открытии в Nautilus папки с большим количеством фото, выжирал остатки памяти, что приводило к торможению всей системы намертво и последующего принудительного жёсткого отключения питания (известный баг Linux, который за десять или более лет так и не исправлен). Как я понял, в 26.04 thumbnailer был заменён на что-то другое, и я пока ещё не поимел проблем с большими папками с фото. Но посмотрим…</p><p><strong>UPD</strong> Посмотрел, что это за localsearch. Похоже, что это часть Gnome. Поэтому стандартными средствами управления сервисами его не отключить. Запускается при входе в Gnome. Как эту ненужную мне и вредную с точки зрения энергопотребления и шумозагряднения штуку выключить в Gnome? (В комментарии дали совет, но в первый раз нужно всё-таки сделать kill для процесса, одного его отключения не достаточно. После перезагрузки процесс localsearch уже не будет беспокоить.)</p><p><strong>Резюме</strong> Ещё до обновления я начал искать альтернативы Ubuntu, понимая что запросы системы к процессору и памяти растут, Ubuntu всё больше походит на bloatware и corporate, а переходить на более новое железо я не собираюсь. Пока в качестве альтернатив рассматриваю: antiX, Devuan, Gentoo, Void, Guix, NetBSD, OpenBSD. Этот набор обусловлен тем, что мне нужно, чтобы система поддерживала 32-разрядность. И я хочу иметь на 32- и 64-разрядных системах одинаковый опыт и навыки работы с ними. А какие альтернативы Ubuntu используете вы? Что скажете про мой список альтернатив? Кстати, до полного перехода на Ubuntu я также работал в последние годы с ElementaryOS, Manjaro, Fedora. Пробовал antiX, Void, NixOS и Guix. По большому счёту они отвергнуты были в том числе по тем же причинам, что теперь и Ubuntu, Кроме antiX, Void и Guix. Это особый случай, и это отдельная тема для разговора.</p><p>(с) Симоненко Е.А., 2026</p> <a href="https://habr.com/ru/posts/1038484/?utm_campaign=1038484&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 23 May 2026 12:02:55 GMT</pubDate>
    <dc:creator><![CDATA[easimonenko]]></dc:creator>
      
      <category><![CDATA[ubuntu]]></category><category><![CDATA[linux]]></category><category><![CDATA[bloatware]]></category><category><![CDATA[corporate]]></category>
  </item>
  

	
  

  

  

      

      

      

    
  </channel>
</rss>
