apt-ftparchive

Autres langues

Langue: ja

Version: 17 August 2009 (ubuntu - 25/10/10)

Section: 1 (Commandes utilisateur)

NAME

apt-ftparchive - インデックスファイル生成ユーティリティ

SYNOPSIS

apt-ftparchive [-hvdsq] [--md5] [--delink] [--readonly] [--contents] [--arch architecture] [-o config=string] [-c=file] {[packages path... [override [pathprefix]]] | [sources path... [override [pathprefix]]] | [contents path] | [release path] | [generate config-file section...] | [clean config-file]}

説明

apt-ftparchive は、APT が取得元にアクセスするのに必要な、インデックスファイルを生成するコマンドラインツールです。インデックスファイルは、元のサイトの内容に基づき生成されるべきです。

apt-ftparchive は、dpkg-scanpackages(1) プログラムのスーパーセットで、packages コマンド経由で機能全体を取り込んでいます。また、contents ファイルジェネレータ

contents と完全なアーカイブの生成プロセス「スクリプト」である綿密な手段を含んでいます。

本質的に apt-ftparchive は、.deb ファイルの内容をキャッシュするのにバイナリデータベースを使用できます。また、gzip(1) 以外のいかなる外部プログラムにも依存しません。すべて生成する際には、ファイル変更点の検出と希望した圧縮出力ファイルの作成を自動的に実行します。

-h オプションや --help オプションを除き、以下に挙げるコマンドが必要です。

packages

packages コマンドは、ディレクトリツリーからパッケージファイルを生成します。与えられたディレクトリから再帰検索し、.deb ファイルを取得します。またパッケージレコードを標準出力にそれぞれ出力します。このコマンドは、dpkg-scanpackages(1) とほぼ同じです。
--db オプションで、キャッシュ DB を指定できます。

sources


sources コマンドは、ディレクトリツリーからソースインデックスファイルを生成します。与えられたディレクトリから再帰検索し、.dsc ファイルを取得します。またソースレコードを標準出力にそれぞれ出力します。このコマンドは、dpkg-scansources(1) とほぼ同じです。
override ファイルを指定した場合、src 拡張子がついたソースオーバーライドファイルを探します。使用するソースオーバーライドファイルを変更するのには、--source-override オプションを使用します。

contents


contents コマンドは、ディレクトリツリーからコンテンツファイルを生成します。与えられたディレクトリから再帰検索し、.deb ファイルを取得します。またファイルごとにファイル一覧を読み取ります。その後、パッケージに対応するファイル一覧を標準出力にソートして出力します。ディレクトリは出力に含まれません。複数のパッケージが同じファイルを持つ場合、パッケージ名をカンマ区切りで出力します。

--db オプションで、キャッシュ DB を指定できます。

release


release コマンドは、ディレクトリツリーから Release ファイルを生成します。与えられたディレクトリから、Packages, Packages.gz, Packages.bz2, Sources, Sources.gz, Sources.bz2, Release, md5sum.txt といったファイルを再帰検索します。その後、ファイルごとの MD5 ダイジェストと SHA1 ダイジェストを含んだ Release ファイルを、標準出力に書き出します。
Release ファイルの追加メタデータフィールドの値は、APT::FTPArchive::Release 以下の相当する値 (例: APT::FTPArchive::Release::Origin) をとります。サポートするフィールドは、Origin, Label, Suite, Version, Codename, Date, Valid-Until, Architectures, Components, Description です。

generate


generate コマンドは、cron スクリプトから実行できるよう設計されており、与えられた設定ファイルに従ってインデックスを生成します。設定言語は、必要な設定を維持する簡単な方法を提供すると共に、インデックスファイルをどのディレクトリから作成するかを指定する、柔軟な方法を提供します。

clean


clean コマンドは、設定ファイルで与えられたデータベースを、もう必要ないレコードを削除して整理します。

GENERATE 設定

generate コマンドは、生成するアーカイブに関する記述をした設定ファイルを使用します。設定ファイルは、bind 8 や dhcpd といった ISC ツールに見られるような、ISC 設定フォーマットに従います。apt.conf(5) に、構文の説明があります。Generate 設定はセクション法で解析しますが、apt.conf(5) はツリー法で解析するのに注意してください。これはスコープタグの扱い方に違いがあるだけです。

