WSL이란?
WSL(Windows Subsystem for Linux)은 Microsoft가 개발한 Windows 운영 체제의 부분으로서, 리눅스 환경을 Windows에서 실행할 수 있게 해주는 기술입니다. 이것은 Windows 10부터 시작해 Windows 11에서도 사용할 수 있으며, Windows 서브시스템라고도 불립니다.
WSL을 사용하면 다음과 같은 주요 기능을 얻을 수 있습니다:
1. 리눅스 환경 실행: WSL을 통해 여러 가지 리눅스 배포판 (예: Ubuntu, Debian, Fedora)을 Windows에서 실행할 수 있습니다. 이를 통해 리눅스 명령 및 유틸리티를 사용할 수 있고, 리눅스 개발 및 스크립팅 환경을 제공합니다.
2. 통합 환경: WSL을 사용하면 Windows와 리눅스 애플리케이션을 혼합하여 사용할 수 있습니다. 즉, Windows 환경과 리눅스 환경 사이에서 파일 및 데이터를 공유하고 상호 작용할 수 있습니다.
3. 개발자 도구: 리눅스 기반 개발자 도구 및 환경 (예: Bash 셸, GCC 컴파일러)을 사용할 수 있으므로 소프트웨어 개발 및 관리 작업이 용이해집니다.
4. 가벼운 가상화: WSL은 하이퍼바이저 또는 가상 머신을 사용하지 않고 리눅스 환경을 실행하므로, 상대적으로 가벼우며 Windows 시스템의 성능에 미치는 영향이 적습니다.
WSL은 주로 개발자와 시스템 관리자를 대상으로 설계되었으며, Windows와 리눅스 간의 통합을 용이하게 합니다. 이를 통해 Windows 환경에서도 리눅스 관련 작업을 편리하게 수행할 수 있습니다.
0. 기본설정
제어판 > 프로그램 > Windows 기능 켜기/끄기에 접근 후 아래 그림처럼 항목에서 Linux용 Window 하위 시스템 + 가상머신플랫폼을 찾아 체크합니다.
설치방법
1. cmd나 powershell 을 관리자 권한으로 열어 줍니다.
2. 파워쉘에서 커맨드를 입력해줍시다.
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
3. 가상머신 플랫폼 기능 활성화
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
4. WSL을 관리하기 위해서 wsl 명령어를 사용해야하는데, 아직 동작하지 않습니다. 먼저 재부팅을 해줍니다.
이후 해당 명령어를 입력하면 현재 배포중인 리눅스 배포판을 확인할 수 있다.
wsl --list --online
설치를 위해서라면 다음 명령어를 사용하면 된다. 마지막 Ubuntu 자리에는 사용하고 싶은 배포판의 이름을 대체해서 넣어주면 된다.
wsl --install -d Ubuntu
이제 재부팅 후 검색 창에서 설치된 Ubuntu를 검색하여 실행하면 초기 계정 및 비밀번호 설정 이후 제대로 설치 된 것을 확인할 수 있다.
tip .설치한 배포판에 WSL2가 적용되었는지 확인하기
wsl -l -v 명령어를 실행해서 현재 적용된 WSL 버전을 확인해봅니다.
> wsl -l -v
Name State Version
* Ubuntu Running 1
1이라고 나오면 다음 명령어로 2로 변경할 수 있습니다.
> wsl --set-version Ubuntu 2
새로 설치하는 모든 배포판에 WSL2가 적용되도록 기본값을 변경
> wsl --set-default-version 2
윈도우 터미널에서 새 탭 오른쪽의 아래쪽 방향 아이콘을 클릭하고, Ubuntu를 선택해주면 앞서 셋업한 WSL2 우분투 배포판 셸이 실행됩니다.
우분투는 이런식으로 설치하면 된다고 하는데 내가 받고싶은 centos는 wsl 에서 기본제공이 안되는듯 하다 따로 받아주자
위 4번 까지는 그대로 진행
Centos 는 깃허브에 공개되어 있는걸 사용한다
- WSL Centos7 : https://github.com/wsldl-pg/CentWSL/releases/tag/7.0.1905.1
- WSL Centos8 : https://github.com/mishamosher/CentOS-WSL/releases/tag/8-stream-20210210
압축을 풀면 CentOS.exe 파일이 나온다. 이 파일을 최초 실행하면 CentOS 이미지를 윈도우에서 사용할 수 있도록 설치 절차가 진행된다. 두 번째 실행부터는 WSL로 CentOS를 사용할 수 있게 된다.
Centos 삭제
cmd 창이나 파워쉘(Powershell)을 이용해서 압축된 폴더로 이동해서 다음 명령을 실행한다.
CentOS.exe /clean
두번 정도 반복해야 정상적으로 설치된 파일이 제거 될 수 있다고 한다.
움 쉽네 그대로 해보겠다 압축 풀고
실행
????????
에러 코드 0x8007019e
0x8007019e
찾아보니 Window 10 Pro 이상부터 사용 가능한 Hiper-V 기능을 사용하지 않고 있어서 나타나는 문제란다. 즉 Window 10 Pro 이상부터 WSL 기능을 사용할 수 있다는 것이다. 내가 불행히도 윈도우 11 home ㅠㅠ 하지만 실망하지 말자 방법이 있다.
결론부터 말하자면, Window 10 Home 사용자들도 예외없이 WSL 기능을 사용할 수 있다.
해당 에러를 만났다면 원인은 99% 가상머신 설정 때문이다. 이전 블로그 포스팅을 보고 WSL 설정 및 Linux 설치를 정상적으로 진행한 사람이라면, 제어판 > Windows 기능 켜기/끄기 를 확인했을 때
- Linux용 Windows 하위 시스템
- 가상 머신 플랫폼
두 기능이 체크박스 표시되어 있는데, Window 10 Pro에는 여기에 더해 Hiper-V 기능이 추가적으로 존재한다고 한다. 그 기능을 체크박스 설정 후 재부팅하면 진행된다고 하지만, 아쉽게도 Window 10 Home 에는 해당 기능을 지원하지 않으므로 다른 방법을 사용해야한다.
방법은 간단하다. 윈도우(Window) 바이오스 모드 진입 후 Advanced > CPU 고급 설정 > Virtual Mode를 활성화 해주면 된다. 다만 바이오스 모드 진입 방법 및 바이오스 모드 화면 구성 방식은 각 제품사 및 버전에 따라 상이하므로 직접 찾아보길 권장한다. 해당 기능은 대개 제품사를 따지지 않고 주로 Advanced > CPU 고급 설정 내부에 있을테니 조금 뒤져보면 금방 찾을 수 있을 것이다.
출처 : https://8ugust-dev.tistory.com/4
그럼 그대로 해보겠다...?????????
아무리 찾아봐도 어드벤스에 버츄얼 모드 활성화 하는 기능이 안보인다.. 재부팅 몇번이나 하는지 모르겠다
바꿀 수 없다면 다른 방법으로 해보겠다 pro 에서만 사용가능한 Hiper-V 를 직접 설치하면 되겠지
윈도우 홈 에서 Hyper-V 설치 하기
메모장 ( Notepad ) 을 실행 후 아래 명령어 구문을 붙여넣기
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
메모장을 저장시 이름은 상관없고 확장자는 .bat (배치파일) 으로 해준다.
이런식으로 뜨면 성공
배치 파일을 관리자 권한으로 실행 후 시스템을 한번 재부팅을 하면 바로 적용 할 수 있습니다.
window 기능 켜/끄기 에서 Hyper-V 잘 켜져있나 확인
자 이제 centos 실행
?????????
에러 코드 0x800701bc
0x800701bc
일단 에러코드가 바뀌었단 것에 만족하고 차분히 해결해 보자
해결방법은 비교적 간단 WSL2 Linux Kernel Update 를 설치해주면 해결된다고 한다.
다운로드 링크: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
가서 다운받고 실행 후
.
설치 완료 짝짝짝
다시 Centos 실행시켜주면 접속되고 yum update 로 패키지가 업데이트 최신화
yum update
yum은 현재 연결가능한 리포지토리(Repository : CentOS의 업데이트 패키지를 갖고 있는 인터넷 상의 저장소)에 연결해 업데이트 할 수 있는 패키지들의 목록과 용량을 가져온다.
위에서는 새로 2개의 패키지를 설치할 수 있고 (의존성 있는 4개 추가 설치필요) 182개의 패키지가 업데이트 할 수 있다고 알려준다. 그리고 총 다운로드되는 파일의 용량은 276MByte임을 알려준다.
업데이트 하겠냐고 물어보니 당연히 y를 입력한다.
참고로 D는 업데이트를 거절하고 패키지를 업데이트하지 않음
N은 아무런 조치도 취하지 않고 업데이트 거부
뭐라고 뭐라고~~주루룩 나온다. 다운로드 할 패키지를 가져오고 현재 서버에 있는 GPG키를 가져와 해당 키가 맞는지 물어본다. 이 GPG키는 업데이트하기 위해 다운로드 받은 rpm들의 무결성을 검증하기 위한 전자서명키다. 즉 위변조된 패키지를 다운받아 백도어가 설치되는 것을 방지하기 위함이다.
만약 이 GPG키가 유효하지 않다면 공인된 GPG키를 wget 명령을 통해 가져온 뒤 다시 실행해야 한다.
어쨌든 y를 눌러주고 설치 완료
참고로 가상머신 종료는
종료 명령어(wsl -t) + NAME 으로 지정하여 종료한다.
ex)
wsl -t CentOs
'Linux(리눅스)' 카테고리의 다른 글
firewalld 방화벽 설정 하기 (0) | 2024.06.25 |
---|---|
nginx config 설정 녹취프로젝트 (0) | 2024.01.03 |
리눅스 사용자 변경 (CentOS 사용자 변경) (2) | 2021.08.03 |
리눅스에서 사용자 생성하는 방법을 알아보자 ! (리눅스 사용자 만들기, 리눅스 사용자 추가) (0) | 2021.08.03 |