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

\me (бурча) и эти люди запрещают нам ковыряться в носу говорят, что bsd мёртв.

В этой вашей BSD в базовой системе Apache есть. И ничего, никто не умер от бугурта.

AptGet ★★★
()

Бурлим мы и бурлим, а Поттеринг неумолимо делает свое дело хорошее или плохое

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

Выхлоп файла на экран/stdout

Дану. :) Такой выхлоп или cat делает или more/less/grep/cp или настройка в syslog. Но вовсе не магия. А от отвалятся они у вас - что делать будете? ;-)

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

Хватит уже мусолить одно и то же.

Дайте уже потроллить. :)

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

А всё почему? Ганс не знал, кого надо душить в первую очередь!

хехе

Oleaster ★★★
()
Ответ на: комментарий от I-Love-Microsoft

Нет. Systemd как раз модульный, генератором QR-кодов никто не заставляет пользоваться. Почитай вообще его посты.

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

Вот вы тут смеётесь все, а потом будете рассказывать внукам, типа жила-была такая ОС GNU/Linux, а потом скатилась в СГ, и виноват был в этом Поттеринг

А спросят вас,

- деда, а что ты сделал, чтобы предотвратить это?
- а нихрена, внучок, сидел на ЛОРе трындел

www.linux.org.ru/jump-message.jsp?msgid=7544139

И ещё какая-то была цитата про него. Что всем не нравится, кто-то встаёт на защиту, а в итоге принимается во все дистрибутивы. Не могу найти - может, не заапрувили на Lorquotes просто.

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

самое смешное, что journalctl по-умолчанию как раз всё пейджером и отображает, а для чего-то еще нужно флаги мусолить)

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

Похоже у Linux обноружен фатальный недостаток: название должно было быть Lenarx.

не, они в паре работают: /vmlinuz и /usr/bin/lennard :)

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

не понимаю, почему все так против

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

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

как же теперь они (вчерашние специалисты по поиску в текстовых логах) — будут выделятся среди толпы?

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

скачивай исходный код от SystemD и компилируй udev — кто тебе мешает?

читай писания своих святых (в частности гея сиверса):

We properly support *running* (and distros can do such packaging) a standalone udev, for people who run systems without systemd. We just do not support fully separated standalone *builds* at the moment, and maybe we never will.

дадада, пока ещё можно получить отдельные файлики и запустить отдельно удев.

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

набери в терминале systemd<TAB><TAB> а потом подумай, если этот список не помещается на FullHD экран, всё ли здесь в порядке?

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

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

He has no life! (C) South Park

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

>> не понимаю, почему все так против

> потомучто боятся что вчера они были крутыми специалистами по компьютерам, а завтра — могут стать обычными простыми парнями :) ..

Я тут выше давал ссылки на новости о старых дистрибутивах Linux. Никакого воя на поттерингоподелки «ааа, сделали PulseAudio, зачем, ALSA лучше!». Выть стали когда попробовали и распробовали, а не когда ещё не пробовали поттерингоподелки.

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

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

бугага. людишки бегающие по курсам пауршела^Wсистемд и побирающиеся цмдлетами^Wновыми_крутыми_запросами, на разных помойных сайтах, серьёзная угроза специалистам.

anonymous
()

Чего-то с каждым Днём всё страшнее и страшнее. Интересно чего он там в конечном итоге замутить хочет?

gBopHuk
()

ждем эксплоитов для systemd.

insider ★★★
()

Требую ещё шлюх в systemd! Новое название ОС буде Sysyemd...

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

Чего-то с каждым Днём всё страшнее и страшнее. Интересно чего он там в конечном итоге замутить хочет?

Сложно понять на этой стадии.

Когда он заявил, что sysv нехорошая субстанция я мысленно согласился. Когда он сказал, что протокол syslog придумал некий гомосексуалист, я полез в гугл - так и есть. Но сегодня, когда я прочел новость о веб сервере в init, я снова полез в гугл - все упрекают, но свечку нико не держал.

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

почему например кде работает без бинарных конфигов

Внезапно, погугли на «sycoca» (который планируют выпилить, кстати).

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

набери в терминале systemd<TAB><TAB> а потом подумай, если этот список не помещается на FullHD экран, всё ли здесь в порядке?

Сотым шрифтом?

