是的,predict_app直接加载那个…
很多人在 Arch Linux 上安装 Steam 时,第一次遇到 Multilib 仓库,都会有点困惑:系统明明是 64 位,为什么还要打开一个看起来“兼容旧时代”的仓库?这个问题问得很准确。Multilib 并不是给老电脑准备的补丁包,而是让 64 位 Linux 系统能够稳定运行 32 位程序的一套官方软件仓库机制。
在 Arch Linux 中,Multilib 仓库是官方维护的 32 位运行库集合,主要服务于 x86_64 系统。它提供的包通常带有 lib32- 前缀,例如 lib32-glibc、lib32-mesa、lib32-alsa-lib。这些软件包并不是完整的 32 位系统,而是 32 位程序运行时需要调用的动态库。
说白了,64 位系统可以执行 64 位程序,但当一个程序内部依赖 32 位库时,系统必须能找到对应的 .so 文件。找不到,就会报错,程序甚至连启动窗口都弹不出来。
典型场景就是 Steam。虽然 Steam 客户端本身早已适配 64 位环境,但它的运行链条里仍然涉及不少 32 位组件。更麻烦的是,许多老游戏、Windows 游戏兼容层、Proton 和 Wine 相关依赖,也会调用 32 位图形、音频、输入库。
一个很常见的例子:玩家装好了显卡驱动,glxinfo 看起来也正常,结果某款老游戏启动后黑屏退出。问题不在显卡,而是缺了 lib32-mesa 或对应的 32 位 Vulkan 驱动。这个坑不算深,但踩上去很烦,尤其是凌晨两点想开一局游戏的时候。
Arch 的常规仓库,如 core、extra,主要提供系统基础组件和 64 位应用。Multilib 的定位更窄:为 64 位系统补齐 32 位 ABI 兼容层。
| 仓库 | 主要内容 | 典型用途 |
|---|---|---|
| core | 基础系统组件 | 内核、glibc、pacman |
| extra | 常用软件与库 | 桌面环境、工具软件 |
| multilib | 32 位兼容库 | Steam、Wine、老游戏 |
值得注意的是,Multilib 是 Arch 官方仓库,不是第三方源。它跟 AUR 不是一个概念,安全边界和维护方式也完全不同。
一般不会。Multilib 软件包通常安装在独立路径或以 lib32- 命名区分,不会把系统变成 32 位,也不会替换主要的 64 位库。真正需要注意的是:不要随意混用第三方 multilib 源,也不要为了“省事”执行不明来源的一键脚本。
启用 Multilib 更像是在工具箱里放了一套英制扳手。平时用不上,但遇到老设备、老游戏、兼容层,它刚好卡得进去。
如果系统只运行纯 64 位软件,不玩 Steam,不用 Wine、Proton、某些商业闭源软件,那么 Multilib 可以不启用。服务器环境尤其如此,少一个仓库就少一组包管理变量。
但在桌面 Linux,特别是游戏和跨平台软件场景里,Multilib 几乎是默认配置的一部分。它不显眼,却经常决定“能不能跑起来”。这大概就是它最真实的存在感:平时沉默,出事时背锅。
参与讨论
暂无评论,快来发表你的观点吧!