Для настройки автоматического запуска LXC-контейнеров, которые находятся в разных каталогах, вам нужно учитывать несколько аспектов, так как LXC не поддерживает указание нескольких путей в конфигурации `lxcpath`.
Вот несколько подходов, которые вы можете использовать для решения вашей проблемы:
### 1. Скрипт для автозапуска контейнеров
Создайте скрипт, который будет запускать все контейнеры, которые вы хотите запустить автоматически. Например, вы можете использовать `lxc-ls` для получения списка контейнеров и `lxc-start` для их запуска.
Создайте файл `/usr/local/bin/lxc-autostart.sh`:
```bash
#!/bin/bash
# Запуск контейнеров из кастомной директории
for container in /my/folder/for_lxc/*; do
if [ -d "$container" ]; then
lxc-start -n "$(basename "$container")" -d
fi
done
# Запуск контейнеров из стандартной директории
for container in /var/lib/lxc/*; do
if [ -d "$container" ]; then
lxc-start -n "$(basename "$container")" -d
fi
done
```
Не забудьте сделать скрипт исполняемым:
```bash
chmod +x /usr/local/bin/lxc-autostart.sh
```
### 2. Настройка systemd для автоматического запуска
Создайте unit файл для systemd, который будет запускать ваш скрипт при загрузке:
Создайте файл `/etc/systemd/system/lxc-autostart.service`:
```ini
[Unit]
Description=Autostart LXC containers
After=lxc.service
[Service]
Type=oneshot
ExecStart=/usr/local/bin/lxc-autostart.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
```
Активируйте сервис, чтобы он запускался при загрузке:
```bash
sudo systemctl enable lxc-autostart.service
```
### 3. Используйте иерархию конфигураций
Если у вас много контейнеров в разных директориях, вы можете также рассмотреть возможность создания дополнительной конфигурационной системы, например, с использованием `lxc.include` в основном конфиге или отдельных конфигурационных файлах для каждого контейнера с указанием необходимых параметров.
### 4. Обратите внимание на `lxc.auto.start`
Для каждого контейнера может быть также настроена автоматическая активация с помощью файла конфигурации контейнера. Убедитесь, что у вас есть следующая строка в каждом конфигурационном файле контейнера (например, `/my/folder/for_lxc/my-container/config`):
```ini
lxc.autostart = "true"
```
### Заключение
Использование метода со скриптом в связке с systemd — это наиболее универсальный подход для автоматического запуска контейнеров из различных директорий, пока LXC не предоставит возможность указывать несколько путей для `lxcpath`.