ไม่สามารถ 'apt-get dist-upgrade' ได้เนื่องจากข้อผิดพลาดของฐานข้อมูล appstreamcli


20

ฉันได้สร้างแท่ง USB ด้วย Ubuntu 16.04 แบบถาวร (รุ่นวางจำหน่าย) ฉันลองสองสามวิธีโดยใช้ Startup Disk Creator และ MultiSystem แต่ฉันได้ผลลัพธ์ที่เหมือนกัน

เมื่อฉันบูตเข้าสู่ USB และทำการ 'apt-get update' ทั้งหมดนี้ก็ใช้ได้ เมื่อฉันลอง 'apt-get dist-upgrade' ฉันจะได้รับ:

** (appstreamcli: 2761): สำคัญยิ่ง **: เกิดข้อผิดพลาดขณะย้ายฐานข้อมูลเก่าออกไป การอัปเดตแคช AppStream ล้มเหลว

การอ้างอิงถึงข้อความแสดงข้อผิดพลาดนี้ที่ฉันพบคือhttps://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1561472แต่ดูเหมือนว่าจะได้รับการแก้ไขอย่างน้อยจะได้รับการแก้ไขอย่างน้อยตามเวลาที่ Ubuntu รุ่นวางจำหน่าย 16.04

นอกเหนือจาก: ฉันต้องการทดสอบ Unity8 ซึ่งรวมถึงการติดตั้งซอฟต์แวร์ ฉันไม่มีคอมพิวเตอร์สำรองดังนั้นฉันคิดว่า USB แบบต่อเนื่องจะทำเคล็ดลับ

ผู้รับใด ๆ


2
ไม่rm -rf /var/lib/apt/lists /var/cache/apt; apt update; apt cleanช่วยเหลือ?
โอเลเท

สิ่งนี้เกิดขึ้นกับฉันในครั้งเดียวด้วย Live USB ที่ไม่ต่อเนื่อง สำหรับฉันแล้วการใช้งานsudo rm -rf /var/lib/apt/listsก็เพียงพอแล้วที่จะได้รับapt updateและการติดตั้งในภายหลังจะทำงานอีกครั้งแม้ว่าจะมีข้อผิดพลาดเดียวกันเกี่ยวกับ "CD-ROM" ที่ไม่มีไฟล์ Release
mwfearnley

1
คุณช่วยเปิดคำถามใหม่ได้ไหมถ้าคุณมีคำถามใหม่หรือคำถามติดตาม? หากคุณไม่มีคำถามที่เกี่ยวข้องกับคำถามที่มีอยู่คุณกำลังขยายขอบเขตของคำถามซึ่งทำให้ยากต่อการตอบ ยิ่งไปกว่านั้นดูเหมือนว่าจะทำให้คำตอบที่มีอยู่นั้นไม่ถูกต้อง ฉันใช้เสรีภาพในการลบคำถามติดตาม ขอบคุณ
David Foerster

2
ฉันได้รับข้อผิดพลาดเหมือนกันทุกประการเมื่อทำเช่นsudo apt-get updateนั้นและวิธีแก้ปัญหาที่นี่ไม่ได้ช่วย: ฉันได้ลองลบ/var/lib/apt/listsแล้ว/var/cache/aptและนี่ก็ไม่ได้ช่วยแก้ปัญหา /var/cache/app-info/xapian/defaultตั้งค่าการอนุญาตสำหรับแล้วอย่างถูกต้อง ความช่วยเหลือคือcd /var/cache/app-info/xapian; sudo mv default default_old; sudo mv default_old defaultอะไร นี่คือคำอธิบายที่นี่: bugs.launchpad.net/ubuntu/+source/appstream/+bug/1601971 (ความคิดเห็น # 11)
fiktor

คำตอบ:


29

สิ่งนี้ก็เกิดขึ้นกับฉันด้วยการใช้ USB ติดแบบถาวรของ Ubuntu แบบ 16.04.1

วิธีแก้ปัญหาของ uncledave ไม่ได้ทำงานในตอนแรก แต่ตามที่แนะนำการเปลี่ยนสิทธิ์เป็นวิธีแก้ไขปัญหาขั้นสุดท้าย

จากนั้นฉันได้พบคำตอบ # 11 จาก daniel-gimpelevich สำหรับข้อผิดพลาด 1601971 คำสั่งต่อไปนี้ช่วยฉันซ่อมแซมapt-get update

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

ฉันเดาได้อย่างไรว่า 755 เป็นหน้ากากที่ถูกต้อง? ความแตกต่างระหว่าง

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

และ

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

หลังจากอัปเดต apt-get นี้ทำงานได้ดี

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

หมายเหตุ 1 ไม่แนะนำให้ทำการอัปเกรดแท่ง USB แบบต่อเนื่องที่ใช้งานจริงซึ่งจะทำให้เกิดปัญหาหากมีการติดตั้ง / อัพเกรดแพ็คเกจมากเกินไป

Note2เป็นความคิดที่ดีกว่าในการติดตั้ง Ubuntu ลงในก้าน USB โดยตรงหากคุณต้องการใช้เป็น "Swiss Army Knife" ที่สามารถบู๊ตได้


คุณภาพของคำตอบนี้ยอดเยี่ยมมาก ให้ทัน :)
ThatGuy

