Apa tepatnya yang dilakukan sudo apt-get -f instal?

41

Saya sudah pernah melihat itu sebelumnya. Saya hanya ingin tahu apa fungsinya?

TheShadowFog
sumber

Jawaban:

39

Dari man apt-get:

   -f, --fix-broken
       Fix; attempt to correct a system with broken dependencies in place. This
       option, when used with install/remove, can omit any packages to permit APT
       to deduce a likely solution. If packages are specified, these have to
       completely correct the problem. The option is sometimes necessary when
       running APT for the first time; APT itself does not allow broken package
       dependencies to exist on a system. It is possible that a system's dependency
       structure can be so corrupt as to require manual intervention (which usually
       means using dselect(1) or dpkg --remove to eliminate some of the offending
       packages). Use of this option together with -m may produce an error in some
       situations. Configuration Item: APT::Get::Fix-Broken.
Yesaya
sumber
19
A, Anda bisa berterima kasih kepada Tuhan untuk itu. Ketika Anda memiliki paket rusak itu seperti memiliki batu di dalam sepatu Anda ... dan Anda berada dalam maraton ... dengan beruang mengendarai hiu mengendarai laba-laba besar. Namun berkat hal-hal yang rusak ini diperbaiki.
Luis Alvarado
2
Dalam situasi sesekali di mana sudo apt-get -f installtidak dengan sendirinya cukup untuk memperbaiki paket yang rusak, lihat jawaban ini .
Eliah Kagan
Sama seperti tambahan - jika Anda berubah pikiran tentang packageyang mengakibatkan dependensi yang tidak terpenuhi, maka cukup lakukan sudo apt-get remove packageuntuk menyingkirkan kesalahan dependensi yang tidak terpenuhi dan tidak menginstal paket yang memperbaiki jeda.
user1953384
1

Di sinilah saya menemukannya sangat berguna. Saya menjalankan perintah dpkg untuk menginstal beberapa paket .deb, tetapi instalasi gagal karena beberapa dependensi tidak ada.

Saya kemudian berlari

apt-get -f install

dan menginstal persis dependensi yang diperlukan. Saya kemudian dapat menjalankan kembali perintah dpkg saya dan semuanya bekerja.

Chad
sumber