레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Windows인 게시물을 표시합니다. 모든 게시물 표시

2020년 8월 1일 토요일

[Window, Linux] 윈도우에서 "WSL2" 로 리눅스 설치

개발자들에겐 "리눅스" 가 뗄레야 뗄수 없는 숙명같은 것이다.
그런데 제일 잘나가는 OS 는 윈도우라는 현실...

그래서 윈도우에 보조 OS 로 리눅스를 설치하는 경우가 많은데, 보통은 멀티 부팅을 하거나 가상 OS 로 올리는 경우가 많지만, 둘다 단점이 많다.

특히 가상 OS 로 설치한 경우 사용성은 좋지만 속도가 느리다는 치명적인 단점이 있는데, MS 에서 새로 선보인 WSL 을 이용하여 윈도우에 설치하면 윈도우 커널 자체에서 리눅스 커널을 지원하므로 가상 OS로 설치한것보다 훨신 안정적이고 빠르게 구동된다고 한다.

특히 WSL2 로 설치하면 기존 WSL 에서 안되던 것 (예를 들어 도커 같은것) 도 지원된다고 해서 이번에 설치해 보았다.

주의 할점은 WSL 은 윈10 이면 설치할수 있지만, WSL2 는 "2020년 5월 업데이트" 가 설치 완료된 상태라야 설치가 가능하다는 점.


WSL 을 설치하려면 우선 Micosoft Store 에서 "Windows Terminal" 을 설치해야 한다.


이미 설치되어 있다면 그냥 바로 실행 시키면된다.


주의 할점은 WSL 설치 시에는 반드시 "관리자 권한" 으로 실행 해야 한다는 점. 


터미널을 실행하고 아래 명령어를 실행.

> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

뭔가 설치하는데 설치가 완료 된후 "wsl" 명령러를 실행해보면 아직 설치 되어있지 않다고 메시지가 나올것이다.


이때 설치 가능한 서브 OS 를 다운 받을수 있는 링크가 나오는데 이걸 복사해서 웹브라우저를 이용해 이동해 본다.


크롬의 경우라면 "Microsoft Store" 로 열겠냐고 물어 본다. 다른 웹브라우저도 대충 비슷한 메시지가 나올것이다. 그냥 바로 이동.


여기에서 여러가지 배포판을 설치할수 있는데, 원하는 배포판을 선택하면 된다.
나의 경우는 일반적으로 많이 사용하는 우분투를 선택했다.

주의 할점은 이렇게 설치할우 윈도우 시스템 (일반적으로 "C:" 드라이브) 에 설치되므로 설치지 여유 용량이 충분한지 확인이 필요하다.

현재로선 원하는 디렉토리에 별도로 설치하는 방법이 없는것 같다.


리눅스 답게 무료로 설치 가능.


현재 배포되는 버젼은 "20.04 LTS".


"무료" 버튼을 클릭하면 해당 패키지를 다운는데, 용량을 보면 생각보다 용량이 작다는 것을 알수 있을 것이다.

일반적으로 생각하는 데스탑 버젼이 설치되는것이 아니라는 것.
그냥 텍스트 모드로 돌아가는 서버 버젼이라고 생각하면 쉽다.

차후에 그래픽 UI 도 지원할 예정이라곤 하는데, 이건 나와 봐야 정확한 내용을 알수 있을것 같다.


다운이 끝나면 설치가 완료되었다고 나오는데 아직 멀었다. 
"시작" 버튼을 클릭하면 패포판이 설치된다.


리눅스 배포판이 설치되는데는 그다지 오래 걸리지 않는다.
아마도 리눅스 OS 자체라기 보다는 윈도우 호환 커널이기 때문인듯...


조금 기다리면 사용할 아이디를 입력하라고 나오는데, 사용할 아이디와 패스워드를 입력하면 설치가 끝난것이다.

리눅스를 써본사람이라면 알겠지만, 이때 입력한 아이디가 사실상 "root" 아이디 이므로 신중하게 입력할 것.


생각보다 쉽게 리눅스가 설치 되었다.


리눅스 명령어도 잘 먹힌다.


터미널로 돌아와서 "wsl -l" 명령어를 입력해 보면 설치된 시스템 리스트에 우분투가 설치되어 있다는 것이 보일것이다.

