Operating System
윈도우10에서 Ubuntu 사용하기
캥거루 남편
2020. 3. 4. 15:04
회사에서 윈도우 노트북을 사용한다. 그래서 우분투 특히 bash를 사용하려면 아래와 같은 방법을 사용했다.
- vmware, virtual box에 우분투를 설치해서 사용
- guest os를 깔아서 사용하기 때문에 무겁게 느껴진다...
- 사실 desktop보다는(bash가 아닌 GUI가 들어있으니 느려도 그려러니...) server를 사용하기 때문에 가볍게 구동되길 바라서인지 더 무겁게 느껴지는 것 같다.
- build server에 ssh, smb를 붙여서 사용
- ssh, smb 콤비는 내가 정말 사랑하는 조합
- 빌드 서버는 보통 랩탑보다 사양이 좋다. 그래서 dev 서버나 도커 빌드 및 실행 서버로 사용한다.
- 다만 사내망은 분리되어 있어서 외부 접속이 어렵다.
- 자택근무를 하다보니 외부접속이 안되는 것이 더 아쉽다.
- Linux Containers on windows 10
- Hyper-V에서 실행되는 LinuxKit 기반 가상 컴퓨터를 사용하여 실행
- docker 클라이언트는 window 데스크탑에서 실행되지만 linux VM상의 Docker daemon을 호출합니다.Moby VM의 linux 컨테이너
- docker 클라이언트는 window 데스크탑에서 실행되지만 linux VM상의 Docker daemon을 호출합니다.Moby VM의 linux 컨테이너
- Linux Containers with Hyper-V isolation
- Hyper-V isolation 기능이 있는 linux컨테이너는 컨테이너를 실행하기에 충분한 OS만으로 최적화된 linux VM에서 각 linux 컨테이너를 실행
- microsoft/nanoserver, openjdk:8-jdk-alpine같은 tiny build를 말하는 것 같다.
- microsoft/nanoserver, openjdk:8-jdk-alpine같은 tiny build를 말하는 것 같다.
- Hyper-V isolation 기능이 있는 linux컨테이너는 컨테이너를 실행하기에 충분한 OS만으로 최적화된 linux VM에서 각 linux 컨테이너를 실행
- 참조 : https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/deploy-containers/linux-containers
- Hyper-V에서 실행되는 LinuxKit 기반 가상 컴퓨터를 사용하여 실행
- WSL (Windows Subsystem For Linux)
진짜 Ubuntu가 설치되니까 실제 개발 환경과 유사하다.- 1주 정도 써보니 좀 불편하네요. 정신 건강을 위해서는 그냥 vm환경으로 하라는 조언도 있습니다. ^^;
- vmware나 virtual box와는 다르게 부팅 없이 바로 실행된다.
- 느린 IO 속도, 커널이 다 호환되지 않아서 일부 app(nmap등)이 실행되지 않는다.
- https://docs.microsoft.com/ko-kr/windows/wsl/troubleshooting
- 이외에 위와 같은 문제들이 있다고 한다.
- 그 문제들 중에 openssh 문제는 아래와 같이 지우고 다시 깔아야 한다.
- sudo apt purge openssh
- sudo apt install openssh
- 하지만 단점들이 개선된 WSL2가 windows 참가자 프로그램에 리뷰중이니 정식 배포가 조만간 될 수 있을 것 같다. 그전에 먼저 사용하고 싶으신 분은 아래 링크에서 설치 해보시길....
어제는 WSL로 docker, ssh를 사용해서 내 개인 서버의 let's encrypt 인증서를 와일드 카드로 갱신했다.
docker도 잘 돌고 (https://medium.com/rkttu/wsl%EC%97%90%EC%84%9C-native-docker-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-ff75b1627a87) ssh를 통해 remote 환경에서도 작업하는데 문제가
없었다. => 이렇게는 현재 wsl에서는 동작하지 않는다.
https://blog.jayway.com/2017/04/19/running-docker-on-bash-on-windows/에 나와 있는데로 docker 데몬은 window것을 쓰고 wsl이 docker client가 되는 방법이다.
win10 1607버전 이상이라고 하니 3~4년 전에 있었는데 이제야 알았다. 되니까... 이러고 다른 방법은 고민을 안했던거 같다. wsl뿐만 아니라 다른 것들도 현실에 안주하지 말고 더 좋은 방법은 없는지 고민해 보는게 필요할 듯 하다.
p.s. 여담인데 wsl2는 아직 preview 버전에서 동작하는데 불안정 버전이라 그런지 이런 상황도 있었다. 쫄지 말자. ㅎ
WSL2는 가상 네트워크 스위치 설정이 잘 안되어서 결국 못쓰게 되었다.
참고글 https://m.blog.naver.com/seongjin0526/221778212779
Docker에서도 settings에서 WSL2를 반영 할 수 있도록 지원하고 있다. 다만 아직 preview이다. (2020.05.15)
현재 WSL1으로 사용하는 용도
- ADB
- logcat에 grep을 쓸 수 있다는건 큰 축복
- git cli
- git gui tool보다는 cli를 사용하는데 윈도우 환경보다는 리눅스가 편하다.
- tip
- c 드라이브는 /mnt/c
- WSL git clone issue - https://stackoverflow.com/questions/52846489/cant-clone-repository-from-mounted-drive