%aptent; ]> &apt-docinfo; genbasedir 1 genbasedir APT リポジトリ作成スクリプト genbasedir topdir ... 説明 APT リポジトリには、取得可能なパッケージのリスト、それらのパッケージの(Description や Summary といった)情報、依存関係、ファイルの MD5値 といった情報が必要です。これらの情報は、release release.component pkglist.component srclist.component といったファイルに記されます。 これらのファイルを作成するには、genbasedir コマンドを実行します。 ディレクトリ構成とファイル rpm file:baseuri distribution/$(ARCH) component といったリポジトリ(参照 &sources-list;)を作成するには次のようなディレクトリ構成にします。 baseuri/distribution baseuri/distribution/SRPMS.component baseuri/distribution/<architecture>/RPMS.component baseuri/distribution/<architecture> を topdir と呼びます。 baseuri/distribution/<architecture>/RPMS.component に、バイナリパッケージ (<architecture>.rpm や noarch.rpm) を置きます。 baseuri/distribution/SRPMS.component に、ソースパッケージ (src.rpm) を置きます。SRPMS.component は、通常 topdir より一つ上の階層(topdir/..)に置かれます。 baseuri/distribution に README や LICENSE などのファイルを置きます。 genbasedir topdir とすると、 ディレクトリ baseuri/distribution/<architecture>/base が作成され、 baseuri/distribution/<architecture>/base の中に、 release release.component pkglist.component pkglist.component.bz2 srclist.component srclist.component.bz2 が作成されます。 componentごとに release.component や pkglist.component や srclist.component といったファイルが作られ、release にはそれらのファイルの情報などが書き込まれます。 genbasedir が最初に作り出す release ファイルには、以下のように UnknownNot available となっている部分があります。 Origin: Unknown Label: Unknown Suite: Unknown Codename: Unknown Architectures: Unknown Description: Not available 同様に release.component にも Unknown となっている部分があります。 Archive: Unknown Version: Unknown Origin: Unknown Label: Unknown Architecture: unknown これらの部分を必要に応じて書き換えた上で、もう一度 genbasedir で処理します。 これらの情報は、apt-cache policy で参照することが出来ます。 また、Unknown のままではなく、適切な値を設定しておけば、APT 設定ファイル /etc/apt/preferences (&apt-preferences;) で利用できます。 Unknown となっている部分は、それぞれ次のようなものですが、どんな値が相応しいかについては &apt-preferences; のマニュアルも参照してください。 Origin: の部分には URL ではなく、ベンダーの名前を書きます。&vendors.list; の vendor_id がどんなものになっているかが参考になると思います。 Architecture: の部分には i386 や i686 や ppc や noarch などを書きます。 Archive: の部分には stable や testing や unstable といったものを書きます。 Version: の部分には数字を書きます。Archive: が testing や unstable といったリリースされていないものになっている場合は、一般的にバージョン番号はつけません。 Description: の部分には、どんなパッケージがあるかなどを書きます。ディストリビューションの名前やバージョンやリリース日などを書いてもよいでしょう。 Suite: の部分にはパッケージがどんなものであるかを書きます。Archive: と同じように stable や testing などを用いてもよいでしょう。 Label: の部分には Label名を書きます。 Origin: と同じようにベンダー名を用いてもよいでしょう。 Codename: の部分にはコードネームを書きます。stable といったようなものでもいいでしょう。 release と release.component を hash ファイル、 pkglist.component と pkglist.component.bz2 を pkglists、 srclist.component と srclist.component.bz2 を srclists などと呼びます。 オプション , hash ファイル、pkglists、srclists を作成し、署名も行います。 , で署名する際に、gnupg secret key の ID を指定します。 hash ファイルを生成し終了します。 pkglists、srclists を生成し終了します。 すでに生成されているコンポーネントのみ更新します。 古い形式の hashファイル (hashfile) も作成します。 圧縮されたリストのみを生成します。 pkglists や srclists 生成時に進捗状況を表示します。 情報ファイルを更新します。 SRPMS と RPMS を topdir においたリポジトリを使います。SRPMS は、通常 topdir より一つ上の階層(topdir/..)に置かれます。 パッケージファイルリストを strip しません。自動的に依存関係を構築しないいくつかのディストリビューションでは必要とされます。 NAME という名前のメタリポジトリを作成します。release release.NAME(.bz2) pkglist.NAME(.bz2) srclist.NAME(.bz2) が作成されます。 1から9までの数値で bzip2 での圧縮レベルを設定します。 パッケージの MD5値 を出力するディレクトリを指定します。(一般ユーザに便利な機能です。) , ヘルプメッセージを出力します。 関連項目 &apt-conf;, &sources-list;, &apt-preferences;, &vendors.list;, &apt-get;, &rpm;, &apt-cdrom; &apt-cdrom; で利用できるメディア(CD-R,CD-RW,DVD-R,DVD-RWなど)を作成する方法 1. 次のようなディレクトリを用意します。 ~/APT-CD/i386/RPMS.original src.rpm もある場合には合わせて次のようなディレクトリも用意します。 ~/APT-CD/SRPMS.original i386 の部分は、パッケージのアーキテクチャに合わせてください。 ~/APT-CDoriginal は適当に変えてください。 2. パッケージを ~/APT-CD/i386/RPMS.original , ~/APT-CD/SRPMS.original に用意します。 genbasedir ~/APT-CD/i386 を実行して、ディレクトリ ~/APT-CD/base を作成します。 必要であれば、~/APT-CD/base/release 等を書き換え、再度 genbasedir ~/APT-CD/i386 を実行します。 3. ~/APT-CD 以下の base と i386/RPMS.original と SRPMS.original の配置が、CD-R 等のメディア上でも相対的に同じ(/base と /i386/RPMS.original/SRPMS.original など)になるようにしてメディアに書き込みます。 &manbugs; &manauthor-vine;