LINUX.ORG.RU

Первое за 18 лет обновление dmesg(1)

 ,


0

1

Karel Zak, один из разработчиков пакета util-linux, содержащего основные системные утилиты Linux, впервые подверг изменению утилиту dmesg этого пакета. Обновление станет доступным для пользователей с выходом util-linux версии 2.20.

dmesg выводит все сообщения ядра, начиная с этапа загрузки системы, в stdout.

Новые функции включают:

  • Ключ --decode, преобразующий числовое значение уровней загрузки и параметры операции в понятные текстовые примечания:
    $ dmesg --decode
    kern  :info  : [26443.677632] ata1.00: configured for UDMA/100
    kern  :info  : [26443.830225] PM: resume of devices complete after 2452.856 msecs
    kern  :debug : [26443.830606] PM: Finishing wakeup.
    kern  :warn  : [26443.830608] Restarting tasks ... done.
    
  • Фильтрация сообщений в соответствии с опциями --facility и --level:
    $ dmesg --level=err,warn
    $ dmesg --facility=daemon,user
    $ dmesg --facility=daemon --level=debug
    
  • Ключ -u, --userspace для вывода сообщений, полученных с пользовательского уровня;
  • Ключ -k, --kernel для вывода сообщений уровня ядра;
  • Ключ -t, --notime для удаления из вывода временных отметок;
  • Ключ -T, --ctime для вывода времени в формате, подобном ctime(). Однако этот ключ бесполезен после использования ждущего режима и выхода из него. (Для printk() после окончания ждущего режима ядро не использует обычное системное время и поэтому временные значения не изменяются.)
  • Ключ --show-delta для вывода длительности промежутка между сообщениями:
    $ dmesg --show-delta
    [35523.876281 <    4.016887>] usb 1-4.1: new low speed USB device using  hci_hcd and address 12
    [35523.968398 <    0.092117>] usb 1-4.1: New USB device found, idVendor=413c, idProduct=2003
    [35523.968408 <    0.000010>] usb 1-4.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [35523.968416 <    0.000008>] usb 1-4.1: Product: Dell USB Keyboard
    

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

★★★★★

Проверено: post-factum ()
Последнее исправление: adriano32 (всего исправлений: 1)

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

>> А все эти ваши 95% - потребляди и не вкладывают никоим оборазом ничего в прогресс. Следовательно, их интересами можно (нужно? - ибо привыкают к халяве) пренебречь.

Следовательно, интересами почти всех пользователей ПК можно пренебречь. Занятно. В MS часом не работали?

MS не может пренебрегать интересами пользователей, т.к. им от пользователей нужен профит. И, во-вторых, если вы платите за продукт - то вполне можете ожидать/требовать от MS исполнение объязательств. А с OpenSource ? - Да, именно, никто вам ничего не должен. Если не нравится - форкайте проект и удовлетворяйте себя и других работая на интересы 95%. Как видите, можно вполне пренебречь интересами всех пользователей без одного (вроде все честно, никаких объязательств ни с чъей стороны = свобода?).

Еще есть вопросы?

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

А что, буду сильно неправ?

нет, ты лев — не знаю, как в линуксах (там может быть любой ужас, даже alias dmesg='cat /var/log/dmesg'), но в боговерных юниксах дмезг берёт свою инфу не из файла, а напрямую из мозгов кернела, что позволяет следить за происходящим даже на совершенно убитых в усмерть системах.

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

ещё один улутшатель, смотри мой пост выше

beastie ★★★★★
()

Блин, только вчера обновился до 2.19 (

necrus ★★★
()

Теперь венде точно капец.

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

На самом деле, очень не хватало функции преобразования секунд в нормальное время. А то сообщение есть, а сколько лет назад вылезло лень считать.

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

cat ДЛЯ склейки файлов. Но вообще дурацкое заявление, эти функции тоже кому-то нужны, товарищ Керниган видимо предлагает всем учить awk до полного разжижения мозга.

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

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

Это даёт линуксу +20% к юзабельности. :)

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

>MS не может пренебрегать интересами пользователей, т.к. им от пользователей нужен профит.

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

И, во-вторых, если вы платите за продукт - то вполне можете ожидать/требовать от MS исполнение объязательств.

Еще одна глупость. Оплата никак не связана с обязательствами. В бумажке вместе с ПО вы читаете, что вам никто и ничего не должен и все.

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

>На самом деле, очень не хватало функции преобразования секунд в нормальное время. А то сообщение есть, а сколько лет назад вылезло лень считать.

есть такое.

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

>syslog, rsyslog с отправкой логов по сети.

нуну, а кто не поставил syslogd в своем охфесе на 5 машин - ССЗБ
к тому же, не во всех микродистрибутивах вообще есть syslog. вобщем, dmesg нужен ;)

kott ★★★★★
()

Годно!

Сабжект

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

> Еще есть вопросы?

Да есть. Что такое диверсификация производителей, и хорошо ли это 1. Для пользователя. 2. Для произодителя? Что такое диверсификация пользователей, и хорошо ли это 1.Для пользователя. 2. Для произодителя?

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

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

debian_user
()

