LINUX.ORG.RU
ФорумTalks

tinysystemd

 ,


3

2

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

https://github.com/Like-all/tinysystemd

При возникновении стандартных вопросов настоятельно рекомендую почитать PAQ:

https://github.com/Like-all/tinysystemd#paqpreventively-answered-questions

Отдельно хочу поблагодарить intelfx за детальные консультации. Если заинтересовало - присоединяйтесь!

P.S.: известные проблемы - много ругани от lintian; пока ещё не дописал oneshot-сервис, который удаляет /run/nologin при запуске.

делайте что хотите. эту планету уже не спасти. господь, жги!

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

Получишь systemd как менеджер сервисов. То есть все остальные потенциально ломающие поведение системы демоны из сборки исключены. Также в пакете переименованы все бинарники, кроме systemd и systemctl(для последнего есть симлинк sdctl), для удобства shell completion. Плюс по умолчанию выключен бинарный логгинг и включен форвардинг в syslog. Ах, да, всё это ещё пока на стадии тестирования, поэтому что-то может не работать, хотя, полностью загружающуюся систему мне получить удалось.

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

то есть journald не выпилен? У меня на железке жрёт память как не в себя, а без него логи не работают, надо прокладку на замену писать...

slapin ★★★★★
()

С хамским тоном в факе сильный перебор.

Why did you rename all of the binaries? Because that ugly systemd- prefix breaks my shell completion.

facepalm.jpg
Use aliases, Luke!

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

Я просто sysvinit-core обратно вернул. У меня при отсутствии линка на сетевой система подозрительно долго не грузилась с systemd, выяснять очередную причину (в прошлый раз из-за него принтер отвалился) было лень.

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

в systemd зависимостями очень легко получить незагружаемую систему. Оно живёт нормально только при тщательном контроле за юнитами. Там, где в sysvinit поругалось на неважный сервис, и дальше поехало, systemd впадает в кому...

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

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

like-all ★★
() автор топика
Ответ на: комментарий от Axon

Это networkd, например. Впрочем, он пока ещё не совсем готов, а раз не используется по умолчанию, то и делать ему в моей системе нечего.

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

Да так Samsung s3c2416, 128MB RAM, 256MB NAND

Гоняем пока без journald, но хочется иногда логов от systemd. Обычный syslogd тихо логгирует в файлики и по сети без проблем.

slapin ★★★★★
()

Проектик интересный, но всё-таки стиль FAQ следует сменить, это можно сделать без потери живости и обращения к «казёнщине»...

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

Тогда отключите ведение бинарных логов и там же включите перенаправление в syslog. Выкидывать сам journald для этого не нужно.

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

Это networkd, например.

Как он может что-то сломать?

Мне под каждый шелл алиасы подкладывать?

У вас их там десяток, что ли?

В самый раз в стиле папаши systemd.

Рядом не лежало.

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

Мужыыык
Осталось присобачить busybox-овые демоны

mystery ★★
()
Ответ на: комментарий от like-all

