买了 mac mini 及 Linux 开发相关问题请教 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Noicdi
V2EX    C++

买了 mac mini 及 Linux 开发相关问题请教

  •  
  •   Noicdi 2024-11-11 11:24:14 +08:00 4923 次点击
    这是一个创建于 399 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手里有 iPhone 和 ipad ,但是还没有使用过 macos ,趁着国补买了一台 mac mini m4 24+512 ,放在家里当台式机用,用于上网和开发。

    开发方面,只是用于个人项目和代码学习。我的方向是 Linux c++ 开发,平常玩 Linux 很多,会写一些 Linux 项目,不考虑跨平台,也打算摸一摸 kernel 的代码学习

    我的问题是,在 m 系列芯片的 macos 上,如何做 Linux 开发?不考虑远程 Linux 服务器和架构集的情况下,使用 clion 和 vscode remote ssh ,在 macos 本地可以有哪些方式? docker 和虚拟机吗?能不能正常的完成编译和调试?

    27 条回复    2024-11-11 16:32:47 +08:00
    csfreshman
        1
    csfreshman  
       2024-11-11 11:29:16 +08:00
    关注一波,面临同样的问题,mac mini m4 24+512 多少买的
    Kaleidopink
        2
    Kaleidopink  
       2024-11-11 11:32:16 +08:00   1
    安装一个 OrbStack, 可以直接在后台运行一个 Linux 虚拟机, 然后 ssh 开发就行了.
    ikw
        3
    ikw  
       2024-11-11 11:52:47 +08:00   1
    macOS 在 Linux 开发工具链的成熟度高得离谱,涉及 Kernel 的起一个虚拟机也很方便,我 32G macbook 用 Lima 日常虚拟机都是开着的,甚至都不用担心额外的负载影响电池续航和 macOS 下的性能
    kera0a
        4
    kera0a  
       2024-11-11 11:59:40 +08:00 via iPhone   1
    应该没问题吧,毕竟 Linus 都用过 M2 开发 Linux
    Noicdi
        5
    Noicdi  
    OP
       2024-11-11 12:05:55 +08:00 via iPhone
    @csfreshman #1 上海没参与国补,使用广东国补最终价格 5999 ,订单写的 12.7 发货,希望可以早点发
    Noicdi
        6
    Noicdi  
    OP
       2024-11-11 12:10:29 +08:00 via iPhone
    @Kaleidopink #2
    @zwpaper #3
    起虚拟机然后 vscode remote ssh 我预计一点问题也没有,那 clion 配合开发怎么样呢,我现在都是 clion 配合 wsl2 ,类似于本地开发,体验挺不错的
    tool2dx
        7
    tool2dx  
       2024-11-11 12:15:52 +08:00   1
    M2 本地只能跑 arm 版本的 elf 格式吧。

    要不你全部用 arm 来写和调试代码,反正 API 都是大同小异。最后测试才上 x86 的 elf 到 linux 虚拟机,体验应该要比 ssh 到虚拟机好。
    Noicdi
        8
    Noicdi  
    OP
       2024-11-11 13:02:02 +08:00
    @tool2dx #7 我现在接触到的内容都和架构没有关系,所以啥架构都无所谓,如果在本地能直接编译 arm 的 Linux kernel 那我也可以直接在本地看代码。

    posix api 都无所谓,主要是现在写的一个服务器项目用到了 Linux 支持的接口,所以考虑在 macos 上起 Linux 的开发环境。
    dalaoshu25
        9
    dalaoshu25  
       2024-11-11 13:42:40 +08:00   2
    最简单的就是虚拟机,可以用 VMWare Fusion , 也可以用 UTM ,直接利用苹果自己的虚拟化框架运行 Fedora 和 Ubuntu 的 aarch64 版本毫无压力。
    Noicdi
        10
    Noicdi  
    OP
       2024-11-11 14:11:24 +08:00
    @dalaoshu25 #9 ok ,那等到货了研究一下 UTM 看看
    EliStone
        11
    EliStone  
       2024-11-11 14:32:02 +08:00
    我也想买 Macmini ,我看 JD 上 10+10 的 32g 版本的,广州 7199 ,但是我又有一个 Windows 台式机,一个装了 linux 的笔记本(平时自己学东西都在这个上面)还有一台小主机算是 homelab ,但是 linux 的桌面很难受,一堆小 bug 很影响心情,在考虑要不要整一台 Macmini 了,主要是非必须想尝试尝试,有感觉太浪费钱了
    dalaoshu25
        12
    dalaoshu25  
       2024-11-11 14:42:32 +08:00
    @EliStone 如果你只是为了尝试,倒不如现在去咸鱼收个 M2 乃至 M2 Pro 的旧款 mini ,不用虚拟机直接就能跑 Fedora 41 Asahi remix ,除了雷电口和 USB-C 显示器还不支持,其他都没问题。速度也足够了。
    xvast
        13
    xvast  
       2024-11-11 14:45:54 +08:00
    可以尝试 eypc 2 代,单/双路 7532 作为服务器,这样就有 64/128 线程,编译速度非常快。客户端可以选择 mac 或者 windows 。搞 Kernel 还是 linux 吧。
    lvlongxiang199
        14
    lvlongxiang199  
       2024-11-11 14:48:02 +08:00
    一个小问题, 既然是 Linux 开发, 为啥选择 mac. 买了 mac 你也大概率得开 vm. 为啥不买 hp, dell 的 mini 主机装 Linux 系统, 还便宜, 1k 就能搞定 32Gx2 的内存, 500 多就能搞定 1T nvme ssd
    EliStone
        15
    EliStone  
       2024-11-11 14:56:31 +08:00
    @dalaoshu25 #12 我看了咸鱼上的老款 Mac mini 也不便宜,不如直接买新款了
    Noicdi
        16
    Noicdi  
    OP
       2024-11-11 15:00:48 +08:00
    @EliStone #11 我是只有一台 6 年前买的笔记本,装 Windows ,用来上网和 WSL2 搞 Linux 开发。没有外带需求,想组台小主机放家里用,这次趁机会决定买 mac mini 。

    你这种情况,我觉得设备挺多了,不如闲鱼收一台试试 macos ,玩一玩就出掉。不过最好收 m4 版本?现在收 m2 版本再想出掉我估计很难。
    shylockhg
        17
    shylockhg  
       2024-11-11 15:02:20 +08:00
    @lvlongxiang199 1k 搞定 32G*2 的机器,求推荐
    EliStone
        18
    EliStone  
       2024-11-11 15:06:30 +08:00
    @Noicdi #16 放弃了,还是打游戏用 Windows ,开发用 linux 吧,或许过两年换代之后,也舍得买 Mac 了
    Noicdi
        19
    Noicdi  
    OP
       2024-11-11 15:07:21 +08:00
    @lvlongxiang199 #14 我现在手上有一台 6 年的笔记本了,本来有想组小主机的想法,这次看价格可以,干脆买 mac mini 了。
    我虽然是 Linux 开发,但是我从来不考虑用 Linux 做桌面系统,Linux 对我来说就是命令行、编译和运行程序的服务器。这次想试试 macos ,所以倾向于买 mac mini ,作为上网的主力桌面系统。实在不行,把笔记本的 Windows 格了装个 Linux 当测试环境。
    Noicdi
        21
    Noicdi  
    OP
       2024-11-11 15:08:27 +08:00
    @EliStone #18 哦对,关键就是我现在已经不打游戏了,所以这次可以考虑 mac 哈哈哈
    shylockhg
        22
    shylockhg  
       2024-11-11 15:09:56 +08:00
    @lvlongxiang199 好吧,我还以为 1k 整机 。。
    Noicdi
        23
    Noicdi  
    OP
       2024-11-11 15:11:37 +08:00
    @xvast #13 mac 对我来说确实算客户端,但是我也用不到性能这么好的服务器跑编译。个人项目完全没这么大的编译性能需求,kernel 也只需要跑一次编译弄出 Compilation database 就行,能在 mac 本地或者虚拟机上就够用了。
    dalabenba
        24
    dalabenba  
       2024-11-11 15:26:28 +08:00 via Android
    @kera0a asahi 现在好像还没支持 m4
    HangoX
        25
    HangoX  
       2024-11-11 16:05:33 +08:00   1
    linux C++ 直接虚拟机不行吗? Parallels Desktop 挺好用,不用图形化的话,OrbStack 也够用了
    clion 直接用 gatewate 版本就能开发了,其实有也没差
    EliStone
        26
    EliStone  
       2024-11-11 16:08:30 +08:00
    @Noicdi #19 linux 的桌面,确实不行,各种小 bug ,我已经懒得折腾了
    edwardzcn98
        27
    edwardzcn98  
       2024-11-11 16:32:47 +08:00
    MacBook Air + 开发版,没动过内核,只改过驱动。开发方式拓展坞一根网线 ssh ,vim 或者 vscode remote
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2570 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 15:17 PVG 23:17 LAX 07:17 JFK 10:17
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86