Если вы используете Debian 12 и сталкиваетесь с ошибкой, связанной с dpkg-deb
сбоем из-за поврежденного пакета во время обновления, не волнуйтесь! Это довольно распространенная проблема, которую можно легко исправить. В этом сообщении в блоге мы расскажем вам о простых шагах по устранению этой ошибки и возвращению вашей системы в рабочее состояние.
Проблема
Сообщение об ошибке может выглядеть примерно так:
[...] Unpacking libreoffice-common (4:24.8.2-1~bpo12+1) over (4:24.2.6-2~bpo12+1) ... dpkg-deb (subprocess): decompressing archive '/var/cache/apt/archives/libreoffice-common_4%3a24.8.2-1~bpo12+1_all.deb' (size=19330668) member 'data.tar': lzma error: compressed data is corrupt dpkg-deb: error: <decompress> subprocess returned error exit status 2 dpkg: error processing archive /var/cache/apt/archives/libreoffice-common_4%3a24.8.2-1~bpo12+1_all.deb (--unpack): cannot copy extracted data for './usr/lib/libreoffice/share/template/common/presnt/Freshes.otp' to '/usr/lib/libreoffice/share/template/common/presnt/Freshes.otp.dpkg-new': unexpected end of file or stream rmdir: failed to remove '/var/lib/libreoffice/share/prereg/': No such file or directory rmdir: failed to remove '/var/lib/libreoffice/share/': No such file or directory rmdir: failed to remove '/var/lib/libreoffice/program/': No such file or directory rmdir: failed to remove '/var/lib/libreoffice': No such file or directory rmdir: failed to remove '/var/lib/libreoffice': No such file or directory Errors were encountered while processing: /var/cache/apt/archives/libreoffice-common_4%3a24.8.2-1~bpo12+1_all.deb E: Sub-process /usr/bin/dpkg returned an error code (1)
Это происходит, когда менеджер пакетов (dpkg
) сталкивается с повреждённым файлом .deb
. В данном случае проблема связана с пакетом LibreOffice, но решение применимо и к другим пакетам.
Пошаговое руководство по исправлению ошибки «dpkg-deb: lzma error: compressed data is corrupt»
1. Очистите кэш APT
Первый шаг — очистить кэш APT, в котором хранится повреждённый пакет. Это можно сделать, выполнив команду:
sudo apt clean
Эта команда удаляет все файлы .deb
из /var/cache/apt/archives
, включая повреждённые файлы, которые могли быть загружены.
2. Обновите список пакетов
После очистки кэша вам нужно будет убедиться, что список пакетов вашей системы обновлен. Это гарантирует, что вы работаете с последней версией информации о пакетах:
sudo apt update
3. Обновите пакеты
После обновления списка пакетов попробуйте обновить сами пакеты. Это позволит загрузить и установить последние версии:
sudo apt upgrade
Если повреждённый пакет по-прежнему вызывает проблемы, не волнуйтесь — есть ещё один шаг, который должен решить проблему.
4. Исправьте поврежденные пакеты
Если после выполнения вышеуказанных команд вы по-прежнему сталкиваетесь с ошибками, вы можете использовать следующую команду для исправления нарушенных зависимостей:
sudo apt --fix-broken install
Или в ближайшее время:
sudo apt install -f
Эта команда повторно загрузит и установит проблемный пакет, устранив все проблемы с повреждёнными файлами или зависимостями.
Заключение
Если вы столкнулись с ошибкой «dpkg-deb: lzma error: compressed data is corrupt» в Debian 12 или любой другой версии Ubuntu, описанные выше шаги помогут вам её исправить. Начните с очистки кэша и обновления списка пакетов, затем обновите пакеты. Если это не помогло, используйте опцию --fix-broken
(-f
) для восстановления повреждённых файлов или нарушенных зависимостей.