$ systemd
systemd                           systemd-cgls                      systemd-gnome-ask-password-agent  systemd-nspawn                    
systemd-analyze                   systemd-cgtop                     systemd-inhibit                   systemd-stdio-bridge              
systemd-ask-password              systemd-delta                     systemd-machine-id-setup          systemd-tmpfiles                  
systemd-cat                       systemd-detect-virt               systemd-notify                    systemd-tty-ask-password-agent  
anonymous
()

Когда Systemd превратится в SystemOS (SOS)?

wintrolls ☆☆
()
Ответ на: комментарий от beastie

но не в init же?

systemd тоже не один монолитный бинарник. И уже давно не только init.

AptGet ★★★
()
Последнее исправление: AptGet (всего исправлений: 1)

заметили пользователи федоры

Fedora® уже сменила название?

Deleted
()

Вообще это очень похоже на пароноидальный бред. Согласен с Федорчуком, что дело плохо. Red Hat, видимо, решил грохнуть Линукс. Ладно бы они погубили Федору, пусть её и жалко, 14 была вполне годная. Зачем они заставляют всех остальных пользоваться этим!!! Пропихивают своё поделие в стандарты.

Ни GRUB2, ни HAL, ни даже PulseAudio не были такими упоротыми поделиями, как это, от них был реальный толк, пусть и не сразу. Здесь же с каждым днём/выпуском всё безумнее и безумнее.

Если rpm-based фактически уже можно хоронить, то deb-based пока держатся, но сколько это продлится, не ясно.

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

видимо, решил грохнуть Линукс.

точно, и пойдут зарабатывать на BSD.

Если rpm-based фактически уже можно хоронить,

Ты внезапно не на кладбище работаешь?

Deleted
()

journalctl из состава systemd использует qrencode для вывода QR-кодов в текстовой консоли.

Ждем в зависимостях форкнутый Поттерингом mplayer, который нужен, чтобы показывать в текстовой консоли аниме.
Этот чувак сам не остановится.

thesis ★★★★★
()

планируется ли добавление видео плеера? Ведь во время загрузки можно просматривать рекламу?

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

- деда, а что ты сделал, чтобы предотвратить это?

Откуда такая тяга у всех к занимательству с компом секасом на пустом месте? (комментарий)

2. Эти программы (системные) уже перешли навеки в категорию таких, за которые не платят. Потому лучше выучить жабку и вебню, работать на работе, читать книжки, фрилансить и выдумывать стартап. А драйвера для мышки напишут студенты (lol, другие, не я).

Deleted
()

Все «ненужное» в лоровских традициях можно просто не использовать. Точнее даже наоборот - тот же самый journal надо было еще включить. Какое-то время я продолжал использовать syslog в паре с journal - никто друг другу не мешал. С включенным journal легко смотреть, почему какой-то сервис не запустился. Потом вовсе привык, а /var/log стал казаться помойкой. Еще доставляет фича с выводом в json. Прикрутить бы это как-нибудь к mongodb...

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

Значит, sha1 в git - это похвально и правильно, а qr/fss в journald - это определенно что-то дурное?

Дурацкая затея, на самом деле. Даже если фоткать этот QR-код мобилкой, всё равно для проверки ключ надо набрать на клавиатуре с мобилки. А если всё равно набирать его с мобилки, то какая разница, фоткать его как QR-код или просто как текст в консоли? Те, у кого есть мобилка/фотик, итак давно уже не переписывают текст с экрана на бумажку.

Но дело даже не в этом. Криптостойкость такого подхода под вопросом. Это же не защищает от того, чтобы стопнуть демон, откусить конец лога, который надо скрыть, и запустить демон снова. Поток останется целостным, код будет действительным, никто ничего не заметит.

Но самое страшное — это дурацкий бинарный формат. Он — самая большая дыра в этой «схеме безопасности», потому что его может читать только сам же systemd-шный демон. В результате можно тупо затроянить его, чтобы он не писал в лог и не отображал пользователю выбранные злоумышленником куски лога. А кроме как через него, другого доступа к логам всё равно нет.

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

Осталось только понять, что в Вашем понимании убиенное GNU/Linux, и так ли это плохо ;D

Ха-ха. А может и хорошо :)

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

Внезапно, погугли на «sycoca» (который планируют выпилить, кстати).

Это кеш конфигов, а не сами конфиги. Кеш конфигов может быть бинарным.

Другое дело, что слой абстракции в виде sycoca может позволить в будущем менять формат конфигов как заблагорассудится, а заблагорассудиться может по-разному.

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

десктоп это уже ретроградство, все давно пересели на ноутбуки

Это совсем не так. Ноутбуки вымирают в пользу планшетов и смартфонов. А десктопы как были так и есть.

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

