"Bağımlı" ve "ön-bağımlı" ile ne kastedilmektedir ve Ubuntu'ya bir şey yüklerken bu 2 paket gereksinimi arasındaki fark nedir?
"Bağımlı" ve "ön-bağımlı" ile ne kastedilmektedir ve Ubuntu'ya bir şey yüklerken bu 2 paket gereksinimi arasındaki fark nedir?
Yanıtlar:
Bu bağlantıdan alındığı gibi: https://www.debian.org/doc/debian-policy/#document-ch-relationships
5 tür bağımlılık vardır:
Beş bağımlılık alanının anlamı şöyledir:
Bu mutlak bir bağımlılık ilan eder. Bir paket, Bağımlılar alanında listelenen tüm paketler doğru şekilde yapılandırılmadıkça yapılandırılmaz. Bağımlı paketin önemli miktarda işlevsellik sağlaması için bağımlı paket gerekiyorsa Bağımlı alanı kullanılmalıdır. Bağımlılar alanı ayrıca postinst veya prerm komut dosyalarının bağlı paketin çalışması için paketinin açılmasını veya yapılandırılmasını gerektiriyorsa da kullanılmalıdır. Postinst yapılandırması durumunda, bağlı paketler önce açılacak ve yapılandırılacaktır.
Prerm veya diğer post-post eylemler durumunda, paket bağımlılıkları normalde en azından paketten çıkarılır, ancak bağımlılığın önceki bir yükseltmesi başarısız olursa, yalnızca "Yarı Yüklü" olabilir. Son olarak, paket kaldırıldıktan sonra postrm betiği tarafından bağlı pakete tamamen temizlemek için bağımlı pakete ihtiyaç duyulursa Bağımlı alanı kullanılmalıdır. Postrm çalıştırıldığında paket bağımlılıklarının kullanılabileceğine dair bir garanti yoktur, ancak paket bağımlılık beyan ettiğinde (özellikle postrm kaldırma durumunda) bağlı paketin kullanılabilir olma olasılığı daha yüksektir. Postrm betiği, bu bağımlılık yoksa bağımlılık gerektiren eylemleri atlamalı.
Bu alan Bağımlı gibidir , ancak ön bağımlılığı bildiren paketin yüklenmesine bile başlamadan önce dpkg adındaki paketlerin kurulumunu tamamlamaya zorlar, Ön bağımlılık bildiren bir paket yaklaşık paketten çıkarılacak, bağımlı paket tamamen yapılandırılmışsa veya bağlı paket (ler) yalnızca paketlenmemişse veya yapılandırılmış olmaları şartıyla "Yarı Konfigüre Edilmiş" durumda olsa bile ön bağımlılık sağlanabilir Geçmişte bir noktada doğru şekilde (ve o zamandan beri çıkarılmış veya kısmen çıkarılmamış)
Bu durumda, hem önceden yapılandırılmış hem de şu anda açılmış veya "Yarı Yapılandırılmış" sürümler, Bağımlılık Öncesi alanındaki tüm sürüm maddelerini karşılamalıdır. Ön bağımlılık bildiren paket yapılandırılmak üzereyken, ön bağımlılık normal Bağımlı olarak kabul edilir. Yalnızca bağımlı paket doğru bir şekilde yapılandırıldıysa tatmin olmuş sayılacaktır. Ancak, Bağımlılardan farklı olarak, Ön Bağımlılıklar dairesel bağımlılıkların kırılmasına izin vermez. Ön Bağımlıları onurlandırmaya çalışırken dairesel bir bağımlılıkla karşılaşılırsa, yükleme iptal edilir.
Preinst betiği belirtilen pakete bağlıysa, Pre-Depends (Bağımlılık) da gereklidir. Mümkünse bu durumdan kaçınmak en iyisidir. Önceden Bağımlılıklar, tercihen sadece erken yükseltme veya kurulum, sistemin devam eden herhangi bir yükseltmeye devam etme yeteneğini engelleyecek paketler tarafından az miktarda kullanılmalıdır.
Daha Küçük Sürüm:
"Bağımlılık" terimi genel olarak "Bağımlılıklar" ve "Bağımlılık Öncesi" ilişkileri (ve hatta bazen daha zayıf olan ilişkileri) kapsayacak şekilde kullanılabilir veya "Bağımlılık" kelimesinin eşanlamlısı olarak dar olarak kullanılabilir.
"Bağımlı" ve "Ön Bağımlı" paket ilişkileri arasındaki fark, X Y'ye bağlıysa , X yapılandırılmadan önce Y'nin tam olarak yapılandırılması gerektiğidir. (Yapılandırma, bir paket, dosyaları uygun konumlara paketinden çıkarıldıktan sonra (yani, "yüklendikten sonra"), sağlanan yazılımı gerçekten kullanabilmeniz için gerekli diğer değişikliklerin yapıldığı kurulum aşamasıdır. , bir HTTP sunucusunun yapılandırılması, www
uygun yeteneklere sahip bir kullanıcı ve /var/www
uygun izinlere sahip bir dizin olduğundan emin olmayı içerebilir .) Bunun tersine, X önceden Y'ye bağlıysa , Y bile önce Y kurulmalı ve (genellikle) tam olarak yapılandırılmalıdır yüklü .
Daha fazla bilgi için Debian Politika El Kitabında Bölüm 7.2'ye bakınız. Burada en alakalı iki bölümü teklif ediyorum, ancak bu bölümde (ve daha genel olarak 7. bölümde) bağımlılıkların nasıl çalıştığını aydınlatmaya yardımcı olan başka bilgiler var.
Depends
Bu mutlak bir bağımlılık ilan eder.
Depends
Alanında listelenen tüm paketler doğru şekilde yapılandırılmadıkça (yukarıda açıklandığı gibi dairesel bir bağımlılık yoksa) bir paket yapılandırılmayacaktır.
Depends
Bağlı on paket halinde işlevselliği önemli miktarda temin etmek üzere bağlı olarak paket için gerekli olan alan kullanılmalıdır.
Depends
Eğer alan aynı zamanda kullanılması gerektiğinipostinst
ya daprerm
komut gerektiren bağlıydı paketiyle paketlenmemiş veya çalıştırmak için yapılandırılmış olması. Postinst yapılandırması durumunda, bağlı paketler önce açılacak ve yapılandırılacaktır. (Her iki paket de bir bağımlılık döngüsünde yer alıyorsa, bu beklendiği gibi çalışmayabilir; birkaç paragraf önceki açıklamaya bakın.) Paket eylemleriprerm
veya başkapostinst
eylemler durumunda , paket bağımlılıkları normalde en azından paketten çıkarılabilir, ancak yalnızca Bağımlılığın önceki bir sürümü başarısız olursa "Yarı Yüklendi".Son olarak, paket kaldırıldıktan sonra komut dosyasının
Depends
bağımlı paketepostrm
tamamen temizlenmesi gerekiyorsa alan kullanılmalıdır.postrm
Çalıştırıldığında paket bağımlılıklarının kullanılabilir olacağının garantisi yoktur , ancak paket bağımlılık beyan ettiğinde (özellikle de) bağımlı paketin kullanılabilir olma olasılığı daha yüksektirpostrm remove
. Bupostrm
bağımlılık yoksa, komut dosyasının bağımlılık gerektiren eylemleri atlaması gerekir.
Pre-Depends
Bu alan şöyledir
Depends
, ancakdpkg
ön bağımlılığı bildiren paketin kurulumuna başlamadan önce adı geçen paketlerin kurulumunu da aşağıdaki gibi yapmaya zorlar :Bir ön bağımlılık beyan eden bir paket olabilir üzereyken çözdükten ön bağımlılığı bağlı paketiyle ya da tam olarak yapılandırılırsa, tatmin, olabilir ya da, eğer bağlı paket (ler), sadece çözdükten veya "yarıda olan -Configured "durumu, geçmişte bir noktada doğru şekilde yapılandırılmış olmaları koşuluyla (ve o zamandan beri kaldırılmamış veya kısmen kaldırılmamışsa). Bu durumda, hem önceden yapılandırılmış hem de şu anda açılmış veya "Yarı Yapılandırılmış" sürümler,
Pre-Depends
alandaki tüm sürüm maddelerini karşılamalıdır .Ön bağımlılık bildiren paket yapılandırılmak üzereyken , ön bağımlılık normal kabul edilir
Depends
. Yalnızca bağımlı paket doğru bir şekilde yapılandırıldıysa tatmin olmuş sayılacaktır. Ancak, aksineDepends
,Pre-Depends
dairesel bağımlılıkların kırılmasına izin vermez. Onurlandırmaya çalışırken dairesel bir bağımlılıkla karşılaşılırsaPre-Depends
, kurulum iptal edilir.
Pre-Depends
preinst
komut dosyası belirtilen pakete bağlıysa da gereklidir . Mümkünse bu durumdan kaçınmak en iyisidir.
Pre-Depends
tercihen, yalnızca erken yükseltme veya kurulum, sistemin devam eden herhangi bir yükseltmeye devam etme yeteneğini engelleyecek paketler tarafından kullanılmalıdır.Bu
Pre-Depends
,debian-devel
posta listesinde tartışılmadan ve bununla ilgili bir uzlaşmaya varılmadan önce bir paket için giriş belirtmemelisiniz . Bkz Bağımlılıkları Bölüm 3.5 .