Tidak dapat 'apt-get dist-upgrade' karena kesalahan database appstreamcli


20

Saya telah membuat stik USB dengan Ubuntu 16.04 persisten (versi rilis). Saya mencoba beberapa cara, menggunakan Startup Disk Creator dan MultiSystem, tetapi saya mendapatkan hasil akhir yang sama.

Ketika saya boot ke USB dan melakukan 'apt-get update', semuanya baik-baik saja. Ketika saya mencoba 'apt-get dist-upgrade' saya mendapatkan:

** (appstreamcli: 2761): KRITIS **: Kesalahan saat memindahkan basis data lama. Pembaruan cache AppStream gagal.

Satu-satunya referensi untuk pesan kesalahan ini yang dapat saya temukan adalah https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472 tetapi tampaknya sudah diperbaiki, setidaknya diperbaiki pada saat versi rilis Ubuntu 16.04.

Selain: Saya ingin menguji Unity8, yang termasuk menginstal perangkat lunak. Saya tidak punya komputer cadangan, jadi saya pikir USB gigih akan melakukan trik.

Ada yang mengambil?


2
Apakah rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt cleanmembantu?
Olathe

Ini terjadi pada saya pada suatu kesempatan dengan Live USB yang tidak persisten. Bagi saya, menjalankan sudo rm -rf /var/lib/apt/listssudah cukup untuk mendapatkan apt updatedan instalasi berikutnya bekerja lagi, meskipun dengan kesalahan yang sama tentang "CD-ROM" tidak memiliki file Rilis.
mwfearnley

1
Bisa tolong membuka pertanyaan baru jika Anda memiliki pertanyaan baru atau tindak lanjut? Jika Anda memasukkan pertanyaan yang hampir tidak terkait ke pertanyaan yang ada, Anda memperluas cakupannya yang membuatnya lebih sulit untuk dijawab. Selain itu, kemungkinan jawaban itu sudah tidak berlaku lagi. Saya mengambil kebebasan untuk menghapus pertanyaan tindak lanjut. Terima kasih.
David Foerster

2
Aku punya persis kesalahan yang sama ketika melakukan sudo apt-get update, dan solusi di sini tidak membantu: Saya sudah mencoba menghapus /var/lib/apt/listsdan /var/cache/aptdan ini tidak menyelesaikan masalah. Izin untuk /var/cache/app-info/xapian/defaultsudah diatur dengan benar. Apa yang membantu itu cd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old default. Ini dijelaskan di sini: bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971 (komentar # 11).
fiktor

Jawaban:


29

Ini juga terjadi pada saya menggunakan live stick persisten Ubuntu 16.04.1 Ubuntu.

Solusi uncledave pada awalnya tidak berhasil, tetapi seperti yang disarankan, mengubah hak adalah solusi terakhir.

Kemudian saya menemukan jawaban # 11 dari daniel-gimpelevich untuk bug 1601971 Perintah berikut membantu saya memperbaikiapt-get update

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

Bagaimana saya bisa menebak bahwa 755 adalah topeng yang tepat? Perbedaan antara

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

dan

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

Setelah pembaruan apt-get ini berjalan dengan baik.

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

Note1 Meng-upgrade USB stick persisten langsung dengan cara ini tidak disarankan karena akan menyebabkan masalah jika terlalu banyak paket diinstal / ditingkatkan.

Note2 Adalah ide yang lebih baik untuk menginstal Ubuntu langsung ke stik USB jika Anda ingin menggunakannya sebagai "Pisau Swiss Army" yang dapat di-boot.


Kualitas jawaban ini luar biasa. Teruskan :)
ThatGuy

//, saya dapat mengonfirmasi ini berfungsi pada 16.04.3 LTS pada drive USB langsung pada Dell XPS.
Nathan Basanese

ini bekerja untuk saya .. di WSL juga .. thnx untuk info ..
Buddhika Chaturanga

2

Pencarian google membawa saya ke tautan ini: di github

Saya sudah mencoba perintah ini dan berfungsi untuk saya:

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


6
Tolong jangan rekomendasikan 0777izin alias "tolong-retas-sistem-dan-hancurkan-data-saya" tanpa alasan yang jelas! Hampir tidak pernah ada alasan untuk melakukan itu karena dapat dihindari dengan modifikasi yang lebih masuk akal seperti mengubah kepemilikan (grup). Lihat jawaban linux64kb untuk referensi. −1
David Foerster

//, @uncledave, apakah 0755berhasil juga? Anda telah mencapai ~ 20k orang, btw.
Nathan Basanese

1
@NathanBasanese 755 pasti bekerja
linux64kb

1

Di USB langsung saya yang persisten dengan 16.04.1, Baru diketik

sudo -i

Kemudian seperti yang dilakukan root

sudo apt-get update Dan semuanya baik-baik saja. Kemudian

exit

Dan kembali ke jalur asli saya ubuntu @ ubuntu.


0

Di sistem saya (berdasarkan ubuntu xenial) ini adalah tata letak perms awal:

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

Catatan, grup tidak memiliki akses 'w'. Cara mengatasinya adalah

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

, jadi tidak ada bahaya di sini (seperti pada c0m3h4ckm3 :))


-1

Saya tidak tahu bagaimana cara memperbaiki masalah ini dengan benar, tetapi menelepon apt-get dist-upgradedua kali berfungsi untuk saya, saya dapat mereproduksinya pada Ubuntu yang sudah diinstal (pada panggilan pertama akan ada kesalahan, tetapi panggilan kedua berfungsi).


Mencoba itu - itu "diperbaiki" itu, tetapi kemudian ketika saya mencoba mengulangi prosesnya, mendapat kesalahan yang sama. Jadi tidak ada pisang. Saran oleh Olathe di atas membantu, tetapi kemudian mengarah ke kesalahan lain ... lihat komentar di atas.
Bernmeister
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.