# ping BRWEC5C6891B7F6.local ping: BRWEC5C6891B7F6.local: System error при этом под пользователем работает, не работает только под рутом. пробовать пинговать можно любой узел, заканчивающийся на .local, даже не существуюший.
Похоже, что getaddrinfo() возвращает EAI_SYSTEM по каким-то причинам. Т.е. проблема не в ping, а в резолвинге.
Предлагаю под strace запустить, там и errno будет видно.
# resolve BRWE89EB445B7E5.local IP address of BRWE89EB445B7E5.local: xx.xx.xx.xx # ping BRWE89EB445B7E5.local ping: BRWE89EB445B7E5.local: System error
(Ответ для Mikhail Efremov на комментарий #2) > Предлагаю под strace запустить, там и errno будет видно. в strace чистенько. там после попытки срезловить его на местном DNS вот такое в конце: 737976 openat(AT_FDCWD, "/lib64/libnss_myhostname.so.2", O_RDONLY|O_CLOEXEC) = 5 737976 read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2404\0\0\0\0\0\0"..., 832) = 832 737976 fstat(5, {st_mode=S_IFREG|0644, st_size=104688, ...}) = 0 737976 mmap(NULL, 108808, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x7f2511a33000 737976 mmap(0x7f2511a36000, 45056, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x3000) = 0x7f2511a36000 737976 mmap(0x7f2511a41000, 32768, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0xe000) = 0x7f2511a41000 737976 mmap(0x7f2511a49000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x15000) = 0x7f2511a49000 737976 close(5) = 0 737976 openat(AT_FDCWD, "/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/tls/haswell/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/tls/haswell/x86_64", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/tls/haswell/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/tls/haswell", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/tls/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/tls/x86_64", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/tls/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/tls", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/haswell/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/haswell/x86_64", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/haswell/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/haswell", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/x86_64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64/x86_64", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 openat(AT_FDCWD, "/usr/lib64/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (Нет такого файла или каталога) 737976 stat("/usr/lib64", 0x7ffd5e3febf0) = -1 ENOENT (Нет такого файла или каталога) 737976 munmap(0x7f2511a33000, 108808) = 0 737976 write(2, "ping: ", 6) = 6 737976 write(2, "BRWE89EB445B7E5.local: System er"..., 35) = 35 737976 write(2, "\n", 1) = 1 737976 close(1) = 0 737976 close(2) = 0 737976 exit_group(2) = ? можешь у себя попробовать - иметь этот .local хост в сети не обязательно.
может быть ему /lib64/libpthread.so.0 в чруте не хватило ?
А если выполнить update_chrooted all?
# update_chrooted all # ping rider.local ping: rider.local: System error Миша, у тебя же это прекрасно воспроизводится. Или нет ?
(Ответ для Anton Farygin на комментарий #7) > # update_chrooted all > # ping rider.local > ping: rider.local: System error > > Миша, у тебя же это прекрасно воспроизводится. Или нет ? Нет, не воспроизводится. Впрочем, я проверял на p9. В Сизифе же libnss_myhostname.so.2 действительно слинкован с libpthread.so.0. Значит в этом случае libpthread надо добавлять в чрут, видимо.
(In reply to Mikhail Efremov from comment #8) > Сизифе же > libnss_myhostname.so.2 действительно слинкован с libpthread.so.0. Ой. Вы же понимаете, что это значит? Во время работы обычная ничего не подозревающая программа вызывает getaddrinfo, в результате которого вдруг начинает быть слинкованной с -lpthread. Это потенциально очень проблематично. Не надо так делать.
Это надо перевесить на мантейнера libnss_myhostname.so.2. Не все программы слинкованы с -lpthread, и не надо их к этому принуждать.
перевешиваю на libnss-myhostname
а тогда, видимо, и это можно считать за ошибку ? : /lib64/libnss_wins.so.2 linux-vdso.so.1 (0x00007ffefb73f000) libwbclient.so.0 => /usr/lib64/libwbclient.so.0 (0x00007f4779af3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4779ad2000) libc.so.6 => /lib64/libc.so.6 (0x00007f477990e000) libsamba-util.so.0 => /usr/lib64/libsamba-util.so.0 (0x00007f477989a000) libwinbind-client-samba4.so => /usr/lib64/samba/libwinbind-client-samba4.so (0x00007f4779894000) libreplace-samba4.so => /usr/lib64/samba/libreplace-samba4.so (0x00007f477988f000) /lib64/ld-linux-x86-64.so.2 (0x00007f4779b30000) libgenrand-samba4.so => /usr/lib64/samba/libgenrand-samba4.so (0x00007f4779888000) libsocket-blocking-samba4.so => /usr/lib64/samba/libsocket-blocking-samba4.so (0x00007f4779883000) libsamba-debug-samba4.so => /usr/lib64/samba/libsamba-debug-samba4.so (0x00007f4779878000) libtime-basic-samba4.so => /usr/lib64/samba/libtime-basic-samba4.so (0x00007f4779873000) libsys-rw-samba4.so => /usr/lib64/samba/libsys-rw-samba4.so (0x00007f477986e000) libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f47797b6000) libtevent.so.0 => /usr/lib64/libtevent.so.0 (0x00007f477979f000) libtalloc.so.2 => /usr/lib64/libtalloc.so.2 (0x00007f477978d000) libicui18n.so.67 => /usr/lib64/libicui18n.so.67 (0x00007f4779493000) libicuuc.so.67 => /usr/lib64/libicuuc.so.67 (0x00007f47792af000) libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f47790e6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f47790e1000) libiov-buf-samba4.so => /usr/lib64/samba/libiov-buf-samba4.so (0x00007f47790da000) librt.so.1 => /lib64/librt.so.1 (0x00007f47790cf000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f47790a2000) libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f4778fec000) liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f4778fca000) libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f4778eab000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4778c33000) libm.so.6 => /lib64/libm.so.6 (0x00007f4778aee000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4778ad4000) libicudata.so.67 => /usr/lib64/libicudata.so.67 (0x00007f4776fbb000) libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f4776e9b000) libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f4776e7a000) libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f4776cf6000) libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f4776ce0000) libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007f4776ca2000) libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007f4776c59000) libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f4776be3000) libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f4776bc1000) libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007f4776bb3000)
(In reply to Anton Farygin from comment #12) > а тогда, видимо, и это можно считать за ошибку ? : > /lib64/libnss_wins.so.2 > linux-vdso.so.1 (0x00007ffefb73f000) > libwbclient.so.0 => /usr/lib64/libwbclient.so.0 (0x00007f4779af3000) > libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4779ad2000) > libc.so.6 => /lib64/libc.so.6 (0x00007f477990e000) > libsamba-util.so.0 => /usr/lib64/libsamba-util.so.0 > (0x00007f477989a000) > libwinbind-client-samba4.so => > /usr/lib64/samba/libwinbind-client-samba4.so (0x00007f4779894000) > libreplace-samba4.so => /usr/lib64/samba/libreplace-samba4.so > (0x00007f477988f000) > /lib64/ld-linux-x86-64.so.2 (0x00007f4779b30000) > libgenrand-samba4.so => /usr/lib64/samba/libgenrand-samba4.so > (0x00007f4779888000) > libsocket-blocking-samba4.so => > /usr/lib64/samba/libsocket-blocking-samba4.so (0x00007f4779883000) > libsamba-debug-samba4.so => > /usr/lib64/samba/libsamba-debug-samba4.so (0x00007f4779878000) > libtime-basic-samba4.so => /usr/lib64/samba/libtime-basic-samba4.so > (0x00007f4779873000) > libsys-rw-samba4.so => /usr/lib64/samba/libsys-rw-samba4.so > (0x00007f477986e000) > libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007f47797b6000) > libtevent.so.0 => /usr/lib64/libtevent.so.0 (0x00007f477979f000) > libtalloc.so.2 => /usr/lib64/libtalloc.so.2 (0x00007f477978d000) > libicui18n.so.67 => /usr/lib64/libicui18n.so.67 (0x00007f4779493000) > libicuuc.so.67 => /usr/lib64/libicuuc.so.67 (0x00007f47792af000) > libgnutls.so.30 => /usr/lib64/libgnutls.so.30 (0x00007f47790e6000) > libdl.so.2 => /lib64/libdl.so.2 (0x00007f47790e1000) > libiov-buf-samba4.so => /usr/lib64/samba/libiov-buf-samba4.so > (0x00007f47790da000) > librt.so.1 => /lib64/librt.so.1 (0x00007f47790cf000) > liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f47790a2000) > libzstd.so.1 => /lib64/libzstd.so.1 (0x00007f4778fec000) > liblz4.so.1 => /lib64/liblz4.so.1 (0x00007f4778fca000) > libgcrypt.so.20 => /lib64/libgcrypt.so.20 (0x00007f4778eab000) > libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4778c33000) > libm.so.6 => /lib64/libm.so.6 (0x00007f4778aee000) > libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f4778ad4000) > libicudata.so.67 => /usr/lib64/libicudata.so.67 (0x00007f4776fbb000) > libp11-kit.so.0 => /usr/lib64/libp11-kit.so.0 (0x00007f4776e9b000) > libidn2.so.0 => /lib64/libidn2.so.0 (0x00007f4776e7a000) > libunistring.so.2 => /lib64/libunistring.so.2 (0x00007f4776cf6000) > libtasn1.so.6 => /usr/lib64/libtasn1.so.6 (0x00007f4776ce0000) > libnettle.so.8 => /usr/lib64/libnettle.so.8 (0x00007f4776ca2000) > libhogweed.so.6 => /usr/lib64/libhogweed.so.6 (0x00007f4776c59000) > libgmp.so.10 => /usr/lib64/libgmp.so.10 (0x00007f4776be3000) > libgpg-error.so.0 => /lib64/libgpg-error.so.0 (0x00007f4776bc1000) > libffi.so.7 => /usr/lib64/libffi.so.7 (0x00007f4776bb3000) Это вообще финиш.
(Ответ для Mikhail Efremov на комментарий #8) > (Ответ для Anton Farygin на комментарий #7) > > # update_chrooted all > > # ping rider.local > > ping: rider.local: System error > > > > Миша, у тебя же это прекрасно воспроизводится. Или нет ? > > Нет, не воспроизводится. Впрочем, я проверял на p9. В Сизифе же > libnss_myhostname.so.2 действительно слинкован с libpthread.so.0. > Значит в этом случае libpthread надо добавлять в чрут, видимо. В p9 не воспроизводится, но все же там тоже слинковано с libpthread. Т.е. в этом месте я не вижу разницы в libnss_myhostname. Разница скорее в iputils. Я не утверждаю, что libnss_myhostname правильно слинкован с libpthread, но оторвать по-быстрому у меня не получилось.
(Ответ для Alexey Shabalin на комментарий #14) > (Ответ для Mikhail Efremov на комментарий #8) > > (Ответ для Anton Farygin на комментарий #7) > > > # update_chrooted all > > > # ping rider.local > > > ping: rider.local: System error > > > > > > Миша, у тебя же это прекрасно воспроизводится. Или нет ? > > > > Нет, не воспроизводится. Впрочем, я проверял на p9. В Сизифе же > > libnss_myhostname.so.2 действительно слинкован с libpthread.so.0. > > Значит в этом случае libpthread надо добавлять в чрут, видимо. > > В p9 не воспроизводится, но все же там тоже слинковано с libpthread. А, значит туда тоже уже просочилось. У меня был p9 не обновленный до текущего, в libnss-myhostname-243.8-alt2 еще не слинкован.