LINUX.ORG.RU

Официально стартовал проект eudev — форк udev от Gentoo

 , ,


3

4

Впервые о форке udev от Gentoo заговорили около месяца назад, и теперь проект приобрел официальный статус.

Udev часто ломает совместимость со старыми системами из-за зависимости от новых версий ядра Linux, даже если такой зависимости можно избежать. Ситуация ухудшилась после того как Udev стал частью Systemd, который поставил под угрозу способность поддерживать существующие установки. Разработчики Gentoo намерены продолжить развитие udev в виде отдельного проекта (без зависимости от systemd) — eudev — своими силами. При этом они заявляют, что в идеале eudev не будет ограничен использованием в Gentoo: после того как eudev достигнет стабильного состояния в Gentoo, они намерены начать сотрудничать с другими дистрибутивами для дальнейшего развития. В идеале, все дистрибутивы cмогут использовать eudev в качестве замены для Systemd-udevd.

Среди ключевых целей eudev называется улучшение поддержки udev существующего программного обеспечения: init-систем OpenRC (используется в Gentoo) и Upstart (Ubuntu), старых версий ядра, утилит разработки и т. п.

Исходный код eudev будет распространяться на условиях свободной лицензии GNU LGPL. На GitHub уже около месяца существует репозиторий для eudev.

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

★★★★★

Проверено: JB ()
Последнее исправление: Silent (всего исправлений: 4)

Ответ на: комментарий от vurdalak

вот где-то, что-то не то, т.к. на чистой системе не воспроизводится.

Если проблема ещё воспроизводится, то сделай:

/etc/init.d/rtorrentd -vd start

лог или сюда или в баг. Ну и какая версия screen?

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

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

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

Да. Там все можно поменять.

не верю :)

Вот это хз.

жалко, т.к. и правда интересно, как это можно полноценно сделать с сообщением переменного размера и без большого оверхеда.

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

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

а как вы делаете это в скриптах сейчас? чтение^Wпарсинг текстового файла - это в любом случае последовательный доступ (поправьте, если нет), значит такой же подход должен сработать и с пайпом. Если вы читаете текст начиная с N Kb, в journald можно отфильтровать последние n записей, что, имхо, менее кривое решение.

А ещё иногда в лог надо скриптом/руками собственную метку поставить. Что я должен делать в этом вашем бинарном журнале вместо echo $MARK >> /var/log/filename.log ?

Точно то же, что и тут: добавить в лог запись.

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

Если поправить s/в другой лог./текстовый файл/, то тот же ответ.

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

Я тоже не сторонник слияния сущностей. Но мне сам systemd (без journald, https и что там еще есть) нравится. Поломанную совместимость поправят дистростроители с выходом очередной мажорной версии дистра. А в перспективе systemd сильно упрощает поддержку сотен сервисов.

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

жалко, т.к. и правда интересно, как это можно полноценно сделать с сообщением переменного размера и без большого оверхеда.

Поищи лекцию Поттеринга про журнал на тытрубе. Там многие опции и особенности рассказываются. Может там и это было, я просто не все запомнил.

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

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

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

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

на файловом уровне:

в бинарном файле не обязательно сохранять последовательность строчек. по сути там база данных. INSERT последнюю + DELETE первую.

на файловом уровне это может быть устроено, например, так: DELETE помечает область данных как неиспользуемую, INSERT ее по возможности использует, либо берет новое место в конце файла

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

Мне бы тоже было удобнее юзать разрабатываемый RH инит, чем писать и поддерживать свой. Тогда можно свои силы бросить на вылизывание репозиториев.

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

Аж настолько много, что ни один коммерческий *NIX на них не перешел, насколько я знаю :)

Плохенький у вас багаж знаний.

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

в бинарном файле не обязательно сохранять последовательность строчек. по сути там база данных. INSERT последнюю + DELETE первую.

на файловом уровне это может быть устроено, например, так: DELETE помечает область данных как неиспользуемую, INSERT ее по возможности использует, либо берет новое место в конце файла

не, я понимаю, что можно хранить сначала список записей по номерам: {start,len/end} и потом блок данных {data}. Но тут интересны tradeoff, во первых возможна фрагментация, как и с оперативной, если сначала пойдут мелкие записи, а потом большие, при удалении маленьких место под большие освобождаться не будет, тем самым файл будет тупо расти (в отличии от памяти такая последовательность в логах не врятли частое явление, и возможно этим можно пренебречь). Плюс не очень понятно, как хранить инфу о неиспользуемых блоках, т.е. опять же на ум приходит несколько алгоритмов с разными tradeoffs. Ещё интереснее если записи в логе шифруются, а не только подписываются по алгоритму зависящему от предыдущей записи (как было описано ещё давно), тогда для верификации всё равно нужно считать всё :) ну или хотя бы весь индекс.

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

