2016-02-07 12 views
24

Używam sudo pacman -Syu na moim ArchLinux i otrzymuję następujące:nie można uaktualnić ArchLinux (pacman -Syu nie działa)

[email protected]:~$ sudo pacman -Syu 
:: Synchronizing package databases... 
core is up to date 
extra is up to date 
community is up to date 
multilib is up to date 
xenlism-arch is up to date 
:: Starting full system upgrade... 
resolving dependencies... 
looking for conflicting packages... 
error: failed to prepare transaction (could not satisfy dependencies) 
:: package-query: requires pacman<4.3 

Jaki będzie rozwiązanie to naprawić?

UPDATE

Próbowałem oba rozwiązania sugested przez @jham. Całkowicie usunąłem zapytanie yaourt i pakiet. Na pacman -Qi pacman w "wymagane przez" Mam none. Skomentowałem również multilib i xenlism-arch z pacman.conf. Kiedy zrobić pacman -Syu uzyskać następujące:

:: Proceed with installation? [Y/n] 
(244/244) checking keys in keyring        [###################################] 100% 
(244/244) checking package integrity       [###################################] 100% 
error: confuse: signature from "Thorsten Töpper <[email protected]>" is unknown trust 
:: File /var/cache/pacman/pkg/confuse-2.8-2-x86_64.pkg.tar.xz is corrupted (invalid or corrupted package (PGP signature)). 
Do you want to delete it? [Y/n] 
error: failed to commit transaction (invalid or corrupted package) 
Errors occurred, no packages were upgraded. 
+1

Czy masz pakiet-zapytanie i yaourt zainstalowane? Jeśli tak, prawdopodobnie masz konflikt z zapytaniem o pakiet. Wypróbuj 'yaourt -S package-query', a następnie ponownie rozpocznij aktualizację za pomocą pacmana. Następnie musisz przebudować zapytanie pakietowe, ponieważ prawdopodobnie nie będzie ono kompatybilne z nowym pacmanem. – jham

+1

Ogólnie wygląda na to, że istnieje pakiet zainstalowany lokalnie, który nie jest zarządzany w oficjalnym repozytorium archlinux). Możesz sprawdzić, które pakiety wymagają aktualnie zainstalowanej wersji pacmana z 'pacman -Qi pacman' (poszukaj w sekcji" Wymagane przez "sekcji). Dobry początek, aby zobaczyć, czy któryś z wymienionych pakietów występuje na liście pakietów zainstalowanych lokalnie (np. Ponad yaourt) za pomocą 'pacman -Qm'. Jeśli znajdziesz taki, to usuń ten pakiet i spróbuj uaktualnić ponownie za pomocą pacmana. Możliwe również, że istnieje konflikt z pakietem pochodzącym z repozytorium multilib lub xenlism-arch, które dodałeś. – jham

+0

Mam zaktualizowane początkowe pytanie z aktualną sytuacją po tym, jak wypróbowałem twoje rozwiązania jham. Proszę sprawdź to. Dziękuję Ci. – Cristian

Odpowiedz

42

miałem tylko ten bardzo ten sam błąd. Problem wydaje się, że są nowe klucze w pakiecie archlinux-keyring i nowe pakiety (confuse) podpisane tymi kluczami. Ponieważ oba pakiety są aktualizowane w tej samej transakcji, nowe klucze nie mogą być używane, dopóki aktualizacja nie zostanie zakończona, ale transakcja nie rozpocznie się, dopóki pakiety nie zostaną sprawdzone ...

Rozwiązaniem byłoby zaktualizowanie archlinux-keyring przez sam:

pacman -S archlinux-keyring 

A potem zajmiemy się resztą:

pacman -Su 

Jeśli to nie pomoże, można spróbować uruchomić ręcznie za pomocą klawiszy z:

pacman-key --populate 

, ale zazwyczaj nie jest to konieczne.

+0

Dziękuję. Zadziałało. – Cristian

+0

Usunąłem '/ etc/pacman.Katalog d/gnupg' służy do resetowania wszystkich kluczy, 'pacman-key --populate' zapisał dzień –

2

Dla każdego, kto tu nie znalazł rozwiązania pracy rorido, spróbuj użytkowników Bernharda Fürsta lub Jham'a z odpowiedzi na pacman -S package-query, który zadziałał dla mnie bez problemów.

Ponadto, jeśli nadal pojawiają się problemy, takie jak this z libalpm.so.8: cannot open shared object file: No such file or directory, należy ręcznie ponownie zainstalować zapytanie pakietowe i hasło.

sudo pacman-db-upgrade 
yaourt -R package-query yaourt 

git clone https://aur.archlinux.org/package-query.git 
cd package-query 
makepkg -si 
cd .. 
git clone https://aur.archlinux.org/yaourt.git 
cd yaourt 
makepkg -si 
cd .. 
7

ja akurat mam ten sam problem i rozwiązać go w następujący sposób:

$ sudo pacman -Rdd package-query # Purge the conflicting package-query 
$ sudo pacman -Syu    # There it works 

# Now reinstall package-query 
$ git clone https://aur.archlinux.org/package-query.git 
$ cd package-query && makepkg -si 
Powiązane problemy