Когда на сервере много 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
Скрипт взят отсюда.