generate 設定には 4 個の独立したセクションがあります。以下それぞれ説明します。

Dir セクション

Dir セクションは、生成プロセスで必要なファイルを配置するために必要な、標準ディレクトリを定義します。このディレクトリは、完全な絶対パスを生成するため、後のセクションで定義される相対パスの前に結合されます。

ArchiveDir

FTP アーカイブのルートを指定します。標準的な Debian 設定では、このディレクトリには ls-LR と dist ノードがあります。

OverrideDir

オーバーライドファイルの場所を指定します。

CacheDir

キャッシュファイルの場所を指定します。

FileListDir


FileList 設定が以下で使用されている場合、ファイルリストファイルの場所を指定します。

Default セクション

Default セクションではデフォルト値を指定します。また、生成器の動作を制御する設定も行います。他のセクションでは、ここにあるデフォルト値を、セクションごとの設定で上書きします。

Packages::Compress

Package インデックスファイルのデフォルトの圧縮方法を設定します。少なくともひとつは '.' (圧縮なし), 'gzip', 'bzip2' が入る、空白区切りの文字列です。圧縮方法のデフォルトはすべて '. gzip' です。

Packages::Extensions

パッケージファイル拡張子のデフォルト値を列挙します。このデフォルト値は '.deb' です。

Sources::Compress


Packages::Compress と同様に、Sources ファイルの圧縮方法を指定します。

Sources::Extensions

ソースファイル拡張子のデフォルト値を列挙します。このデフォルト値は '.dsc' です。

Contents::Compress


Packages::Compress と同様に、Contents ファイルの圧縮方法を指定します。

Translation::Compress


Packages::Compress と同様に、Translation-en マスターファイルの圧縮を制御します。

DeLinkLimit

実行するごとに delink (及びハードリンクの置き換え) する量を、キロバイト単位で指定します。セクションごとの External-Links 設定と合わせて使います。

FileMode

作成したインデックスファイルのモードを指定します。デフォルトは 0644 です。全インデックスファイルは、umask を無視してこのモードを使用します。

LongDescription

Sets if long descriptions should be included in the Packages file or split out into a master Translation-en file.

TreeDefault セクション

特定の Tree セクションのデフォルトを設定します。これらの変数はすべて置換変数であり、文字列 $(DIST), $(SECTION), $(ARCH) をそれぞれの値に展開します。

MaxContentsChange

日毎に生成する contents ファイルをキロバイト単位で設定します。contents ファイルをラウンドロビンし、数日経つとすべて再生成します。

ContentsAge

変更がない contents ファイルをチェックする日数を指定します。この制限を越えた contents ファイルの mtime を、更新します。パッケージファイルが変更されても、[例えば上書き編集で] contents ファイルが更新されないような場合、こういったことが発生します。新しい .deb ファイルをインストールしたい場合、保留を解除でき、少なくとも新しいファイルが必要です。デフォルトは 10 で、単位は日です。

Directory

.deb ディレクトリツリーの先頭を設定します。デフォルトは $(DIST)/$(SECTION)/binary-$(ARCH)/ です。

SrcDirectory

ソースパッケージディレクトリツリーの先頭を設定します。デフォルトは $(DIST)/$(SECTION)/source/ です。

Packages

Packages ファイルの出力先を設定します。デフォルトは $(DIST)/$(SECTION)/binary-$(ARCH)/Packages です。

Sources

Sources ファイルの出力先を設定します。デフォルトは $(DIST)/$(SECTION)/source/Sources です。

Translation

Set the output Translation-en master file with the long descriptions if they should be not included in the Packages file. Defaults to $(DIST)/$(SECTION)/i18n/Translation-en

InternalPrefix

外部リンクではなく、内部リンクと見なす判断材料となる、パスのプレフィックスを設定します。デフォルトは、$(DIST)/$(SECTION)/ です。

Contents

Contents ファイルの出力先を設定します。デフォルトは、$(DIST)/Contents-$(ARCH) です。複数の Packages ファイルをひとつの Contents ファイルにまとめられる設定 (デフォルト) の場合、apt-ftparchive は自動でパッケージファイルをまとめます。

Contents::Header

