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

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

  •  
  •   bler · 12 天前 · 3395 次点击

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

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

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

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

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

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

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

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