Rootlexx писал(а): ↑02.03.2014 17:59
Верно, не проще. Но простота не единственный критерий.
Не увлекайтесь, я говорил лишь о принципе KISS. В данном контексте простота - главный критерий.
Rootlexx писал(а): ↑02.03.2014 17:59
Как я уже писал, я согласен, что текстовый формат более универсален, ибо его можно читать непосредственно, а для журнала требуется утилита для преобразования. С другой стороны, обработка и фильтрация текстового файла порой затруднительна, ибо он слабо структурирован.
Не забывайте, мы говорим о логах, а не о любых текстовых файлах. Что там в логах такого нашлось, что затрудняет фильтрацию и из-за чего нужно городить бинарные форматы? Мне такие логи не попадались.
Rootlexx писал(а): ↑02.03.2014 17:59
journalctl из состава systemd умеет открывать журнал из другой системы (см. опцию -D).
И то хлеб.
Rootlexx писал(а): ↑02.03.2014 17:59
Можно точную цитату? Я нашёл лишь:
Rootlexx писал(а): ↑02.03.2014 17:59
- но здесь идёт речь не о невозможности преобразования некоторого init-скрипта, а лишь о сложности этой задачи для некоторых скриптов в сравнении с большинством.
Степень сложности не оговаривается. Это значит, что в принципе может существовать скрипт, который не удастся превратить в сервис-файл без потери функциональности.
Поскольку скрипты могут содержать любой код, такое вполне реально.
Rootlexx писал(а): ↑02.03.2014 17:59
Не все программы используют предлагаемые systemd функции типа сокет-активации, но они не являются необходимыми. Типы сервисов (man systemd.service, директива Type) на мой взгляд исчерпывающие. Поэтому прошу привести примеры сервисов, не работающих с systemd, или точную цитату, подтверждающую ваши слова.
Точную цитату не дам, это общее впечатление от прочитанного.
Например, та же ситуация с демонизацией торрент-клиента. Изначально программа не является демоном.
shell-скрипт позволяет устроить запуск программы, как демона.
Реализовать такое в systemd - отдельная задача. Которая, вроде бы решаема - на первый взгляд.
Но как будет работать - неизвестно. И таких программ может быть больше одной. У меня, например, wget одно время работал в похожем режиме.
Поэтому просто поставить пакет - это ещё не вся миграция.
Тот факт, что systemd не обязан нянчиться с "не демонами" - не аргумент, ибо средствами скриптов это решалось без проблем.
Оставлять же для таких программ старую схему с расчетом на совместимость со стороны systemd - это вообще смешно. То есть получается, раньше у меня была
одна схема инициализации (которая
работала, чёрт побери!), а теперь я должен у себя держать
две схемы - и старую, и новую. Ведь фирменные инструменты systemd будут неприменимы к программам загружаемым по старой схеме, так?
А на фига мне тогда systemd?
Если старая схема всё равно у меня останется, я и без systemd прекрасно обойдусь.
То есть мне придётся держать у себя гибрид из двух систем, и мне ещё пытаются объяснять, что так проще и удобнее. Бред.
Rootlexx писал(а): ↑02.03.2014 17:59
А может, новое решение нужно тогда, когда старое перестаёт устраивать?
Не ощущаю принципиальной разницы. Перестаёт устраивать, значит появились задачи, которые в рамках решения не выполняются.
Вопрос: какие
новые задачи появились у системы инициализации, которые невозможно выполнить в рамках старой схемы?
Rootlexx писал(а): ↑02.03.2014 17:59
Я затрудняюсь сравнивать утилиты, выполняющие совершенно разные функции.
Это и не требуется.
Раньше мне для работы с логами хватало cat+grep, ну ещё awk иногда. И эти инструменты работали всегда и безотказно.
Сейчас же мне предлагают "разные утилиты (systemctl, journalctl, timedatectl и так далее)". Особенно "и так далее" мне нравится, то есть я даже не знаю, сколько их, этих утилит.
При этом использование cat+grep+awk никто не отменял.
То есть к моим трём с половиной утилитам добавляется ещё десяток, которые, кстати, надо осваивать, при том, что
задачи мои не изменились. И мне это ещё пытаются представить, как более простое решение. Самим-то не смешно?
Rootlexx писал(а): ↑02.03.2014 17:59
А теперь вернитесь к моему сообщению и прочитайте его, включая два последних абзаца.
Напомню Вам фразу, на которую я отвечал
Rootlexx писал(а): ↑01.03.2014 19:02
systemd делает одну вещь: управляет сервисами
Содержимое двух последних абзацев вашего поста не делает эту фразу менее абсурдной. Вы не хуже меня понимаете, что "управление сервисами" - это сильно больше, чем одна задача.
Насчет размытости формулировок: они не настолько размыты, чтобы оправдывать создание явного монстра с кучей возможностей и бинарными форматами и представлять это всё как "одну вещь: управление сервисами".
Слишком толсто.
Кроме того, systemctl и journalctl явно содержат дублирующие функции (как минимум: форматирование вывода).
Таким образом, systemd нарушает по крайней мере три принципа:
- одна программа - одна задача
- использование текстовых форматов
- передача вывода одной программы на вход другой программы.
Да, я прекрасно знаю, что многие утилиты не вполне соответствуют принципам unix.
Но зачем ориентироваться на такие программы? Тем более городить в результате ещё худшего монстра?
Непонятно.
Где-то в обсуждениях проскальзывало, дескать, пусть недовольные форкают Дебиан и делают, что хотят.
Тогда придётся форкать все дистры, где есть недовольные systemd.
Вот надо бы наоборот: не дистры переделывать под Леннартовы поделки, да ещё форкать потом, а Леннарту запилить собственный дистр с блекджеком и... ну вы поняли. Желающие к нему бы присоединились. Это было бы более справедливо и менее затратно. Но здесь политика, поэтому здравый смысл на втором (или на каком?) месте.