о, вот это по-линуксячьи, вот это я понимаю! grep/awk не осилил, лучше конечно впилить такой функционал в дмесг!

val-amart ★★★★★
()
Ответ на: комментарий от AVL2

>>>MS не может пренебрегать интересами пользователей, т.к. им от пользователей нужен профит.

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

Пожалуйста будьте впредь внимательнее, т.к. написано же про интересЫ пользователЕЙ (против «интерес пользователя»). То есть имелась ввиду масса пользователей (то есть часть/процент пользователей), а не один пользователь. То что вы сказали - знает каждый 3.14здюк (как я вижу, и вы тоже :) ).

И, во-вторых, если вы платите за продукт - то вполне можете ожидать/требовать от MS исполнение объязательств.

Еще одна глупость. Оплата никак не связана с обязательствами. В бумажке вместе с ПО вы читаете, что вам никто и ничего не должен и все.

(Сейчас ожидается баттхерт и кирпичи следом): Вы быдло? Или с фимозом? Если нет - то объясните что же такое гарантия.

Да есть. Что такое диверсификация производителей, и хорошо ли это 1. Для пользователя. 2. Для произодителя? Что такое диверсификация пользователей, и хорошо ли это 1.Для пользователя. 2. Для произодителя?

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

P.S.: «Еще есть вопросы?» - Это был вопрос к собеседнику в пределах тематики сообщения.

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

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

val-amart ★★★★★
()
Ответ на: комментарий от debian_user

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

Хорошии ответ. А конструктивное что-нибудь последует ? Например, вы могли бы иницировать группу по улучшению и развитию концепции unix. Или вы тоже можете только свои субъективные взгляды навязывать другим (будущие политики?) и языком чесать?

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

во-первых, авк неимоверно полезен, во-вторых, автор высказывания не Керниган, а Реймонд. надо бы знать отцов.

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

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

Вы написали о конвеерной архитектуре разработки, но говорите об интерфейсе взаимодействия модулей и об одном из главных приципов разработки систем: один модуль - одна задача. Однако, управление поведением «фильтров» тесно сопряженных с задачей (и часто используемых) лучше встраивать в модуль во избежание накладных расходов на порождение и обслуживание системы (проще говоря, если вам нужен функционал то лучше добавить ключи к dmesg чем гнать raw-стрим данных через несколько фильтров при это каждый из них будет в виде отдельного процесса). Некоторые из комментаторов слишком далеки от проектирования архитектур систем (да и вообще, кажется что они только dmesg и увидели).

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

>MS не может пренебрегать интересами пользователей
/0

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

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

val-amart ★★★★★
()

Пора уходить на busybox.

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

>в данном случае затраты на порождение дочерних процессов ничтожны и ими можно пренебречь. культура юникс ценит модульность и текстовые интерфейсы выше производительности. шелл лучше Си. юникс-вей - это не добавлять новые ключи, при возможности для получения нужного функционала следует задействовать фильтры. в конце-концов, только конечный пользователь знает, какой формат вывода ему нужен, всех вариантов не учесть. вместо этого ему предлагают инструметы получения необходимого результата - таков дух юникс: механизм, а не политика. Мозг некоторые анонимусов насквозь замусорен практикой проектирования под системы с враждебной нам (юниксоидам) инжинерной культурой, и тем не менее они пытаются учить нас что правильно, а что нет в контексте юникс-вея.

Не спорю - поддерживаю. Вы верно акцентируете внимание девелоперов на культуре UNIX и требованием от них не замусоривать своим субъективным опытом (или его отсутствием) сложившиеся традиции и технику разработки касательно функционирования механизмов. Для разбора формата вывода однозначно фильтры в конвеере. И все же ключи нужны в случае если необходимо повлять на работу алгоритма (или его участка, к примеру формирующего выходной поток). Тут однозначной конечной политики нет, т.к. размываются границы определенности в попытках разобратся детально по тех. требованиям. Поэтому для тривиальных (необходимых и/или часто требуемых) случаев хорошим тоном считается возможность определения ключей влияющих на работу модуля. Для примера можете устроить брайншторм за «за» и «против» по поводу пар механизма и его ключа: find и -print0; ls и -l, ну и, конечно же, любимый всем cpio и ключа -H :).

P.S.: Всегда есть риск упасть в крайность (особенно в начале пути по неопытности и/или недостаточности понимании/знании). Талант девелопера (и отличие от быдлокодер) заключается именно в умении сохранять баланс и сохранять структуры проекта при нарастающей сложности - чего, к примеру, никак нельзя сказать про всякие форточки написанные денег ради (попробуйте мне найти четкую структуру, которой придерживались разработчики коммандного интерпретатора форточек, ну или дизайнеры недобейсика).

P.P.S.: Спасибо за беседу. Всегда приятно встретить умного собеседника - такая редкость в современной капиталистической быдлообразующей экономике.

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

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

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

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

val-amart ★★★★★
()
Ответ на: комментарий от Xenius

Хы. надо наконец напечатать в рамочку список утилит в кореутилзах.

farafonoff ★★
()
Ответ на: комментарий от val-amart

