LINUX.ORG.RU

Systemd 194, теперь с HTTP-сервером и генератором QR-кодов

 


3

3

Выход очередной версии init-демона systemd продолжает радовать пользователей новыми встроенными функциями.

В частности:

  • опция HandleSleepKey в logind.conf была разбита на HandleSuspendKey и HandleHibernateKey, старая опция более не доступна;
  • почти полностью удалена утилита multi-seat-x, минимальная обертка оставлена до тех пор, пока DM не начнут поддерживать новую логику перечисления графических устройств Xorg;
  • nspawn теперь создает символическую ссылку /etc/localtime в окружении контейнера;
  • исправлено поведение при отсутствии /etc/vconsole.conf, теперь в этом случае не будет загружаться никакой шрифт;
  • journald теперь пишет в лог максимальный размер, который файлы журнала могут занимать на диске;
  • опция параметра journalctl -n теперь необязательна и по умолчанию равна 10;
  • journalctl -f теперь реагирует на изменение размеров терминала и разбивает строки соответственно;
  • новая опция --cursor в journalctl позволяет выводить записи начиная с определенного места журнала;
  • добавлена поддержка journalctl для bash-completion.

Но две функции привлекли особое внимание. Их заметили пользователи федоры, которые при обновлении обнаружили, что systemd теперь зависит от libmicrohttpd и qrencode. Это стало причиной активно продолжающегося обсуждения в рассылке.

Оказалось, что обе функции связаны с journald — собственной заменой syslog-демона, как известно, входящей в состав systemd. Среди прочего, он отличается тем, что ведет логи в бинарном виде вместо текстового.

Зависимость от qrencode объясняется реализацией функции Forward Secure Sealing, journalctl из состава systemd использует qrencode для вывода QR-кодов в текстовой консоли.

А поскольку логи хранятся бинарно, для работы с ними нужны дополнительные программы. Зависимость от libmicrohttpd вызвана тем, что в состав systemd теперь входит встроенный http-сервер journald-gateway, умеющий отдавать логи в текстовом и json-формате. Его основное предназначение автор видит в синхронизации журнала по сети.

Так выглядит http-сервер journald-gateway в действии

>>> Леннарт про FSS и QR-код

anonymous

Проверено: JB ()
Последнее исправление: Silent (всего исправлений: 3)
Ответ на: комментарий от kovrik

Если я скачаю практически любой дистрибутив, сделаю загрузочную флешку, то смогу читать любые текстовые логи - потому что cat и тп. по сути дефолтные утилиты. А какие-то там бинарные логи - не смогу, потому что хз какой у них формат (а он еще меняться будет от версии к версии), и хз какую программу для этого надо будет качать

В принципе пофиг - аварийной загрузки-то после «мудрого» слияния /bin'ов и невозможности вынесения /usr На другой раздел все равно нет...

А там грузишься с DVD и, если памяти хватит, разбираешь логи.

jackill ★★★★★
()
Ответ на: комментарий от baka-kun

А что мне нужно набрать в греп для этого? и да, не /bla/w00t.. , ни /ZmEu, представившись /w00t

Чтение man re_format с выражением — $100 за параграф. Это так сложно — прогрепать строки вида

Для тех, кто не знает перл, в таких случаях рулит awk, он написан именно для разбора и анализа текстовых баз данных (его краткое описание умещается в man awk, а пошаговое руководство с подробностями и хитростями описано во входящем в комплект gawk-а файлике документашки).

Что-то вроде:

awk 'substr($6,1,9)=="/w00tw00t" && $NF="\"ZmEu\""'

Но конкретно для этой задачи вполне достаточно:

grep '"GET /w00tw00t.*"ZmEu"$'

anonymous
()
Ответ на: комментарий от jackill

В принципе пофиг - аварийной загрузки-то после «мудрого» слияния /bin'ов и невозможности вынесения /usr На другой раздел все равно нет...

Что забавно, пока дебиановцы и сусеводы планируют аналогичное слияние, сами федоровцы уже жалеют о том, что сделали его. :)

anonymous
()
Ответ на: комментарий от kovrik

Более того, текстовые хоть в винде можно читать, хоть слить на электронную книгу :)

Теперь жди - версия 1.9xx - отправка логов на аккаунт amazon kindle админа...

Потом распечатка их в pdf. Для этого туда запилят какой-нить microtinycups.

Можно еще прием писем организовать - все равно веб-сервер есть.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

Что забавно, пока дебиановцы и сусеводы планируют аналогичное слияние, сами федоровцы уже жалеют о том, что сделали его. :)

В принципе, можно все «вылечить обратно». Думаю, будут соответствующие репы.

jackill ★★★★★
()
Ответ на: комментарий от Wizard_

Для унификации формата логов. На текущий момент текстовые логи пишутся абы как, потому как нет формата.

