我正在摆弄一个 Docker 镜像,它是使用 Packer 从 Virtualbox 虚拟机构建的。该镜像是 Alpine Linux 5.3.0,但apk
似乎已被删除。
我如何重新安装apk
或从源代码构建它?谷歌搜索似乎只能对安装软件包或 Android 应用程序的人产生结果!
答案1
可能你指的是 v3.5.0。
更简单的方法是(如果您的架构是 x86_64):
wget http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/apk-tools-static-2.6.8-r1.apk
然后解压下载的文件:
tar -zxvf apk-tools-static-2.6.8-r1.apk
您将在解压后的 apk 中找到 apk.static 文件,您可以使用它来安装 apk-tools。
更多信息请点击这里: https://wiki.alpinelinux.org/wiki/Upgrading_Alpine
当然,如果你的架构是x86,则url为:
wget http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86/apk-tools-static-2.6.8-r1.apk
不管怎样,你需要的包是“apk-tools”。
答案2
对弗朗西斯科的回答的补充(因为我还没有评论的声誉):
您可能需要使用curl
带有-o
标志的命令而不是 wget,具体取决于容器的配置方式。 (如果您收到一条wget: command not found
消息,这可能是一个很好的后备方案。)
===
编辑:另外,从“packages”页面看起来他们可能已经删除了这个次要版本以支持 2.6.9:
https://pkgs.alpinelinux.org/packages?name=apk-tools-static&branch=&repo=&arch=&maintainer=
...所以我最终使用的命令集更像是:
curl -o apk-tools-static-2.6.8-r1.apk http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/apk-tools-static-2.6.9-r0.apk
tar -zxvf apk-tools-static-2.6.8-r1.apk
cd sbin
sudo ./apk.static -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main -U --allow-untrusted --initdb add apk-tools-static
sudo apk.static update
sudo ./apk.static -X http://dl-cdn.alpinelinux.org/alpine/latest-stable/main -U --allow-untrusted add apk-tools
sudo apk update
... ETC。,。
通常免责声明:如果您能不使用运行东西sudo
,你真的应该去做。我的情况不是你的情况。凡事不先尝试sudo
。