上周我们发布了 Podman 5.6,我想就我在六月博客文章中讨论过的 Apple Rosetta 情况提供一个更新。
当前状态
正如我们在六月份指出的,由于 Rosetta 与 6.13 及更高版本的 Linux 内核之间存在兼容性问题,Podman 5.6 默认禁用了 Rosetta。这意味着用户将使用 QEMU 进行架构转换,在许多情况下,其性能不如 Rosetta。不过,我们很高兴地确认,Apple 已在其 Tahoe 测试版中修复了该问题。
在 Tahoe 测试版中使用 Rosetta
我们已确认 Apple 已在 macOS Tahoe 测试版中解决了 Rosetta 与较新 Linux 内核之间的底层兼容性问题。对于愿意运行测试版软件的用户,现在可以手动重新启用 Rosetta 功能。
如果您已将 Podman 更新至 5.6 但尚未更新 Podman 机器镜像,那么一切应该会
照常工作。只有在您拉取并运行更新的机器镜像时,由于它具有较新的内核,
不兼容问题才会显现。
在 Tahoe 上启用 Rosetta
对于运行 macOS Tahoe 测试版且使用 Podman 5.6 的用户,请按照以下步骤恢复 Rosetta:
先决条件
- 已安装 macOS Tahoe 测试版
- 使用 “applehv” 提供程序的 Podman 5.6
- Podman 5.6 机器镜像。
步骤
- 启动您的 Podman 机器
podman machine start
- 通过 SSH 进入机器并创建 Rosetta 启用文件
podman machine ssh "sudo touch /etc/containers/enable-rosetta"
- 重启 Podman 机器
podman machine stop
podman machine start
- 验证 Rosetta 是否已启用
podman machine ssh "cat /proc/sys/fs/binfmt_misc/rosetta"
如果 Apple 能够在 Sequoia (15) 中修复 Rosetta 问题,我们将通知用户并确定重新启用 Rosetta 的后续方案。
Brent Baude, Podman 架构师, Red Hat


发表回复