Saya memiliki paket deb untuk instalasi.
Haruskah saya menginstal dengan dpkg -i my.deb
, atau dengan apt?
Apakah keduanya menangani masalah ketergantungan perangkat lunak dengan baik?
Jika dengan apt, bagaimana saya bisa menginstal dari deb dengan apt?
aptitude
paket yang tidak perlu dihapus juga.dpkg
. Dalam hal deb tunggal, pergilah dengan gdebi dan untuk beberapa deb, pilih repositori lokal APT .dpkg
tidak menyelesaikan dependensi.Jawaban:
Saat Anda menggunakan
apt
untuk menginstal sebuah paket, di bawah kap yang digunakannyadpkg
. Saat Anda menginstal sebuah paket menggunakan apt, pertama-tama ia membuat daftar semua dependensi dan mengunduhnya dari repositori.Setelah pengunduhan selesai, panggilan
dpkg
untuk menginstal semua file itu memenuhi semua dependensi.Jadi, jika Anda memiliki
.deb
file:Anda dapat menginstalnya menggunakan:
Anda dapat menginstalnya menggunakan
sudo apt install ./name.deb
(atausudo apt install /path/to/package/name.deb
).Dengan
apt-get
versi lama, Anda harus terlebih dahulu memindahkan file deb Anda ke/var/cache/apt/archives/
direktori. Untuk keduanya, setelah menjalankan perintah ini, ia akan secara otomatis mengunduh dependensinya.Instal
gdebi
dan buka file .deb Anda menggunakannya ( Klik kanan -> Buka dengan ). Ini akan menginstal paket deb Anda dengan semua dependensinya.( Catatan : APT mempertahankan indeks paket yang merupakan basis data dari paket yang tersedia yang tersedia di repo yang ditentukan dalam
/etc/apt/sources.list
file dan dalam/etc/apt/sources.list.d
direktori. Semua metode ini akan gagal memenuhi ketergantungan perangkat lunak jika dependensi yang diperlukan oleh deb tidak ada dalam indeks paket .)Mengapa menggunakan
sudo apt-get install -f
setelahsudo dpkg -i /path/to/deb/file
(disebutkan dalam metode pertama)?Dari
man apt-get
:Ketika
dpkg
menginstal paket dan ketergantungan paket tidak terpenuhi, paket itu akan meninggalkan paket dalam kondisi "tidak dikonfigurasi" dan paket itu dianggap rusak.sudo apt-get install -f
perintah mencoba untuk memperbaiki paket yang rusak ini dengan menginstal ketergantungan yang hilang.sumber
apt-cache search <package name>
. Anda juga dapat menggunakanapt-cache policy <package name>
, yang akan memberikan beberapa informasi tambahan juga.apt-get install /path/to/package/name.deb
. Akan rapi jika penulis jawaban ini memutuskan untuk mengintegrasikannya. Jika tidak, saya akan menambahkan jawaban itu ketika saya memiliki cukup perwakilan di siniInstal
foo.deb
file Anda dengandpkg -i foo.deb
. Jika ada beberapa kesalahan dengan dependensi yang tidak terselesaikan, jalankanapt-get install -f
sesudahnya.sumber
Unable to locate package
mencoba cara ini dan bingung. Saya menggunakan Windows hanya nama paket setelah beralih ke folder arsip. Seharusnya./<file name>
untuk Unix jika dalam folder saat ini atau path lengkap. Itu jikadeb
tidak ada dalam folderPATH
.Inilah cara terbaik untuk menginstal
.deb
file di Ubuntu pada command-line:Jika Anda belum
gdebi
menginstal, instal menggunakansudo apt install gdebi-core
.Kenapa gdebi?
gdebi
akan mencari semua dependensi.deb
file, dan akan menginstalnya sebelum mencoba menginstal.deb
file. Saya menemukan ini jauh lebih disukai daripadasudo dpkg -i skype.deb && sudo apt install -f
. Yang terakhir ini terlalu bersemangat untuk menghapus dependensi dalam situasi tertentu. Misalnya, ketika saya mencoba menginstal Skype, ia berusaha menghapus 96 paket (!), Termasuk paket-paket seperticompiz
danunity
!gdebi
memberikan pesan kesalahan yang jauh lebih jelas:(Omong -omong, ini adalah solusi untuk masalah khusus itu .)
sumber
Anda dapat menginstal paket .deb lokal dengan:
Pastikan untuk menentukan path relatif atau absolut lokal (
./
jika dalam dir saat ini), jika tidak maka akan mencarifoo.deb
di repo jarak jauh dan gagal.sumber
./
sebelumdeb
file.Periksa dependensi dengan
dpkg -I my.deb
danapt-get install
dependensi sebelumnyadpkg -i my.deb
.Mungkin Anda dapat menyalinTidak berfungsi,my.deb
di/var/cache/apt/archives
dan menginstalnya langsung denganapt-get
tapi aku tidak pernah mencoba.apt-get
dandpkg
sedang mencari paket yang terdaftar di arsip.sumber
apt-get install my.deb
denganapt-get install
? Apakah akan menginstal dari file deb? Mengapa kita perludpkg -i my.deb
setelah itu?.deb
s dengandpkg -i
, pemahaman saya adalah bahwaapt
tidak memiliki pilihan untuk menginstal mereka, selain direktori di/var/cache/...
mana-download (saya mungkin salah)apt-get install ./my.deb
akan melakukan sesuatu, karena menghasilkan banyak hal. Apa fungsinya?-f
Jawaban paling sederhana adalah menggunakan dpkg dengan menjalankan
dpkg -i packagename.deb
. Anda kemudian dapat menghapusnya dengan menjalankandpkg -r packagename.deb
.apt-get
adalah penginstal tingkat yang lebih tinggi berdasarkan dari dpkg, dan dengan demikian Anda bisaapt-get install packagename.deb
.Akan bermanfaat untuk menambahkannya ke direktori arsip apt-get Anda (
/var/cache/apt/archives
) sehingga Anda bisa merujuknya sebagai paket dengan dependensi dan bukan arsip .deb mandiri.Juga, dengan menambahkannya ke direktori arsip apt-get Anda, Anda memiliki kesempatan untuk menggunakan dependensi
apt-get install packagename
. Ini akan memungkinkan Anda menginstalnya dengan dependensi yang ditambahkan secara manual alih-alih sistem berbasis arsip mandiri dpkg.sumber
Apt-get modern dapat digunakan untuk menginstal paket hanya dengan
apt-get install /path/to/package/name.deb
.(harus dilakukan sebagai edit pada jawaban teratas tetapi ditolak - lihat https://unix.stackexchange.com/posts/159114/edit )
sumber
apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
Sangat sederhana jika saya ingin menginstal Chrome.
Instal file Chrome Anda sebagai:
Terkadang ada peluang untuk mendapatkan beberapa kesalahan ketergantungan seperti berikut ini:
Jadi untuk mengatasi masalah di atas, Anda perlu menambahkan dependensi; berikan perintah berikut:
Setelah memberikan perintah di atas, dependensi akan ditambahkan ke mesin Anda dan
.deb
file paket Debian Anda ( ) akan diinstal.sumber