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)
Ответ на: комментарий от Tark

Раньше ты делал fopen + fscanf? Теперь будешь делать journal_open + journal_scanf. Библиотека не потребует ничего системоспецифичного, читай хоть в ДОС.

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

Я бы понимал, если бы они JSON или BSON хотя-бы использовали, так ведь нет, видимо на чужом велосипеде седло не по размеру.

У них лог индексированный, для быстрого поиска.

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

SysV не часть базовой системы
Upstart не часть базовой системы
rc.d не часть базовой системы

системд - часть базовой системы?

Серьезно тебе говорю, бросай курить тяжеляк.

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

А есть идёт речь об обслуживании парка различных серверов?

Ну тогда конечно, старинный лайвсд - то что нужно серьёзному админу.

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

Кэп конечно помог, только вот восстанавливать [..] данные всё равно приходится.

да, хорошо.. тут работы будет много... (хотя причём тут логи от системного мэнэджера? да и вообще причём тут логи?)

Кэп конечно помог, только вот восстанавливать картину происшествия [...] всё равно приходится.

восстановить картину? как это? типа:

«„“ первым упал BIND-сервис...

но долго сопративлялся, срал ошибками... но в конечном итоге упал

система попыталась его запустить ещё раз, но он тутже упал сразу

затем вторым свалился NGINX..

перед сваливанием NGINX очень жадобно стонал своими fd-error....

..слёзы наворачивались (и лица отчаинья!) у ещё-не-успевших упасть сервисов...

... ... ...

»«»

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

Линк на порт под ДОС? Да хотя-бы линк на библиотеку для чтения этих логов под винду, пойдет библиотека для любого языка.

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

Ты это, не про суть размышляй, а по факту.

По факту, назовите ОС для которой нет текстового вьюера, но есть уникальная тулза для разбора бинарных логов.

Бывает ситуация когда лог с одной машины нужно посмотреть на другой. Хорошо если для этого нужен лишь текстовый вьюер, а если специальная тулза, которая отсутствует на машине? Понятно, что это все решается, но в ситуации когда вам потребовалось разбирать логи, как правило, лишнего времени не бывает.

A-234 ★★★★★
()
Ответ на: комментарий от Manhunt

Кто мешает в BSON или JSON индекс сделать? Закинуть отдельным массивом индекс в конец файла и всё. Хочешь используй индекс, хочешь нет.

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

Научились читать глазами прямо с блочного устройства? ;-)

С экрана умеем. Выхлоп файла на экран/stdout - это не «чтение с помощью дополнительных программ».

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

Хватит уже мусолить одно и то же. Это как с телефонами - у одних зарядка через mini/micro USB, а другие - айфоны. И если mini/micro USB можно легко найти/купить (ибо оооочень много где используется), то айфоновский провод - хрен найдешь, всегда с собой носить надо.

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

упокоительного.

*успокоительного.

По Фрейду. Я за первый вариант.

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

Но ведь проблемы для которых нужны логи могут возникнуть уже сейчас. А там есть вебсервер, генератор QR-кодов, но логи читать можно только на машине с systemd?

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

Хинт: если система не грузится, то логи systemd можно вывести на консоль (можно даже на ttyS, если вы такой некрофил, или на syslog) с помощью аргумента systemd.log_level=уровень.

а если система не грузится совсем, то есть абсолютно? куда вбивать этот аргумент?

lazyklimm ★★★★★
()

Тетрис, тетрис же забыли добавить...

Jurik_Phys ★★★★★
()

Вообще, все те, кто поддерживает инициативу Леннарта, вопрос вам: вот вы на работе/дома пишете какую-нибудь программу. Какие логи вы используете? Пишете для каждой такой программы свою реализацию бинарных логов? Или все-таки используете простые текстовые (e.g. 'perl hello.pl > hello.log')?

kovrik ★★★★★
()

апачь и энжиникс в шоке!!!

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

Вчера на сюсе новой видел, знакомый хотел networkmanager запустить, после всех мучений я все-таки догадался systemctrl start NetworkManager.service попробовать и все пошло. Что-то я упустил момент когда они переехали. Так бы и не узнал.

crunchy_crow
()

Их заметили пользователи федоры, которые при обновлении обнаружили, что systemd теперь зависит от libmicrohttpd и qrencode

Я всегда считал поттеринга м@#$%^м, но это уже кретинизм.

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

К сожалению, миром правят идиоты. Или подлецы. Или и то, и другое.

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

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

Boboms ★★
()

Воскресите пожалуйста жену Ганса Рейзера и познакомьте ее с Поттерингом.

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

вы уж извените (читатели ЛОР), но я настолько воодушевился этой фразой (читать лог «игнорируя файловую систему»)

Сколько радости может доставить собственное невежество. Да, текстовый файл можно читать, полностью игнорируя файловую систему, просматривая содержимое секторов диска.

dm1024 ★★★
()

SystemDOS уже не за горами.

unikum ★★★★★
()

Мир сошёл с ума! 2012 год подходит к концу.

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

С 12.2. У меня после обновления из-за systemd ждущий режим отвалился, а если через обычный инит загрузку выбирать, то пульса не работает. Всё леннартовские поделки портят.

ViTeX ★★★★
()

Звучит крута. Пойду поставлю себе systemd, с генератором QR-кодов и и HTTP-сервером. Это даже лучше, чем блэкджек и шлюхи.

AiFiLTr0 ★★★★★
()

...и детям запрещу пользоваться

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

У них лог индексированный, для быстрого поиска.

И легкого накрывания медным тазом при малейшем сбое.

sergv
()
Ответ на: На тёмной стороне от Manhunt

Этой утилите требуется external-утилита 'браузер' или, хотя бы, telnet, для чтения этих самых логов. Ну и к серверу должен быть сетевой доступ, который как-то должен подняться. Короче, пложение (плодение?) сущностей без меры.

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

Арч и не считается серверным дистрибутивом, о сюси не знаю. И никто лозунги не кричит, прямо сказали что sysvinit некому поддерживать. 5-6 двухстрочных конфигов вместо одного комбайна rc.conf меня не особо беспокоят.

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

как будто инит нужен когда ты рекаверишь систему :)

инитрд нужен, с cat, head, more|less, nano, tail, fdisk fsck.*....

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

я одного понять не могу. у самого турвальдса же вроде федора. неужели он не видит во что превратился этот дистриб? неужели он со свем согласен? ГДЕ ФАК Ю, ПОТЦЕРРИНГ?

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

Напомни, в каком году шифрование диска отменили?

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

Темная моя голова, таких светлых мыслей не приходит...

kma21 ★★★★
()

бинарный дистрибутив. этим все сказано. в кузявой генте:

http? ( net-libs/libmicrohttpd )
qrcode? ( media-gfx/qrencode )

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

Почитал я про хттп. Бинарные логи, отдача их через по сети и т.д. У Потинга с логикой все в порядке ? Зачем ему хттп сервер то ? Мда... встроил бы сразу скуль-сервак, тут и бинарность и сетка и скорость ... + куча удобства для анализа !

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

Какой дистрибутив исповедует идею «у нас никогда не будет поделок поттеринга»? Слаку и дебиан не предлагать.

Убунта, нет? Тред не читал.

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

из относительно старого сообщения турвальдса: «stop making it sound like we would *want* systemd to do even more odd things.» https://lkml.org/lkml/2011/11/22/313

интересно, что бы сейчас сказал автор ядра на хттп в системдё

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