LINUX.ORG.RU
ФорумTalks

Всё, Поттеринг победил

 


0

2

Сейчас в arch-dev-public идет обсуджение миграции на systemd, в котором один человек высказался против выпилвания SysVInit. Никто его не поддержал. Зато другой товарищ пообещал в случае продолжения спора и игры в демократию вписать в пакет systemd строчку replaces=('initscripts').

из аргументов: поддержка сразу двух систем - слишком трудозатратно, плюс важный системный софт скоро перестанет работать без системд

Господа, ваши боги тоже преклонили колени перед Могучим Леннартом?

sudo cast DoctorSinus

★★★★☆
Ответ на: комментарий от Axon

Тут в основном дело касается интеграции udev с systemd. С лаптопом ходишь по разным местам, и втыкаешь в него разные штуки. И вытыкаешь разные штуки. Получается следующая проблема:

1. Надо запускать службы и сервисы при подключении устройств 2. Надо тормозить службы и сервисы при извлечении устройств

Как это решается сейчас? Пихается костыль в udev, характерный для каждого дистрибутива. Например:

$ cat 99-pcscd-hotplug.rules  | grep RUN
ACTION=="add", ENV{PCSCD}=="1", GROUP="pcscd", RUN+="/bin/env IN_HOTPLUG=1 /etc/init.d/pcscd --quiet start"

Что мы тут видим? Дистрибьютор поставляет мне правила udev, с предопределенным сервисом для запуска. Кто сказал, что мне нужен только он? Может быть я хочу выполнять группу действий. Мне нужно дописать

1. загрузочный скрипт для группы 2. правило для udev

С systemd можно было быть сделано примерно так: TAG+=«systemd», ENV{SYSTEMD_WANTS}=«nfc.target»

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

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

Тут мне придется решать следующие проблемы. При запуске/останове: 1. Шаблонизация настроек итд 2. Граф зависимостей для сервиса

При останове: останов общей службы при отсутствии других сервисов его использующих.

Собственно вот с этим множественным запуском и проверкой необходимости останова будут вопросы. В openrc, к примеру, при останове одного бут сервиса сети будет остановлено все дерево. Вне систем загрузки с депграфами нужно будет родить свой костыль.

В systemd вопрос решается шаблонизироваными таргетами, которые так-же шаблонно биндятся на устройства, и свойства StopWhenUnneeded.

При использовании systemd для управления пользовательской сессией, можно получить однообразное управление службами в зависимости от контекста сети лаптя. Тут уже костыль в NetworkManager/dispatcher.d, который заключается всего лишь в start/stop таргета в systemd пользовательской сессии.

Ну итд

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

при чём тут винда?

При том, что чушь нести не надо.

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

Ok, убедили. В этой ситуации systemd, действительно, позволяет делать это удобнее (но не даёт ничего нового, опять же). НО ситуация, которую вы описали, относится к категории «хочется странного». Иногда его, и правда, хочется, но гораздо разумнее сделать несколько дополнительных действий в этом случае, чем постоянно содержать для этого инфраструктуру, которая никем не используется 99.9999% времени.

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

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

LXC, изоляцию на системе на которой активно использую systemd я пока не использую, профита от cgroups кроме косвенного не оценил.

Это из того, что является однозначной фишкой.

Из мелочей - бук быстро бутается и от батарейки дольше живет. Повыкидывал всякие костыли типа laptop-mode итп. Ну то такое, может эффект плацебо

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

Хотеть! Куда выслать донейт, чтобы линукс стал ненужен школьникам, а Леннарт свернул разработку своих велосипедов?

Вали на фряху, красноглазый макак, ее стагнируй вместе с ней.

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

То что используется всеми 99.9% времени тоже есть. Это некоторая формализация процесса загрузки. _Будет_ (когда все-все перейдут на что-то однородное, например systemd) заключаться в том, что нагрузка на ментейнеров уменьшится. За счет того, что разработчик ПО сам сможет описать необходимые условия старта своего поделия и засунуть в собственный пакет дистрибьюции. Так как описание сервиса это скорее рекомендации, чем описание действий, в зависимости от среды они смогут опционально игнорироваться. Ну итд.

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

СonsoleKit Removal / Automatic Multi-Seat Support

дальше первой строчки смотрел

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

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

Эта фича в процессе разработки, это же очевидно. Гну/ Линакс совсем не готов для динамической реконфигурации на данный момент. Вот когда все запилят (может года через 2-3), вот тогда кто-то хотя бы будет иметь шанс это использовать.

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

Я считаю, что облегчать жизнь майнтейнерам надо не за счёт усложнения жизни пользователей.

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

Эта фича в процессе разработки, это же очевидно

Ну мне-то не объясняй, я и так знаю.

Гну/ Линакс совсем не готов для динамической реконфигурации

Динамической реконфигурации чего?

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

Ну, если Слака не подходит, то остается разве что Frugalware. Когда я его щупал, то вроде было похоже на KISS, но глючно. Может с тех пор починили. А, еще есть несколько потомков Слаки, типа Zenwalk, но не щупал.

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

Что же они творят с моим старым арчиком то, а? Как же KISS? ☹

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

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

