श: ./लोचदार-एजेंट: नहीं पाया कोशिश कर रहा है जब चलाने के लिए लोचदार एजेंट पर अल्पाइन लिनक्स

0

सवाल

मैं कोशिश कर रहा हूँ करने के लिए कॉन्फ़िगर लोचदार एजेंट पर एक गोदी श्रमिक कंटेनर चल रहा है एक सेवा है । कंटेनर पर आधारित है, अल्पाइन लिनक्स, अभी तक मैं नहीं चला सकते हैं लोचदार एजेंट एजेंट आदेश के बाद डाउनलोड करने और निकालने के एजेंट : यह के बारे में शिकायत एक "नहीं मिला" फ़ाइल है, जबकि फ़ाइल वास्तव में मौजूद है!

यहाँ की एक न्यूनतम reproductible उदाहरण

docker run --rm -it alpine sh
# cd /opt
# wget https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-7.14.2-linux-x86_64.tar.gz
# tar xvf elastic-agent-7.14.2-linux-x86_64.tar.gz
# cd elastic-agent-7.14.2-linux-x86_64/
# ./elastic-agent
sh: ./elastic-agent: not found
# ls -la
total 8452
drwxr-xr-x    3 root     root          4096 Nov 18 17:38 .
drwxr-xr-x    1 root     root          4096 Nov 18 17:38 ..
-rw-r--r--    1 root     root            41 Sep 15 17:00 .build_hash.txt
-rw-r--r--    1 root     root            41 Sep 15 17:00 .elastic-agent.active.commit
-rw-r--r--    1 root     root         13675 Sep 15 16:54 LICENSE.txt
-rw-r--r--    1 root     root       8586842 Sep 15 16:54 NOTICE.txt
-rw-r--r--    1 root     root           866 Sep 15 17:00 README.md
drwxr-xr-x    3 root     root          4096 Nov 18 17:38 data
lrwxrwxrwx    1 root     root            39 Nov 18 17:38 elastic-agent -> data/elastic-agent-574c21/elastic-agent
-rw-r--r--    1 root     root          9020 Sep 15 16:55 elastic-agent.reference.yml
-rw-------    1 root     root          9017 Sep 15 16:55 elastic-agent.yml
# ./data/elastic-agent-574c21/elastic-agent
sh: ./data/elastic-agent-574c21/elastic-agent: not found

मैं चल रहा हूँ पर एक x86_64 मेजबान के रूप में देखा जा सकता है के साथ कर्नेल संस्करण या पैकेज रेपो:

# uname -a
Linux 59ae07b0dca8 5.10.47-linuxkit #1 SMP Sat Jul 3 21:51:47 UTC 2021 x86_64 Linux
# apk update
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
v3.14.3-14-g9234faeb0d [https://dl-cdn.alpinelinux.org/alpine/v3.14/main]
v3.14.3-12-g13e0706e2c [https://dl-cdn.alpinelinux.org/alpine/v3.14/community]
OK: 14942 distinct packages available

पर ऐसा लगता है द्विआधारी लिंक कर सकते हैं करने के लिए पुस्तकालयों सही ढंग से:

# ldd  ./data/elastic-agent-574c21/elastic-agent
    /lib64/ld-linux-x86-64.so.2 (0x7f1868c2f000)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f1868c2f000)
    libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f1868c2f000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f1868c2f000)

यह भी अनुमतियाँ निष्पादित करने के लिए

# ls -la /usr/local/bin/elastic-agent-7.14.2-linux-x86_64/data/elastic-agent-574c21/
total 57244
drwxr-xr-x    3 root     root          4096 Nov 18 17:38 .
drwxr-xr-x    3 root     root          4096 Nov 18 17:38 ..
drwxr-xr-x    2 root     root          4096 Nov 18 17:38 downloads
-rwxr-xr-x    1 root     root      58603536 Sep 15 17:00 elastic-agent

strace प्रतीत नहीं होता है में मदद करने के लिए न तो

# strace -f ./elastic-agent
execve("./elastic-agent", ["./elastic-agent"], 0x7fff9e17bee8 /* 7 vars */) = -1 ENOENT (No such file or directory)
strace: exec: No such file or directory
+++ exited with 1 +++

हूँ मैं कुछ याद आ रही है? सकता अल्पाइन रोकने के लिए एक द्विआधारी शुरू करने से कुछ शर्तों के तहत?

आपकी मदद के लिए धन्यवाद!

alpine docker elastic-stack
2021-11-18 17:55:09
1

सबसे अच्छा जवाब

2

समस्या लगता है कि हो सकता है के संकलित संस्करण elastic-agent है कि आप डाउनलोड की आवश्यकता है libc. अल्पाइन लिनक्स का उपयोग करता है muslc.

एक स्थापित कर सकते हैं glibc में अल्पाइन का उपयोग कर https://stackoverflow.com/a/38433396/5666087. और फिर elastic-agent प्रतीत होता है काम करने के लिए.

FROM alpine
WORKDIR /opt
RUN wget -qO - https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-7.14.2-linux-x86_64.tar.gz \
    | tar xz
# Add glibc
RUN wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
    && wget -q https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.28-r0/glibc-2.28-r0.apk \
    && apk add glibc-2.28-r0.apk \
    && rm glibc-2.28-r0.apk

और चलाने के लिए जिसके परिणामस्वरूप छवि (चलो मान यह नाम है elastic):

docker run --rm -it elastic /opt/elastic-agent-7.14.2-linux-x86_64/elastic-agent
2021-11-18 18:48:38

कि यह हल, धन्यवाद! मैंने सीखा है एक और बात के बारे में आधार के पुस्तकालयों लिनक्स आज.
Thomas P.

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में