Przy okazji innego problemu, pojawił mi się dziwna sytuacja, gdzie w cache Pacmana ( /var/cache/pacman/pkg/
) większość plików z ostatnich dni jest pusta (ma długość 0), np.
ls -lrt
...
-rw-r--r-- 1 root root 0 09-19 22:34 firefox-92.0-2.0-pentium4.pkg.tar.zst.sig
-rw-r--r-- 1 root root 0 09-19 22:34 firefox-92.0-2.0-pentium4.pkg.tar.zst
Aktualizacje tu robione były za pomocą sudo pacman -Syu
.
Zastanawiam się teraz:
- dlaczego są one zerowe? (czy tak ma być i oznacza to, że np. aktualizacja się nie zakończyła poprawnie?)
- czy należy ręcznie usunąć te puste pliki z cache, przed ponowną aktualizacją systemu czy tych pojedynczych pakietów?
Edit:
Częściowo odpowiedziałem sobie na zadane pytania.
Próbowałem reinstalować poszczególny pakiety, ale z ich pustymi plikami w cache nie było to możliwe, więc usunąłem ręcznie puste pliki z cache.
Potem zaktualizowałem system komendą pacman -Syyuu
, co zaktualizowało kilka z wcześniej pustych pakietów.
Jednak nie wszystkie.
Aktualizacja pakietu xz
oraz firefox
, komendą pacman -S xz
wprawdzie pobrała aktualny pakiet do cache, ale pojawiły się błędy:
: Pobieranie pakietów…
xz-5.2.5-2.0-pen... 312,4 KiB 559 KiB/s 00:01 [######################] 100%
(1/1) sprawdzanie kluczy w bazie [######################] 100%
(1/1) sprawdzanie spójności pakietów [######################] 100%
(1/1) wczytywanie listy plików [######################] 100%
(1/1) sprawdzanie konfliktów plików [######################] 100%
błąd: nie udało się dokonać transakcji (konfliktujące pliki)
xz: /usr/bin/lzcat znajduje się w systemie plików
xz: /usr/bin/lzcmp znajduje się w systemie plików
xz: /usr/bin/lzdiff znajduje się w systemie plików
itd..
Podobnie było z firefox.
Jak teraz wymusić aktualizację pojedynczego pakietu? (kiedyś była opcja pacman -S --force NazwaPakietu
, ale dziś już jej nie ma)
Edit2:
Komenda podana w Wiki Arch do wymuszania aktualizacji :
sudo pacman -S --overwrite glob xz
też nie działa. Są te same komunikaty błędów.
Edit3:
Wyjątkowo toporny był pakiet firefox
, który nie działał, ale nie można go było usunąć, nie można było zaktualizować ani zdegradować, a komenda pacman -Q firefox
mówiła, że nie ma takiego pakietu!
Ale w końcu znalazłem działające rozwiązania do wymuszenia aktualizacji pakietu:
sudo pacman -S --overwrite /\* NazwaPakietu