Исправлено «Подпроцесс /usr/bin/dpkg вернул код ошибки (1)» в Ubuntu.
Сегодня я попытался обновить свой рабочий стол Ubuntu 20.04 LTS и столкнулся с этой ошибкой: "Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)". Это одна из распространенных проблем в Ubuntu и других системах на базе DEB.
Эта ошибка обычно возникает из-за неудавшейся установки приложения или из-за того, что установщик пакета dpkg поврежден или прерван во время установки пакета.
Вот команды, с помощью которых я пытался обновить рабочий стол Ubuntu:
sudo apt update
sudo apt upgrade
И... вот сообщение об ошибке:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
eog
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
21 not fully installed or removed.
Need to get 0 B/421 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n]
(Reading database ... 230012 files and directories currently installed.)
Preparing to unpack .../eog_3.36.2-0ubuntu1_amd64.deb ...
Unpacking eog (3.36.2-0ubuntu1) over (3.36.1-1) ...
dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt
dpkg-deb: error: <decompress> subprocess returned error exit status 2
dpkg: error processing archive /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb (--unpack):
cannot copy extracted data for './usr/lib/x86_64-linux-gnu/eog/libeog.so' to '/usr/lib/x86_64-linux-gnu/eog/libeog.so.dpkg-new': unexpected end of file or stream
Errors were encountered while processing:
/var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Подпроцесс usr bin dpkg вернул код ошибки 1
Исправлено «Подпроцесс /usr/bin/dpkg вернул код ошибки (1)» в Ubuntu.
Если вы столкнулись с такой ошибкой, как указано выше, не волнуйтесь! Здесь я привел несколько обходных путей для решения проблемы "Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)"
в Ubuntu и ее вариантах, таких как Linux Mint, Pop OS.
Решение 1. Перенастроить базу данных dpkg
Если процесс установки пакета остановлен или прерван на полпути, возможно, база данных dpkg повреждена. Перенастройка базы данных dpkg может решить эту проблему.
Чтобы перенастроить базу данных dpkg, просто запустите:
sudo dpkg --configure -a
Эта команда попытается исправить поврежденную базу данных dpkg, а затем перенастроить все поврежденные пакеты. Эта команда обычно устраняет проблему, связанную с тем, что dpkg вернул код ошибки (1)
. Если это не решило проблему по какой-либо причине, следуйте последующим решениям.
Решение 2. Принудительно установите приложение.
Если первый метод не сработал, выполните следующую команду для принудительной установки:
sudo apt-get install -f
Или,
sudo apt-get install --fix-broken
Здесь опция -f
(или --fix-broken
) попытается исправить систему Ubuntu с нарушенными зависимостями.
Если эти два решения не помогли и проблема не устранена, попробуйте следующее решение.
Решение 3. Удалите файл .deb проблемного приложения из папки локального кэша и переустановите его.
Как видно из сообщения об ошибке (две последние строки), эту ошибку вызывает пакет eog.
[...]
/var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Для тех, кому интересно, eog (сокращение от Eye of GNOME) — это официальная программа просмотра изображений по умолчанию для среды рабочего стола GNOME. Итак, этот пакет проблематичен и не позволяет мне обновить Ubuntu.
Когда вы устанавливаете пакет, он будет загружен и сохранен в папке кэша /var/cache/apt/archives/
.
Чтобы исправить эту ошибку, удалите кэшированный пакет с помощью команды:
sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb
Замените eog_3.36.2-0ubuntu1_amd64.deb своим пакетом.
Очистите папку кэша пакетов:
sudo apt-get clean
sudo apt-get autoremove
Обновите списки источников:
sudo apt-get update
Обновите свою систему:
sudo apt-get upgrade
Наконец, получите новый пакет из официальных репозиториев и переустановите его, как показано ниже:
sudo apt-get install eog
Это решение сработало для меня.
Решение 4. Удалите проблемное приложение.
Это должно быть вашим последним средством. Если ни один из вышеперечисленных методов не помог, удалите проблемный пакет из вашей системы, как показано ниже:
sudo apt-get remove --purge eog
sudo apt-get clean && sudo apt-get autoremove
Эта команда удалит eog со всеми его файлами конфигурации из системы.
А также найти и удалить все файлы, связанные с битым пакетом.
Чтобы найти все файлы, относящиеся к пакету, запустите:
sudo ls -l /var/lib/dpkg/info | grep -i eog
Пример вывода:
-rw-r--r-- 1 root root 61926 Apr 24 13:42 eog.list
-rw-r--r-- 1 root root 5889 Mar 29 08:01 eog.md5sums
Удалите их вручную.
Вот и все. На этом этапе любое из этих четырех решений должно было помочь вам исправить «Подпроцесс /usr/bin/dpkg
возвратил код ошибки (1)» в Ubuntu и другие системы на базе DEB.
Решения других распространенных проблем в Ubuntu:
- Как исправить сломанную ОС Ubuntu без ее переустановки
- Как исправить ошибку Busybox Initramfs в Ubuntu
- Исправить ошибку «Обнаружен раздел без заголовка Package:» в Ubuntu
- Исправление «W: некоторые индексные файлы не удалось загрузить. » Ошибка в Ubuntu
- Исправить ошибку «E: файл кэша пакета поврежден, у него неверный хеш» в Ubuntu
- Как исправить ошибку «E: Не удалось получить блокировку /var/lib/dpkg/lock» в Ubuntu
- Исправить ошибку «dpkg: ошибка: синтаксический анализ файла ‘/var/lib/dpkg/updates/0014’» в Ubuntu