5 perintah untuk memperbaiki paket rusak di Linux dengan cepat


Sebagian besar pengguna Linux pada akhirnya akan menemui paket yang rusak. Pembaruan yang terhenti, instalasi yang gagal, atau ketergantungan yang hilang adalah semua masalah yang berkontribusi pada paket yang rusak. Meskipun terkadang memungkinkan menggunakan antarmuka grafis Linux seperti Synaptic untuk memperbaiki banyak masalah, saya lebih suka menggunakan perintah terminal terlebih dahulu.

Mari kita mulai dari tempat kebanyakan orang tinggal: turunan Debian seperti Linux Mint, Ubuntu, dan Pop!_OS. Ini adalah lingkungan yang paling nyaman saya gunakan dan yang akan menjadi fokus saya. Saya telah mencoba-coba infrastruktur Linux lainnya, jadi saya akan menambahkan ulasan singkat untuk yang terbesar di akhir.

sudo apt --fix-broken install

Biarkan APT menyelesaikan masalah ketergantungan secara otomatis

Ini adalah perintah pertama yang harus digunakan di Ubuntu, Mint, dan sebagian besar distro berbasis Debian lainnya karena perintah ini meminta APT untuk melakukan apa yang sudah menjadi keahliannya: membersihkan kekacauannya sendiri.

Ketika pemasangan paket gagal, APT biasanya tahu persis apa yang salah. Sebuah dependensi tidak terpasang, sebuah paket tertinggal dalam keadaan setengah-konfigurasi, atau pembaruan terhenti dan tidak pernah selesai. Menjalankan perintah ini memberi tahu APT untuk berhenti mengeluh dan secara aktif menyelesaikan situasi menggunakan solusi terbaik yang bisa dihitung dari repositori yang Anda aktifkan.

sudo apt --fix-broken install Di balik layar, APT memindai sistem Anda untuk mencari ketergantungan yang tidak terpenuhi dan status paket yang rusak, kemudian mencoba memperbaikinya secara otomatis. Itu bisa berarti menginstal paket yang hilang, menghapus yang tidak bisa diselesaikan dengan aman, atau menyelesaikan instalasi yang terhenti di tengah jalan.

Perintah ini sangat efektif terutama setelah pembaruan sistem yang membeku, crash, atau dibatalkan. Dalam banyak kasus, perintah ini mengembalikan sistem paket ke kondisi bersih dan berfungsi hanya dalam satu langkah, tanpa memerlukan intervensi manual atau pemecahan masalah paket satu per satu.

sudo dpkg --configure -a

Selesaikan instalasi paket yang belum selesai

Terkadang paket berhasil diunduh dengan benar, tetapi tidak pernah sampai ke tahap selesai. File-file tersebut ada di sistem Anda, tetapi langkah konfigurasi terganggu akibat crash, mati listrik, atau penutupan yang terburu-buru saat pembaruan. Ketika itu terjadi, APT tidak dapat melanjutkan karena menunggu paket-paket tersebut dikonfigurasi dengan benar.

Di situlah perintah ini berguna.

sudo dpkg --configure -a Alih-alih menginstal sesuatu yang baru, ini memberi tahu dpkg untuk melanjutkan dan menyelesaikan konfigurasi setiap paket yang saat ini dalam keadaan setengah terpasang. Perintah ini menjalankan skrip pasca-instal yang tertunda, menyelesaikan langkah-langkah pengaturan, dan menghapus kesalahan “paket belum sepenuhnya diinstal atau dihapus” yang menghalangi operasi lain.

Ini sering menjadi langkah yang terlewat ketika APT gagal langsung tanpa bahkan mencoba menyelesaikan dependensi. Dengan menyelesaikan apa yang terhenti, Anda memberi APT dasar yang bersih untuk bekerja. Jika manajemen paket terasa benar-benar macet, jalankan perintah ini sebelum mencoba hal yang lebih agresif.

sudo apt clean && sudo apt update

Atur ulang cache paket dan segarkan sumber

Unduhan paket yang rusak dan metadata yang usang dapat menyebabkan kegagalan instalasi meskipun repositori Anda dalam kondisi baik. APT mungkin terus mencoba menginstal file yang rusak atau mengandalkan informasi paket yang tidak lagi sesuai dengan yang sebenarnya tersedia. Ketika itu terjadi, instalasi gagal dengan kesalahan yang samar atau menyesatkan, atau tanpa penjelasan yang jelas sama sekali.

Membersihkan cache memaksa APT untuk membuang semua yang sebelumnya diunduh dan memulai dari awal yang bersih.

sudo apt clean sudo apt update Perintah pertama menghapus semua file .deb yang di-cache, termasuk unduhan yang tidak lengkap atau rusak. Perintah kedua menyegarkan daftar paket dari repositori yang telah dikonfigurasi, mengambil metadata dan informasi dependensi yang terbaru.

Kombinasi ini sangat berguna ketika unduhan gagal berulang kali, paket menolak untuk diinstal meskipun terlihat valid, atau pembaruan sistem tiba-tiba berhenti berfungsi setelah sebelumnya berjalan normal. Ini tidak menghapus perangkat lunak yang sudah terinstal, mengubah pengaturan sistem, atau memengaruhi konfigurasi Anda.

