Claude Desktop (extra) auf Fedora Silverblue installieren
Claude Desktop gibt es für Linux aktuell offiziell nur für Debian-basierte Distributionen. Wer wie ich auf Fedora unterwegs ist, schaut erstmal in die Röhre. Zum Glück gibt es das Community-Projekt claude-desktop-extra von Patrick, das die offizielle App für andere Distros neu verpackt – inklusive eines Installationsskripts für Fedora.
Problem: Ich nutze Fedora Silverblue. Und da funktioniert dieses Skript schlicht nicht.
Warum das offizielle Skript auf Silverblue nicht funktioniert
Die Installation unter Fedora besteht im Wesentlichen aus zwei Zeilen – dem Skript und einem dnf install:
curl -fsSL https://patrickjaja.github.io/claude-desktop-extra/install-rpm.sh | sudo bash
sudo dnf install claude-desktop-extra
Auf einem „normalen” Fedora Workstation ist das auch völlig in Ordnung. Silverblue tickt aber anders: Das System ist immutable, also unveränderlich. Das Basissystem (alles unter /usr) ist schreibgeschützt und wird als Ganzes per rpm-ostree ausgeliefert und aktualisiert. Pakete installiert man nicht einfach so ins laufende System, sondern legt sie mit rpm-ostree install als zusätzliche Schicht obendrauf („Layering”). Die greift dann nach dem nächsten Neustart.
Genau daran scheitert die Installation per Skript:
- Das Installationsskript importiert den GPG-Schlüssel mit
rpm --importdirekt in die RPM-Datenbank und baut anschließend den Paket-Cache mitdnfauf. Beides setzt ein beschreibbares System voraus – auf Silverblue ist das nicht der Fall. sudo dnf installfunktioniert auf Silverblue grundsätzlich nicht, weildnfdort keine Pakete ins schreibgeschützte Basissystem installieren kann (bzw. darf).
Das ist kein Fehler im Projekt – Silverblue ist einfach ein Sonderfall, an den man bei so einem Skript nicht unbedingt denkt. Die gute Nachricht: Was das Skript macht, kann man ganz einfach von Hand erledigen und dann rpm-ostree die Arbeit überlassen. Der große Vorteil davon: Claude Desktop (extra) wird anschließend bei jedem Systemupdate automatisch mit aktualisiert.
So habe ich es auf Silverblue geschafft
Kurzer Hinweis vorab: Ich beschreibe hier, wie es bei mir funktioniert hat – wer das nachmacht, tut das auf eigene Gefahr.
1. GPG-Key herunterladen
Zuerst holen wir uns den GPG-Schlüssel des Repositories. /etc ist auch auf Silverblue beschreibbar, daher klappt das ohne Umwege:
sudo curl -Lo /etc/pki/rpm-gpg/claude-desktop-extra.asc https://patrickjaja.github.io/claude-desktop-extra/gpg-key.asc
2. Repo-Datei anlegen
Dann legen wir die Repo-Datei an, die das Skript sonst automatisch erstellen würde:
sudo nano /etc/yum.repos.d/claude-desktop-extra.repo
Mit folgendem Inhalt:
[claude-desktop-extra]
name=Claude Desktop extra
baseurl=https://patrickjaja.github.io/claude-desktop-extra/rpm/
enabled=1
gpgcheck=1
gpgkey=https://patrickjaja.github.io/claude-desktop-extra/gpg-key.asc
repo_gpgcheck=1
metadata_expire=300
Speichern mit Strg + O, schließen mit Strg + X.
3. Mit rpm-ostree installieren
Jetzt kommt der entscheidende Unterschied zum offiziellen Skript – statt dnf nehmen wir rpm-ostree:
sudo rpm-ostree install claude-desktop-extra
4. Neustart
Wie bei allem, was man auf Silverblue per rpm-ostree installiert, braucht es zum Schluss einen Neustart (systemctl reboot). Danach taucht Claude Desktop (extra) ganz normal im Anwendungsmenü auf und lässt sich nutzen.
Fazit
Wenn man einmal verstanden hat, warum das Skript auf Silverblue nicht greift, ist die Lösung eigentlich ziemlich unspektakulär: Repo von Hand einrichten, rpm-ostree statt dnf, neu starten – fertig. Gekostet hat mich das trotzdem mehr Zeit, als mir lieb war. Vielleicht spart dieser Beitrag dem einen oder anderen Silverblue-Nutzer da draußen ein bisschen davon.