파크로그
article thumbnail

[ 본 내용은 Nomad-Coder Nico 의 무료 강의 '윈도우즈 셋업' 을 보고 정리한 글 입니다. 니코짱!]

https://nomadcoders.co/windows-setup-for-developers

 

개발자를 위한 윈도우 셋업 - 노마드 코더 Nomad Coders

WSL2, Windows Terminal, Ubuntu

nomadcoders.co

 

1. Windows 2004 업데이트 확인

 

2. Windows 환경에서 간편하게 다운로드 ( Chocolately )

 

chocolatey.org/

 

Chocolatey - The package manager for Windows

Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

chocolatey.org

에서, Install Now의 명령어를 PowerShell을 관리자권한으로 실행하여 명령어를 입력하면, Chocolately가 설치된다.

 

새로운 PowerShell을 열어 choco 명령어를 치면 잘 설치되었는지 확인할 수 있다.

 

choco 명령어

3. Python, Git 등을 choco 명령어를 통해 다운로드 받을 수 있다.

 

- choco install python, choco install git 등 chocolatey.org/packages 에서 확인.

 

잘 설치된 python

Chocolately를 사용하면 좋은 점은, 설치한 후 잘 작동하는 지를 콘솔창에서 바로 확인 해볼 수 있다는 것 이다.

 

4. Windows Terminal 설치

 

이제 여기서, Windows Terminal을 설치해주자. 

왜? PowerShell은 못생겼음 . . Terminal을 설치해 커스터마이징해 쓰자.

 

MSStore에서 설치할 수도 있고, Choco를 통해 설치할 수도 있다.

 

chocolatey.org/packages?q=terminal

 

Packages matching terminal

Chocolatey is software management automation for Windows that wraps installers, executables, zips, and scripts into compiled packages. Chocolatey integrates w/SCCM, Puppet, Chef, etc. Chocolatey is trusted by businesses to manage software deployments.

chocolatey.org

명령어 : choco install microsoft-windows-terminal

 

이제 PowerShell은 Bye bye.

 

5. WindowsTerminal 사용

 

VisualStudioCode를 명령어를 통해 실행할 수 있다. ( 대상 경로에 있는 파일 or 폴더 )

이럼 hello.js 가 열림

 

6. WSL 설정

 

이제 WSL를 다운받아 주자.

 

구글에 "enable wsl2"를 검색, docs.microsoft.com/en-us/windows/wsl/install-win10  

 

Install Windows Subsystem for Linux (WSL) on Windows 10

Learn how to install Linux distributions on your Windows 10 machine, with a Bash terminal, including Ubuntu, Debian, SUSE, Kali, Fedora, Pengwin, and Alpine.

docs.microsoft.com

명령어 복사 : 

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

 

Terminal을 관리자권한으로 실행하여 설치, 이후 Ubuntu 다운 (Microsoft Store에서 다운받거나, Choco 이용)

: choco install wsl-ubuntu-1804

 

> 나같은 경우는 choco로 다운시 오류가 나서 그냥 Microsoft Store에서 다운 후 재부팅했다..

 

재부팅 후 실행하고 name, password를 설정하면 WSL 설정 끝.

 

이제 WSL2로 업데이트.

 

이전에 enable wsl2 를 통해 들어간 사이트에서, step3으로 가서 명령으롤 복사한 후 ,

PowerShell을 관리자 권한으로 다시 틀어 명령어를 입력한다.

 

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

 

그리고 재부팅.

 

재부팅 후 wsl2를 기본 설정으로 설정한다.

 

wsl --set-default-version 2

 

여기서, WSL2 커널 업데이트가 필요하다고 뜰 수도있고, 아닐 수도 있는데. (현재는 뜬 상황)

뜬다면 위 링크(aka.ms/wsl2kernel)로 가면 된다.

 

aka.ms/wsl2kernel 에서 업데이트 패키지 다운

