Trin 3 - Kiosk Opgradering til Ubuntu 22.04
Dette script er tredje skridt i opgraderingen til Ubuntu 22.04 på OS2borgerPC Kiosk.
Source: Download script
Last Updated: 11. September 2025 by Agnete Moos (agms@sonderborg.dk)
Parameters:
Navn | Type | Standardværdi | Påkrævet |
---|
Click to see the source code
#!/usr/bin/env bash
#================================================================
# HEADER
#================================================================
#% SYNOPSIS
#+ kiosk_lts_upgrade_in_place_step_3.sh
#%
#% DESCRIPTION
#% Step three of the upgrade from 20.04 to 22.04.
#% Designed for Kiosk machines
#%
#================================================================
#- IMPLEMENTATION
#- version kiosk_lts_upgrade_in_place_step_3.sh 0.0.1
#- author Andreas Poulsen
#- copyright Copyright 2022, Magenta Aps
#- license BSD/MIT
#- email info@magenta.dk
#-
#================================================================
# HISTORY
# 2022/12/08 : ap : Script creation
#
#================================================================
# END_OF_HEADER
#================================================================
set -ex
if ! get_os2borgerpc_config os2_product | grep --quiet kiosk; then
echo "Dette script er ikke designet til at blive anvendt på en regulær OS2borgerPC-maskine."
exit 1
fi
PREVIOUS_STEP_DONE="/etc/os2borgerpc/second_upgrade_step_done"
if [ ! -f "$PREVIOUS_STEP_DONE" ]; then
echo "22.04 opgradering - Opgradering til Ubuntu 22.04 trin 2 er ikke blevet gennemført."
exit 1
fi
REBOOT_REQUIRED_FILE="/var/run/reboot-required"
if [ -f "$REBOOT_REQUIRED_FILE" ]; then
echo "Computeren skal genstartes før kørsel af dette script. Genstart computeren og kør scriptet igen."
exit 1
fi
# Make double sure that the crontab has been emptied
TMP_ROOTCRON=/etc/os2borgerpc/tmp_rootcronfile
if [ -f "$TMP_ROOTCRON" ]; then
crontab -r || true
fi
# Prevent the upgrade from removing python while we are using it to run jobmanager
apt-mark hold python3.8
# Make sure release-upgrade prompt is not never so that the upgrade can run
# Also set the prompt to lts so that the upgrader will only look for lts releases
release_upgrades_file=/etc/update-manager/release-upgrades
sed -i "s/Prompt=.*/Prompt=lts/" $release_upgrades_file
# Perform the actual upgrade with some error handling
do-release-upgrade -f DistUpgradeViewNonInteractive > /var/log/os2borgerpc_upgrade_1.log || true
apt-get --assume-yes --fix-broken install || true
apt-get --assume-yes autoremove || true
apt-get --assume-yes clean || true
apt-get --assume-yes install --upgrade python3-pip || true
# Make sure that jobmanager can still find the client
PIP_ERRORS="False"
pip install -q os2borgerpc_client || PIP_ERRORS="True"
if [ "$PIP_ERRORS" == "True" ]; then
mkdir --parents /usr/local/lib/python3.10
cp --recursive --no-clobber /usr/local/lib/python3.8/dist-packages/ /usr/local/lib/python3.10/
fi
if ! lsb_release -d | grep --quiet 22; then
echo "Opgraderingen er ikke blevet gennemført. Prøv at genstarte computeren og køre dette script igen."
exit 1
fi
# Update the os_release config
RELEASE=$(lsb_release --release --short)
set_os2borgerpc_config os_release "$RELEASE"
os2borgerpc_push_config_keys os_release
rm --force $PREVIOUS_STEP_DONE
touch /etc/os2borgerpc/third_upgrade_step_done
Beskrivelse
Læs HELE beskrivelsen før I kører dette eller et andet opgraderingsscript. Det anbefales at I starter med at teste opgraderingen på en enkelt maskine.
Maskinen må ikke slukkes eller sættes i dvale, mens trin 2 eller 3 kører. Det første trin i opgraderingsprocessen slår eventuelle planlagte nedlukninger fra, og det sidste trin genaktiverer dem, men det er vigtigt, at maskinen ikke slukkes på knappen eller får taget strømmen, mens trin 2 eller 3 kører.
Undgå at køre andre scripts på maskinen, før hele opgraderingsprocessen er færdig.
Herunder beskrives opgraderingsprocessen for almindelig OS2borgerPC:
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 1”. Det skal stå som udført.
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 2”. Det skal stå som udført. Dette script opdaterer computeren og kan tage op til 30-40 minutter, hvis computeren ikke er blevet opdateret i længere tid. Hvis det fejler med en besked ala “Unable to acquire dpkg frontend lock…” er det fordi computeren er ved at køre automatiske opdateringer. Vent 5 minutter og prøv at køre scriptet igen. Hvis det fejler med en besked om “uopfyldte afhængigheder” kan det ofte løses ved at køre scriptet igen.
-
Genstart computeren fx via scriptet “System - Genstart computeren NU”
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 3”. Det skal stå som udført. Dette script udfører selve opgraderingen og kan tage op til en time.
-
Genstart computeren fx via scriptet “System - Genstart computeren NU”
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 4”. Dette script udfører de sidste justeringer. Det skal stå som udført.
-
Maskinen er nu opgraderet til Ubuntu 22.04
Herunder beskrives opgraderingsprocessen for OS2borgerPC Kiosk:
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 1”. Det skal stå som udført.
-
Kør scriptet “Opgradering til Ubuntu 22.04 trin 2”. Det skal stå som udført. Dette script opdaterer computeren og kan tage op til 30-40 minutter, hvis computeren ikke er blevet opdateret i længere tid. Hvis det fejler med en besked ala “Unable to acquire dpkg frontend lock…” er det fordi computeren er ved at køre automatiske opdateringer. Vent 5 minutter og prøv at køre scriptet igen. Hvis det fejler med en besked om “uopfyldte afhængigheder” kan det ofte løses ved at køre scriptet igen.
-
Genstart computeren fx via scriptet “System - Genstart computeren NU”
-
Kør scriptet “Kiosk Opgradering til Ubuntu 22.04 trin 3”. Det skal stå som udført. Dette script udfører selve opgraderingen og kan tage op til en time.
-
Kør scriptet “Kiosk Opgradering til Ubuntu 22.04 trin 4”. Dette script udfører de sidste justeringer. Det skal stå som udført.
-
Maskinen er nu opgraderet til Ubuntu 22.04