LINUX.ORG.RU

Сообщения paddlewan

 

Непонятное поведение юнита systemd. Прошу подсказки, куда копать.

Всем доброго времени суток. Такой вопрос: есть написанная мною программа (утилита с веб мордой, которая слушает на заданном адресе и порту и отвечает на http-запросы). Запускается, работает нормально и даже как задумано :)

Написал unit файл (hammer.service, он ниже вместе с логами), чтобы запускать с помощью systemd, положил в /etc/systemd/system. Сделал sudo systemctl daemon-reload.

Далее по команде sudo systemctl start hammer сервис запускается и работает нормально, т.е. видится в моей сети по 10.0.0.10:4242, отвечает на запросы и пр. systemctl status и systemctl stop также делают то, что должны. Но если перегрузить машину, сервис не стартует, ругаясь на «listen tcp 10.0.0.10:4242: bind: cannot assign requested address»

При этом если сразу после загрузки сделать sudo systemctl start hammer, то сервис стартует без проблем и работает.

Ниже юнит-файл и лог journalctl (как раз система запустилась, сервис не стартанул и я его стартую «руками»).

Прошу подсказать, если я пропустил что-то очевидное. В юнит-файле пробовал After=network.target или (как в логах ниже) After=netwotrk-online.target. Также пробовал Require=(оба варианта). Результат одинаковый.

Как я понимаю, After=netwotrk-online.target означает, что мой сервис должен стартовать после того, как сеть гарантированно поднялась.

В какую сторону копать? Какие есть идеи?

А теперь логи в студию…

cat /etc/systemd/system/hammer.service

[Unit]
Description=Hammer Systemd Assistant
After=network-online.target

[Service]
ExecStart=/usr/local/bin/hammer -serve -ip 10.0.0.10 -port 4242
Type=simple

[Install]
WantedBy=multi-user.target

journalctl -u hammer

-- Logs begin at Wed 2020-10-28 01:11:08 MSK, end at Wed 2020-10-28 01:17:56 MSK. --
окт 28 01:11:13 raspberry systemd[1]: Started Hammer Systemd Assistant.
окт 28 01:11:13 raspberry hammer[417]: Using /usr/local/etc/hammer.conf config file
окт 28 01:11:14 raspberry hammer[417]: listen tcp 10.0.0.10:4242: bind: cannot assign requested address
окт 28 01:11:14 raspberry systemd[1]: hammer.service: Main process exited, code=exited, status=1/FAILURE
окт 28 01:11:14 raspberry systemd[1]: hammer.service: Failed with result 'exit-code'.
окт 28 01:12:44 raspberry systemd[1]: Started Hammer Systemd Assistant.
окт 28 01:12:44 raspberry hammer[758]: Using /usr/local/etc/hammer.conf config file

Во избежание сомнений про IP адрес и пр.:

ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.10  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::a8d9:c5d0:55ab:40fc  prefixlen 64  scopeid 0x20<link>
        ether dc:a6:32:4a:c7:a3  txqueuelen 1000  (Ethernet)
        RX packets 6860  bytes 935445 (913.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 9553  bytes 1092106 (1.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 145  bytes 57849 (56.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 145  bytes 57849 (56.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

route

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         router          0.0.0.0         UG    202    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     202    0        0 eth0

 ,

paddlewan
()

Вопрос по использованию fuse + fstab

Всем привет. Буду краток. Дело происходит в Raspbian. Задача - дать моему пользователю право монтировать раздел exFAT съемного диска без sudo. Тривиально, но…

whoami

dmitry

id dmitry

uid=1001(dmitry) gid=1001(dmitry) группы=1001(dmitry),4(adm),6(disk),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),1000(pi),999(spi),998(i2c),997(gpio)

ls -ld /media/BIG/

drwxr-x— 2 dmitry users 4096 дек 25 03:03 /media/BIG/

ls -l /dev/sdb1

brw-rw—- 1 root disk 8, 17 дек 25 09:31 /dev/sdb1

cat /etc/fstab | grep /media/BIG

UUID=5DF6-2FE7 /media/BIG exfat rw,auto,nofail,user,umask=027,uid=1001,gid=100

ls -l /bin/fusermount

-rwsr-xr-x 1 root root 26072 янв 7 2019 /bin/fusermount

ls -l /sbin/mount.fuse

-rwxr-xr-x 1 root root 9684 янв 7 2019 /sbin/mount.fuse

Пробовал делать chmod +s /sbin/mount.fuse - безрезультатно.

mount /media/BIG

FUSE exfat 1.3.0 ERROR: failed to open ‘/dev/sdb1’: Permission denied.

При этом sudo mount /media/BIG работает.

Подскажите, пожалуйста, где не хватает прав или в чем моя ошибка? Я голову сломал уже, честно говоря.

Думаю, что дело точно во fuse, т.к. с правами, на мой взгляд, все нормально и вот такая строка из /etc/fstab прекрасно работает (т.е. пользователь dmitry монтирует без sudo файловую систему): UUID=bfb5f4e7-f031-4a8a-99ac-9398e05e8170 /media/storage ext4 rw,user,auto,nofail,exec,noatime

Права на директорию storage и устройство в /dev/ при этом абсолютно такие же, что и в проблемном случае.

 , , ,

paddlewan
()

RSS подписка на новые темы