Ошибка "cannot access /dev/disk/by-id"

помогите с запуском на Debian 8
при запуске получаю такой лог


# ./start-engine --client-console --access-token "mytoken"
2017-03-18 13:24:50,835|MainThread|acestream|init segmenter done: log_path=/root/.ACEStream/logs/segmenter.log
2017-03-18 13:24:50,835|MainThread|acestream|platform=linux
2017-03-18 13:24:50,835|MainThread|acestream|app=acestream
2017-03-18 13:24:50,836|MainThread|acestream|version=3.1.16 code=3011600 revision=3258 date=2017-02-08
2017-03-18 13:24:50,836|MainThread|acestream|use_local_db=True
2017-03-18 13:24:50,836|MainThread|acestream|use_m2crypto=True
2017-03-18 13:24:50,836|MainThread|acestream|enable debug: 0
2017-03-18 13:24:50,837|MainThread|acestream|get_default_api_version: 2
2017-03-18 13:24:50,837|MainThread|acestream.coreapp|use fixed i2i_port: 62062
2017-03-18 13:24:50,837|MainThread|acestream.coreapp|state_dir=u'/root/.ACEStream'
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
ls: cannot access /dev/disk/by-id/: No such file or directory
2017-03-18 13:24:50,922|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:56806
2017-03-18 13:24:50,922|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=8621
2017-03-18 13:24:50,922|MainThread|acestream.LM|listen on 8621
2017-03-18 13:24:50,932|MainThread|acestream.VideoServer|start: addr= port=6878 allow_remote=0 allow_intranet=1
2017-03-18 13:24:50,935|AceStreamCoreThread|acestream.LM|start_multicast: error
Traceback (most recent call last):
  File "ACEStream/Core/APIImplementation/LaunchManyCore.py", line 1041, in start_multicast
  File "ACEStream/Core/BitTornado/RawServer.py", line 389, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 818, in create_multicast_sockets
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 922, in get_local_ips
gaierror: [Errno -2] Name or service not known
2017-03-18 13:24:51,354|MainThread|acestream.SocketHandler.InterruptSocket|bound on 127.0.0.1:60839
2017-03-18 13:24:51,354|MainThread|acestream.SocketHandler.SocketHandler|bind: socket bound: host=0.0.0.0 port=62062
2017-03-18 13:24:51,356|Instance2InstanceThread-30|acestream.APIServer|run: ready to receive remote commands on 62062

т.е. сразу ошибка…
при попытке локально обратиться по адресу http://127.0.0.1:6878/webui/app/mytoken/server
браузер даёт 500 Internal Server Error
а в логе

2017-03-18 13:25:59,867|Thread-38|acestream.webui|error in get(): urlpath=/webui/app/mytoken/server
Traceback (most recent call last):
  File "ACEStream/WebUI/WebUI.py", line 235, in get
  File "ACEStream/WebUI/WebUI.py", line 721, in doget
  File "ACEStream/WebUI/WebUI.py", line 1621, in create_server_page
  File "ACEStream/WebUI/WebUI.py", line 1528, in get_server_params
  File "core.c", line 16046, in 
  File "ACEStream/Core/Session.py", line 559, in get_local_ips
  File "ACEStream/Core/APIImplementation/LaunchManyCore.py", line 1068, in get_local_ips
  File "ACEStream/Core/BitTornado/RawServer.py", line 402, in get_local_ips
  File "ACEStream/Core/BitTornado/SocketHandler.py", line 922, in get_local_ips
gaierror: [Errno -2] Name or service not known
2017-03-18 13:26:27,854|ZeroconfThread-21|zc|_reinit_sockets

что не хватает?

Установка Дебиан стандартная, на выделенном железе/VM, или это какой-то урезанный/запускаемый в контейнере вариант?
По первой ошибке - udev установлен и запущен? Что говорит “ls -alh /dev/disk/”?
По второй - что в выводе “cat /etc/hostname && cat /etc/hosts”?

установка стандартная, VM