contents の出力に付けるヘッダファイルを設定します。

BinCacheDB

このセクションで使用するバイナリキャッシュデータベースを設定します。複数のセクションで同じデータベースを共有できます。

FileList

ディレクトリツリーを走査する代わりに、apt-ftparchive が読み込むファイル一覧ファイルを指定します。相対ファイル名は、アーカイブディレクトリが先頭につきます。

SourceFileList

ディレクトリツリーを走査する代わりに、apt-ftparchive が読み込むファイル一覧ファイルを指定します。相対ファイル名は、アーカイブディレクトリが先頭につきます。ソースインデックスを処理する際に使用します。

Tree セクション

Tree セクションでは、ベースディレクトリからの標準 Debian ファイルツリー、ベースディレクトリの複数のセクション、最終的にはセクションごとの複数のアーキテクチャを定義します。使用する正確なパスは、Directory 変数で定義されます。

Tree セクションは、$(DIST) 変数で設定されているスコープタグをとり、ツリーのルート (ArchiveDirが先頭につくパス) を定義します。通常、この設定は dists/lenny のようになります。

TreeDefault セクションで定義される設定はすべて、3 個の新しい変数と同様に、Tree セクションで使用できます。

Tree セクションを処理する際、apt-ftparchive は以下のような操作を行います。

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

Sections

distribution 以下に現れるセクションを、空白区切りで指定したリストです。通常、main contrib non-freeのようになります。

Architectures

search セクション以下に現れるアーキテクチャを、空白区切りで指定したリストです。特殊アーキテクチャ 'source' は、ソースアーカイブのツリーであることを示します。

LongDescription

Sets if long descriptions should be included in the Packages file or split out into a master Translation-en file.

BinOverride

バイナリオーバーライドファイルを設定します。このオーバーライドファイルには、セクション、優先度、メンテナのアドレスといった情報が含まれています。

SrcOverride

ソースオーバーライドファイルを設定します。このオーバーライドファイルには、セクションの情報が含まれています。

ExtraOverride

バイナリ特別オーバーライドファイルを設定します。

SrcExtraOverride

ソース特別オーバーライドファイルを設定します。

BinDirectory セクション

bindirectory セクションでは、特殊な構造を持たないバイナリディレクトリツリーを定義します。スコープタグはバイナリディレクトリの場所を指定し、設定は変数展開のない Tree セクションや SectionArchitecture 設定に似ています。

Packages

Packages ファイルの出力先を設定します。

Sources

Sources ファイルの出力先を設定します。少なくとも Packages や SrcPackages は設定されていなければなりません。

Contents

Contents ファイルの出力先を設定します。(オプション)

BinOverride

バイナリオーバーライドファイルを設定します。

SrcOverride

ソースオーバーライドファイルを設定します。

ExtraOverride

バイナリ特別オーバーライドファイルを設定します。

SrcExtraOverride

ソース特別オーバーライドファイルを設定します。

BinCacheDB

キャッシュ DB を設定します。

PathPrefix

全出力パスに付加するパス。

FileList, SourceFileList

ファイル一覧ファイルを指定します。

バイナリオーバーライドファイル

バイナリオーバーライドファイルは、dpkg-scanpackages(1) と完全に互換性があります。ここには、空白区切りでフィールドが 4 個あります。先頭のフィールドはパッケージ名、2 番目のフィールドはパッケージに強制する優先度、3 番目のフィールドはパッケージに強制するセクション、最後のフィールドはメンテナ順列フィールドです。

