阿里云、腾讯云、物理服务器、虚拟机、容器都是用的 alpinelinux
强烈推荐
不适用场景
此外,alpinelinux 特别适用于定制化 os ,比如 k3sos 这种预装好的 os 。
1
thedrwu 2022-06-22 05:00:22 +08:00 via Android
顺便用来测试程序对 musl 的兼容性和效率
|
3
wenerme OP 尝试在维护一个中文的 Alpine 小小社区,负责解决任何关于 alpine 的问题,欢迎咨询,可以入微信或者 qq 群 558299436
|
4
moen 2022-06-22 05:53:21 +08:00 1
根据个人的经历,Alpine 有一个不适合的场景是 arm 服务器,体现在很多东西不一定能有 musl-arm64 的支持
|
5
wzw 2022-06-22 07:05:03 +08:00 via iPhone
市面台式机,普通配置的,驱动兼容如何,装 Ubuntu ,就是为了简单驱动
|
6
Buges 2022-06-22 10:23:14 +08:00 via Android
不行的,比如 Python pip 装包,glibc 的发行版可以直接装 wheel ,musl 就得本地编译。那两个兼容包效果很差,很多基本程序都运行不了(比如 pyinataller 打包的 Python ,brew 自带的 portable ruby ),还有 busybox 缺功能等等,总之坑很多。
|
7
gam2046 2022-06-22 11:03:01 +08:00
有些软件似乎在 alpine 上表现不一致,原因是 alpine 并没有使用 glibc 。当时困扰了我很久,得知原因后,就没用过 alpine 了。说到底还是自己太菜了。
|
8
billzhuang 2022-06-22 11:58:29 +08:00
感觉 alpine 离统一江湖就差 glibc ,为啥不支持?体积会大多少?
|
9
billzhuang 2022-06-22 12:29:26 +08:00
另外还有个问题请教下,为啥 alpine 不自带 ca-certificates ?有啥历史原因么?
|
10
billzhuang 2022-06-22 12:30:03 +08:00
还有个问题,怎么才能做到“可以由内而外的了解所有 alpine 细节”?
|
11
wenerme OP @billzhuang 这里有我玩 alpine 的所有笔记 https://github.com/wenerme/wener/tree/master/notes/os/alpine
因为 alpine 真的 很简单,从 install 脚本,到 baselayout 都很清晰,只是 syslinux 的 uefi 不太好,选择 uefi 安装会使用 grub2 ,alpine 的 包也很简单,我自己也能打包维护一些包 https://pkgs.alpinelinux.org/packages?name=&branch=edge&arch=x86_64&maintainer=wener 。 |
12
wenerme OP @gam2046
@billzhuang > glibc 使用或不使用 glibc 不只是体积问题,musl 带来的不只是很小的体积,musl 的好处 1. musl 符合标准 - 没有 glibc 的自定义扩展内容 - 非标准行为 2. musl 很小 - 攻击面小 - glibc 很多 cve 3. musl 可以 static link ,很小,影响不大 musl 不好的地方 1. musl 不是 glibc - 不支持自定义扩展 - 因此 有些应用不支持,通过 libc6-compat gcompat 能兼容一部分,但有些还是兼容不了。最典型不支持场景:golang 的 c-shared 不支持,glusterfs 不支持,因为用到了 glibc 扩展 2. musl 内置的 malloc 不适用于大数据场景,但现在 musl 也支持 load 其他 malloc ,所以问题还好 还有其他问题参考 https://wener.me/notes/os/linux/lib/musl |
13
wenerme OP @wzw 现在基本都是用 intree 驱动,大部分驱动都没问题,我之前 macos 也都用能,但是非 intree 部分肯定没有 ubuntu 好,ubuntu 是目前最好的 linux 桌面系统
|