

预编译了一些工具的静态链接二进制,有需自取
source link: https://www.v2ex.com/t/825390
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

最近又有用户报缺少 thriftc/protoc 或者版本用的不一样 。。。
主要有这么几个问题:
- 因为共用物理机,用户不能直接 apt 安装
- 即便申请 root 用 apt 安装了,debian 8/9 源里面的默认版本实在是太旧了。。。
- 源码编译对用户来说成本太高了
- 直接 copy 给用户编译好的二进制,又经常因为缺少 so 或者 glic 的版本太低无法运行
不久之前编译了一些静态链接的二进制,无任何系统库依赖(包括 glibc),适用于任何 linux 发行版,最近正好拿出来给大家分享一下,本人是 clang-format/protoc/thriftc
重度用户,所以把这几个工具的每个核心版本都编译出来了,其它的工具如果大家有需求,可以提 issue 或者 pr ,有时间的话,可以一起支持了。
curoky 23 小时 22 分钟前
curoky 23 小时 15 分钟前
curoky 23 小时 4 分钟前
curoky 22 小时 58 分钟前 1
curoky 22 小时 56 分钟前 1
curoky 22 小时 42 分钟前
Buges 22 小时 30 分钟前 via Android
@curoky rootless docker 不需要开权限,普通用户就能安装,当然要满足一些条件(内核允许 user_ns/专门的 overlayfs 驱动)。听说 podman 对 rootless 的支持更好一些。
thedrwu 21 小时 28 分钟前 via Android
vim 这类有许多零散文件的估计只能自己编译到 home 目录。
Nitroethane 21 小时 4 分钟前 via iPhone
1. 假设某个项目用到的第三方库被爆出很严重的漏洞,此第三方库修复之后发布了补丁版本。动态链接情况:只需要更新共享库。静态链接情况:下载补丁版本,重新编译并发布自己的项目。
2. 节省内存。例如每个程序都用到的 libc 库,动态链接情况下只需要在内存中加载一份 libc 共享库。
curoky 12 小时 56 分钟前 via Android
curoky 12 小时 27 分钟前 via Android
1. 从工具角度来说,apt 引入动态链接二进制就是省了磁盘大小 /分发带宽,工具不存在极致性能考量。
2. 但是从服务角度,动态库确实提供了一些足够 solid 的属性,典型的像以 jemalloc 为代表的通过链接顺序 hook glibc 的符号的操作,确实很方便,但这不代表静态链接 jemalloc 达不到同样效果。
3. 个人觉得动态库这么猖狂的原因,还是因为 c/c++没有包管理工具,导致大型开源项目只能先根据 autotool/...独立编译为动态库,而后将动态库跟主项目捆绑,从而导致了万恶的预编译的诞生,最后美其名曰:提高了编译速度。
curoky 12 小时 15 分钟前
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK