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 --force   # Installation älterer Version erzwingen
./ollama-update -f        # Kurzform von --force
./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. Downgrade-Schutz – Ist die bereits installierte Version neuer als die Zielversion, bricht das Skript standardmäßig ab. Mit --force/-f lässt sich ein solches Downgrade dennoch erzwingen.
  8. 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)
Downgrade-Schutz Kein Schutz Downgrades werden blockiert, es sei denn, --force/-f wird gesetzt
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.

S
Description
No description provided
Readme
41 KiB
Languages
Shell 100%