LINUX.ORG.RU

systemd In Action, part 4

 


4

3

И мы опять продолжаем.

В этой части серии мы попытались оценить устойчивость бинарного формата лог-файлов journald к произвольным повреждениям, испытали передачу логов по сети с одной машины на другую (нативным для journald способом), произвели настройку сетевого соединения на тестовой машине с помощью networkd/resolved и, наконец, продемонстрировали работу с D-Bus интерфейсами systemd и вспомогательных демонов (ради чего они, собственно, и были сделаны демонами).

Помимо видеоряда также имеется подробная текстовая аннотация.

Авторы: PaulCarroty, like-all, intelfx.

(В случае проблем с доступом к tlhp.cf также имеется зеркало.)

>>> Подробности

★★★★★

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

Что добавит симплинк в /etc/systemd/system/multi-user.target.wants, что равносильно добавлению в директиву wants юнита multi-user.target, так?

Совершенно верно.

Где нужно смотреть?

man systemd.exec... неочевидно, согласен.

Ты как говоришь, будто бы journald - единственное ПО, умеющее перенаправлять stdout/stderr в логи.

Ну я и написал — зависит от тебя. Если ты в каждый юнит добавишь вызов враппера, который перенаправит файловые дескрипторы stdout/stderr в сислог и сделает exec целевого процесса, то всё будет работать и без journald.

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

Ты упорно игнорируешь то, что я написал. Это не просто «ключ, которым подписывается всё». Это ключ, которым можно подписать только будущие логи, но не предыдущие.

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

ок, не вопрос. я посмотрел твой профиль и понял, что я упустил - 1996 год.

любая, вообще любая программа решает строго определённый конечный круг юзкейсов.

Есть еще вариант. Решает всего _один_ юзкейс.

Чем там славился юникс, я не знаю

а ты почитай;)

http://en.wikipedia.org/wiki/Unix_philosophy

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

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

да? не знал. нее, freebsd не любят брать что-то из мира линукс. аналог могут.

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

я посмотрел твой профиль и понял, что я упустил - 1996 год.

О. Ad hominem засчитан, дальше ответ не читал. Давай, до свидания, учись троллить тоньше.

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

О. Ad hominem. Всё с тобой понятно. Дальше ответ не читал.

Любитель использовать понятные только ему фразочки :)

Успокойся, никто твой системд говном не испортит, ибо само по себе оно - говно :)

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

Спасибо. Мне достаточно знать, что это латынь - ныне мёртвый язык.

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

И что ты выиграл от смены ОС?

А что от нее может выиграть игрун, нежелающий терпеть линуксопроблемы?

Ты знаешь :)

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

из-под картонных коробок на помойках доносятся последние хныки Unix-вытиранов...

Аж в голос заржал :-D :-D :-D

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

то вот что ему помешает исправить и переподписать?

Тебе что, комикс нарисовать по статье где поясняется как это работает? Если ты так до усрачки уверен - ну возьми и сделай утилиту, подделывающую логи. Местные хейтеры тебя в задницу от восторга поцелуют, я просто уверен. Они бы и сами давно сделали, просто программировать никто не умеет.

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

Точно

Note that the actual implementation in the systemd codebase is the only ultimately authoritative description of the format, so if this document and the code disagree, the code is right.

Тем более формат описан абсолютно точно.

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

Итак У тебя рут Поток логов Ключ для подписи Возможность сгенерить новый ключ

Отнюдь глаиолус стройка Лаваш курить старый башмак

anonymous
()
Ответ на: Точно от chemistmail

И вообще API есть, нафиг заморочки.

Instead of implementing your own reader or writer for journal files we ask you to use the Journal's native C API to access these files.

Только писать нужно на С обязательно, ну на худой конец ffi юзать.

chemistmail
()
Ответ на: И вообще API есть, нафиг заморочки. от chemistmail

И упаси вас боже лезть в наше дерьмо.

Это только наше дерьмо и ничье больше. Ну вы поняли. Or, to put this in other words: this low-level document is probably not what you want to use as base of your project. You want our C API instead! And if you really don't want the C API, then you want the Journal Export Format instead! This document is primarily for your entertainment and education. Thank you!

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

Есть еще вариант. Решает всего _один_ юзкейс.

Ага, например journald великолепно справляется с хранением логов, а systemd с контролем демонов с учётом зависимостей. Каждая программа решает только свою задачу и делает это максимально хорошо. Это - основа философии unix, одним из наглядных примеров реализации которой и является стек systemd.

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

Только хранить на отдельном носителе надо не verification key, а систему, способную читать (проверять) лог-файл. Админы локалхоста, скорее всего, будут вводить ключ в скомпроментированную систему, прямо в подхаченный journalctl.

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