//, ฉันสามารถยืนยันได้ว่าใช้งานได้กับ 16.04.3 LTS บนไดรฟ์ USB สดใน Dell XPS
นาธาน Basanese

งานนี้สำหรับฉัน .. ใน WSL ด้วย .. ขอบคุณสำหรับข้อมูล ..
Buddhika Chaturanga

2

การค้นหา google ทำให้ฉันไปที่ลิงค์นี้: บน github

ฉันได้ลองใช้คำสั่งนี้แล้วมันได้ผลกับฉัน:

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


6
กรุณาอย่าแนะนำ0777aka“ โปรดแฮ็คระบบของฉันและทำลายข้อมูลของฉัน” โดยไม่มีเหตุผลที่ชัดเจน! แทบไม่มีเหตุผลที่จะทำเช่นนั้นเพราะสามารถหลีกเลี่ยงได้ด้วยการปรับเปลี่ยนที่สมเหตุสมผลมากขึ้นเช่นการเปลี่ยนความเป็นเจ้าของ (กลุ่ม) ดูคำตอบของ linux64kbสำหรับการอ้างอิง −1
David Foerster

//, @uncledave 0755ทำงานได้ดีเช่นกัน? คุณมาถึงคนประมาณ 20k btw
นาธาน Basanese

1
@NathanBasanese 755 ทำงานได้อย่างแน่นอน
linux64kb

1

บน USB สดแบบคงที่ของฉันที่มี 16.04.1 พิมพ์เพียง

sudo -i

จากนั้นในขณะที่รากทำ

sudo apt-get update และทุกอย่างเรียบร้อยดี แล้วก็

exit

และกลับไปที่เส้นทางเดิมของฉัน ubuntu @ ubuntu


0

ในระบบของฉัน (ตาม ubuntu xenial) นี่เป็นเค้าโครง perms เริ่มต้น:

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

หมายเหตุกลุ่มไม่สามารถเข้าถึง 'w' ได้ การแก้ไขคือ

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

ดังนั้นจึงไม่มีอันตรายที่นี่ (เช่นใน c0m3h4ckm3 :))


-1

ฉันไม่ทราบวิธีแก้ไขปัญหานี้อย่างถูกต้อง แต่การโทรapt-get dist-upgradeสองครั้งทำงานได้สำหรับฉันฉันสามารถทำซ้ำได้บน Ubuntu ที่ติดตั้งไว้แล้ว (ในการโทรครั้งแรกจะมีข้อผิดพลาด แต่การโทรครั้งที่สองทำงานได้)


พยายามที่ - มัน "แก้ไข" มัน แต่แล้วเมื่อฉันพยายามที่จะทำซ้ำกระบวนการได้รับข้อผิดพลาดเดียวกัน ดังนั้นไม่มีกล้วย ข้อเสนอแนะโดย Olathe ข้างต้นช่วย แต่แล้วนำไปสู่ข้อผิดพลาดอื่น ... ดูความคิดเห็นด้านบน
Bernmeister
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.