• 请不要在回答技术问题时复制粘贴 AI 生成的内容
bler
V2EX  ›  程序员

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

  •  
  •   bler · Dec 13, 2024 · 7727 views
    This topic created in 689 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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

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