Her paket kendi bağımlılıklarının bir listesiyle birlikte gelir. İçin DEBS'deki , Ubuntu kullanan, bunu yapabilirsiniz: -
[andys@daedalus ~]$ apt-cache depends git-core
git-core
Depends: git
Bir paketin bağımlılıkları, paket oluşturulduğunda belirlenir. Bunların bir kısmı, paket sorumlusu tarafından ( paketin oluşturulmasından sorumlu kişi) manuel olarak belirlenir ve bazıları paket oluşturulduğunda otomatik olarak belirlenir. Eğer bir Debian kaynak paketi indirmek ve bakarsanız debian/control
dosyası, aşağıdaki gibi çizgilerin bir dizi göreceksiniz Depends:
, Conflicts:
, Replaces:
vb
Yani, örneğe geri dönelim - git-core
olan tek bir pakete bağlı git
. git
Muhtemelen, sadece bir paketin bağımlılıklarını yerine getirmek için git git çalışması için gerekli olan tüm paketlerin yüklendiğinden emin olmak için sırayla bir dizi bağımlılığa sahip olan bir çeşit metapakstır. git
Pakete bakarsak : -
[andys@daedalus ~]$ apt-cache depends git
git
Depends: libc6
Depends: libcurl3-gnutls
<...snip...>
Suggests: git-cvs
Suggests: git-svn
Suggests: git-email
<...snip...>
Recommends: rsync
<...snip...>
Conflicts: git-core
<...snip...>
Breaks: stgit
Breaks: stgit-contrib
Replaces: <cogito>
Replaces: git-core
... git
kendisinin başka bağımlılıkları olduğunu göreceksiniz . İşleri daha da karmaşıklaştırmak için, başka bir paketin kurulmasını zorunlu kılmaktan farklı türden bağımlılıklar var ...
- Çatışmalar - bu paket başka bir paketle çakışıyor ve muhtemelen bu paketi kaldırmadan çakışan paketi yükleyemezsiniz, ya da tam tersi. Bu durumda, ile
git
çatışmalar git-core
. Buradaki kutumda, git-core
paket eski olarak işaretlendi , bu yüzden muhtemelen burada listeleniyor.
- Kırılmalar - bu paket başka bir paketi kırar ve yükler - belki de kırılacak paketi kaldırmanızı gerektirmese de - bu paket tarafından yüklenen yazılımla ilgili sorunlara neden olur. Yine, bizim örneğimizde bakarak
stgit
ve stgit-contrib
paketler bir kere kırık olarak kabul edilecektir git
yüklenir.
- Değiştirir - bu paket başka bir paketin yerini alır, yani diğer paketin eski olduğu ve muhtemelen kaldırılabileceği anlamına gelir.
git-core
Paket tekrar burada gösterilir.
Gibi 'yumuşak' bağımlılık türleri de vardır Tavsiyesi ve Önerdi değil, gerekli yüklemekte olduğunuz paket tarafından, ancak önerilen ya da önerilen adından da anlaşılacağı gibi,. Bir kez daha, örneğe bakıldığında, önerilen ve önerilen paketler git'e eklenir ya da kullanımı kolaylaştıracak doğrudan ilişkili olmayan araçlardır.
Bunları bir araya getirmek, kullandığınız paket yöneticisi, yüklemesini istediğiniz paket (veya paketler) ile başlayacak ve bağımlılıklarını ve sonra bu paketler için olan bağımlılıkları arayacaktır. Ayrıca istenen paketleri veya bağımlılıklarını ihlal eden, bozan veya değiştiren paketleri de kontrol edecektir. Özgün isteğinizi yerine getirebilecek bir yol bulduğuna sevindikten sonra, yükleme işlemine devam eder.
Farklı paket yöneticilerinin bu bağımlılık çözümünü yapmanın farklı yolları vardır . apt-get
, aptitude
Ve dselect
, örneğin, tüm temelde aynı şeyi yapmak ancak yaptıkları yolu kendi karar farklıdır. Bunu bulabilir aptitude
ve dselect
mutlu bir şekilde size bir paket kurmanın bir yolunu sunar apt-get
.
Debian paketleri hakkında daha fazla bilgi edinmek istiyorsanız , bazı sıkıntıların üzerinden geçen Debian Yeni Bakım Rehberine bakınız .