리눅스 재설치

정기적으로 발생

Page content

참조를 위한 표준 설치 후 작업 순서가 필요하여, 여기 기록해 둔다.

이 가이드는 개발자 도구: 현대적 개발 워크플로우 완전 가이드의 일부입니다.

매우 비어있는 ubuntu 데스크톱

설치 위치 및 기반

보통 저는 ubuntu 기반 배포판을 사용합니다. 가장 최근 설치한 것은 Mint 21.3 (ubuntu 22.04 기반)입니다.

Ubuntu 버전 확인 방법은 Linux Ubuntu 버전 확인을 참고하세요.

터미널 에뮬레이터 옵션에 대해서는 최고의 Linux 터미널 에뮬레이터: 2026 비교를 참고하세요.

방법

유용한 도구들

bash 명령어 참고자료는 Linux Bash 치트시트를 참고하세요.

sudo apt-get install git git-lfs gimp mc flameshot htop nvtop chkservice nvitop

# 그래픽 작업이 예상된다면
sudo apt-get install imagemagick
git lfs install

# PDF 조작이 필요하다면
sudo apt-get install poppler-utils

JSON 조작

예시는 Bash 치트시트에서 확인하세요.

sudo apt-get install jq jo

NVidia 드라이버 설치

방법 1

로컬 NVidia 드라이버 제거

sudo apt-get purge 'nvidia*'
sudo apt-get autoremove
sudo apt-get autoclean

PPA 추가 및 로컬 패키지 참조 업데이트

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

NVidia가 내장 장치에 대해 권장하는 드라이버 버전을 확인

ubuntu-drivers devices

설치

sudo apt-get install nvidia-driver-535
sudo reboot

GPU가 확인되는지, 어떤 버전이 설치되어 있는지 확인

nvidia-smi

방법 2

OS 버전에 따른 정보는 여기를 참고하세요: https://developer.nvidia.com/cuda-downloads

오픈 커널 모듈 버전 설치:

sudo apt-get install -y nvidia-driver-555-open
sudo apt-get install -y cuda-drivers-555

CUDA 설치

NVidia 공식 사이트: https://developer.nvidia.com/cuda-downloads

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

flatpacks

vlc, obsidian, nextcloud desktop, foliate, dbeaver

ungoogled-chromium

https://github.com/ungoogled-software/ungoogled-chromium

echo 'deb http://download.opensuse.org/repositories/home:/ungoogled_chromium/Ubuntu_Jammy/ /' | sudo tee /etc/apt/sources.list.d/home:ungoogled_chromium.list
curl -fsSL https://download.opensuse.org/repositories/home:ungoogled_chromium/Ubuntu_Jammy/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_ungoogled_chromium.gpg > /dev/null
sudo apt update
sudo apt install ungoogled-chromium

golang

이 방법으로는 다소 오래된 버전(현재 1.18)이 설치됩니다.

sudo apt-get install golang-go

따라서 https://go.dev/dl/ 에 가서 최신 버전을 선택한 후,

sudo bash

다음과 같이 진행합니다.

wget https://go.dev/dl/go1.24.3.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.3.linux-amd64.tar.gz

그 후 $HOME/.profile 에 추가합니다.

export PATH=$PATH:/usr/local/go/bin

git 브랜치 표시를 포함한 bash 프롬프트 사용자 지정 방법은 bash 프롬프트에 Git 브랜치 및 상태 표시하기를 참고하세요.

그 후

source $HOME/.profile
go version

vs code

https://code.visualstudio.com/docs/setup/linux

deb 패키지 설치 (먼저 다운로드해야 합니다). .deb 패키지 설치 시 시스템 패키지 매니저를 이용한 자동 업데이트를 가능하도록 apt 저장소와 서명 키가 자동으로 설치됩니다.

아래와 같은 수동 방법으로 진행할 수도 있습니다:

sudo apt-get install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg

그 후 패키지 캐시를 업데이트하고 다음으로 패키지를 설치합니다:

sudo apt install apt-transport-https
sudo apt update
sudo apt install code # or code-insiders

vs code 확장 기능 설치:

Python, C#, Go, Hugohelper, Front Matter CMS, React*, Flutter

표준 vscode에는 일부 텔레메트리 기능이 있으며 설정:application:telemetry=>off 에서 일부만 제거되어 있습니다… 하지만 여전히…

VSCodium flatpack은 텔레메تری가 없는 버전으로, 표준 버전과 큰 차이가 없습니다.

Python and Anaconda

pip 설치

sudo apt install python3-pip

https://www.anaconda.com/download/success

