bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
Если посмотреть вызов setsockopt(0, SOL_IP, IP_MTU_DISCOVER, [0], 4) = -1 ENOTSOCK (Socket operation on non-socket) то видно что первым аргументом идёт 0. Разве дескриптор сокета может быть нулевым? |
bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
чтож. Вычитал что можно дополнительные параметры задать. Добавил, но получил другие ошибки
journalctl -xe .. . ////// заменил цитирование на cоde. vadik//// |
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
bitrixbizЭто то же заметил и насколько понимаю, иметь значение ноль дескриптор не может..... так как вызов socket возвращает описатель/дескриптор , ссылающийся на сокет...., но в данном случае (согласно ошибке ENOTSOCK) аргументом sockfd является файл, а не сокет.....а потому указывать нечего и приведен 0......но это мое мнение и возможно ошибочное... Насчет приведенных выводов strace — ничего криминального не вижу, команда отработала нормально и завершилась без затыков....... + к этому не видно системных вызовов, имеющих отношение к сети. Можно предположить, что команда для трейса выбрана неудачно и ничего не дает …... В подробности самой задачи не вникал и по указанной ссылке не ходил, а потому смысла поставленной задачи не представляю............ а значит и рекомендовать какие то команды для трейса не могу, да это и не правильно будет ..........так как я в практике сети большой чайник и мне очень, очень далеко до такого спеца, как kurych.... Могу только посоветовать , если искать затык методом трейса, то нужно использовать нужные команды для запуска и для начала применить фильты - для сетевых операций -e trace=network , для файловых операций -e trace=file ….. возможно можно вклинить и -e trace=process …. в зависимости от ситуации и анализа....
Ошибки не исчезают с опытом - они просто умнеют
|
bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
vadikСпасибо за заботу. Но понимаешь, в code не действует выделение значимых мест в листинге, чтобы было за что взгляду зацепиться. В диалоге это очень важно. Портянки конечно никому не нравятся, но вот нельзя цитирование под спойлер завернуть или прокрутку сделать. Надеюсь не пошлёшь меня опять исходники форума править ;) |
vasek |
|
Темы:
47
Сообщения:
11743
Участник с: 17 февраля 2013
|
bitrixbizЭто потдверждаю....... такое имеется, но, возможно, не умеем пользоваться..... тогда просьба подсказать как это делать ....
Ошибки не исчезают с опытом - они просто умнеют
|
bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
vasekДа, одна надежда на него, да ещё может кто пройдёт поможет, или может что дельное придумает. Как я только эти конфигурационные файлы не крутил, замучился уже, вот только добился что новой ошибки: апр 30 13:59:55 ArchServer systemd[1]: tftpd.service: Got more than one socket. апр 30 13:59:55 ArchServer systemd[1]: tftpd.service: Failed to run 'start' task: Invalid argument Это когда добавил StandardInput=socket StandardOutput=inherit StandardError=journal Сейчас так: 1. сделал на всякий ещё раз systemctl enable tftpd.socket 2. хук tftpd.service.d вообще убрал из /etc/systemd/system/ 3. в файле /etc/conf.d/tftpd только одна строка TFTPD_ARGS="--secure /srv/nfs/diskless/boot/" 4. в файле /usr/lib/systemd/system/tftpd.service теперь прописано только это:
ошибка та же май 01 14:42:07 ArchServer in.tftpd[576]: recvfrom: Socket operation on non-socket май 01 14:42:07 ArchServer systemd[1]: tftpd.service: Control process exited, code=exited status=74 май 01 14:42:07 ArchServer systemd[1]: Failed to start hpa's original TFTP daemon. |
kurych |
|
Темы:
0
Сообщения:
1394
Участник с: 06 ноября 2011
|
Значит, как я вижу, привели tftpd.service к исходному виду. Это правильно. Теперь убедитесь, что запущено что-то одно: или tftpd.service, или tftpd.socket. Лучше всего сделать Теперь решите, что будете использовать: service или socket.Если service, то Если ошибок не будет, то можно проверять. Можно посмотреть Должно быть так. Если нет, начнем сначала. Тогда еще раз покажите systemctl cat tftpd.{service,socket} и systemctl status tftpd.{service,socket}
|
Velesich |
|
Темы:
16
Сообщения:
834
Участник с: 23 апреля 2013
|
У мну работает с такими настройками
|
bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
kurych VelesichУ вас у обоих используется параметр -l (--listen) у меня в запуске его нет ExecStart=/usr/bin/in.tftpd $TFTPD_ARGS и вы дружно склоняете меня к его использованию :) Но дело в другом. Возможно я уже просто запутался. Раннее у людей и без этого параметра всё работало в связке tftpd.socket tftpd.service man что говорит? The server is normally started by inetd, but can also run standalone. -l, --listen Run the server in standalone (listen) mode, rather than run from inetd. Значит получается его можно запускать без этого параметра, через inetd. Ладно, вопрос простой, в чём разница standalone mode и запуском через inetd. Используются ли сокеты в этих режимах? Зачем раньше работало через systemctl start tftpd.socket tftpd.service, и что означала эта связка? Зачем тогда все эти приблуды в /usr/lib/systemd/system/tftpd.service: StandardInput=socket?? Зачем в конце концов сам tftpd.socket? Как его можно использовать? В интернетах как-то гроздью всё рассыпано, всё в один ответ собрать не получается. |
bitrixbiz |
|
Темы:
26
Сообщения:
165
Участник с: 29 апреля 2016
|
ах да, strace /usr/bin/in.tftpd -l -4 -s /srv/nfs/diskless/boot/
только это listen mode. Как запустить без него? Да и предыдущие вопросы остались. |