Karena aman, cepat, dan dapat dibatalkan, ini adalah salah satu langkah pemecahan masalah risiko rendah terbaik yang dapat Anda lakukan sebelum melanjutkan ke perbaikan yang lebih invasif.

sudo apt remove --purge

Hapus paket yang rusak sepenuhnya

Kadang-kadang masalah bukan terletak pada seluruh sistem Anda, melainkan satu paket yang bandel yang menolak berfungsi dengan semestinya. Paket itu mungkin salah konfigurasi, tidak kompatibel dengan pustaka yang sedang Anda gunakan, atau terjebak dalam lingkaran dependensi yang rusak yang menghalangi setiap pembaruan yang Anda coba jalankan.

Dalam kasus ini, menghapus paket biasanya tidak cukup. Purging lebih jauh lagi.

sudo apt remove PACKAGE-NAME --purge

Dalam kasus ini, PACKAGE-NAME adalah penanda sementara. Pastikan untuk menggantinya dengan nama paket yang sebenarnya!

Perintah ini menghapus paket itu sendiri, bersama dengan semua file konfigurasinya. Hal ini penting karena konfigurasi yang rusak atau usang sering menjadi penyebab kegagalan upaya reinstall sejak awal. Dengan menghapus semua yang terkait dengan paket, Anda memberi APT kondisi yang bersih untuk bekerja.

Gunakan pendekatan ini ketika satu paket secara konsisten menghalangi pembaruan sistem, kesalahan dependensi terus menyebutkan nama yang sama, atau menginstal ulang perangkat lunak gagal tidak peduli berapa kali Anda mencobanya. Setelah membersihkan, Anda bisa menginstal ulang paket tersebut dari awal atau membiarkannya dihapus sepenuhnya, tanpa membuat manajer paket Anda tetap dalam keadaan rusak.

sudo apt autoremove

Bersihkan dependensi yang tersisa

Ketika pemasangan paket gagal atau perangkat lunak dihapus dengan tidak benar, dependensinya tidak selalu hilang bersamanya. Paket sisa ini, yang dikenal sebagai dependensi yatim piatu, dapat tetap berada di sistem Anda dan diam-diam menimbulkan masalah di kemudian hari. Mereka mungkin bertentangan dengan versi yang lebih baru, menghalangi pembaruan, atau sekadar memenuhi basis data paket Anda.

Di sinilah perintah ini berguna. Perintah ini memindai sistem Anda untuk paket yang diinstal secara otomatis sebagai dependensi tetapi tidak lagi dibutuhkan oleh perangkat lain. Kemudian, perintah ini menghapusnya dengan aman, tanpa menyentuh perangkat lunak yang Anda instal sendiri secara eksplisit.

sudo apt autoremove autoremove Ini membantu mengurangi konflik dependensi, menurunkan kemungkinan terjadinya kesalahan saat pemasangan di masa depan, dan membebaskan ruang disk yang seharusnya terbuang untuk pustaka yang tidak digunakan. Meskipun ini tidak akan memperbaiki situasi paket yang rusak dengan sendirinya, ini adalah langkah pembersihan yang penting setelah masalah utama telah diselesaikan.

Anggap saja ini seperti merapikan setelah perbaikan—memastikan sistem Anda bersih, konsisten, dan kurang mungkin mengalami masalah yang sama lagi.

Perbaikan cepat untuk distro non-Debian

Jika Anda tidak menggunakan sistem berbasis Debian, berikut panduan bertahan hidup singkatnya

Tentu saja, ada beberapa tindakan lain yang bisa Anda lakukan pada sistem non-Debian, tetapi ini adalah yang cepat.

Fedora/RHEL/Rocky/Alma (DNF)

sudo dnf distro-sync sudo dnf clean all sudo dnf history undo Gunakan distro-sync untuk menyelaraskan kembali paket dengan repositori, dan history undo untuk membatalkan pembaruan yang bermasalah.

Arch Linux/Manjaro (Pacman)

sudo pacman -Syu sudo pacman -Syyu sudo pacman -Rns $ (pacman -Qtdq) Selalu lakukan pembaruan penuh. Pembaruan sebagian adalah cara tercepat untuk merusak sistem berbasis Arch.

openSUSE (Zypper)

sudo zypper verify sudo zypper dup --allow-vendor-change Zypper sangat baik dalam menyelesaikan konflik jika Anda membiarkannya melakukan tugasnya dan membaca petunjuk yang muncul.

Sebuah pemeriksaan kenyataan terakhir

Sebagian besar masalah paket rusak berasal dari salah satu sumber berikut:

  • Pembaruan terputus
  • Repositori pihak ketiga
  • Rilis campuran
  • Instalasi paket manual

Manajer paket Linux konservatif dengan alasan. Tetap di dalam aturan mereka, dan kerusakan jarang terjadi. Jika Anda melangkah keluar, mengetahui perintah-perintah ini sering mengubah panik menjadi perbaikan lima menit.

Artikel terkait