V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bler
V2EX  ›  程序员

除了 VMware,virtualbox 意外,还有其他什么创建一个独立环境的工具吗

  •  
  •   bler · 5 天前 · 3228 次点击

    比较喜欢折腾一些新东西,但是这些东西对系统的配置要求可能不同,这就会导致又需要重新配置环境,这不是关键,关键是可能会干扰日常使用的环境

    比如我在 github 上找了一个项目,配置完成后死活编译不过去,卡在一个地方不动,但是开了一个新的虚拟机配置一个新环境就编译通过了。

    但是采用这种虚拟环境,不知道对物理机的 cpu 利用率高不高,编译速度会不会断崖式下跌。

    比如 chromium 的编译,我在物理机上都需要编译长达 4 个小时,虚拟机会不会消耗远大于 4 小时的时间, 还有一种情况就是,虚拟机中会不会存在和真实物理机的差异,导致编译异常或者失败的情况。

    有一个想法是双系统,但是双系统切换系统不太方便,而且装多个系统也比较麻烦。

    48 条回复    2024-12-16 10:14:10 +08:00
    ZeekChatCom
        1
    ZeekChatCom  
       5 天前
    买个 minipc 随便换系统
    bler
        2
    bler  
    OP
       5 天前
    @ZeekChatCom 没法持久化啊
    ty29022
        3
    ty29022  
       5 天前
    qemu 一块独立的硬盘直通, 效率应该还可以吧
    yanxin1111
        4
    yanxin1111  
       5 天前
    GitHub action
    Acebiu
        5
    Acebiu  
       5 天前
    nix-shell? https://nixos.wiki/wiki/Development_environment_with_nix-shell
    HtPM
        6
    HtPM  
       5 天前
    不是,你这不是说的就是 docker 吗?
    dbak
        7
    dbak  
       5 天前
    起个 docker 进 docker 里编译呗
    graydust
        8
    graydust  
       5 天前
    要么容器,要么虚拟机呗
    Flyingblu
        9
    Flyingblu  
       5 天前
    VMware 这种虚拟机不会有很大的性能开销,可能是 4 小时多一些,但是不会是远大于四小时。具体拿个小一些的项目编译一下测试也行。
    mahaoqu
        10
    mahaoqu  
       5 天前
    如果楼主用的是 Linux, 那么 lxc 完全够用了,Ubuntu 还封装了一个 lxd 作为 Web 前端
    eraserrain
        11
    eraserrain  
       5 天前
    vagrant ,支持 virtualbox vm ,或者就用 docker 起 container
    cslive
        12
    cslive  
       5 天前
    wsl2,不做限制,吃满宿主机资源
    CloveAndCurrant
        13
    CloveAndCurrant  
       5 天前
    Ubuntu 提供的 multipass ,不过只能用 Ubuntu 系统
    bler
        14
    bler  
    OP
       5 天前   ❤️ 1
    突然发现,docker 也能安装 windows
    piero66
        15
    piero66  
       5 天前 via Android
    qemu/kvm 遥遥领先
    WallenHan
        16
    WallenHan  
       5 天前 via Android
    最小化性能损失就 容器化吧
    bler
        17
    bler  
    OP
       5 天前
    暂时还是用 vmware 结合快照使用吧,谢谢各位了
    lisxour
        18
    lisxour  
       5 天前   ❤️ 1
    @cslive wsl2 并不完全独立,还是会发生交叉的,前几天才碰到过一次,zx 这个库,在存在 wsl 的时候,会默认调用 wsl 里面的 node 跑脚本,我折腾到通宵才查出问题所在。。。
    layxy
        19
    layxy  
       5 天前
    vmware 的 cpu 性能相对宿主机性能损耗很少的
    AlanZ1997
        20
    AlanZ1997  
       5 天前
    orbstack
    bytesfold
        21
    bytesfold  
       5 天前
    你这需求 hyper-V 就行了,别折腾了。
    AwenWalker
        22
    AwenWalker  
       5 天前
    linux 的话直接 kvm 一步到位,cpu hostpassthrough + Pci passthrough ,可以把网卡,显卡都直通给虚拟机用,intel 十代以前核显还能开启 intel gvt-g 让主机和虚拟机共享一个显卡,功耗和性能都最优
    这些 vmware 和 virtualbox 都做不到
    0x5c0f
        23
    0x5c0f  
       5 天前
    这个时候就要说到 LXC 了, 我发现这个东西是真的挺好用的, 虽然我目前也不怎么懂
    Ggmusic
        24
    Ggmusic  
       5 天前 via iPhone
    lxd ,除了支持 lxc 容器之外,还支持虚拟机;一站式管理。 通过 lxc shell 登陆各个虚机/容器很方便,镜像丰富,支持 dir/zfs 等各种后端存储,还支持快照。也能在其他机器上远程执行 lxc 指令管理机器。
    mumbler
        25
    mumbler  
       5 天前
    ghost
    dixin
        26
    dixin  
       5 天前
    PVE
    tomclancy
        28
    tomclancy  
       5 天前 via iPhone
    Hyper-V
    Donaldo
        29
    Donaldo  
       5 天前
    现在的 CPU 硬件虚拟化性能损失很低,主要的性能差距是 IO 。如果你直通磁盘+全额分配 CPU 核心给虚拟机,那性能差异不会很大
    huangsijun17
        30
    huangsijun17  
       5 天前 via Android
    宿主?虚拟环境的需求?临时性的 win+win ,可以用 sandbox 。持久化建议 hyper-v ,Windows 下性能较好,但功能偏少。docker desktop 的兼容欠佳。
    fsdrw08
        31
    fsdrw08  
       5 天前 via Android
    hyperv 吧,hyperv 有一个好处,就是可以用 Terraform 这样的 iac 工具部署虚拟机
    leconio
        32
    leconio  
       5 天前 via iPhone
    反正就是看看项目,github 的 codespace
    onikage
        33
    onikage  
       5 天前
    windows 的话可以尝试下从 vhdx 启动,和物理机没差别, 想清理环境直接把 vhdx 文件考过去覆盖下又是好汉一条.
    linux 下就上 btrfs 吧,做好快照, 比 vhdx 更省事.
    jayeli
        34
    jayeli  
       5 天前
    vagrant 创建 libvirt 虚拟机
    WuDiHaiTai
        35
    WuDiHaiTai  
       5 天前
    其实没有硬件的话,就 Vmware Workstation 是最方便的,如果有一台不用的 PC 的话,我觉得用 PVE 或者 Vmware Esxi 更合适些,就是不知道会不会碰到你说的编译问题,按理说不会,没测试过。
    yangzair
        36
    yangzair  
       4 天前
    conda
    coldle
        37
    coldle  
       4 天前 via Android
    这场景我熟,开一个虚机就够了,也没必要用 docker 每次重头搭环境,独立环境通过 nix 相关工具维护。

    下边是用来创建独立环境的工具,排名不分先后。效果上你可以理解为 conda, 创建一个具备你要的环境的 shell, 不用了退出去就回到日常环境了(易用性上推荐 devbox 和 flox )

    devbox
    devenv
    flox
    organist
    nix develop
    guix shell (p.s. 基于 guix 而非 nix, 文档好但包比较老,不推荐)
    0superx0
        38
    0superx0  
       4 天前
    ventoy 来启动虚拟机镜像,就是物理机加载虚拟机镜像来运行,实现性能 0 损耗,
    感兴趣可以去 ventoy 官方看看文档,我现在就是这么玩的,
    主系统 ubuntu,利用 vbox 生成 win11 跟 linux 系统镜像,
    然后 grub 加入 ventoy 来启动镜像,这样对主系统实现 0 干扰,因为虚拟机系统只想当一个巨大的文件
    isSamle
        39
    isSamle  
       4 天前
    docker
    cnleon
        40
    cnleon  
       4 天前
    @AlanZ1997 正解
    isSamle
        41
    isSamle  
       4 天前
    qqqyh
        42
    qqqyh  
       4 天前
    要 Windows 环境就 HyperV ,要 Linux 环境就 WSL
    decemberpei
        43
    decemberpei  
       3 天前 via iPhone
    虚拟机就行了,cpu 开小很小的,个人经验百分之个位数。
    dayeye2006199
        44
    dayeye2006199  
       3 天前 via Android
    虚拟机损耗不大,只要你 CPU 不是太久,支持一些虚拟化特性就可以
    prosgtsr
        45
    prosgtsr  
       3 天前 via iPhone
    pve ,里面制作好 cloud-init 的镜像,需要的时候可以用这个镜像生成一个或者多个虚拟机
    panda1001
        46
    panda1001  
       2 天前 via Android
    安装 pve 开启 kvm ,维护一些编译镜像
    capric
        47
    capric  
       2 天前
    zhangeric
        48
    zhangeric  
       2 天前
    买个小主机上 pve 嘛,可以装各种虚拟机还有 lxd.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1304 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:36 · PVG 01:36 · LAX 09:36 · JFK 12:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.