GNU/Linux >> Belajar Linux >  >> Ubuntu

Perbaiki "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" Di Ubuntu

Hari ini saya mencoba memutakhirkan desktop Ubuntu 20.04 LTS saya dan saya menemukan kesalahan ini - "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" . Ini adalah salah satu masalah umum di Ubuntu dan sistem berbasis DEB lainnya.

Kesalahan ini biasanya terjadi karena penginstalan aplikasi yang gagal, atau jika penginstal paket dpkg menjadi rusak atau terputus di tengah jalan saat menginstal sebuah paket.

Berikut adalah perintah yang saya coba untuk memutakhirkan desktop Ubuntu saya:

$ sudo apt update
$ sudo apt upgrade

Dan... berikut adalah pesan kesalahannya:

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)

Perbaiki "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" Di Ubuntu

Jika Anda mengalami error seperti di atas, jangan khawatir! Di sini, saya telah memberikan beberapa solusi untuk memecahkan "Sub-process /usr/bin/dpkg returned an error code (1)" masalah di Ubuntu dan variannya seperti Linux Mint, Pop OS.

Solusi 1 - Konfigurasi ulang database dpkg

Jika proses penginstalan paket terhenti atau terputus di tengah jalan, database dpkg mungkin rusak. Konfigurasi ulang basis data dpkg dapat mengatasi masalah ini.

Untuk mengkonfigurasi ulang database dpkg, cukup jalankan:

$ sudo dpkg --configure -a

Perintah ini akan mencoba memperbaiki database dpkg yang rusak dan kemudian mengkonfigurasi ulang semua paket yang rusak. Perintah ini biasanya memperbaiki dpkg returned an error code (1) masalah. Jika tidak menyelesaikan masalah karena alasan apa pun, ikuti solusi berikut.

Solusi 2 - Instal aplikasi secara paksa

Jika metode pertama tidak berhasil, jalankan perintah berikut untuk melakukan force install:

$ sudo apt-get install -f

Atau,

$ sudo apt-get install --fix-broken

Di sini, -f (atau --fix-broken ) akan mencoba memperbaiki sistem Ubuntu dengan dependensi yang rusak.

Jika kedua solusi ini tidak membantu dan masalah masih berlanjut, coba solusi berikutnya.

Solusi 3 - Hapus file .deb aplikasi yang bermasalah dari folder cache lokal dan instal ulang

Seperti yang Anda lihat di pesan kesalahan (dua baris terakhir), eog paket menyebabkan kesalahan ini.

[...]
/var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb 
E: Sub-process /usr/bin/dpkg returned an error code (1)

Bagi mereka yang bertanya-tanya, eog (kependekan dari Eye of GNOME) adalah penampil gambar resmi dan default untuk lingkungan desktop GNOME. Jadi paket ini bermasalah dan tidak memungkinkan saya untuk mengupgrade Ubuntu saya.

Ketika Anda menginstal sebuah paket, itu akan diunduh dan disimpan di folder cache /var/cache/apt/archives/ .

Untuk memperbaiki kesalahan ini, hapus paket yang di-cache menggunakan perintah:

$ sudo rm /var/cache/apt/archives/eog_3.36.2-0ubuntu1_amd64.deb

Ganti eog_3.36.2-0ubuntu1_amd64.deb dengan paket Anda.

Bersihkan folder cache paket:

$ sudo apt-get clean
$ sudo apt-get autoremove

Perbarui daftar sumber:

$ sudo apt-get update

Tingkatkan sistem Anda:

$ sudo apt-get upgrade

Terakhir, dapatkan paket baru dari repositori resmi dan instal ulang seperti di bawah ini:

$ sudo apt-get install eog

Solusi ini berhasil untuk saya.

Solusi 4 - Hapus aplikasi yang bermasalah

Ini harus menjadi pilihan terakhir Anda. Jika tidak ada metode di atas yang membantu, hapus paket yang bermasalah dari sistem Anda seperti di bawah ini:

$ sudo apt-get remove --purge eog
$ sudo apt-get clean && sudo apt-get autoremove

Perintah ini akan menghapus eog dengan semua file konfigurasinya dari sistem.

Dan juga temukan dan hapus semua file yang terkait dengan paket yang rusak.

Untuk menemukan semua file yang terkait dengan sebuah paket, jalankan:

$ sudo ls -l /var/lib/dpkg/info | grep -i eog

Contoh keluaran:

-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

Hapus secara manual.

Itu dia. Pada tahap ini, salah satu dari empat solusi ini seharusnya membantu Anda memperbaiki "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" di Ubuntu dan sistem berbasis DEB lainnya.

Solusi untuk masalah umum lainnya di Ubuntu:

  • Cara Memperbaiki OS Ubuntu yang Rusak Tanpa Menginstal Ulang
  • Cara Memperbaiki Kesalahan Busybox Initramfs Di Ubuntu
  • Perbaiki Kesalahan "Menemukan bagian tanpa Paket:header" Di Ubuntu
  • Perbaiki “W:Beberapa file indeks gagal diunduh.” Kesalahan Di Ubuntu
  • Perbaiki 'E:File cache paket rusak, hashnya salah' Kesalahan Di Ubuntu
  • Cara Memperbaiki Kesalahan “E:Could not get lock /var/lib/dpkg/lock” Di Ubuntu
  • Perbaiki “dpkg:error:parsing file ‘/var/lib/dpkg/updates/0014′” Kesalahan Di Ubuntu

Ubuntu
  1. Perbaiki Kesalahan "dpkg:error:parsing file '/var/lib/dpkg/updates/0014′" Di Ubuntu

  2. Cara Mengatasi "Sub-proses /usr/bin/dpkg mengembalikan kode kesalahan (1)" Di Ubuntu

  3. /usr/bin Vs /usr/local/bin Di Linux?

  1. “e:Sub-proses /usr/bin/dpkg Mengembalikan Kode Kesalahan (1) ” Apa Artinya?

  2. Linux – Menggabungkan /usr/bin Dan /usr/sbin Ke /bin (gnu/linux)?

  3. Apa arti dari /usr/sbin, /usr/local/sbin dan /usr/local/bin?

  1. Perbaiki Sub-Proses /usr/bin/dpkg mengembalikan kode kesalahan (1)

  2. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  3. Perbedaan antara /bin dan /usr/bin