Perbaiki: Tidak Dapat Membetulkan Masalah 'Anda Telah Memegang Pakej Rusak'

Anda mungkin mendapati bahawa semasa anda cuba memasang pakej di Linux, anda akan menemui garis ketakutan yang berbunyi E: Tidak dapat membetulkan masalah, anda mempunyai bungkusan yang rosak. Pemasangan kemudian enggan maju melebihi tahap ini. Anda mungkin dapati ini di mana-mana pengedaran Linux yang menggunakan apt-get untuk menguruskan pakej, yang merangkumi Debian serta pelbagai putaran Linux Mint dan Ubuntu.

Ini disebabkan oleh ketergantungan yang rosak, yang merupakan kesan sampingan daripada memasang pakej yang bergantung pada pakej lain yang tidak dipasang. Apabila apt-get memasang sesuatu, ia menyedari bahawa ia tidak mempunyai akses ke sesuatu yang diperlukan dan oleh itu tidak dapat diteruskan. Beberapa trik asas arahan serta alat grafik dapat menyelesaikan semuanya dengan cepat.

Kaedah 1: Menggunakan dpkg –configure untuk Memperbaiki Pakej Terputus

Semasa bekerja di terminal, cuba jalankan sudo dpkg –configure -a untuk memulakan proses kemas kini automatik yang mencari kebergantungan pada sistem anda yang disebabkan oleh pakej yang tidak dipasang. Alat ini harus memasang pakej apa pun yang dirasakan hilang tanpa campur tangan pengguna secara automatik, walaupun jika anda diminta untuk memasang sesuatu, anda harus menekan kekunci y untuk bertindak balas.

Sekiranya tidak menemui pakej yang rosak, maka anda tidak seharusnya melihat output. Kami menjalankannya di mesin ujian bersih yang menjalankan Xubuntu, jadi tidak menemui ralat, tetapi jika anda mengalami masalah "Tidak Dapat Membetulkan Masalah, Anda Mempunyai Pakej Rusak" maka ini mungkin menemui beberapa paket yang perlu anda pasang . Setelah anda menjalankannya, cuba sudo apt-get install -f dari baris arahan.

Program ini akan melalui dan membina senarai kebergantungan kemudian membaca maklumat keadaan. Sekiranya anda mendapat mesej yang menyatakan bahawa terdapat pakej "0 yang ditingkatkan, 0 yang baru dipasang, 0 untuk dibuang dan 0 yang tidak ditingkatkan", maka anda sama ada bekerja tanpa dependensi yang rosak atau arahan sebelumnya memperbaiki semuanya. Pada tahap ini, anda dapat menjalankan sudo apt-get clean && sudo apt-get update diikuti oleh sudo apt-get upgrade untuk mengemas kini setiap pakej pada sistem anda. Ini mungkin memerlukan sedikit masa bergantung pada berapa lama sistem anda menghadapi masalah pakej ini.

Kaedah 2: Menggunakan Perintah peningkatan jarak jauh

Sekiranya anda mendapat mesej yang mengatakan bahawa "beberapa pakej telah ditahan" sehingga anda tidak dapat menyelesaikan perintah sebelumnya dengan jayanya, maka anda harus menjalankan sudo apt-get dist-upgrade untuk memasang bungkusan lain. Selain menjalankan fungsi peningkatan biasa, pilihan peningkatan jarak jauh menangani kebergantungan yang berubah dengan versi pakej yang lebih baru. Oleh kerana apt-get mempunyai sistem konflik khusus, biasanya berusaha untuk menaikkan pakej yang paling penting dengan kos untuk tidak melakukan apa-apa kepada yang kurang penting bagi sistem anda. Menggunakan arahan ini memaksa mereka untuk mengemas kini.

Yang dikatakan, jika tidak ada pakej yang rosak yang dikesan, anda akan berakhir dengan mesej ketiga bahawa tidak ada yang ditingkatkan dan tidak ada yang baru dipasang. Jika ini masalahnya, maka anda dapat mencuba peningkatan sudo apt-get lagi sehingga jika ada perubahan, subrutin peningkatan automatik dapat ditahan. Sebaliknya, jika anda mengetahui nama khusus pakej yang anda perlukan, maka anda boleh memasangnya secara manual.

Sebagai contoh, anggap bahawa komponen runtime GNUStep adalah yang anda kekurangan kerana anda ingin menggunakan sintesis suara. Anda hanya boleh mengetik sudo apt-get install gnustep-gui-runtime untuk memasang pakej penting ini. Perlu diingat bahawa ini hanyalah contoh dan anda boleh mengganti gnustep-gui-runtime dengan nama pakej apa pun yang perlu anda pasang. Pengedaran moden berdasarkan standard apt-get mempunyai beberapa ribu pakej, tetapi selagi anda mengetahui nama yang anda cari, ini akan memaksanya dipasang.

Kaedah 3: Betulkan Pakej Rusak dengan Synaptic

Sekiranya anda mempunyai pengurus pakej grafik Synaptic, maka anda juga boleh menggunakan alat ini untuk memperbaiki sebarang pakej yang mungkin anda miliki. Buka program dan kemudian pilih menu senarai pilihan drop-down Edit. Anda harus mempunyai pilihan "Perbaiki Paket Rusak" dalam menu ini, jadi pilihlah jika Anda melakukannya. Tidak akan memakan masa yang lama untuk dijalankan jika tidak ada banyak paket yang rusak, tetapi mungkin menemui sejumlah kesalahan yang akan memperlambat pelaksanaannya.

Setelah selesai menjalankan semuanya, anda akan melihat perkataan "Masalah kebergantungan berjaya diselesaikan" di baris status bawah.

Anda kini boleh mengemas kini dan memasang pakej seperti biasa. Sebilangan besar pengguna hanya akan melakukan sesuatu dengan cara ini jika mereka sudah bekerja di Synaptic, tetapi ia ada bila-bila masa anda memerlukannya. Setelah dijalankan, anda boleh menutup Synaptic dan bekerja dari command prompt sekali lagi atau terus membuat perubahan di sini.