Ponowne zainstalowanie systemu Linux

Zdarza się regularnie

Page content

Muszę mieć pewien standardowy sekwencję zadań po instalacji do odniesienia, więc zapisuję ją tutaj.

Bardzo pusty ubuntu desktop

Gdzie

Zwykle korzystam z dystrybucji opartych na ubuntu. Najnowsza instalacja to Mint 21.3 (oparta na ubuntu 22.04).

Jak

Niektóre przydatne narzędzia

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

# jeśli planujesz pracę graficzną
sudo apt-get install imagemagick
git lfs install

# jeśli wymagana jest manipulacja plikami PDF
sudo apt-get install poppler-utils

Manipulacja JSON

Przykłady można znaleźć w Bash Cheat Sheet

sudo apt-get install jq jo

Instalacja sterowników NVidia

Metoda 1

Usuń lokalne sterowniki NVidia

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

Dodaj PPA i zaktualizuj lokalne referencje do pakietów

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

Sprawdź, jaką wersję sterownika NVidia zaleca dla Twojego urządzenia

ubuntu-drivers devices

Zainstaluj ją

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

Sprawdź, czy możesz zobaczyć swoją kartę graficzną oraz jaką wersję zainstalowano

nvidia-smi

Metoda 2

Zobacz tutaj dla swojej wersji systemu: https://developer.nvidia.com/cuda-downloads

Aby zainstalować wersję modułu jądra open source:

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

Instalacja CUDA

To samo od 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

Flatpaki

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

Ta wersja instaluje dość starszą wersję, obecnie 1.18

sudo apt-get install golang-go

więc przejdź do https://go.dev/dl/ i wybierz najnowszą wersję, a następnie,

sudo bash

i

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

następnie dodaj do $HOME/.profile

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

potem

source $HOME/.profile
go version

VS Code

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

Zainstaluj pakiet deb (najpierw musisz go pobrać). Instalacja pakietu .deb automatycznie zainstaluje repozytorium apt i klucz podpisowy, aby umożliwić aktualizację automatyczną za pomocą menedżera pakietów systemu.

Lub zrób to ręcznie poniżej:

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

Następnie zaktualizuj kache pakietów i zainstaluj pakiet poleceniem:

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

Zainstaluj rozszerzenia VS Code:

Python, C#, Go, Hugohelper, Front Matter CMS, React*, [Flutter](https://www.glukhov.org/pl/post/2022/flutter-dart-cheatsheet/ “Flutter (Dart) Cheatsheet with exampl etc

Standardowe VS Code ma pewne telemetryczne funkcje - częściowo wyłączane w ustawieniach:user:application:telemetry=>off … ale nadal …

Wersja VS Code w formacie flatpak nie ma telemetrycznych funkcji, nie jest zbyt za bardzo w tyle.

Python i Anaconda

Zainstaluj pip

sudo apt install python3-pip

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

pobierz wersję linux, np.

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

i uruchom ją

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

zwróć uwagę na koniec:

Jeśli wolisz, aby środowisko bazowe conda nie było aktywowane przy starcie,
   uruchom poniższe polecenie, gdy conda jest aktywne:

conda config --set auto_activate_base false

Możesz to cofnąć, uruchamiając `conda init --reverse $SHELL`? [tak|nie]

Hugo

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

np. tą: https://github.com/gohugoio/hugo/releases/tag/v0.124.1

pobierz i zainstaluj 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 może być pustym pakietem; jeśli tak, możesz go pominąć
sudo apt-get install -y apt-transport-https ca-certificates curl
# Jeśli folder `/etc/apt/keyrings` nie istnieje, należy go utworzyć przed wykonaniem polecenia curl, zobacz uwaga poniżej.
# 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 # umożliwia nieuprawnionym programom APT odczyt tego klucza
# To nadpisuje dowolne istniejące konfiguracje w /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   # pomaga narzędziami takim jak command-not-found działać poprawnie
sudo apt-get update
sudo apt-get install -y kubectl

