summaryrefslogtreecommitdiffstats
path: root/satellit_upgrader
diff options
context:
space:
mode:
authorSimon Rettberg2024-04-30 14:26:10 +0200
committerSimon Rettberg2024-04-30 14:26:10 +0200
commit6512e211c44832fae7d04684ac1820c0c28c8d0a (patch)
tree05b8665da19275e79183018725ca4e558312c5d8 /satellit_upgrader
parent[SS*S] lighttpd: Don't try to use ssl.ca-file for certificate chain (diff)
downloadsetup-scripts-6512e211c44832fae7d04684ac1820c0c28c8d0a.tar.gz
setup-scripts-6512e211c44832fae7d04684ac1820c0c28c8d0a.tar.xz
setup-scripts-6512e211c44832fae7d04684ac1820c0c28c8d0a.zip
[SS?S] Split static_files/system into base and updates
base is considered static, i.e. only copied once when *installing* a server, because they are config files the user/admin is expected to edit, or because they have to match the specific Debian release the installed server is based on, and thus should not - or only selectively - be replaced by the satellite updater. In other words, the system-updates module should be save to be copied over a running satellite server on update via "install_files", while files from system-base will only be updated selectively, if at all.
Diffstat (limited to 'satellit_upgrader')
-rw-r--r--satellit_upgrader/updater.template.sh13
1 files changed, 4 insertions, 9 deletions
diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh
index 9ecbc88..3a0f3d2 100644
--- a/satellit_upgrader/updater.template.sh
+++ b/satellit_upgrader/updater.template.sh
@@ -171,7 +171,7 @@ install_files () {
local SRC="$FILEDIR/$1"
local files file ret
[ -d "$SRC" ] || perror "NO SUCH DIRECTORY: $SRC"
- readarray -t -d '' files < <( find "$SRC" -type f -print0 )
+ readarray -t -d '' files < <( find "$SRC" \( -type f -o -type l \) -print0 )
ret=1
for file in "${files[@]}"; do
diffcp "$1" "${file#$SRC}" && ret=0
@@ -378,8 +378,7 @@ failprint apt autoremove -y
## Enable unix socket passwordless local connection (commented out since default in Debian 9+ anyways)
#mysql -e "UPDATE user SET plugin = 'unix_socket' WHERE Host = 'localhost' AND User = 'root'"
-# Fix locale to C.UTF-8 for systemd
-diffcp "system" "/etc/locale.conf"
+install_files "system-updates"
# ********************** Taskmanager ***********************
# Do this first in case one of the later updates depends on the taskmanager
@@ -853,7 +852,7 @@ if ! which tmate &> /dev/null && (( MAJOR >= 9 )); then
fi
if (( MAJOR >= 11 )); then
# Fingerprints now need to be SHA256, maybe an old sat got dist-upgraded and still has MD5s in that file
- diffcp "system" "/etc/tmux.conf" "Updating tmate config..."
+ diffcp "system-base" "/etc/tmux.conf" "Updating tmate config..."
rm -f -- "/root/.tmate.conf"
fi
@@ -865,11 +864,7 @@ if ! [ -s /root/.ssh/id_rsa ]; then
fi
# Timesync
-diffcp "system" "/usr/local/sbin/slx-wait-online"
-diffcp "timesync" "/etc/systemd/system/redneck-timesync.service"
-diffcp "timesync" "/usr/local/sbin/redneck-timesync.sh"
-mkdir -p "/etc/systemd/system/network-online.target.wants"
-ln -nfs "../redneck-timesync.service" "/etc/systemd/system/network-online.target.wants/redneck-timesync.service"
+install_files "timesync"
# Wait for webif callbacks and IPXE compile
echo -n "Finishing."