Я провожу некоторое тестирование, и иногда у меня возникают проблемы с контейнерами и джуджу. Как мне очистить машину, чтобы я мог начать использовать локального провайдера «с нуля» без переустановки?
Контейнеры LXC и среда Juju должны сохраняться после перезагрузки, поэтому все не содержится в одном месте.
Во-первых, убедитесь, что среда уничтожена, а контейнеры не запущены. Затем удалите следующие файлы и каталоги:
/etc/init/juju-*
/etc/lxc/auto/juju-*
/etc/rsyslog.d/25-juju*
/var/lib/juju/containers/*
/var/lib/lxc/juju-*
~/.juju/<env>
~/.juju/environments/<env>.jenv
Затем вы можете перезагрузить компьютер с чистой средой.
В некоторых случаях вам может понадобиться составить список, остановить и уничтожить контейнеры вручную, сделайте это перед удалением файлов Juju.
Вам может пригодиться следующий фрагмент кода:
http://blog.naydenov.net/2014/03/remove-juju-local-environment-cleanly/
Это bash-скрипт, который нужно запускать с правами root, и он пытается агрессивно очистить все остатки локальной среды juju, включая шаблоны LXC, контейнеры, журналы, запуск тестовых серверов mongodb и т. Д.
Ну, вы можете использовать команду sudo /sbin/remove-juju-services
, которая должна существовать, если в какой-то момент машины были инициализированы вручную или не делает, что делает:
for path_to_unit in $(ls /etc/systemd/system/juju*); do
echo "removing juju service: $path_to_unit"
unit=$(basename "$path_to_unit")
systemctl stop "$unit"
systemctl disable "$unit"
systemctl daemon-reload
rm -f "$path_to_unit"
done
echo "removing /var/lib/juju/tools/*"
rm -rf /var/lib/juju/tools/*
echo "removing /var/lib/juju/db/*"
rm -rf /var/lib/juju/db/*
echo "removing /var/lib/juju/raft/*"
rm -rf /var/lib/juju/raft/*
echo "removing /var/run/juju/*"
rm -rf /var/run/juju/*
has_juju_db_snap=$(snap info juju-db | grep installed:)
if [ ! -z "$has_juju_db_snap" ]; then
echo "removing juju-db snap and any persisted database data"
snap remove --purge juju-db
fi