리눅스 재설치

정기적으로 발생합니다.

Page content

설치 후 표준 작업 순서를 참조로 사용하기 위해 여기에 기록합니다.

아주 빈 ubuntu 데스크탑

위치

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

방법

몇 가지 편리한 도구

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

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

# PDF 조작이 필요한 경우
sudo apt-get install poppler-utils

JSON 조작

예시는 여기에서 볼 수 있습니다: Bash Cheat Sheet

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

그 후

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](https://www.glukhov.org/ko/post/2022/flutter-dart-cheatsheet/ “Flutter (Dart) Cheatsheet with exampl etc

표준 VS Code에는 일부 텔레메트리가 포함되어 있으며, 설정: 사용자: 애플리케이션: 텔레메트리 => 끄는 것으로 부분적으로 제거할 수 있습니다 … 하지만 여전히 존재합니다.

VSCodium flatpack은 텔레메트리 없는 버전이며, 거의 뒤떨어지지 않습니다.

Python 및 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의 기본 환경이 시작 시 자동으로 활성화되지 않도록 하려면,
   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

kubectl

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

sudo apt-get update
# apt-transport-https는 가상 패키지일 수 있으므로, 그럴 경우 이 패키지 설치를 건너뛸 수 있습니다
sudo apt-get install -y apt-transport-https ca-certificates curl
# 폴더 `/etc/apt/keyrings`가 존재하지 않는 경우, curl 명령 실행 전에 생성해야 합니다, 아래 참고
# 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 # unprivileged APT 프로그램이 이 키링을 읽을 수 있도록 허용
# 이 명령은 /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   # command-not-found 같은 도구가 올바르게 작동하도록 도와줍니다
sudo apt-get update
sudo apt-get install -y kubectl

ssh 키

ssh 키를 ~/.ssh로 복사

그 후 모든 ipaddrs에 id를 복사

ssh-copy-id username@ipaddr

docker

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 저장소를 사용하여 설치

# Docker 공식 GPG 키 추가:
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

# Apt 소스에 저장소 추가:
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를 사용해야 합니다, 예:

# Docker 공식 GPG 키 추가:
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

# Apt 소스에 저장소 추가:
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는 9443 포트를 통해 UI를 노출하고 8000 포트를 통해 TCP 터널 서버를 노출합니다. 후자는 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 에이전트

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을 설치하거나, 자체 포함 앱을 출판하는 경우, 다음 라이브러리들이 설치되어 있어야 합니다:

  • 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

또는 아마존에서 최신 버전을 설치하려면 여기를 참조하세요 (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

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

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 

이제 소프트웨어 소스로 이동하고 Hashicorp에서 ‘virginia’를 ‘Jammy’로 교체하고 다시 실행하세요

sudo apt update && sudo apt install terraform

Terraform이 올바르게 설치되었는지 확인하려면

terraform version

Systemd 서비스 제어

다음 명령어를 사용할 수 있습니다

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

또는 chkservice를 사용할 수 있습니다

sudo apt-get install chkservice

sudo chkservice

유용한 링크