다시 실행해서 아래와 같은 화면이 나온다면, 윈도우 내의 리눅스 서브시스템(WSL2) 설정은 끝이다.

 

 

이제, WSL에다가 Ubuntu에 WSL2를 사용할 거라는 것을 알려줘야 한다.

Terminal을 Admin 권한으로 다시 실행하여, Ubuntu 버젼을 확인한 후, wsl 버전을 설정해주자.

 

이 과정에서, BIOS의 virtualization 설정 때문에 에러가 뜰수 있다.

각 메인보드의 BIOS 설정법을 구글링 해서 virtualization (가상화) 설정을 하자.

만약 가상화를 지원하지않는 메인보드라면 WSL2를 사용하지 못한다.

 

WSL과 WSL2의 차이점은 WSL2가 좀 더 빠르고, 기능이 많다는 것 이지만 크게 차이는 없다고 한다.

 

7. Terminal Customization

 

Windows Terminal을 실행하고, Ubuntu를 실행, 설정을 클릭하면 settings.json 파일 을 열 수 있다.

 

설정을 누르면 settings.json이 메모장으로 열리거나 VSC로 열릴텐데, 기존에 json 파일을 연결하는 프로그램이 어떤 것으로 설정되어 있는지에 따라 다르기 때문에 만약 vsc로 열고싶다면 json파일의 연결프로그램을 VSC로 설정하면 되고, 아니면 그냥 메모장에서 설정해도 된다.

"$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",

    // You can add more global application settings here.
    // To learn more about global settings, visit https://aka.ms/terminal-global-settings

    // If enabled, selections are automatically copied to your clipboard.
    "copyOnSelect": false,

    // If enabled, formatted data is also copied to your clipboard
    "copyFormatting": false,

    // A profile specifies a command to execute paired with information about how it should look and feel.
    // Each one of them will appear in the 'New Tab' dropdown,
    //   and can be invoked from the commandline with `wt.exe -p xxx`
    // To learn more about profiles, visit https://aka.ms/terminal-profile-settings
    "profiles":
    {
        "defaults":
        {
            // Put settings here that you want to apply to all profiles.
        },
        "list":
        [
            {
                // Make changes here to the powershell.exe profile.
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                // Make changes here to the cmd.exe profile.
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            },
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "source": "Windows.Terminal.Wsl"
            }
        ]
    },

json에서 여러가지 설정을 손볼 수 있는데, + 버튼을 눌렀을 시 default로 어떤 것을 열 지 guid를 통해 설정할 수 있고, 각 프로그램의 name을 원하는대로 커스텀할 수 있다. 

 

Ubuntu 의 name을 "name": "WSL2" 로 변경 하였다.

현재 터미널도 좋지만, 이 위에 사용할 새로운 걸 설치할 수도 있다. 

 

'oh-my-zsh' : github.com/ohmyzsh/ohmyzsh

 

ohmyzsh/ohmyzsh

🙃 A delightful community-driven (with 1700+ contributors) framework for managing your zsh configuration. Includes 200+ optional plugins (rails, git, OSX, hub, capistrano, brew, ant, php, python, et...

github.com

먼저 zsh를 설치해준다. 설치하려면 Ubuntu 콘솔에서 실행시켜야 한다. 

 

> Ubuntu 에서 명령어 apt install zsh

 

그럼 Permission denied로 뜨는데, 이는 사용자가 root가 아니어서 그렇다.

root로 사용하려면 sudo 명령어를 사용하면 된다. 

> sudo apt install zsh

 

Password는 WSL 유저 생성 시, 설정했던 비밀번호를 입력하면 된다.

 

설치가 다 됐다면, oh my zsh를 설치하자.

 

명령어 :

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

default shell을 zsh로 변경할 거냐 물어보는데 당연히 yes

이제 위와같은 Shell 을 얻게된다!

profile

파크로그

@파크park

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!