Katakan, saya punya foo-1.2.3.deb
yang bergantung pada perl
dan python
, bagaimanapun, menjalankan perintah:
dpkg -i ./foo-1.2.3.deb
tidak akan menginstal dependensi ini. Jadi saya harus apt-get install perl python
dengan tangan.
Bagaimana cara dpkg -i
menginstal dependensi ini untuk saya secara otomatis?
Jawaban:
Setelah menggunakan
dpkg
, menjalankan perintah berikut membantu saya untuk menginstal dependensi yang diperlukan:Secara keseluruhan, terminal Anda akan terlihat seperti ini:
Perhatikan baris tentang
Setting up package_with_unsatisfied_dependencies
. Ini memperbaiki (dan menyelesaikan) instalasipackage_with_unsatisfied_dependencies.deb
.sumber
sudo dpkg -i mypackage.deb
lagi?sudo apt-get -f install
paket saya dan semua dependensinya diinstal. Menjalankansudo dpkg -i my_package.deb
tidak perlu dan hanya akan menginstal paket lagi.sudo dpkg -i package.deb; sudo apt-get -f install; sudo dpkg -i package.deb
.dpkg -i
Run pertama menandai dependensi,apt-get -f install
menginstal dependensi yang diperlukan, dan yang keduadpkg -i
berhasil menginstal paket. Perhatikan bahwaapt-get install -f
ini perintah yang sama sekali berbeda.dpkg -i --force
; itu akan memaksa-menginstal paket yang rusak! Menjalankandpkg
/ tanpa /--force
akan membuat entri yang diperlukan dalam paket database sehinggaapt-get -f install
akan melakukan hal yang benar.Anda dapat menginstal
gdebi-core
, yang merupakan versi baris perintah penginstal paket GDebi mulai 10,04 dan sebelumnya. Di versi Ubuntu yang lebih baru, Pusat Perangkat Lunak digunakan untuk menginstal deb, yang tidak memiliki setara baris perintah.Untuk menginstal paket deb menggunakan gdebi, jalankan saja:
sumber
dimulai dengan apt 1.1 (tersedia dalam Xenial (16.04), stretch)
apt install
juga memungkinkan file lokal:Jauh lebih sederhana dan bersih.
Lihat pengumuman rilis
sumber
apt ./install foo-1.2.3.deb
berhasil../
atau jalanGdebi
gdebi
menginstal paket deb dan dependensinya. Untuk menggunakannya jalankan:Di versi Ubuntu yang lebih baru, ini tidak diinstal secara default, jadi Anda harus menginstalnya dari repositori.
Lihat
man gdebi
daftar opsi lengkap.gdebi
adalah baris perintah yang setara dengan alat grafis dengan nama yang sama yang dulu disertakan secara default di Ubuntu. Perintah untuk alat grafis adalahgdebi-gtk
dan memiliki fungsi serupa:sumber
dpkg-repack
berdasarkan daftar deps seperti itu :)berlari
setelah menginstal paket dengan dpkg dapat menyelesaikan kerusakan yang terjadi (setidaknya man apt-get berkata demikian ...). Sakit pembaruan ketika saya akan memeriksanya.
sumber
sudo dpkg -i mypackage.deb
lagi?apt-get -f install
bekerja, tetapiapt-get install -f
tidak sama.dpkg tidak memiliki dukungan ketergantungan. Ada cara untuk mengatasinya tetapi itu akan mengharuskan Anda untuk membuat basis data lokal (dan dengan demikian Anda sudah tahu dependensinya) dan itu dianggap usang (...).
Apakah harus berupa baris perintah? (menginstal server?) Jika demikian, lihat juga
apt-get -f
tetapi hati-hati: menyelesaikan dependensi setelah instalasi dapat membuat Anda berakhir dengan sistem yang rusak.gdebi (gui frontend) dulu bisa melakukan ini tetapi diganti dengan USC.
Bagaimana Anda mengunduh .deb. Beberapa fitur 11.04 yang baru adalah penanganan .deb yang diunduh dari sebuah situs web: ia dapat dibuka di USC sehingga ketergantungan akan diselesaikan oleh penginstal.
EDIT berdasarkan komentar dari andrew:
sudo gdebi foo-1.2.3.deb
akan melakukan triknya !!sumber
Sebagai alternatif,
gdebi-gtk
Anda dapat menggunakan Pusat Perangkat Lunak Ubuntu.Klik dua kali pada paket dan tombol instal harus tersedia.
sumber
Anda dapat membuat file
dpkg-dep-inst
dengan konten berikut.Saya berasumsi Anda membuat file di folder rumah Anda. Buatlah dieksekusi dengan
chmod +x dpkg-dep-inst
dan memindahkannya ke/usr/local/bin
dengansudo cp dpkg-dep-inst /usr/local/bin
.Sekarang Anda dapat menginstal paket debian dengan dependensi secara otomatis dengan:
sumber
apt-get --yes --fix-broken install
dan buat perbaikan otomatis.Saya baru saja mengalami masalah ini. Memanggil tidak
apt-get install -f
akan menginstal dependensi yang disarankan ! Satu-satunya solusi untuk ini adalah kemudian membuat repositori lokal dan menambahkan , yaitu:/etc/apt/sources.list
sumber
Sebenarnya jawabannya adalah
dpkg
manajer paket tidak dapat menginstal dependensi di luar kotak. Anda camman dpkg
dan menemukan itu. Jadi, Anda perlu menggunakan alat sepertiapt
,apt-get
,aptitude
, ..., berdasarkandpkg
.Saya akan mengatakan kasus yang sama adalah untuk
rpm
manajer paket di belahan Linux lainnya.rmp
tidak dimaksudkan untuk melakukan instalasi berbasis ketergantungan. Hal ini dapat menginstal paket tunggal, dan untuk menginstal dependensi yang Anda gunakanyum
,urpmi
,up2date
ini semua didasarkan pada RPM.Seperti disebutkan ada sedikit bahaya menginstal paket dengan
dpkg
secara langsung, karena penyelesaian resolusi dependensi nanti mungkin berakhir dengan sistem yang rusak seperti yang diuraikan @Rinzwind.sumber