apt-ftparchive - manual referensi, opsi, contoh perintah


NAMA

apt-ftparchive - Utilitas untuk menghasilkan file indeks

RINGKASAN

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}}

KETERANGAN

apt-ftparchive adalah alat baris perintah yang menghasilkan file indeks yang digunakan APT untuk mengakses sumber distribusi. File indeks harus dibuat di situs asal berdasarkan konten situs tersebut.

apt-ftparchive adalah superset dari program dpkg-scanpackages(1), menggabungkan seluruh fungsinya melalui perintah paket. Ini juga berisi generator file konten, konten, dan cara yang rumit untuk membuat skrip proses pembuatan untuk arsip lengkap.

Secara internal apt-ftparchive dapat menggunakan database biner untuk meng-cache konten file .deb dan tidak bergantung pada program eksternal apa pun selain gzip(1). Saat melakukan full generate, secara otomatis melakukan pemeriksaan perubahan file dan membuat file keluaran terkompresi yang diinginkan.

Kecuali opsi -h, atau --help diberikan, salah satu perintah di bawah ini harus ada.

packages

Perintah paket menghasilkan file paket dari pohon direktori. Dibutuhkan direktori yang diberikan dan secara rekursif mencari file .deb, memancarkan catatan paket ke stdout untuk masing-masing. Perintah ini kira-kira setara dengan dpkg-scanpackages(1).

Opsi --db dapat digunakan untuk menentukan DB caching biner.

sources

Perintah sources menghasilkan file indeks sumber dari pohon direktori. Dibutuhkan direktori yang diberikan dan secara rekursif mencari file .dsc, memancarkan catatan sumber ke stdout untuk masing-masing. Perintah ini kira-kira setara dengan dpkg-scansources(1).

Jika file override ditentukan maka file override sumber akan dicari dengan ekstensi .src. Opsi --source-override dapat digunakan untuk mengubah file source override yang akan digunakan.

contents

Perintah isi menghasilkan file isi dari pohon direktori. Dibutuhkan direktori yang diberikan dan secara rekursif mencarinya untuk file .deb, dan membaca daftar file dari setiap file. Kemudian menyortir dan menulis ke stdout daftar file yang cocok dengan paket. Direktori tidak ditulis ke output. Jika beberapa paket memiliki file yang sama, maka setiap paket dipisahkan dengan koma pada keluaran.

Opsi --db dapat digunakan untuk menentukan DB caching biner.

release

Perintah rilis menghasilkan file Rilis dari pohon direktori. Ini secara rekursif mencari direktori yang diberikan untuk file Paket, Sumber, Konten, Komponen dan ikon yang tidak terkompresi dan terkompresi serta file Rilis, Indeks dan md5sum.txt secara default (APT::FTPArchive::Release::Default-Patterns). Pola nama file tambahan dapat ditambahkan dengan mencantumkannya di APT::FTPArchive::Release::Patterns. Itu kemudian menulis ke stdout file Rilis yang berisi (secara default) intisari MD5, SHA1, SHA256 dan SHA512 untuk setiap file.

Nilai untuk bidang metadata tambahan dalam file Rilis diambil dari variabel terkait di bawah APT::FTPArchive::Release, mis. APT::FTPArchive::Release::Origin. Bidang yang didukung adalah Origin, Label, Suite, Version, Codename, Date, NotAutomatic, ButAutomaticUpgrades, Acquire-By-Hash, Valid-Until, Signed-By, Architectures, Components dan Description.

generate

Perintah generate dirancang agar dapat dijalankan dari skrip cron dan membangun indeks sesuai dengan file konfigurasi yang diberikan. Bahasa konfigurasi menyediakan cara yang fleksibel untuk menentukan file indeks mana yang dibangun dari direktori mana, serta menyediakan cara sederhana untuk mempertahankan pengaturan yang diperlukan.

clean

Perintah clean merapikan database yang digunakan oleh file konfigurasi yang diberikan dengan menghapus catatan yang tidak diperlukan lagi.

MENGHASILKAN KONFIGURASI

Perintah generate menggunakan file konfigurasi untuk mendeskripsikan arsip yang akan dibuat. Ini mengikuti format konfigurasi khas ISC seperti yang terlihat pada alat ISC seperti bind 8 dan dhcpd. apt.conf(5) berisi deskripsi sintaks. Perhatikan bahwa konfigurasi generate diuraikan dengan cara penampang, tetapi apt.conf(5) diuraikan dengan cara hierarki. Ini hanya mempengaruhi bagaimana tag cakupan ditangani.

Konfigurasi generate memiliki empat bagian terpisah, masing-masing dijelaskan di bawah ini.

Bagian Dir

Bagian Dir menentukan direktori standar yang diperlukan untuk menemukan file yang diperlukan selama proses pembuatan. Direktori ini ditambahkan jalur relatif tertentu yang ditentukan di bagian selanjutnya untuk menghasilkan jalur absolut yang lengkap.

