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

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

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

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

Очень пустой ubuntu desktop

Где

Обычно я использую дистрибутивы на базе 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

Примеры см. в Сheat Sheet для 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

См. здесь для вашей версии ОС: 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 автоматически установит репозиторий и ключ подписи для включения автоматических обновлений через менеджер пакетов системы.

Или выполните те же действия вручную ниже:

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

Стандартный 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

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

Если вы предпочитаете, чтобы среда conda's 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

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 на все ipaddrs в вашей лаборатории

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 будет открывать UI через порт 9443 и открывать сервер туннеля TCP через порт 8000. Последнее необязательно и требуется только в том случае, если вы планируете использовать функции Edge с агентами 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, установите пароль в интерфейсе

Агент Portainer для Kubernetes

Создайте среду 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

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