Yanıtlar:
Apt kaynağınızdaki deb satırına göre apt getirecektir:
Release.gpg'nin Release dosyası için geçerli bir imza olup olmadığını ve Packages.gz içeriğinin Release dosyasında bulunan bütünlük sağlama toplamı ile eşleşip eşleşmediğini doğrular. Bir uyuşmazlık varsa, bir havuz imza bütünlüğü hatası bildirilir.
İstenen paketin paket dosya adı, önceden alınmış Packages.gz içeriğinden belirlenir. İndirilir ve içerik sağlama toplamı Packages.gz sağlama toplamı içeriğiyle eşleşmelidir veya bir bütünlük hatası bildirilir.
Son sorunuz, ayna yapısı ile ilgili değil, aynalama sürecine bağlı olan ayna senkronizasyonu ile ilgili. Senkronizasyon sırasında arşiv bütünlüğünü bozmadan geçici bir konum kullanarak senkronizasyon yapmak mümkündür. Tüm Ubuntu aynalarının bunu yapıp yapmadığından emin değilim.
Joao, sorumun ikinci yarısına cevap verdi, ben de ilk yarıyı kendi başıma araştırdım. Kök düzeyinde, dört dizin ve bir dosya var.
root
| -- dists
| -- pool
| -- indices
| -- project
| -- ls-lr.gz
(Ayrıca üniversitedeki depomda, sadece ilk iki giriş vardı. Bu yüzden son 3 deponun işleyişi için gerekli değil gibi görünüyor.)
Dosya , depo kök dizininde çalıştırılan komutun ls-lr.gz
çıktısını içerir ls -lr
.
dists
Dizin (paketlerin bir listesini içermektedir) Packages.gz dosyası ve paket imzalar Release.gpg / Release tümü dahil meta en içeren görünüyor. (Bilgi için Joao teşekkürler)
pool
Dizin gerçek .deb dosyalarını içerir. Organizasyondur /pool/[section]/[letter]/[group]/packagename.deb
. Dolayısıyla, python-subversion paketinin asıl konumu /pool/main/s/subversion/python-subversion_1.3.2-3ubuntu2%7edapper1_amd64.deb
, çünkü subversion, python-subversion paketinin grubudur ve s, subversiyonun ilk harfidir.
projects
Dizin ayna orijinal repo senkronize nasıl ayrıntılarıyla birkaç dosyalarını içerecek gibi görünüyor.
indices
Dizin çok sayıda dosya içerir, çoğu boşaltın. Boş olmayan dosyaların paketler için fazladan meta veri sağladığı görülüyor.