ArchiveDir

Menentukan root dari arsip FTP, dalam konfigurasi Debian standar ini adalah direktori yang berisi node ls-LR dan dist.

OverrideDir

Menentukan lokasi file override.

CacheDir

Menentukan lokasi file cache.

FileListDir

Menentukan lokasi file daftar file, jika pengaturan FileList digunakan di bawah ini.

Bagian Default

Bagian Default menentukan nilai default, dan pengaturan yang mengontrol pengoperasian generator. Bagian lain mungkin menimpa default ini dengan pengaturan per bagian.

Packages::Compress

Menetapkan skema kompresi default yang akan digunakan untuk file indeks paket. Ini adalah string yang berisi daftar yang dipisahkan spasi dari setidaknya satu kompresor yang dikonfigurasi melalui cakupan konfigurasi APT::Compressor. Default untuk semua skema kompresi adalah . gzip.

Packages::Extensions

Menetapkan daftar default ekstensi file yang merupakan file paket. Ini default ke .deb.

Sources::Compress

Ini mirip dengan Paket::Kompres kecuali bahwa ini mengontrol kompresi untuk file Sumber.

Sources::Extensions

Menetapkan daftar default ekstensi file yang merupakan file sumber. Ini default ke .dsc.

Contents::Compress

Ini mirip dengan Packages::Compress kecuali bahwa ini mengontrol kompresi untuk file Contents.

Translation::Compress

Ini mirip dengan Packages::Compress kecuali bahwa ini mengontrol kompresi untuk file master Translation-en.

DeLinkLimit

Menentukan jumlah kilobyte yang akan dihapus tautannya (dan diganti dengan tautan keras) per proses. Ini digunakan bersama dengan pengaturan Tautan Eksternal per bagian.

FileMode

Menentukan mode semua file indeks yang dibuat. Standarnya adalah 0644. Semua file indeks diatur ke mode ini tanpa memperhatikan umask.

LongDescription

Menentukan apakah deskripsi panjang harus disertakan dalam file Paket atau dipisahkan menjadi file Terjemahan-en master.

Bagian TreeDefault

Menetapkan default khusus untuk bagian Pohon. Semua variabel ini adalah variabel substitusi dan string $ (DIST), $ (SECTION) dan $ (ARCH) diganti dengan nilainya masing-masing.

MaxContentsChange

Menetapkan jumlah kilobyte file konten yang dihasilkan setiap hari. File konten berbentuk round-robin sehingga selama beberapa hari semuanya akan dibangun kembali.

ContentsAge

Mengontrol jumlah hari file konten diizinkan untuk diperiksa tanpa mengubah. Jika batas ini terlewati, waktu file konten diperbarui. Kasus ini dapat terjadi jika file paket diubah sedemikian rupa sehingga tidak menghasilkan file konten baru [override edit misalnya]. Penundaan diperbolehkan dengan harapan .debs baru akan diinstal, bagaimanapun juga membutuhkan file baru. Standarnya adalah 10, satuannya dalam hari.

Directory

Mengatur bagian atas pohon direktori .deb. Default ke $ (DIST)/$ (SECTION)/binary-$ (ARCH)/

SrcDirectory

Menyetel bagian atas pohon direktori paket sumber. Default ke $ (DIST)/$ (SECTION)/sumber/

Packages

Mengatur file Paket keluaran. Default ke $ (DIST)/$ (SECTION)/binary-$ (ARCH)/Paket

Sources

Mengatur file Sumber keluaran. Default ke $ (DIST)/$ (SECTION)/sumber/Sumber

Translation

Setel file master Translation-en keluaran dengan deskripsi panjang jika seharusnya tidak disertakan dalam file Paket. Default ke $ (DIST)/$ (SECTION)/i18n/Translation-en

InternalPrefix

Menetapkan awalan jalur yang menyebabkan symlink dianggap sebagai tautan internal, bukan tautan eksternal. Default ke $ (DIST)/$ (SECTION)/

Contents

Mengatur file Konten keluaran. Default ke $ (DIST)/$ (SECTION)/Contents-$ (ARCH). Jika pengaturan ini menyebabkan beberapa file Paket dipetakan ke satu file Konten (sebagai default) maka apt-ftparchive akan mengintegrasikan file paket tersebut secara otomatis.

Contents::Header

Setel file header untuk ditambahkan ke output konten.

BinCacheDB

Menyetel basis data cache biner yang akan digunakan untuk bagian ini. Beberapa bagian dapat berbagi database yang sama.

FileList

Menentukan bahwa alih-alih berjalan di pohon direktori, apt-ftparchive harus membaca daftar file dari file yang diberikan. Nama file relatif diawali dengan direktori arsip.

SourceFileList

