Dpkg ne içindir?


21

Sorum basit - dpkg hakkında daha fazla bilgi edinmek istiyorum - ne işe yarıyor?


Bu, netliği artırmak için en az iki kez düzenlendi - durduğu için açık kalmaya değer (yinelenmemiş olması şartıyla), çünkü en az bir iyi cevap üretti.
belacqua

1
önce ziyaret etmelisiniz: en.wikipedia.org/wiki/Dpkg
Pandya

Yanıtlar:


17

Daha önce de belirtildiği gibi, dpkg.deb dosyalarını çıkarmak, analiz etmek, paketten çıkarmak ve yüklemek ya da kaldırmak için kullanılan düşük düzeyli bir sistem aracıdır. Bununla birlikte, bu iki programın bağımlılık çözünürlüğüne sahip olması nedeniyle, diğer kaynaklardan edinilen .deb dosyalarını kullanmak Software Centreveya Gdebiyüklemek veya kaldırmak daha iyidir .

Ancak, ne açıkladı edilmemiştir olan anatomi kullanarak bir güncelleme dpkgve apt-get. Örneğin apt-get, kurmaya çağırırsak cheese, bağımlılık ağacı analiz edilir ve gerekli dosyalar alınır apt-get, bu da onları dpkgdoğru konumlara çıkarmaları, analiz etmeleri ve yüklemeleri ve içindeki komut dosyalarına göre yapılandırmaları için geçer.

dpkgHer .deb dosyasının içinde okunan komut dosyaları , programın paketlerin kurulumu, kaldırılması ve yapılandırılmasıyla ilgili bilgi vermesi bakımından önemlidir. Bu nedenle, baktığınızda /var/log/dpkg.log'tetikleyiciler' ve paketlerin açılması ve yapılandırılmasının çeşitli aşamalarından geçen paketler hakkında ayrıntılı bir çok ayrıntı vardır. Blogunda, temel bir Debian geliştiricisi ve dpkgpaketin sahibi olan Raphael Hertzog, dpkg tetikleyicileri ve dpkgpaketleri inceleme ve yapılandırma yöntemleri hakkında daha fazla şey anlatıyor .

Şimdi ne dpkgyaptıklarının kalbine gidiyoruz; Debian paketlerini bağımlılıklarından ziyade ustalıkla idare eder. İle dpkg-deb, örneğin, .deb arşivlerinden analiz çeşitli eylem ve elle ayıklanması dosyaları gerçekleştirebilir; man dpkg-debdaha fazla bilgi için bkz .

Her paketin durumu, belirli bir paketi kontrol etmek /var/lib/dpkg/statusiçin kullanılabilecek şekilde listelenmiştir grep. Dpkgyapılandırılmış belirli paketleri yeniden yapılandırmak için de çağrılabilir (bkz. man dpkg-reconfigure):

sudo dpkg-reconfigure <package>

Veya bir güncellemeyle ilgili bir sorun varsa ve bazı paketlerin yapılandırması hala beklemede ise, yapılandırılmamış tüm paketleri yapılandırmak için:

sudo dpkg --configure -a

Odaklanan büyük bir eğitim için dpkgve apt-getait bölümleri 5 ve 6'yı bkz Debian El Kitabı'nda mevcut en iyi tartışma. man dpkgTerminalinize girin veya şu anda kurulu olan paketleri listelemek gibi mevcut seçeneklerin tümünü görmek için çevrimiçi Ubuntu man sayfalarını görüntüleyin dpkg -l.


4

dpkg, bir .deb dosyasından kurulum yapmak veya kurulu paketleri kaldırmak için kullanılan bir komut satırı yoludur. Örneğin, ana dizininizde bir .deb dosyanız varsa, çalışan dpkg -i yourpackage.debbu paketi sizin için kurar. Benim için bu yararlı en iyiyi buluyorum, çünkü bazen bir .deb dosyasına tıkladığınızda Ubuntu Yazılım Merkezi'ni yüklüyor ancak hiçbir zaman gerçekten kurmuyor veya problemi olmuyor.


4

Her zaman olduğu gibi, mankomut başlamak için harika bir yer.
man dpkgBununla birlikte, tüm seçenekleri size verebilir:

dpkg, Debian tabanlı sistemler için paket yöneticisidir. Paketleri kurabilir, kaldırabilir ve derleyebilir, ancak diğer paket yönetim sistemlerinden farklı olarak paketleri ve bağımlılıklarını otomatik olarak indirip yükleyemez.

Yani temelde bağımlılık çözme olmadan apt-get, ve .deb dosyalarını yüklemek için kullanılır.

Yine de sizi uyarıyorum: dpkg kullanarak paketlerin kaldırılması, çoğu durumda önerilmez. Sistemin tutarlı bir durumda olduğundan emin olmak için bağımlılıkları ele alan bir paket yöneticisi kullanmak daha iyidir.

Örneğin dpkg -r zip, zip paketini kullanarak çıkarabilirsiniz, ancak ona bağlı olan paketler yine de yüklenecek ve artık düzgün çalışmayabilir.

Bu konuda biraz daha fazlasını sunucu kılavuzunda ve başka yerlerde okuyabilirsiniz .

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.