Files
it-know-how/Linux/yay Cache reparieren.md

67 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# yay Cache reparieren AUR-Update schlägt fehl mit „Kein Git-Repository"
## Problem
Ein AUR-Paket lässt sich mit `yay` nicht aktualisieren, obwohl es im AUR existiert und eine neue Version gemeldet wird:
```bash
yay -Syu <paket>
```
Fehlermeldung (Beispiel `supersonic-desktop`, August 2026):
```
:: (0/1) Es wurde nicht geschafft PKGBUILD zu aktualisieren: supersonic-desktop
-> Fehler beim Abrufen von supersonic-desktop: Schwerwiegend: Kein Git-Repository
(oder irgendeines der Elternverzeichnisse): .git
context: exit status 128
```
---
## Ursache
Der lokale Klon des AUR-Repos in yays Cache (`~/.cache/yay/<paket>`) ist **korrupt**.
Typisch: der `.git`-Ordner ist unvollständig (z. B. fehlen `HEAD` oder `config`),
meist nach einem abgebrochenen Clone/Pull oder einer gestörten Synchronisation.
Das AUR-Paket selbst ist in Ordnung nur die lokale Kopie ist kaputt.
---
## Diagnose
Prüfen, ob der Klon wirklich korrupt ist:
```bash
git -C ~/.cache/yay/<paket> status
```
Kommt dieselbe Meldung („Kein Git-Repository"), obwohl der Ordner existiert → Cache-Klon löschen.
---
## Lösung
Nur den betroffenen Paketordner entfernen und Update erneut ausführen:
```bash
rm -rf ~/.cache/yay/<paket>
yay -Syu
```
yay klont das PKGBUILD-Repo beim nächsten Lauf frisch danach funktioniert das Update wieder.
---
## Allgemein: yay-Cache aufräumen
| Vorgehen | Befehl | Folge |
| --- | --- | --- |
| Gezielt ein Paket (bevorzugt) | `rm -rf ~/.cache/yay/<paket>` | Nur dieses Paket wird neu geklont |
| Gesamten Cache löschen | `rm -rf ~/.cache/yay` | Sicher, aber alle AUR-Pakete werden beim nächsten `-Syu` neu geklont **und neu kompiliert** (bei großen Builds langsam) |
| Alte/unbenutzte Pakete aufräumen | `yay -Sc` | Entfernt alte Caches, aktuelle bleiben erhalten |
**Faustregel:** Immer erst den einzelnen Paketordner löschen. Den kompletten Cache nur leeren,
wenn mehrere Pakete betroffen sind er enthält nichts Kritisches, kostet aber Rebuild-Zeit.