Потому что программы разные. И разным программам важны разные вещи.

jackill ★★★★★
()
Ответ на: комментарий от baka-kun

Чем это лучше банального cat http-access.log | grep … | cut … ? Первый же реальный пример, и systemd хуже уже существующего механизма.

Зато сколько работы.

Проблема Y2K была жирной. А тут проблема SYSTEMD... Реальная. Обновился - и пипец. Все скрипты слетели. Всю систему доставки логов переписывать заново. Хостинги, облака. Все заново.

И поскольку все глючит, Поттеринг обеспечил себя работой на века.

jackill ★★★★★
()
Ответ на: комментарий от jackill

ещё больше жести!

Как же всё-таки доставляет баттхёрт идиотов, не осиливших пару абзац текста, но считающих себя некоитальными спецами по компам... правда разработчики дистрибутивов почему-то всё-равно не считаются с их мнением, что баттхёрт только усиливает :-D

anonymous
()
Ответ на: комментарий от jackill

Потому что программы разные. И разным программам важны разные вещи.

Но из этого вовсе не следует, что нет задач, для которых бы эта унификация сгодилась. Напротив, такие задачи есть: какие-нибудь вотчдоги, фронтенды и прочее.

Wizard_ ★★★★★
()
Последнее исправление: Wizard_ (всего исправлений: 1)
Ответ на: комментарий от rave

Давайте не будем мудрствовать лукаво

По факту так: берем не баш+бинутилс, который для вас «суть размышлений», а любой другой шел. И картина будет совсем другой. Мне вот лично в ipython ничего не нужно. В принципе.

И если уж говорить о «сути размышлений», так она в том, что чтение текста любым ПО организуется с минимальными затратами и единообразно в пределах конкретной ОС (а и за пределами отличается тока признаком конца строки). Это в отличие «от».

k0valenk0_igor ★★★
()

Бритвой Окамма поттерингу по ....

Zidane
()

А если хорошо подумать, то во всё виноваты пользователи и свобода. Есть дистрибутивы свободные от этой гадости, туда люди и сваливали, а был бы один дистрибутив, то народ бы быстро сломал поттерингу руки, чтобы не возводил замки из фекалий.

Zidane
()
Ответ на: комментарий от Zidane

Плох тот поттеринг, который не мечтает стать гейтсом!

хехехе

Oleaster ★★★
()
Ответ на: комментарий от jackill

Fedora умудряется даже виснуть. Ubuntu - нет

Пронзаю пространство: Биарный проприетарный блоб драйвера видеокарты. Ты кто такой, Шатлворт банальный бинарный зонд? Досвидания.

anonymous
()
Ответ на: ещё больше жести! от anonymous

правда разработчики дистрибутивов почему-то всё-равно не считаются с их мнением,

Разработчики дистров, работающие в Редхат? Так им платят за любовь к systemd.

tailgunner ★★★★★
()

Я слоупок. Может кто напомнить мне, почему Леннарт выбрал бинарный формат для логов? Чем это было обусловлено?

P.S. systemd просто работает в opensuse 12.2, ноут реально быстро загружается, засыпает и просыпается.

ekzotech ★★★★
()
Ответ на: комментарий от vasily_pupkin

Пока что никто из отдающих /w00tw00t.* не использует какой либо стандартный способ ведения логов. Так что - пичалька :D

Мне очень интересно что будет в системах без этого вашего системд. Вот запущу я этот апач на фряхе или винде. И где там мне набирать твой журналцтл?

anonymous
()
Ответ на: комментарий от ekzotech

Я слоупок. Может кто напомнить мне, почему Леннарт выбрал бинарный формат для логов? Чем это было обусловлено?

Ему приспичило к старт/стопу юнита выдачу его журнала приделать. А это действительно удобнее делать из индексированной базы.

На него дружно наехали - нафига лисапедостроением занимаешься? Возникла отмаза: хочу проблему с модификацией журнала при взломе разрулить.

И вот теперь это такое кривое, уродское, мегакастыльное журналирование. Причем с сетью оно работает практически «никак», т.к. прилеплен pull вместо push.

Ну и что, что разваливается от первого чиха. Зато оно делает это очень быстро! ;-)

Да, и главный мегакозырь поцтеринга - ему на всех насрать. Он - Дартаньян, а все остальные - сами знаете кто.

sergv
()

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

Причины, думаю, понятны.

ZigmunD
()
Ответ на: комментарий от ZigmunD

Надо собирать средства, либо на то, чтобы не успел доползти, либо заплатить чтобы он стал крестиком вышивать, а не клавиатуру бездумно тыкать.

Zidane
()
Ответ на: комментарий от Zidane

...а не клавиатуру бездумно тыкать.

