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

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

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/microcoder/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя microcoder]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Thu, 23 Apr 2026 12:39:13 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[Запускаем Jupyter на орбиту LXD]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/497100/</guid>
      <link>https://habr.com/ru/articles/497100/?utm_campaign=497100&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Приходилось ли вам экспериментировать с кодом или системными утилитами в Linux так, чтобы не трястись за базовую систему и не снести всё с потрохами в случае ошибки кода который должен запустится с root-привилегиями?</p><br>
<p>А как на счет того, что допустим, необходимо протестировать или запустить целый кластер разнообразных микросервисов на одной машине? Сотню или даже тысячу?</p><br>
<p>С виртуальными машинами управляемые гипервизором такие задачи решить может и получится, но какой ценой? Например, контейнер в LXD на базе дистрибутива Alpine Linux минимально потребляет всего <code>7.60MB</code> ОЗУ, и где корневой раздел после запуска занимает <code>9.5MB</code>! <del>Как тебе такое, Илон Маск?</del> Рекомендую ознакомиться с <a href="https://habr.com/ru/post/496492/">базовыми возможностями LXD — системы контейнеров в Linux</a></p><br>
<p>После того, как в целом стало ясно, что такое контейнеры LXD, пойдем дальше и подумаем, а что, если бы была такая платформа-комбайн, где можно было бы безопасно запускать код для хоста, генерировать графики, динамически (интерактивно) связывать UI-виджеты с твоим кодом, дополнять код текстом с <del>блекджеком...</del> форматированием? Что-то типа интерактивного блога? <del>Вауу… Хочу! Хочу!</del> :)</p><br>
<p>Заглядывай под кат где мы запустим в контейнере <a href="https://jupyterlab.readthedocs.io/en/stable/" rel="nofollow">JupyterLab</a> — следующей генерации пользовательского интерфейса вместо устаревшего Jupyter Notebook, а также установим такие модули Python как <a href="https://ru.wikipedia.org/wiki/NumPy" rel="nofollow">NumPy</a>, <a href="https://ru.wikipedia.org/wiki/Pandas" rel="nofollow">Pandas</a>, <a href="https://ru.wikipedia.org/wiki/Matplotlib" rel="nofollow">Matplotlib</a>, <a href="https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Basics.html" rel="nofollow">IPyWidgets</a> которые позволят вытворять всё перечисленное выше и сохранять это всё в специальном файле — IPython-ноутбуке.</p><br>
<p><img src="https://habrastorage.org/getpro/habr/post_images/bbc/cbe/820/bbccbe8205363b9d772a35dd19b744b9.png" alt="image"></p> <a href="https://habr.com/ru/articles/497100/?utm_campaign=497100&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 15 Apr 2020 14:36:07 GMT</pubDate>
      <dc:creator><![CDATA[microcoder]]></dc:creator>
      <category><![CDATA[*nix]]></category><category><![CDATA[DevOps]]></category><category><![CDATA[Python]]></category><category><![CDATA[Виртуализация]]></category><category><![CDATA[Linux]]></category>
      <category><![CDATA[lxc]]></category><category><![CDATA[lxd]]></category><category><![CDATA[jupyter]]></category><category><![CDATA[jupyterlab]]></category><category><![CDATA[python]]></category><category><![CDATA[python3]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Активация discard (TRIM) на Linux для SSD]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/497004/</guid>
      <link>https://habr.com/ru/articles/497004/?utm_campaign=497004&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<p>Современные накопители данных такие как SSD нуждаются в команде <a href="https://ru.wikipedia.org/wiki/TRIM" rel="nofollow">TRIM</a> интерфейса ATA и для этого в ОС построенных на базе ядра Linux предусмотрено два метода управления на уровне файловых систем:</p><br>
<ul>
<li><strong>discard</strong> — устанавливается как опция монтировании файловой системы. Позволяет ядру Linux сразу отправлять команду TRIM на устройство, как только об этом сообщит файловая система.</li>
<li><strong>fstrim</strong> — утилита которая запускается вручную или по расписанию как сервис ОС, отправляет список удаленных блоков с ФС для зачистки их на устройстве.</li>
</ul><br>
<p>Для включения <strong>fstrim</strong> достаточно активировать сервис <code>fstrim.service</code> в systemd, но лучше вместо сервиса, который будет висеть в памяти, использовать таймер <code>fstrim.timer</code> который будет запускать еженедельный TRIM.</p><br>
<p>Пример включения сервиса:</p><br>
<pre><code class="bash"># Включение, старт и вывод статуса сервиса:
systemctl enable fstrim.service &amp;&amp; \
systemctl start fstrim.service &amp;&amp; \
systemctl status fstrim.service</code></pre><br>
<p>Но этих мер недостаточно, если у вас файловые системы располагаются на томах LVM, а LVM в LUKS <del><code>игла в яйце, яйцо в утке, утка в зайце</code></del>:</p><br>
 <img src="https://habrastorage.org/webt/mj/mg/m4/mjmgm4als5_xrsxbrjwrdy4fmhm.png" title="Создано в http://www.draw.io"><br> <a href="https://habr.com/ru/articles/497004/?utm_campaign=497004&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 13 Apr 2020 11:41:53 GMT</pubDate>
      <dc:creator><![CDATA[microcoder]]></dc:creator>
      <category><![CDATA[*nix]]></category><category><![CDATA[DevOps]]></category><category><![CDATA[Накопители]]></category><category><![CDATA[Настройка Linux]]></category><category><![CDATA[Системное администрирование]]></category>
      <category><![CDATA[ssd]]></category><category><![CDATA[discard]]></category><category><![CDATA[trim]]></category><category><![CDATA[fstrim]]></category><category><![CDATA[encryption]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Базовые возможности LXD — системы контейнеров в Linux]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/496492/</guid>
      <link>https://habr.com/ru/articles/496492/?utm_campaign=496492&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<div style="text-align:center;"><img src="https://habrastorage.org/webt/jj/qk/qa/jjqkqae2fpn42rq5ar3ukcjau1a.png"></div><br>
