Неможливо «вдало отримати розширення» через помилку бази даних appstreamcli


20

Я створив USB-накопичувач із стійкою Ubuntu 16.04 (версія версії). Я спробував декілька способів, використовуючи Startup Disk Creator і MultiSystem, але отримав однаковий кінцевий результат.

Коли я завантажуюся на USB і роблю "влучне оновлення", все добре. Коли я намагаюся "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
Чи можете ви, будь ласка, відкрити нове запитання, якщо у вас є нове або подальше запитання? Якщо ви вирішуєте важко пов'язані питання з існуючими питаннями, ви розширюєте їх сферу, що ускладнює їх відповідь. Крім того, це, мабуть, визнає недійсними відповіді. Я вирішив зняти подальше запитання. Спасибі.
Девід Фоерстер

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-накопичувач 16.04.1 живу Ubuntu.

Спочатку рішення дядька не спрацювало, але, як було запропоновано, зміна прав стала остаточним рішенням.

Тоді я знайшов відповідь №11 від Даніеля-Гімпелевича за помилку 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-накопичувача таким способом не рекомендується, це спричинить проблеми, якщо встановлено / оновлено занадто багато пакетів.

Примітка2 Краща ідея встановити Ubuntu безпосередньо на USB-накопичувач, якщо ви хочете використовувати його як завантажувальний "Німецький армійський ніж".


Якість цієї відповіді чудова. Тримайте так :)
ThatGuy

// Я можу підтвердити це на 16.04.3 LTS на прямому USB-накопичувачі на Dell XPS.
Натан Басанес

ця робота для мене .. у WSL теж .. thnx для інформації ..
Буддхіка Чатуранга

2

Пошук у Google привів мене до цього посилання: на github

Я спробував цю команду, і вона працює для мене:

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


6
Будь-ласка, не рекомендуйте 0777дозволів "будь-ласка, хак-мій-система-і-знищить-мої дані" без видимих ​​причин! Причин для цього майже ніколи немає, оскільки цього можна уникнути більш розумними модифікаціями, такими як зміна (групового) права власності. Див . Відповідь linux64kb для довідок. −1
Девід Фоерстер

//, @uncledave, чи 0755працює так само? Ви досягли ~ 20 тис. Людей, btw.
Натан Басанес

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, хоча (при першому дзвінку буде помилка, але другий дзвінок працює).


Спробував це - це "виправив" це, але потім, коли я намагався повторити процес, отримав таку ж помилку. Так що без банана. Пропозиція Олате вище допомогла, але потім призведе до чергової помилки ... дивіться коментар вище.
Бернмайстер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.