Kurulum için bir deb paketim var.
Ben tarafından yüklemek Shall dpkg -i my.deb
veya apt tarafından?
Her ikisi de yazılım bağımlılığı problemini iyi idare edecek mi?
Eğer apt ise, deb'den apt ile nasıl yükleyebilirim?
dpkg
bağımlılıkları çözmez.
Kurulum için bir deb paketim var.
Ben tarafından yüklemek Shall dpkg -i my.deb
veya apt tarafından?
Her ikisi de yazılım bağımlılığı problemini iyi idare edecek mi?
Eğer apt ise, deb'den apt ile nasıl yükleyebilirim?
dpkg
bağımlılıkları çözmez.
Yanıtlar:
Bir apt
paketi yüklemek için kullandığınızda, kaputun altında kullanır dpkg
. Apt kullanarak bir paket kurduğunuzda, önce tüm bağımlılıkların bir listesini oluşturur ve onu depodan indirir.
İndirme işlemi bittiğinde dpkg
, tüm bağımlılıkları yerine getirerek tüm bu dosyaları kurmaya çağırır .
Eğer bir .deb
dosyanız varsa:
Aşağıdakileri kullanarak kurabilirsiniz:
sudo dpkg -i /path/to/deb/file
sudo apt-get install -f
sudo apt install ./name.deb
(Veya sudo apt install /path/to/package/name.deb
) kullanarak yükleyebilirsiniz .
Eski apt-get
versiyonlarda, önce deb dosyanızı /var/cache/apt/archives/
dizine taşımalısınız . Her ikisi için de, bu komutu yürüttükten sonra, bağımlılıklarını otomatik olarak indirecektir.
gdebi
.Deb dosyanızı kurun ve açın ( Sağ tıklayın -> Birlikte aç ). .Deb paketinizi tüm bağımlılıkları ile kuracaktır.
( Not : APT, /etc/apt/sources.list
dosyada ve /etc/apt/sources.list.d
dizinde tanımlanan repoda bulunan mevcut paketlerin bir veritabanı olan paket dizinini korur . Deb'in gerektirdiği bağımlılıklar paket dizininde mevcut değilse, tüm bu yöntemler yazılım bağımlılığını karşılamaz. .)
Neden sudo apt-get install -f
sonra kullanmalısudo dpkg -i /path/to/deb/file
(ilk yöntemde belirtilen)?
Kimden man apt-get
:
-f, --fix-broken
Fix; attempt to correct a system with broken dependencies in place.
Bir dpkg
paket kurduğunda ve bir paket bağımlılığı sağlanamadığında, paketi "yapılandırılmamış" bir durumda bırakır ve bu paketin bozuk olduğu kabul edilir.
sudo apt-get install -f
Komutu, eksik bağımlılığı yükleyerek bu bozuk paketi düzeltmeye çalışır.
apt-cache search <package name>
. Ayrıca apt-cache policy <package name>
bazı ek bilgiler verecek olanı da kullanabilirsiniz .
apt-get install /path/to/package/name.deb
. Bu cevabın yazarı bunu entegre etmeye karar verdiyse, derli toplu olur.
foo.deb
Dosyanızı ile yükleyin dpkg -i foo.deb
. Çözümlenmemiş bağımlılıkları olan bazı hatalar varsa, apt-get install -f
daha sonra çalıştırın .
Unable to locate package
bu şekilde çalışıyor ve şaşkın gördü. Arşiv klasörüne geçtikten sonra Windows gibi paketin adını kullandım. ./<file name>
Geçerli klasör veya tam yoldaysa Unix için olmalıdır . Yani deb
içinde mevcut klasörde değilse PATH
.
İşte bir .deb
dosyayı Ubuntu'ya komut satırından kurmanın en iyi yolu :
sudo gdebi skype.deb
Henüz gdebi
yüklemediyseniz, kullanarak kurun sudo apt install gdebi-core
.
gdebi
.deb
dosyanın tüm bağımlılıklarını arayacak ve dosyayı yüklemeyi denemeden önce yükleyecektir .deb
. Bunu daha çok tercih ederim sudo dpkg -i skype.deb && sudo apt install -f
. İkincisi, bazı durumlarda bağımlılıkları gidermek için çok isteklidir. Örneğin, Skype'ı kurmaya çalıştığımda, compiz
ve unity
! Gibi paketler de dahil olmak üzere 96 (!) Paketi çıkarmaya çalıştı ! gdebi
çok daha net bir hata mesajı verdi:
$ sudo gdebi skype.deb
Cannot install 'libqtgui:i386'
( Bu arada, bu belirli sorunun çözümü .)
Yerel bir .deb paketini şu şekilde yükleyebilirsiniz:
sudo apt install ./foo.deb
Yerel bir akraba veya mutlak yol belirlediğinizden emin olun ( ./
eğer geçerli dizinde ise), aksi halde foo.deb
uzak depolarda arayacak ve başarısız olacaktır.
./
önce bu deb
dosyayı kaçırıyorsunuz .
Önce dpkg -I my.deb
ve apt-get install
sonra bağımlılıkları kontrol edin dpkg -i my.deb
.
Olabilir Kopyalayabileceğiniz
Çalışmıyor my.deb
in /var/cache/apt/archives
ve doğrudan yükleyin apt-get
ama hiç denemedim. apt-get
ve dpkg
arşivlerde listelenen paketleri arıyoruz.
apt-get install my.deb
tarafından apt-get install
? Deb dosyasından yüklemek mi? Bundan dpkg -i my.deb
sonra neden ihtiyacımız var?
.deb
s'leri kurdum dpkg -i
, benim anladığım kadarıyla apt
onları yükleme seçeneğim yok /var/cache/...
, indirilen dizini
apt-get install ./my.deb
şeyler yapacak gibi görünüyor , çünkü birçok şeyi ortaya çıkarıyor. Bu ne işe yarıyor?
-f
En basit cevabı çalıştırarak dpkg kullanmak olacaktır dpkg -i packagename.deb
. Daha sonra çalıştırarak kaldırabilirsiniz dpkg -r packagename.deb
.
apt-get
dpkg tabanlı ve sizin yapabildiğiniz şekilde kurulmuş bir üst seviye yükleyicidir apt-get install packagename.deb
.
Apt-get archives dizininize ( /var/cache/apt/archives
) eklemek yararlı olacaktır, böylece bağımsız bir .deb arşivi değil bağımlılıkları olan bir paket olarak başvurabilirsiniz.
Ayrıca, apt-get arşiv dizinine ekleyerek, bağımlılıkları kullanma olanağınız olur apt-get install packagename
. Bu, dpkg'nin bağımsız arşiv tabanlı sistemi yerine elle eklenmiş herhangi bir bağımlılıkla yüklemenize izin verir.
Modern apt-get bir paketi basitçe kurmak için kullanılabilir apt-get install /path/to/package/name.deb
.
(En üstteki cevabın düzenlenmesi gerektiği şekilde yapılmalıdır, ancak reddedildi - bkz. https://unix.stackexchange.com/posts/159114/edit )
apt 1.0.9.8.4 for amd64 compiled on Dec 11 2016 09:48:19
Chrome'u yüklemek istersem çok kolay.
Chrome dosyanızı aşağıdaki gibi yükleyin:
dpkg -i googlechrome.deb.
Bazen aşağıdaki gibi bazı bağımlılık hataları alma şansı vardır:
dpkg: dependency problems prevent configuration of google-chrome-stable:
google-chrome-stable depends on libappindicator1; however:
Package libappindicator1 is not installed.
Bu yüzden yukarıdaki sorunları çözmek için, bağımlılıklar eklemeniz gerekir; aşağıdaki komutu verin:
apt-get install -f
Yukarıdaki komutu verdikten sonra, makinenize bağımlılıklar eklenecek ve Debian paket ( .deb
) dosyanız yüklenecektir.
aptitude
Gereksiz paketleri de kaldıran kullanabilirsiniz .