Ваш файл list использует окончания строк CRLF
вместо стандартного LF
, отсюда \ r
в сообщении об ошибке. Попробуйте:
xargs -rd '\n' --arg-file=<(<filelist.txt tr -d '\r') rm -i --
(Предполагается, что в вашей оболочке есть подстановка процесса, например, ksh, bash или zsh.)
Как видно из вывода ldd
, этот двоичный файл wkhtmltopdf
создан для glibc, библиотеки GNU C:
libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f88720cc000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by wkhtmltopdf)
Библиотека libc реализует функции стандартной библиотеки C, а также API POSIX(libc.so.6
)и динамический компоновщик(ld-linux-x86-64.so.2
). glibc — наиболее распространенная реализация libc, используемая в большинстве дистрибутивов Linux.
В Alpine Linux используется musl -libc . musl гораздо более минималистичный по своей природе и нацелен на строгое соответствие POSIX. Файл библиотеки для musl — libc.musl-x86_64.so.1
, а динамический компоновщик — ld-musl-x86_64.so.1
. Поэтому программы, связанные с glibc, не смогут связать с musl libc.
Для запуска программ glibc в Alpine Linux обычно требуется установить glibc, как описано здесь . В некоторых случаях, если требуется только базовая совместимость с glibc, достаточно установить libc6-compat
, который является пакетом совместимости musl -glibc.
Однако лучшей альтернативой является установка соответствующего пакета Alpine, если таковой доступен (, по моему опыту, в большинстве случаев это ). В вашем случае просто установите пакетwkhtmltopdf
(Alpine 3.9+ ):apk add wkhtmltopdf
.