# dpkg -l | grep udev
ii  libgudev-1.0-0:amd64           215-17+deb8u6              amd64        GObject-based wrapper library for libudev
ii  libudev1:amd64                 215-17+deb8u6              amd64        libudev shared library
ii  dev                           215-17+deb8u6              amd64        /dev/ and hotplug management daemon


# ps axw | grep udev
  139 ?        Ss     0:00 /lib/systemd/systemd-udevd

# ls -alh /dev/disk/
total 0
drwxr-xr-x  3 root root   60 Feb 27 16:12 .
drwxr-xr-x 16 root root 2.8K Feb 27 16:12 ..
drwxr-xr-x  2 root root   80 Feb 27 16:12 by-uuid

# cat /etc/hostname && cat /etc/hosts
vm
127.0.0.1	localhost


# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Файл /lib/udev/rules.d/60-persistent-storage.rules существует?
В нем есть строки вида


# by-id (hardware serial number)
KERNEL=="hd*[!0-9]",			ENV{ID_SERIAL}=="?*", \
	SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}"
KERNEL=="hd*[0-9]",			ENV{ID_SERIAL}=="?*", \
	SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}-part%n"

KERNEL=="sd*[!0-9]",			ENV{ID_SCSI_COMPAT}=="?*", \
	SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}"
KERNEL=="sd*[0-9]",			ENV{ID_SCSI_COMPAT}=="?*", \
	SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}-part%n"

ENV{DEVTYPE}=="disk",		ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", \
	SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
ENV{DEVTYPE}=="partition",	ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", \
	SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"

Если ответ на оба вопроса “да”, то это багофича udev, связанная с тем, что Дебиан запущен в виртуальной машине. Может помочь настройка ВМ (эмулируемый чипсет, тип контроллера HDD, тип диска) и/или установка “гостевых дополнений” под Дебиан для данной ВМ.

Edit:
/etc/hostname без изменений, а строчку c “127.0.0.1” файла /etc/hosts привести к виду


127.0.0.1 localhost vm

/lib/udev/rules.d/60-persistent-storage.rules cуществует, но таких строк нет…
как правильно добавить? в начало, в конец или как то в центр?

Для начала проверить, что таких строк нет в другом файле (мало ли, как там в 8, я в 7 Дебиане проверял)


grep -e "disk/by-id" /lib/udev/rules.d/*

См. вложение, там полный файл.


есть, однако

# grep -e "disk/by-id" /lib/udev/rules.d/*
/lib/udev/rules.d/60-persistent-storage-dm.rules:SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
/lib/udev/rules.d/60-persistent-storage-dm.rules:ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}"
/lib/udev/rules.d/60-persistent-storage.rules:KERNEL=="mspblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
/lib/udev/rules.d/60-persistent-storage.rules:ENV{DEVTYPE}=="disk", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}"
/lib/udev/rules.d/60-persistent-storage.rules:ENV{DEVTYPE}=="partition", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}-part%n"

Более того, есть и в “60-persistent-storage.rules”, просто шаблон для генерации “disk/by-id” другой.
Можно, конечно, сделать бекап оригинального файла и заменить его тем, что в аттаче, но я сомневаюсь, что это поможет - скорее всего, проблема именно в том, что ОС запущена в ВМ.

заменил файл с правилами, udev restart сделал
вывод ls -alh /dev/disk/ не изменился…

кстати, 3.0.2 стартует точно с такими же сообщениями в консоль - но работает без нареканий…

а что виртуалка, так VPS, думаю распространённое явление… особо сильно влиять возможности нет…

вообщем руками создал папку by-id и в ней руками симлинки - завелось! )))

эта проблем решена…

ещё несколько вопросов осталось:

  • как получить hls на выходе? в настройках поставил LIVE STREAM TYPE: HLS, однако всегда получаю обычный http mpegts

  • как запросить и получить плейлист?

разобрался со всем сам, всем спасибо за помощь!!!

Комментарий разработчика по поводу ошибки “cannot access /dev/disk/by-id” - влиять на работоспособность движка не должно. Если влияет, значит - баг, проверим.