참고로 "wsl" 만치면 기본 시스템인 우분투가 바로 실행된다.

리눅스만 설치할 생각이라면 여기까지만 해도 된다.
하지만, "WSL2" 를 사용할 생각이라면 좀더 작업이 필요하다.


"wsl -l -v" 명령어로 보면 현재 설치된 버젼은 "WSL version 1" 이다. 

"WSL2" 를 이용하려면 "WSL 2 Linux 커널 업데이트" 로 이동해서 업데이트 파일을 다운 받아 설치해야 한다.

리눅스 커널 업데이트 패키지를 다운 받아 설치하면 끝.


별다른 설차없이 그냥 클릭만 하면 끝.

설치가 끝난뒤 "wsl --set-version Ubuntu 2" 로 버전을 바꾸고, "wsl --set-default-version 2" 로 버전2를 디폴트로 잡아 준다.


> wsl --set-version Ubuntu 2
> wsl --set-default-version 2


이제 윈도우 터미널을 새로 열어 보면 실행 가능 프로그램 중에 우분투가 포함되어 있음을 볼수 있다.


해당 버튼을 클릭하면 윈도우 터미널에서 우분투 시스템으로 이동할 수 있다.


물론 윈도우 시스템에서 바로 실행 할수도 있는데, 윈도우 터미널에서 실행할때와 시작 위치가 다르다는 점 외에는 별 다른것은 없어 보인다.

어쨌든 이렇게 윈도우 시스템에 리눅스 설치하기 끝.


2019년 5월 14일 화요일

Tip : Windows Powershell 버젼 확인 "$host"

우와... 파워쉘 버젼 확인하는게... 이게 이렇게 어려울거라곤 미처 생각하지 못했는데, 이게 의외로 알기 어려웠다.

일반적으로는 코멘드 창에서 "powershell -version" 혹은 "powershell -help" 뭐 이렇게 하면 간단히 나올거라고 생각했는데, 실제로는 저렇게 해서는 되지 않았다. "powershell -version" 이 명령어는 특정 버젼의 파워쉘을 실행하는 명령어라고 한다.

기존의 다른 내부 명령어들은 대부분 "/?" 나 "/help" 로 버젼을 확인해 볼수 있어서 당연히 될줄 알았는데 안되어서 조금 당황스러웠다.

검색해보니 파워쉘의 버젼확인 하는 방법은 의외로 쉬웠다. 생각했던것과 달라서 그렇지...


일단 파워쉘을 실행 한후...


프롬프트에서 "$host" 라고 입력하면된다.
그러면 간단하게 현재 파워쉘의 버젼을 확인 할 수 있다.



2017년 6월 1일 목요일

MVC : Windows Server 2008 에서 MVC 사이트를 만들었더니 "-2146232576 오류 코드 때문에 컴파일러가 실패했습니다." 오류가 발생한다.

이전에 ...

Windows Server 2008 에서 MVC 사이트를 만들었더니 403.14 - Forbidden 오류가 난다

... 로 Windows Server 2008 에서 MVC 사이트를 만들었더니 "-2146232576 오류" 가 발생했다.


일단 오류를 자세히 보자.
자세히 보면 만들어 놓은 MVC 사이트에서 뭔가를 실행하다 오류가 발생한 것을 볼수 있다.
(MVC 사이트 컴파일결과 생성된 파일이니, MVC 사이트의 bin 폴더에서 찾을 수 있다.)

저 파일을 한번 실행해 보면...


음... 드디어 저 오류의 정체를 찾아 냈다.
즉, .NetFramework 4.6 이 설치 되어 있지 않아 오류가 난것.

으... 그럼 애초에 사용 프레임 워크의 버젼을 4.5 정도로 낮추기만 해도 해결될 문제였단 말인가...

뭐... 이왕 여기까지 온거 저대로 해결을 해보자.

그냥 .NetFrameWork 4.6 을 설치해 주면 된다.
Window Update 로는 아마 설치가 안될테네... 직접 다운 받아 설치를 해 주자.


Microsoft .NET Framework 4.6(웹 설치 관리자) : https://www.microsoft.com/ko-kr/download/details.aspx?id=48130

