Incus - установка на Debian 12
LXC
1
Сообщения
1
Posters
3
Просмотры
1
Watching
-
Шаг 1: Подготовка системы
# Обновляем список пакетов и систему sudo apt update sudo apt upgrade -y # Устанавливаем базовые утилиты, которые могут пригодиться sudo apt install -y curl wget gnupg software-properties-commonШаг 2: Настраиваем репозиторий Backports
# Добавляем репозиторий backports echo "deb http://deb.debian.org/debian bookworm-backports main" | sudo tee /etc/apt/sources.list.d/bookworm-backports.list # Настраиваем приоритеты, чтобы избежать проблем с экспериментальными пакетами sudo tee /etc/apt/preferences.d/90-bookworm-backports << EOF Package: * Pin: release a=bookworm-backports Pin-Priority: 500 Package: incus* Pin: release a=bookworm-backports Pin-Priority: 1000 Package: * Pin: release a=experimental Pin-Priority: 1 EOF # Обновляем список пакетов с учетом новых репозиториев sudo apt updateШаг 3: Установка Incus (без QEMU)
# Устанавливаем Incus без рекомендательных пакетов (исключаем QEMU) sudo apt install -t bookworm-backports incus --no-install-recommends -yШаг 4: Запуск службы Incus
# Запускаем службу Incus sudo systemctl start incus incus.socket # Включаем автозапуск sudo systemctl enable incus incus.socket # Проверяем статус sudo systemctl status incusШаг 5: Настройка Incus
# Запускаем инициализацию с настройками по умолчанию sudo incus admin init --autoЧто делает
--auto:Создает storage pool
defaultс бэкендомdirСоздает сетевой мост
incusbr0с NATВключает IPv6
Настраивает API на локальный socket
Шаг 6: Проверка установки
# Проверяем, что демон работает sudo systemctl status incus # Проверяем список контейнеров (должен быть пустым) sudo incus list # Проверяем информацию о сервере sudo incus infoШаг 7: Настройка прав пользователя (опционально)
Чтобы не использовать
sudoдля каждой команды, добавьте своего пользователя в группуincus:# Добавляем текущего пользователя в группу incus sudo usermod -a -G incus-admin $USER # Применяем изменения группы (или перелогиньтесь) newgrp incus-admin # Проверяем группы # Должны видеть incus-admin в списке groups # Проверяем, что теперь можно работать без sudo incus listШаг 8: Запуск первого контейнера
# Запускаем контейнер с Ubuntu 22.04 incus launch images:ubuntu/22.04 test-container # Проверяем, что контейнер запустился incus list # Заходим в контейнер incus exec test-container -- bash # Внутри контейнера можно проверить систему cat /etc/os-release exitПолезные команды для начала работы
# Просмотр доступных образов incus image list images: | head -20 # Создание контейнера с конкретным дистрибутивом incus launch images:debian/12 my-debian incus launch images:alpine/3.18 my-alpine # Остановка контейнера incus stop test-container # Удаление контейнера incus delete test-container # Просмотр информации о хранилище incus storage list # Просмотр сетевых настроек incus network listЕсли нужна поддержка виртуальных машин (позже)
# Установка QEMU для поддержки ВМ sudo apt install -t bookworm-backports qemu-system-x86 -y # Теперь можно запускать виртуальные машины incus launch images:ubuntu/22.04 my-vm --vmВозможные проблемы и решения
Проблема: Команда
incusне найдена# Перезагружаем или перелогиниваемся sudo reboot # или newgrp incusПроблема: Нет доступа к socket
# Проверяем группу пользователя groups $USER # Если нет incus, добавляем и перелогиниваемся sudo usermod -a -G incus $USER newgrp incusПроверка успешной установки
После выполнения всех шагов у вас должен быть:
Работающая команда incus
Контейнер test-containerв статусе "RUNNING"
Доступ к Incus без sudo (если настроили группу)Как узнать на каком порту слушает incus
Способ 1: Команда
incus config# Показывает текущий адрес и порт incus config show | grep https_address # Или конкретно incus config get core.https_addressСпособ 2: Системные утилиты
# Показывает все слушающие порты sudo netstat -tlnp | grep incus # Или с помощью ss (более современная) sudo ss -tlnp | grep incus # Ищем процесс incus sudo lsof -i -P -n | grep incusСпособ 3: Проверка через systemd
# Смотрим статус службы sudo systemctl status incus # Или смотрим сокеты sudo systemctl list-sockets | grep incusСпособ 4: Если Incus не слушает порт
# Проверяем текущую конфигурацию incus config show # Если порт не настроен, устанавливаем sudo incus config set core.https_address ":8443" # Перезапускаем sudo systemctl restart incus # Проверяем снова sudo ss -tlnp | grep 8443Способ 5: Проверка всех сетевых соединений
# Показывает все открытые порты sudo netstat -tulpn # Или только TCP порты sudo netstat -tlnpПример вывода когда всё работает:
$ sudo ss -tlnp | grep incus LISTEN 0 128 0.0.0.0:8443 0.0.0.0:* users:(("incus",pid=1234,fd=10))Это значит Incus слушает на порту 8443 на всех интерфейсах.
Если порт не настроен:
# Настраиваем порт sudo incus config set core.https_address "0.0.0.0:8443" # Или только локальный доступ sudo incus config set core.https_address "127.0.0.1:8443" # Перезапускаем sudo systemctl restart incus # Проверяем sudo ss -tlnp | grep incusКраткая памятка:
# УСТАНОВИТЬ порт (работает) ✅ sudo incus config set core.https_address ":8443" # ПРОВЕРИТЬ что слушает (работает) ✅ sudo ss -tlnp | grep incus # ПОСМОТРЕТЬ конфигурацию (только с sudo) ✅ sudo incus config show