ты можешь просто поверить в то, что systemd не устраивает всех пользователей gentoo и вылизывание (systemd) под всех пользователей не является более простой задачей, чем поддержка openrc.

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

Аж настолько много, что ни один коммерческий *NIX на них не перешел, насколько я знаю :)

Плохенький у вас багаж знаний.

А кто перешел? Только не говори, что это AIn't uniX.

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

а как вы делаете это в скриптах сейчас? чтение^Wпарсинг текстового файла - это в любом случае последовательный доступ (поправьте, если нет), значит такой же подход должен сработать и с пайпом. Если вы читаете текст начиная с N Kb, в journald можно отфильтровать последние n записей, что, имхо, менее кривое решение.

Я могу читать файл, начиная с n-ой строки. Могу читать n последних строк или n первых. Могу читать файл со строки, в которой встречается некоторый регексп или не доходя за n строк до некоторого регекспа. С пайпом это всё сложнее. Можно, конечно делать ещё десяток пайпов, чтобы всё это вычленить, использовать grep -E и т.д., но это, имхо, всё костыли.

Точно то же, что и тут: добавить в лог запись.

В bash-скрипте я использую встроенный echo. В perl я буду писать в файл его средствами. А здесь мне придётся каждый раз дёргать какую-то утилиту. Удобно, да.

Если поправить s/в другой лог./текстовый файл/, то тот же ответ.

Суть не в том, чтобы перенаправить, а в том, чтобы сопоставить несколько совершенно разных логов. Иногда их бывает очень много. Разумеется, я не буду делать это руками. У меня есть скрипт, который сам парсит всю гору логов и собирает мне в одном месте необходимую информацию. Как это разумно делать с пайпами, я не представляю. Это же куча времени и ресурсов на ветер. Это всё-равно, что сравнивать «grep expression filename» и «cat filename | grep expression».

Я тоже не сторонник слияния сущностей. [...]

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

shell-script ★★★★★
()
Ответ на: комментарий от vurdalak

на секунду раньше ты можешь только уже распаковывая и доставая предыдущий.

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

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

Дома если я не ошибаюсь стоит syslog-ng. Настраивается все что можно и нельзя, вплоть до того, что куда сыпать, т.е. как я понял, если ты хочешь запихнуть все, что будет содержать «error» - пожалуйста, только файл укажи.

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

А кто пользователей спрашивал? Я искал на форумах фанты упоминания про systemd. Один пользователь создал тред с вопросом, когда таковой появится. Ему ответили в стиле «точно не в ближайшем будущем» без разъяснения причин.

Ну и да, гента всегда славилась выбором. Кто мешает сделать и systemd, и openrc?

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

А кто пользователей спрашивал?

я уверен, что каждый разработчик знаком со своим окружением и средним мнением там. Pro-/anti- systemd треды в рассылке надоели уже всем более, чем полгода назад.

Я искал на форумах фанты упоминания про systemd. Один пользователь создал тред с вопросом, когда таковой появится. Ему ответили в стиле «точно не в ближайшем будущем» без разъяснения причин.

про фанту я ничего сказать не могу. Хотя фанта вроде решила забросить десктоп и сконцентрироваться на серверной части, возможно стоит искать ответ в этом направлении :)

Ну и да, гента всегда славилась выбором. Кто мешает сделать и systemd, и openrc?

Ничего уже с год как есть. Многие пользуются systemd, вон Rich где только не пишет, про кучу систем на systemd у него, vasiliy_pupkin использует, ещё несколько знакомых человек используют, причём это только из моего узкого окружения, а тебя чем-то не устраивает. Тут же всё просто - переходишь - видишь проблему - делаешь багрепорт, причем откуда брать юниты всем давно известно.

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

А если не содержит error? Там же нет тегов как таковых, а в тексте может быть failed, crashed или еще что-нибудь

Ну приехали, нету. Ага, конечно. Учи матчасть, мальчик. А если руки кривые, то и в systemd можно пометить ошибку как INFO или что там у вас.

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

Там же нет тегов как таковых, а в тексте может быть failed, crashed или еще что-нибудь.

