eddy_em: (Default)
[personal profile] eddy_em
Промучился полчаса, пока понял, почему у меня после апдейта (плюс еще и ядро обновил) "поломался" udev (вставляю преобразователь CAN<>USB, а /dev/ttyUSB0 не появляется). Оказывается, ошибка в init-скрипте. Есть функция get_udevd_binary. Вот так она должна выглядеть:
get_udevd_binary() {
	local bins
	bins="/sbin/udevd /lib/systemd/systemd-udevd /usr/lib/systemd/systemd-udevd"
	for f in ${bins}; do
		if [ -x "$f" ]; then
			command="$f"
			break
		fi
	done
	if [ -z "$command" ]; then
		eerror "Unable to find udev executable."
		return 1
	fi
}

а в оригинале break после обнаружения бинарника отсутствует! А какая-то падла занесла мне симлинк /lib/systemd/systemd-udevd -> ../../bin/udevadm!!! Понятное дело, что симлинк неправильный (должно быть /sbin/udevd), поэтому ничего не происходило и демон udevd не запускался! Добавил break и удалил мусор. Все работает.

P.S. А вообще, если бы разработчики пакета udev-init-scripts были бы приличными людьми, то такой проверки бы вообще не было, а просто было бы написано command="/sbin/udev". Потому что приличному человеку даже в голову не может прийти, что кто-то может пользоваться смесью openrc и systemd!
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 24th, 2025 09:37 am
Powered by Dreamwidth Studios