이거 받아서 설치하면 됨.


그냥 동의하고 설치...


쭉쭉 설치가 되고... 이게 설치가 다 되면...


쨘~~ 이렇게 Windows Server 2008 에서도 MVC 사이트를 만들 수 있다.


MVC : Windows Server 2008 에서 MVC 사이트를 만들었더니 403.14 - Forbidden 오류가 난다


Windows Server 2008 에다 MVC 사이트를 만들었더니 오류가 난다.
워낙 오래전 OS 라 뭐... 당연한 일인가?

일단 .Net FrameWork 문제일수도 있으니, 프레임 워크를 다시 설치 해본다.


aspnet-regiis /i 혹은 aspnet-regiis /ir  

이렇게 프레임워크를 다시 설치를 해본다.
프레임워크 문제면 이렇게 하면 대부분 해결이 된다.
하지만, 이경우는 해결이 안돼었다.

403.14 - Forbidden 에러는 보통 기본문서가 등록되지 않았거나, 폴더 사용권한이 없을 경우 많이 발생하지만, 이경우는 MVC 니 그건 아닌것 같고, 좀더 근원적인 문제가 있는것 같다.

즉, MVC 자체를 인식못하는 경우.
"http://localhost/Home/Index" 같은 형태의 요청자체를 못받아 들이는 경우라고 할수 있다. 2008 Server 면 거의 10년전 OS 이니, 그럴수도 있지...

그러니, HotFix 를 설치해 준다.




특정 마침표로 끝나지 않은 Url 요청 처리기 : https://support.microsoft.com/ko-kr/help/980368/a-update-is-available-that-enables-certain-iis-7.0-or-iis-7.5-handlers-to-handle-requests-whose-urls-do-not-end-with-a-period

이 핫픽스를 설치해 주면 특정 파일이 지정되어 있지 않은 URL 도 인식한다.


이렇게 하면 오류가 바뀐다. (어쨌든 이전 오류는 해결 된셈)

ㅋㅋㅋ... 정말 못살겠구만...

이건...

Windows Server 2008 에서 MVC 사이트를 만들었더니 "-2146232576 오류 코드 때문에 컴파일러가 실패했습니다." 오류가 발생한다.

... 여기서 해결하면 된다.

2017년 5월 31일 수요일

IE : 개체가 'addEventListener' 속성이나 메서드를 지원하지 않습니다.

jQuery 를 테스트 해보다 보니, "개체가 'addEventListener' 속성이나 메서드를 지원하지 않습니다." ... 라는 오류가 발생한다. 문제는 크롬에선 정상적으로 로드 되는데, IE 에서만 오류가 발생한다는 것.


아무것도 안하고 jQuery 링크만 시켰을 뿐인데, 오류가 발생한다.
황당하지만, 구글신께 여쭤보니...

일반적으로 문서 시작에 "<!DOCTYPE html>" 같은 문서 타입을 기록해주지 않았을 경우이거나, "호환성 보기 설정" 이 되어 있을 경우 발생한다고 한다.

문서 타입은 그냥 그 파일을 열어서 기록되어 있나 확인해보면 되고...
호환성 보기는...


IE 에서 "도구 > 호환성 보기 설정" 으로 확인.


역시 호환성 보기가 설정 되어 있었군.
이거 제거를 해주면 정상적으로 페이지가 오류 없이 로드 된다.


2016년 12월 21일 수요일

Windows 10 : 탐색기에서 "확장하여 폴더 열기" 설정

언제 부터인가 윈도우 탐색기는 기본 값으로 파일 리스트에서 폴더를 열었을 경우 폴더 트리에 경로 변경사항을 반영하지 않고 있다.


그렇다고 경로 변경시 폴더 트리를 현재 선택되어 있는 위치로 변경되게 하는 기능이 없느냐 하면, 또 없는 것은 아닌지라 어째서 변경 사항이 반영 되지 않는 것을 기본값으로 해 놓은 것인지 이해가 되지 않는다. 설마 이게 더 편한 사람이 있는 것인가...

