Не запускается утилита из директории: /usr/bin/ на Alpine Linux
При попытке запустить утилиту: ./checkmk в директории /usr/bin, я получаю следующее сообщение: -ash: ./checkmk: not found.
При использовании: ls | grep checkmk, утилита отображается в выводе команды.
При использовании: ls -l checkmk : -rwxr-xr-x 1 root root 15200 Oct 24 2022 checkmk
Я пробовал запускать данную утилиту таким же способом на Debian,и это работает. На Debian и Alpine устанавливался тот же пакет: check, включающий в себя checkmk.
Данный пакет для Alpine: https://alpine.pkgs.org/3.14/alpine-main-aarch64/check-0.15.2-r0.apk.html
- Alpine: 3.17
- Debian: 11
Ответы (1 шт):
/usr/bin/checkmk - это скрипт, в первой строке которого написана магическая формула для запуска
#! /usr/bin/gawk -f
По-умолчанию в контейнере alpine нет gawk, поэтому вы видите ошибку not found.
добавить gawk:
apk add gawk
После этого заработает:
checkmk /usr/bin/checkmk
... длинный вывод
checkmk: Expected at least one #test line.
Работает, если одним словом.
PS
Интересно, почему у вас checkmk от 24 октября 2022 года? У меня в alpine:latest от 1 октября 2020:
$ docker run --rm alpine:latest sh -c 'apk add check && ls -l /usr/bin/checkmk'
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.16/community/x86_64/APKINDEX.tar.gz
(1/1) Installing check (0.15.2-r0)
Executing busybox-1.35.0-r17.trigger
OK: 6 MiB in 15 packages
-rwxr-xr-x 1 root root 15200 Oct 1 2020 /usr/bin/checkmk