WSL+Ubuntu
회사 이직도 하고 집에 있는 장비도 다시 셋팅 하고 하려니 동일한 작업을 많이 하여 뭔가 한번에 작업이 이루어 질 수 있도록 문서화를 해야 겠다는 생각이 이제서야 든다. 마지막 장비는 문서화를 병행 하여 다음 장비에는 이 문서만 보고도 할 수 있도록 해봐야 겠다. 설치 요건은 아래와 같다.
Windows11
ubuntu
OS & WSL
wsl
mount 설정
/etc/wsl.conf 에 아래 입력
[automount]
enabled=true
root=/mnt
options=metadata,uid=1000,gid=1000,umask=022
mountFsTab=false
powershell 에서 wsl 재부팅
wsl --shutdown
wsl
Shell
IDE : cusor(or vscode)
cursor를 쓰는 이유는 gpt 연결성이 좋음
terminal font 설정
특히 이중에서 icon이 보이려면 symbols를 설치해야함
'Hack','Nerd','Nerd Font Mono',D2Coding Nerd Font,'Symbols Nerd Font','Hack Nerd Font',monospace
zsh
sudo apt -y install zsh
chsh -s $(which zsh)
oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
p10k theme
git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k
# Powerlevel10k 테마 설치
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# .zshrc 파일에서 테마 설정
sed -i 's/ZSH_THEME=".*"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# 설정 적용
source ~/.zshrc
# Powerlevel10k 설정 마법사 실행
p10k configure
=======
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
cd ~/.oh-my-zsh/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
#echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
# ~/.zshrc에 아래처럼 적어주면 됨
#plugins=(git kubectl kube-ps1 zsh-syntax-highlighting zsh-autosuggestions)
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
gh
type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
gh completion --shell zsh > $ZSH_CUSTOM/plugins/gh.zsh
command-not-found command-not-found는 터미널에서 명령어를 입력했을 때 해당 명령어를 찾을 수 없을 경우, 해당 명령어를 제공하는 패키지를 제안해주는 유틸리티입니다.
sudo apt install command-not-found
echo "source /etc/zsh_command_not_found" >> ~/.zshrc
exec zsh
VI
windows powershell alias 및 vi mode 사용
code $profile
set-alias code "C:\Users\kimut.KTH\AppData\Local\Programs\Microsoft VS Code\Code.exe" -Scope Global
set-alias cursor "C:\Users\kimut.KTH\AppData\Local\Programs\cursor\Cursor.exe" -Scope Global
set-alias grep "set-string" -Scope Global
Set-PSReadLineOption -EditMode vi
vi / nvim
lazyvim
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
저렇게 하고 바로 설치를 하면 오류가 날건데 아래 config를 추가 하여주자
vi ~/.config/lazygit/config.yml
gui:
showIcons: true
git:
paging:
useConfig: true
log:
showGraph: always
fzf
git clone --depth 1 <https://github.com/junegunn/fzf.git> ~/.fzf
~/.fzf/install
zip
sudo apt install zip unzip p7zip-full
net-tools ifconfig , netstat등 network 관련
sudo apt install net-tools telnet ncat
CLOUD & Docker & Kuberentes
docker
sudo apt install docker.io
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
sudo systemctl restart docker
kubectl
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL <https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key> | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] <https://pkgs.k8s.io/core:/stable:/v1.29/deb/> /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
terraform
curl -fsSL <https://apt.releases.hashicorp.com/gpg> | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] <https://apt.releases.hashicorp.com> $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install terraform
AWSCLI
curl "<https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip>" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
EKSCTL
curl --silent --location "<https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname> -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
k9s
K9S_VERSION=$(curl -s https://api.github.com/repos/derailed/k9s/releases/latest | jq -r '.tag_name')
curl -sL https://github.com/derailed/k9s/releases/download/${K9S_VERSION}/k9s_Linux_amd64.tar.gz | sudo tar xfz - -C /usr/local/bin k9s
helm
curl -fsSL -o get_helm.sh <https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3>
chmod 700 get_helm.sh
./get_helm.sh
argocdcli
curl -sSL -o argocd-linux-amd64 <https://github.com/argoproj/argo-cd/releases/latest/download/argocd-linux-amd64>
sudo install -m 555 argocd-linux-amd64 /usr/local/bin/argocd
rm argocd-linux-amd64
kubernetes krew
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "<https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz>" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
# PATH 환경 변수에 Krew 추가
echo 'export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
k8s neat
kubectl krew install neat
gcloud (GCP)
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates gnupg curl
curl <https://packages.cloud.google.com/apt/doc/apt-key.gpg> | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] <https://packages.cloud.google.com/apt> cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get update && sudo apt-get install google-cloud-cli
gcloud init
# sudo apt-get install google-cloud-cli-app-engine-java
# zsh
source <(gcloud completion zsh)
sudo apt-get --only-upgrade install google-cloud-cli-app-engine-grpc google-cloud-cli-app-engine-python-extras google-cloud-cli-nomos google-cloud-cli-package-go-module google-cloud-cli-datastore-emulator google-cloud-cli-spanner-emulator google-cloud-cli-cbt google-cloud-cli-enterprise-certificate-proxy google-cloud-cli-kpt google-cloud-cli-gke-gcloud-auth-plugin google-cloud-cli-log-streaming google-cloud-cli-skaffold google-cloud-cli-bigtable-emulator google-cloud-cli-anthoscli google-cloud-cli-minikube google-cloud-cli-istioctl google-cloud-cli-anthos-auth google-cloud-cli google-cloud-cli-spanner-migration-tool google-cloud-cli-local-extract google-cloud-cli-config-connector google-cloud-cli-harbourbridge google-cloud-cli-pubsub-emulator kubectl google-cloud-cli-cloud-build-local google-cloud-cli-app-engine-python google-cloud-cli-cloud-run-proxy google-cloud-cli-kubectl-oidc google-cloud-cli-app-engine-go google-cloud-cli-firestore-emulator google-cloud-cli-terraform-tools google-cloud-cli-app-engine-java google-cloud-cli-docker-credential-gcr
ogle-cloud-cli-app-engine-go google-cloud-cli-package-go-module google-cloud-cli-skaffold google-cloud-cli-docker-credential-gcr \
S/W
Linux용 Google Chrome
cd /tmp
wget <https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb>
sudo apt install --fix-missing ./google-chrome-stable_current_amd64.deb
시작하려면 google-chrome을(를) 입력합니다.
mysql
sudo apt install mysql-client
gui 용 component
fix-missing 옵션은 설치 프로세스 중에 발생할 수 있는 누락된 종속성을 해결하는 데 사용됩니다.
sudo apt install gnome-text-editor -y
sudo apt install gimp -y
sudo apt install nautilus -y
sudo apt install vlc -y
sudo apt install x11-apps -y
node
curl -fsSL <https://deb.nodesource.com/setup_21.x> | sudo -E bash -
sudo apt-get install -y nodejs
nvm
curl -o- <https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh> | bash
nvm install 16
nvm use 16
nvm install latest
nvm use latest
jupyter notebook
# jupyter-console is optional and used for `:JupyniumKernelOpenInTerminal`
pip install notebook nbclassic jupyter-console
conda 설치
#https://www.anaconda.com/download#download-section
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
bash Anaconda3-2023.07-Linux-x86_64.sh
eval "$(/home/kth/anaconda3/bin/conda shell.YOUR_SHELL_NAME hook)"
conda init
jupynium
conda create -n jupynium python=3
conda activate jupynium
cargo
curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env
#확인
rustc --version
cargo --version
git-graph
wget https://github.com/mlange-42/git-graph/releases/download/0.6.0/git-graph-0.6.0-linux-amd64.tar.gz
#압축 풀고
cargo install git-graph
Last updated