apt-ftparchive - Dizin dosyaları oluşturmak için yardımcı program
apt-ftparchive [-dsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture] [-o=config_string] [-c=config_file] {packages path [override-file [pathprefix]] | sources path [override-file [pathprefix]] | contents path | release path | generate config_file section... | clean config_file | {-v | --version} | {-h | --help}}
apt-ftparchive, APT'nin bir dağıtım kaynağına erişmek için kullandığı dizin dosyalarını oluşturan komut satırı aracıdır. İndeks dosyaları, o sitenin içeriğine göre kaynak sitede oluşturulmalıdır.
apt-ftparchive, dpkg-scanpackages(1) programının üst kümesidir ve tüm işlevselliğini package komutu aracılığıyla içerir. Aynı zamanda bir içerik dosyası üreteci, içerikler ve eksiksiz bir arşiv için oluşturma sürecini kodlamak için ayrıntılı bir araç içerir.
Dahili olarak apt-ftparchive, bir .deb dosyasının içeriğini önbelleğe almak için ikili veritabanlarını kullanabilir ve gzip(1) dışında herhangi bir harici programa güvenmez. Tam oluşturma işlemi yapılırken otomatik olarak dosya değiştirme kontrolleri gerçekleştirir ve istenen sıkıştırılmış çıktı dosyalarını oluşturur.
-h veya --help seçeneği verilmediği sürece aşağıdaki komutlardan biri bulunmalıdır.
Packages komutu, bir dizin ağacından bir paket dosyası oluşturur. Verilen dizini alır ve tekrar tekrar .deb dosyalarını arar ve her biri için stdout'a bir paket kaydı yayar. Bu komut yaklaşık olarak dpkg-scanpackages(1) komutuna eşdeğerdir.
--db seçeneği, bir ikili önbelleğe alma DB'sini belirtmek için kullanılabilir.
Sources komutu, bir dizin ağacından bir kaynak dizin dosyası oluşturur. Verilen dizini alır ve tekrar tekrar .dsc dosyalarını arar ve her biri için stdout'a bir kaynak kaydı yayar. Bu komut yaklaşık olarak dpkg-scansources(1) komutuna eşdeğerdir.
Bir geçersiz kılma dosyası belirtilirse, .src uzantılı bir kaynak geçersiz kılma dosyası aranır. --source-override seçeneği, kullanılacak kaynak geçersiz kılma dosyasını değiştirmek için kullanılabilir.
İçindekiler komutu, bir dizin ağacından bir içerik dosyası oluşturur. Verilen dizini alır ve yinelemeli olarak .deb dosyalarını arar ve her dosyadan dosya listesini okur. Daha sonra sıralar ve paketlerle eşleşen dosyaların listesini stdout'a yazar. Dizinler çıktıya yazılmaz. Birden çok paket aynı dosyaya sahipse, çıktıda her paket bir virgülle ayrılır.
--db seçeneği, bir ikili önbelleğe alma DB'sini belirtmek için kullanılabilir.
Release komutu, bir dizin ağacından bir Release dosyası oluşturur. Sıkıştırılmamış ve sıkıştırılmış Paketler, Kaynaklar, İçerikler, Bileşenler ve simgeler dosyalarının yanı sıra Yayın, Dizin ve md5sum.txt dosyalarını varsayılan olarak verilen dizinde tekrar tekrar arar (APT::FTPArchive::Release::Default-Patterns). APT::FTPArchive::Release::Patterns içinde listelenerek ek dosya adı kalıpları eklenebilir. Ardından, her dosya için (varsayılan olarak) bir MD5, SHA1, SHA256 ve SHA512 özetini içeren bir Sürüm dosyasını stdout'a yazar.
Sürüm dosyasındaki ek meta veri alanlarının değerleri, APT::FTPArchive::Release altındaki ilgili değişkenlerden alınır, örn. APT::FTPArchive::Release::Origin. Desteklenen alanlar Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By, Architectures, Components ve Description'dır.
Üret komutu, bir cron komut dosyasından çalıştırılabilecek şekilde tasarlanmıştır ve verilen yapılandırma dosyasına göre dizinler oluşturur. Konfigürasyon dili, hangi dizin dosyalarının hangi dizinlerden oluşturulacağını belirlemek için esnek bir yol sağlamanın yanı sıra, gerekli ayarları sürdürmek için basit bir yol sağlar.
Clean komutu, artık gerekli olmayan kayıtları kaldırarak, verilen yapılandırma dosyası tarafından kullanılan veritabanlarını düzenler.
Üret komutu, oluşturulacak arşivleri tanımlamak için bir yapılandırma dosyası kullanır. Bind 8 ve dhcpd gibi ISC araçlarında görüldüğü gibi tipik ISC yapılandırma formatını takip eder. apt.conf(5) sözdiziminin açıklamasını içerir. Oluşturma yapılandırmasının bölümsel biçimde ayrıştırıldığını, ancak apt.conf(5)'ün ağaç biçiminde ayrıştırıldığını unutmayın. Bu, yalnızca kapsam etiketinin nasıl işlendiğini etkiler.
Oluşturma yapılandırması, her biri aşağıda açıklanan dört ayrı bölüme sahiptir.
Dizin bölümü, oluşturma işlemi sırasında gereken dosyaları bulmak için gereken standart dizinleri tanımlar. Bu dizinler, tam bir mutlak yol oluşturmak için sonraki bölümlerde tanımlanan belirli göreceli yolların başına eklenir.
FTP arşivinin kökünü belirtir, standart bir Debian yapılandırmasında bu, ls-LR ve dist düğümlerini içeren dizindir.
Geçersiz kılma dosyalarının konumunu belirtir.
Önbellek dosyalarının konumunu belirtir.
Aşağıda FileList ayarı kullanılıyorsa, dosya listesi dosyalarının konumunu belirtir.
Varsayılan bölüm, varsayılan değerleri ve jeneratörün çalışmasını kontrol eden ayarları belirtir. Diğer bölümler, bölüm başına bir ayar ile bu varsayılanları geçersiz kılabilir.
Paket dizin dosyaları için kullanılacak varsayılan sıkıştırma düzenlerini ayarlar. APT::Compressor yapılandırma kapsamı aracılığıyla yapılandırılan sıkıştırıcılardan en az birinin boşlukla ayrılmış listesini içeren bir dizedir. Tüm sıkıştırma düzenleri için varsayılan değer . gzip.
Paket dosyaları olan dosya uzantılarının varsayılan listesini ayarlar. Bu, varsayılan olarak .deb'dir.
Bu, Sources dosyaları için sıkıştırmayı denetlemesi dışında Packages::Compress'e benzer.
Kaynak dosyalar olan dosya uzantılarının varsayılan listesini ayarlar. Bu varsayılan olarak .dsc'dir.
Bu, İçerik dosyaları için sıkıştırmayı denetlemesi dışında Packages::Compress'e benzer.
Bu, Translation-en ana dosyası için sıkıştırmayı denetlemesi dışında Packages::Compress'e benzer.
Çalıştırma başına bağlantısı kaldırılacak (ve sabit bağlantılarla değiştirilecek) kilobayt sayısını belirtir. Bu, bölüm başına Dış Bağlantılar ayarıyla birlikte kullanılır.
Oluşturulan tüm dizin dosyalarının modunu belirtir. Varsayılan değeri 0644'tür. Tüm dizin dosyaları, umask dikkate alınmaksızın bu moda ayarlanmıştır.
Uzun açıklamaların Paketler dosyasına mı dahil edileceğini yoksa bir ana Çeviri-en dosyasına mı ayrılacağını belirtir.
Ağaç bölümlerine özgü varsayılanları ayarlar. Bu değişkenlerin tümü ikame değişkenleridir ve $ (DIST), $ (SECTION) ve $ (ARCH) dizeleri ilgili değerleriyle değiştirilir.
Her gün oluşturulan içerik dosyalarının kilobayt sayısını ayarlar. İçindekiler dosyaları sırayla birleştirilir, böylece birkaç gün içinde hepsi yeniden oluşturulur.
Bir içerik dosyasının değiştirilmeden kontrol edilmesine izin verilen gün sayısını kontrol eder. Bu sınır aşılırsa, içindekiler dosyasının mtime'ı güncellenir. Bu durum, paket dosyası yeni bir içerik dosyasıyla sonuçlanmayacak şekilde değiştirilirse [örneğin düzenlemeyi geçersiz kıl] meydana gelebilir. Her halükarda yeni bir dosya gerektiren yeni .deb'lerin yüklenmesi umuduyla bir beklemeye izin verilir. Varsayılan 10'dur, birimler gün cinsindendir.
.deb dizin ağacının en üstünü ayarlar. Varsayılanlar: $ (DIST)/$ (BÖLÜM)/binary-$ (ARCH)/
Kaynak paket dizin ağacının üstünü ayarlar. Varsayılan olarak $ (DIST)/$ (BÖLÜM)/kaynak/ şeklindedir.
Çıkış Paketleri dosyasını ayarlar. Varsayılanlar: $ (DIST)/$ (BÖLÜM)/binary-$ (ARCH)/Paketler
Çıkış Kaynakları dosyasını ayarlar. Varsayılan olarak $ (DIST)/$ (BÖLÜM)/kaynak/Kaynaklar şeklindedir
Çeviri-en ana dosyasının çıktısını, Paketler dosyasına dahil edilmemeleri gerekiyorsa uzun açıklamalarla ayarlar. Varsayılanlar: $ (DIST)/$ (BÖLÜM)/i18n/Translation-tr
Bir sembolik bağlantının harici bir bağlantı yerine dahili bir bağlantı olarak kabul edilmesine neden olan yol önekini ayarlar. Varsayılanlar $ (DIST)/$ (BÖLÜM)/ şeklindedir
Çıktı İçindekiler dosyasını ayarlar. Varsayılan olarak $ (DIST)/$ (BÖLÜM)/İçerik-$ (ARCH) şeklindedir. Bu ayar, birden çok Paket dosyasının tek bir İçerik dosyasına eşlenmesine neden oluyorsa (varsayılan değerdir), apt-ftparchive bu paket dosyalarını otomatik olarak bir araya getirir.
Başlık dosyasını, içerik çıktısının başına eklenecek şekilde ayarlar.
Bu bölüm için kullanılacak ikili önbellek veritabanını ayarlar. Birden çok bölüm aynı veritabanını paylaşabilir.
apt-ftparchive'nin dizin ağacında yürümek yerine verilen dosyadaki dosyaların listesini okuması gerektiğini belirtir. Göreceli dosya adlarının önüne arşiv dizini eklenir.
apt-ftparchive'nin dizin ağacında yürümek yerine verilen dosyadaki dosyaların listesini okuması gerektiğini belirtir. Göreceli dosya adlarının önüne arşiv dizini eklenir. Bu, kaynak dizinleri işlerken kullanılır.
Ağaç bölümü, bir temel dizinden, ardından bu temel dizindeki birden çok bölümden ve son olarak her bölümde birden çok Mimariden oluşan standart bir Debian dosya ağacını tanımlar. Kullanılan tam yol, Dizin değiştirme değişkeni tarafından tanımlanır.
Ağaç bölümü, $ (DIST) değişkenini ayarlayan ve ağacın kökünü tanımlayan bir kapsam etiketi alır (yolun başına ArchiveDir gelir). Tipik olarak bu, dists/bookworm gibi bir ayardır.
TreeDefault bölümünde tanımlanan tüm ayarlar, üç yeni değişkenin yanı sıra bir Ağaç bölümünde kullanılabilir.
Bir Ağaç bölümünü işlerken apt-ftparchive şuna benzer bir işlem gerçekleştirir:
for i in Sections do for j in Architectures do Generate for DIST=scope SECTION=i ARCH=j
Bu, dağıtım altında görünen boşlukla ayrılmış bir bölüm listesidir; tipik olarak bu, ana katkı, özgür olmayan, özgür olmayan ürün yazılımı gibi bir şeydir
Bu, arama bölümü altında görünen tüm mimarilerin boşluklarla ayrılmış bir listesidir. Bu ağacın bir kaynak arşivi olduğunu belirtmek için özel mimari kaynak kullanılır. Mimari, Paketler gibi mimariye özgü dosyaların, özel bir dosyada bulunacakları için tüm dosyalardaki tüm paketler hakkında mimari hakkında bilgi içermemesi gerektiğinin tüm sinyallerini verir.
Uzun açıklamaların Paketler dosyasına mı dahil edileceğini yoksa bir ana Çeviri-en dosyasına mı ayrılacağını belirtir.
İkili geçersiz kılma dosyasını ayarlar. Geçersiz kılma dosyası bölüm, öncelik ve bakıcı adres bilgilerini içerir.
Kaynak geçersiz kılma dosyasını ayarlar. Geçersiz kılma dosyası, bölüm bilgilerini içerir.
İkili ekstra geçersiz kılma dosyasını ayarlar.
Kaynak ekstra geçersiz kılma dosyasını ayarlar.
Bindirectory bölümü, özel bir yapıya sahip olmayan bir ikili dizin ağacını tanımlar. Kapsam etiketi, ikili dizinin konumunu belirtir ve ayarlar, değiştirme değişkenleri veya SectionArchitecture ayarları olmaksızın Ağaç bölümüne benzer.
Paketler dosya çıktısını ayarlar.
Kaynaklar dosya çıktısını ayarlar. Paketlerden veya Kaynaklardan en az biri gereklidir.
İçindekiler dosyası çıktısını ayarlar (isteğe bağlı).
İkili geçersiz kılma dosyasını ayarlar.
Kaynak geçersiz kılma dosyasını ayarlar.
İkili ekstra geçersiz kılma dosyasını ayarlar.
Kaynak ekstra geçersiz kılma dosyasını ayarlar.
Önbellek DB'sini ayarlar.
Tüm çıktı yollarına bir yol ekler.
Dosya listesi dosyasını belirtir.
İkili geçersiz kılma dosyası, dpkg-scanpackages(1) ile tamamen uyumludur. Boşluklarla ayrılmış dört alan içerir. İlk alan paket adı, ikincisi o paketi zorlamak için öncelik, üçüncüsü o paketi zorlamak için bölüm ve son alan ise sürdürücü permütasyon alanıdır.
Sürdürücü alanının genel biçimi şöyledir:
old [// oldn]* => new
ya da sadece,
new
İlk form, çift eğik çizgiyle ayrılmış eski e-posta adresleri listesinin belirtilmesine izin verir. Bunlardan herhangi biri bulunursa, bakıcı alanı için yeni değiştirilir. İkinci biçim, koşulsuz olarak bakıcı alanını değiştirir.
Kaynak geçersiz kılma dosyası, dpkg-scansources(1) ile tamamen uyumludur. Boşluklarla ayrılmış iki alan içerir. İlk alan kaynak paketin adı, ikincisi atanacak bölümdür.
Ekstra geçersiz kılma dosyası, herhangi bir rasgele etiketin çıktıya eklenmesine veya değiştirilmesine izin verir. Üç sütunu vardır, birincisi paket, ikincisi etiket ve satırın geri kalanı yeni değerdir.
Tüm komut satırı seçenekleri yapılandırma dosyası kullanılarak ayarlanabilir, açıklamalar ayarlanacak yapılandırma seçeneğini belirtir. Boole seçenekleri için yapılandırma dosyasını -f-,--no-f, -f=no veya birkaçını kullanarak geçersiz kılabilirsiniz. diğer varyasyonlar.
Verilen sağlama toplamını oluşturun. Bu seçenekler varsayılan olarak açıktır, kapatıldığında, oluşturulan dizin dosyaları mümkün olduğunda sağlama toplamı alanlarına sahip olmaz. Yapılandırma Öğeleri: APT::FTPArchive::Checksum ve APT::FTPArchive::Index::Checksum burada Index Paketler, Kaynaklar veya Sürüm olabilir ve Sağlama Toplamı MD5, SHA1, SHA256 veya SHA512 olabilir.
Bir ikili önbelleğe alma DB'si kullanın. Bunun, oluştur komutu üzerinde hiçbir etkisi yoktur. Yapılandırma Öğesi: APT::FTPArchive::DB.
Sessizlik; ilerleme göstergelerini atlayarak günlüğe kaydetmeye uygun çıktı üretir. Daha fazla q, maksimum 2'ye kadar daha sessiz üretecektir. Yapılandırma dosyasını geçersiz kılarak sessiz düzeyi ayarlamak için -q=# öğesini de kullanabilirsiniz. Yapılandırma Öğesi: sessiz.
Bağlantı Kaldırma işlemini gerçekleştirin. Dış Bağlantılar ayarı kullanılırsa, bu seçenek aslında dosyaların bağlantısının kaldırılmasını sağlar. Varsayılan olarak açıktır ve --no-delink ile kapatılabilir. Yapılandırma Öğesi: APT::FTPArchive::DeLinkAct.
İçerik üretimi gerçekleştirin. Bu seçenek ayarlandığında ve bir önbellek DB'si ile paket dizinleri oluşturulduğunda, dosya listesi de çıkarılacak ve daha sonra kullanılmak üzere DB'de saklanacaktır. Oluştur komutunu kullanırken, bu seçenek herhangi bir İçerik dosyasının oluşturulmasına da izin verir. Varsayılan açık. Yapılandırma Öğesi: APT::FTPArchive::Contents.
Source komutuyla kullanılacak kaynak geçersiz kılma dosyasını seçin. Yapılandırma Öğesi: APT::FTPArchive::SourceOverride.
Önbelleğe alınan veritabanlarını salt okunur yapın. Yapılandırma Öğesi: APT::FTPArchive::ReadOnlyDB.
Paketler ve içerikler komutlarında, verilen yoldaki tüm paket dosyaları yerine yalnızca *_arch.deb veya *_all.deb ile eşleşen paket dosyalarını kabul edin. Yapılandırma Öğesi: APT::FTPArchive::Architecture.
apt-ftparchive(1) mümkün olduğu kadar çok meta veriyi önbelleğe alınmış bir veritabanında önbelleğe alır. Paketler aynı sürümle yeniden derlenir ve/veya yeniden yayınlanırsa, boyut ve sağlama toplamları gibi artık güncelliğini yitirmiş önbelleğe alınmış meta veriler kullanılacağından bu sorunlara yol açacaktır. Bu seçenek etkinleştirildiğinde, dosyanın değiştirilip değiştirilmediği kontrol edileceği için bu artık olmayacak. Aynı sürüm numarasına sahip bir paketin birden çok sürümünün/yapısının yüklenmesi önerilmediğinden, bu seçeneğin varsayılan olarak "yanlış" olarak ayarlandığını unutmayın, bu nedenle teoride kimse bu sorunları yaşamayacak ve bu nedenle tüm bu ekstra kontroller işe yaramaz.
Bu yapılandırma seçeneği varsayılan olarak "doğru"dur ve yalnızca apt-ftparchive(1) ile oluşturulan Arşiv Çeviri dosyaları da sağlıyorsa "yanlış" olarak ayarlanmalıdır. Translation-en ana dosyasının yalnızca oluştur komutunda oluşturulabileceğini unutmayın.
Kısa bir kullanım özeti göster.
Program sürümünü göster.
Yapılandırma Dosyası; Kullanılacak bir yapılandırma dosyası belirtin. Program, varsayılan yapılandırma dosyasını ve ardından bu yapılandırma dosyasını okuyacaktır. Varsayılan yapılandırma dosyaları ayrıştırılmadan önce yapılandırma ayarlarının yapılması gerekiyorsa, APT_CONFIG ortam değişkenine sahip bir dosya belirtin. Sözdizimi bilgisi için apt.conf(5)'e bakın.
Bir Yapılandırma Seçeneği belirleyin; Bu, isteğe bağlı bir yapılandırma seçeneği belirleyecektir. Sözdizimi -o Foo::Bar=bar şeklindedir. -o ve --option, farklı seçenekleri ayarlamak için birden çok kez kullanılabilir.
İkili paketleri (.deb) içeren bir dizin için sıkıştırılmış Paketler dosyası oluşturmak için:
apt-ftparchive packages directory | gzip > Packages.gz
apt.conf(5)
apt-ftparchive normal işlemde sıfır, hata durumunda ondalık 100 döndürür.
APT hata sayfası[1]. APT'deki bir hatayı bildirmek istiyorsanız, lütfen /usr/share/doc/debian/bug-reporting.txt dosyasına veya reportbug(1) komutuna bakın.
Jason Gunthorpe
APT ekibi
1. APT hata sayfası: http://bugs.debian.org/src:apt