Files
2026-07-01 21:06:39 +02:00

4.5 KiB
Raw Permalink Blame History

ollama-update

Ein Bash-Skript zur gezielten Aktualisierung (oder Erstinstallation) von Ollama. Es prüft die lokal installierte Version, ermittelt die aktuelle stabile und optional die aktuelle Beta-Version über die GitHub-API und führt nur dann eine Installation durch, wenn tatsächlich ein Update verfügbar (oder gar keine Installation vorhanden) ist.

Das Skript nutzt das offizielle Installations-Skript von Ollama (https://ollama.com/install.sh) als Backend und reicht bei Bedarf die gewünschte Version über die Umgebungsvariable OLLAMA_VERSION an dieses weiter.

Verwendung

./ollama-update           # Stable-Channel (Standard)
./ollama-update --beta    # Beta-Channel
./ollama-update -b        # Kurzform von --beta
./ollama-update --help    # Hilfe anzeigen
./ollama-update -h

Das Skript benötigt keine Root-Rechte für die Versionsermittlung. Die tatsächliche Installation wird jedoch vom Ollama-Installations-Skript selbst durchgeführt und kann Root-Rechte erfordern (z. B. wenn per systemctl ein Service eingerichtet wird).

Was das Skript tut

  1. Abhängigkeiten prüfen Es stellt sicher, dass curl, grep, sed, sort, mktemp und chmod verfügbar sind.
  2. Lokale Version ermitteln Über ollama --version wird die installierte Version gelesen (falls vorhanden).
  3. Stable-Version ermitteln Per GET /repos/ollama/ollama/releases/latest wird die aktuelle stabile Version vom GitHub-API abgefragt.
  4. Optional: Beta-Version ermitteln Bei Aufruf mit --beta/-b wird zusätzlich GET /repos/ollama/ollama/releases?per_page=1 abgefragt, um die jüngste (ggf. als Pre-Release markierte) Version zu finden.
  5. Versionsvergleich Ein eigener SemVer-ähnlicher Vergleich (cmp_versions) ermittelt, ob ein Update vorliegt. Suffixe (z. B. -rc1) werden alphabetisch berücksichtigt.
  6. Installation nur bei Bedarf Wenn keine Installation vorhanden ist oder eine neuere Version verfügbar ist, wird das offizielle Ollama-Installations-Skript heruntergeladen, ausführbar gemacht und ausgeführt. Bei einer Beta-Installation wird OLLAMA_VERSION auf den passenden Tag gesetzt.
  7. Ausgabe Vor jeder Aktion werden die ermittelten Versionen (lokal, stable, beta) sowie die Entscheidung (Update/Installation/ kein Update) ausgegeben.

Beispielausgabe:

Lokal:  0.5.7
Stable: 0.5.7
Beta:   keine neuere Beta verfuegbar
Kein Update erforderlich.

Wesentliche Unterschiede zum Originalskript (ollama.com/install.sh)

Aspekt Originalskript ollama-update
Installationsverhalten Führt immer eine Installation durch Installiert nur, wenn kein Ollama vorhanden oder ein Update verfügbar ist
Versionsprüfung Keine Vergleicht lokale Version mit Stable/Beta aus der GitHub-API
Auswahl des Channels Nur Stable Stable oder Beta (--beta/-b)
Ausgabe vor der Installation Nur Statusmeldungen des Installers Zeigt lokal/stable/beta-Versionen und die getroffene Entscheidung
Versions-Pinning Nicht vorgesehen Übergibt OLLAMA_VERSION an den Installer, wenn eine konkrete Version gewünscht ist
Abhängigkeitsprüfung Fehlt Prüft benötigte Kommandos (curl, grep, sed, …) vorab
Robustheit Standard-Bash set -euo pipefail, nullglob, leere API-Antworten und Downloads werden abgefangen, temporäre Datei wird per trap aufgeräumt
Hilfe / Argumente Nicht vorhanden --help/-h und klare Fehlerausgaben

Voraussetzungen

  • Linux/macOS mit Bash
  • curl, grep, sed, sort, mktemp, chmod (alle auf Standard-Distributionen vorhanden)
  • ollama muss für die Versionsermittlung installiert sein das Skript funktioniert aber auch, wenn es fehlt, und installiert dann die aktuelle Stable-Version

Lizenz

Siehe Repository.