findex
2022-04-04 16:16:32 +08:00
因为只喜欢 Linux 做开发。MacOS 属于桌面轻办公,开会用。
我是用的 PD 安装的 ARM64 版本的 Linux 虚拟机。但是,你在 ARM64 打包的文件在 x86 上不能用。当然也不是不能用,x86 服务器上用 qemu 运行下 arm64 指令集的程序也是可以的,太慢了,不能用于生产环境。或者你在 arm64 虚拟机下用 qemu-x86 运行和打包 x86 的程序推到服务器上。可是开发性能太差了。这种 CPU 跨架构的开发方式令人无法接受,尤其是后端开发。
然后,如果对性能损耗没有太大的要求。可以用 qemu ( utm )安装一个 x86 的 Linux 虚拟机,然后在 M1 mac 上 ssh 到本地虚拟机进行开发。我测试过,使用 qemu-arm64 在 m1 上 8 核心的 debian x86 虚拟机 gcc 编译水平相当于 intel i7 8700k 的 1/4 。这个损耗还是有点大的。但是,一台电脑可以完成你 all in one 的开发了。qemu 虽然慢,但是能干活。
如果做 docker 开发,直接用 macos 的桌面版就完事了。
针对那种说 m1 上安装 linux 双系统的做法,我一直在关注。可是 m1 mac 的硬件和 pc 的硬件差别太大,即便最基础的 cpu 、硬盘读写、屏幕驱动、usb 支持都完成了,还有更多的硬件没有完善,例如 Wi-Fi 等。我这个 m1 mbp 还是 touch bar 的,目前的 m1 linux 上还不能用。
说句题外话令人吃惊的。我将我的 Linux 笔记本的系统,打包成一个文件,导入到 qemu 虚拟机里。并且成功在 arm64 的 m1 上运行我的 x86 linux 笔记本系统 -- xfce4 + ubuntu 20.04 amd64 。就是有点卡,但是可用。当然我曾经也做过,把 linux 桌面笔记本系统打包成一个文件上传到服务器,变成所谓的 all in cloud 云开发,在浏览器里开发,这个成本有点高。不建议模仿。