Linux용 Windows 하위 시스템
WSL
간단히 말해서 WSL은 Windows 10\11에서 기본 Linux 바이너리 실행 파일(ELF 형식)을 실행할 수 있는 호환성 계층입니다. Microsoft와 Canonical이 공동으로 개발했으며 그 목표는 순수한 Ubuntu, Debian 및 기타 이미지를 사용자의 로컬 컴퓨터에 다운로드하고 압축을 풀고 이미지의 도구와 유틸리티를 이 하위 시스템에서 기본적으로 실행할 수 있도록 하는 것입니다. Windows 10 2004 이상을 사용하는 경우 WSL2를 통해 창에서 데스크톱 응용 프로그램을 실행할 수 있으며 다른 X 서버를 설치할 필요가 없습니다. 이 하위 시스템은 모든 Linux 소프트웨어를 실행할 수는 없지만 대부분의 내부 명령 사용법을 배우는 것은 절대적으로 편리합니다!
WSL1과 WSL2의 차이점
WSL1과 WSL2 모두 Windows에서 Linux 운영 환경을 가져올 수 있음, 시작
속도가 느리지 않음, 메모리 소비가 상대적으로 적음,
WSL 1은 VM을 사용하지 않음, WSL 2는 자동으로 유지 관리되는 VM을 사용함,
WSL 1은 지원하지 않음 , WSL2는 Docker와 같은 실행 프로그램을 지원하고,
WSL 2는 완전한 Linux 커널 호출을 지원하지만 WSL 1은 지원하지 않습니다
. 및 WSL 1이 존재하지 않음 이 문제:
WSL 2는 Windows 교차 운영 체제 파일과 함께 작동할 수 없습니다(Windows에서 WSL2에 액세스하는 방법은 WSL2 환경에 들어가 "cd ~"를 입력하여 기본 디렉터리로 들어간 다음 다음을 입력하는 것입니다. "explorer.exe."는 Windows 파일 관리자 2 파일에서 WSL에 액세스할 수 있으며, 또한 파일은 네트워크, 파일 공유 등과 같은 가상 머신을 통해 통신할 수 있습니다. 반면 WSL 1과 Windows는 동일한 파일 시스템에 있습니다. .
선택
WSL과 Windows 파일 간의 상호 운용성 및 상호 운용성을 좋아한다면 WSL 1이 더 적합합니다.
VM에서 자주 개발하고 작업 환경이 기본적으로 Linux인 경우 WSL 2가 더 완벽한 경험을 제공합니다.
커널이 필요한 경우 WSL 2만 될 수 있는 기능입니다.
준비
Window10\11 버전을 확인하십시오. 내부 버전 번호가 18362보다 낮은 버전은 WSL을 지원하지 않습니다. winver를 실행한 결과:
또는 Windows 명령 프롬프트에서 ver 명령을 입력합니다.
C:\Users\hann>버전
마이크로소프트 윈도우[버전 10.0.23511.1000]
Windows 터미널이 "초기 설치됨" 상태인지 확인합니다.
터미널을 열고 단축키 Ctrl ,(Ctrl 키와 쉼표)를 눌러 시작 설정 인터페이스를 불러옵니다.
아래 그림과 같이 설정하고 저장 후 종료합니다.
Linux 하위 시스템 설치
MicrosoftStore를 열고 Linux를 검색한 다음 좋아하는 배포판을 설치하고 Ubuntu와 Debian을 설치했습니다.
여전히 정상적으로 설치할 수 없는 경우 다음 단계를 시도할 수 있습니다.
오픈 서브시스템 기능
PowerShell을 관리자로 시작하고 다음을 입력하여 Windows 하위 시스템 기능을 활성화합니다.
dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart
그런 다음 가상 머신 플랫폼 기능을 활성화하려면 다음 내용을 입력하십시오.
dism.exe/online/enable-feature/featurename:VirtualMachinePlatform/all/norestart
완료되면 컴퓨터를 다시 시작하십시오.
Linux 커널 업데이트 패키지 다운로드
x64 컴퓨터용 WSL2Linux 커널 업데이트 패키지를 다운로드하려면 이 링크를 클릭하십시오.
다운로드가 완료되면 설치하십시오.
그런 다음 PowerShell을 관리자로 실행하고 다음을 입력하여 WSL2를 기본 버전으로 설정합니다.
wsl--set-default-version2
Unix 사용자 이름 및 비밀번호 설정
설치가 성공적으로 완료되면 사용자 설정을 입력하십시오.
도움말 도움말 보기
우분투의 도움:
hann@HannYang:~$ help
GNU bash, 버전 5.0.17(1)-릴리스(x86_64-pc-linux-gnu)
이러한 셸 명령은 내부적으로 정의됩니다. 이 목록을 보려면 'help'를 입력하십시오.
함수 `name'에 대해 자세히 알아보려면 `help name'을 입력하십시오.
일반적으로 쉘에 대해 자세히 알아보려면 `info bash'를 사용하십시오.
이 목록에 없는 명령에 대해 자세히 알아보려면 `man -k' 또는 `info'를 사용하십시오.
데비안 도움말:
hann@HannYang:~$ help
GNU bash, 버전 5.2.15(1)-릴리스(x86_64-pc-linux-gnu)
이러한 셸 명령은 내부적으로 정의됩니다. 이 목록을 보려면 'help'를 입력하십시오.
함수 `name'에 대해 자세히 알아보려면 `help name'을 입력하십시오.
일반적으로 쉘에 대해 자세히 알아보려면 `info bash'를 사용하십시오.
이 목록에 없는 명령에 대해 자세히 알아보려면 `man -k' 또는 `info'를 사용하십시오.
둘 다에 나열된 내부 명령 목록은 기본적으로 동일합니다.
job_spec [&] history [-c] [-d offset] [n] 또는 history -an>
(( expression )) if COMMANDS; 그런 다음 명령; [ elif 명령>
. 파일 이름 [인수] jobs [-lnprs] [jobspec ...] 또는 jobs -x comm>
: kill [-s sigspec | -n 기호 | -sigspec] pi>
[ arg... ] let arg [arg ...]
[[ 표현식 ]] 로컬 [옵션] 이름[=값] ...
별칭 [-p] [이름[=값] ... ] logout [n]
bg [job_spec ...] mapfile [-d delim] [-n count] [-O origin] [>
bind [-lpsvPSVX] [-m 키맵] [-f 파일명] [> popd [- n] [+N | -N]
break [n] printf [-v var] 형식 [인수]
builtin [shell-builtin [arg ...]] pushd [-n] [+N | -N | dir]
caller [expr] pwd [-LP]
case WORD in [PATTERN [| 패턴]...) COMMAN> 읽기 [-ers] [-a 배열] [-d delim] [-i 텍스트]>
cd [-L|[-P [-e]] [-@]] [dir] readarray [-d delim] [-n count] [-O origin]>
command [-pVv] command [arg ...] readonly [-aAf] [name[=value] ...] 또는 reado>
compgen [- abcdefgjksuv] [-o 옵션] [-A acti> return [n]
complete [-abcdefgjksuv] [-pr] [-DEI] [-o op> select NAME [in WORDS ... ;] do COMMANDS; d>
compopt [-o|+o 옵션] [-DEI] [이름 ...
계속 [n] shift [n]
coproc [이름] 명령 [리디렉션] shopt [-pqsu] [-o] [optname ...]
선언 [-aAfFgilnrtux] [-p] [이름[=값] .> 소스 파일 이름 [인수]
dirs [-clpv] [+N] [-N] suspend [-f]
disown [-h] [-ar] [jobspec ... | pid ...] 테스트 [expr]
echo [-neE] [인수 ...] 시간 [-p] 파이프라인
활성화 [-a] [-dnps] [-f 파일 이름] [이름 ...> 시간
평가 [인수 ...] trap [-lp] [[arg] signal_spec ...]
exec [-cl] [-a 이름] [command [인수 ...> true
종료 [n] 유형 [-afptP] 이름 [이름 . ..]
export [-fn] [name[=value] ...] 또는 export -> typeset [-aAfFgilnrtux] [-p] name[=value] .> false ulimit [
-SHabcdefiklmnpqrstuvxPT] [limit]
fc [-e ename] [-lnr] [첫 번째] [마지막] 또는 fc -s> umask [-p] [-S] [모드]
fg [작업 사양] unalias [-a] 이름 [이름 ...]
for NAME [in WORDS .. . ] ; 명령을 수행하십시오. don> unset [-f] [-v] [-n] [name ...]
for (( exp1; exp2; exp3 )); 명령을 수행하십시오. 돈> 명령까지; 명령을 수행하십시오. 완료
함수 이름 { COMMANDS ; } or name () { CO> 변수 - 일부 쉘의 이름과 의미>
getopts optstring name [arg] wait [-fn] [id ...]
hash [-lr] [-p pathname] [-dt] [name ...] 명령하는 동안; 명령을 수행하십시오. 완료
도움말 [-dms] [패턴 ...] { 명령 ; }
매일 사용
개봉 후 모습:
시도할 몇 가지 Linux 명령을 입력합니다.
이때 정상적으로 설치 결과를 사용할 수 있습니다.
출구