WSL을 설치해보자. (CentOS 8)

|

참고 사이트 : docs.microsoft.com/ko-kr/windows/wsl/install-win10

 

Windows 10에 WSL(Linux용 Windows 하위 시스템) 설치

Bash 터미널을 사용하여 WSL(Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin 및 Alpine 포함)을 Windows 10에 설치하는 방법에 대한 설치 가이드입니다.

docs.microsoft.com

자동은 뭔지 모르겠으니까 일단은 수동으로 진행. 일단 WSL을 설치하고.. (파워셀을 열어 다음을 입력한다.)

PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

배포 이미지 서비스 및 관리 도구
버전: 10.0.19041.844

이미지 버전: 10.0.19041.867

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.
PS C:\Windows\system32>
 

그리고 WSL2로 업그레이드를 하는데, 버전 1903 이상, 빌드 18362 이상을 요구한다고 한다. 지금쯤 되면 다 그 이상은 될것 같으니 굳이 확인 안해도 되겠지. 혹시 몰라 winver를 확인해보면....

뭐 1903보다는 높지...

그 다음에 Virtual Machine 플랫폼 옵션 기능을 사용하도록 설정하고...

PS C:\Windows\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

배포 이미지 서비스 및 관리 도구
버전: 10.0.19041.844

이미지 버전: 10.0.19041.867

기능을 사용하도록 설정하는 중
[==========================100.0%==========================]
작업을 완료했습니다.
PS C:\Windows\system32>

그 다음에 Linux 커널 업데이트 패키지를 다운로드했더니...

참고사이트 : wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

안된다.

보니까 리부팅 하라는 안내가 있더라고....

리부팅을 한번 해본다. 물론 잘 된다. 자 그럼 다음 단계로. WSL 2를 기본 버전으로 설정하라는데,

PS C:\Windows\system32> wsl --set-default-version 2
WSL 2와의 주요 차이점에 대한 자세한 내용은 https://aka.ms/wsl2를 참조하세요
PS C:\Windows\system32>

이게 끝인데... 뭐 잘 됐겠지. 다음 단계로는 윈도우즈 터미널을 설치한다. 참고 사이트에서는 배포본 이미지를 설치한 다음 단계의 부록같은거였는데, CentOS 이미지 설치 도움 페이지를 보니까 중간부터 이게 필요하더라구.

참고 사이트 : docs.microsoft.com/en-us/windows/terminal/get-started

그냥 윈도우즈 스토어에서 깔면 된다....

다음 차례는 배포본을 깔 차례인데, CentOS는 윈도우즈 스토어에 없다. 아니, 있는데 2천원에서 5천원까지의 돈을 내란다. 사실 오픈소스로 접근할 수 있는 것들인데 돈을 내는게 이해가 안되서 그냥 오픈소스로 접근하기로 했다.

참고 사이트 : forums.centos.org/viewtopic.php?t=75373

 

How-to: CentOS 8.2 on Windows Subsystem Linux (WSL2) - CentOS

Issues related to applications and software problems and general support devlocalca Posts: 10 Joined: 2019/06/28 05:58:41 Post by devlocalca » 2020/08/17 14:37:12 I want to run CentOS 8.2 (2004) under Windows 10 Pro (2004) that comes with WSL2 1. Is there

forums.centos.org

연결된 이미지 사이트가 expire 되어 다른 사이트의 이미지를 참고했다.

참고 사이트 : github.com/mishamosher/CentOS-WSL/releases/tag/8-stream-20210210

 

Release CentOS 8-stream-20210210 · mishamosher/CentOS-WSL

CentOS 8-stream-20210210 wsldl 21020500

github.com

다운받고, 압축을 풀고, exe 파일을 실행해보니 별건 없다.

시간이 오래 걸린것도 아니다...

centos.org의 내용을 보면 해야 할 것이 몇개 있어서 진행해봤다.

[root@DESKTOP-AC4K628 eleno]# dnf config-manager --set-enabled PowerTools
Error: No matching repo to modify: PowerTools.
[root@DESKTOP-AC4K628 eleno]# dnf -y install \
> sudo \
> passwd \
> openssh-clients \
> wget \
> unzip \
> git \
> vim \
> https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
CentOS Stream 8 - AppStream                                                             3.4 MB/s | 6.7 MB     00:01
CentOS Stream 8 - BaseOS                                                                2.7 MB/s | 2.3 MB     00:00
CentOS Stream 8 - Extras                                                                 18 kB/s | 8.9 kB     00:00
epel-release-latest-8.noarch.rpm                                                         13 kB/s |  22 kB     00:01
Package sudo-1.8.29-7.el8.x86_64 is already installed.
Package passwd-0.80-3.el8.x86_64 is already installed.
Package openssh-clients-8.0p1-5.el8.x86_64 is already installed.
Dependencies resolved.
......

필요한 어플들을 설치하고,

[root@DESKTOP-AC4K628 eleno]# useradd elenoa
(2021-04-09  0:41:51:146654): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2021-04-09  0:41:51:146700): [sss_cache] [init_domains] (0x0020): Could not initialize domains
(2021-04-09  0:41:51:152728): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2021-04-09  0:41:51:152779): [sss_cache] [init_domains] (0x0020): Could not initialize domains
[root@DESKTOP-AC4K628 eleno]# passwd elenoa
Changing password for user elenoa.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@DESKTOP-AC4K628 eleno]# gpasswd -a elenoa wheel
Adding user elenoa to group wheel
(2021-04-09  0:42:32:447259): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2021-04-09  0:42:32:447312): [sss_cache] [init_domains] (0x0020): Could not initialize domains
(2021-04-09  0:42:32:453224): [sss_cache] [confdb_get_enabled_domain_list] (0x0040): Failed to get [domains] from [sssd], error [2] (No such file or directory)
(2021-04-09  0:42:32:453279): [sss_cache] [init_domains] (0x0020): Could not initialize domains
[root@DESKTOP-AC4K628 eleno]#

유저를 추가하고, 비밀번호를 설정하고, wheel 그룹에 추가한 유저를 등록하고,

PS C:\Pressout\CentOS8-stream> .\CentOS8-stream.exe config --default-user elenoa
PS C:\Pressout\CentOS8-stream>

파워 쉘에서 기본 유저를 변경하고,

[elenoa@DESKTOP-AC4K628 eleno]$ whoami
elenoa
[elenoa@DESKTOP-AC4K628 eleno]$

리눅스 터미널을 다시 띄워보면 기본 유저가 변경되어 있다.

이게 끝인건가..... 진짜 별게 아니라 너무 놀랍네.

추가 (2021-04-13) : 디렉토리를 접근할 수 있는가 보려고 했더니, 일반 배포본들의 linux 디렉토리는 windows 디렉토리 상에 그냥 존재하고 있는 것에 비해 CentOS8-stream 이녀석은 qcos2 이미지를 기반으로 만들어져서, CentOS8-stream.exe 파일을 실행한 디렉토리에 생성된 ext4.vhdx 파일을 마운팅하여 linux 디렉토리를 구성한다. 그래서 linux에서 생성한 파일들을 바로 windows 디렉토리에서 확인하고 싶으면 /mnt/c 의 임의의 디렉토리를 symbol link로 원하는 디렉토리를 연결해두거나 (/home 같은), 원할때 수동으로 카피하는 편이 편할듯. /mnt/c 의 디렉토리들은 권한이 무조건 모두 허용되도록 강제되는것 같아, /home 에 연결하는건 좀 아닌듯. vhdx는 원할때 컨버팅하여 window 상에서 읽는 방법이 있는듯 하여, 일단은 현 상태로 써보기로...


And