<p><strong>LXD</strong> — это системный менеджер контейнеров следующего поколения, так гласит <a href="https://linuxcontainers.org/lxd/introduction/" rel="nofollow">источник</a>. Он предлагает пользовательский интерфейс, похожий на виртуальные машины, но использующий вместо этого контейнеры Linux.</p><br>
<p><strong>Ядро LXD</strong> — это привилегированный демон (сервис запущенный с правами root), который предоставляет REST API через локальный unix сокет, а также через сеть, если установлена соответствующая конфигурация. Клиенты, такие как инструмент командной строки поставляемый с LXD посылают запросы через этот REST API. Это означает, что независимо от того, обращаетесь ли вы к локальному хосту или к удаленному, все работает одинаково.</p><br>
<p>В этой статье мы не будем подробно останавливаться на концепциях LXD, не будем рассматривать все доступные возможности изложенные в документации в том числе реализацию в последних версиях LXD поддержки виртуальных машин QEMU параллельно с контейнерами. Вместо этого мы узнаем только базовые возможности управления контейнерами — настроим пулы хранилищ, сеть, запустим контейнер, применим лимиты на ресурсы, а также рассмотрим как использовать снепшоты, чтобы вы смогли получить базовое представление о LXD и использовать контейнеры в Linux.</p> <a href="https://habr.com/ru/articles/496492/?utm_campaign=496492&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 09 Apr 2020 16:30:00 GMT</pubDate>
      <dc:creator><![CDATA[microcoder]]></dc:creator>
      <category><![CDATA[*nix]]></category><category><![CDATA[DevOps]]></category><category><![CDATA[Виртуализация]]></category><category><![CDATA[Linux]]></category>
      <category><![CDATA[lxd]]></category><category><![CDATA[lxc]]></category><category><![CDATA[containers]]></category><category><![CDATA[linux]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Запуск/отладка Python скриптов в контейнерах LXC/LXD из под VS Code]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/342080/</guid>
      <link>https://habr.com/ru/articles/342080/?utm_campaign=342080&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Привет, Хабр!<br>
<br>
В этой статье хочется поделится с вами настройкой девелоперского окружения под разработку скриптов на Python и запуск их в изолированном окружении, практически за пару кликов в редакторе <a href="https://ru.wikipedia.org/wiki/Visual_Studio_Code" rel="nofollow">VS Code</a>.<br>
<br>
В качестве изолированного окружения будет рассмотрена первичная настройка и создание контейнера на базе <a href="https://ru.wikipedia.org/wiki/LXC" rel="nofollow">LXC</a> под управлением ОС Ubuntu 17.10. Почему не Docker? Сложно ответить, выдать какие-то аргументы. От части концепция виртуализации ОС субъективно ближе по духу, чем виртуализация процессов, но принцип который здесь будет изложен, с некоторыми поправками, подойдет к запуску кода в Docker-контейнерах.<br>
<br>
<img src="https://habrastorage.org/webt/nq/jl/5x/nqjl5xk37gigjbn8qfqh9yacos8.png"><br>
<br>
<h3>Что вы получите?</h3><br>
<ul>
<li>Научитесь запускать в один клик python-скрипты в контейнере, а также удаленный debug из VS Code</li>
<li>Узнаете как установить LXD, настроить сеть и запустить первый контейнер</li>
<li>Ознакомитесь с установкой и настройкой редактора исходного кода VS Code, набором расширений которые позволят комфортно писать и отлаживать код.</li>
</ul><br>
<h3>Чего здесь не будет?</h3><br>
<ul>
<li>Не будет полного обзора LXC/LXD, вам придется самостоятельно найти дополнительную информацию о Linux-контейнерах.</li>
<li>Не будет рассмотрен python модуль <a href="https://virtualenv.pypa.io/en/stable/" rel="nofollow">virtualenv</a> для создания виртуального окружения на хосте разработчика как альтернатива контейнерам.</li>
<li>Не будет сравнения в духе Docker vs LXD, выводы вы сделаете самостоятельно на основании вашего опыта.</li>
</ul> <a href="https://habr.com/ru/articles/342080/?utm_campaign=342080&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Fri, 10 Nov 2017 08:00:25 GMT</pubDate>
      <dc:creator><![CDATA[microcoder]]></dc:creator>
      <category><![CDATA[Python]]></category><category><![CDATA[Visual Studio]]></category><category><![CDATA[Виртуализация]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Linux]]></category>
      <category><![CDATA[vscode]]></category><category><![CDATA[python]]></category><category><![CDATA[linux]]></category><category><![CDATA[ubuntu]]></category><category><![CDATA[lxc]]></category><category><![CDATA[lxd]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
