при попытке что либо с ним сделать (включая вызов команды file на нем) ошибка - file not found?
прям в /home?
да в любой директории, это внутри контейнера
stat его сделай
# stats pgfutter sh: stats: not found
во-первых, оно stat во-вторых, ты же системные /bin /usr/bin внутрь контейнера не прокидывал?
сори /usr/src/app # stat pgfutter File: pgfutter Size: 7620904 Blocks: 14888 IO Block: 4096 regular file Device: 4000fbh/4194555d Inode: 2063633381 Links: 1 Access: (0755/-rwxr-xr-x) Uid: ( 1000/ UNKNOWN) Gid: ( 1000/ UNKNOWN) Access: 2023-06-02 13:11:51.369894832 +0000 Modify: 2023-06-02 13:02:37.114488080 +0000 Change: 2023-06-02 13:02:37.115488209 +0000
а надо? тут как бы рядом другое go приложение билдиться и крутиться без проблем в этом же контейнере
в принципе, если у исполняемого файла шебанг указывает на деревню дедушке, ты тоже увидишь эту ошибку head pgfutter
каказябры пишет =/
я бы потащил файл куда-то, где есть readelf (либо подмонтировал его в контейнер, как по ссылке) и им посмотрел интерпретатор. https://jvns.ca/blog/2021/11/17/debugging-a-weird--file-not-found--error/
нуу оно указывает на lib64, в контейнере оно лежит в просто lib, но есть симлинка lib64 -> lib readelf -l ./pgfutter | grep interpreter [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2] в контейнере /home # ls -l / total 4 drwxr-xr-x 1 root root 6 Mar 29 20:37 bin drwxr-xr-x 5 root root 360 Jun 1 12:46 dev drwxr-xr-x 1 root root 25 Jun 1 12:46 etc drwxrwxrwt 1 root root 17 Jun 1 12:36 go drwxr-xr-x 1 root root 51 Jun 2 12:26 home drwxr-xr-x 1 root root 17 Mar 29 14:27 lib lrwxrwxrwx 1 root root 4 Jun 2 12:51 lib64 -> /lib drwxr-xr-x 5 root root 44 Mar 29 14:27 media drwxr-xr-x 2 root root 6 Mar 29 14:27 mnt drwxr-xr-x 2 root root 6 Mar 29 14:27 opt dr-xr-xr-x 1655 root root 0 Jun 1 12:46 proc drwx------ 1 root root 26 Jun 2 12:35 root drwxr-xr-x 1 root root 42 Jun 1 12:46 run drwxr-xr-x 2 root root 4096 Mar 29 14:27 sbin drwxr-xr-x 2 root root 6 Mar 29 14:27 srv dr-xr-xr-x 13 root root 0 Jan 27 2022 sys drwxrwxrwt 1 root root 6 Mar 29 20:37 tmp drwxr-xr-x 1 root root 17 Jun 1 12:36 usr drwxr-xr-x 1 root root 19 Mar 29 14:27 var
И ld-linux-x86-64.so.2 там есть?
а, фиг там /home # ls -l /lib total 3940 drwxr-xr-x 1 root root 16 Mar 29 14:27 apk drwxr-xr-x 2 root root 6 Mar 29 14:27 firmware -rwxr-xr-x 1 root root 604704 Nov 12 2022 ld-musl-x86_64.so.1 -rwxr-xr-x 1 root root 184000 May 15 2022 libapk.so.3.12.0 lrwxrwxrwx 1 root root 19 Mar 29 14:27 libc.musl-x86_64.so.1 -> ld-musl-x86_64.so.1 -rwxr-xr-x 1 root root 2613936 Mar 28 14:16 libcrypto.so.1.1 -rwxr-xr-x 1 root root 523704 Mar 28 14:16 libssl.so.1.1 lrwxrwxrwx 1 root root 14 Mar 29 14:27 libz.so.1 -> libz.so.1.2.12 -rwxr-xr-x 1 root root 100248 Aug 9 2022 libz.so.1.2.12 drwxr-xr-x 2 root root 6 Mar 29 14:27 mdev drwxr-xr-x 2 root root 6 Mar 29 14:27 modules-load.d drwxr-xr-x 2 root root 28 Mar 29 14:27 sysctl.d
ну вот и ответ на вопрос "почему".
можно для фана посмотреть, какой интерпретатор в этом работающем приложении
на работающем вывод readelf несколько иной Elf file type is EXEC (Executable file) Entry point 0x4671c0 There are 7 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align PHDR 0x0000000000000040 0x0000000000400040 0x0000000000400040 0x0000000000000188 0x0000000000000188 R 0x1000 NOTE 0x0000000000000f9c 0x0000000000400f9c 0x0000000000400f9c 0x0000000000000064 0x0000000000000064 R 0x4 LOAD 0x0000000000000000 0x0000000000400000 0x0000000000400000 0x000000000030990a 0x000000000030990a R E 0x1000 LOAD 0x000000000030a000 0x000000000070a000 0x000000000070a000 0x00000000002ed450 0x00000000002ed450 R 0x1000 LOAD 0x00000000005f8000 0x00000000009f8000 0x00000000009f8000 0x000000000002dd40 0x000000000006bd10 RW 0x1000 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 0x8 LOOS+0x5041580 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x8 Section to Segment mapping: Segment Sections... 00 01 .note.go.buildid 02 .text .note.go.buildid 03 .rodata .typelink .itablink .gosymtab .gopclntab 04 .go.buildinfo .noptrdata .data .bss .noptrbss 05 06
Обсуждают сегодня