我的问题就在标题里。问题:
与其他发行版的比较没有提到在 Debian 或 Gentoo 的等效版本或 Alpine Linux 的 .apk 中安装本地 .deb。此外,apk add
当我想从下载的 .apk 文件安装时,该命令会抱怨无法满足的依赖关系,并且它没有指出哪里出了问题,只是:
world: <package_name> <package_name>
简单的或多或少明显的搜索,例如how to install apk on alpine linux
返回一些奇怪的东西或 Android 的东西,使得 Alpine Linux 看起来根本不存在 - 或者 - 不支持安装下载的包,就像你在 Debian 中使用 dpkg 所做的那样。
答案1
假设你正在尝试在 Alpine 中安装 glibc
将软件包下载到当前目录中
wget "https://circle-artifacts.com/gh/andyshinn/alpine-pkg-glibc/6/artifacts/0/home/ubuntu/alpine-pkg-glibc/packages/x86_64/glibc-2.21-r2.apk"
wget "https://circle-artifacts.com/gh/andyshinn/alpine-pkg-glibc/6/artifacts/0/home/ubuntu/alpine-pkg-glibc/packages/x86_64/glibc-bin-2.21-r2.apk"
然后,使用带--allow-untrusted
标志的apk
apk add --allow-untrusted glibc-2.21-r2.apk glibc-bin-2.21-r2.apk
并完成安装(仅此示例需要)
/usr/glibc/usr/bin/ldconfig /lib /usr/glibc/usr/lib
答案2
一般来说,预先构建的包是更好的选择,但如果您想要或不介意从源代码构建,您可以这样做:
a.sh
:
apk add alpine-sdk sudo
abuild-keygen -ain
git clone --branch v3.15.4 --single-branch --depth 1 https://gitlab.alpinelinux.org/alpine/aports
cd aports/main/musl
abuild -rF
apk add /root/packages/main/x86_64/musl-1.2.2-r7.apk
$ docker run --rm -itv $PWD:/host alpine:3.15 sh -eux host/a.sh
如果你在主机操作系统上执行此操作,通常不希望在 下构建root
。在这种情况下,你不需要传递-F
给abuild
。
更多详情,请参阅这一页。
答案3
看着那(这AlpineLinux 维基页面Alpine Linux 软件包管理?
逐字逐句地
由于 Alpine Linux 设计为从 RAM 运行,因此包管理涉及两个阶段:
- 在正在运行的系统上安装 / 升级 / 删除软件包
- 将系统恢复到先前配置的状态(例如重启后),包括所有先前安装的软件包和本地修改的配置文件。(仅限基于 RAM 的安装)
APK是用于在正在运行的系统上安装、升级或删除软件的工具。
布是用于捕获将系统恢复到以前配置状态所需数据的工具。本页记录了apk 工具- 参见Alpine 本地备份页面用于 lbu 工具。