Nie można „apt-get dist-upgrade” z powodu błędu bazy danych appstreamcli

20

Stworzyłem pamięć USB z trwałym Ubuntu 16.04 (wersja wydania). Próbowałem na kilka sposobów, używając Startup Disk Creator i MultiSystem, ale otrzymuję ten sam efekt końcowy.

Po uruchomieniu komputera i wykonaniu „apt-get update” wszystko jest w porządku. Kiedy próbuję „apt-get dist-upgrade” otrzymuję:

** (appstreamcli: 2761): KRYTYCZNY **: Błąd podczas przenoszenia starej bazy danych z drogi. Aktualizacja pamięci podręcznej AppStream nie powiodła się.

Jedyne odniesienie do tego komunikatu o błędzie, który mogę znaleźć, to https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472, ale wydaje się być naprawiony, przynajmniej do czasu wydania wersji Ubuntu 16.04

Poza tym: chcę przetestować Unity8, który obejmuje instalację oprogramowania. Nie mam zapasowego komputera, więc pomyślałem, że trwałe łącze USB załatwi sprawę.

Jacyś chętni?

Bernmeister
źródło
2
Czy rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt cleanpomaga
Olathe
Zdarzyło mi się to kiedyś przy nietrwałym Live USB. Dla mnie sudo rm -rf /var/lib/apt/listswystarczyło uruchomić , apt updatea kolejna instalacja znów działała, choć z tym samym błędem, że „CD-ROM” nie ma pliku Release.
mwfearnley
1
Czy możesz otworzyć nowe pytanie, jeśli masz nowe pytanie lub pytanie uzupełniające? Jeśli zadajesz mało powiązane pytania do istniejących pytań, poszerzasz ich zakres, co sprawia, że ​​trudniej jest na nie odpowiedzieć. Ponadto prawdopodobnie unieważnia istniejące odpowiedzi. Pozwoliłem sobie usunąć pytanie uzupełniające. Dzięki.
David Foerster
2
Mam dokładnie ten sam błąd, gdy robi sudo apt-get update, a tu rozwiązań nie pomogło: Próbowałem usuwając /var/lib/apt/listsa /var/cache/apti to nie rozwiązało problemu. Uprawnienia do /var/cache/app-info/xapian/defaultzostały już poprawnie skonfigurowane. Co pomogło cd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old default. Wyjaśniono to tutaj: bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971 (komentarz # 11).
fiktor

Odpowiedzi:

29

Zdarzyło mi się to również przy użyciu trwałej pamięci USB Ubuntu 16.04.1 na żywo.

Rozwiązanie uncledave na początku nie działało, ale jak sugerowano, zmiana praw była ostatecznym rozwiązaniem.

Potem znalazłem odpowiedź # 11 od daniel-gimpelevich na błąd 1601971 Następujące polecenia pomogły mi naprawićapt-get update

sudo chmod -R a+rX,u+w /var/cache/app-info/xapian/default

Jak mogłem odgadnąć, że 755 jest odpowiednią maską? Różnica pomiędzy

ls -ld /var/cache/app-info/xapian
drwxr-xr-x 1 root root 4096 Nov 19 20:35 /var/cache/app-info/xapian/

i

ls -ld /var/cache/app-info/xapian/default
drw-r--r-- 2 root root 4096 Jul 19 20:54 /var/cache/app-info/xapian/default

Po tej aktualizacji apt-get działał dobrze.

sudo apt-get update
Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://security.ubuntu.com/ubuntu xenial-security InRelease [94.5 kB]
Get:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [95.7 kB]      
Fetched 190 kB in 0s (312 kB/s)                                                
Reading package lists... Done

Uwaga 1 Uaktualnienie trwałej pamięci USB w ten sposób nie jest zalecane, ponieważ spowoduje to problemy, jeśli zainstaluje się / zaktualizuje zbyt wiele pakietów.

Uwaga 2 Lepiej jest zainstalować Ubuntu bezpośrednio na pamięci USB, jeśli chcesz go używać jako rozruchowego „szwajcarskiego scyzoryka”.

linux64kb
źródło
Jakość tej odpowiedzi jest świetna. Tak trzymaj :)
ThatGuy
//, mogę potwierdzić, że działa to 16.04.3 LTS na dysku USB na żywo w Dell XPS.
Nathan Basanese
ta praca dla mnie .. w WSL też .. dziękuję za informację ..
Buddhika Chaturanga
2

Wyszukiwarka google doprowadziła mnie do tego linku: na github

Wypróbowałem to polecenie i działa dla mnie:

chmod 777 /var/cache/app-info/xapian/default -R

uncledave
źródło
6
Proszę nie polecać 0777aka uprawnień „proszę hack-mój-system-i-zniszcz-moje-dane” bez wyraźnego powodu! Prawie nigdy nie ma powodu, aby tego robić, ponieważ można tego uniknąć dzięki bardziej rozsądnym modyfikacjom, takim jak zmiana własności (grupy). Zobacz odpowiedź linux64kb w celach informacyjnych. -1
David Foerster
//, @uncledave, czy też 0755działa? Dotarłeś do ~ 20 000 osób, przy okazji.
Nathan Basanese
1
@NathanBasanese 755 na pewno działa
linux64kb
1

Na moim trwałym USB na żywo z 16.04.1, właśnie wpisałem

sudo -i

Potem jak root

sudo apt-get update I wszystko było w porządku. Następnie

exit

I wracając do mojej oryginalnej ścieżki ubuntu @ ubuntu.

Susansdad
źródło
0

W moim systemie (opartym na Ubuntu Xenial) był to początkowy układ perms:

drwxr-xr-x 2 root root 4096 Sep 28 12:32 /var/cache/app-info/xapian/default/

Uwaga: grupa nie miała dostępu „w”. Naprawiono

chmod g+w /var/cache/app-info/xapian/default

, więc nie ma tu żadnych niebezpieczeństw (jak w c0m3h4ckm3 :))

terebinT
źródło
-1

Nie wiem, jak poprawnie rozwiązać ten problem, ale apt-get dist-upgradepodwójne dzwonienie działa dla mnie, jestem jednak w stanie odtworzyć go na zainstalowanym Ubuntu (przy pierwszym wywołaniu wystąpi błąd, ale drugie zadziała).

Defman
źródło
Próbowałem - to „naprawiło” to, ale potem, gdy próbowałem powtórzyć proces, dostałem ten sam błąd. Więc nie ma banana. Sugestia Olathe powyżej pomogła, ale doprowadziła do kolejnego błędu ... patrz komentarz powyżej.
Bernmeister