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

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

  •  
  •   bler · 1 天前 · 2428 次点击

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

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

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

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

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

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

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

    devbox
    devenv
    flox
    organist
    nix develop
    guix shell (p.s. 基于 guix 而非 nix, 文档好但包比较老,不推荐)
    0superx0
        38
    0superx0  
       15 小时 1 分钟前
    ventoy 来启动虚拟机镜像,就是物理机加载虚拟机镜像来运行,实现性能 0 损耗,
    感兴趣可以去 ventoy 官方看看文档,我现在就是这么玩的,
    主系统 ubuntu,利用 vbox 生成 win11 跟 linux 系统镜像,
    然后 grub 加入 ventoy 来启动镜像,这样对主系统实现 0 干扰,因为虚拟机系统只想当一个巨大的文件
    isSamle
        39
    isSamle  
       12 小时 54 分钟前
    docker
    cnleon
        40
    cnleon  
       12 小时 32 分钟前
    @AlanZ1997 正解
    isSamle
        41
    isSamle  
       10 小时 41 分钟前
    qqqyh
        42
    qqqyh  
       8 小时 2 分钟前
    要 Windows 环境就 HyperV ,要 Linux 环境就 WSL
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:45 · PVG 03:45 · LAX 11:45 · JFK 14:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.