А он не бездумно тыкает. Он свои бредовые идеи реализует насрав на мнение тех, кто ему сразу на просчеты в проектировании указывает. А потом старательно делает вид, что это фича такая, а не ошибка в проектировании. Что порождает следующий виток костылей с ошибками. И т.д.

sergv
()
Ответ на: комментарий от sergv

Хм. Весьма интересно.

Да и вообще, с pulseaudio я уже ужился, с systemd уживаюсь. Посмотрим, что он дальше будет делать.

ekzotech ★★★★
()
Ответ на: комментарий от reserved

Systemd 194, теперь с HTTP-сервером и генератором QR-кодов

Теперь банановый!

И с пупырышками

router ★★★★★
()
Ответ на: комментарий от anonymous

робяты как бы пофиг но как делать tail -f с бинарными логами то?

Последний раз tail -f я запускал года 1,5 назад, когда генту ковырял и было скучно смотреть на emerging libreoffice, а так видно, сколько уже скачалось.

ekzotech ★★★★
()
Ответ на: комментарий от val-amart

nuff said.

Да, сразу видно консерватора. Это из серии, зачем нужен vim, если есть vi? Зачем нужен vi, если есть ex? Зачем нужен ex, если есть ed?

Я и не спорю, что скриптами и специализированными командами всë это можно сделать, но предлагается же готовое решение, которое выполняет конкретно свои задачи.

cruxish ★★★★
()
Ответ на: комментарий от cruxish

Я и не спорю, что скриптами и специализированными командами всë это можно сделать, но предлагается же готовое решение, которое выполняет конкретно свои задачи.

Мля. Ещё раз. Как в винде, фряхе, макос и тд это всё сделать? Цигвин можно наживить и все скрипты заработают. А вот этот твой элитный журналцтл где взять?

anonymous
()
Ответ на: комментарий от dm1024

Поразительно, как это вам удалось всю извращенческую гадость последних лет собрать в одном предложении. И все это - порождение конкретно Red Hat? ОМГ!

Ещё GNOME 3 забыли. Груб-таки нет, но он как раз самый вменяемый из всех, остальное пилитсяребятами из RH.

Vudod ★★★★★
()
Ответ на: комментарий от Wizard_

Но из этого вовсе не следует, что нет задач, для которых бы эта унификация сгодилась.

им кто-то мешает унифицироваться? почему-то все веб сервера и даже ftp пишут лог в одном и том же формате без systemd — мистика!

anonymous
()
Ответ на: комментарий от unsigned

Имелось в виду - без специализированных программ для чтения логов.

frost_ii ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Ну например? grep универсально грепает CR/LF потоки.. А что у нас еще универсальное то? (%

Это троллинг такой? sed, awk, less (more уже, наверное, никто не использует), cat (ну и tac тоже полезен иногда), head, tail и другие.

HerrWeigel ★★★★
()
Ответ на: комментарий от slackwarrior

Блекджеки в systemd уже есть, а кандидат на роль ш@#$и очевиден.

router ★★★★★
()
Ответ на: комментарий от anonymous

Нет, я про нормальное решение. Чтобы логи mpop-а шли в отдельный файл, т.е. не выводились в основных логах, не парсились logwatch-ем и т.д. И чтобы от них хранились только последние три дня.

Почему ты считатешь это решение нормальным в ситуации с десктопом?

Я не хочу каждый раз при открытии лога на этой конкретной машине выяснять, логи каких программ тут ведутся и что мне надо отфильтровать. Я хочу один раз всё настроить, и больше не иметь себе моззги.

Зачем что-то выяснять?

vasily_pupkin ★★★★★
()
Ответ на: комментарий от baka-kun

Чем это лучше банального cat http-access.log | grep … | cut … ? Первый же реальный пример, и systemd хуже уже существующего механизма.

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

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

Мне очень интересно что будет в системах без этого вашего системд. Вот запущу я этот апач на фряхе или винде. И где там мне набирать твой журналцтл?

wat

vasily_pupkin ★★★★★
()
Ответ на: комментарий от anonymous

Отреверсишь формат БД твой конкретной версии и вперёд, к звёздам, писать костыли, лол.

anonymous
()

triple facepalm. Нет, ну серьёзно: после этого называть дистрибутивы gnu/linux unix-подобными грешно.

IPR ★★★★★
()
Ответ на: комментарий от vasily_pupkin

Эвент лог вычитавай ёпт

Пример: проксик/нат с линем и бинарным журналом накрылся. Все перенесли на винду/фрю/макакось (временно).

Страшный начальник требует ответа на вопрос - а куда ходил с рабочего места Ляпкин-Тяпкин 33-го мартобря, когда все еще писалось на лине.

Диск живой, ext3 прекрасно монтируется, файлы журнала - вот они.

Вопрос - открыть чем???

sergv
()

Печально что это говно в дистрибутивы начинает пролезать. Никто не знает в убунте планируется переход на systemd?

FreeLiver ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.