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!

April 2025

S M T W T F S
  1 23 45
67 89101112
13141516171819
20212223242526
27282930   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 22nd, 2025 11:13 pm
Powered by Dreamwidth Studios