особеннно подходит владельцам AMD GPU
Этот гайд поможет избежать множества проблем при установке и настройке Ubuntu под задачи машинного обучения. Особенно когда дело косается AMD
Если вы используете Windows и планируете сохранить её:
- Нужны два NVMe-диска: один для Windows, другой для Ubuntu (рекомендуется от 512 ГБ).
- Флешка от 16 ГБ.
Скачайте:
- Образ Ubuntu 24.04: https://ubuntu.com/download/desktop
- Утилиту Balena Etcher: https://etcher.balena.io/
Запишите ISO-образ Ubuntu на флешку с помощью Etcher. После этого переходите к установке.
Понадобится подключение к интернету.
- Извлеките диск с Windows и временно отложите его.
- Вставьте флешку и загрузитесь с неё.
- Следуйте шагам установщика Ubuntu. Отмечайте все опции, предлагающие установить стороннее ПО.
- Рекомендуется указать имя пользователя
generalилиосновной.
Если установщик неожиданно закрывается — запускайте установку заново и быстро проходите шаги без пауз. (это известная проблема, которая появилась в 2024 году, и до сих пор не исправлена, т.к. причины не понятны, способ спидрана хорошо зарекомендовал себя)
После установки Ubuntu предложит перезагрузиться и попросит извлечь флешку:
!(ВАЖНО) Не извлекайте флешку сразу — это может повредить её.
- Либо нажмите Enter (не вытаскивая флешку) и выберите загрузочный диск вручную
- Либо нажмите enter (не вытаскивая флешку), дождитесь перезагрузки ПК и после появления логотипа, выключите или обесточьте пк, затем извлеките флешку.
Рекомендуется использовать контейнеры LDX Это утилита для Linux которая очень похожа на WSL, или виртуальную машину, ее задача создавать полностью изолированную среду для установки проектов
sudo apt update # получает список новых пакетов с сервера (условно проверка обновлений)
sudo apt upgrade # обновляет пакеты, если есть что обноввлять (собственно само условное обновление)
sudo snap install lxd # устанавливает программу
sudo usermod -aG lxd $USER # передает вашему пользователю права на пользования
sudo newgrp lxd # обновление прав пользователя или нажать CTRL+ALT+DELETE > Выйти
sudo lxd init # Настройка параметров контейнера (почти всегда нажимайте ENTER, кроме вопроса который указан ниже)
# На вопрос: Size in GiB of the new loop device (1GiB minimum) [default=30GiB]:
# Ответьте "100" и нажмите Enter
Создание нового контейнера
lxc launch ubuntu:24.04 има_вашего_контейнера #используйте имена того прокта который вы хотите установить
lxc exec има_вашего_контейнера -- bash # запуск контейнера
lxc stop има_вашего_контейнера # остановка контейнера
lxc start имя_вашего_контейнера # нужен после остановки
Посмотреть список контейнеров можно в новом терминале (если вы введете команду в терменале с контейнером, он установит LDX внутрь контейнера)/
так-же этой командой можно посмотреть текуший ip
lxc lis
Просмотр характеристик внутри контейнера
echo "--- CPU ---"; lscpu | grep -E 'Model name|Socket|Thread|Core'
echo "--- RAM ---"; free -h
echo "--- Disk ---"; df -h /
echo "--- OS ---"; lsb_release -a
Контейнеры + GPU
Контейнеры не получают доступ GPU сами по себе, по этому необходима настройка.
# открываем новый терминал (это важно)
#добавит вашему контейнеру поддержку GPU
lxc config device add имя_контейнера mygpu gpu
# ⚠️ Если вы пользователь NVIDIA вам нет необходимости выполнять дальнешие шаги
stat /dev/kfd # Информационные данные для проброса GPU
stat /dev/dri/renderD128 # Информационные данные для проброса GPU
#выдаст примерно следущее
Файл: /dev/kfd
Размер: 0 Блоков: 0 Блок В/В: 4096 символьный специальный файл
Устройство: 0/6 Инода: 435 Ссылки: 1 Тип устройства: 235,0
Доступ: (0660/crw-rw----) Uid: ( 0/ root) !Gid: ❗( 992/ render)❗
Доступ: 2025-07-29 23:31:16.035013373 +0500
Модифицирован: 2025-07-29 23:31:16.035013373 +0500
Изменён: 2025-07-29 23:31:16.035013373 +0500
Создан: 2025-07-29 23:31:11.515279836 +0500
alex@alex-System-Product-Name:~/Рабочий стол$
alex@alex-System-Product-Name:~/Рабочий стол$ stat /dev/dri/renderD128
Файл: /dev/dri/renderD128
Размер: 0 Блоков: 0 Блок В/В: 4096 символьный специальный файл
Устройство: 0/6 Инода: 498 Ссылки: 1 Тип устройства: 226,128
Доступ: (0660/crw-rw----) Uid: ( 0/ root) ❗Gid: ( 992/ render)❗
Доступ: 2025-07-29 23:31:15.943953949 +0500
Модифицирован: 2025-07-29 23:31:15.943953949 +0500
Изменён: 2025-07-30 16:58:01.664152217 +0500
Создан: 2025-07-29 23:31:13.315954094 +0500
# то что отмечено ❗ Gid вам нужно запомнить
# проброс котейнеру gid устройства
xc config device add Comfy dev_kfd unix-char source=/dev/kfd path=/dev/kfd gid= ваш_gid
# При создаини следущего контейнера, мы используем всего две команды
lxc config device add имя_контейнера mygpu gpu
xc config device add Comfy dev_kfd unix-char source=/dev/kfd path=/dev/kfd gid= ваш_gid
# надеюсь что это не покажется сложным
- Можно удалить безопасно устанавливать проекты, не опасаясь проблем.
- На AMD-графике нередко остаётся мусор в VRAM после работы с ComfyUI и др. закрыв контейнер, память гарантированно освободится. Так-же память VRAM можно освободить при помощи смены пользоватя CTRL+ALT+DEL > Выйти и снова войдите в пользовател
- Изоляция проектов снижает риск ошибок и упрощает организацию среды.
Этот подход не является единственным возможным, но он прост и эффективен для начальной настройки системы и первых проектов .
При возникновении вопросов или предложений создавайте issue в этом репозитории. Если вам нужна помощь, так-же создавайте issue в этом репозитории.
Полезные команды:
#Что-бы изменить сочетание клавишь для смены языка
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L']"
#Это заставит "Не баг а фичу" засунуть саму себя в задницу.