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

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

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

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

Это руководство является частью Инструменты разработчика: Полное руководство по современным рабочим процессам

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

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

Flatpак

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

Для настройки промпта bash, включая отображение ветки git, см. Отображение ветки и статуса Git в промпте Bash

затем

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

Стандартный vscode имеет некоторую телеметрию - частично удалена в settings:user:application:telemetry=>off … но всё равно …

VSCodium flatpak — это версия без телеметрии, которая немного отстаёт в версиях.

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`? [да|нет]

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 самостоятельно

Чтобы иметь свежую версию hugo с withdeploy, может быть проще скомпилировать его самостоятельно

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

Да, добавьте /go/bin в ваш путь

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 без привилегий читать этот keyring
# Это переопределяет любую существующую конфигурацию в /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

Для сравнения методов установки, примечаний по безопасности и путей миграции см. Установка Docker на Ubuntu. Команды ниже — это быстрый путь через APT-репозиторий, который я использую после чистой установки Linux.

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

Требования:

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

Сначала создайте том, который сервер Portainer будет использовать для хранения своей базы данных:

sudo docker volume create portainer_data

Затем скачайте и установите контейнер сервера Portainer:

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

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

Для установки 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 

Теперь перейдите в «Источники программного обеспечения» и замените ‘virginia’ на ‘Jammy’ в Hashicorp и запустите снова

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 engineering.