Bug 27471

Summary: Не видит старый udevd
Product: Sisyphus Reporter: Mikhail Efremov <sem>
Component: udevAssignee: Alexey Shabalin <shaba>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: arseny, shaba
Version: unstable   
Hardware: all   
OS: Linux   

Description Mikhail Efremov 2012-06-19 19:23:49 MSK
При обновлении на udev-185-alt1:
Service udevd is not running.[PASSED]
Starting udevd service: [ DONE ]

udevd был запущен, разумеется. Так что я получил еще один udevd.
Это SysV init, не systemd.
Может расположение pid-файла изменилось или еще что?
Comment 1 Alexey Shabalin 2012-06-20 13:20:46 MSK
В новом udev больше нет pid файла. init-скрипт изменён.
Как лучше сделать обновление?
Comment 2 Mikhail Efremov 2012-06-20 20:55:00 MSK
Проблема в том, что в udev-181-alt2
/sbin/udevd -> /lib/udev/udevd
В новом udev:
/sbin/udevd -> ../lib/systemd/systemd-udevd

start-stop-daemon делает stat(/sbin/udevd) и не находит запущенного процесса /lib/systemd/systemd-udevd.
Что с этим лучше сделать я даже не знаю.
Comment 3 Mikhail Efremov 2012-06-20 21:21:19 MSK
Ха, все еще веселее. Обновился с udev-185-alt1 на udev-185-alt3, опять получил еще один udevd. Это потому, что т.к. файл был заменен, то inode уже разные и start-stop-daemon начинает сравнивать имена. И /sbin/udevd действительно не равно /lib/systemd/systemd-udevd. Это видимо можно обойти, передавая в status и stop_daemon непосредственно /lib/systemd/systemd-udevd.
Comment 4 Alexey Shabalin 2012-07-17 18:31:48 MSK
я заменю в init-скрипте на /lib/systemd/systemd-udevd. Как сделать лучше тоже придумать не могу.
Меня смущает ещё такой момент:
- чистая установка server-mini(с sysV) в виртуалку
- внутри udev-181-alt2
При загрузке (и пару раз перегружал) получаю в процессах три штуки "udevd --daemon". В pid-файле номер первого процесса.
Comment 5 Mikhail Efremov 2012-07-17 20:56:57 MSK
> я заменю в init-скрипте на /lib/systemd/systemd-udevd. Как сделать лучше тоже
> придумать не могу.

Да, я так и не собрал с таким изменением, хоть и обещал. Хотел придумать что-то для корректного обновления с udev < 185. Но там, видимо, если только триггер ставить и делать service udevd stop перед обновлением.

> Меня смущает ещё такой момент:
> - чистая установка server-mini(с sysV) в виртуалку
> - внутри udev-181-alt2
> При загрузке (и пару раз перегружал) получаю в процессах три штуки "udevd
> --daemon". В pid-файле номер первого процесса.

Это вроде нормально, он форкается зачем-то. Можно убедиться с помощью ps axf.
Comment 6 Repository Robot 2012-07-20 15:11:31 MSK
systemd-186-alt1 -> sisyphus:

* Mon Jul 16 2012 Alexey Shabalin <shaba@altlinux> 186-alt1
- 186
- fix path to udev binary in init script (ALT#27471)
- change Obsoletes to Conflicts for libudev