2. Installation
Laden Sie das Archiv für Ihr System von der Release-Seite herunter, entpacken Sie es und prüfen Sie das Programm mit freemapper-print --version. Die Schritte für jedes System, auch die Warnung vor einem nicht signierten Programm beim ersten Start, stehen im README im Abschnitt „Installation“. Ein KI-Agent kann sie für Sie übernehmen (Kapitel 3).
Aktualisierungen
Ein Release-Build aktualisiert sich selbst. Ein Befehl installiert das neueste Release an Ort und Stelle:
freemapper-print update
Er sucht das neueste Release, sagt, was neu ist, und fragt „Jetzt installieren? [j/N]“. Bei „ja“ lädt er das Programm für Ihr System, prüft Signatur und Prüfsumme und ersetzt das laufende Programm am selben Pfad. Die Anmeldung des MCP-Servers bleibt also gültig. Nichts Unsigniertes oder Ungeprüftes wird installiert. Stimmt die Signatur nicht, endet der Befehl mit einem Fehler und ändert nichts.
| Schalter | Wirkung |
|---|---|
--check | Prüft nur. Exit-Code 10, wenn es eine neuere Version gibt, 0, wenn diese aktuell ist. |
--yes | Installiert ohne Rückfrage. Nötig, wenn die Eingabe kein Terminal ist, etwa in einem Skript. |
--version <X.Y.Z> | Installiert diese Version statt der neuesten, auch eine ältere. |
--rollback | Kehrt zur Version zurück, die die letzte Aktualisierung ersetzt hat. |
--mode notify|install|off | Legt fest, was die tägliche Prüfung tut, wenn sie eine neuere Version findet (Standard: notify). |
Ein Release, das vor dem Update erschien, kann sich nicht selbst aktualisieren; das erste mit Update installieren Sie einmal von Hand. Verlangt das neueste Release eine neuere Version der Aktualisierungsfunktion, als Ihre hat, sagt update das und nennt die Version, die Sie von Hand installieren.
Die tägliche Prüfung
Nach init, check, export und render sowie beim Start von mcp und edit fragt das Programm einmal nach einem neueren Release, höchstens einmal in 24 Stunden. Die Prüfung läuft neben dem Befehl und bekommt 3 Sekunden. Ein langsames oder nicht erreichbares GitHub ändert weder die Ausgabe noch den Exit-Code Ihres Befehls; der Versuch gilt als gescheitert, der nächste kommt einen Tag später. numbers, masks und update prüfen nicht. Ist die Umgebungsvariable CI gesetzt, tut die Prüfung nichts.
Was sie meldet, hängt vom Modus ab:
notify(Standard): eine Zeile auf der Standardfehlerausgabe, „freemapper-print 1.2.3 ist verfügbar (Sie haben 1.2.2). Aktualisieren mit: freemapper-print update“.editgibt sie einmal beim Start aus, und der MCP-Server gibt sie mit seinem ersten Ergebnis an den Agenten weiter (Kapitel 3).install: installiert die neuere Version nach einem Befehl, der mit Exit-Code 0 endete. Eincheck, der Hinweise findet, endet mit Exit-Code 1 und installiert deshalb nichts.mcpundeditinstallieren nie. Die neue Version gilt ab dem nächsten Start.off: keine Prüfung und keine Anfrage.
freemapper-print update --mode off schreibt die Einstellung, und FREEMAPPER_PRINT_UPDATE=off (oder notify, install) überschreibt sie, solange die Variable gesetzt ist.
Was gesendet wird
Die Prüfung fragt das Aktualisierungsmanifest freemapper-print-update.json und seine Signatur freemapper-print-update.json.minisig bei den GitHub-Releases ab, und update lädt zusätzlich das Programm selbst. Die Anfragen tragen den festen User-Agent freemapper-print/<Version> (+https://github.com/HenryJobst/freemapper-print): Programm, Version und Repository. Sie enthalten keine Daten über Sie oder Ihr Projekt, und das Programm hat keine Telemetrie. Außer für die Prüfung und update stellt das Programm keine Netzwerkanfragen.
Ordner
| Was | Wo | Überschreiben |
|---|---|---|
Die Einstellung [update] mode | settings.toml in freemapper-print im Konfigurationsordner des Systems | FREEMAPPER_PRINT_CONFIG_DIR nennt den Ordner, der settings.toml enthält |
| Zeit und Ergebnis der letzten Prüfung | update-check.json in freemapper-print im Zwischenspeicher des Systems | FREEMAPPER_PRINT_CACHE_DIR nennt den Ordner |
Löschen Sie update-check.json, prüft der nächste Befehl wieder.
Zurückkehren und der Ordner des Programms
Eine Aktualisierung hebt die ersetzte Version neben dem Programm als freemapper-print.previous auf (Windows: freemapper-print.previous.exe). freemapper-print update --rollback tauscht beide zurück und nennt, wo die verlassene Version liegt. Eine weitere Aktualisierung ersetzt die Datei.
Das Programm verlangt keine Administratorrechte. Ist sein Ordner nicht beschreibbar, etwa /usr/local/bin oder C:\Program Files, nennt update den Ordner, ändert nichts und endet mit Exit-Code 1. Entpacken Sie das neue Release dann von Hand dorthin, oder legen Sie das Programm in einen Ordner, den Sie beschreiben dürfen.
Selbst gebaute Programme
Ein aus dem Quellcode gebautes Programm und ein Release, das ohne den Signierschlüssel gebaut wurde, können sich nicht selbst aktualisieren. update sagt das, nennt die Release-Seite und den Weg für einen Klon (git pull, dann cargo build --release --locked) und endet mit Exit-Code 0. Die tägliche Prüfung bleibt in so einem Build still. --mode funktioniert trotzdem, denn es schreibt nur die Einstellung.