【问题标题】:How do I install rar in a Alpine based container?如何在基于 Alpine 的容器中安装 rar?
【发布时间】:2021-02-19 06:16:56
【问题描述】:

容器中的一个程序需要rar(除了unrar),我使用以下命令安装到/usr/bin

curl https://www.rarlab.com/rar/rarlinux-x64-6.0.b1.tar.gz | tar -xzvf - -C /tmp/
cp -rfp /tmp/rar/rar /usr/bin/rar

现在/usr/bin/rar存在并拥有755权限,/usr/bin$PATH中,但是当我运行rar -v/usr/bin/rar时,它分别输出ash: rar: not foundash: /usr/bin/rar: not found

我在/tmp/rar 中使用makemake install 得到了相同的结果,然后将rarunrar 复制到/usr/local/bin,这也在$PATH 中。

为什么会这样?

【问题讨论】:

    标签: docker alpine rar


    【解决方案1】:

    Alpine 是使用 musl-libc 构建的。针对更常见的glibc 编译的软件通常不会在此环境中运行,因为它找不到预期的动态加载器。

    解决此问题的常用方法包括 (a) 自己编译代码或 (b) 安装在其他地方为 Alpine 构建的版本。我不相信这两种方法都会成为 Rar 的选择。

    您最好的选择就是将 Alpine 作为您的基础镜像替换为其他东西(实际上,几乎任何东西)(debian、ubuntu、fedora、centos 等)。

    (注意如果你只需要解压rar压缩包,可以在Alpine下直接apk install unrar)。

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 1970-01-01
      • 2020-01-17
      • 1970-01-01
      • 2017-07-14
      • 2017-10-01
      • 1970-01-01
      • 2020-07-29
      • 2016-06-11
      相关资源
      最近更新 更多