Menentukan bahwa alih-alih berjalan di pohon direktori, apt-ftparchive harus membaca daftar file dari file yang diberikan. Nama file relatif diawali dengan direktori arsip. Ini digunakan saat memproses indeks sumber.

Bagian Pohon

Bagian Pohon mendefinisikan pohon file Debian standar yang terdiri dari direktori dasar, kemudian beberapa bagian dalam direktori dasar tersebut dan terakhir beberapa Arsitektur di setiap bagian. Jalur tepat yang digunakan ditentukan oleh variabel substitusi Direktori.

Bagian Pohon mengambil tag cakupan yang menyetel variabel $ (DIST) dan menentukan akar pohon (jalur diawali oleh ArchiveDir). Biasanya ini adalah pengaturan seperti dists/bookworm.

Semua pengaturan yang ditentukan di bagian TreeDefault dapat digunakan di bagian Tree serta tiga variabel baru.

Saat memproses bagian Pohon, apt-ftparchive melakukan operasi yang serupa dengan:

for i in Sections do 
   for j in Architectures do
      Generate for DIST=scope SECTION=i ARCH=j
     
Sections

Ini adalah daftar bagian yang dipisahkan ruang yang muncul di bawah distribusi; biasanya ini seperti main contrib non-free non-free-firmware

Architectures

Ini adalah daftar semua arsitektur yang dipisahkan ruang yang muncul di bagian pencarian. Sumber arsitektur khusus digunakan untuk menunjukkan bahwa pohon ini memiliki arsip sumber. Semua arsitektur memberi sinyal bahwa file khusus arsitektur seperti Paket tidak boleh menyertakan informasi tentang arsitektur semua paket di semua file karena akan tersedia dalam file khusus.

LongDescription

Menentukan apakah deskripsi panjang harus disertakan dalam file Paket atau dipisahkan menjadi file Terjemahan-en master.

BinOverride

Mengatur file penimpaan biner. File override berisi bagian, prioritas, dan informasi alamat pengelola.

SrcOverride

Mengatur file pengganti sumber. File override berisi informasi bagian.

ExtraOverride

Menyetel file penimpaan ekstra biner.

SrcExtraOverride

Mengatur file override ekstra sumber.

Bagian Direktori Bin

Bagian bindirectory mendefinisikan pohon direktori biner tanpa struktur khusus. Tag lingkup menentukan lokasi direktori biner dan pengaturannya mirip dengan bagian Pohon tanpa variabel substitusi atau pengaturan SectionArchitecture.

Packages

Mengatur output file Paket.

Sources

Mengatur keluaran file Sumber. Setidaknya satu dari Paket atau Sumber diperlukan.

Contents

Mengatur keluaran file Konten (opsional).

BinOverride

Mengatur file penimpaan biner.

SrcOverride

Mengatur file pengganti sumber.

ExtraOverride

Menyetel file penimpaan ekstra biner.

SrcExtraOverride

Mengatur file override ekstra sumber.

BinCacheDB

Mengatur DB cache.

PathPrefix

Menambahkan jalur ke semua jalur keluaran.

FileList, SourceFileList

Menentukan file daftar file.

FILE TIMPA BINER

File penimpaan biner sepenuhnya kompatibel dengan dpkg-scanpackages(1). Ini berisi empat bidang yang dipisahkan oleh spasi. Bidang pertama adalah nama paket, yang kedua adalah prioritas untuk memaksakan paket itu, yang ketiga adalah bagian untuk memaksa paket itu dan bidang terakhir adalah bidang permutasi pengelola.

Bentuk umum dari field maintainer adalah:

