Virtual-Machine

適用於 Linux 的 WSL 等效項

  • March 10, 2021

將 Fedora 雲映像導入我的 Windows 10 只是一個 wsl 命令。

當我使用 Linux 作為基本作業系統時,這相當於什麼?VirtualBox 更難。

對於 Linux 主機上的另一個選項,我會推薦 Docker。安裝 Docker後,您可以基於現有“圖像”快速啟動新的“容器”,類似於您在 Windows 上使用 WSL 所做的wsl --import事情wsl -d <DistroName>

Docker 實際上遠遠超出了作業系統映像,因為您可以輕鬆下載和執行許多不同的應用程序/伺服器/程式語言。

例如:

docker pull opensuse/leap # pulls the latest image from the online Docker repository.
# ^^^ Not strictly necessary since the next command will load it from the repo if it isn't found locally
docker run -td --name opensuse opensuse/leap # Starts a container from the image running in daemon mode with a terminal
docker exec -it opensuse bash # Executes bash inside the running container with an interactive terminal

# Exit bash the image (CTRL+D)

# Cleanup
docker stop opensuse # Stops the container
docker rm opensuse # Removes the container
docker rmi opensuse/leap # Removes the image

您需要非常清楚的一件事是這些容器本身總是短暫的。當容器停止時,對容器或在其中創建的文件所做的任何更改都**將失去。**要持久化配置,您需要創建Dockerfiles. 要持久化文件,您可以在啟動容器時掛載一個外部卷(可以是主機上的目錄)。

確定特定案例所需的 Docker 選項肯定有一些學習曲線,但是一旦您掌握了基礎知識(例如上面的那些命令),就很容易輕鬆嘗試不同的圖像。

獎勵 - 您可以將 Docker 安裝到 WSL2 實例中,並在那裡也有這些好處。你會發現很多Docker 鏡像,這些鏡像是在 WSL 下無法載入的,甚至。

現在我知道您不是在尋找適用於 Windows 的 Linux 子系統,而是在尋找一種在 linux 主機上執行多個 linux 客戶機的方法。有幾種方法可以做到這一點,包括:虛擬機、容器、chroot

你已經表明你不喜歡虛擬機,而且我對容器了解不多,但這裡是如何 chroot:

使用時,chroot您將根目錄更改為主機系統上的另一個目錄。所以你你chroot /var/chroot/ubuntu,那麼/var/chroot/ubuntu/bin將成為你的新人/bin。這意味著當您執行時/bin/bash,您正在執行 Ubuntu 版本的 bash。如果你執行/usr/bin/apt install <package>你正在安裝 Ubuntu 的版本到那個 chroot。

chroot您可以為大多數發行版設置一個。不同的發行版有不同的設置方式,因此您需要查閱您感興趣的發行版的文件。對於基於 Debian 的發行版,我使用debootstrap如下方式安裝系統:

debootstrap buster /var/chroot/buster http://ftp.debian.org/debian
debootstrap wheezy /var/chroot/wheezy http://archive.debian.org/debian
debootstrap hardy /var/chroot/hardy http://archive.ubuntu.com/ubuntu/
debootstrap kali-rolling /var/chroot/kali http://http.kali.org/kali

更完整的資訊在這裡:https ://wiki.debian.org/chroot

引用自:https://unix.stackexchange.com/questions/638503