メンテナフィールドの一般的な形は以下のようになります。

 old [// oldn]* => new
 

また単純に以下のようにもなります。

 new
 

最初の形式は、// で区切られた古い email アドレスのリストを許可します。この形式がある場合は、メンテナフィールドになるよう new に置換してください。2 番目の形式は無条件にメンテナフィールドに置換します。

ソースオーバーライドファイル

ソースオーバーライドファイルは、dpkg-scansources(1) と完全に互換性があります。ここには、空白区切りでフィールドが 2 個あります。先頭のフィールドはソースパッケージ名、2 番目のフィールドは割り当てるセクションです。

特別オーバーライドファイル

特別オーバーライドファイルは、出力中に任意のタグを追加・置換できるようにします。3 列からなり、先頭はパッケージ、2番目はタグ、残りは新しい値です。

オプション

ここで設定オプションとして説明したコマンドラインオプションは、 すべて設定ファイルを使用して設定できます。 設定ファイルに書いた真偽値をとるオプションは -f-,--no-f, -f=no などのようにして上書きできます。

--md5

MD5 sum を生成します。デフォルトで on になっており、off にすると生成したインデックスファイルに MD5Sum フィールドがありません。設定項目 - APT::FTPArchive::MD5

-d, --db

バイナリキャッシュ DB を使用します。generate コマンドには影響しません。設定項目 - APT::FTPArchive::DB

-q, --quiet

静粛 - 進捗表示を省略し、ログをとるのに便利な出力を行います。最大 2 つまで q を重ねることでより静粛にできます。また、-q=# のように静粛レベルを指定して、設定ファイルを上書きすることもできます。設定項目 - quiet

--delink

Delink を実行します。External-Links 設定を使用している場合、このオプションはファイルの delink を有効にします。デフォルトは on で、off にするには --no-delink としてください。設定項目 - APT::FTPArchive::DeLinkAct

--contents

contents の生成を行います。このオプションを指定し、パッケージインデックスをキャッシュ DB と共に生成する際、ファイルリストを後で使用するように、抽出し DB に格納します。generate コマンドを使用する際、このオプションでいずれの Contents ファイルも作成できます。デフォルトは on です。設定項目 - APT::FTPArchive::Contents

-s, --source-override


sources コマンドで使用する、ソースオーバーライドファイルを選択します。設定項目 - APT::FTPArchive::SourceOverride

--readonly

キャッシュデータベースを読み取り専用にします。設定項目 - APT::FTPArchive::ReadOnlyDB

-a, --arch

Accept in the packages and contents commands only package files matching *_arch.deb or *_all.deb instead of all package files in the given path. Configuration Item: APT::FTPArchive::Architecture.

--version


apt-ftparchive(1) caches as much as possible of metadata in a cachedb. If packages are recompiled and/or republished with the same version again, this will lead to problems as the now outdated cached metadata like size and checksums will be used. With this option enabled this will no longer happen as it will be checked if the file was changed. Note that this option is set to "false" by default as it is not recommend to upload multiply versions/builds of a package with the same versionnumber, so in theory nobody will have these problems and therefore all these extra checks are useless.

APT::FTPArchive::LongDescription

This configuration option defaults to "true" and should only be set to "false" if the Archive generated with apt-ftparchive(1) also provides Translation files. Note that the Translation-en master file can only be created in the generate command.

-h, --help

使い方の短い要約を表示します。

-v, --version

プログラムのバージョンを表示します。

-c, --config-file

設定ファイル。 使用する設定ファイルを指定します。 このプログラムは、デフォルト設定ファイルを読んでから、この設定ファイルを読みます。 この設定をデフォルト設定ファイルよりも前に読む必要がある場合、 APT_CONFIG 環境変数に指定してください。構文については apt.conf(5) をご覧ください。

-o, --option

設定オプションのセット。任意の設定オプションをセットします。 構文 -o Foo::Bar=bar となります。 異なるオプションを設定するため、-o--option は、 複数回使用できます。

サンプル

バイナリパッケージ (.deb) があるディレクトリの Packages ファイルを生成するには、以下のようにします。

 apt-ftparchive packages directory | gzip > Packages.gz
 
 

関連項目

apt.conf(5)

診断メッセージ

apt-ftparchive は正常終了時に 0 を返します。エラー時には十進の 100 を返します。

バグ

m[blue]APT バグページm[][1] をご覧ください。 APT のバグを報告する場合は、 /usr/share/doc/debian/bug-reporting.txt や reportbug(1) コマンドをご覧ください。

翻訳

倉澤 望 nabetaro@debian.or.jp (2003-2006,2009-2010), Debian JP Documentation ML debian-doc@debian.or.jp

この翻訳文書には未訳部分が含まれていることに注意してください。 翻訳がオリジナルに追従できていない場合、 内容を失わないようにこのようにしています。

AUTHORS

Jason Gunthorpe

APT チーム

NOTES

1.
APT バグページ
http://bugs.debian.org/src:apt