У тебя рут Поток логов Ключ для подписи Возможность сгенерить новый ключ
Отнюдь

чего нет на хосте?

рута? но мы условились что есть человек который раньше логи подделывал и теперь хочет. то есть рут есть

потока логов? если его нет, то и подделывать нечего

ключа для подписи? если ключ для подписи на другом хосте, то подделывай-не хочу себе еще до передачи на другой хост.

чего означает Ваш «Отнюдь»?

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

Ага

Так на хаскеле пару библиотек в паблик выложил за полгода, да и то хрень, snmp, ну то не для нормальных, нормальные json по сети гоняют. А там какой-то повернутый ASN.1 да и вообще там без чтения rfc не обойтись, скука одним словом.

chemistmail
()
Ответ на: Ага от chemistmail

И читаю я раздел для девелоперов так,

Чтоб убедиться в собственной никчемности, там же все что нужно людям есть, есть export который может работать медленней чем логи пишутся, есть инструменты для потокового мониторинга логов. В общем все есть, просто у меня кейсы не правильные и шерифа не волнуют.

chemistmail
()
Ответ на: И читаю я раздел для девелоперов так, от chemistmail

А это шедевр.

All code must be written with the fact in mind that a file with inconsistent structure file might just be inconsistent temporarily, and might become consistent later on. Для логов, типа а мир подождет, когда-нибудь все будет ништяк.

Эта хрень ломается и будет ломаться постоянно, она ущербна изначально. Допущение что мы можем иметь не согласованный (хз как по руки сказать правильней) файл с бинарной структурой, с тем что потом оно будет в порядке это сильно круто, заменить механизм append only в текстовом формате, на mmaped файл на диске в бинарном формате, с тем что целостность структур мы можем согласовать позднее....

Чуваки к успеху придут.

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

chemistmail
()
Ответ на: А это шедевр. от chemistmail

два чая этому господину

кстати, это же и касается «ядра» системд, ничего не мешало запилить свой start-stop-demonD с почти всеми «фичами»(сокетная активация, cgroups и пр.)

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

Ну я и написал — зависит от тебя.

Не от меня, а от разработчиков дистрибутива. Дистрибутив, в котором нужно что-то править за мейнтейнерами нужен только разве для того чтобы поиграться с ним. Для серьёзного бизнеса такое не прокатит, руководитель не будет ждать пока ты неделю занимаешься конфигодрочерством.
Я не говорю, что конкретно systemd-based дистрибутивы неудобны, их минус - количество одновременно-активных юнитов, превышающих сотню и сложные dbus-запросы. Минус init-based дистрибутивов - сложность скриптов. Почему бы не создать дистрибутив, основанный на гибридной системе инициализации: допустим демоны будут запускаться из юнитов, а сокеты и точки монтирования будут открываться скриптами, запускаемыми из-под юнитов. Система инициализации в этом случае станет менее развесистой.

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

а какие есть дистрибутивы для серьёзного бизнеса, кроме RHEL и Oracle?

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

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

Брать дистрибутив с systemd/journald и героически его оттуда выпиливать — исключительно твой выбор.

их минус - количество одновременно-активных юнитов, превышающих сотню и сложные dbus-запросы

А кого это волнует? Это волнует либо разработчиков, либо человека, который сам лично пожелал разобраться в том, как устроена система изнутри.

Тем более про dbus-запросы. Тебе кто-то предлагает писать их руками? :]

Почему бы не создать дистрибутив, основанный на гибридной системе инициализации

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

intelfx ★★★★★
() автор топика

Спасибо, жду продолжения!

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

Почему бы не создать дистрибутив, основанный на гибридной системе инициализации: ...

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

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

Любую полезную идею можно донести до начальства. Не получается - делай сам, возможно будет полезно еще кому-то. В чем твоя проблема?

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

А кого это волнует? Это волнует либо разработчиков, либо человека, который сам лично пожелал разобраться в том, как устроена система изнутри.

То есть ты хочешь сказать, что рядового применителя не должно интересовать как устроена система. То есть рядовой применитель должен скачать образ DVD, запустить программу инсталляции, которая установит ему на компьютер несколько гигабайт софта, не спрашивая нужен он ему или нет, а потом работать с этим чёрным ящиком, не задумываясь о том что у него в настоящий момент работает софт, который может: занимать лишнее место на диске, забивать оперативную память и ресурсы процессора, открывать ненужные сетевые сокеты, создавать лишний трафик в сети, пересылать кому-то данные о компьютере и пользователях. Это не параноя. Вот у меня сейчас стоит systemd-based дистрибутив Altlinux 7 KDesktop. С какого-то перепугу при установке в нём устанавливаются avahi (который не нужен, только лишний трафик в сети создаёт) и bluez (который на десктопе вообще - по недоразумению). Дальше - больше, настроил iptables, запретил входящие соединения, вся информация о дропнутых пакетах идёт в лог, и по логам вижу, что как будто кто-то сканирует мои порты, не провайдер 100%, ломятся в 23, в 80, в 6881. ip-адрес я получаю от провайдера динамически, 10 минут назад он не принадлежал никому, стало быть вывод - какая-то софтина передаёт мой ip-адрес налево.
После всего изложенного ты всё ещё считаешь, что рядового применителя не должно интересовать как устроена система? Особенно применитель дистрибутивов, ориентированных на сферу образования, госучереждения и серьёзный бизнес.

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

