hal , udev . Пытаюсь понять что к чему
edrozim 19 июля, 2010 - 16:10
У меня вопрос НЕ из разряда "помогите не работает". Я пытаюсь разобраться с архитектурой Linux в области работы с железом На данный момент я знаю что два демона отвечают за "подхватывание" новых устройств : hal и udev. Но работают ли они в связке и дополняют друг друга ? Или же это два равноценных демона каждый из которых может независимо от другого управлять железом ? Какие есть еще механизмы управления железом в Линукс ? Очень буду рад линке на какую -нибудь хорошую статью по этому поводу . Заранее спасиба
ЗЫ Для любителей посылать в Гугл - уже искал ничего путного не нашел
»
- Для комментирования войдите или зарегистрируйтесь
[Ниже мои личные
[Ниже мои личные представления как работают udev и hal]
Udev - не управляет устройствами, он только на основе неких правил(/etc/udev/rules.d/) выдает имена и права доступа для файлов-устройств, ну и к тому же умеет запускать согласно тем же правилам необходимые для устройства программы. udev управляется событиями: появилось событие, появилась реакция на событие. Как правило в конце правил udev идёт отправка сообщения hal'у ( естественно через системную шину сообщений - dbus ) - смотри пример в файле /etc/udev/rules.d/90-hal.rules.
Hal изначально делался для того чтобы прикладным программам легче было опознавать что конкретное устройство является таким то видом устройств. Что монитор это все таки монитор, а не принтер или видеокамера и т.д. При этом некоторые фишки его - определении дополнительных атрибутов устройств или некоторых событий, которые не генерируются событиями ядра и модулями-драйверами ( типичный пример - наличие cd-диска ). Изначальный механизм взаимодействия между прикладным ПО и hal предусматривал специальную библиотеку. На данный момент существует также способ доступа через шину сообщений dbus.
Рекомендую статейку http://citkit.ru/articles/246/
Причем на данный момент, hal - это уже устаревший механизм. Его сейчас интенсивно разбивают на части под общим названием DeviceKit.
DeviceKit уже имеет способ общения _только_ через dbus.
Вобщемто топикстартер прав.
Вобщемто топикстартер прав. Hal и udev начали разрабатываться в одно и тоже время и для схожих задач, и часть функционала hal'а перекрывает udev. и "устарел" hal как раз потому что решили избавится от этого монстра и дополнить то что недоставало udev несколькими программами типа devicekit, policykit И тп. Hal оказался слишком комплексным решением, которое хотело объять необъятное и как следствие родилось гигантское неповоротливое чудовище которым сложно управлять.
А теперь подскажите вот что...
Принесли мне флешку с NTFS, открываю, там пусто, пришлось монтировать руками, хотя udev ее нашел, но примонтировал пустоту, т.е. пустая точка монтирования, если праильно выразиться...
Полагаю, что нужно правило для ипользования ntfs-3g, как должно выглядеть это правило, куда его прописывать, слышал, что это правило добавляется уже автоматически, но у меня оно не добавлено....
Какие версии пакетов нужны для автоматического монтирования, или выложите не "самопальное" правило для использование ntfs-3g за место ntfs
а теперь ты новую тему
а теперь ты новую тему заведи, потому что к данной твой поток сознания отношения не имеет.
у меня от Win32 в процессе
у меня от Win32 в процессе пересеклись семафоры и мъютексы! :)
прошу прощения, больше не буду...
И меньше - тоже :)
Нууу, "Пустота - не что иное, как форма. Форма - не что иное, как Пустота" Конфуций, на сколько я помню %)
В рутовой консоли выполните
udevadm monitor --env
, и повтыкайте/повытыкайте флешку ;),после чего, можете наслаждаться созданием правил для удева, типа:
http://www.gentoo.ru/content/
http://www.gentoo.ru/content/ntfs-3g-oshibka-ili-ya-oshibayus
Привести /etc/hal/fdi/policy/10-ntfs3g.fdi к виду:
Сам вчера столкнулся, когда KDE на работе ставил. В Xfce все работало нормально и без этого.
Gentoo Way - Дорогу знаю. Секс люблю.
ЧТо больше всего напрягает
ЧТо больше всего напрягает нет какого то однозначного решения в этом вопросе . Реализация всего этого дела реализована по разному - кто использует udev+hal , кто то просто udev , кто-то udev+hotplug , есть другие варианты ... потому и решил разобраться с этим вопросом - так как нет какого то четкого и однозначного Howto как его настроить . Каждый проповедут свою религию и считает что только его решение верно .....
Все зависит от задач и
Все зависит от задач и области применения компьютера.
Для себя решил, нужно монтировать автоматически flash, mmc, (фс fat, ntfs, ext3)
Дописал скрипт на монтирование этих фс, примеров много в интернете.
Хотя, быть может, лучше монтировать руками и не забивать себе голову решением проблемы, которая порождает новые проблемы и головную боль.
Гость написал(а): Все зависит
Мммм а зачем изобретать велосипед? ЗДесь собсно и обсуждаеться "сущность" сделанная чтоб НЕ писать скрипты для монтирования флешек.
Кстати такая риторика встречаеться мне уже не первый раз : на одном форуме видел статью где продвинутый гуру говорит что hal оказываеться вообще не нужен и надо его снести и в make.conf добавить "-hal". На что ему кто-то отвечает "сделал по вашему и теперь у меня флешки перестали автоматом монтироваться " Его ответный пост мне оч понравился ....
"Хм да действительно есть такой побочный эффект. Но ничего страшного я например всю жизнь флешки руками монтирую"
No Comments ....
СПАСИБО большое
СПАСИБО большое очень интересные статьи ( данная статья ссылаеться на другую посвященную udev ! ). Пока в процессе разкуривания статьи . Мыслями поделюсь позже
1. Уровень знаний о том как
1. Уровень знаний о том как Лин работает с железом оч прокачался :)
2. Статейки довольно старенькие , многое уже не так . Например hotplug скрипты давно стали частью udev.
3. Терь буду рыть по поводу того на что там hal разпилили ....
HAL — это
HAL — это платформонезависимая абстракция. Она предоставляет единый высокоуровневый интерфейс к железу на Linux и, скажем, FreeBSD. В этом его смысл и идея. Но сейчас его раскромсали на *kit'ы с сомнительной судьбой.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Судьба у него всегда была
Судьба у него всегда была сомнительная, переписывали несколько раз, а воз и ныне там...
Но как я понимаю альтернативы
Но как я понимаю альтернативы hal'у нет ?
Если нет желания
Если нет желания заморачиваться — нет.
Если есть желание — есть.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Смотря о каких заморочках
Смотря о каких заморочках идет речь. Можно по подробней?
Можно. Что конкретно нужно от
Можно. Что конкретно нужно от hal?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
У меня две генты ( одна на
У меня две генты ( одна на работе , другая дома ). У каждой работа с железом реализована по своему ( из-за того что при настройке каждой разные статьи попадались в гугле :)) Из-за этого одни и те же устройства неопределяються\определяються дома\на работе. Конечно я всегда в конечном счете "уговариваю" ту из них которая "капризничает" но это напрягает.
Хочеться привести обе системы так сказать к общему знаменателю. Когда я стал задумываться к какому четкого ответа я не нашел. Вот и полез САМ разбираться.
Требования у меня простые - флешки , фотоаппараты и иногда usb-bluetooth адаптер. Чтоб это все автоматом определялось .
В общем, я для этого
В общем, я для этого использую sys-apps/uam из sunrise.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.