Linux 버전 다운로드 (예:

wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh

그리고 실행

bash Anaconda3-2024.06-1-Linux-x86_64.sh

마지막 부분 주의:

conda의 base 환경이 시작 시 활성화되는 것을 원치 않는다면,
   conda가 활성화된 상태에서 다음 명령어를 실행하세요:

conda config --set auto_activate_base false

`conda init --reverse $SHELL`을 실행하여 되돌릴 수 있습니다? [yes|no]

hugo

https://gohugo.io/installation/linux/

예를 들어 이 버전: https://github.com/gohugoio/hugo/releases/tag/v0.124.1

다운로드 및 설치 hugo_extended_0.124.1_linux-amd64.deb

snap 설치

Hugo snap 설치에서는 withdeploy 버전이 설치되지 않습니다.

표준 버전 또는 확장 버전만 가능

sudo snap install hugo
sudo snap install hugo --channel=extended
hugo version
sudo snap remove hugo

대안 - hugo 직접 컴파일

withdeploy 기능이 포함된 최신 hugo 버전을 사용하려면 직접 컴파일하는 것이 더 쉽습니다.

git clone https://github.com/gohugoio/hugo.git
cd hugo
go install -tags withdeploy

네, /go/bin 을 path에 추가하세요.

kubectl

https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#install-using-native-package-management

sudo apt-get update
# apt-transport-https may be a dummy package; if so, you can skip that package
sudo apt-get install -y apt-transport-https ca-certificates curl
# If the folder `/etc/apt/keyrings` does not exist, it should be created before the curl command, read the note below.
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
sudo chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg # allow unprivileged APT programs to read this keyring
# This overwrites any existing configuration in /etc/apt/sources.list.d/kubernetes.list
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 chmod 644 /etc/apt/sources.list.d/kubernetes.list   # helps tools such as command-not-found to work correctly
sudo apt-get update
sudo apt-get install -y kubectl

ssh keys

ssh 키를 ~/.ssh로 복사

그 후 id를 lab의 모든 ip주소로 복사

ssh-copy-id username@ipaddr

docker

설치 방법 비교, 보안 노트, 마이그레이션 경로에 대해서는 Ubuntu에 Docker 설치를 참고하세요. 아래 명령어는 새 Linux 설치 후 제가 사용하는 빠른 APT-리포지토리 경로입니다.

sudo docker images

기존 설치 제거

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

apt 저장소를 사용하여 설치

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

ubuntu 파생 버전을 사용하는 경우 VERSION_CODENAME 대신 UBUNTU_CODENAME을 사용해야 합니다.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$UBUNTU_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

최신 버전 설치:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

확인

sudo docker run hello-world

선택적으로 현재 사용자를 docker 그룹에 추가

usermod -aG docker $USER

portainer

시작하려면 다음이 필요합니다:

  • 설치 및 작동 중인 최신 버전의 Docker
  • Portainer Server 인스턴스를 호스팅할 머신에 대한 sudo 접근 권한
  • 기본적으로 Portainer Server는 UI를 포트 9443를 통해 노출하고, TCP 터널 서버를 포트 8000를 통해 노출합니다. 后者는 선택 사항이며, Edge 에이전트와 함께 Edge 컴퓨트 기능을 사용할 계획이 있을 때만 필요합니다.

요구사항:

  • Docker를 실행하는 머신에서 SELinux가 비활성화되어 있어야 합니다. SELinux가 필요한 경우 Portainer를 배포할 때 Docker에 –privileged 플래그를 전달해야 합니다.

먼저 Portainer Server가 데이터를 저장하는 데 사용할 볼륨을 생성합니다:

sudo docker volume create portainer_data

그 다음 Portainer Server 컨테이너를 다운로드하고 설치합니다:

sudo docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

확인

sudo docker ps

다음으로 이동: https://localhost:9443

사용자 이름은 admin이며, UI에서 비밀번호를 설정합니다.

Kubernetes portainer agent

k8s 환경, 에이전트 생성

kubectl apply -f https://downloads.portainer.io/ce2-19/portainer-agent-k8s-lb.yaml
kubectl get services --all-namespaces

그 후 portainer 서비스의 외부 IP 주소를 UI에 복사/붙여넣기 하세요. 포트 9001을 잊지 마세요.

.netcore sdk

https://learn.microsoft.com/en-gb/dotnet/core/install/linux-ubuntu-install?tabs=dotnet8&pivots=os-linux-ubuntu-2204

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 aspnetcore-runtime-8.0

또는 aspnet이 예상되지 않는 경우

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-8.0 dotnet-runtime-8.0

의존성

패키지 매니저로 설치할 경우, 이 라이브러리가 대신 설치됩니다. 하지만 .NET을 수동으로 설치하거나 자체 포함(self-contained) 앱을 게시하는 경우, 이 라이브러리가 설치되어 있는지 확인해야 합니다:

  • libc6
  • libgcc-s1
  • libgssapi-krb5-2
  • libicu70
  • liblttng-ust1
  • libssl3
  • libstdc++6
  • libunwind8
  • zlib1g

의존성은 apt install 명령어로 설치할 수 있습니다. 다음 스니펫은 zlib1g 라이브러리 설치 방법을 보여줍니다:

sudo apt install zlib1g

awscli

ubuntu 저장소에서 awscli를 설치하려면 (2024년 7월 기준 v1.22.34-1 버전 제공):

sudo apt install awscli

PC에 설치된 awscli 버전을 확인하려면:

aws --version

또는 Amazon에서 새로 만든 가장 최신 버전(2.0)을 받으려면: https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

현재:

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

Terraform

Terraform은 여러 방법으로 설치할 수 있으며, 여기를 참고하세요: https://developer.hashicorp.com/terraform/install

저는 ubuntu용 hashicorp 저장소에서 설치합니다.

wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

그리고 linux mint에서는 주의하세요, terraform 설치자가 올바르게 작동하지 않을 수 있습니다. 이 두 명령어의 출력을 확인하세요.

lsb_release -cs

cat /etc/upstream-release/lsb-release 

이제 소프트웨어 소스(Software Sources)로 가셔서 Hashicorp의 ‘virginia’를 ‘Jammy’로 대체하고 다시 실행하세요.

sudo apt update && sudo apt install terraform

terraform이 올바르게 설치되었는지 확인하려면 다음을 실행하세요.

terraform version

Systemd 서비스 제어

실행 파일을 서비스로 실행하는 방법에 대해서는 Linux에서任意 실행 파일을 서비스로 실행하기를 참고하세요.

사용 가능한 방법:

systemctl status
systemctl stop some-service
systemctl disable some-service 

또는 chkservice 사용

sudo apt-get install chkservice

sudo chkservice

유용한 링크

구독하기

시스템, 인프라, AI 엔지니어링에 관한 새 글을 받아보세요.