Skip to content

LXC

За этой категорией можно следить из открытой социальной сети, используя идентификатор lxc@baseinfo.nbics.net

1 Темы 1 Сообщения
  • Incus - установка на Debian 12

    1
    0 Голоса
    1 Сообщения
    3 Просмотры
    A
    Шаг 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