Ubuntu Server 을 처음 설치하고 세팅하는 것들

loopy·2023년 4월 26일
0
post-thumbnail

최근 서버가 죽었어요...

최근에 proxmox ve를 돌리는데 알 수 없는 이유(아마 gpu일 가능성이...)로 인해서 컴이 죽었다. 어떻게든 살리고 싶었는데 잘 되지 않아서 결국 자주 쓰고 있던 Ubuntu Server로 다시 넘어가게 되었다.

매번 새로운 Ubuntu를 갈때마다 세팅하는 것이 매우 귀찮아져서 한번 정리해보기로 하였다.

설치 할 것들

일단 본인은 먼저 사용하는 기술 스택으로서 python, nodejs, rust를 사용한다. python은 설치 되어 있으므로 넘긴다.

zsh

bash도 있지만 맥북을 사용하는 입장으로서 zsh가 손에 너무 잘 익혀 버렸다. 그리고 oh-my-zsh의 강력한 커스터마이징을 사용할 수 있기 때문에 먼저 shell을 변경하기로 한다.

zs-shell 설치하기

$ sudo apt install zsh -y

oh-my-zsh 설치하기

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

여기서 zsh를 기본 sh로 바꾼다. 만약 못했다면 chsh를 이용하여 변경한다.

powerlevel10k 설치하기

$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

폰트를 써야하는데 여기서는 MesloLGS NF 폰트를 추천한다. 하지만 우리는 추후 neovim의 astrovim을 설치할 것이므로 더 많은 아이콘이 지원되는nerd font를 설치하는 것을 추천한다.

neovim

가끔 vim을 사용할 때가 있다. git을 써야할때라던지... 아이패드로 개발을 할때라던지... 가끔 멋있어 보이고 싶을때라던지...

neovim

기본적으로 neovim을 지원 안하므로 snap을 통하여 설치해보도록 한다.

$ sudo snap install nvim --classic

astrovim

vim은 불편하므로 대부분의 세팅이 되어 있는 astrovim을 설치한다.
최근에 추천 받았는데 정말 편하고 keybinding도 정말 잘 되어 있다. vscode에서 넘어갈 고민을 가끔 해보고 있다.

$ git clone --depth 1 https://github.com/AstroNvim/AstroNvim ~/.config/nvim
nvim

nodejs

node의 버전을 관리하는 것은 가끔 힘든 일이다. 그리고 node를 설치하는 것도 마찬가지이다. 이를 쉽게 하기 위해서 nvm을 이용한다.

nvm

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

node

이후 node를 설치하고 싶다면 nvm을 통해서 최신의 node를 설치할 수 있다.

$ nvm install node

pnpm

npm의 시대는 넘어갔다!! 이제는 pnpm의 시대이다!!
npm의 느리고 비효율적인 디스크 사용은 이제 버리자. pnpm의 효과적인 디스크 사용을 봐보자.(정말 빠르고 편리하다)

$ curl -fsSL https://get.pnpm.io/install.sh | sh -

rust

가끔 정말 가끔 한번씩 돌려보고 싶을때 한다.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

ETC

netstat

$ sudo apt install net-tools

zshrc

if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
  source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
plugins=(git)
source $ZSH/oh-my-zsh.sh

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

export PNPM_HOME="/home/loopy/.local/share/pnpm"
case ":$PATH:" in
  *":$PNPM_HOME:"*) ;;
  *) export PATH="$PNPM_HOME:$PATH" ;;
esac

alias vi=nvim
alias vim=nvim

[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
profile
User First 개발자 임채승입니다.

0개의 댓글