<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dw="https://www.dreamwidth.org">
  <id>tag:dreamwidth.org,2015-04-03:2395083</id>
  <title>Ходячий генератор энтропии</title>
  <subtitle>techquisitor</subtitle>
  <author>
    <name>techquisitor</name>
  </author>
  <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/"/>
  <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom"/>
  <updated>2021-12-17T15:08:22Z</updated>
  <dw:journal username="techquisitor" type="personal"/>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:333913</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/333913.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=333913"/>
    <title>Linux Kernel map</title>
    <published>2021-12-17T15:08:22Z</published>
    <updated>2021-12-17T15:08:22Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>1</dw:reply-count>
    <content type="html">&amp;nbsp;Давно не выкладывал ссылки на всяческие схемы у себя. Кажется, пора.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://makelinux.github.io/kernel/map/"&gt;Linux Kernel map&lt;/a&gt;. Схема всех подсистем и взаимосвязей между ними. Верхний пост тоже обновил, само собой.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=333913" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:332890</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/332890.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=332890"/>
    <title>Подписывание сторонних модулей ядра при использовании SecureBoot</title>
    <published>2021-11-03T19:17:22Z</published>
    <updated>2021-11-03T19:21:35Z</updated>
    <category term="soft"/>
    <category term="linux"/>
    <category term="software"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Современные EFI/BIOS в последнее время порой идут с неотключаемым SecureBoot или же порой очень сложно найти, где оно отключается. Зачем он нужен и какую пользу приносит, об этом как-нибудь в другой раз. Слишком обширная тема.&lt;br /&gt;&lt;br /&gt;Сейчас мы разберём, как подписывать сторонние модули ядра, не входящие в основную поставку, чтобы они работали с SecureBoot. для примера возьмём VirtualBox, модули которого, обычно идут в виде исходников и собираются с помощью DKMS. &lt;br /&gt;&lt;br /&gt;Я использую Fedora 34, но это работает в любом современном дистрибутиве.&lt;br /&gt;&lt;br /&gt;Для начала нам понадобится mokutil.&lt;pre&gt;&lt;br /&gt;sudo dnf update&lt;br /&gt;sudo dnf install mokutil&lt;/pre&gt;Затем создаём новый каталог и генерим пару RSA:&lt;pre&gt;
