• TESM 2.0.10 Stable

    alientim released this 2026-09-08 23:13:44 +02:00 | 80 commits to main since this release

    Das Upgrade brach an der sudoers-Datei ab

    Auf einem frisch aufgesetzten Server:

    syntax error: unknown setting: 'requiretty'
    visudo: invalid sudoers file
     !! sudoers-Datei ist fehlerhaft
    

    Defaults:<benutzer> !requiretty stand in beiden sudoers-Dateien. Auf Debian
    und Ubuntu ist requiretty nie gesetzt -- die Zeile war von Anfang an
    wirkungslos -- und ab sudo 1.9.16 kennt visudo die Einstellung nicht mehr
    und lehnt dafür die ganze Datei ab. Sie ist entfernt.

    Ein Rückweg für fehlgeschlagene Upgrades

    Schlimmer als der Fehler war die Folge: der alte Dienst war schon gestoppt und
    deaktiviert, das Verzeichnis teils ersetzt, der neue Dienst nicht vorhanden.

    upgrade.sh fängt einen Fehlschlag jetzt ab und dreht den Lauf selbst zurück.
    Und später von Hand:

    sudo bash upgrade.sh --app tesm --rollback
    sudo bash upgrade.sh --app tesm --rollback /srv/tesm-upgrade-20260908-225428
    

    Dafür enthält die Sicherung mehr als das Verzeichnis: bei einem Upgrade in
    dasselbe Verzeichnis schreibt install.sh auch systemd-Unit, nginx-Site,
    logrotate und Banner neu und ersetzt das venv. Ein Manifest hält fest, woher
    der Stand kam -- ein Rückweg Tage später muss nicht raten.

    Und ein gefährlicherer Fund beim Nachstellen

    Die Liste der „alten Units" war fest verdrahtet: für --app tesm immer
    tesm.service. Nach einem rename.sh heisst so aber die laufende
    Installation. Wer die archivierte 1.x in eine eigene Instanz hochzieht und
    --keep-old-running vergisst, hätte damit den Produktionsdienst gestoppt und
    deaktiviert. Erkannt werden die Units jetzt daran, dass sie in genau das
    Quellverzeichnis zeigen.

    Installation

    sudo bash /srv/tesm/deploy/update.sh tesm
    
    Downloads