DevOps
  • Introduction
  • Setting
    • Terminal
      • Tmux
    • WSL+Ubuntu
    • [NeoVIM]
      • install & 활용방법
      • error 처리
      • LazyVIM
        • install & 활용방법
    • ssh
    • mysql
    • package관리
  • Fundamental(basic)
    • Network
      • https
  • [GitOps]
    • [SCM]
      • [Github]
        • center-managed
      • bitbucket
      • AWS-codeCommit
  • roadmap
    • devops
    • kubernetes
    • AWS
    • MLOPS
  • Cloud
    • [AWS]
      • aws sso script
      • tagging 자동화
      • 동일cidr에서 VPC 연결
      • 무중단서비스를 위한 고려사항
    • [GCP]
      • [GCP] GCP의 VPC
      • [GCP] GCP의 ALB
      • [GCP] OIDC와 OAUTH를 활용한 github action
      • [GCP] Composer 설명
      • [GCP] gmail-api
      • [GCP] DataLake
      • [GCP] Cloud 관리형 계정&role
      • [[GCP] private환경
        • DNS 설정으로 google api 및 colab-notebook 사용 하기
        • intelligence 설정으로 google api 및 colab-notebook 사용 하기
  • [kubernetes]
    • [cloud 기반]
      • csr
  • InfraAsCode
    • terraform
  • 코드로 그리는 다이어그램
    • CodeAsDiagram
      • example
    • Mermaid
    • PDFtoImage
  • AutoMation
  • [ETC]
    • Magic_Trackpad Window설치
Powered by GitBook
On this page
  • OS & WSL
  • Shell
  • VI
  • CLOUD & Docker & Kuberentes
  • S/W
  • nvm
  1. Setting

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)

    • vscode font 설치: https://www.nerdfonts.com/font-downloads

    • 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

  • AstroNvim 참고 : https://github.com/kimutae1/neovim

  • 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
PreviousTmuxNext[NeoVIM]

Last updated 5 months ago