Alpine Linux
内部构成
apk
apk add --no-cache <pkg-name>
不留缓存安装
常用包
搜索: https://pkgs.alpinelinux.org/packages
与 build-essential
类似的包,提供编译工具。alpine-sdk
或 build-base
。参考这个 issue
apk add binutils
根据文件查找包
比如缺失文件 ld-linux-x86-64.so.2
,可以到 https://pkgs.alpinelinux.org/contents 找到对应的包。
https://pkgs.alpinelinux.org/contents?file=ld-linux-x86-64.so.2
依赖 glibc 的程序不要使用 alpine 镜像
当前在 alpine 镜像安装 glibc 的方案有两个,
apk add gcompat
,源码 https://git.adelielinux.org/adelie/gcompat 。问题也很多,缺失文件或者缺失符号。比如fcntl64: symbol not found
。- sgerrand 提供了 glibc 在 alpine 的编译方案,https://github.com/sgerrand/alpine-pkg-glibc 。但是问题太多了,各种缺失文件与文件路径不对。
也可以使用 musl libc 代替 glibc,apk add musl
,但似乎不能完全兼容。