klucze SSH

skopiuj klucze SSH do ~/.ssh

następnie skopiuj je do wszystkich adresów IP w Twoim laboratorium

ssh-copy-id username@ipaddr

Docker

sudo docker images

usun istniejące

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

Zainstaluj za pomocą repozytorium apt

# Dodaj oficjalny klucz GPG Dockera:
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

# Dodaj repozytorium do źródeł 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

jeśli korzystasz z pochodnych ubuntu, musisz użyć UBUNTU_CODENAME zamiast VERSION_CODENAME, np.

# Dodaj oficjalny klucz GPG Dockera:
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

# Dodaj repozytorium do źródeł 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

Zainstaluj najnowszą wersję:

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

Sprawdź

sudo docker run hello-world

Opcjonalnie, dodaj aktualnego użytkownika do grupy docker

usermod -aG docker $USER

Portainer

Aby rozpocząć, potrzebujesz:

  • Najnowszej wersji Docker zainstalowanej i działającej
  • Dostępu sudo na maszynie, która będzie hostować instancję serwera Portainer
  • Domyślnie, Portainer Server będzie eksponował interfejs użytkownika przez port 9443 i serwer tunelowego połączenia TCP przez port 8000. Ostatni jest opcjonalny i wymagany jest tylko wtedy, gdy planujesz korzystać z funkcji Edge compute z agentami Edge.

Wymagania:

  • SELinux jest wyłączony na maszynie z Docker. Jeśli wymagany jest SELinux, musisz przekazać flagę –privileged do Docker podczas wdrażania Portainer.

Najpierw utwórz wolumen, który Portainer Server będzie używał do przechowywania swojej bazy danych:

sudo docker volume create portainer_data

Następnie pobierz i zainstaluj kontener 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

Sprawdź

sudo docker ps

Przejdź do: https://localhost:9443

Nazwa użytkownika to admin, ustaw hasło w interfejsie

Agent Portainer w Kubernetes

Utwórz środowisko k8s, agenta

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

następnie skopiuj i wklej zewnętrzny adres IP usługi portainer do interfejsu, nie zapomnij o porcie 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

lub jeśli nie oczekiwany aspnet

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

Zależności

Gdy instalujesz za pomocą menedżera pakietów, te biblioteki są instalowane dla Ciebie. Jednak jeśli ręcznie instalujesz .NET lub publikujesz aplikację samodzielnie, musisz upewnić się, że te biblioteki są zainstalowane:

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

Zależności można zainstalować za pomocą polecenia apt install. Poniższy fragment demonstruje instalację biblioteki zlib1g:

sudo apt install zlib1g

awscli

Aby zainstalować awscli z repozytorium ubuntu (w lipcu 2024 dostarcza wersję v1.22.34-1):

sudo apt install awscli

Aby sprawdzić zainstalowaną wersję awscli na Twoim komputerze:

aws --version

Lub aby uzyskać najnowszą wersję świeżo wypieczoną przez Amazon (2.0): https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

obecnie:

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 można zainstalować wieloma sposobami, zobacz tutaj: https://developer.hashicorp.com/terraform/install

Instaluję z repozytorium hashicorp dla 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

I dla linux mint uważaj, instalator terraform nie działa poprawnie. Sprawdź wyniki tych poleceń

lsb_release -cs

cat /etc/upstream-release/lsb-release 

Teraz przejdź do źródeł oprogramowania i zamień w Hashicorp ‘virginia’ na ‘Jammy’ i uruchom ponownie

sudo apt update && sudo apt install terraform

Aby sprawdzić, czy terraform został poprawnie zainstalowany, wykonaj

terraform version

Kontrola usług systemd

Można użyć

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

lub można użyć chkservice

sudo apt-get install chkservice

sudo chkservice

Przydatne linki