'dpkg -i' bağımlılıkları benim için nasıl yüklerim?

259

Diyelim ki, foo-1.2.3.deb ve perl 'ye bağlı olarak% co_de değerine sahibim, ancak şu komutu veriyor:

dpkg -i ./foo-1.2.3.deb

bu bağımlılıkları yüklemez. Bu yüzden python el ile olmalıyım.

Nasıl apt-get install perl python bu bağımlılıkları otomatik olarak benim için yüklerim?

    
sordu Xiè Jìléi 04.05.2011 15:11

10 cevap

347

dpkg kullanıldıktan sonra, aşağıdaki komutu çalıştırarak gerekli bağımlılıkları yüklememi sağladım:

sudo apt-get -f install

Sonuç olarak, terminaliniz şöyle görünmelidir:

$ sudo dpkg -i package_with_unsatisfied_dependencies.deb
dpkg: dependency problems prevent ... 
[additional messages]

$ sudo apt-get -f install
[apt messages]
Setting up [dependency]...
Setting up package_with_unsatisfied_dependencies...

Bildirim Setting up package_with_unsatisfied_dependencies hakkında satır. Bu , package_with_unsatisfied_dependencies.deb yüklemesini gerçekleştirir (ve tamamlar).

    
verilen cevap Arindom 04.05.2011 17:38
108

GDebi paket yükleyicisinin komut satırı sürümü olan gdebi-core 'yi 10.04 ve önceki sürümlerden yükleyebilirsiniz. Ubuntu'nun daha yeni sürümlerinde, Yazılım Merkezi, komut satırı eşdeğerine sahip olmayan debs yüklemek için kullanılır.

gdebi kullanarak bir borç paketi yüklemek için şunu çalıştırın:

sudo gdebi my_package_1.0.deb
    
verilen cevap Andrew Gunnerson 04.05.2011 16:47
35

Gdebi

gdebi bir borç paketi ve bağımlılıkları yükler. Çalıştırmak için:

sudo gdebi package.deb

Ubuntu'nun daha yeni sürümlerinde, bu varsayılan olarak yüklenmez, bu yüzden bunları depolardan yüklemeniz gerekir.

Seçeneklerin tam listesi için man gdebi adresine bakın.

gdebi , Ubuntu'da varsayılan olarak dahil edilmek üzere kullanılan aynı adın grafik aracına eşdeğer komut satırıdır. Grafik aracın komutu gdebi-gtk ve benzer işlevlere sahiptir:

    
verilen cevap dv3500ea 04.05.2011 18:56
26

apt 1.1 (Xenial (16.04), stretch) apt install ile başlayanlar ayrıca yerel dosyalara izin verir:

sudo apt install ./foo-1.2.3.deb

Çok daha basit ve daha temiz.

yayın duyurusuna bakın

    
verilen cevap textshell 05.07.2016 11:23
18

çalışıyor

sudo apt-get install -f

dpkg ile paket kurulduktan sonra kırılmış depensiyonları çözebilir (en azından erkeğin böyle söylemesi ...). Kontrol edeceğim zaman hastalanacak.

    
verilen cevap Denwerko 04.05.2011 15:17
9

dpkg'un bağımlılık desteği yok. Çevresinde bir yol var ama bu yerel bir veritabanı (ve böylece bağımlılıkları zaten biliyordum) ve eski (...) olarak kabul edilmesini gerektirir.

Komut satırı olmak zorunda mı? (sunucu yüklemesi?) Eğer öyleyse, apt-get -f 'a da bir göz atın ancak dikkatli olun: Yüklemeden sonra bağımlılıkları çözmenizde kırık bir sistemle sonuçlanabilir.

gdebi (gui frontend) bunu yapabildi, ancak USC ile değiştirildi.

.deb'yi nasıl indirdiniz? Yeni 11.04 özelliklerinden bazıları, bir web sitesinden indirilen .deb işlemidir: USC'de opend olur, dolayısıyla bağımlılıklar yükleyici tarafından çözülür.

Andrew tarafından yapılan yoruma dayalı olarak EDIT: % Co_de% hile yapar!

    
verilen cevap Rinzwind 04.05.2011 15:32
3

% co_de yüzdesine alternatif olarak Ubuntu Yazılım Merkezi'ni kullanabilirsiniz.

Paketin üzerine çift tıklayın ve bir yükleme düğmesi mevcut olmalıdır.

    
verilen cevap Henrique 10.05.2011 09:55
3

Aşağıdaki içerikle bir dpkg-dep-inst dosyası oluşturabilirsiniz.

#!/bin/bash

DEBIAN_FILE1=
dpkg -i $DEBIAN_FILE1 || apt-get --fix-broken install

Dosyayı ana klasörünüzde oluşturduğunuzu farz ediyorum. % Co_de% ile yürütülebilir yapın ve chmod +x dpkg-dep-inst ile /usr/local/bin konumuna taşıyın.

Artık debian paketini otomatik olarak bağımlılıklarla yükleyebilirsiniz:

sudo dpkg-dep-inst foo-1.2.3.deb
    
verilen cevap BuZZ-dEE 28.01.2013 17:01
1

Bu soruna yeni girdim. Yine de apt-get install -f araması önerilir bağımlılıkları değil olacak! Bunun için tek geçici çözüm yerel bir depo oluşturmak ve /etc/apt/sources.list 'ye eklemek, yani:

apt-ftparchive packages . > Packages && gzip < Packages > Packages.gz
sudo echo "deb file://$PWD /" >> /etc/apt/sources.list
sudo apt-get update
    
verilen cevap Alex Kläser 10.02.2016 16:19
0

Aslında yanıt, dpkg paket yöneticisinin bağımlılıkları kutudan yükleyememesidir. Siz man dpkg kam ve bunu bulduk. Bu nedenle, apt , apt-get , aptitude , ... gibi araçların dpkg değerini temel alarak kullanmanız gerekir.

Sadece aynı durumun, diğer Linux yarım küredeki rpm paket yöneticisi için olduğunu söyleyebilirim. rmp bağımlılık tabanlı yüklemeler yapmak anlamına gelmez. Tek paketler kurabilir ve yum , urpmi , up2date kullandığınız bağımlılıkları yüklemek için bunların hepsi RPM'yi temel alır.

Belirtildiği gibi, doğrudan dpkg ile paketler yükleme konusunda hafif bir tehlike söz konusudur, çünkü daha sonra bağımlılık çözümleme çözme, @Rinzwind özetlenen kırık bir sistemle sonuçlanabilir.

    
verilen cevap prosti 16.08.2018 21:05

Etiketlerdeki diğer soruları oku