Install Debian Linux - andyceo/documentation GitHub Wiki

Установка Debian Linux

Актуальная версия: debian-12.1.0-amd64-netinst.iso (SHA-256: 9f181ae12b25840a508786b1756c6352a0e58484998669288c4eec2ab16b8559)

Установка Debian 12 (Advanced Options/Expert Install)

  • Скачать установочный образ и записать его на флешку:

      cp debian-12.1.0-amd64-netinst.iso /dev/sdX
    
  • Загрузиться с флешки и выбрать пункт меню Advanced Options/Expert Install

  • Попадаем в Debian installer main menu. Идем по нему сверху вниз, меню может обновится после выбора некоторых пунктов, например, оно обновится при выборе Load installer components

  • Choose Language: Устанавливаем свой язык, место (location), локаль, таймзону

  • Load installer components

  • Detect network hardware

  • Configure network - здесь выбираем hostname. Domain name: lan

  • Set up users and passwords: Allow login as root? - NO - ввести пользователя и пароль

  • Set up clock (таймзона здесь)

  • Detect disks

  • Partition Disks. Сделать разметку через меню, но пока не устанавливать!

    • Выйти в busybox: alt+ctrl+F2 и продолжить разметку следующими командами

    • Отмонтировать /target и /target/boot/efi/: umount /target/boot/efi /target

    • Пересоздать btrfs: mkfs.btrfs /dev/mapper/<NAME>

    • Примонтировать файловую систему в /mnt: mount /dev/mapper/<NAME> /mnt

    • Создать субвольюмы:

      btrfs su cr /mnt/@
      btrfs su cr /mnt/@home
      btrfs su cr /mnt/@var
      btrfs su cr /mnt/@opt
      btrfs su cr /mnt/@tmp
      btrfs su cr /mnt/@.snapshots
      
    • Примонтировать файловую систему обратно в /target, но уже только корневой том:

      umount /mnt
      mount -o commit=120,compress-force=zstd:15,space_cache=v2,subvol=@ /dev/mapper/<NAME> /target
      
      mkdir /target/boot/efi  # если пересоздали файловую систему, надо восстановить эту точку
      mount /dev/nvm..p1(choose efi partition) /target/boot/efi
      
    • Создать папки для будушего монтирования других субвольюмов:

      mkdir /target/home  # for @home volume
      mkdir /target/var
      mkdir /target/opt
      mkdir /target/.snapshots
      
    • Примонтировать некорневые субвольюмы:

      mount -o commit=120,compress-force=zstd:15,space_cache=v2,subvol=@home /dev/mapper/<NAME> /target/home
      # аналогичо для остальных
      
    • ctrl+alt+F1 чтобы возвратиться в меню установщика. Больше не выбирать пункт Partition Disks, иначе установщик создаст и примонтирует свой субвольюм @rootfs в качестве корневой системы!

    • Hit "install our base system" generic kernel, Kernel to install: linux-image-amd64

    • Configure the package manager:

      • mirror...
      • non-free firmware: yes
      • non-free software: yes
      • enable source repositories: no
      • services to use: security, release, backports
    • Select install software: no automatic updates, only standard system utilities

    • Participate in package usage survey: no

    • Choose software to install: only SSH and standard system utilities

    • Install the Grub boot loader: GRUB installation to the EFI removable… : No Update NVRAM: Yes (если происходит ошибка и пишет что grub dummy не может быть установлен, то нужно руками подмонтировать efivars и установить grub: grub-install --target=x86_64-efi --efi-directory=efi. Иногда система может загрузиться по UEFI, но не предоставить переменные в /sys/firmware/efi/efivars/) os-prober: yes

    • Fix /etc/fstab: mount >> /etc/fstab и затем поправить его: nano /etc/fstab

    • Reboot

На этом установка завершена, и можно начать обустраивать систему под свои нужды.

Установка основных утилит

sudo apt install htop mc git neofetch btrfs-compsize attr curl