Вот знаете где преступление против UNIX-way? я вам расскажу.

Есть утилита dnsmasq - кэширующий днс прокси с поддержкой DHCP/ProxyDHCP

Есть dhcpd БЕЗ поддержки ProxyDHCP, а он очень нужен.

И никак их на одном серваке не поставить, потому что порт 67 всего один.

farafonoff ★★
()
Ответ на: комментарий от val-amart

awk - иллюзия полезности. Обычно он пользуется для склеивания одних «юникс» программ с другими. Какого спрашивается их форматы ввода-вывода не состыкованы? какого всякие iptables/ip выводят на каждый интерфейс больше одной строки (что мешает использовать grep). Вы пробовали достать дату/время создания файла из вывода ls -l (он разделяет колонки группами пробелов, а не блять табами)? Какого вообще хрена везде разделитель - группа пробелов, а cut по умолчанию режет по табам? Какого хера все эти ls, df выводят заголовки таблиц, количество файлов в stdout? как блять это все парсить я вас спрашиваю?? вот тут и рождаются уроды вроде awk.

farafonoff ★★
()
Ответ на: комментарий от val-amart

Шелл например не поддерживает дробные числа. Так что преобразовать 41332.4324324 секунд в дату ой как не просто. Расскажи про модульность и производительность авторам баша, которые воткнули в него половину кореутилзов.

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

Командный интерпретатор в форточках заменили на PowerShell - у него ровно та же идея что и у юникс шелла, только с объектами: их не надо парсить каждый раз на awk. Бейсик не лучше и не хуже чем C и С++ - нашлись уроды которые добавили в первый макросы, а во второй - шаблоны, полные по тьюрингу, не выкинув при этом макросов.

farafonoff ★★
()
Ответ на: комментарий от val-amart

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

farafonoff ★★
()
Ответ на: комментарий от val-amart

>юникс-вей еще и обеспечивает удобный инструмент создания конвеера из этих молотков, а также гарантирует их взаимозаменяемость. таким образом, при правильном модульном построении инструментов, функциональные возможности поистине безграничны
Юникс-вей — это набор инструментов для работы с потоком неструктурированного plaintext'а. Поскольку у каждого GNU-девелопера свои представления о plaintext, им в произвольном длинном конвеере может быть лишь семибитный (в последнем dash, например, сломали UTF-8 текст в builtins) ASCII-текст. Об этом НИКОГДА не напишут в мануалах; tr будет заявлять поддержку работы с символами при том, что он всегда работал с потоком байт.

При появлении у текста структуры UNIX-вей ломается, причём чем лучше структурирован текст, тем беспомощнее UNIX-вей. Но об этом знают далеко не все, отсюда и предложения парсить XML/HTML sed'ом, регулярно возникающие на этом форуме.

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

>И никак их на одном серваке не поставить, потому что порт 67 всего один.
А IP на интерфейсе может быть сколько угодно, не?

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

А тупой клиент (PXE лоадер встроенный в биос) хочет их на одном ип. Я пробовал на другой сервак ставить, клиент жалуется то на одно то на другое.

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

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

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

P.S.: Ваша конкретная задача достаточно просто решается если через пайп погнать поток на перл. Перл также переварит UNICODЕ. Только не надо говорить что Perl это другое, мол, мы говорим про coreutils. - Да, Perl не из coreutils, но он поддерживает конвееризацию согласно концепту UNIX-way и может быть встраиваемым. - Вполне возможно, что пакет coreutils не реализует недостающии функционал потому что он был уже реализован в Perl, а его последующее дублирование (имеется ввиду дублирование функционала) - есть необоснованный расход производственных ресурсов планеты.

P.P.S: Если сложности с Perl - покурите perldoc -f localtime, perldoc -f print и perl --help .

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

>тупой клиент (PXE лоадер встроенный в биос) хочет их на одном ип. Я пробовал на другой сервак ставить, клиент жалуется то на одно то на другое.

Опишите задачу. Есть хороший опыт поднятия бездисковых станции. И, еще, посмотрите в сторону проекта etherboot.org (я свою сетевую карту перепрошил и работает отлично, однако, не забывайте, что все на свой страх и риск).

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

>Командный интерпретатор в форточках заменили на PowerShell - у него ровно та же идея что и у юникс шелла, только с объектами: их не надо парсить каждый раз на awk. Бейсик не лучше и не хуже чем C и С++ - нашлись уроды которые добавили в первый макросы, а во второй - шаблоны, полные по тьюрингу, не выкинув при этом макросов.

1. Там где водится PowerShell - там ненужные накладные расходы. Я не буду никогда лично использовать ничего далее чем w2003, так как дальше накладные расходы системы сопоставими с запуском из под вайна.

2. Бейсик много хуже чем С++ и еще хуже чем С и никак не дотягивает до Perl. И...давайте больше труп не поднимать.

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

> Вы пробовали достать дату/время создания файла из вывода ls -l (он разделяет колонки группами пробелов, а не блять табами)?

awk '{print $6}'

Какого хера все эти ls, df выводят заголовки таблиц, количество файлов в stdout? как блять это все парсить я вас спрашиваю??


sed 1d

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