$

сколько платят тролям за рекламу вантуза на пингво-ресурсе?

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

домино

да, да, у них будет свой сыстэмД, с домино и красными чертовками

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

Чем там славился юникс, я не знаю

вот в этом-то и проблема... фактически определённые силы пингвина тащат на заклание морскому леопарду из Редмонда в сторону вантуза

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

вывод - какая-то софтина передаёт мой ip-адрес налево

Вывод неправильный.

Hint: что делает команда nmap -p 23,80,6881 192.168.0.0/24?

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

Нет, ты не понял. Я в курсе про «философию Unix» и так далее. Просто я считаю, что это хрень и следовать нужно не догматическим принципам, а инженерным соображениям.

intelfx ★★★★★
() автор топика
Ответ на: И вообще API есть, нафиг заморочки. от chemistmail

Только писать нужно на С обязательно

Не понял твоего сарказма, но на всякий случай, на, пиши на чем хочешь, хоть на Хаскеле:

Related Packages

    Go Bindings for the Journal API, socket activation and DBUS
    PHP Bindings for the Journal APIs
    Node.JS Bindings for the Journal APIs
    Lua Bindinds for systemd APIs
    Node.JS Support for systemd Socket Activation
    Experimental Qt bindings
    Haskell socket activation
    Haskell Journal API
    Ruby bindings for the Journal APIs
    Erlang bindings for the Journal APIs
    Erlang journald backend for Lager
    Perl bindings for the Journal APIs
    GLib bindings

Note that Python support for the Journal is included in systemd's tarball

Отсюда: http://www.freedesktop.org/wiki/Software/systemd/

alex_the_v ★★★
()
Последнее исправление: alex_the_v (всего исправлений: 1)
Ответ на: А это шедевр. от chemistmail

Эта хрень ломается и будет ломаться постоянно

Я тут только что закончил rsyslog настраивать с лоадбалансингом, спланком, грейлогом и прочими ништяками. Давай расскажи мне какой journald плохой и не работает. В четверг у меня было одно желание - убить нахер Райнера, но сначала долго пытать.

Хотя, в чем-то ты прав: journald сыроват. Однако, rsyslog - хоть и весьма зрелая вещь, но крива как моя жизнь. Да и вся архитектура syslog угребищна донельзя, такое ощущение, что придумывали пятиклассники на перемене. Надежное логирование получить в теории невозможно.

Вывод: все говно в этом сраном мире.

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

ты всё ещё считаешь, что рядового применителя не должно интересовать как устроена система?

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

И ему незачем ломать голову над всем этим бредом сивой кобылы, который ты описал выше. Для этого нужны специалисты, которые в отличие от тебя понимают как все работает и для чего нужны avahi, bluez etc. А если не понимают, то не разбрызгивают сопли на форумах, а читают документацию и решают проблемы.

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

avahi (который не нужен, только лишний трафик в сети создаёт)

Тебе не нужен, а мне нужен: у меня по нему CUPS принтеры находит, пульсаудио звук передает с ноута на десктоп и я с женой в pidgin'е общаюсь. Если тебе не нужен - снеси. Или у тебя в Альте он намертво гвоздями прибит? Ну, тогда замаскируй в systemd. Не нравится - не ставь Альт, ставь Демьян из нетинсталл, там по умолчанию нет ни рожна, или Арч, или Федору так же с нетинсталла. Все еще не нравится? Собери свой дистрибутив, сколоти сообщество, и решайте сообща включать вам Авахи или не включать. Альт, вот, решил, что надо включать.

вывод - какая-то софтина передаёт мой ip-адрес налево

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

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

И всем нужна столь полезная фича, нахождение принтеров (без добавления вручную) передача звука с ноута на десктоп (а смысл?)? Какие-то бессмысленные оправдания.

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

Тогда и вопрос бессмысленный.

Нет, мне и вправду интересно, что выиграл человек, которого бинарные логи побудили к смене ОС, от замены GNU/Linux на MS Windows (в которой, на минуту, логи всю жизнь были бинарными).

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

А экономия десятка мегабайт на диске всем нужно? Что ни домохозяйка то эмбедщик с десктопом на микроконтроллере и дискете 3.5"?

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