Ubuntu를 깔고 먼저 해야 할 일들

computer-tool
pc-install
os
우분투 설치 후 이것부터!
Author

JS HUHH

Published

November 3, 2023

TL; DR

우분투 설치하고 먼저 해야 할 일들을 정리해보자.

넋두리

WSL이 생기면서 윈도에서도 리눅스를 제대로 쓸 수 있게 되었다. 리눅스(아마도 우분투)를 쓸 일이 많아진 만큼, 우분투 설치하고 (내 기준에서) 해야 할 일을 정리해보려 한다. 물론 이 포스트 멀지 않은 미래에 모든 걸 까먹을 나 놈을 위한 것이다.

Meta

딱히 Ubuntu에 해당하는 내용은 아니지만 WSL에서 Ubuntu 설치하는 방법은 간단하게 다루고 넘어가겠다. 윈도 파워셸이나 명령 프롬프트에서 실행 가능하다.

> wsl -l # 설치된 WSL 목록 확인
> wsl -l -o # 설치할 수 있는 배포판 확인 

# 아래에서 "UBUNTU"는 특정 배포판(distro)의 이름을 의미한다. 
# 예를 들어, "Ubuntu-20.04" 등이 될 수 있다.

> wsl --install -d UBUNTU # Ubuntu 설치
> wsl --shutdown UBUNTU # Ubuntu 종료
> wsl --unregister UBUNTU # Ubuntu 삭제

터미널

보통 우분투를 설치하고 그 기기에 키보드와 마우스를 연결해서 쓰는 일은 드물지 않을까 싶다.

WSL을 예로 들어 보자. 윈도와 나란히 설치되어 독립적으로 운용되는, 즉 윈도 내부에 있지만 사실상 독립된 형태로 돌아가는 리눅스 서버가 WSL이다. 윈도에서 WSL을 쓴다면 해당 서버에 접속해 활용하게 된다. 이렇게 다른 OS(Windows, Macos)에서 우분투 서버에 접속해서 쓸 때는 관문 역할을 하는 터미널 앱이 중요하다. 윈도에서는 윈도 터미널이 Macos에서는 iTerm2이 좋다.

접속하는 OS에 취향껏 터미널에서 쓸 폰트를 설치하면 된다.

  • HACK Nerd 폰트 좋다. 폼나틑 폰트다.
  • 가볍게 쓰고 싶다면, 아범의 ligalex mono 폰트를 쓰자. IBM의 모노 플렉스 폰트에 리거쳐 문자를 더한 폰트다.

요즘은 여러가지 이모지가 많이 활용되는데, 이를 제대로 쓰려면 Nerd 계열의 폰트를 설치하자. Hack Nerd 폰트는 여기서 다운로드하자.

리포지토리 주소 변경

