Переустановить Linux

Регулярно происходит

Содержимое страницы

Нужно иметь стандартную последовательность задач после установки для справки, поэтому записываю её здесь.

Очень пустой рабочий стол 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

См. здесь для вашей версии ОС: 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 # или code-insiders

Установите расширения VS Code:

Python, C#, Go, Hugohelper, Front Matter CMS, React*, [Flutter](https://www.glukhov.org/ru/post/2022/flutter-dart-cheatsheet/ “Flutter (Dart) Cheatsheet с примерами и т.д.

Стандартный VS Code содержит некоторую телеметрию - частично удалена в настройках: user:application:telemetry=>off … но все еще …

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

Обратите внимание в конце:

Если вы предпочитаете, чтобы среда base conda не активировалась при запуске,
   выполните следующую команду, когда conda активирован:

conda config --set auto_activate_base false

Вы можете отменить это, выполнив `conda init --reverse $SHELL`? [да|нет]

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 # разрешить непривилегированным программам 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

затем скопируйте id на все ip-адреса в вашей лаборатории

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

# Добавьте официальный GPG ключ Docker:
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, вам нужно использовать UBUNTU_CODENAME вместо VERSION_CODENAME, например

# Добавьте официальный GPG ключ Docker:
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, установленная и работающая
  • Доступ sudo на машине, которая будет размещать ваш экземпляр Portainer Server
  • По умолчанию Portainer Server будет открывать интерфейс через порт 9443 и открывать TCP-туннель через порт 8000. Последний является необязательным и требуется только в том случае, если вы планируете использовать функции Edge compute с Edge агентами.

Требования:

  • SELinux отключен на машине, на которой работает Docker. Если вам нужен SELinux, вам нужно будет передать флаг –privileged Docker при развертывании Portainer.

Сначала создайте том, который 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, установите пароль в интерфейсе

Kubernetes portainer agent

Создайте среду k8s, агент

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

затем скопируйте и вставьте внешний IP-адрес сервиса portainer в интерфейс, не забудьте указать порт 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

Для установки awscli из репозитория Ubuntu (в июле 2024 года это даст вам версию v1.22.34-1):

sudo apt install awscli

Чтобы проверить версию 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

Я устанавливаю из репозитория 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

Полезные ссылки