뭐... 그거야 그렇다고 치고... 그런데, 윈 7 에선 설정 첫화면의 눈에 잘띄는 곳에 설정 옵션을 넣어 놓더니만, 이번에 좀 알아 보기 힘들게 구석 자리에 설정 옵션을 갖다 놓아서 찾기 어렵게 만들어 놓았다.


일단 "파일 > 폴더 및 검색 옵션 변경" 메뉴로 이동하면, 옵션 설정 창이 나오는데...


거기서 "보기" 탭을 클릭하여 나타난 고급 설정에서 "탐색 창 > 확장하여 폴더 열기" 를 선택하면 파일 리스트 창에서 폴더를 선택하여 경로 변경이 일어날 경우 폴더 트리에서 현재 위치하고 있는 폴더가 선택된 상태로 나타난다.


이게 왜 기본 값이 아닌지 이해가 안되지만, 어쨌든 간단히 지정이 가능하긴 하다.


2016년 10월 13일 목요일

Windows10 : .Net Framework 3.5 설치

윈10을 설치하고 SQL Server 를 설치하려니...


 .Net Framework 3.5 가 없다고 설치가 안된다.
윈10은 기본적으로 3.5 와 4.0 이 설치 되어 있다고 하는데, 문제는 3.5 가 활성화가 안되어 있다. 그런 고로 사용하려면 사용 설정을 해 줘야 한다.


2016년 10월 12일 수요일

Windows10 : Windows 보안 센터 서비스가 꺼져 있습니다.

윈도우10을 설치했더니...


 "Windows 보안 센터 서비스가 꺼져 있습니다." 라는 메시지가 나온다.


2016년 10월 11일 화요일

플그램 : FTP 서버를 로컬 드라이브로 등록해서 사용하기.



FTP 서버를 로컬 디스크 처럼 등록해서 사용하는 법을 알아 보자.

윈도우 7 이상에선 기본적으로 FTP 를 네크워크 디스크로 등록이 가능하지만, 그 경우는 단지 네트워크를 등록한 것일뿐, 일반적인 로컬 디스크 처럼 사용되는게 아니라, 무조건 파일을 다운 받은 다음 사용하게 되므로, 굳이 다운 받을 필요 없는 동영상 파일 같은 것을 바로 열어서 볼경우에도 모든 파일을 로컬로 다운 받아 열게 된다.

그래서 완전히 로컬드라이브처럼 동작하기를 원할 경우는 별도의 프로그램을 설치하는 수 밖에 없다.

그렇게 완전히 로컬 드라이브처럼 동작하게 해주는 프로그램 중, 가장 흔한 것은 넷드라이브라는 유료 프로그램을 이용하는 것이지만, 무료로도 사용할 수 있는 프로그램이 있다.

바로 iptime 의 "ipDISK Drive" 라는 프로그램을 이용하면 된다.

2016년 1월 14일 목요일

Windows : 80 포트를 NT Kernal & System 가 점유하고 있을 때.

테스트를 위해 노트북에 APM 을 올릴려고 한다.
그런데... 설치를 시도하니...


이렇게 80 포트가 이미 사용 중이라고 나온다.
이건 뭐 어찌보면 당연한 일이니... 침착하고...


IIS 를 중지하고 다시 시도해본다.
근데... 어라? 그래도 안된다?

그러고 보니 IIS 에서도 80 포트를 쓰는 사이트는 없다. 근데 안된다.

일단 다시 침착...


80 포트를 사용중인 프로세스를 찾아 본다.
그런데...


으아...

이게 윈도우 커널이다.
저건 시스템 커널이라 못 죽인다. 중지도 안됨.

결국 시스템 어디선가 80 포트를 쓰는 프로그램이 있다는 얘기.
커널에서 쓰고 있으니, 아마 등록된 서비스 중 하나일꺼다.
결국 구글신에 의지하는 수 밖에 없다.

그 결과...



World Wide Web Publishing Service
SQL Server Integration Services 10.0
SQL Server Reporting Services(MSSQLSERVER) 

... 요 세개의 서비스를 종료 하면 된다고 한다.
물론 이건 사용자 컴퓨터 마다 설치된 프로그램이 다르기 때문에 반드시 그렇다고는 할 수 없다. 이걸로도 안된다면 결국 각자 알아서 찾는 수 밖에.


암튼 이러니 설치가 된다.