теперь бинарные логи. зачем?

Место на диске экономить, хотя бы.

Нет. Для этого придумали logrotate, который успешно gzip-ит (bzip-ит, xz-ит, на ваш выбор) логи уже пару десятков лет. Если хочется, то в обычном rsyslog-е есть потоковое сжатие, чтобы писать логи сразу в сжатом формате, для экономии места.

Идея бинарных логов была в том, чтобы превратить их в базу данных, по которой можно делать быстрый поиск, типа «выдайте мне лог такой-то программы за такое-то число».

В ответ ему, кажется, автор rsyslog-а писал, что для этого не нужен бинарный формат, есть уже куча готовых программ, которые можно цеплять на обычный syslog, они его проиндексируют, и даже в базу данных могут сложить (навскидку GrayLog2, ElasticSearch, Solr...), и поиск в них намного лучше и фичастее. Но разве поттеринг будет кого-то слушать?

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

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

Тогда и я свой. Однажды затроянили у нас пустой забытый сервак и повесили на нём свою фишинговую страничку какого-то банка, затрояненный sshd, который логил все пароли, и ботнет клиент с irc-управлением. Базовый набор, в общем-то, даже руткитов не ставили. Естественно все логи за собой удалили. Целиком. Просто снесли файлы.

Сервер был пустой и никому не нужный, мы бы ничего не заметили, но пришло уведомление от провайдера, что мы хостим фишинговый сайт. Так вот, благодаря тому, что логи были текстовыми, банальный grep /dev/sda легко нашёл удалённые файлы и все задействованные в затроянивании айпишники, которые были отосланы провайдерам и переданы соответствующим органам.

Попробуйте-ка повторить это с бинарным логом.

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

Прощения прошу, писал по памяти, попутал с systemctl

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

по экономию места бинарными логами.

Место экономить можно было 20 лет назад.

Имхо, того-же порядка аргумент, что и «сокращение времени загрузки сервера» или «снижение износа диска при загрузке компьютера» :)

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

Я Хочу что бы этот дибил написал хотя бы конвертер логов работающий в командной строке и поддерживающей конвейеры.

Дык, вот и конвертор! С помощью wget-а скачиваешь лог в json-формате, затем с помощью любого консольного json-парсера или какой-нибудь программы из одной строчки ни Perl, и пайпишь его куда хочешь. Unix-way же! :)

Если серьёзно, то он пилит journalctl для этого. Глянь в сабже, сколько в ней изменений. Вон, недавно починил её, чтобы она реагировала на изменение размера консоли. :) Конечно, без багов не обходится. Самый эпичный — запускаешь journalctl, а он пустой лог выводит и делает вид, что так и надо. Но пилится потихоньку...

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

А от отвалятся они у вас - что делать будете? ;-)

Давай потроллим до конца: шелл-то у тебя точно есть, без него journalctl не запустить. Значит while read do echo заменит cat. Без всяких дополнительных программ. :)

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

Я Хочу что бы этот дибил написал хотя бы конвертер логов работающий в командной строке и поддерживающей конвейеры.

Твое желание исполнено давным-давно. Успокойся же

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

а utmp бинарный тебя не смущает?

Во-первых, utmp — не лог.

Во-вторых, «а они тоже…» — не аргумент.

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

вот если бы systemd — отдавал бы логи (для целей синхронизации) — НЕ по HTTP-протоколу, а по какомуто своему-велосипедно-собственному — то готов поспорить на всё что угодно — что это не вызвало бы таких возмущённых комментариев.

Если от этого будет легче, то судя по исходникам, он умеет отдавать логи и в своём велосипеднобинарном формате тоже, для этого надо, чтобы в HTTP-запросе был отправлен заголовок Accept: application/vnd.fdo.journal.

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

по своей структуре — он модульный.

А если из него журнал удалить, то будет ли он собираться и работать?

Journald это что-то вроде EventLog в винде (честно, очень похоже). И сам systemd прилично от него зависит. В федоре у меня в своё время не получилось открутить от него journald. Получилось только запустить rsyslog на выводе journal-а. Может сейчас что-то изменилось?

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

Зачем они заставляют всех остальных пользоваться этим!!! Пропихивают своё поделие в стандарты.

Этот тезис меня вообще убивает насмерть. Ето как если какой-то м-к будет иметь мнение, что надо всем младенцам отрезать головы, а его будут показывать по телеку и рассказывать его идеи в обязательном порядке детям, будет виноват всё равно он

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