4.5 KiB
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
- Abhängigkeiten prüfen – Es stellt sicher, dass
curl,grep,sed,sort,mktempundchmodverfügbar sind. - Lokale Version ermitteln – Über
ollama --versionwird die installierte Version gelesen (falls vorhanden). - Stable-Version ermitteln – Per
GET /repos/ollama/ollama/releases/latestwird die aktuelle stabile Version vom GitHub-API abgefragt. - Optional: Beta-Version ermitteln – Bei Aufruf mit
--beta/-bwird zusätzlichGET /repos/ollama/ollama/releases?per_page=1abgefragt, um die jüngste (ggf. als Pre-Release markierte) Version zu finden. - Versionsvergleich – Ein eigener SemVer-ähnlicher Vergleich
(
cmp_versions) ermittelt, ob ein Update vorliegt. Suffixe (z. B.-rc1) werden alphabetisch berücksichtigt. - 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_VERSIONauf den passenden Tag gesetzt. - 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)ollamamuss für die Versionsermittlung installiert sein – das Skript funktioniert aber auch, wenn es fehlt, und installiert dann die aktuelle Stable-Version
Lizenz
Siehe Repository.