old [// oldn]* => new

atau sederhananya,

new

Formulir pertama memungkinkan daftar alamat email lama yang dipisahkan garis miring ganda untuk ditentukan. Jika ada yang ditemukan maka yang baru diganti untuk bidang pengelola. Bentuk kedua tanpa syarat menggantikan bidang pengelola.

SUMBER OVERRIDE FILE

File pengganti sumber sepenuhnya kompatibel dengan dpkg-scansources(1). Ini berisi dua bidang yang dipisahkan oleh spasi. Kolom pertama adalah nama paket sumber, kolom kedua adalah bagian untuk menetapkannya.

FILE TAMBAHAN EKSTRA

File override ekstra memungkinkan setiap tag arbitrer ditambahkan atau diganti dalam output. Ini memiliki tiga kolom, yang pertama adalah paket, yang kedua adalah tag dan sisa baris adalah nilai baru.

PILIHAN

Semua opsi baris perintah dapat diatur menggunakan file konfigurasi, deskripsi menunjukkan opsi konfigurasi untuk diatur. Untuk opsi boolean, Anda dapat mengganti file konfigurasi dengan menggunakan sesuatu seperti -f-,--no-f, -f=no atau beberapa variasi lainnya.

--md5, --sha1, --sha256, --sha512

Hasilkan checksum yang diberikan. Opsi ini secara default aktif, ketika dimatikan file indeks yang dihasilkan tidak akan memiliki bidang checksum jika memungkinkan. Item Konfigurasi: APT::FTPArchive::Checksum dan APT::FTPArchive::Index::Checksum di mana Index dapat berupa Paket, Sumber, atau Rilis dan Checksum dapat berupa MD5, SHA1, SHA256, atau SHA512.

-d, --db

Gunakan DB caching biner. Ini tidak berpengaruh pada perintah generate. Item Konfigurasi: APT::FTPARchive::DB.

-q, --quiet

Diam; menghasilkan output yang cocok untuk logging, menghilangkan indikator kemajuan. Lebih banyak qs akan menghasilkan lebih banyak senyap hingga maksimum 2. Anda juga dapat menggunakan -q=# untuk menyetel tingkat senyap, menggantikan file konfigurasi. Item Konfigurasi: tenang.

--delink

Lakukan Delinking. Jika pengaturan Tautan Eksternal digunakan maka opsi ini benar-benar memungkinkan penghapusan tautan file. Secara default aktif dan dapat dimatikan dengan --no-delink. Item Konfigurasi: APT::FTPArchive::DeLinkAct.

--contents

Lakukan pembuatan konten. Ketika opsi ini disetel dan indeks paket dihasilkan dengan DB cache, maka daftar file juga akan diekstraksi dan disimpan dalam DB untuk digunakan nanti. Saat menggunakan perintah generate, opsi ini juga memungkinkan pembuatan file Konten apa pun. Defaultnya aktif. Item Konfigurasi: APT::FTPArchive::Contents.

-s, --source-override

Pilih file override sumber untuk digunakan dengan perintah sources. Item Konfigurasi: APT::FTPArchive::SourceOverride.

--readonly

Jadikan database caching hanya bisa dibaca. Item Konfigurasi: APT::FTPArchive::ReadOnlyDB.

-a, --arch

Terima dalam perintah paket dan konten hanya file paket yang cocok dengan *_arch.deb atau *_all.deb alih-alih semua file paket di jalur yang diberikan. Item Konfigurasi: APT::FTPArchive::Architecture.

APT::FTPArchive::AlwaysStat

apt-ftparchive(1) meng-cache sebanyak mungkin metadata dalam cachedb. Jika paket dikompilasi ulang dan/atau diterbitkan ulang dengan versi yang sama lagi, ini akan menimbulkan masalah karena metadata cache yang sudah usang seperti ukuran dan checksum akan digunakan. Dengan mengaktifkan opsi ini, ini tidak akan terjadi lagi karena akan diperiksa jika file diubah. Perhatikan bahwa opsi ini disetel ke "false" secara default karena tidak disarankan untuk mengunggah banyak versi/build dari sebuah paket dengan nomor versi yang sama, jadi secara teori tidak ada yang akan mengalami masalah ini dan oleh karena itu semua pemeriksaan tambahan ini tidak berguna.

APT::FTPArchive::LongDescription

Opsi konfigurasi ini default ke "true" dan hanya boleh disetel ke "false" jika Arsip yang dibuat dengan apt-ftparchive(1) juga menyediakan file Terjemahan. Perhatikan bahwa file master Translation-en hanya dapat dibuat dalam perintah generate.

-h, --help

Tampilkan ringkasan penggunaan singkat.

-v, --version

Tampilkan versi program.

-c, --config-file

Berkas Konfigurasi; Tentukan file konfigurasi yang akan digunakan. Program akan membaca file konfigurasi default dan kemudian file konfigurasi ini. Jika setelan konfigurasi perlu disetel sebelum file konfigurasi default diuraikan, tentukan file dengan variabel lingkungan APT_CONFIG. Lihat apt.conf(5) untuk informasi sintaks.

-o, --option

Tetapkan Opsi Konfigurasi; Ini akan menetapkan opsi konfigurasi sewenang-wenang. Sintaksnya adalah -o Foo::Bar=bar. -o dan --option dapat digunakan berkali-kali untuk menyetel opsi yang berbeda.

CONTOH

Untuk membuat file Paket terkompresi untuk direktori yang berisi paket biner (.deb):

apt-ftparchive packages directory | gzip > Packages.gz

LIHAT JUGA

apt.conf(5)

DIAGNOSTIK

apt-ftparchive mengembalikan nol pada operasi normal, desimal 100 pada kesalahan.

BUG

Halaman bug APT[1]. Jika Anda ingin melaporkan bug di APT, silakan lihat /usr/share/doc/debian/bug-reporting.txt atau perintah reportbug(1).

PENULIS

Jason Gunthorpe

Tim APT

CATATAN

1. Halaman bug APT: http://bugs.debian.org/src:apt