
Fedora 클라우드 이미지를 Windows 10으로 가져오려면 wsl 명령 하나만 있으면 됩니다.
Linux를 기본 운영 체제로 사용하는 경우 이는 무엇과 동일합니까? VirtualBox가 더 어렵습니다.
답변1
이제 나는 당신이 찾고 있지 않다는 것을 이해합니다Windows용 Linux 하위 시스템, 그러나 Linux 호스트에서 여러 Linux 게스트를 실행하는 방법입니다. 이를 수행하는 방법에는 가상 머신, 컨테이너, chroot 등 여러 가지가 있습니다.
당신은 가상 머신이 마음에 들지 않는다고 말했고 저는 컨테이너에 대해 잘 모르지만 chroot하는 방법은 다음과 같습니다.
사용하면 chroot
루트 디렉터리를 호스트 시스템의 다른 디렉터리로 변경하게 됩니다. 그러면 당신의 당신은 새로운 당신이 될 chroot /var/chroot/ubuntu
것 입니다 . 이는 를 실행할 때 Ubuntu 버전의 bash를 실행하고 있음을 의미합니다. 실행하면 해당 chroot에 Ubuntu 버전이 설치됩니다./var/chroot/ubuntu/bin
/bin
/bin/bash
/usr/bin/apt install <package>
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
답변2
Linux 호스트의 또 다른 옵션으로는 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
완전히 이해해야 할 한 가지는 이러한 컨테이너 자체가 항상 임시적이라는 것입니다. 컨테이너 또는 그 안에 생성된 파일에 대한 모든 변경 사항길을 잃을 것이다컨테이너가 정지되었을 때. 구성을 유지하려면 Dockerfile
을 생성하면 됩니다. 파일을 유지하려면 컨테이너를 시작할 때 외부 볼륨(호스트의 디렉터리일 수 있음)을 마운트할 수 있습니다.
특정 사용 사례에 필요한 Docker 옵션을 결정하는 데에는 확실히 학습 곡선이 있지만, 위의 명령과 같은 기본 사항을 숙지하고 나면 다양한 이미지를 쉽게 시험해 볼 수 있습니다.
보너스 - Docker를 WSL2 인스턴스에 설치하고 이점을 누릴 수 있습니다. 당신은 찾을 것입니다많은WSL에서 로드할 수 없는 Docker 이미지도 마찬가지입니다.