Apt-get ile yerel .deb paketlerini nasıl kurarım


144

Paket mağazalarınızı apt-get ile birlikte HD'nize kurmanın bir yolu var mı apt-get install ./package.deb?

Olmazsa, bağımlılıkları nasıl çok kolay bir şekilde ele alabilirim?


Bu şimdi çalışıyor. Hala SuperUser kullanıyorsanız, kabul edilen cevabı güncelleyebilir misiniz? Aşağıya bakınız.
mikemaccana

Yanıtlar:


121

genellikle yaparım dpkg -i <deb file>, bağımlılıklara ihtiyaç duyduğunu söyleyerek başarısız olur. Ondan sonra apt-get update, sonunda "bağımlılıklar kuruluma hazır" gibi bir şey söyleyeceğini düşünüyorum sonra kullanılmasını önerir apt-get install -f.

Bu yapıldıktan sonra dpkg -itekrar kullanıyorum.

Son birkaç yıldır benim için iyi çalıştı.

düzenleme: biraz daha ileride, görünüşe göre denilen bir araç gdebibunu yapabilir gdebi [deb file].


1
Teşekkürler "hata" dpkg sonra aynısını yaptım sonra apt-get install -f ve çalıştı.
Louis

2
gdebibenim için çalıştı ve şimdiye kadar gördüğüm en basit.
ctrl-alt-delor

55

Sirex az çok doğruladı, fakat cevabı net değil. Bunu daha yeni çözdüm, işte yaptığım işte:

sudo dpkg -i /path/to/filename.deb

Bu, yüklü olmayan bir şeye bağlı olarak paketle ilgili bir mesajla başarısız olursa, çalıştırırsanız büyük olasılıkla düzeltebilirsiniz.

sudo apt-get -f install

Bu, bağımlılıkları kuracaktır (sisteminizin bildiği depolarda bulunduğunu varsayarsak) ve asıl olarak kurmak istediğiniz paket ('f', 'düzeltme' seçeneğidir ve 'y', 'bilgi istemesi için evet olduğunu varsaymaktadır'). veya 'Tamam olup olmadığını sorma, zaten yükle' seçeneği - komut dosyasıyla sessiz yükleme için çok yararlıdır). Çalıştığım sistemde tekrar dpkg çalıştırmaya gerek yoktu (Ubuntu lucid 10.04).

Çalıştırırken -f'den çıkarsanız sudo apt-get install, paketinizi çözülmemiş bir bağımlılık nedeniyle yapılandırılmadığını ve yararlı bir şekilde önerdiğini listeleyeceğini ilginç buldum :Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Düzenle:

Eğer tüm sorulara 'y' cevaplamak zorunda kalmadan yüklemek istiyorsanız, ekleyebilir yBaşlangıçta dahil olarak değiştirici: sudo apt-get -fy install. Ancak bir yorumcu, apt'nin bazen tüm masaüstü ortamınızı kaldırmanızı önereceğini belirtti. Bir VM'de bu işi yapıyordum ve bu endişeye sahip değildim, ancak bu yayın biraz daha dikkatli olmayı yansıtacak şekilde güncellendi.


Paket dosyalarının hepsinin zaten bir dizinde olması durumunda, apt'nin yeni bir depo olduğunu söylemenin bir yolu var, bu yüzden bağımlılıkları olmayan bir şey yüklemeye zorlamak zorunda kalmayacağım?
Berry Tsakala

2
Üzgünüm ama bilmiyorum. Bunu başka bir üst seviye soru olarak sormanızı öneririm.
Akrikos

Çılgın bu gerekli olması garip. Raspian'da bunun için sudo gerekir (hem dpkg hem de apt-get için):, sudo dpkg -i mypackages.debvb.
Brent Faust

@Rubistro root erişimi tüm sistemlerde gereklidir. Sanırım cevapların komutların root tarafından çalıştırıldığı varsayıldı (ör. Etkileşimli bir root kabuğundan veya root olarak çalışan bir script).
Amos Shapira

2
İyi sahibi için, do not eklemek -yseçeneği. Örneğin, yanlış bir zamanda (en azından Debian'da) yanlış paketle denerseniz, tüm masaüstü ortamınızı kaldırmanızı önermek oldukça yaygındır.
oseiskar

45

Ayrıca, gdebi kullanarak .deb dosyasını yükleyebilirsiniz. Gdebi'yi yüklemek için aşağıdaki komutları çalıştırın.

sudo apt-get install gdebi-core

.Deb paketlerini gdebi ile kurun,

sudo gdebi /path/to/filename.deb

Aynı zamanda bağımlılıkları da giderir.


4
Gdebi'nin yalnızca tek bir argüman aldığını ve gerisini sessizce yere bıraktığını unutmayın . Bu, aynı anda birden fazla boru takıyorsanız (belki de birbirlerine bağlı olduklarından) gdebi, kurulumlarını sağlayan komutları dikkatlice hazırlamanız gerektiği anlamına gelir . imo bu yarıda gdebinin amacını yendi, ancak hala tek bir dosya için faydalı bulabilirsiniz
Anthony Sottile

@Anthony o zamanfind -name *.deb -exec gdebi {} \;
jjmontes

3
Sadece bağımlılıklar bağımlılık yaratan alfabetik düzendeyse işe yarayacak @jjmontes
Anthony Sottile 15

Bu freesoftwaremagazine.com/articles/… 'i takip ettim (yerel reponun / var / www / html / debs konumunda olması gerekiyordu) ve sinaptik uzaktan bile olsa w / o internetten indirmeye çalışırken tuttu, bu yüzden gdebi yerel repo ile harika çalıştı ! Ayrıca, .deb dosyaları olması gerekiyorduchmod +r *.deb
Kova Gücü

34

Evet, önerdiğiniz komut doğrudur.

sudo apt-get install ./package.deb

veya

sudo apt install ./package.deb

APT'den başka bir kaynaktan edindiğiniz paketi kuracak ve aynı zamanda bağımlılıklarını otomatik olarak çözmek için APT yeteneklerini kullanacaktır. Ne yazık ki, bu apt-getözellik man sayfasında belgelenmemiştir .

Ayrıntılar için https://askubuntu.com/a/769542/250300 ve https://askubuntu.com/a/795048/250300 adresine bakın.


8
Bu kabul edilen cevap olmalıydı.
Peter,

Apt-get'in hangi sürümü bu yeteneği ekledi?
Kurt Fitzner

@KurtFitzner Her duyuru başına APT 1.1'e eklendi ( askubuntu.com/a/795048/250300 aracılığıyla bulundu ).
Melebius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.