Compare commits
2
Commits
10851df46a
...
95de7b6614
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
95de7b6614 | ||
|
|
f20ad44e25 |
@@ -260,13 +260,43 @@ if ! proot-distro list >/dev/null 2>&1; then
|
||||
ok "proot-distro läuft wieder"
|
||||
fi
|
||||
|
||||
if proot-distro list --installed 2>/dev/null | grep -q "^$DISTRO\b" \
|
||||
|| [ -d "$PREFIX/var/lib/proot-distro/installed-rootfs/$DISTRO" ]; then
|
||||
ok "$DISTRO bereits installiert"
|
||||
# Ob ein Rootfs da ist, wird nicht mehr an Pfaden oder Ausgabeformaten festgemacht:
|
||||
# proot-distro hat sein Ablageformat gewechselt (erkennbar an der Meldung
|
||||
# "Migrating legacy container"), und danach lag das Rootfs woanders als erwartet.
|
||||
# Ein Anmeldeversuch ist die einzige Prüfung, die das nicht betrifft — sie fragt
|
||||
# nicht, wo etwas liegt, sondern ob es funktioniert.
|
||||
rootfs_laeuft() { proot-distro login "$DISTRO" -- true >/dev/null 2>&1; }
|
||||
|
||||
if rootfs_laeuft; then
|
||||
ok "$DISTRO bereits installiert und lauffähig"
|
||||
else
|
||||
log " Installiere $DISTRO — das dauert einige Minuten."
|
||||
need proot-distro install "$DISTRO"
|
||||
ok "$DISTRO installiert"
|
||||
if proot-distro install "$DISTRO" >>"$LOG" 2>&1; then
|
||||
ok "$DISTRO installiert"
|
||||
else
|
||||
# 'already exists' bzw. 'already installed' ist kein Fehler, sondern ein
|
||||
# Wettlauf zwischen meiner Prüfung und der Wirklichkeit. Die Wortwahl hat
|
||||
# sich über die Fassungen geändert (5.5.0 spricht von Containern), deshalb
|
||||
# werden beide Formulierungen abgedeckt. Entscheidend ist ohnehin allein,
|
||||
# ob sich danach anmelden lässt.
|
||||
if grep -qiE 'already (installed|exists)' "$LOG"; then
|
||||
warn "proot-distro meldet: gibt es bereits"
|
||||
else
|
||||
warn "Installation meldete einen Fehler:"
|
||||
tail -n 12 "$LOG" | sed 's/^/ /'
|
||||
fi
|
||||
if rootfs_laeuft; then
|
||||
ok "Anmeldung funktioniert trotzdem — weiter."
|
||||
else
|
||||
fail "Kein lauffähiges $DISTRO-Rootfs."
|
||||
log ""
|
||||
log " Von Hand versuchen:"
|
||||
log " proot-distro list # was ist da?"
|
||||
log " proot-distro reset $DISTRO # neu aufsetzen, Daten weg"
|
||||
log " proot-distro remove $DISTRO && proot-distro install $DISTRO"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
section "Debian-Grundausstattung"
|
||||
|
||||
+6
-4
@@ -100,11 +100,13 @@ voraussetzungen_pruefen() {
|
||||
fi
|
||||
ok "proot-distro ausführbar"
|
||||
|
||||
if proot-distro list --installed 2>/dev/null | grep -q "^$distro\b" \
|
||||
|| [ -d "$PREFIX/var/lib/proot-distro/installed-rootfs/$distro" ]; then
|
||||
ok "$distro-Rootfs vorhanden"
|
||||
# Anmeldeversuch statt Pfad- oder Ausgabeprüfung: proot-distro hat sein
|
||||
# Ablageformat gewechselt, und danach lag das Rootfs woanders als erwartet.
|
||||
# Diese Prüfung fragt nicht, wo etwas liegt, sondern ob es funktioniert.
|
||||
if proot-distro login "$distro" -- true >/dev/null 2>&1; then
|
||||
ok "$distro-Rootfs lauffähig"
|
||||
else
|
||||
fail "$distro-Rootfs fehlt"
|
||||
fail "$distro-Rootfs fehlt oder startet nicht"
|
||||
hint "Nachholen mit: bash spike/00-bootstrap-termux.sh"
|
||||
fehlt=1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user