มีปัญหากับ appstreamcli เมื่อเรียกใช้การปรับปรุง apt


11

ฉันมีปัญหากับการทดสอบ debian วันนี้เมื่อฉันเรียกใช้การปรับปรุง apt โดยให้ผลตอบแทนดังนี้

E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null; fi'
E: Sub-process returned an error code

2
สวัสดีและยินดีต้อนรับสู่ U&L คุณควรปรับรูปแบบสิ่งนี้ให้เป็นทั้งคำถามและคำตอบแยกต่างหาก ย้ายโซลูชันไปยังคำตอบด้านล่างและทำเครื่องหมายตามที่ยอมรับ
DopeGhoti

คำตอบ:


14

หลังจาก Googling ฉันพบว่าบางคนบอกว่าการลบแอปสตรีมแพ็คเกจจะแก้ไขปัญหาได้

วิธีนี้ใช้ได้ผล แต่ในหลายกรณีวิธีนี้จะลบแพ็คเกจที่คุณอาจไม่ต้องการลบออก

ทางออกอื่นคือการแสดงความคิดเห็นสามบรรทัดสุดท้ายใน/etc/apt/apt.conf.d/50appstreamไฟล์ดังนี้:

...
#APT::Update::Post-Invoke-Success {
#    "if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh-cache > /dev/null | true; fi";
#};

จากนั้นให้บันทึกไฟล์และเรียกใช้apt-get updateอีกครั้ง

หลังจากเรียกใช้การอัปเกรดระบบมีโอกาสที่แพคเกจแอปสตรีมจะมีการอัพเกรดที่สามารถแก้ไขข้อผิดพลาดนี้และอาจมีข้อความเช่นนี้ปรากฏขึ้น:

Configuration file '/etc/apt/apt.conf.d/50appstream'
  ==> Modified (by yourself or by a script) since the installation.
  ==> The package distributor has released an updated version.
    What do you want to do? Your options are:
     Y or I: install the version of the maintainer package
     N or O: keep the currently installed version
       D: Show differences between versions
       Z: start a shell to examine the situation

คุณควรบอกให้ Y อัปเกรดไฟล์ที่คุณแก้ไข

ฉันโพสต์สิ่งนี้เพื่อช่วยเหลือผู้อื่นที่อาจค้นหาข้อผิดพลาดนี้


2
apt-get clean

การล้างแคช apt ดูเหมือนว่าจะแก้ไขให้ฉันด้วย จากนั้นฉันก็สามารถวิ่งได้

apt-get update

ไม่มีปัญหาหรือคำเตือนใด ๆ

แก้ไข: บางทีฉันเร็วเกินไป หลังจากทำความสะอาดแคชข้อผิดพลาดได้หายไป แต่หลังจากนั้นก็เกิดขึ้นอีกครั้ง


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