После этого утилиты показывают:

  • htop: 16 tasks 1 thr 87 kthr 1 running
  • neofetch: 458 (dpkg) installed
  • df -hT: 782 Mb used (root filesystem)
  • memory used: 93 Mb

Настройка Gnome

См. страницу Gnome

Установка основных приложений (из репозиториев + flatpak)

  • По желанию: установка свежего ядра Linux из репозитория backports (этот репозиторий должен быть включен): sudo apt install -t bookworm-backports linux-image-amd64

  • Установка net-tools (чтобы установить netstat, его современная замена ss уже должна быть установлена): sudo apt install net-tools

  • Установка базовых пакетов для Python: sudo apt install python-is-python3 python3.11-venv

  • Установка pipx для нормальной современной установки полезных приложений Python (вместо pip): sudo apt install pipx. Прописать директорию с бинарниками от pipx в PATH: pipx ensurepath

  • Установа Ansible и sshpass для работы с удаленными хостами: sudo apt install ansible sshpass

  • Настройка сети в единообразном стиле (пакет ifupdown, Network Manager, systemd. см. https://www.debian.org/doc/manuals/debian-reference/ch05.en.html)

  • Установка и настройка SSH: создать ключ, скопировать публичный ключ к репозиториям и на другие машины

  • Установка и настройка Gnome: sudo tasksel и выбрать Gnome. Настроить как написано здесь: Gnome

  • Установка Remmina: sudo apt install remmina. Запускать ее в Wayland при работе с несколькими мониторами надо так:

    GDK_BACKEND=x11 remmina  # возможно, нужно добавить GDK_SCALE=1, см. https://gitlab.com/Remmina/Remmina/-/issues/2686#note_1959773913
    

    Тогда Remmina корректно работает с несколькими мониторами и выбирает только один, если ей указать идентификатор монитора в настройках соединения.

    Также можно добавить ярлык, в котором указать необходимую переменную окружения. Для этого нужно изменить строчку Exec=remmina -i на Exec=env GDK_BACKEND=x11 remmina -i.

  • Установка ddterm (quake-style terminal):

    1. Сначала скачать подходящий архив zip
    2. Затем установить его: gnome-extensions install -f /path/to/[email protected]
    3. Перезапустить Gnome Shell (выйти и зайти обратно пользователем)
    4. Включить расширение: gnome-extensions enable [email protected]
  • Установка Nextcloud Desktop Client: sudo apt install nextcloud-desktop

  • Установка flatpak и полезных программ, которые он предоставляет

Установка драйверов Nvidia

Основной источник: https://docs.nvidia.com/datacenter/tesla/driver-installation-guide/index.html#debian-installation

Инструкция и пояснения от Debian: https://wiki.debian.org/NvidiaGraphicsDrivers

Установить gcc: sudo apt isntall gcc

Загрузить ключ (ключ не должен хранится в /etc/apt/trusted.gpg.d, потому что ключи оттуда используются для любых репозиториев, у которых не указан signed-by):

curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor -o /etc/apt/keyrings/nvidia.gpg

Прописать репозиторий:

echo "deb [signed-by=/etc/apt/keyrings/nvidia.gpg] https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/ /" | sudo tee /etc/apt/sources.list.d/nvidia.list

Обновить список пакетов:

sudo apt update

Если ядро было установлено из бекпортов, то поставить и заголовки для него: sudo apt install linux-headers-$(uname -r)

Установить драйвера:

sudo apt -V install cuda-drivers  # закрытая архитектура, подойдет как правило для большинства
# sudo apt -V install nvidia-open  # открытая архитектура, для новейшего оборудования (от Turing включительно)

Перезагрузить: sudo reboot

Выполнить действия после установки и перезагрузки:

sudo systemctl restart nvidia-persistenced.service

Проверить, что все установилось и работает:

cat /proc/driver/nvidia/version
nvidia-smi

Ссылки:

⚠️ **GitHub.com Fallback** ⚠️