GitHub
logo SHORiNのARCH
虚拟机

虚拟机

目录


VMware

  1. 安装缺少的依赖

    yay -S vmware-keymaps
    
  2. 安装本体

    yay -S vmware-workstation
    
  3. 开启服务

    sudo systemctl enable --now vmware-networks.service
    sudo systemctl enable --now vmware-usbarbitrator.service
    
  4. 重启电脑

卸载 VMware

sudo systemctl disable --now vmware-networks.service
sudo systemctl disable --now vmware-usbarbitrator.service
yay -Rns vmware-workstation vmware-keymaps

Docker

  1. 安装

    sudo pacman -S docker docker-compose
    
  2. 开启服务

    sudo systemctl enable --now docker.service
    
  3. 添加用户组

    sudo usermod -aG docker $USER
    
  4. 重启电脑

winboat

winboat

以 Docker 容器为基础的 Windows 虚拟机,RDP(远程桌面协议)连接,自动化配置 winapps,可以与 Linux 无缝集成,但 beta 版无缝集成的效果不是很好。只是用 Windows 虚拟机做轻量的活的话可以用这个,安装很简单,缺点是资源占用比 KVM/QEMU 虚拟机要高一些。

  1. 安装并启用 Docker

  2. 安装

    yay -S --needed freerdp winboat-bin
    
  3. 开启 iptables 功能

    echo -e "ip_tables\niptable_nat" | sudo tee /etc/modules-load.d/iptables.conf
    
  4. 重启电脑

    reboot
    

卸载 winboat

  1. 软件内关闭 Windows 后在 configuration 页面选择 reset winboat & remove vm。

  2. 删除 winboat

    yay -Rns winboat-bin
    
  3. 清理残留文件

    sudo rm -rfv /var/lib/docker /etc/docker ~/.docker /var/run/docker ~/.winboat ~/.config/winboat
    
  4. 重启电脑

    reboot
    

VirtualBox

https://wiki.archlinux.org/title/VirtualBox

sudo pacman -S virtualbox virtualbox-host-dkms

不同内核需要安装的包不一样,Linux 内核是 virtualbox-host-modules-arch,其他的看 wiki。

卸载 VirtualBox

sudo pacman -Rns virtualbox virtualbox-host-dkms
rm -rfv ~/.config/VirtualBox/ ~/VirtualBox\ VMs/

distrobox

distrobox.it

我愿称其为"Linux Subsystem for Linux"。可以利用容器创建一个跟主机 Linux 深度集成、共享显卡的 Linux 子系统。比如你想用的软件只提供 DEB 包,那就可以创建一个 Debian 系发行版的盒子安装。比如我最近想用达芬奇剪视频,但是在 Arch 上安装达芬奇需要处理很多依赖和兼容问题,那我可以安装一个 Red Hat 系发行版的盒子专门装达芬奇。

distrobox 是一个在 Linux 上无缝运行其他 Linux 发行版的项目,使用 Podman、Docker 或者 lilipod 创建容器。有了这个项目就可以安装别的发行版的包了。建议使用 Podman,这个更轻量化更简洁。

sudo pacman -S distrobox podman

选项选 crun,Podman 和 crun 都是红帽主导开发的比 Docker 和 runc 更新更简洁的程序。

创建容器

Podman 兼容 Docker 镜像,可以去 Docker Hub 上搜索镜像对应的字符。

比如说我想装一个 Debian Stable:

distrobox create -n debian -i debian:stable
# distrobox create 创建容器
# -n 指定容器名
# -i 指定镜像

默认会共享主机的 home 目录,使用 --home(简写是 -H)给容器指定单独的目录存放 home 目录下的文件,避免搞乱本机的 home 目录。

distrobox create -n debian -i debian:stable --home ~/Distroboxhome/debian

加上 --nvidia 可以共享本机的 N 卡驱动:

distrobox create -n debian -i debian:stable --home ~/Distroboxhome/debian --nvidia

创建之后应用程序里会出现快捷方式,也可以在命令行用 distrobox enter 命令进入。第一次会安装各种基本包。

distrobox enter debian

创建容器时下载下来的镜像会存放在 /home/shorin/.local/share/containers/storage 目录下。

常用的发行版

  • Debian Stable

    distrobox create -n debian -i debian:stable --home ~/Distroboxhome/debian
    
  • Arch Linux

    distrobox create -n arch -i archlinux:latest --home ~/Distroboxhome/arch
    
  • Fedora

    distrobox create -n fedora -i fedora:latest --home ~/Distroboxhome/fedora
    

在主机创建容器内程序的快捷方式

用 distrobox-export --app 命令在主机 ~/.local/share/applications 目录下创建对应程序的 .desktop 文件,比如我安装了星火应用商店:

distrobox-export --app spark-store

想删除的话加上 --delete:

distrobox-export --app spark-store --delete

删除容器的时候也会连着这个快捷方式一起删除。

删除容器

使用 distrobox rm 命令:

distrobox rm debian

然后手动删除 home 目录下的残留。

GUI

安装 BoxBuddy:

  • AUR

    yay -S boxbuddy
    
  • flathub

    flatpak install flathub io.github.dvlv.boxbuddyrs
    

进阶

如果你需要更深入、性能更强大、功能更多的虚拟机,那就得利用 Linux 内核中的 KVM(Kernel-based Virtual Machine 基于内核的虚拟机)技术了。

下一节:KVM虚拟机