sudo -i&lt;br /&gt;mkdir /root/signed-modules&lt;br /&gt;cd /root/signed-modules&lt;br /&gt;openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj &amp;quot;/CN=VirtualBox/&amp;quot;&lt;br /&gt;chmod 600 MOK.priv&lt;/pre&gt;&lt;br /&gt;После чего необходимо добавить пароль. Этот пароль нам потребуется при следующей перезагрузке.&lt;pre&gt;
sudo mokutil --import MOK.der&lt;/pre&gt;Затем перезагружаемся и на появившемся синем экране выбираем: Enroll MOK --&amp;gt; Continue --&amp;gt; вбиваем пароль из предыдущего шага&lt;br /&gt;&lt;br /&gt;Теперь уже создаём скриптик, которым мы будем подписывать модули ядра:&lt;pre&gt;
cd /root/signed-modules&lt;br /&gt;vim sign-virtual-box&lt;/pre&gt;И сам скрипт, собственно:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;for modfile in $(dirname $(modinfo -n vboxdrv))/*.ko; do&lt;br /&gt;  echo &amp;quot;Signing $modfile&amp;quot;&lt;br /&gt;  /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 \&lt;br /&gt;                                /root/signed-modules/MOK.priv \&lt;br /&gt;                                /root/signed-modules/MOK.der &amp;quot;$modfile&amp;quot;&lt;br /&gt;done&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;На всякий случай можете проверить расположение signfile и если что, подправить пути в скрипте выше:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;find /usr/src -name signfile&lt;/pre&gt;И далее:&lt;pre&gt;
chmod 700 sign-virtual-box&lt;br /&gt;./sign-virtual-box&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;И пересобираем модуль:&lt;pre&gt;
modprobe vboxdrv&lt;/pre&gt;В дальнейшем скрипт НЕ УДАЛЯЕМ, как и сгенерированные ключи. Они нам потребуется при каждом обновлении ядра. А вот mokutil будет уже не обязателен.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=332890" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:332035</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/332035.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=332035"/>
    <title>Fedora 34: первая неделя использования</title>
    <published>2021-10-16T17:35:27Z</published>
    <updated>2021-10-16T17:35:27Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <category term="soft"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&amp;laquo;О чём думаешь, Евгений?&amp;raquo; вопрошает меня Фейсбук. А о том, что давно у меня не было рубрики &amp;laquo;карма тестировщика&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Дано: Fedora 34 Workstation. Ванильная. Со всеми патчами и апдейтами из штатных репозиториев. Никаких RPM Fusion и иже с ними.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Уже несколько раз крашился Gnome, причём непонятно из-за чего. Но отчёты в ABRT сгенерились. Надо бы восстановить пароль от багзиллы Fedora и отправить логи туда.&lt;/li&gt;&lt;li&gt;Постоянно пропадает звук на полсекунды или меньше в Firefox, при подключении внешней звуковой карты. Судя по всему, проблема в PipeWire. Решения пока не нашёл. Если проигрывать со штатной звуковой карты в ноутбуке &amp;mdash; всё ОК.&lt;/li&gt;&lt;li&gt;При обратном включении иконок на работе столе Gnome, иконки постоянно меняют своё местоположение при включении или выключении дока. Причём заметил, что съезжают всегда одинаково. В качестве обходного решения расположил иконки как мне надо при включенном доке и использовать Gnome Shell только с доком. Стыд, да и только.&lt;/li&gt;&lt;li&gt;Очень редко, но теряются настройки внешних мониторов. Какую-то последовательность пока не уловил. Но случается правда редко и фикс занимает несколько секунд. Переживу. Туда же &amp;mdash; меняются местами primary и secondary мониторы.&lt;/li&gt;&lt;li&gt;Нихера не запоминаются настройки размера окон в Gnome Terminal.&lt;/li&gt;&lt;li&gt;До сих пор надо в Gnome Terminal надо отключать Menu acceleration, чтобы заработала клавиша F10. Да, я использую Midnight Commander. Порицайте меня.&lt;/li&gt;&lt;li&gt;Всё так же надо использовать Gnome Tweaks, чтобы добавить кнопки сворачивания, разворачивания и максимизации-минимизации окон.&lt;/li&gt;&lt;li&gt;По хрен знает какой причине у меня не работали сначала Gnome Extensions. Решение: обнулить профиль пользователя и сбросить профили Firefox/Chrome, затем заново переустановить аддоны для браузеров.&lt;/li&gt;&lt;li&gt;Если воткнуть док до загрузки ноутбука, то система будет загружаться раза в три медленнее, чем без него.&lt;/li&gt;&lt;/ul&gt;Может мне и правда в QA идти было надо?&lt;br /&gt;&lt;br type="_moz" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=332035" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:331789</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/331789.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=331789"/>
    <title>Сертификат R3 для Let's Encrypt</title>
    <published>2021-10-11T16:07:43Z</published>
    <updated>2021-10-11T16:13:43Z</updated>
    <category term="soft"/>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Думаю ни для кого не новость, что сертификаты от R3 которым подписаны цепочки от тех же Let's Encrypt &lt;a href="https://www.opennet.ru/opennews/art.shtml?num=55897"&gt;протухли ещё 30 сентября&lt;/a&gt;. Но те, кто выписывают сертификаты с помощью certbot, обнаружили, что сертификат обновляется, но по-прежнему подсовывается старая цепочка доверия.&lt;br /&gt;&lt;br /&gt;Чтобы заставить certbot выдавать сертификаты используя цепочку ISRG X1, надо скормить оному команду &lt;strong&gt;certbot renew --preferred-chain &amp;quot;ISRG Root X1&amp;quot;.&lt;/strong&gt;&amp;nbsp;Затем просто перезапустить сервер. В дальнейшем будет сгенерирован конфиг для сертификата, где по умолчанию будет прописано необходимая предпочтительная цепочка доверия.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=331789" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:330773</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/330773.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=330773"/>
    <title>А теперь давайте поговорим за RabbitMQ</title>
    <published>2021-06-09T16:16:27Z</published>
    <updated>2021-06-09T16:16:27Z</updated>
    <category term="soft"/>
    <category term="linux"/>
    <category term="software"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">.. и его проблемы.&lt;br /&gt;&lt;br /&gt;Снова решил пописать про работу. На сей раз, проблема возника с RabbitMQ. &lt;br /&gt;&lt;br /&gt;Имеется кролик с неработающими очередями. При этом всё поднято, но если заглянуть в логи, то можно увидеть в первую очередь нечто такое:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;2021-06-09 10:02:38.030 [error] &amp;lt;0.19004.32&amp;gt; Error on AMQP connection &amp;lt;0.19004.32&amp;gt; (192.168.0.1:42538 -&amp;gt; 192.168.0.3:5672, vhost: 'none', user: 'updater', state: opening), channel 0:&lt;br /&gt; {handshake_error,opening,&lt;br /&gt;                 {amqp_error,internal_error,&lt;br /&gt;                             &amp;quot;access to vhost '/' refused for user 'XXX': vhost '/' is down&amp;quot;,&lt;br /&gt;                             'connection.open'}}&lt;br /&gt;2021-06-09 10:02:38.030 [info] &amp;lt;0.19004.32&amp;gt; closing AMQP connection &amp;lt;0.19004.32&amp;gt; (192.168.0.1:42538 -&amp;gt; 192.168.0.3:5672, vhost: 'none', user: 'updat&lt;br /&gt;er')&lt;br /&gt;2021-06-09 10:02:38.031 [info] &amp;lt;0.19001.32&amp;gt; accepting AMQP connection &amp;lt;0.19001.32&amp;gt; (192.168.0.2:14580 -&amp;gt; 192.168.0.3:5672)&lt;br /&gt;2021-06-09 10:02:38.032 [info] &amp;lt;0.19020.32&amp;gt; accepting AMQP connection &amp;lt;0.19020.32&amp;gt; (192.168.0.1:42540 -&amp;gt; 192.168.0.3:5672)&lt;br /&gt;2021-06-09 10:02:38.033 [error] &amp;lt;0.19001.32&amp;gt; Error on AMQP connection &amp;lt;0.19001.32&amp;gt; (192.168.0.2:14580 -&amp;gt; 192.168.0.3:5672, vhost: 'none', user: 'smsc', state: opening), channel 0:&lt;br /&gt; {handshake_error,opening,&lt;br /&gt;                 {amqp_error,internal_error,&lt;br /&gt;                             &amp;quot;access to vhost '/' refused for user 'YYY': vhost '/' is down&amp;quot;,&lt;br /&gt;                             'connection.open'}}&lt;br /&gt;2021-06-09 10:02:38.034 [info] &amp;lt;0.19001.32&amp;gt; closing AMQP connection &amp;lt;0.19001.32&amp;gt; (192.168.0.2:14580 -&amp;gt; 192.168.0.3:5672, vhost: 'none', user: 'smsc')&lt;br /&gt;2021-06-09 10:02:38.035 [error] &amp;lt;0.19020.32&amp;gt; Error on AMQP connection &amp;lt;0.19020.32&amp;gt; (192.168.0.1:42540 -&amp;gt; 192.168.0.3:5672, vhost: 'none', user: 'updater', state: opening), channel 0:&lt;br /&gt; {handshake_error,opening,&lt;br /&gt;                 {amqp_error,internal_error,&lt;br /&gt;                             &amp;quot;access to vhost '/' refused for user 'XXX': vhost '/' is down&amp;quot;,&lt;br /&gt;                             'connection.open'}}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Если же зайти в админку кролика, то мы видим сообщение вида:&lt;br /&gt;&lt;br /&gt;Virtual host / experienced an error on node rabbit@somehost and may be inaccessible&lt;br /&gt;&lt;br /&gt;После раскуривания некоторого количества логов, выяснилось, что проблема в Mnesia. По какой-то причине корраптятся сообщения в msg_stores. Если повнимательнее поискать, то можно заметить такое:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;CRASH REPORT Process &lt;br /&gt;&amp;lt;0.430.0&amp;gt; with 0 neighbours crashed with reason: no match of right hand value {error,{not_a_dets_file,”/var/lib/rabbitmq/mnesia/rabbit@hostname_1/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/recovery.d ets”}} in rabbit_recovery_terms:open_table/1 line 197&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Дальше останавливаем корлика, затем идём по указанному пути и грохаем целиком /var/lib/rabbitmq/mnesia/rabbit@hostname_1/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L/. После этого запускаем демона заново. Всё должно запуститься без проблем.&lt;br /&gt;&lt;br /&gt;Некоторые люди зачем-то удаляют mnesia целиком, но если у вас, как и у меня, тонны очередей, эксчейнджей и пользователей, то потом это порой будет проблематично восстаналивать даже при наличии любой системы управления конфигурациями.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=330773" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:330561</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/330561.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=330561"/>
    <title>Давно я что-то про работу не писал...</title>
    <published>2021-06-03T20:43:58Z</published>
    <updated>2021-06-03T20:43:58Z</updated>
    <category term="linux"/>
    <category term="software"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">...а теперь представился случай. Расскажу-ка я про занятный случай связанный Varnish.&lt;br /&gt;&lt;br /&gt;Итак, есть энное количество кешей, ранее работавших на Varnish 3. Работало всё хорошо, но третья ветка давно очень устарела и более не поддерживается. Так что мы смигрировали на ветку 6.0.x, которая является LTS релизом. Пришлось правда переписать кастомные модули для него, но это отдельная история.&lt;br /&gt;&lt;br /&gt;Всё б ничего, но после апгрейдв мы заметили в мониторинге такую вещь, что Varnish стал постоянно перезапускаться. Расследование показало, что умирал порождаемый варнишем процесс.&lt;br /&gt;Хочу заметить, что у нас для кастомных сервисов используется runit. Простой как палка, но своё дело делает (systemd-хейтеры и любители поотлаживать bash &amp;mdash; вам сюда!). Так вот в процессе дебага мы отловили такую хрень, что SIGTERM посылает сам runit. Что за ерунда? С третьим варнишем таких проблем не было, исправно работал годами. &lt;br /&gt;Тем не менее, в strace видно следующую картину:&lt;br /&gt;&lt;pre class="col-md-12 linenums:1" style="white-space: pre-wrap; word-break: normal;"&gt;

1622625209.201334 --- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=4431, si_uid=0} ---
1622625209.202221 --- SIGCONT {si_signo=SIGCONT, si_code=SI_USER, si_pid=4431, si_uid=0} ---
1622625209.203109 rt_sigreturn({mask=[]}) = 0 &amp;lt;0.065258&amp;gt;
1622625209.333354 write(2, &amp;quot;Error: Manager got SIGTERM\n&amp;quot;, 27) = 27 &amp;lt;0.000865&amp;gt;
1622625209.590396 getpid()              = 22267 &amp;lt;0.001420&amp;gt;
1622625209.592812 sendto(7, &amp;quot;&amp;lt;131&amp;gt;Jun  2 09:13:29 varnishd[22&amp;quot;..., 57, MSG_NOSIGNAL, NULL, 0) = 57 &amp;lt;0.000927&amp;gt;
1622625209.718907 write(2, &amp;quot;Debug: Stopping Child\n&amp;quot;, 22) = 22 &amp;lt;0.157719&amp;gt;
1622625209.877579 getpid()              = 22267 &amp;lt;0.000890&amp;gt;
1622625209.879363 sendto(7, &amp;quot;&amp;lt;135&amp;gt;Jun  2 09:13:29 varnishd[22&amp;quot;..., 52, MSG_NOSIGNAL, NULL, 0) = 52 &amp;lt;0.000916&amp;gt;&lt;/pre&gt; После некоторого времени дебага, обнаружили странную вещь. У нас на машинах крутится два инстанса варниша с разными vcl и настройками. Один runit-сервис так и называется varnish, а второй несколько иначе. И вот второй, что интересно, работает как надо.&lt;br /&gt;Нас взяло любопытство и мы взяли и запихвли во второй инстанс настройки от первого. Что интересно, всё заработало.&lt;br /&gt;Дальше мы в порядке бреда просто переименовали runit varnish в что-то другое и... всё заработало.&lt;br /&gt;&lt;br /&gt;Проблема решена, но вообще интересно, что её породило. Пока в гипотезе у нас значится, что сам varnish вызывает что-то с точно таким же именем и ранит принимает это за лишний форк или ещё что-то и естественно его прибивает. Дальше вы уже знаете.&lt;br /&gt;&lt;br /&gt;Так и живём.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=330561" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:327414</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/327414.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=327414"/>
    <title>Разбираем команду free: что должен знать администратор Linux</title>
    <published>2020-10-01T17:04:20Z</published>
    <updated>2020-10-01T17:34:18Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">&lt;strong&gt;Перед чтением.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Для тех, кто не использует или не любит дистрибутивы Linux семейства RHEL, следует ориентироваться на версии ядра. В случае, когда мы говорим RHEL 6, то имеется в виду ядро 2.6.32 и ниже. Если говорим о RHEL 7/8, то 3.10 и выше.&lt;br /&gt;&lt;br /&gt;Отвечая на вопрос &amp;laquo;зачем&amp;raquo;. Как оказалось, у многих даже давно занимающихся администрированием Linux знания об использовании данной команды остались на уровне времён ядер 2.6.32. В то время как в новых ядрах, очень многие фичи были или инвертированы или же сильно изменены. И многие люди про это не в курсе.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Оригинал статьи лежит &lt;a href="https://www.redhat.com/sysadmin/dissecting-free-command"&gt;здесь&lt;/a&gt;. На случай, если кто-то мой перевод сочтёт негодным. :)&lt;/p&gt;&lt;span style="font-size: larger;"&gt;&lt;strong&gt;Разбираем команду free: что должен знать администратор Linux&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;Команда &lt;em&gt;free&lt;/em&gt; популярна среди системных администраторов Unix/Linux. Это серьёзный инструмент, дающий полное представление об использовании памяти в ясном для человека виде.&lt;br /&gt; &lt;br /&gt;В man странице про данную команду сказано, что free отображает общее количество свободной и используемой памяти в системе, включая пространство подкачки и физической памяти, а также буферы с кешами используемые ядром операционной системы. Данная информация собирается путём разбора содержимого /proc/meminfo.&lt;br /&gt; &lt;br /&gt;Как и другие команды, &lt;em&gt;free&lt;/em&gt; прошла через череду изменений на протяжении своего существования, дабы вывод её был осмысленным и точным, что требуется для дальнейшего принятия решений. В RHEL 6 вывод утилиты &lt;em&gt;free&lt;/em&gt; ощутимо отличается от вывода такового на RHEL 7 или 8. Впрочем, ключевые параметры остаются неизменными в любой версии.&lt;br /&gt; &lt;br /&gt;Если вы наберёте &lt;em&gt;free -h&lt;/em&gt; в RHEL 6 (я использовал ключ -h для вывода в удобном для человека виде), то вывод будет похож на этот:&lt;br /&gt; &lt;br /&gt;[root@srv ~]# free -h&lt;br /&gt;             total       used       free     shared    buffers     cached&lt;br /&gt;Mem:           94G        44G        49G       161M       993M       1.3G&lt;br /&gt;-/+ buffers/cache:        42G        52G&lt;br /&gt;Swap:          15G         0B        15G&lt;br /&gt; &lt;br /&gt;(Рис. 1)&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;В RHEL 7/8 вывод выглядит иначе:&lt;br /&gt; &lt;br /&gt;[root@server1 ~]# free -h&lt;br /&gt;               total        used        free      shared  buff/cache   available&lt;br /&gt;Mem:            15G        751M        1.2G        272M         13G         14G&lt;br /&gt;Swap:            0B          0B          0B&lt;br /&gt; &lt;br /&gt;(Рис. 2)&lt;br /&gt; &lt;br /&gt;В то же время, в RHEL 8 всё будет выглядеть следующим образом:&lt;br /&gt; &lt;br /&gt;[root@tiger ~]# free -h&lt;br /&gt;              total        used        free      shared  buff/cache   available&lt;br /&gt;Mem:          819Mi       164Mi       146Mi        25Mi       509Mi       491Mi&lt;br /&gt;Swap:            0B          0B          0B&lt;br /&gt;&lt;br /&gt;(Рис. 3)&lt;br /&gt; &lt;br /&gt;Дабы сделать вывод программы более понятным для восприятия, в команде предусмотрены следующие опции: &lt;em&gt;free -b, -k, -m, -g&lt;/em&gt;. Они отображают количество памяти в байтах, килобайтах, мегабайтах и гигабайтах. Также вы можете использовать команду free -h для отображения вывода в удобном, понятном для человека виде. Если нужны подробности, запустите free --help для дополнительной справки по возможностям программы.&lt;br /&gt; &lt;br /&gt;Различные столбцы, показанные в разных версиях выше, указывают на общую доступную память (&lt;strong&gt;&lt;em&gt;total&lt;/em&gt;&lt;/strong&gt;), использованную (&lt;strong&gt;&lt;em&gt;used&lt;/em&gt;&lt;/strong&gt;), свободную (&lt;strong&gt;&lt;em&gt;free&lt;/em&gt;&lt;/strong&gt;), разделяемую (&lt;strong&gt;&lt;em&gt;shared&lt;/em&gt;&lt;/strong&gt;) память. Помимо этого, в выводе отображается память, расположенная в данных момент в буферах и кешах операционной системы.&lt;br /&gt; &lt;br /&gt;Впрочем, как и в случае с большинством других команд, необходимые для устранения проблем или выполнении служебных обязанностей системному администратору столбцы вывода команды будут рассмотрены далее.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Red Hat Enterprise Linux 6&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;В случае с RHEL 6, сфокусироваться следует на столбцах&lt;strong&gt;&lt;em&gt; -/+ buffers/cache&lt;/em&gt;&lt;/strong&gt;. На рис. 1 выше мы видим, что общее количество памяти равно 94 гигабайтам, где израсходовано 44 гигабайта и свободно 49 гигабайт. Вообще, это довольно нагруженная система и потребление памяти в ней выглядит высоким. Волноваться не стоит, хотя всё же следует посмотреть на столбец в &lt;strong&gt;&lt;em&gt;-/+ buffers/cache&lt;/em&gt;&lt;/strong&gt;. Данное значение показывает занятые 42 гигабайта и свободные 52 Гб. Это означает, что в реальности используется всего 42 гигабайта, а не 44. Значение задействованных 44 гигабайт включает себя ещё и кеши. Заметьте, даже простой взгляд на значение колонки used без учёта значения занятых кешей уже влияет на интерпретацию оценки производительности системы.&lt;br /&gt; &lt;br /&gt;Теперь разберём смысл колонок со значениями буферов и кешей:&lt;br /&gt;&lt;br /&gt;&amp;middot;      buffers: память задействованная буферами ядра&lt;br /&gt;&amp;middot;      cached: память занятая &amp;ldquo;Page Cache&amp;rdquo; (страничным кешем).&lt;br /&gt; &lt;br /&gt;Страничный кеш &amp;mdash; не что иное, как данные / файлы, копируемые в оперативную память, в момент когда ядро операционной системы выполняет операции чтения или записи на диске. Причина тому &amp;mdash; производительность операций ввода-вывода. Таким образом, ядро держит эти файлы в ОЗУ и высвобождает их в тот момент, когда они не требуются или когда пространство памяти запрашивается какой-либо командой или процессом в случае отсутствия свободной памяти в системе.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Red Hat Enterprise Linux 7/8&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;В операционных системах RHEL 7/8 уже следует сместить фокус на колонку &lt;strong&gt;&lt;em&gt;available&lt;/em&gt;&lt;/strong&gt;, поскольку колонка&lt;strong&gt;&lt;em&gt; -/+ buffers/cach&lt;/em&gt;&lt;/strong&gt;e была удалена и заменена столбцом &lt;strong&gt;&lt;em&gt;available&lt;/em&gt;&lt;/strong&gt;. В то же время, столбцы &lt;strong&gt;&lt;em&gt;buffers&lt;/em&gt;&lt;/strong&gt; и &lt;strong&gt;&lt;em&gt;cache&lt;/em&gt;&lt;/strong&gt; были объединены в единое значение &lt;strong&gt;&lt;em&gt;buff/cache&lt;/em&gt;&lt;/strong&gt; и имеют ровно тот же смысл, что и ранее. Столбец &lt;strong&gt;&lt;em&gt;available&lt;/em&gt;&lt;/strong&gt; показывает оценку сколько памяти доступно приложениям без использования подкачки.&lt;br /&gt; &lt;strong&gt;&lt;br /&gt;Так когда сисадмину всё же следует начать беспокоиться?&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;Исправна та система, которая показывает максимально возможный объём памяти достаточный для выполнения каких-либо задач, при этом демонстрирующая следующие ожидаемые признаки нормальной работы:&lt;br /&gt; &lt;br /&gt;&amp;middot;      Значение free близко к 0 или имеет очень небольшие значения&lt;br /&gt;&amp;middot;      Значение used близко к общему количеству RAM&lt;br /&gt;&amp;middot;      Значение доступной памяти в available (или же описанная в столбцах free -/+ buffers/cache) является относительно большой в сравнении с общим количеством памяти.&lt;br /&gt;&amp;middot;      Размер раздела или файла подкачки не меняется&lt;br /&gt; &lt;br /&gt;Однако, системному администратору стоит начать беспокоиться, когда появляются следующие признаки реальной нехватки памяти:&lt;br /&gt; &lt;br /&gt;&amp;middot;      Значение столбца &lt;strong&gt;&lt;em&gt;available&lt;/em&gt;&lt;/strong&gt; (или же столбцов &lt;strong&gt;&lt;em&gt;free -/+ buffers/cache&lt;/em&gt;&lt;/strong&gt;) близко к нулю или весьма небольшое.&lt;br /&gt;&amp;middot;      Размер подкачки начинает расти или меняться из-за того, не хватает свободных страниц памяти и теперь необходимо их сбрасывать на диск&lt;br /&gt;&amp;middot;      В dmesg появляются сообщения об OutOfMemory-killer, которые проверяются командой grep -i kill /var/log/messages* или же dmesg | grep oom-killer.&lt;br /&gt; &lt;br /&gt;&lt;strong&gt;Подведение итогов&lt;/strong&gt;&lt;br /&gt; &lt;br /&gt;Команда &lt;em&gt;free&lt;/em&gt; &amp;mdash; полезный инструмент, которая может очень рассказать системному администратору о том, что происходит в системе. Знание о различиях в выводе &lt;em&gt;free&lt;/em&gt; может помочь в более точной интерпретации выдаваемых данных.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=327414" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:326155</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/326155.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=326155"/>
    <title>Чиним работу Avahi/Bonjour в локальной сети с собственным резолвером DNS</title>
    <published>2020-04-25T00:55:54Z</published>
    <updated>2020-04-25T01:02:34Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>3</dw:reply-count>
    <content type="html">Крайне презабавную проблему недавно решил у себя. На полноценную статью не тянет. Так, заметка для младоадминов. &lt;br /&gt;&lt;br /&gt;Долгое время было лень глянуть, с чего у меня в локальной сети крайне странно отдавались устройства с включённым Zeroconf (то есть с Avahi/Bonjour на борту). Особенность до кучи была в том, что Avahi по умолчанию работает с доменами .local, про что до сих пор не знают многие. Опытные админы уже явно приготовятся кидать в меня что-нибудь тяжёлое, но погодите возмущаться. Лучше загляните в &lt;a href="https://tools.ietf.org/html/rfc6762"&gt;RFC6762&lt;/a&gt;, который с 2013 года считается &lt;a href="https://tools.ietf.org/html/rfc1310#page-5"&gt;черновым&lt;/a&gt;, но уже крайне активно используется как известными вендорами, так и отдельными разработчиками (привет Леннарту Потеррингу, например). Более того, даннный псевдодомен первого уровня уже не рекомендовалсяк использованию  в Windows Server 2003. Так что в настоящий момент данный TLD отдан под использование в сервисах mDNS.&lt;br /&gt;&lt;br /&gt;Впрочем, отвлёкся. Итак, в чём странность?&lt;br /&gt;&lt;br /&gt;А вот в этом:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# avahi-browse -ar&lt;br /&gt;&lt;br /&gt;= wlp0s20f3 IPv4 Hostname                                      _xbmc-events._udp    local&lt;br /&gt;   hostname = [hostname.local]&lt;br /&gt;   address = [192.168.1.100]&lt;br /&gt;   port = [9777]&lt;br /&gt;   txt = []&lt;br /&gt;= wlp0s20f3 IPv4 Hostname                                      _xbmc-jsonrpc-h._tcp local&lt;br /&gt;   hostname = [hostname.local]&lt;br /&gt;   address = [192.168.1.100]&lt;br /&gt;   port = [8080]&lt;br /&gt;   txt = [&amp;quot;uuid=410d41db-e758-4593-85cf-f4d0f0569a96&amp;quot; &amp;quot;txtvers=1&amp;quot;]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Казалось бы всё хорошо, Avahi корректно отдаёт и получает данные. Как от устройства локального, так и в домашней сети.&lt;br /&gt;&lt;br /&gt;Но не тут-то было:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# host hostname&lt;br /&gt;hostname has address 192.168.1.100&lt;br /&gt;&lt;br /&gt;# host hostname.local&lt;br /&gt;hostname has address 127.0.0.200&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&amp;laquo;Что за ерунда?&amp;raquo;, спросите вы. Ведь хост один и тот же! Более того, если вы попробуете опросить другие устройства с суффиксом .local (в моём случае это были смартфон и планшет) он упорно будет выдавать вам адрес 127.0.0.200. &lt;br /&gt;&lt;br /&gt;Но при использовании утилиты dig, всё становится понятным моментально:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;;; ANSWER SECTION:&lt;br /&gt;hostname.local.         0       IN      A       127.0.0.200&lt;br /&gt;&lt;br /&gt;;; Query time: 5 msec&lt;br /&gt;;; SERVER: 192.168.1.1#53(192.168.1.1) &amp;lt;== вот наши источник проблемы&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ответ прилетает от моего резолвера который установлен в роутере.&lt;br /&gt;&lt;br /&gt;А разгадка проста. Когда была куцая прошивка от весьма дешманского роутера Xiaomi, просто не мог посмотреть в чём проблема и потому забил. После перепрошивки на что-то не столь убогое, у меня появился полноценный интерфейс с доступом к конфигурационным файлам роутера и там обнаружился всё тот же dnsmasq с пустым конфигурационным файлом. &lt;br /&gt;&lt;br /&gt;Решение лежит на поверхности:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# Never forward plain names (without a dot or domain part)&lt;br /&gt;domain-needed&lt;br /&gt;&lt;br /&gt;# Never forward addresses in the non-routed address spaces.&lt;br /&gt;bogus-priv&lt;br /&gt;&lt;br /&gt;# Add local-only domains here, queries in these domains are answered&lt;br /&gt;# from /etc/hosts or DHCP only&lt;br /&gt;local=/local/&lt;br /&gt;&lt;br /&gt;# Set the domain for dnsmasq. this is optional, but if it is set, it&lt;br /&gt;# does the following things.&lt;br /&gt;# 1) Allows DHCP hosts to have fully qualified domain names, as long&lt;br /&gt;#     as the domain part matches this setting.&lt;br /&gt;# 2) Sets the &amp;quot;domain&amp;quot; DHCP option thereby potentially setting the&lt;br /&gt;#    domain of all systems configured by DHCP&lt;br /&gt;# 3) Provides the domain part for &amp;quot;expand-hosts&amp;quot;&lt;br /&gt;domain=local&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Всё, после чего все устройства будут отдавать правильные адреса и будут корректно работать с приложениями Zeroconf использующими.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=326155" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:325340</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/325340.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=325340"/>
    <title>Вытаскиваем докерфайл из образа</title>
    <published>2019-08-28T21:27:03Z</published>
    <updated>2019-08-28T21:27:03Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">В своё время неприятно удивился, когда обнаружил, что на Docker Hub перестали выкладывать докерфайлы от образов. Порой было полезно, чтобы понять почему образ докера так или иначе ведёт или собрать свой с небольшими модификациями не занимаясь всем с нуля.&lt;br /&gt;&lt;br /&gt;Решается просто вот этой копипастой:&lt;br /&gt;&lt;br /&gt;docker history --no-trunc &amp;lt;IMAGE_ID&amp;gt;  | tac | tr -s ' ' | cut -d &amp;quot; &amp;quot; -f 5- | sed 's,^/bin/sh -c #(nop) ,,g' | sed 's,^/bin/sh -c,RUN,g' | sed 's, &amp;amp;&amp;amp; ,\n  &amp;amp; ,g' | sed 's,\s*[0-9]*[\.]*[0-9]*[kMG]*B\s*$,,g' | head -n -1&lt;br /&gt;&lt;br /&gt;Не секретно, просто чтобы легче найти было.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=325340" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:321456</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/321456.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=321456"/>
    <title>Как меняется всё</title>
    <published>2018-07-01T12:33:29Z</published>
    <updated>2018-07-01T12:33:29Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>8</dw:reply-count>
    <content type="html">Недавно одной подруге подготовил тут ноут с Линуксом. Человек потому что привык к нему и менять на что-то другое не хочет. Обнаружил, что некоторые проприоретарные (и не только) приложения нынче уже идут не обычными пакетами, а в формате AppImage или Flatpak вместо классических пакетов. Такой аналог .dmg в OS X, если кому непонятно. Забавно. Где-то, конечно, классические .deb/.rpm остались параллельно тоже.&lt;br /&gt;Интересно, что AppImage так вообще &amp;quot;установки&amp;quot; как таковой не требует. Достаточно chmod +x сделать. Особенно прикольно, что не требует повышения привилегий, т.е. root. Ставится и работает прямо в /home.&lt;br /&gt;&lt;br /&gt;Для Flatpak всё же надо поставить пакет один в систему, чтобы он понимал этот формат. Но суть ровно та же самая. Судя по тому, что я уже нахожу приличное количество пакетов в этом формате, это оценили.&lt;br /&gt;&lt;br /&gt;С одной стороны, это упрощает жизнь пользователю. И поставщикам всяческих проприоретарных программ, когда не надо думать как же собрать пакет под 100500 дистрибутивов. С другой, уже многократно говорили, что теперь для закрытия уязвимостей придётся обновлять весь зоопарк софта и не факт, что вендор это сможет сделать. Хотя бы потому,&amp;nbsp;что вендора к тому моменту может и не быть. А обновить разделяемую библиотеку которую использует много программ всё же проще.Правда тут возникает другой вопрос, а сможет ли потом программа с ней работать. :)&lt;br /&gt;Но в целом, похоже небольшая революция в десктопном Linux всё же намечается. Или мне кажется?&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=321456" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:319848</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/319848.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=319848"/>
    <title>Принесло релевантным ИТ-чатом</title>
    <published>2018-03-07T20:39:55Z</published>
    <updated>2018-03-07T20:42:18Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>4</dw:reply-count>
    <content type="html">Собственно, я был свидетелем этого разговора,&amp;nbsp;а потом этот текст перекочевал в Телеграм-канал &amp;quot;&lt;a href="https://t.me/DOFH_ru"&gt;Devops from Hell&lt;/a&gt;&amp;quot;. &lt;br /&gt;&lt;br /&gt;&lt;em&gt;В одном профильном чате некий собирающийся в SDS юзер попросил рассказать грустных историй про RedHat'овский GlusterFS. &lt;br /&gt;&lt;br /&gt;Поскольку относительно недавно мы такое втащили на прод (v3.12), накопилось следующее:&lt;br /&gt;* Не может в 4KN диски, т.к. там индусокод под капотом. Переписка с саппортом про 4kn показала, что им пофиг на платного кастомера и баг чинить никто не будет. С этого момента компания отказалась от платной подписки на RH. Из-за 4kn прикола встряли на замену 39 дисков.&lt;br /&gt;* На RHEL7 под systemd демоны его падают каждые несколько часов, в логах sigterm (15), как будто systemd сам их мочит. В какой-то момент окно авторестарта демона совпало на чуть больше, чем половине машин, и кворум кластера был утрачен. Весь продакшен умер, потом вручную в RHV перезапускали все VM.&lt;br /&gt;* OOM у glusterfsd - родовая болезнь. Оно у него всегда было есть и будет. По этой причине на гластер ставятся жирные по памяти машины без дополнительной нагрузки и задач. Делать HCI на нем - это самый короткий путь в OOM hell.&lt;br /&gt;* Из не смертельного, но раздражающего:&lt;br /&gt;&amp;nbsp;- Туда нельзя положить файл размером больше брика, если брики одинакового размера&lt;br /&gt;&amp;nbsp;- Добровольно-принудительное использование XFS&lt;br /&gt;&amp;nbsp;- Проблемы с некоторыми сетевухами Dell из-за которых после нескольких дней uptime скорость GlusterFS деградирует до 10 раз (к счастью, излечимо)&lt;br /&gt;&lt;br /&gt;Нужно ли такое в продакшене? Нет.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=319848" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:319508</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/319508.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=319508"/>
    <title>Можете точно можете сказать "Теперь Ещё Один Всё Понял"</title>
    <published>2018-02-04T15:34:46Z</published>
    <updated>2018-02-04T15:34:46Z</updated>
    <category term="windows"/>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>10</dw:reply-count>
    <content type="html">&lt;span&gt;&lt;div style="-en-clipboard:true;"&gt;&lt;span style="line-height: 1.45;"&gt;Всё началось с того, что в какой-то момент у меня померла ROSA Fresh R9. Для видеокарт NVIDIA прилетел драйвер, положивший мне графическую подсистему. Попытка решить проблему по-быстрому и откатить драйвер на более старую версию привела к тому, что система перестала даже пускать через tty. То есть, оставалось только чрутиться и вытаскивать логи. Что было крайне странно, с таким поведением столкнулся впервые. Но поскольку дело было вечером, а я был уставший и с работы, забил на решение вопроса и просто поставил рядом Windows 10 Creators Fall Update, хотя запасной лаптоп тоже имеется. Тем более, что софт у меня кроссплатформенный по большей части, а скопировать данные не проблема. В общем, свитчнуться туда-обратно как два пальца об асфальт. Что я собственно и сделал. :)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Заранее отвечая на вопрос. Нет, сами по себе в NVIDIA не виноваты, если что. Эта проблема, как я понял, характерна для лаптопов с гибридной графикой. И я не один такой с этой проблемой был, как показало дальнейшее изучение вопроса. Впрочем это тема отдельная. Не будем в неё углубляться. Да и пост не про Linux, а Windows. Причём текст от человека, полноценно использовавшего Windows за своим домашним компьютером в последний раз больше 8 лет назад. До этого были только отдельные попытки посмотреть &amp;quot;нучотамумайкрософт&amp;quot;. В основном, из под виртуальных машин, а не на &amp;quot;живом&amp;quot; железе.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Что поразило:&lt;/div&gt;&lt;div&gt;- Windows стал почти как Linux. Только Windows. Железо подцепилось ещё до первого логина, включая Wi-Fi. Недостающее автоматом подтянулось до самых свежих версий. Без моего участия вообще. Даже не заглядывал в Device Manager. Забавно, даже загрузочный splash screen автоматом стал фирменный, с логотипом производителя лаптопа.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Впрочем, пару драйверов потом вручную поставить пришлось спустя пару недель, когда я в Device Manager всё же залез.&lt;/div&gt;&lt;div&gt;- Внезапно, не требуется вобще никакой настройки звуковой подсистемы по умолчанию, чем мне в Linux приходилось заниматься сразу после первого входа в систему. При подключении внешнего звука операционная система сама уводит воспроизведение звуков туда. Впрочем настроить звуковую карту только для отдельных приложений никто не запрещает.&lt;/div&gt;&lt;div&gt;- Исправили ряд откровенно сырых мест, связанных с расположением настроек, которые видел в первой версии Windows 10. Всё больше и больше уходит в Settings, Control Panel уже почти не нужна. Скорее всего её готовят к удалению, но как водится у белых людей, а не &lt;span style="font-style: italic;"&gt;красноглазых&lt;/span&gt; - она оставлена пока часть функциональности доступна только через неё. Вариант, в настольных ОС выпилят, оставят только в серверных.&lt;/div&gt;&lt;div&gt;- Наконец-то больше нет этого кошмарного изврата связанного с добавлением второго монитора в систему. В старых версиях Windows, даже в &amp;quot;семёрке&amp;quot;, это работало неочевидно и не всегда правильно. Линуксоиды пинали тут Windows совершенно за дело. Сейчас достаточно нажатия сочетания Win+P. Причём не проблема добавить даже беспроводной монитор. Не хватает, пожалуй, только более продвинутого управления окнами. Тут линуксовые KWin или Mutter &lt;span style="font-style: italic;"&gt;очень сильно&lt;/span&gt; опережают по возможностям. А виртуальные рабочие столы официально ещё в первых версиях Windows 10 появились.&lt;/div&gt;&lt;div&gt;- Они убрали этот ужасный подход к настройке сети, тянущийся со времён Vista, который не пинал разве что ленивый! Настройка VPN того же теперь стала очень удобной и простой.&lt;/div&gt;&lt;div&gt;- Беспроблемная работа работа ОС при длительном аптайме. Старые версии Windows в этом отношении были просто ужасны. Пара недель без перезагрузки и система ощутимо начинала лагать, даже несмотря на вроде бы наличие ресурсов. Одна из причин сподвигшая меня к переходу на Linux в своё время. Да, я не люблю выключать машину.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Что сразу стало лучше:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;- Корректно работает гибридная графика. Тут же избавился от VGA-кабеля, на Linux HDMI работает не везде, в случае лаптопов с гибридными видеокартами. К тому же приходится выбирать между рабочим драйвером, где этот режим работает или родным драйвером NVidia, чтобы иногда в поиграть Steam. Есть ещё нюанс, что и драйвер не во всех конфигурациях может взлететь. Особенно если у вас HDMI выведен на дискретную карту, а не встроенную Intel. Если на работе я обычно ставил свободный драйвер и работал ОК, то дома такой подход не годится (см. Steam). А DisplayPort под Linux у меня не работал вообще, от слова &amp;quot;совсем&amp;quot;. Теперь работает.&lt;/div&gt;&lt;div&gt;- Как следствие, у меня теперь корректная поддержка многомониторности. Окна переезжают сами туда-сюда, в зависимости от того, открыл я крышку лаптопа или закрыл. И да, мне теперь не надо прибивать приложения к основному экрану вручную. Что несколько бесило при переходе на KDE 5. Радовало только то, что настраивалось это очень быстро.&lt;/div&gt;&lt;div&gt;- Пропали все проблемы связанные со старыми приложениями вроде DOSBox, которые нормально с многомониторностью в Linux не дружили чуть более, чем никогда. Здесь почему-то с этим проблем нет!&lt;/div&gt;&lt;div&gt;- Мгновенная реакция на любые действия. В Linux такая отызвчивость достигалась либо в весьма простых WM, либо появилась только в KDE5, где значительно более корректно реализована работа OpenGL. У меня&amp;nbsp; порой очень ощутимо лагал KDE4, несмотря на использование OpenGL в качестве рендерингового движка. Это стало очень заметно с переходом на KDE5. Опять же, чем занимались разработчики все эти годы? Пырились в консоль? Впрочем,&amp;nbsp;&lt;a href="http://www.lofibucket.com/articles/dwm_latency.html"&gt;не все со мной тут будут согласны&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;- Корректная работа ACPI. Минуточку, на лаптопе у которого поддержка Linux заявлена вендором &lt;span style="font-style: italic; font-weight: bold;"&gt;официально&lt;/span&gt;. Что вообще отдельная история. То есть наличие заявлений от производителя, что лаптоп поддерживает Linux годится только на конкретную версию ядра и конкретный дистрибутив и то есть нюансы...&lt;/div&gt;&lt;div&gt;- ...которые выражаются в том, например, что всё равно некоторые вещи работать не будут. В моём случае имело место некорректная работа USB3 на моём чипсете. Не самом редком, между прочим. Баг поганый, в сочетании с определённым железом он завешивал мне систему наглухо. Говорите, где баг? Пожалуйста: &lt;a href="https://bugzilla.kernel.org/show_bug.cgi?id=116961"&gt;https://bugzilla.kernel.org/show_bug.cgi?id=116961&lt;/a&gt;. Всем срать, к слову.&lt;/div&gt;&lt;div&gt;- Пропал побочный баг, когда аудиокарточка при смене аудиопотока, при переключении между приложениями, не выдавала звук в течении 8 секунд. Именно так и проявлялось. &lt;span style="font-style: italic;"&gt;Ровно 8 секунд не было звука при запуске любого аудиофайла.&lt;/span&gt; Замерял многократно в самых разных приложениях. В OS X и Windows всё работает мгновенно на этой же самой звуковой карте.&lt;/div&gt;&lt;div&gt;- Больше никаких костылей под ACPI. Корректно работает управление яркостью и громкостью. До релиза R9 мне два года пришлось держать костыль для этого в загрузчике. И даже с костылём проблема не была решена до конца. Всё равно был характерный &amp;quot;затуп&amp;quot; при вызове клавиш смены громкости/яркости, пусть и не такой суровый, когда в системе начинало заикаться и тормозить вообще всё.&lt;/div&gt;&lt;div&gt;- Снова появился доступ к огромному рынку рабочего ПО. Платного, бесплатного, свободного или проприоретарного. Под который не надо сидеть писать конфиги, подбирать сочетание библиотек и окружения.&lt;/div&gt;&lt;div&gt;- Корректно работающая работа мультмедийных приложений по сети. Теперь нет проблем скормить плееру фильм или музыку лежащую на сервере. Эту проблему не могут в KDE починить много лет. В Gnome всё работает. И это тоже проблема, я уже как-то писал, что VFS должен быть единым для всех VM и DE. Тому, кто расскажет про монтирование сетевых каталогов по NFS или SMB - посоветую провести эксперимент, связанный с временной недоступностью сети. Нормальная ситуация на лаптопах с Wi-Fi, например. Да, есть ещё костыль в виде autofs у которого есть проблемы с непредсказуемостью работы при нагрузке на сеть. Проверено в реальных боевых условиях под нагрузкой, к слову.&lt;/div&gt;&lt;div&gt;- Из мелкого. Корректная работа контролов. Во всех приложениях работает перемотка по колесу мыши, нет визуальных багов при переключений из полноэкранных OpenGL приложений в ОС. Например, во время работы какой-нибудь игры нажатие Alt+Tab не приведёт к сбросу настроек монитора, которое лечится ручным вызовом XRandr с нужными параметрами.&lt;/div&gt;&lt;div&gt;-&amp;nbsp; Windows Subsystem For Linux &lt;a href="https://habrahabr.ru/company/ruvds/blog/340306/"&gt;почти созрела для моих задач&lt;/a&gt;. В Creators Fall теперь даже есть возможность работы с портами USB/COM. Кому надо разрабатывать эмбедщину - самое оно. Правда всё ещё нет поддержки raw sockets, надеюсь это вопрос времени.&lt;/div&gt;&lt;div&gt;- Забавное наблюдение, но мой принтер из под Windows печатает быстрее. И почему-то ни разу не возникло ситуации, когда он ни с того, ни с чего впадает в ступор и отказывается принимать задания, пока не зайдёшь в CUPS и не скинешь режим suspended. Почему так, не понимаю совершенно. Возникало абсолютно спонтенно. Принтер сетевой, аппаратный и без всяких GDI. Разницы быть не должно, но она есть. :(&lt;/div&gt;&lt;div&gt;- В целом стало меньше возни, расширился спектр поддерживаемого железа. Вот,пару месяцев назад прикупил себе на распродаже SteamLink который втыкаешь в телевизор и он сразу находит виндовую машину с запущенным Steam, ставит дополнительные драйверы в ОС и корректно всё транслирует на ТВ по сети.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;Но не всё так хорошо, как мне хотелось бы. Чего не хватает:&lt;/div&gt;&lt;div&gt;- Замены &lt;a href="http://www.linuxrussia.com/kde-connect.html"&gt;KDEConnect&lt;/a&gt;. Очень хочется найти. Более-менее похожее можно назвать Pushbullet, но он требует доступа в онлайн и учётку Google для своей работы, что вообще странная идея. Да и работает очень неторопливо так, уведомления прилетают с заметной задержкой.&lt;/div&gt;&lt;div&gt;- Более гибкого управления окнами и скейлингом.&lt;/div&gt;&lt;div&gt;- Более продвинутого управления виртуальными рабочими столами. Пользоваться ими заметно менее удобно, чем Linux.&lt;/div&gt;&lt;div&gt;- Слабовата функциональность Search. Хочется возможностей Spotlight и Krunner. К тому же он почему-то индексирует далеко не всё или делает это очень странно. С чем связано неясно. Если кто пояснит за это, буду признателен.&lt;/div&gt;&lt;div&gt;- Возможности одноклавишного переключения раскладки. Даже в OS X меня бесит переключение по cmd + пробел. Раньше была старинная прожка для этого, но она сломалась в Windows Vista уже. С интересом приму предложения по замене.&amp;nbsp;&lt;/div&gt;&lt;div&gt;- Отдельно огорчает отсутствие нормального эмулятора терминала по функциональности сравнимого с iTerm2 в OS X или Konsole в Linux. Но это не претензия к MS, просто нет такого класса программ пока, в связи с совсем недавним появлением WSL. Работа с серверами у меня никуда не девается даже с домашней машины. Впрочем, надеюсь со временем появится. Putty не предлагать, он ужасен и неудобен. К тому же его замучаешься цеплять к WSL. ConEmu жутко стрёмный и у меня не получилось научить обрабатывать ряд хотекеев. Хотя может исправили, попробую потом ещё разок.&lt;/div&gt;&lt;div&gt;Впрочем подвижки есть, &lt;a href="https://www.servethehome.com/say-farewell-putty-microsoft-adds-openssh-client-windows-10/"&gt;уже реализовали&lt;/a&gt; нативный ssh-клиент для Windows. А также подогнали &lt;a href="https://www.neowin.net/news/microsoft-releases-windows-10-build-17063"&gt;целую пачку&lt;/a&gt; BSD- версий стандартных утилит и &lt;a href="https://blogs.msdn.microsoft.com/commandline/2017/12/19/af_unix-comes-to-windows/"&gt;добавят поддержку AF_UNIX&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;- Некоторые приложения не умеют &amp;quot;на ходу&amp;quot; определять подключение внешней звуковой карты. Приходится перезапускать. Не страшно, просто неудобно немного.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;В общем, я как-то подумал... И решил остаться на Windows 10 Creators Fall, в связи с чем даже честно взял лицензию. CentOS разве что на домашнем сервере останется. Там он работает безукоризненно. Просто потому, что серверные ОС пишут совсем другие люди.&lt;/div&gt;&lt;div&gt;А так, второй раз за долгие годы (после OS X) у меня вообще не возникло какого-либо желания что-то исправлять, патчить, залезать в куда-то глубоко в настройки, дабы сделать жизнь себе более удобной.&amp;nbsp;&lt;/div&gt;&lt;div&gt;Хочется заметить, что Microsoft за за эти годы проделала очень большую работу и от былых претензий у меня уже нет и следа. А вот Linux, увы, до сих пор топчется на одном месте, за исключением серверного сегмента. То, из-за чего мне Windows не нравилась выпилено или переделано до человеческого вида. Исключение составило разве что отключения части функций телеметрии.&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=319508" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:317403</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/317403.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=317403"/>
    <title>ШГ ©</title>
    <published>2017-10-01T12:05:52Z</published>
    <updated>2017-10-01T12:06:42Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Некоторые время назад я пересел на KDE5. В связи с тем, что он уже работает на другом рендеринговом движке, да и шрифтовой движок сильно изменился с тех пор, посему довольно раздражающей проблемой стала крайне плохо выглядящие шрифты в консольном ПО. В OSX и &amp;laquo;дефолтные&amp;raquo; весьма и весьма неплохи, то в Linux с зтим швах. До этого последних лет семь-восемь сидел на Terminus, но на новом движке он смотрится просто ужасно. Решение нашлось, за что благодарствую Алексею Федорчуку, aka alv.&amp;nbsp; Семейство шрифтов Input. Шрифты несвободные, но для персонального использования можно взять совершенно невозбранно.&lt;a href="http://alv.me/vozvrashhayas-k-ttf-shrifty-input/"&gt;&lt;br /&gt;&lt;br /&gt;Ссылочку&lt;/a&gt; для стражджущих прилагаю. Можете почитать что за зверь и если надо, там же найти линк на скачивание.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=317403" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:316288</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/316288.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=316288"/>
    <title>Ещё одна полезная шпаргалка</title>
    <published>2017-09-05T20:36:08Z</published>
    <updated>2017-09-05T20:36:08Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Я уже как-то выкладывал ссылки на инструменты для профилирования ОС (см. верхний пост в блоге). Оказывается, &lt;a href="http://www.brendangregg.com/USEmethod/use-linux.html"&gt;есть дополнение&lt;/a&gt; к нему. Описание, а что мы вообще ищем и какого рода данные. Добавлю в свой список полезного, разумеется.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=316288" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:314467</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/314467.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=314467"/>
    <title>О бездумном копипасте хаутушек</title>
    <published>2017-08-03T17:57:40Z</published>
    <updated>2017-08-03T17:58:43Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>2</dw:reply-count>
    <content type="html">Сегодня на работе разговор как-то зашёл о ресайзинге дисков в Linux под одну из наших задач. В частности, на одной из машин кто-то настроил LVM, положив всё сначала на раздел (mbr/gpt). Из-за этого не выйдет просто сделать pvresize, необходимо менять таблицу разделов. Что порой несколько проблематично, особенно для сервисов, которые критичны к перезагрузкам. Да, знаете ли, есть сервисы где даунтаймы неприемлемы даже на минуту.&lt;br /&gt;&lt;br /&gt;Но откуда эти проблемы? А очень просто всё &amp;mdash;&amp;nbsp; большинство линуксоидов даже не в курсе, что можно сделать том LVM &lt;strong&gt;не создавая&lt;/strong&gt; перед этим раздел в fdisk. Более, того, именно создание LVM на raw и является правильной практикой и уже потом можно на нём выполнить создание файловой системы. И из хаутушки в хаутушку бездумно кочуют шаги начинающиеся с fdisk /dev/sdX.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=314467" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:312552</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/312552.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=312552"/>
    <title>Мыши плакали, кололись, но продолжали жрать свой кактус ©</title>
    <published>2017-06-18T13:45:12Z</published>
    <updated>2017-06-18T13:45:12Z</updated>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Я обещал написать про свой переход на KDE 5. Обещания надо сдерживать. :)&lt;br /&gt;&lt;br /&gt;Итак, что хорошо в KDE 5?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Он быстрый. Нет, он реально БЫСТРЫЙ. Такое впечатление, что ты используешь какой-нибудь сверхкомпактный WM без ничего, настолько молниеносная реакция на всё. Причём не в SSD дело. Я и до этого его тестировал в виртуальных машинах и на &amp;laquo;живом&amp;raquo; железе установленном на обычном HDD. Windows даже с SSD кажется дико медлительным и тяжеловесным после него.&lt;/li&gt;&lt;li&gt;Рендеринг шрифтов. Он стал намного лучше.&lt;/li&gt;&lt;li&gt;Пропала необходимость в костылях подкладываемых в Grub, требуемых для корректной работы клавиш подсветки экрана. Наконец-то явно начата работа в сетевой части KIO-VFS. Smplayer уже наконец-то научился кэшировать и подгружать файлы кусками при воспроизведении из сети, а не качать целиком. DeaDBeeF теперь без проблем начал проигрывать песни с SMB хранилища, но вот Clementine увы. Хотя при этом отлично видит сеть и ресурсы расположенные на сервере.&lt;/li&gt;&lt;li&gt;Я не фанат &amp;laquo;плоских&amp;raquo; тем, но в этот раз мне реально нравится оформление, хотя есть ещё над чем поработать.&lt;/li&gt;&lt;li&gt;Krunner научился управлять гораздо большими вещами связанными с запуском программ, но всё же хотел бы видеть в нём ещё и функциональность Spotlight из OS X. Реально цены не будет. Тем более, что всё необходимое в движке давно KDE имеется! В KDE 4 зачатки этого даже были, кстати.&lt;/li&gt;&lt;li&gt;Заметно лучше стало с многомониторными конфигурациями. Теперь при закрытии крышки ноутбука он автоматически переносит экран на внешний монитор, если тот подключен.&lt;/li&gt;&lt;li&gt;Теперь стало можно убрать этот проклятый cashew! Спустя столько-то лет! Натурально, главная новость года. Спустя тонны тредов, твиков и мата в багрекерах разработчики признали, что эту штуку надо бы убирать, если она не нужна.&lt;/li&gt;&lt;li&gt;Встроенный архиватор Ark стал юзабельным спустя столько лет! И заметно более быстрым. Не может не радовать.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Что плохо:&lt;br /&gt;Сыро, сыро, сыро! Вроде уже версия 5.9.4 у меня, плюс-минус все типовые задачи покрываются, но недоработок много. &lt;br /&gt;&lt;br /&gt;Из того, что увидел сходу:&lt;ul&gt;&lt;li&gt;Отвалилась часть софта написанного на GTK+. Перестали работать глобальные клавиши (например в DeaDBeeF) и меню вызываемое правой кнопкой мыши (как минимум, в DeadBeeF и FileZilla) по щелчку в трее. Также если ты свернул программу в трей, невозможно её вернуть обратно. Только прибить и запустить заново. Касается не всех программ, но многих судя по воплям в Интернете.&lt;/li&gt;&lt;li&gt;Перестало работать отключение тачпада при подключении мыши. Теперь только вручную. Что очень неудобно.&lt;/li&gt;&lt;li&gt;Пару раз упала Plasma, но ничего серьёзного не сломалось, к счастью.&lt;/li&gt;&lt;li&gt;На экране входа не включается фокус на поле ввода пароля, если пользователь один в системе. Кстати, включённую раскладку не показывает тоже, зато можно посмотреть пароль.&lt;/li&gt;&lt;li&gt;Управление несколькими звуковыми картами. Приоритет звуковых устройств работает только для приложений написанных на Qt. Хотя раньше работало для всех (в т.ч. запущенных в Wine). В KDE 4 до PulseAudio 8.0 точно.&lt;/li&gt;&lt;li&gt;То ли не нашёл(?), то ли забыли вернуть на место настройку звуковых уведомлений для системы. В частности, не могу отключить системные звуки при удалении файлов, смене громкости с клавиатуры, и т.п.&lt;/li&gt;&lt;li&gt;Несмотря на улучшение работы с многомониторными конфигурациями, он всё ещё не умеет корректно запускать программы только на том мониторе, который у меня является основным. Нет, изменить можно и без проблем, конечно. Но требует ручной настройки, хоть она и быстрая &amp;mdash; пара щелчков мышью.&lt;/li&gt;&lt;li&gt;При наличии очень гибких настроек для масштабирования интерфейса на HiDPI мониторах, при включении этой настройки часть софта отрисовывается с артефактами. Причём ладно бы написанного на другом тулките, точно так же проблемы с ПО на Qt5!&lt;/li&gt;&lt;li&gt;Определённо есть деградация производительности VFS в сетевых задачах. И уж точно он сосёт с производительностью в OSX (разика так в два причём).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Итоговое резюме:&lt;br /&gt;Направление взято верное. Стали наконец-то думать о пользователе, а не &amp;laquo;давайте забабахаем фичу&amp;raquo;. Но работы предстоит довольно много. &lt;br /&gt;&lt;br /&gt;Вот это всё нашёл в течение пары дней. Сколько найду в дальнейшем &amp;mdash; ХЗ. &lt;br /&gt;Я пока этот кактус догрызу конечно, но видимо всё-таки следующей системой у меня будет OS X (в чём я больше уверен), ну или перейду на Gnome 3 (хотя там свои проблемы тоже есть).&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=312552" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
  <entry>
    <id>tag:dreamwidth.org,2015-04-03:2395083:312041</id>
    <link rel="alternate" type="text/html" href="https://techquisitor.dreamwidth.org/312041.html"/>
    <link rel="self" type="text/xml" href="https://techquisitor.dreamwidth.org/data/atom/?itemid=312041"/>
    <title>Linux на декстопе, часть N</title>
    <published>2017-06-04T11:59:12Z</published>
    <updated>2017-06-04T12:05:58Z</updated>
    <category term="мысли вслух"/>
    <category term="software"/>
    <category term="linux"/>
    <dw:security>public</dw:security>
    <dw:reply-count>0</dw:reply-count>
    <content type="html">Я давно откладывал написание этого текста в силу того, что считаю всё здесь написанное изрядным капитанством. Но, недавняя эпидемия WannaCry и очередная итерация воплей &amp;laquo;надо переходить на Линукс!&amp;raquo; сделала своё дело.&lt;br /&gt;Эта заметка &amp;mdash; печальное резюме моего трёхлетнего опыта работы над настольными дистрибутивами Linux и общих наблюдений за ситуацией в стране в ИТ-сфере в целом. Не претендуя на истину, выскажу лишь свои субъективные замечания, которые у меня сформулировались к текущему моменту. Я буду очень рад ошибиться в написанном, но сейчас я вижу ситуацию именно таким образом. Ещё раз напоминаю, что тут я говорю только о настолькном применении. Сервер и embedded &amp;mdash; это совершенно другая стихия, здесь я их не затрагиваю.&lt;br /&gt;&lt;br /&gt;Во-первых, он банально &lt;i&gt;никому не нужен&lt;/i&gt;, потому что линукс-сообществу нечего предложить. За десятилетия существования системы никаких серьёзных инноваций за исключением серверного сегмента и некоторых техник из области программирования сделано не было. Но для конечного пользователя не было сделано ровным счётом&amp;hellip; ничего. Даже фишки вроде менеджеров пакетов и те куда успешнее и лучше используются прямыми конкурентами. Тут я заодно процитирую своего бывшего коллегу Сашу Казанцева aka akdengi: &lt;br /&gt;&lt;br /&gt;&amp;laquo;&lt;em&gt;Десктопный Линукс как был мифом так и остался. Окромя Гугла по сути никому не удалось что-то внятное на ядре сделать, да и тот &amp;quot;мутит&amp;quot; уже свое проприетарное. Лозунги про свободу, равенство и безопасность хомячков не прельщают&amp;hellip;&lt;/em&gt;&amp;raquo;. &lt;br /&gt;&lt;br /&gt;Единственное место, где кое-как подобные системы будут жить &amp;mdash; защищённые дистрибутивы. Но это крайне узкоспециальная ниша, кроме особо секретных госов и военки нигде не будет востребована. Если говорить про Россию, теоретически, тема с импортозамещением может взлететь, особенно на почве текущих валютных колебаний. Но я в этом крайне сильно сомневаюсь. Профессиональное сообщество отнюдь не линукс-теоретиков уже успело крепко разочароваться итогами ряда проектов. Как итог, все, кто что-то знает и умеет, скрепя сердце расходятся в другие места.﻿ В том числе обратно в мир MacOS и Windows и на гораздо большие зарплаты.&lt;br /&gt;&lt;br /&gt;Вторая причина была хорошо сформулирована уважаемым &lt;span style='white-space: nowrap;'&gt;&lt;a href='https://arkanoid.dreamwidth.org/profile'&gt;&lt;img src='https://www.dreamwidth.org/img/silk/identity/user.png' alt='[personal profile] ' width='17' height='17' style='vertical-align: text-bottom; border: 0; padding-right: 1px;' /&gt;&lt;/a&gt;&lt;a href='https://arkanoid.dreamwidth.org/'&gt;&lt;b&gt;arkanoid&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; на одной из посиделок с ним. Смысл её в том, что нет систем, которые будут просто &lt;i&gt;удобны&lt;/i&gt;, пусть и без инноваций. И не красноглазым вроде нас, а обычным &lt;b&gt;&lt;i&gt;не техническим&lt;/i&gt;&lt;/b&gt; пользователям. Я сам считаю. что такие системы есть. На мой взгляд, здесь можно указать ROSA и ElementaryOS. Но проблема этих обеих ОС в том, что в масштабах Fedora или Ubuntu (и тем более Windows) они слишком маргинальны. Если вы пойдёте на произвольный сайт производителя программы, пишущего софт под Linux, то ROSA с Elementary в списке там явно не будет. А пакет, скачанный с этого сайта, будет заточен, скорее всего, под крайние версии какой-нибудь Fedora или Ubuntu. Не всякий техспециалист разберётся, как решать все эти проблемы с зависимостями. Да ещё в каждом конкретном пакете они будут свои. Про т.н. казуального юзера вообще молчу. Как вы понимаете, юзер плюнет на это и пойдёт куда? Правильно &amp;mdash; в MacOS и Windows.&lt;br /&gt;&lt;br /&gt;Третья причина вытекает из второй. Юзабилити и вообще отсутствие людей понимающих, что реально важно для пользователя. Если с юзабилити и так давно всё ясно. В 99,9% опенсорсного софта оно попросту отсутствует. И если консольные программы действительно почти достаточно неплохо отлажены и имеют более-менее унифицированный подход к работе (хотя, например, особенности работы find не в первый раз ставят в тупик даже подготовленных айтишников), то с графическими приложениями, несмотря на явный и заметный прогресс, дела обстоят всё ещё ОЧЕНЬ плохо. &lt;br /&gt;С работой над важными для пользователя вещами всё ещё печальнее. Фактически, единственной ОС, которая хоть как-то пыталась решить эти проблемы, являлась всё та же ROSA. Но опять же, т.н. &amp;laquo;продвинутое международное опенсорсное сообщество&amp;raquo; (в реальности же дико косное, не желающее перемен и всё ещё боготворящее технологии и подходы тридцатилетней давности, отягчённых вдобавок NIH-синдромом) даже не поняло постановки вопроса. Какие-то очень скромные наработки в эту сторону есть у openSUSE и Ubuntu, но там это реализовано настолько топорно, что хочется плакать. С Ubuntu ситуация к тому же крайне плачевная. За столько лет жизни Canonical, Марк Шаттлворт так и не нашёл как это можно монетизировать и дистрибутив медленно, но верно идёт ко дну. Один из таких звоночков, Ubuntu с большим трудом смогла устранить проблему с LightDM после ухода Мартина Питта и сокращение штата компании в целом. Кругом сплошные стратеги, концентрирующихся на глобальных вещах, но начисто игнорирующие всё остальное. В итоге дистрибутивы релизятся с такими проблемами, что не знаешь плакать или смеяться. &lt;br /&gt;Почему такое происходит? Да всё то же самое, о чём говорили многие и не по одному разу хоть сколько-нибудь вменяемые специалисты. У технарей работа юзабилистов и дизайнеров вызывает непонимание и нередко презрение. А зря. И проблема осложняется тем, что, например, юзабилисты &amp;mdash; класс специалистов, который just for fun не работает в принципе. За крайне редкими исключениями. Не говоря уже о том, что юзабилити-тестирования &amp;laquo;по науке&amp;raquo; требуют недешёвого оборудования, студий и массу людей (которым тоже надо заплатить). Одним лаптопом или системником для работы здесь не обойдёшься. &lt;br /&gt;Усугубляет проблему тот факт, что нет единого стандарта на интерфейс и в целом отсутствуют хоть какие-то гайдлайны. К настоящему моменту у нас имеется адская куча фреймворков и тулкитов, в которых одна и та же программа не то, что отрисовывается &amp;mdash; ведёт себя по-разному! Вот что мне навскидку вспомнилось: Qt всех версий, GTK+ всех версий, wxWidgets, EFL&amp;hellip; Корпоративный софт вообще до сих пор нередко сидит на давно забытом ПО. К примеру, GUI клиента для Cintrix XenApp под Linux, отвязалось от древнего Motif только в прошлом или позапрошлом году! И добавьте к этому кошмарный зоопарк из WM и DE. Те кто считают, что ничего сложного в поддержке такого нет, рекомендую в качестве практического упражнения сесть на первую линию техподдержки какого-нибудь провайдера и попробовать настроить Интернет (скажем, PPPoE) по телефону без всяких там Radmin и TeamViewer не разбирающимся в технике лиентам с: Windows XP, Vista, Windows 7, Windows 8, Windows 8.1 и немножечко MacOS разных версий. А есть ещё люди установившие себе всякие ZverDVD&amp;hellip; После недельки работы там, быстро мнение о простоте работы поменяете.&lt;br /&gt;О тестировании всего этого зоопарка я просто помолчу, как о покойнике.&lt;br /&gt;&lt;br /&gt;Последняя и самая серьёзная проблема в Linux, заключается в его собственной природе. Не существует такой ОС как Linux. Linux &amp;mdash; это ядро. Вместо этого есть горка разрозненных операционных систем, нередко тотально несовместимых между собой это самое ядро использующих. Почти три года назад я уже вскользь &lt;a href="http://techquisitor.livejournal.com/236159.html"&gt;упомянул&lt;/a&gt; об этом. На сей раз, я скажу более прямо &amp;mdash; надо закапывать почти все дистрибутивы и оставлять не больше четырёх-шести. Причём оставшиеся должны быть максимально совместимы между собой. Опыт Android, ChromeOS, да что там говорить, даже MacOS, говорит за то, что единая платформа &amp;mdash; благо для подавляющего большинства. А что до остальных&amp;hellip; Ну, есть же тематические формы посвящённые ОС на ассемблере там. Пусть живут, но про них будут знать считанные единицы и хоть сколько-нибудь всерьёз про них не говорят.&lt;br /&gt;Безусловно, причин провала Linux на десктопе существенно больше, я затронул лишь самую очевидную верхушку. Начиная от крайне узкотехнических проблем вроде отсутствия поддержки криптоконтейнеров через pkcs#11 в GnuPG или проблемах линковки библиотек в разных системах, кошмарное количество уже написанного legacy, которое набило оскомину абсолютно всем (собственно, на одном из проектов над которым работал, видел реально рабочий и до сих пор активно эксплуатирующийся софт, написанный на Oracle Forms 6i, например). Или если уж совсем энтерпрайзно &amp;mdash; SLA. Точнее, его отсутствие. &lt;br /&gt;А почему Linux не пошёл в госсекторе, &lt;a href="http://techquisitor.livejournal.com/177886.html"&gt;писал&lt;/a&gt; добрых семь лет назад. И за эти годы ситуация практически не изменилась. Если не сказать &amp;mdash; стало хуже.&lt;br /&gt;&lt;br /&gt;Дискасс.&lt;br /&gt;&lt;br /&gt;&lt;img src="https://www.dreamwidth.org/tools/commentcount?user=techquisitor&amp;ditemid=312041" width="30" height="12" alt="comment count unavailable" style="vertical-align: middle;"/&gt; comments</content>
  </entry>
</feed>