우분투 업데이트에 필요한 리포지토리 주소를 바꾸도록 하자. 만일 WSL을 통해 설치했다면 우분투 메인 리포(http://archive.ubuntu.com/ubuntu)로 설정되어 있을 것이고, iso 이미지로 설치했다면, archive 앞에 kr.이 앞에 붙어 있을 것이다. apt 패키지 업데이트를 위한 주소는

  • 22.04 LTS까지 /etc/apt/sources.list
  • 24.04 LTS부터 /etc/apt/sources.list.d/ubuntu.sources

파일을 직접 편집하면 된다. 편집용 에디터는 취향껏 쓰면 된다. 편리한 nano로 예를 들자.

> sudo nano /etc/apt/sources.list # or
> sudo nano /etc/apt/sources.list.d/ubuntu.sources

기본 저장소보다는 카카오의 미러 저장소가 국내에서 빠르다. 해당 파일을 적당한 편집기로 열어 기본 패키지 저장소가 어떻게 되어 있는지 살펴보자. 파일 내의 모든 저장소 URL을 찾아 http://archive.ubuntu.com/ubuntu 또는 http://kr.archive.ubuntu.com/ubuntu 등의 주소를 http://mirror.kakao.com/ubuntu로 변경하면 된다. 둘 중 뭘로 되어 있는지 모르니 확인 후 작업하는 것을 권한다. nano 앱에서 crtl-w > crtl-r로 해당 부분을 찾아서 바꾸자.

zsh 관련 설치

아래 터미널 명령어로 zsh를 설치하자.

> sudo apt update # 이미 실행했다면 건너 뛰자 
> sudo apt install zsh # zsh 설치
> chsh -s $(which zsh) # zsh을 기본 셸로 설정

# 로그아웃 후에 다시 로그인하면 zsh이 기본셸로 설정된다. 
> sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # oh my zsh을 설치하자. 

powerlevel10k(p10k) 깔기

셸 꾸미기로 고민 말고 파워레벨10k를 쓰자. 제일 쓸 만 하다.

> git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k # p10k 끌어오기 
> nano ~/.zshrc # zsh 설정 열기 
# ZSH_THEME="robbyrussell" -> ZSH_THEME="powerlevel10k/powerlevel10k" # 테마를 p10k로 바꾸자 

변경 후 셸을 다시 시작하면 p10k 설정화면이 뜬다. 취향대로 설정하도록 하자. 설정을 바꾸고 싶다면, p10k configure를 실행하거나 ~/.p10k.zsh를 직접 수정해도 좋다.

brew 설치

우분투에서 필요한 앱을 까는 방법은 apt, snap 그리고 brew가 있다. OS 단위의 업데이트 혹은 OS와 프로세스과 깊게 연관된 앱들은 apt를 통해서 깔자. snap도 나쁘지는 않지만 번거로운 면이 있다. user 레벨에서 필요한 앱들을 깔고 관리하기에는 brew가 좋다. 어차피 GUI를 쓰지 않는다면 리눅스에서의 활용이 MacOS에서와 크게 다를 것이 없다.

https://brew.sh/

웹 페이지의 소개된 방식대로 설치하자. 설치 후에는 화면에 뜬 메시지대로 셸의 종류에 따른 사후 작업이 필요하다. .zshrc에 여러가지 경로를 넣어 주는 작업이다. 그래야 brew 명령어를 제대로 실행할 수 있다. 현재 버전대로 메시지를 그대로 옮겨두면 다음과 같다.

> Next steps:
- Run these two commands in your terminal to add Homebrew to your PATH:
    (echo; echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"') >> /home/anari/.zshrc
    eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
- Install Homebrew's dependencies if you have sudo access:
    sudo apt-get install build-essential
  For more information, see:
    https://docs.brew.sh/Homebrew-on-Linux
- We recommend that you install GCC:
    brew install gcc
- Run brew help to get started
- Further documentation:
    https://docs.brew.sh

gh, pixi with brew

이제 brew를 통해서 필요한 앱들을 깔겠다. 필요한 앱을 알아서 깔면 된다. brew를 통해서 설치할 수 있는지 여부는 brew 홈페이지에서 검색으로 확인할 수 있다. 나는 깃헙을 활용하기 위한 gh와 파이썬 의존성 관리도구인 pixi를 가장 먼저 설치했다.

> brew install gh pixi 

gh를 설치한 후 gh auth login을 통해 깃헙 계정에 로그인을 해두자. 필요한 리포가 있을 경우 gh repo clone {리포-주소}를 통해 편하게 당겨올 수 있다.

Non-brew

brew로 다 설치가 되면 좋겠지만 그렇지 않은 앱들도 있다. 아래 앱들은 직접 설치해야 한다.

Miniforge

Miniforge는 패키지 관리 도구이자 독립적인 가상 환경을 제공하는 miniconda의 오픈소스 버전이다. Macos에서는 brew를 통해 설치되지만 아쉽게도 리눅스에서는 별도로 설치해야 한다. pixi를 쓴다면 다른 가상 환경은 필요하지 않다. 다만 다른 프로그램이 conda에 의존할 경우 필요할 수 있다.

> curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
> bash Miniforge3-$(uname)-$(uname -m).sh

콘다도 설치 후 초기화 작업이 필요하다. 이 역시 메시지에 뜬다.

eval "$(/home/anari/miniforge3/bin/conda shell.YOUR_SHELL_NAME hook)"

To install conda's shell functions for easier access, first activate, then:

conda init

설명이 약간 혼란스러운데, zsh을 사용한다고 가정하면 다음과 같이 하면 된다.

> eval "$(/home/anari/miniforge3/bin/conda shell.zsh hook)"
> conda init zsh 

삭제를 비롯한 보다 자세한 사항은 아래 링크를 참고하자.

🔗 miniforge

Quarto

문서 작성에 필수 도구인 Quarto의 경우 우분투에서는 brew를 통해 설치할 수 없다.

🔗 Linux에 Quarto 설치하기

.deb 확장자 파일을 다운받아서 gdebi 앱을 통해서 설치하는 방식이다.

> sudo curl -LO https://quarto.org/download/latest/quarto-linux-amd64.deb #deb 다운로드 
> sudo apt-get install gdebi-core
> sudo gdebi quarto-linux-amd64.deb

Mojo

Ubuntu 22.04 LTS와 VS Code + Mojo Extension을 활용한다고 가정하자.

> curl https://get.modular.com | sh - && \
  modular auth mut_c4e7186420c84b86b1f7b5219b4028d9
> modular install mojo
> code .

🔗 mojo 설치 및 파이썬 환경 운용

활용

  1. 윈도 터미널에서 WSL에 접근한 뒤 작업 폴더로 가자.
  2. code .을 실행하자. 이 명령어를 실행하면 해당 폴더 아래에서 윈도의 VS Code가 실행된다.
  3. VS Code는 윈도 앱이다. UI등 윈도의 모든 편리함을 그대로 누리면 된다.