Вопрос или проблема
Пакет прошивки не устанавливается.
dpkg-deb (подпроцесс): разархивирование архива '/var/cache/apt/archives/linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb' (размер=483854410)
член 'data.tar': ошибка zstd: Обнаружено повреждение данных
Я попытался принудительно переустановить и повторно скачать пакет, и ошибка все еще возникает. Как мне это исправить?
Полный вывод команды ниже:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb
(Чтение базы данных ... 312180 файлов и директорий в настоящее время установлено.)
Подготовка к распаковке .../linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb ...
Распаковка linux-firmware (20240318.git3b128b60-0ubuntu2.4) поверх (20220329.git681281e4-0ubuntu3.34) ...
dpkg-deb (подпроцесс): разархивирование архива '/var/cache/apt/archives/linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb' (размер=483854410) член 'data.tar': ошибка zstd: Обнаружено повреждение данных
dpkg-deb: ошибка: <decompress> подпроцесс вернул код завершения с ошибкой 2
dpkg: ошибка обработки архива /var/cache/apt/archives/linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb (--install):
не удается скопировать извлеченные данные для './lib/firmware/mrvl/pcieuart8997_combo_v4.bin.zst' в '/lib/firmware/mrvl/pcieuart8997_combo_v4.bin.zst.dpkg-new': неожиданный конец файла или потока
update-initramfs: Генерация /boot/initrd.img-6.8.0-45-generic
update-initramfs: Генерация /boot/initrd.img-5.15.0-122-generic
dracut-install: не удалось получить modinfo от 'cicada': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'cortina': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'dp83822': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'dp83867': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'dp83848': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'dp83640': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'bcm54140': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'bcm7xxx': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'davicom': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'broadcom': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'et1011c': ошибка формата выполнения
dracut-install: не удалось получить modinfo от 'bcm87xx': ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/bcm54140.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/bcm7xxx.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/bcm87xx.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/broadcom.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/cicada.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/cortina.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/davicom.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/dp83640.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/dp83822.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/dp83848.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/dp83867.ko: ошибка формата выполнения
depmod: ОШИБКА: не удалось загрузить символы из /var/tmp/mkinitramfs_oobXcr/lib/modules/5.15.0-122-generic/kernel/drivers/net/phy/et1011c.ko: ошибка формата выполнения
update-initramfs: Генерация /boot/initrd.img-5.15.0-112-generic
update-initramfs: Генерация /boot/initrd.img-5.15.0-97-generic
Во время обработки возникли ошибки:
/var/cache/apt/archives/linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb
Обычно, когда у вас возникает ошибка Exec format error
, инструменты, используемые для сборки модулей, несовместимы с работающим ядром.
Пожалуйста, убедитесь, что установленные версии и архитектура соответствуют машине и ядру, которые работают. Лучший способ добиться этого – загрузиться с USB-накопителя, предпочтительно с той же версии, к которой вы переходите, удалить установленный пакет прошивки и переустановить его с помощью пакетного менеджера.
Эти шаги помогут вам:
-
Загрузитесь с USB-накопителя. Как только вы попадете в оболочку, определите свои диски с помощью
lsblk
-
Создайте папку для монтирования раздела с помощью
mkdir -p /mnt/root
-
Теперь смонтируйте некоторые файловые системы в новую корневую папку:
mount /dev/sdXY /mnt/root
mount --bind /dev /mnt/root/dev
mount --bind /proc /mnt/root/proc
mount --bind /sys /mnt/root/sys
- Теперь
chroot
в смонтированную файловую систему:
chroot /mnt/root /bin/bash
Следующие шаги заключаются в том, чтобы удалить пакет прошивки, убедиться, что sources.list
указывает на правильную версию, обновить кэш, обновить все ожидающие пакеты и установить правильный пакет прошивки.
- Найдите установленный пакет прошивки и удалите его:
dpkg -l '*linux-firmware*'
# проверьте, есть ли разные версии, и удалите ту, которую вы принудительно установили
apt remove --purge linux-firmware-xxxxx
-
Проверьте файлы в
/etc/apt/sources.list
и/etc/apt/sources.list.d
и посмотрите, указывают ли они наnoble
версию. Иногда, когда обновление не удается, эти файлы возвращаются к предыдущей версии. -
Выполните обновление и улучшение, чтобы убедиться, что все обновлено.
apt update
apt upgrade -y
- Переустановите пакет прошивки
apt install linux-firmware
- Отмонтируйте файловые системы
umount /mnt/root/sys
umount /mnt/root/proc
umount /mnt/root/dev
umount /mnt/root
- Перезагрузите и проверьте, работает ли это.
Ответ или решение
Проблема с обновлением до версии 24.4 связана с ошибкой при установке прошивки. Ошибка, отображаемая в процессе установки, указывает на повреждение данных в архиве linux-firmware_20240318.git3b128b60-0ubuntu2.4_amd64.deb
. В частности, возникает ошибка декомпрессии, что может говорить о проблемах с файлом пакета или о несовместимости инструментов с ядром, под которым вы работаете.
Вот шаги, которые вам необходимо выполнить для исправления этой проблемы:
-
Загрузитесь с USB-диска. Это позволит вам работать с вашей системой в безопасном режиме. Используйте USB-диск с той же версией вашей ОС, что и планируемое обновление.
-
Идентификация дисков: После загрузки в оболочке выполните команду
lsblk
, чтобы определить ваши диски и разделы. -
Создайте папку для монтирования:
mkdir -p /mnt/root
-
Смонтируйте ваши файловые системы:
mount /dev/sdXY /mnt/root # Замените sdXY на нужный раздел mount --bind /dev /mnt/root/dev mount --bind /proc /mnt/root/proc mount --bind /sys /mnt/root/sys
-
Войдите в chroot:
chroot /mnt/root /bin/bash
-
Удалите установленный пакет прошивки:
Сначала найдите установленные пакеты прошивки:dpkg -l '*linux-firmware*'
Затем удалите найденный пакет, который вызывает проблемы:
apt remove --purge linux-firmware-xxxxx # Замените xxxxx на нужное название
-
Проверьте ваш файл источников:
Убедитесь, что/etc/apt/sources.list
и файлы в/etc/apt/sources.list.d
указывают на правильную версию. Иногда эти файлы могут откатиться на предыдущую версию после неудачного обновления. -
Обновите кэш и обновите систему:
Выполните:apt update apt upgrade -y
-
Переустановите пакет прошивки:
Выполните команду:apt install linux-firmware
-
Отмонтируйте файловые системы:
Выполните:umount /mnt/root/sys umount /mnt/root/proc umount /mnt/root/dev umount /mnt/root
-
Перезагрузите систему:
После всех выполненных шагов, перезагрузите систему и проверьте, решена ли проблема с установкой.
Если после выполнения всех этих шагов ошибка все равно будет возникать, возможно, стоит проверить состояние жесткого диска или файловой системы на предмет повреждений, а также убедиться, что вы используете совместимые версии пакетов для вашего конкретного ядра.