man 3 syslog

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

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

Не то чтобы перешел, но таки да, он самый. Все родные системные службы используют бинарный репортнинг, который errpt.

З.Ы. Там ещё и реестр есть :)

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

mgorny — его мэйнтейнит, поэтому считать его не будем :).

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

It's raining in Dubai... And the water is dripping through roof...

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

http://en.gentoo-wiki.com/wiki/Syslog-ng

для Ъ вкратце:

#create filters
filter f_auth { facility(auth); };
filter f_authpriv { facility(auth, authpriv); };
filter f_cron { facility(cron); };
filter f_daemon { facility(daemon); };
filter f_kern { facility(kern); };
filter f_mail { facility(mail); };
filter f_user { facility(user); };
filter f_debug { not facility(auth, authpriv, news, mail); };
filter f_messages { level(info..warn) and not facility(auth, authpriv, mail, news); };
filter f_emergency { level(emerg); };
filter f_info { level(info); };
filter f_notice { level(notice); };
filter f_warn { level(warn); };
filter f_crit { level(crit); };
filter f_err { level(err); };
leg0las ★★★★★
()

История успеха

Собрал значит его. Openrc стартует быстрее - т.е. с момента загрузки ведра из граба до «Openrc x.y.z is starting up...» загрузка (пардон за тавтологию) происходит быстрее. Единственное что не подхватило - это ядреный модуль для звуковухи, прописал ручками в /etc/conf.d/modules - заработало. USB-мышу подхватило, флешки хавает.

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

Спасибо, после видео про journal будет интересно глянуть.

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

Под себя делают больные, в утку. А настраивают для себя.

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

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

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

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

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

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

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

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

«Придется. Вот только фиг ты найдешь, в каком файле и в каком его месте у тебя хранятся логи с 19:00 позавчера до 03:37 вчера» у меня в app_log_2012_12_17_GMT.log. никаких проблем

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

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

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

Я могу читать файл, начиная с n-ой строки. Могу читать n последних строк или n первых. Могу читать файл со строки, в которой встречается некоторый регексп или не доходя за n строк до некоторого регекспа.

И для этого придется прочитать весь файл от самого начала.

С пайпом это всё сложнее. ... но это, имхо, всё костыли.

не соглашусь. на баше - сложнее, но это естественный недостаток баша. там, где есть man 2 open - не проще и не сложнее.

Я ленивый админ. Система должна работать на меня, а не я на неё

Если я правильно понял, все сводится к привычке. Может, дистростроители оставят слой совместимости с скриптами «в старом стиле». Это было бы правильным решением.

PS systemd - имхо гут. journald - имхо хз. но systemd можно использовать и без journald.

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

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

«я знал что все плохо но не знал что так сильно»

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

необоснованные инсинуации.

чтобы использовать базовую функциональность, достаточно прочитать ман. чтобы знать, что там под капотом - да, смотрите сырцы. что удивляет-то?

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

«в бинарном файле не обязательно сохранять последовательность строчек. по сути там база данных. INSERT последнюю + DELETE первую.

на файловом уровне это может быть устроено, например, так: DELETE помечает область данных как неиспользуемую, INSERT ее по возможности использует, либо берет новое место в конце файла» это пример так называемого «меньшего оверхеда»

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

багрепорт?

да

при том что критические баги не фиксяться по полгода?

в генте один разработчик, который фиксит все баги по очереди? И да, жалобы на баги не принимаются без ссылки на багрепорт, на который подписан жалующийся :)

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

Устали пересобирать мир.

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

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

Еще раз, покажи все записи от 2012-12-16_19:00 до 2012-12-17_03:37 одной командой. Или не одной, но без ручного поиска временной метки в текстовом файле.

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

Еще раз, покажи все записи от 2012-12-16_19:00 до 2012-12-17_03:37 одной командой. Или не одной, но без ручного поиска временной метки в текстовом файле.

zgrep -h -E '^Dec 1(6 (19|2[0-3]):[0-9][0-9]|7 (0[0-2]:[0-9][0-9]|03:([0-2][0-9]|3[0-7])))' /var/log/xbz /var/log/xbz.[0-2].gz
sergv
()
Ответ на: комментарий от vurdalak

Суровые челябинские админы на каждый запрос логов по времени пишут новый регексп? :3

Ты просил. Я за него ответил.

Жесть, конечно, но реализуемо. ;-)

(У меня где-то был генератор почасовых регекспов для этого случая. Искать лень.)

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