Ini berfungsi sekarang. Jika Anda masih menggunakan SuperUser, dapatkah Anda memperbarui jawaban yang diterima? Lihat di bawah.
mikemaccana
Jawaban:
121
biasanya saya lakukan dpkg -i <deb file>, itu akan gagal mengatakan itu membutuhkan dependensi. Setelah itu ketika Anda melakukan apt-get updateitu akan mengatakan sesuatu seperti "dependensi siap untuk menginstal" Saya pikir itu kemudian menyarankan untuk digunakan apt-get install -f.
Setelah selesai, saya gunakan dpkg -ilagi.
Bekerja dengan baik untuk saya beberapa tahun terakhir.
sunting: tampak sedikit lebih jauh, tampaknya alat yang disebut gdebidapat melakukan ini sebagai gdebi [deb file].
Terima kasih saya melakukan hal yang sama dengan "kesalahan" dpkg kemudian apt-get install -f dan berhasil.
Louis
2
gdebibekerja untuk saya, dan paling sederhana yang saya lihat sejauh ini.
ctrl-alt-delor
55
Sirex memilikinya kurang lebih benar, tetapi jawabannya tidak jelas. Saya baru saja menyelesaikan ini, jadi inilah yang saya lakukan:
sudo dpkg -i /path/to/filename.deb
Jika ini gagal dengan pesan tentang paket tergantung pada sesuatu yang tidak diinstal, Anda mungkin dapat memperbaikinya jika Anda menjalankan
sudo apt-get -f install
Ini akan menginstal dependensi (dengan asumsi mereka tersedia di repo yang diketahui oleh sistem Anda) DAN paket yang awalnya Anda minta instal ('f' adalah opsi 'perbaiki' dan 'y' adalah 'asumsikan ya untuk meminta' atau 'jangan tanya saya jika tidak apa-apa, cukup instal saja' pilihan - sangat berguna untuk skrip instalasi diam). Pada sistem yang saya gunakan, tidak perlu lagi menjalankan dpkg (Ubuntu lucid 10.04).
Saya menemukan itu menarik bahwa jika Anda meninggalkan -f ketika Anda menjalankan sudo apt-get install, itu akan mencantumkan paket Anda tidak dikonfigurasi karena ketergantungan yang belum terselesaikan serta menyarankan:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Sunting:
Jika Anda ingin menginstal tanpa harus menjawab 'y' untuk semua pertanyaan, Anda dapat menambahkan ypengubah seperti yang saya awalnya termasuk: sudo apt-get -fy install. Namun, seorang komentator menunjukkan bahwa apt terkadang akan menyarankan agar Anda menghapus seluruh lingkungan desktop Anda. Saya melakukan pekerjaan ini di VM dan tidak memiliki kekhawatiran itu, tetapi posting ini telah diperbarui untuk mencerminkan menjadi sedikit lebih hati-hati.
Jika saya memiliki semua file paket yang sudah ada dalam direktori, apakah ada cara untuk mengatakan bahwa ini adalah repositori baru, jadi saya tidak perlu memaksanya menginstal apa pun tanpa dependensi?
Berry Tsakala
2
Maaf, tapi saya tidak tahu. Saya sarankan menanyakan hal itu sebagai pertanyaan tingkat atas lainnya.
Akrikos
Gila aneh bahwa ini diperlukan. Pada raspian, ini membutuhkan sudo (untuk dpkg dan apt-get):, sudo dpkg -i mypackages.debdll.
Brent Faust
@Rubistro mengakses root yang diperlukan pada semua sistem. Saya kira jawaban diasumsikan bahwa perintah dijalankan oleh root (misalnya dari shell root interaktif, atau skrip yang dijalankan sebagai root).
Amos Shapira
2
Untuk Anda sendiri yang baik, jangan tidak menambahkan -ypilihan. Sangat umum bagi apt untuk menyarankan, misalnya, menghapus seluruh lingkungan desktop Anda jika Anda mencoba ini dengan paket yang salah pada waktu yang salah (setidaknya pada Debian).
oseiskar
45
Anda juga dapat menginstal file deb menggunakan gdebi. Menjalankan perintah di bawah ini untuk menginstal gdebi,
Perhatikan bahwa gdebi hanya membutuhkan satu argumen dan diam - diam menjatuhkan sisanya ke lantai. Ini berarti jika Anda menginstal banyak deb pada saat yang sama (mungkin karena mereka saling bergantung) Anda harus hati-hati menyusun gdebiperintah yang memungkinkan mereka untuk menginstal. imo setengah ini mengalahkan tujuan gdebi, tetapi Anda mungkin masih merasa berguna untuk satu file
Anthony Sottile
@Anthony thenfind -name *.deb -exec gdebi {} \;
jjmontes
3
@jjmontes yang hanya akan berfungsi jika interdependensi berada dalam urutan abjad yang saya inginkan jarang terjadi
Anthony Sottile
Saya mengikuti freesoftwaremagazine.com/articles/… ini (bug repo lokal harus di / var / www / html / debs) dan synaptic terus berusaha mengunduh dari remote bahkan tanpa internet, jadi gdebi bekerja hebat dengan repo lokal ! juga, file deb. Haruschmod +r *.deb
Aquarius Power
34
Ya, perintah yang Anda usulkan benar.
sudo apt-get install ./package.deb
atau
sudo apt install ./package.deb
akan menginstal paket yang Anda dapatkan dari sumber lain selain APT dan pada saat yang sama menggunakan kemampuan APT untuk menyelesaikan ketergantungannya secara otomatis. Sayangnya, apt-getfitur ini tidak didokumentasikan di halaman manual .
Jawaban:
biasanya saya lakukan
dpkg -i <deb file>
, itu akan gagal mengatakan itu membutuhkan dependensi. Setelah itu ketika Anda melakukanapt-get update
itu akan mengatakan sesuatu seperti "dependensi siap untuk menginstal" Saya pikir itu kemudian menyarankan untuk digunakanapt-get install -f
.Setelah selesai, saya gunakan
dpkg -i
lagi.Bekerja dengan baik untuk saya beberapa tahun terakhir.
sunting: tampak sedikit lebih jauh, tampaknya alat yang disebut
gdebi
dapat melakukan ini sebagaigdebi [deb file]
.sumber
gdebi
bekerja untuk saya, dan paling sederhana yang saya lihat sejauh ini.Sirex memilikinya kurang lebih benar, tetapi jawabannya tidak jelas. Saya baru saja menyelesaikan ini, jadi inilah yang saya lakukan:
sudo dpkg -i /path/to/filename.deb
Jika ini gagal dengan pesan tentang paket tergantung pada sesuatu yang tidak diinstal, Anda mungkin dapat memperbaikinya jika Anda menjalankan
sudo apt-get -f install
Ini akan menginstal dependensi (dengan asumsi mereka tersedia di repo yang diketahui oleh sistem Anda) DAN paket yang awalnya Anda minta instal ('f' adalah opsi 'perbaiki' dan 'y' adalah 'asumsikan ya untuk meminta' atau 'jangan tanya saya jika tidak apa-apa, cukup instal saja' pilihan - sangat berguna untuk skrip instalasi diam). Pada sistem yang saya gunakan, tidak perlu lagi menjalankan dpkg (Ubuntu lucid 10.04).
Saya menemukan itu menarik bahwa jika Anda meninggalkan -f ketika Anda menjalankan
sudo apt-get install
, itu akan mencantumkan paket Anda tidak dikonfigurasi karena ketergantungan yang belum terselesaikan serta menyarankan:Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
Sunting:
Jika Anda ingin menginstal tanpa harus menjawab 'y' untuk semua pertanyaan, Anda dapat menambahkan
y
pengubah seperti yang saya awalnya termasuk:sudo apt-get -fy install
. Namun, seorang komentator menunjukkan bahwa apt terkadang akan menyarankan agar Anda menghapus seluruh lingkungan desktop Anda. Saya melakukan pekerjaan ini di VM dan tidak memiliki kekhawatiran itu, tetapi posting ini telah diperbarui untuk mencerminkan menjadi sedikit lebih hati-hati.sumber
sudo dpkg -i mypackages.deb
dll.-y
pilihan. Sangat umum bagi apt untuk menyarankan, misalnya, menghapus seluruh lingkungan desktop Anda jika Anda mencoba ini dengan paket yang salah pada waktu yang salah (setidaknya pada Debian).Anda juga dapat menginstal file deb menggunakan gdebi. Menjalankan perintah di bawah ini untuk menginstal gdebi,
Instal paket .deb dengan gdebi,
Ini juga memperbaiki dependensi.
sumber
gdebi
perintah yang memungkinkan mereka untuk menginstal. imo setengah ini mengalahkan tujuan gdebi, tetapi Anda mungkin masih merasa berguna untuk satu filefind -name *.deb -exec gdebi {} \;
chmod +r *.deb
Ya, perintah yang Anda usulkan benar.
atau
akan menginstal paket yang Anda dapatkan dari sumber lain selain APT dan pada saat yang sama menggunakan kemampuan APT untuk menyelesaikan ketergantungannya secara otomatis. Sayangnya,
apt-get
fitur ini tidak didokumentasikan di halaman manual .Lihat https://askubuntu.com/a/769542/250300 dan https://askubuntu.com/a/795048/250300 untuk detailnya.
sumber