Ошибка обновления APT из fwupd.xml

Ubuntu 16.04

Я получаю это apt update ошибка:

AppStream system cache was updated, but problems were found: 
Metadata files have errors: /var/cache/app-info/xmls/fwupd.xml

Я ранее работал:

sudo apt install appstream/xenial-backports
sudo apt update
sudo apt upgrade

Вышеупомянутая ошибка все еще существует.

4
задан 10 July 2018 в 20:26

3 ответа

Я нашел, что ошибка, описанная в Вашем вопросе, вызывается опечаткой в /var/cache/app-info/xmls/fwupd.xml.

Моя процедура фиксации:

  1. Откройте этот файл на терминале с командой sudo gedit /var/cache/app-info/xmls/fwupd.xml. Я использую gedit текстовый редактор здесь. Можно использовать любой текстовый редактор, которым Вы довольны.
  2. Строка Goto 265, который говорит <checksum filename="Firmware_SF30&SN30_Pro_V1.26.dat" target="content" type="sha1">3ef2bdee8aca2a45b9f53b4d4cce9722523f57f8</checksum>. Все, что я сделал для фиксации ошибки, должно было исправить опечатку SF30&SN30 кому: SF30&amp;SN30. Это - символ & должен быть изменен на &amp;.
  3. Наконец, сохраните файл и выход.

Для проверки в случае успеха работайте на терминале sudo apt update. Ошибка не должна быть там. Но если это было все еще там, я выполнил команду appstreamcli refresh --force и затем sudo apt update. Этим этапом я больше не встречался с ошибкой во время той же сессии входа в систему.

Дополнительные примечания:

  1. Иногда, Ubuntu действительно уведомляет меня относительно новых пакетов, которые доступны для установки и попросят у меня разрешения установить эти новые пакеты. После установки этих новых пакетов я встретился с теми же сообщениями об ошибках в Вашем вопросе во время sudo apt update. Для предотвращения ошибки я просто восстанавливаю процедуру, как упомянуто выше. Надеюсь, что разработчики могут быстро исправить эту ошибку.
  2. Я столкнулся с советом удалить файлы fwupd.xml и 50appstream. Однако я заметил, что эти файлы содержали инструкции служить определенным целям. Следовательно, моя процедура фиксации не удалила те файлы. Если Вы хотите удалить их, я предлагаю, чтобы Вы сделали резервное копирование из них сначала.
1
ответ дан 1 December 2019 в 09:30

После комментариев, что решило, это для меня было:

# rm /var/cache/app-info/xmls/fwupd.xml
# appstreamcli refresh --force
AppStream cache update completed successfully.
# apt update

Все кажется прекрасным теперь.


Должен также добавить, что у меня есть версия 0.10.6 установленный от xenial/back-ports.

3
ответ дан 1 December 2019 в 09:30

После испытания того же обновления выходит, я создал краткосрочное решение, которое помогает исправить ситуацию, пока разработчики не корректируют синтаксические ошибки в проблематичном XML-файле.

Предложенное Краткосрочное Решение: bugfix.sh

#! /bin/bash
# bugfix.sh
#
# DESCRIPTION
#   Temporary fix for Ubuntu firmware update issues
#   Created by h8rt3rmin8r on 20180804
#
# BUG INFORMATION 
#   File location:  /var/cache/app-info/xmls/fwupd.xml
#   Line number:    265

SRC_STRING=$(sudo cat /var/cache/app-info/xmls/fwupd.xml)
OLD_SUBSTRING='Firmware_SF30&SN30_Pro_V1'
NEW_SUBSTRING='Firmware_SF30&amp;SN30_Pro_V1'

touch /dev/shm/bugfix.xml
echo ${SRC_STRING/$OLD_SUBSTRING/$NEW_SUBSTRING} > /dev/shm/bugfix.xml

sudo mv /dev/shm/bugfix.xml /var/cache/app-info/xmls/fwupd.xml

Инструкции Относительно Использования bugfix.sh:

Для выполнения bugfix.sh просто скопируйте код выше в новый файл (использующий текстовый редактор как gedit) и сохраните тот файл как "bugfix.sh" в удобном месте.

В то время как расположено в том же каталоге как bugfix.sh сценарий, включите выполнение сценария со следующей командой: sudo chmod +x bugfix.sh

Запустите bugfix скрипт с командой: ./bugfix.sh

Дополнительные примечания:

Запущение этого скрипта временно решит проблему под рукой. Если рассматриваемая ошибка раскрывается снова позднее, затем просто запускает скрипт снова.

Для легкого доступа Вы могли даже сохранить этот сценарий в /usr/local/bin таким образом, можно назвать его непосредственно от терминала с bugfix.sh. Затем, пока ошибка вокруг, можно звонить bugfix.sh перед выполнением sudo apt-get update && sudo apt-get -y dist-upgrade.

1
ответ дан 1 December 2019 в 09:30

Другие вопросы по тегам:

Похожие вопросы: