
Когда на сервере много LXD контейнеров, обновление системы на них создает определенные проблемы. Для этого существует скрипт, который обновляет (update/upgrade) все запущенные контейнеры:
#!/bin/bash
# Run apt update/upgrade on all LXD containers
running="$(lxc list -c ns | awk '!/NAME/{ if ( $4 == "RUNNING" ) print $2}')"
for container in $running
do
echo "Updating Ubuntu LXD Container "$container"..."
lxc exec $container -- /bin/bash -c "apt -qq update"
lxc exec $container -- /bin/bash -c "apt -qq -y full-upgrade"
lxc exec $container -- /bin/bash -c "apt -qq -y autoremove --purge"
lxc exec $container -- /bin/bash -c "apt -qq -y clean"
done
Скрипт набираем любым редактором текста, например nano:
nano lxd-apt-update.sh
Делаем его исполняемым:
chmod +x lxd-apt-update.sh
Далее можно сделать, чтобы скрипт lxd-apt-update.sh запускался ежедневно, еженедельно и т.д. Для этого его нужно скопировать в соответствующую папку в /etc/ — cron.daily, cron.weekly или cron.monthly:
sudo cp lxd-apt-update.sh /etc/cron.daily/lxd-apt-update.sh
Скрипт взят отсюда.