нет смысла, к syslogd претензий нет, journald что-то буфуризовать начинает и вырастает за пару недель до 8-10 мегов, то есть становится самой толстой аппликухой на девайсе :(

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

И что сломалось?

вырастает за пару недель до 8-10 мегов

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

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

Эх, жаль кубиборда сдохла. Я б тоже посмотрел.

like-all ★★
() автор топика
Ответ на: комментарий от Axon

Как он может что-то сломать?

Сеть конфигурируется в нём совершенно другим образом, нежели стандартными средствами Debian. Ну, то есть мне как-то не с руки было бы переделывать конфигурацию на паре-тройке машин, не говоря уже о сотнях, на которых /etc/network/interfaces генерируется с помощью API.

У вас их там десяток, что ли?

bash, ash, csh, dash, ksh, fish, zsh(да, я в курсе, что в некоторых из них completion не работает). Это из того, что вспомнил. Есть ещё всякие xiki, но это уже совсем экзотика.

Рядом не лежало.

Топ сорь.

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

В своё время беседовал с отцом-основателем на эту тему и получил ответ, что это не бага а фича, и у всех уже память гигабайтами... Он что-то преаллоцирует и не успевает сбрасывать, а данные по максимумам из конфига - просто рекомендации... и сделать ничего нельзя :( То есть по факту утечки нет, просто алгоритм такой, ну и при отношении Поттеринга к embedded, ожидать изменений не скоро :(

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

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

Тогда можно линк на беседу? Ну и да, MemoryLimit= не прокатывает?

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

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

И что? Вас кто-то заставляет им пользоваться?

bash, ash, csh, dash, ksh, fish, zsh(да, я в курсе, что в некоторых из них completion не работает). Это из того, что вспомнил.

Вы ими всеми одновременно пользуетесь?

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

У меня есть подозрение, что это было связано с ntp, но тщательнее не проверял. Хотя когда система работает, мне всё равно что в ней sysvinit или systemd. Единственное, что огорчает, в поисковиках по запросу «systemv init» или «sysvinit» выдаёт кучу ссылок на сравнение с systemd - найти же документацию по старой системе стало сложнее.

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

И что? Вас кто-то заставляет им пользоваться?

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

Вы ими всеми одновременно пользуетесь?

Представь себе, я могу пользоваться разными шеллами на разных машинах с разными юзкейсами. Я делаю готовый продукт для себя в первую очередь, почему б и нет? Даром что в systemd прямые вызовы бинарников по именам файлов - явление крайне редкое, а с приходом kdbus(теоретически) - и вовсе исключаемое.

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

Никто не заставляет, поэтому я и не пользуюсь. А раз я не пользуюсь, значит он и в пакете мне не нужен.

К такой аргументации у меня вопросов не было. Речь шла о демонах, которые что-то «ломают». Вот за это я и прошу пояснить.

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

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

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

Это не фрагментация, а болгеновщина.

Reset ★★★★★
()

О, люди осилили прочитать ./configure --help, поменять пару строчек в конфиге и сразу побежали форкать.

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

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

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

форкать

Где ты видишь код из systemd в репозитории? Там английским по белому написано: берётся ванильный код с freedesktop.

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

Что же тебя тогда держит на этом форуме, если причиной его возникновения стал ныне великовозрастной невежа?

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

MemoryLimit= рекомендация, может выжрать ещё, если нужно. Оно вообще логами через mmap манипулирует, поэтому не особо в состоянии аппетиты контроллировать. Тут corner case для них - стор медленный, скорость записи неравномерная, вот и копит... максимум до 12MB вырастал за 1.5мес., больше я его не видел, но это очень дофига на тех железках - oom killer выходит на охоту...

slapin ★★★★★
()
Ответ на: комментарий от like-all

Что же тебя тогда держит на этом форуме, если причиной его возникновения стал ныне великовозрастной невежа?

Не знаю, о ком ты, но у меня нет никаких оснований считать Макскома или Линуса невеждой. А на форум я пришел, потому что работаю в Линуксе.

невежа

Невежды, взявшиеся программировать, гораздо хуже невеж, поверь мне.

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

Невежды, взявшиеся программировать, гораздо хуже невеж, поверь мне.

Не знаю, о ком ты, но в моём репозитории всего лишь мейнтейнерская работа. Есть вещи гораздо хуже systemd и гораздо более распространённые. Javascript, например. И что самое страшное - с этим ничего не может поделать даже Google, ибо его Dart как-то ни в один писюн никому не тарахтел.

like-all ★★
() автор топика

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

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

Ты тупой или не умеешь читать?

https://github.com/Like-all/tinysystemd#building

At first, you need to clone vanilla systemd from freedesktop repo
vanilla systemd
vanilla
git clone http://anongit.freedesktop.org/git/systemd/systemd.git
git clone http://anongit.freedesktop.org/git/systemd/systemd.git
git clone http://anongit.freedesktop.org/git/systemd/systemd.git

like-all ★★
() автор топика
Ответ на: комментарий от Harald

А меня волнует его мнение? Я ни строчки кода в его репозитории не изменил. Более того, он сам рекомендует так делать, если что-то не устраивает.

like-all ★★
() автор топика
Ответ на: комментарий от Axon

которые что-то «ломают»

Я собираю пакет из ванильного кода и мне как-то влом следить за зоопарком юнитов. Поэтому такие потенциально взрывоопасные компоненты мне проще отключить, благо в ./configure есть соответствующие опции.

Напишите себе один раз конфиг и инклюдьте его везде

Была и такая мысль. Но я посмотрел и прикинул, что мне проще держать --program-transform-name в rules, да и не спотыкаться о systemd- приятнее.

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

Не знаю, о ком ты

О чем. О тонкой разнице между «невежей» и «невеждой».

Есть вещи гораздо хуже systemd и гораздо более распространённые. Javascript

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

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

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

О чем. О тонкой разнице между «невежей» и «невеждой».

Разница очень тонкая, тут согласен. Но изначально было употреблено слово «невежество», которое может трактоваться и иначе. Хотя, возможно, я не в тот словарь смотрел. Впрочем, это уже совсем другая история, да и не то настроение, чтобы продолжать филологический срач.

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

Сорян, мне ехать надо, а не шашечки. Я честно пытался пользоваться OpenRC в Debian. Честно-пречестно, клянусь чайником Рассела. Но пользоваться им без обкостыливания крайне сложно, ибо всплывает множество нюансов, да и нативных RC-скриптов для пакетов в Debian написано чуть больше, чем 0(ноль). Если тебя это так печалит, то можешь покинуть этот тред, я не запрещаю. Всё, что здесь описано, я делаю в первую очередь для себя.

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

Да не, я-то читать умею, это ты писать не умеешь, кроме как:
Because fuck you, that's why.
Раз пишешь только для себя, то чего раскукарекался-то, петушок.

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