wsl2 윈도우에서 리눅스 사용하기
윈도우 업데이트가 다 되있다고 가정하고 진행
install wsl2
powershell을 열고
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Microsoft Store를 열고 ubuntu 18.04 배포를 선택합니다.
https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q?rtc=1&activetab=pivot:overviewtab
설치하고 나면 실행합니다. 기본 유저와 비번을 넣어야합니다.
cmd에서 bash라고치면 바로 접속됩니다.
저는 root를 사용하고싶어서 다음처럼 진행하였습니다. bash로 접속한상태에서
sudo passwd root
xxx
루트 비번을 변경하고
cmd를 열어서
ubuntu1804.exe config --default-user root
window terminal을 설치합니다.
https://github.com/microsoft/terminal/releases 여기서 다운받아서 설치합니다.
cmd, powershell, bash를 다 할수 잇는 터미널입니다.
기존에 사용하던 ssh 설정이 잇으면 다음처럼 cmd를 이용하여 복사할수 잇습니다.
copy /Y C:\Users\ragon\Dropbox\OS-Backup\MacOs\.ssh\* \\wsl$\Ubuntu-18.04\tmp
ubuntu는 \wsl$ 라는 네트워크 드라이브로 인식되서 서로 파일을 카피할수 있습니다.
이제 window terminal을 실행합니다.
root로 접속이 되는지 확인합니다.
설정합니다. zsh을 사용하고 oh-my-zsh을 사용하므로 다음처럼 설정합니다.
apt-get update
# zsh
apt-get install zsh -y
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
vi ~/.zshrc
# zshrc 설정
ZSH_DISABLE_COMPFIX=true #first line 추가
#ZSH_THEME="agnoster" 깨지는 부분이 있다. 기본으로 사용하자.
plugins=(git zsh-syntax-highlighting zsh-autosuggestions kubectl kube-ps1) #여기에 추가한다.
# 기본 쉘 변경
chsh -s /bin/zsh
참고로 oh-my-zsh을 사용하고 kube플러그인을 사용하면 기본적으로 적용이 되있다고 한다.
https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/kubectl
기타 많은 alias가 있으므로 참고해서 사용하면 될듯 싶다.
ns 와 nsv 대신에 플러그인에서 제공하는
kgns #kubectl get namespaces List the current namespaces in a cluster 전체 네임스페이스
kcgc #kubectl config get-contexts context 확인
kcn #kubectl config set-context context 설정
위 커맨드를 사용하면 된다.
kubectl을 사용하기 위해 설치한다.
cd
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
mv ./kubectl /usr/local/bin/kubectl
kubectl version --client
이렇게 되서 다시 실행해보면 화면이 깨진다.
윈도우에 폰트를 추가하자.
font
https://github.com/powerline/fonts
여기서 다운받아서 윈도우에서 DejaVu Sans Mono for Powerline.ttf
더블클릭을 설치
windows terminal 에서 설정을 눌러서 다음 추가.
"fontFace": "DejaVu Sans Mono for Powerline"
이제 폰트도 이쁘게 나온다.
mac 터미널과 비슷하게 나온다.
prompt 수정
- 머신 이름 지우기
vi ~/.zshrc
# prompt_context() {
# if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
# prompt_segment black default "%(!.%{ %F{yellow}% }.)$USER"
# fi
# }
주석 제거하고 사용, { % 사이 공백 삭제 (깃허브에 지킬에서 에러가 나서 글 수정)
- directory 명 파란색에 검은색 글짜 보기 싫으면
sed -i '0,/blue/{s/blue/39d/}' ~/.oh-my-zsh/themes/agnoster.zsh-theme
기존 distro에서 .ssh 폴더 복사해오기
기존 distro 파일 위치
C:\Users\ragon\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs\root
탐색기를 이용하여 .ssh폴더를 복사해서 새 distro로 복사해서 넣어둔다.
C:\Users\ragon\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\root
alias 만들기
acs를 치면 다음 명령어가 실행되면 좋겟다. vi ~/.zshrc
alias acs="cd /mnt/c/Users/ragon/Desktop/GitLab/xgrid-server/acs01/acs/xgrid"
wsl 명령어
wsl --list
> Ubuntu-20.04
wsl -t <DistroName> # 재시작
wsl -t Ubuntu-20.04
wsl -s Ubuntu-20.04 # default distros
wsl --list
> Ubuntu-20.04 (Default)
host 파일 관리
distro가 부팅을 하면 호스트(윈도우)에 hosts파일을 가지고와서 업데이트를 한다.
distro에 잇는 호스트를 수정후 재시작하면 없어짐.