Мне придётся использовать systemd, которое мне неудобно.

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

Глючный этот systemd. Когда щупал SuSe, то где-то раз из пяти она просто не грузилась, останавливалась посередине и всё. Клава доступна, но продолжить загрузку не удавалось, только reset.

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

вангую: за два года он будет иметь статус официально поддерживаемой альтернативы

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

Гну/ Линакс совсем не готов для динамической реконфигурации

Динамической реконфигурации чего?

Аппаратной конфигурации и конфигурации сервисов

Глупости. Linux сейчас не умеет _автоматическую_ динамическую реконфигурацию из коробки. И, когда он таки будет это уметь, выяснится, что роль systemd в этом невелика. Если поцеринг не переключится на новый интересный проект.

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

во-вторых: Lennart Poettering is an asshole

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

Во-вторых, оба два его поделия, о которых мне известно (PulseAudio и systemd) решают определенные задачи, которые до этого либо не решались вообще, либо со страшными костылями.

К примеру, альса не умеет hotplug, поэтому если втыкаешь USB'шную гарнитуру после старта скайпа, перезапускай его.

Без systemd некому было позаботиться об упавших сервисах (представь, что кто-то промахнулся на удаленном сервере PID'ом и прибил sshd или вообще killall sshd выполнил с нужными привилегиями). А pid-файлы в /var/run — чистой воды костыли, потому что система инициализации — один сплошной костыль, который не может даже поwait'ить порожденные им процессы сервисов.

Неприятно, конечно, что в системные зависимости зачем-то притянули весьма стремно написанный D-Bus, что соснули все любители разделять / и /usr (я из их числа, кстати), но идеи, в общем-то, правильные. Ну а раз никто не взялся реализовать лучше, придется кушать что дают.

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

По-моему, еще после затеи с бинарными логами это стало абсолютно ясно.

Для машины бинарные логи распарсить легче текстовых. Другое дело, что тулзов, которые бы делали что-то полезное на основе разбора логов, раз-два и обчелся, да и пользы такие штуки могут принести не то чтобы очень много, но такая бинарность — не сильно плохая вещь.

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

Ну, можно и так сказать

И, когда он таки будет это уметь
он

Кто, он? Ядро линакса? Никогда не будет это уметь.

Вопросов с мультиситом и хотплагом хардваре хватает, но есть еще вопрос с динамическим распределением прав доступа к этому самому общему хардваре. Кстати даже первом случае линакс как ядро при делах не на 100%. Например. Всунули клаву - надо расставить ей раскладку. Это было решено халом когда-то давно. На который все ругались и говорили что не нужен.

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

А вот поттерингоподелие насрет ВСЕМ.

Любитель блидинг-эджа на продакшене? Прежде чем совать что-то в RHEL, это основательно вылижут, а для окаменелых админских мозгов узнать что-то новое будет даже полезно.

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

Я не был приверженцем бинарных логов вообще, и journald в часности. Но попробовав могу сказать, что для пользовательского десктопа/лаптопа это юзабельно и удобно. Не в том аспекте что бинарные, а в плане фич и удоств которые предоставляет такое решение

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

И, когда он таки будет это уметь

он

Кто, он?

Ты уже забыл, о чем речь?

Ядро линакса? Никогда не будет это уметь.

Ты внезапно упоролся?

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

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

При том что в его журнале были некоторые здравые вещи. Но сам подход... «Мы не осилили syslog, и поэтому запилили новый интерфейс с шахаматами и поэтессами!» Спасибо, жрите сами.

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

Любитель блидинг-эджа на продакшене?

Бог миловал. Пользуюсь замшело-окаменевшим пока не протухнет.

Прежде чем совать что-то в RHEL, это основательно вылижут,

Ой-ли?

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

Тоже плюс ;-).

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

В чем будут заключаться твои неудобства?

В использовании systemd. Мне не нравится эта команда, мне не нравится этот корабль, мне вообще здесь ничего не нравится. Повторяю ещё, раз я не хочу переходить на сырое поделие личности с сомнительной эпатажной репутацией, не получая от этого ни одного преимущества. Качество кода Леннарта мне хорошо знакомо по пульсаудио, которое, в отличие от systemd, умеет некоторые нужные мне вещи, которые больше никак пока не получить, и мне очень не хочется, чтобы его кривые шаловливые ручки копошились в моей системе с PID=1.

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

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

Там нет никаких особых фич, по сравнению с. Сам на этом же поделии сижу.

Т.е., натурально, кроме NIH-синдрома, других причин изобретать нескучный журнал не было абсолютно.

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

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

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

Т.е. твои неудобства носят эмоциональный характер

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

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

Т.е. твои неудобства носят эмоциональный характер

+1

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

Функциональные, например. Когда приходится сооружать костыль, и дублировать его для каждого следующего решения проблемы, например

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

ничего если я позадаю вопросы по подробностям, а то как-то мне любители system-d с трудом отвечают на то почему оно круче?

однородный хотплаг

это что имеется ввиду?

отличный базовый метод выяснения статуса сервиса, рестарты

