11#! /bin/bash
22# This script installs systemd-container if it's not installed.
33# Also links any containers from /data/custom/machines to /var/lib/machines.
4+ # Updates the backup .deb files for offline install.
45
56set -e
67
8+ # Update the cached .deb files for offline use
9+ echo " Updating backup dpkg package files..."
10+ mkdir -p /data/custom/dpkg
11+ cd /data/custom/dpkg
12+ apt download systemd-container libnss-mymachines debootstrap arch-test
13+
14+ # Install systemd-container and dependencies, fall back to cached .deb files if online install fails
715if ! dpkg -l systemd-container | grep ii > /dev/null; then
816 if ! apt -y install systemd-container debootstrap; then
9- yes | dpkg -i /data/custom/dpkg/* .deb
17+ echo " Online install failed, attempting offline install from cached .deb files..."
18+ dpkg -i /data/custom/dpkg/* .deb 2> /dev/null || apt-get -f install -y
1019 fi
1120fi
1221
22+ # Link containers from /data/custom/machines to /var/lib/machines
1323mkdir -p /var/lib/machines
1424for machine in $( ls /data/custom/machines/) ; do
15- if [ ! -e " /var/lib/machines/$machine " ]; then
16- ln -s " /data/custom/machines/$machine " " /var/lib/machines/"
17- machinectl enable $machine
18- machinectl start $machine
19- fi
25+ if [ ! -e " /var/lib/machines/$machine " ]; then
26+ ln -s " /data/custom/machines/$machine " " /var/lib/machines/"
27+ machinectl enable $machine
28+ machinectl start $machine
29+ fi
2030done
31+ echo " Setup complete."
0 commit comments