как я понимаю оно там смотрит не по пидам, а по cgroups, не можешь сказать, в каких юзкейсах эти бонусы увидеть можно, чтобы я мог увидеть где openrc фейлится та тех же юзкейсах; и чем рестарты отличаются от openrc-шных

если лень расписывать ссылки на конкретные источники информации приветствуются.

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

Для машины, в общем-то, пофиг.

Ну так опиши, как бы ты стал из текстовых логов выдергивать многострочные oops'ы от ядра? На всякий случай напомню, как это выглядит:

Aug 13 11:29:15 localhost kernel: [   22.874043] Call Trace:
Aug 13 11:29:15 localhost kernel: [   22.874057]  [<c10352c8>] ? warn_slowpath_common+0x78/0xb0
Aug 13 11:29:15 localhost kernel: [   22.874059]  [<c12a9753>] ? dev_watchdog+0x1c3/0x1d0
Aug 13 11:29:15 localhost kernel: [   22.874061]  [<c12a9753>] ? dev_watchdog+0x1c3/0x1d0
Aug 13 11:29:15 localhost kernel: [   22.874063]  [<c1035393>] ? warn_slowpath_fmt+0x33/0x40
Aug 13 11:29:15 localhost kernel: [   22.874065]  [<c12a9753>] ? dev_watchdog+0x1c3/0x1d0
Aug 13 11:29:15 localhost kernel: [   22.874067]  [<c12a9590>] ? qdisc_reset+0x30/0x30
Aug 13 11:29:15 localhost kernel: [   22.874070]  [<c103fe83>] ? run_timer_softirq+0xd3/0x1d0
Aug 13 11:29:15 localhost kernel: [   22.874073]  [<c103ab85>] ? __do_softirq+0x75/0xf0
Aug 13 11:29:15 localhost kernel: [   22.874075]  [<c103ab10>] ? local_bh_enable_ip+0x80/0x80
Aug 13 11:29:15 localhost kernel: [   22.874076]  <IRQ>  [<c103adf6>] ? irq_exit+0x76/0xa0
Aug 13 11:29:15 localhost kernel: [   22.874080]  [<c1019841>] ? smp_apic_timer_interrupt+0x51/0x90
Aug 13 11:29:15 localhost kernel: [   22.874083]  [<c11ceeba>] ? acpi_hw_read_multiple+0x22/0x53
Aug 13 11:29:15 localhost kernel: [   22.874086]  [<c1317492>] ? apic_timer_interrupt+0x2a/0x30
Aug 13 11:29:15 localhost kernel: [   22.874090]  [<f8575db1>] ? acpi_idle_enter_bm+0x227/0x263 [processor]
Aug 13 11:29:15 localhost kernel: [   22.874094]  [<c126902e>] ? cpuidle_idle_call+0x7e/0xd0
Aug 13 11:29:15 localhost kernel: [   22.874096]  [<c1001825>] ? cpu_idle+0x55/0x90
Aug 13 11:29:15 localhost kernel: [   22.874099]  [<c141f644>] ? start_kernel+0x28e/0x293
Aug 13 11:29:15 localhost kernel: [   22.874101]  [<c141f15e>] ? loglevel+0x2b/0x2b
Aug 13 11:29:15 localhost kernel: [   22.874102] ---[ end trace 5d39e152aac87a6e ]---
red_eyed_peguin
()
Ответ на: комментарий от vasily_pupkin

Т.е. твои неудобства носят эмоциональный характер

Мде. Вот кто-то преходит улицу на красный свет, ты ему: «Мужик, ты чо?», а он, на этот раз удачно дойдя до противоположной стороны, отвечает: «Неудобства перехода на красный свет носят эмоциональный характер».

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

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

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

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

Мы не осилили syslog

Мне не известны реализации логгера, который бы работал во время «read-only filesystem». Что будем делать, когда на продакшене появятся ошибки до монтирования ФС в rw? Будем костылить с tmpfs?

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

Функциональные, например. Когда приходится сооружать костыль, и дублировать его для каждого следующего решения проблемы, например

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

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

типа так?

cat /sys/fs/cgroup/openrc/sshd/cgroup.procs
2489
7007
7009
7010
qnikst ★★★★★
()
Ответ на: комментарий от red_eyed_peguin

Мне не известны реализации логгера, который бы работал во время «read-only filesystem»

А транслировать логи по сети на отдельную машину никак?

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

Мне не известны реализации логгера, который бы работал во время «read-only filesystem»

Внезапно, bootlog буферизирует лог, пока не запустится нормальный syslog.

Будем костылить с tmpfs?

Использование штатных возможностей ядра — это костыли. Ок. :-D А ничего, что journald именно эти «костыли» и использует для работы с «read-only filesystem»?

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

Там есть маркер начала трейса и маркер конца.

Прохладная былина, боярин! <sarcasm>Сам бы я ни в жизни этого не увидел</sarcasm>

Велосипед для выдирания такого на любимом педоне писать будешь? А отфильтровывать то, что может в этот трейс вклиниться тоже по регулярочкам будешь? А если трейс будет «разодран» между kernel.log и kernel.1.log.gz? А если какая-то сторонняя поделка будет какать похожими сообщениями?

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