jigdo-file - クラウド上のオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド jigdo-file です。

プログラム:

NAME


jigdo-file - ジグソー ダウンロード用のファイルを準備します (CD などの巨大なファイルの配布)
画像)。

SYNOPSIS


ジグドファイル COMMAND
[ --image=cdrom.iso ] [ --jigdo=cdrom.jigdo ] [ --template =cdrom.テンプレート ] [ - 力 ] [
MORE OPTIONS ] [ ファイル ... | --files-from=f ]
コマンドと コマンド: テンプレートの作成、 メイクイメージ、 確認する

DESCRIPTION


ジグソー ダウンロード (略して jigdo) は、主に次のことを簡単にするために開発されたスキームです。
巨大なファイルシステム イメージ (CD (ISO9660) または DVD (UDF) イメージなど) を
インターネットだけでなく、その性質上扱いにくい他のデータにも使用できる可能性があります。
オーディオ/ビデオ ファイルや大きなソフトウェア パッケージなどのサイズ。

jigdo は、大きなファイル (常に呼び出されます) 画像 これから)がダウンロードされます
小さな部分に分かれており、異なるサーバーに保存できます。 ダウンロードしたい人は、
image に伝えてそうしてください ジグドー(1) (ない 実装済み まだ) 処理するためのツールをダウンロードする
`.jigdo' ファイル; それを使って、 ジグドー パーツをダウンロードし、イメージを再組み立てします。 ジグドファイル
ダウンロードするファイルを準備するために使用されます。

jigdo を特別なものにしているのは、画像を再構築するために使用される部分が次のものを持つことができることです。
任意のサイズとコンテンツ - 任意の連続領域に含まれる必要があるだけです。
画像。

たとえば、スナップショットを含む ISO9660 イメージを配布したい場合、
FTPサーバーに指示することができます ジグドファイル ダウンロードデータを次のように準備します。
人々が使用するとき ジグドー 画像をダウンロードするには、 ジグドー 実際に個々のファイルを取得します
FTP サーバーからファイルを取得し、それらを組み立ててイメージの正確なコピーを作成します。
ダウンロード! (イメージがファイルシステム ダンプではない場合は、次のコマンドを使用できます) split(1) 小さなものを作る
画像が再組み立てされるパーツです)。

画像の個々の部分をどこに保存するかを完全に自由に選択できます。
異なるサーバー上のまったく異なるディレクトリに存在する可能性があります (たとえば、
ストレージ/帯域幅の制約)、ただし、これは、ダウンロードしているユーザーには見えません。
画像。 利用可能なサーバーに関する情報を ` に追加するだけで済みます。.jigdo'ファイル
配布する前にあなた自身によって。

以下の「詳細」セクションには、jigdo がどのように機能するかに関する技術的な詳細が含まれています。 「例」
このセクションには、多くの一般的なシナリオがリストされており、どのような jigdo かを理解するのに役立ちます。
に役立ちます。

OPTIONS


多くのオプションは特定のものに固有です COMMAND; 以下のものは一般的なもの、または次のような人によって使用されます。
いくつかのコマンド。 その他のオプションは、個々のコマンドとともに以下にリストされています。 全て
オプションは、現在のコマンドに適用できない場合には無視されます。 どれについても
バイト パラメータをオプションに追加するには、文字「k」、「M」、または「G」のいずれかを追加できます。
キロバイト、メガバイト、またはギガバイトを示すために指定する量。

-h - 助けて
コマンドとオプションの短い概要を出力します。

-H --ヘルプ-オール
コマンドとオプションの完全な概要を出力します。

-v - バージョン
プログラムのバージョンを出力します。

-i --image=cdrom.iso
画像を含むファイルの場所を指定します。 画像は大きなファイルなので、
配布したいと考えています。

-j --jigdo=cdrom.jigdo
Jigsaw ダウンロード記述ファイルの場所を指定します。 jigdo ファイルは
によって生成された人間が判読可能なファイル ジグドファイル、すべてに関する情報を追加します。
ファイルをアップロードするサーバー。 ジグドー このファイルは次のようにダウンロードされます
画像を取得する最初のステップ。

-t --template =cdrom.テンプレート
画像の「テンプレート」ファイルの場所を指定します。 テンプレートファイルはバイナリファイルです
によって生成されます ジグドファイル、画像を再構成する方法に関する情報が含まれており、
また、次のいずれにも見つからなかった画像のすべてのデータも (圧縮形式で)
パーツ。

コマンドによっては、これら XNUMX つのファイルがそれぞれ入力に使用される場合がありますが、
時々アウトプット用に。 ファイルが特定のコマンドの出力に使用される場合
出力ファイルはすでに存在します。 ジグドファイル ただし、エラーで終了します。 - 力
存在する。

ほとんどの場合、次のうち XNUMX つだけを指定する必要があります。 -i -j -t、なぜなら、
欠落しているファイル名は、指定したファイル名から推定されます。 これは最初に行われます
指定された名前から拡張子を削除し、何も追加しません (
推論する - 画像)、`.jigdo'または `。テンプレート'.

-r --report=default|noprogress|quiet|grep
プログラムの冗長性と出力の形式を制御します。 進行なし is
と同じ デフォルト ただし、「x% 完了」の進行状況メッセージは出力されません。 静かな
出力を絶対に必要なもの、ほとんどがエラー メッセージに制限します。 grep
とだけ異なります デフォルト テンプレート作成 コマンド: での出力を有効にします
単純な ` ' バイナリ ファイルを検索するときに便利な形式
他のバイナリ ファイル内。

-f - 力
文句を言わずに既存の出力ファイルを上書きします。

--強制力なし
この is   デフォルト。 既存の出力ファイルの上書きを拒否します。

-c --キャッシュ=ジグドキャッシュ.db
ジグドファイル 通常、すべてのコンテンツ全体を読む必要があります。 ファイル 指定します。
繰り返し使用する場合 (たとえば、新しい CD イメージを毎日利用できるようにするなど)、
ファイル情報をキャッシュすると、プログラムの速度が大幅に向上します。 の
キャッシュ ファイルがまだ存在しない場合は、自動的に作成されます。 通常、データは両方です
から読み取ったり、そこに書き込んだりできます。

-キャッシュなし
この is   デフォルト。 キャッシュは使用しないでください。

--キャッシュ有効期限=SECONDS
キャッシュ エントリの最大保存期間を設定します。 これより古いエントリはすべて削除されます
キャッシュ。 デフォルトは 30 日です。 文字「h」、「d」、「w」のいずれかを追加できます。
`m'、`y' はそれぞれ時間、日、週、月、年を表します。 の値
`0' または `off' は有効期限を無効にし、すべてのエントリがキャッシュ内に永久に残るようにします。
詳細については、以下の「キャッシュ ファイル」セクションを参照してください。

--readbuffer=バイト
内部バッファのサイズを設定します。 デフォルトは 128k です - 高速ディスクをお持ちの場合は、
この値を増やすと、 ジグドファイル より速くなりますが、一般に、これを変更すると、
必要はありません。

--md5-ブロックサイズ=バイト
面白くない 内部 パラメータに一致する最初のデバイスのリモートコントロール URL を返します。 ファイルが入るブロックのサイズを設定する
細分化された。 デフォルトは 128k です。 これを変更する場合は、キャッシュ ファイルを変更する必要があります。
再生されました。 内部的に、 ジグドファイル わずかに大きいか小さいサイズを使用することを選択できます
の値です。

-T --files-from=file
指定されたファイルからファイル名とディレクトリ名を読み取ります。 もし file は `-'、名前を読みます
標準入力から。 ファイル内の各行は名前として解釈されるため、名前は
スペースは含まれますが、改行文字は含まれません。 空行があると、 ジグドファイル 停止する
ファイルから読み取ります。

find(1) はファイルリストを生成するための強力なツールですが、必ず ` を使用してください。find
f' 可能であれば - それ以外の場合は、指示があれば find 両方のファイル名を出力するには
そしてそのファイル名へのシンボリックリンク、 ジグドファイル ファイルの内容を XNUMX 回読み取ります。

--hex Base64 のような形式ではなく、XNUMX 進数でチェックサムを出力します。 これはあってはならないことです
で使用される テンプレート作成 コマンドの結果として `.jigdo' ファイルが違反しています
`.jigdo' ファイル形式。 その使用目的は、 ジグドファイル より相互運用性が高い
などの他の Unix シェル ユーティリティを使用する md5sumとします。

--XNUMX 進数なし
この is   デフォルト。 jigdo 独自の Base64 風のチェックサムエンコーディングを使用します。

--debug[=ヘルプ|=すべて|=単位、~単位... ]
デバッグ出力をオンまたはオフに切り替えます。 単に「--debug」は「--debug=all」と同等です。
引数は、デバッグ出力の対象となるユニット名のカンマ区切りのリストです。
有効にするか、名前の前に `~' が付いている場合は無効にします。 特別な名前「all」
すべての単位を意味します。 デフォルトでは、デバッグ出力はユニットを除いてオフになります。
「アサート」と「一般」。 デバッグ可能なユニットの正確なリスト
オンになるかどうかは、jigdo がデバッグ サポートを使用してコンパイルされたかどうかによって異なります。
リストは `--debug=help' で出力できます。

ファイル 入力として使用するファイルまたはディレクトリの名前。 これらの部品は、
画像に含まれています。 名前の XNUMX つがディレクトリである場合、プログラムは
ディレクトリを再帰的にスキャンし、ディレクトリに含まれるすべてのファイルを追加します。 しながら
これにより、シンボリック リンクに従いますが、シンボリック リンク ループは回避されます。

ファイル名の XNUMX つが文字 `-' で始まる場合は、そのリストの前にファイル名を付ける必要があります。
「--」が付いたファイル。 値「-」は、 いいえ このリストでは特別な意味があり、それは次のことを表します
名前が単一のハイフンであるファイル。

コマンド


コマンド名は、に渡される最初の非オプション引数です。 ジグドファイル。 ほとんどのコマンドには、
長い名前だけでなく短い略語も。   短い command すべき be 中古 in
スクリプト - そこ かもしれません be 互換性がない 変更 〜へ それら in   将来!

テンプレートの作成、 MT
読み込み 画像 および ファイル、`を作成します.jigdo'と `。テンプレート'。 これが主な機能です
ジグドファイル.

両方指定も可能です --画像=- および --files-from=-。 この場合、まずリスト
空の行が見つかるまで、標準入力からファイルの数が読み取られます。 すべて
以下、画像データとみなされます。 これは、使用すると便利です mkisofs(1)または
完全なイメージを標準出力に出力できる同様のプログラムは、
イメージをディスクに一時的に保存する必要はありません。

もし ファイル 引数には文字 `//' (Unix) または `\.\' (Windows) が含まれています。
特別な意味。 ユーザーがダウンロードする最終的な jigdo ファイルでは、各部分は次のようになります。
`[Parts]' セクションで `Label:some/filename' 形式の URI で参照されます。 (見る
詳細については、以下の「.JIGDO ファイルの形式」を参照してください。)「[サーバー]」セクションには次の内容が示されています。
インターネット上のサーバーへのラベルのマッピング。次のような行が含まれます。
`ラベル=http://myserver.org/jigdofiles/'。 この情報を使用して、 ジグドー を作成します
パーツの最終ダウンロード URI、`http://myserver.org/jigdofiles/some/filename'.
ファイル名またはディレクトリ名に `//' (または `\.\') を指定すると、次の場所で名前が「切り取られ」ます。
適切なディレクトリレベル。 たとえば、次のいずれかの Unix パスが ファイル is
`/path/some/filename' でわかります ジグドファイル `/path' を渡すことでその後を切り取る
引数 `/path//some/filename'、またはディレクトリ全体をスキャンしたい場合は `/path//'。
パス名は絶対パス名である必要はありません。 `somedirectory//' も可能です。

- ラベル ラベル=/パス
ディスク上のパスのラベル名として使用する名前を指定します。 (出力に影響します
jigdo ファイル。) で `//' を使用した場合、 ファイル 前述の引数、 ジグドファイル
デフォルトでは、ラベル名 (「A」、「B」など) が自動的に選択されます。 このオプションを使用すると、
ラベルにもっと意味のある名前を付けることができます。 ラベル名は
XNUMX つ以上の場合に使用されます ファイル `/path//' で始まります。

曖昧さをなくすために、大文字で始まるラベル名を使用してください。
「http」や「ftp」などのプロトコル名から明らかです。

--uri ラベル=http://some.server.org/
デフォルトでは、 - ラベル 上で説明したように、フォームの行が発生します
出力 jigdo の `[Servers]' セクションに書き込まれる `Label=file:/path/'
ファイル。 `file:' URI をオーバーライドして、行が次のように読み込まれるようにしたい場合は、
`ラベル=http://some.server.org/'と指定することで実現できます。 --uri と一緒に
- ラベル。 ただ与える --uri ラベル=... 対応するものなしで - ラベル ラベル=...
は効果がなく、両方を指定した場合でも、エントリは
ラベルが少なくとも XNUMX つの `[Parts]' エントリによって参照されている場合は、`[Servers]' セクション。

指定された値はプログラムによって引用されません。 次のような文字が含まれている場合
スペースまたは任意の文字 #"'\ を使用する場合は、それを引用符で囲む必要があります (Unix では、次のようにすることができます)。
シェルから保護するために、値を XNUMX 回引用する必要があります (例: \\\\ または '\\')
URI 内の XNUMX つのバックスラッシュを取得します。)

で指定されたマッピング --uri オプションが既に存在する場合は無視されます。
出力された jigdo ファイル。

Windows バージョンのユーザーは、「\」ディレクトリ区切り文字が
デフォルトで生成される `file:' URI の `/' に変換されます。 これで完了です
「file:」のクロスプラットフォーム互換性を高めるため - プリント抜け コマンドの
Windows バージョンでは、印刷時に文字が自動的に再変換されます。
URI。 Windows で独自の `file:' URI を指定する場合は、 --uriは、以下を行う必要があり
`/' と `\' も交換してください。

-0 〜へ -9
出力テンプレート ファイルの圧縮量を次のように設定します。 -0 (圧縮なし) ~
-9 (最大圧縮)。 デフォルトは -9、テンプレートの生成を行うことができます
かなり遅いです。 デフォルトでは、使用される圧縮アルゴリズムは gzipとします。

--gzip および --bzip2
gzip 圧縮アルゴリズムと bzip2 圧縮アルゴリズムのどちらかを選択します。 デフォルトは gzip です。
通常、Bzip2 の方が圧縮率が高くなりますが、圧縮率は大幅に低下します。
gzipよりも遅いです。

--min-length=バイト
パーツの最小長を設定します ジグドファイル 画像から探してください。 の
デフォルトは 1k です。 これより小さい部品は画像内で見つかることはありません。
データはテンプレート ファイルに含まれます。 使用される検索アルゴリズムには次のものが必要です
最小長にしないと、テンプレートの生成が非常に遅くなる可能性があります。 もし、あんたが
あなたのすべてが ファイル 一定の量より大きい場合は、
増加する ジグドファイルこのオプションで量を指定することで、 の速度がわずかに向上します。
絶対最小値は 256 バイトに固定されており、それより小さいものは何も通知されません。
256に設定してください。

--merge=FILE
の内容を含める FILE 出力内 `.jigdo' ファイル。 ファイルにはデータを含めることができます
出力に追加したいもの (たとえば、リストを含む `[Servers]' セクション)
サーバーのエントリとして)、または以前の実行によって出力された jigdo ファイルである可能性があります
of ジグドファイル.

同じファイルを入力に指定することもできます。 - マージ そして出力の場合
--ジグド。 ただし、次も使用する必要があります - 力 プログラムを上書きさせるには
古いバージョンの jigdo ファイルを新しいバージョンに置き換えます。 FILE 標準の場合は「-」にすることができます
入力。

日時 追加 提供されたファイルに新しい情報を追加します。 ジグドファイル 新しいものは挿入されません
同じ MD5 チェックサムのエントリの場合は、`[Parts]' セクションに行を追加します (ただし、そうではありません)。
必ず同じ URI を持つ必要があります!) はすでに存在しており、新しい行は挿入されません
完全に同一のエントリがすでに存在する場合は、「[Servers]」セクションに追加します。

日時 読書 in 既存の FILE、動作は少し異なります: プログラム
保存する `[Parts]' セクション内のエントリは同一のチェックサムを持つが、異なります
URI。 完全に同一のエントリ (同じチェックサムと URI) の場合、エントリは XNUMX つだけです。
保存され、重複は削除されます。 `[Servers]' セクションは残ります
手つかず。

--画像セクション
この is   デフォルト。 目的 ジグドファイル ` [Image] セクションを ` に追加します.jigdo'
ファイルにソフトウェアを指定する必要があります。

例外として、新しい `[Image]' セクションは 使用する場合は追加されます - マージ
マージするファイルには、「Template-」という行を含む「[Image]」セクションが含まれています。
MD5Sum=' (「=」の後の行末)。 この場合、生成されたテンプレートデータの
MD5 チェックサム値は、このフォームの最初の行の「=」の後に追加されます。
ファイル - 新しい `[Image]' セクション全体が追加されることはありません。 この動作は便利です
経由できるので - マージ 任意の「[Image]」セクション
コンテンツを作成し、MD5 チェックサムを自動的に追加します。 ジグドファイルを選択します。
以下のセクション「.JIGDO ファイルのフォーマット」では、「[Image]」セクションの内容について説明します。
さらに詳しく。

--画像セクションなし
Do ` に `[Image]' セクションを含めます.jigdo' ファイル。 XNUMX つ追加する必要があります
このオプションを使用する場合は、自分自身で行う必要があります。 ただし、それを行うのは簡単ではありません(以下のことも必要です)
正しいチェックサムを含む「Template-MD5Sum」行を追加するか、 ジグドー 文句を言うだろう)だから
このオプションの使用は推奨されません。

--サーバーセクション
この is   デフォルト。 目的 ジグドファイル `[Servers]' セクションを ` に追加します。.jigdo'
ファイル。 このデフォルトのセクションは「file:」 URI を使用しており、即時の再アセンブリが可能です。
ローカル ファイル システムから画像を取得し、画像を編集したい場合にも役立ちます。
ファイルを手動で作成し、「file:」 URI を他の URI に置き換えます。

--no-servers-セクション
Do ` の最後に `[Servers]' セクションを追加します。.jigdo' ファイル。 便利な例:
このセクションにスクリプトを追加します。

--match-exec=シェルコマンド
イメージ内でファイルが見つかるたびに、指定されたコマンド文字列を実行します。
それをシェルに渡します。 ジグドファイル いくつかの環境変数を設定します
ファイル一致に関する情報。 たとえば、ファイル `/パス//a/b/ファイル' だった
画像内で見つかった `Label:a/b/file' が ` に書き込まれます.jigdo'
ファイル:

· LABEL="Label" - ファイルのラベルの名前。 この例では、`- ラベル
「Label=/path」はあなたが指定したものです。 そのような選択肢がない場合、 LABEL 意志
設定されていても空です。

· ラベルパス="/path/" - ラベルに対応するパス、つまり
一致したファイルのパスの接頭辞。 出力に表示されます `.jigdo'
ファイル。 ` がなくても設定されます- ラベル' オプションが存在します。 スラッシュで終わります。

· マッチパス="a/b/" - 一致したパスのリーフ名を除いた残りのパス
ファイル。 空であるか、スラッシュで終わっています。

· LEAF="file" - 一致したファイルのリーフ名。

· MD5SUM="lNVdUSqbo2yqm33webrhnw" - 一致したファイルの md5sum (Base64 形式)
形式でダウンロードすることができます。

· FILE="/path//a/b/file" - 便宜上、ファイルの完全なパス。 の
変数は常に $LABELPATH$MATCHPATH$LEAF に設定されます。

このオプションに渡される文字列を正しく引用符で囲むように注意してください。そうしないと、
指定されたコマンドは、スペースを含むファイル名では機能しません。 例として、
一致したファイルへのハード リンクのバックアップを作成するには、次のオプションを使用します: --match-
exec='mkdir -p "${LABEL:-.}/$MATCHPATH" && ln -f "$FILE" "${LABEL:-.}/$MATCHPATH$LEAF"'

デフォルトでは、コマンドは実行されません。 --match-exec="" を使用してコマンド文字列を削除します。
このオプションを以前に使用したときに設定されました。

--貪欲なマッチング
この is   デフォルト。 画像に次のものが含まれていると想像してください。 。タール ファイル
別のファイルが含まれている x、および両方を提供すること 。タール そしてその中のファイル
コマンドラインで。 いつ ジグドファイル 画像をスキャンすると、始まりに遭遇します
。タール ファイル、そしてファイル x.

この時点で、次のことを決定する必要があります。ファイルを小さくする必要があります。 x として記録される
一致するか、より大きい (したがってより適切な) 一致を優先して無視する必要があります。
  。タール ファイル? 残念ながら、現時点ではその予定があるかどうかは不明です
実際には完全に一致します 。タールしたがって、デフォルトでは、プログラムは小さいサイズを優先します。
一致しています。

--貪欲一致なし
大きな部分一致が存在し、より短い一致が見つかった場合
確認されたため、小さな一致は無視します。 (上記のオプションを参照してください。)

メイクイメージ、 MI
`と読みます。テンプレート'と ファイル、作成します 画像 (または `イメージ名.tmp')。 基本的な機能を提供します
画像を再構成する方法 - ジグドー 通常、このタスクには の方が適しています。 ただし、
対比して ジグドー、いや、`.jigdo' ファイルが必要です。

画像を (標準出力ではなく) ファイルに書き込む場合は、次のことが可能です。
` を複数回呼び出して、いくつかのステップでイメージを作成します。ジグドファイル メイクイメージ'、 として
次のようになります: 最初に呼び出します ジグドファイル、ここで利用可能なファイルをできるだけ多く指定します
時間。 プログラムはファイルをスキャンし、画像に含まれるファイルが次の場所にコピーされます。
一時ファイル。名前は ` を追加して形成されます。.tmp' を画像ファイル名に追加します。

画像の一部である可能性のあるその他すべてのファイルについて、このプロセスを繰り返します。 すぐに
すべての部分が存在するため、一時ファイルはわずかに切り詰められます (一部を削除するため)。
管理データ ジグドファイル 最後に追加)、最終イメージに名前が変更されました
名前。 いくつかのステップでイメージを再構成できる機能は、以下の場合に特に役立ちます。
リムーバブル メディア (古い CD など) からファイルを収集します。

使用するスクリプト メイクイメージ をチェックすることでイメージの作成が完了したかどうかを検出できます。
終了ステータス: 0 は作成が成功したことを示し、1 はさらにファイルを作成する必要があることを意味します。
供給されます。 その他のエラーの場合、終了ステータスは 2 (「回復可能」、ファイルが見つからないなど) になります。
または 3 (回復不可能、書き込みエラーなど)。

--チェックファイル
この is   デフォルト。 画像にパーツをコピーするたびに、そのパーツを再確認してください。
チェックサムをテンプレートに保存されているチェックサムと照合します。 推奨されるのは、
たとえ画像の作成が少し遅くなっても、これをオンのままにしておきます。

--チェックファイルなし
ファイルをイメージにコピーするときに、ファイルのチェックサムをチェックしないでください。 これなら安心できる
キャッシュ ファイルが使用されない場合に使用されます (つまり、ファイルは
スキャン直後の画像)または後で画像全体をチェックします。
確認する

プリント欠け、 PM
`と読みます.jigdo'、 `。テンプレート' および (存在する場合) `イメージ名.tmp'、まだ URI のリストを出力します
イメージを完全に再構築するために必要です。

ととも​​に メイクイメージ コマンド。これにより、ほとんどの機能が提供されます。 ジグドー on
コマンドライン。

一時イメージ ファイルにまだ存在していない各部分のファイル チェックサムは次のようになります。
jigdo ファイルの「[Parts]」セクションで調べられます。 対応するエントリ内の任意のラベル
次に、`[Servers]' セクションのラベル定義に従って展開され、出力されます。
標準出力で。 ジグドー それぞれに複数の代替場所を指定できます。
このセクションのラベルですが、 プリント抜け 欠落しているそれぞれの最初のもののみを出力します
部。

チェックサムが「[Parts]」セクションで見つからない場合 (これは次の場合を除いて起こりません)
そのセクションを削除した場合)、代わりに `MD5Sum: の検索が行われます。'、 と同じように
  ジグドー。 (したがって、「[Parts]」セクションを削除したい場合は、次のようにすることができます。
各部分の名前を独自のチェックサムに変更します)。

--uri ラベル=http://some.server.org/
` 内のエントリをオーバーライドします。.jigdo' 選択した URI を持つラベルのファイル。
上の例では、`Label:some/filename' の `[Parts]' エントリにより、
行 `http://some.server.org/some/filename' が印刷されます。

指定された値はプログラムによって引用されません。 次のような文字が含まれている場合
スペースまたは任意の文字 #"'\ を使用する場合は、それを引用符で囲む必要があります (Unix では、次のようにすることができます)。
シェルから保護するために、値を XNUMX 回引用する必要があります (例: \\\\ または '\\')
URI 内の XNUMX つのバックスラッシュを取得します。)

不足しているすべてを印刷、 PMA
と同じように プリント抜け、このコマンドは、完全に実行するためにまだ必要な URI のリストを出力します。
画像を再組み立てします。 しかし、 代替のダウンロード場所が代わりに印刷されます。
一つだけ。 出力では、ファイルの URI は他のファイルの URI から分離されます。
空白行。 の --uri オプションは、と同じ効果があります。 プリント抜け.

確認する、 VER
読み込み 画像 (おそらく、 メイクイメージ) と `。テンプレート'、正しいかどうかをチェックします
画像のチェックサム。

テンプレート データには、個々のパーツのチェックサムだけでなく、
全体としてのイメージ。 メイクイメージ はすでに多くの内部チェックを実行していますが、
たとえば、このコマンドを使用して画像をさらに確認することもできます。

スキャン、 SC
すべてを読み取ります ファイル そして、すでにキャッシュされていない限り、それらをキャッシュに入力します。 の
- キャッシュ このコマンドにはオプションが存在する必要があります。

--no-scan-whole-file
この is   デフォルト。 これにより最初の現象のみが発生します --md5-ブロックサイズ 各ファイルのバイト数
読まれること。 キャッシュが後で使用される場合 ジグドファイル メイクイメージ、残りの
これらの最初のバイトが入力イメージで認識されると、ファイルが読み取られます。

--ファイル全体をスキャン
ファイルの内容全体をすぐに読み取り、キャッシュに保存します。

MD5SUM、 MD5
すべてを読み取ります ファイル そしてその内容の MD5 チェックサムを出力します。 このコマンドはかなり
に似て md5sum(1) ただし、チェックサムが Base64 に似たエンコーディングで出力される点が異なります。
他の場所でも使用されています ジグドファイル.

  ファイル 引数は他のコマンドと同じ方法で処理されます。つまり、
ディレクトリである引数に対して再帰が自動的に行われること、および
シンボリック リンクは、リンク先のファイルに到達できない場合を除き、リストされません。
直接。

標準出力に出力されるチェックサムリストでは、ファイル名の以下の部分のみが出力されます。
`//' (Windows では `\.\') が出力されます。 どれでも - キャッシュ ファイルのクエリに使用されます。
MD5 チェックサムおよび/またはスキャンされたファイルのチェックサムの書き込み。

リスト-テンプレート、 LS
` を読みます。テンプレート' ファイルを作成し、画像とすべてのパーツに関する低レベルの情報を出力します
オフセット、長さ、チェックサムを含む。

このコマンドは、一時イメージ ファイルでも使用できます (次のように指定します)。
--template=イメージ名.tmp) - その場合、出力では、次の部分も区別されます。
画像に書き込まれている部分と書き込まれていない部分。

正確な出力形式は、異なる jigdo リリース間で互換性がなく変更される可能性があります。 の
以下のさまざまな種類の行を出力できます。 `have-file' は ` に対してのみ発生します.tmp'
ファイル。すでに一時ファイルに正常に書き込まれているファイルを示します。

テンプレート内 画像内のオフセット 長さ
必要なファイル 画像内のオフセット 長さ ファイル-md5sum ファイルスタート-rsyncsum
ファイルを持っている 画像内のオフセット 長さ ファイル-md5sum ファイルスタート-rsyncsum
画像情報 画像の長さ 画像-md5sum rsyncsum-サイズ

詳細


Jigsaw Download は ISO9660 CD イメージの形式を念頭に置いて作成されました。ただし、
以下の内容は、「tar」アーカイブだけでなく、他の多くのファイルシステム形式にも当てはまります。
圧縮されていない「zip」アーカイブ。 CD イメージには、ファイルを整理するための両方の情報が含まれています。
ファイルシステム(ディスク名などのヘッダー、ISO9660ディレクトリデータ、拡張子などのデータ)
Joliet または RockRidge、ゼロ パディング)、および CD に含まれるファイル。 重要な
jigdo が依存するプロパティは、各ファイルがファイルの XNUMX つの連続したセクションに保存されるということです。
画像; XNUMX つ以上の部分に分割されていません。

日時 ジグドファイル 画像に含まれる可能性のあるファイルの数が指定されると、それが検出されます。
使用されているものからインスピレーションを得た「ローリング チェックサム」を使用してファイルが存在するかどうか
by rsync(1)。 結果のデータは ` に書き込まれます。。テンプレート' ファイル:
画像が一致しませんでした (ディレクトリ情報など)。データは圧縮されており、
テンプレートに直接書き込まれます。 ただし、一致するファイルが見つかった場合、そのデータは
テンプレからは省略されています。 代わりに、参照 (ファイルの MD5 チェックサム) のみが保存されます。
テンプレートに挿入されました。

テンプレート データにはバイナリ データのみが含まれており、ファイル名は含まれていないことに注意してください。
これらの値のいずれかを変更する必要がある場合に簡単に編集できないためです。
その情報はすべて ` に保存されます。.jigdo' ファイル、URL を追加できるテキスト ファイル
あなたのサーバーのために。 jigdo ファイルは、各 MD5 チェックサムを XNUMX つまたは複数のチェックサムにマッピングします。
対応する部分の代替ダウンロード場所。

MD5 サムの URI へのマッピングとは別に、jigdo ファイルには、次の URL を指す URI も含まれています。
テンプレート ファイルのダウンロード場所にコピーします。 このようにして、 ジグドー ダウンロードツールのみが必要です
XNUMX つの URI (` の URI) が与えられます。.jigdo' ファイル)をダウンロードして再構築できるようにするため、
完成イメージ。

FORMAT OF .JIGDO ファイル


` の全体的な形式.jigdo' ファイルは ` のファイルの後に続きます。初期' ファイル。
一部のデータの Gnome プロジェクトと KDE プロジェクト。 ファイルはセクションに編成されており、それぞれのセクションは
`[セクション名]' という行が前にあります。 各セクション内の線の形式は次のとおりです。
「ラベル=値」。 このような行は、以下では「エントリ」とも呼ばれます。 すべて `.jigdo' ファイルでは UTF-8 が使用されます
文字エンコーディング。

コメントは「#」文字で始まり、行の終わりまで続きます。
行頭と行末、およびセクションの左右の空白は無視されます。
エントリ内の名前と「=」。 さらに、jigdo ユーティリティは、
エントリ値 (つまり、「=」の後の部分) を空白で区切られた単語に変換します。
Unix シェル。 一重引用符 '' と二重引用符 "" を使用すると、URI などでそれを防ぐことができます。
空白を含むものは分割されます。 同様に、特別な意味を持つ文字 (
文字 '"#\ およびスペース/タブ) を値に含めるには、\ で囲む必要があります。
シェルでは、「 」と「 」には違いがあります。「 」内の文字「#\」と「
空白は特別な意味を失い、通常の文字になりますが、「 」内では、
文字 '# と空白だけが特別な意味を失います。つまり、
バックスラッシュエスケープは " " 内では引き続き機能しますが、 ' ' では機能しません。

`.jigdo' ファイルはオプションで圧縮できます gzipとします。 ジグドファイル 常に出力します
圧縮されていないファイル。自分で圧縮できます。 ジグドーライト シングルをサポートします
非圧縮ファイルと圧縮ファイル。

(将来変更される可能性があり、依存すべきではない動作: ジグドー
さらに、ファイル内の任意の数の連結されたプレーンテキストおよび gzip された部分をサポートします
- たとえば、` を圧縮できます。.jigdo' ファイルに次の数行を追加します
最後まで非圧縮データです。)

すべての場合において、`.gz' 拡張子をファイル名から削除する必要があります - ツールは
ファイルが圧縮されているかどうかをファイルの内容から自動的に判断します。

以下に、jigdo で使用される各セクション名の説明を示します。

ジグド セクション
【ジグドー】
バージョン= 1.1
ジェネレーター=jigdoファイル/1.0.0

使用されている jigdo ファイル形式のバージョンと、それを実行するプログラムに関する情報
それを生成しました。 ` ごとにそのようなセクションが XNUMX つ存在する必要があります.jigdo' ファイル。

IMAGE セクション
[画像]
ファイル名="ファイル名 for 節約 on ユーザーの ディスク」
テンプレート=「URI コラボレー 〜へ フェッチ template ファイル"
Template-MD5Sum=OQ8riqT1BuyzsrT9964A7g
短い情報=単線 説明 of   画像 (200 文字 最大)
情報=長い 説明 (5000 文字 最大)

`Template' エントリの値は URL (絶対 URL または URL に対する相対 URL) のいずれかになります。
jigdo ファイルの) または ` 形式の文字列ラベル:パス名'(未実装)、説明どおり
を参照してください。

`Template-MD5Sum' エントリは次によって追加されます。 ジグドファイル の MD5 チェックサムを指定します。
生成された`。テンプレート' ファイル。 使用されているのは、 ジグドー ダウンロードされたケースを検出するには
テンプレート データが破損しているか、別のイメージに属しています。

他のエントリ値とは異なり、「ShortInfo」エントリと「Info」エントリの値は次のとおりです。 split
代わりに、すべての引用が保存されます。

「Info」エントリの値は次の点で特別です。 ジグドー(1) オプションで XML マークアップを解析できます
を含む。 マークアップにバランスの取れていない/サポートされていないタグなどのエラーがある場合、文字列は次のようになります。
XML 解析を行わずに文字通りに表示されます。 サポートされているタグは、 (大胆な)、
(イタリック)、 (タイプライターフォント)、 (下線)、 (大きなフォント)、
(小さいフォント) と(改行)。 サポートされているエンティティには、<
(`<')、> (`>')、および & (`&')。 「情報」エントリ全体が XNUMX 行になければならないことに注意してください。
jigdo ファイル。

このセクションは複数回出現する可能性がありますが、最初のセクションを除くすべてが無視されます。 これ
` を作成する場合などに便利です.jigdo' DVD イメージのファイルをすでに持っている場合は、
`.jigdo' 同じ内容の CD 用ファイル: 単純に `[Include]' (以下を参照) することができます。
CD の jigdo ファイルは、DVD jigdo ファイルの最後、「[Image]」セクションの後にあります。

部品 セクション
[部品]
xJNkjrq8NYMraeGavUpllw=ラベルA:part0
GoTResP2EC6Lb_2wTsqOoQ=ラベルA:part1
kyfebwu6clbYqqWUdFIyaw=ラベルB:some/path/part2
-J9UAimo0Bqg9c0oOXI1mQ=http://some.where.com/part3

MD5 チェックサムから URI へのマッピングを提供するセクション内のすべての行には、
同じ形式: `=' の左側にチェックサム (Base64 のような形式でエンコード)
エンコーディング)が与えられ、右側にこれが含まれる部分に対応する文字列が表示されます
チェックサム; 完全な URI または ` 形式の文字列のいずれかラベル:パス名'、つまり
の定義を検索することにより、XNUMX つ以上の URI に展開されます。 ラベル セクションに
「[サーバー]」セクション。

特定の MD5 チェックサムが「[Parts]」セクションで見つからない場合は、 ジグドー
プログラムは `MD5Sum: の検索を実行します。'、たとえば、
上記の「part5」の行を削除した場合は、「MD8Sum:xJNkjrq0NYMraeGavUpllw」。

このセクションに複数回表示されるチェックサムは、代替ダウンロードを示します
パーツの位置。

ファイル内には任意の数の `[Parts]' セクションを含めることができます。 それらはすべて次の場合に考慮されます。
MD5 チェックサムを調べています。

ジグドファイル 常に `[Parts]' セクションをファイルの最後に置きます。
で指定されたファイルを再配置します - マージ そのようなセクションが最後に XNUMX つだけあるようにします。 これ
許可するために行われます ジグドー `[Image]' セクションの情報を表示します。
ファイルの残りの部分はまだダウンロード中です。

SERVERS セクション
【サーバー】
ラベルA=http://myserver.org/
ラベルA=ftp://mirror.myserver.org/
ラベルB=ラベルC:サブディレクトリ/
ラベルC=http://some.where.com/jigdo/

サーバーラベルからサーバーへのマッピングを提供するセクション内のすべての行
場所は同じ形式です。「=」の左側にはラベル名が指定され、
右側には、ラベル名を展開する値が表示されます。

このセクションに複数回表示されるラベル名は、代替ダウンロードを示します。
`[Parts]' セクションのラベルを使用するパーツの場所。 この表記法により、
jigdo ファイルにミラーを追加するのは非常に簡単です。

上の例で示したように、ラベル値自体が他のラベルを参照する場合があります。 で
この場合、「[Parts]」セクションのエントリ「LabelB:some/path/part2」は次のように展開されます。
`http://some.where.com/jigdo/subdirectory/some/path/part2'。 ラベル内のループ
定義すると未定義の動作が発生するため、避ける必要があります。

ファイル内には任意の数の「[Servers]」セクションを含めることができます。 それらはすべて次の場合に考慮されます。
ラベルを調べています。 `[Parts]' または `[Servers]' のどちらかを省略できますが、両方を省略することはできません。
jigdo ファイル。

コメント セクション
[コメント]
任意のテキスト。ただし、行が `[' で始まってはなりません。

`[Comment]' または `[comment]' 行に続くすべてのテキストは、次の行まで無視されます。
セクションラベル。

インクルード 指令
[含む http://some.url/file.jigdo]

この形式の行により、指定された jigdo ファイルのコンテンツがダウンロードされ、
メインの jigdo ファイルと同じように解析されます。 同梱されているものをコピーした場合と同様の効果が得られます。
ファイルの内容を include ディレクティブを含むファイルにコピーします。 (例外: 任意
相対 URL は常に ` の URL を使用して解決されます。.jigdo' それを含むファイル
相対 URL。)

URL 引数には、絶対 URL または相対 URL を指定できます。 相対 URL は次のように想定されます。
include ディレクティブを含む jigdo ファイルの URL に対する相対パス。 缶入り
入れ子にすることはできますが、include ディレクティブのループを作成するとエラーになります。 それは 可能
` 形式の URL を使用するにはラベル:パス名'.

URLを「」で囲むことはできません。 引数内の「]」文字は次のようにエスケープする必要があります。
`%5D'、および任意のスペースは `%20' となります。

Include ディレクティブは以下でのみサポートされます。 ジグドー、それらは無視されます ジグドーライト.

include ディレクティブは前のセクションを終了しますが、新しいセクションは開始しません。 で
つまり、新しいセクションは常に include 行の後に開始する必要があります。 ジグドー しない
通常のエントリを「[Include]」の下に表示できるようにします。

キャッシュ ファイル


で指定された任意のファイル - キャッシュ オプションは、に関する情報を保存するために使用されます。 ファイル
に提示 ジグドファイル。 キャッシュにクエリを実行すると、ファイルは変更されていないとみなされます (そして、
キャッシュされたデータが使用されます) ファイル名、ファイル サイズ、最終変更時刻 (mtime) が一致する場合のみ
その通り。 ファイル名の一致では、ファイル名全体ではなく、その一部のみが使用されます。
`//' の後に続くので、`//' より前の部分への変更は無効になりません。
キャッシュ。

古いキャッシュ エントリは、読み書きされていない場合、キャッシュから削除されます。
で指定された時間の間、 --キャッシュの有効期限。 エントリは次のとおりです。 すぐに削除されました
参照しているファイルが存在しない場合はキャッシュから削除します。これにより、次のことが可能になります。
ファイルに関する情報をリムーバブル メディアにキャッシュします。

キャッシュの期限切れのみが発生します After ジグドファイル 主な作業を完了しました - 古いエントリがある場合
有効期限が切れる前にアクセスされた場合、それらは保持されます。 たとえば、プログラムが
デフォルトの有効期限である 30 日を使用して実行しますが、エントリを含むキャッシュ ファイルにアクセスします。
2 か月前に生成され、そのキャッシュ内のエントリ 意志 それらのみが考慮されます
プログラムの実行中に不要なキャッシュ エントリは期限切れになります。

基礎となるデータベース ライブラリ (libdb3) の特性により、キャッシュ ファイルは決して
縮むだけで、成長するだけです。 キャッシュ ファイルから期限切れになったエントリが多数ある場合、
縮小したい場合は、単に削除することもできます(もちろん、削除するとすべてが削除されます)
再生成される)、または libdb3 に付属のユーティリティを使用して、
` のようなコマンドを使用してデータベースを開くdb3_ダンプ 古いキャッシュ.db | db3_load 新しいキャッシュ.db'。 Debian の場合、
これらのプログラムは、パッケージ `libdb3-util' で提供されます。

違う場合は --md5-ブロックサイズ が指定されている場合は、ファイル全体を再読み込みする必要があります。
キャッシュエントリを更新します。 違う場合は -最小長 指定されている場合は最初のみ
ファイルの `md5-block-size' バイトを再読み取りする必要があります。


準備 サプライヤ CD IMAGE FOR DISTRIBUTION
CD イメージが作成されました `画像.iso' ディレクトリに保存されているいくつかのファイルから
`/ホーム/ftp' ハードディスク上にあり、オンラインでも ` として入手できます。ftp://mysite.org'。 として
同じデータを XNUMX 回 (XNUMX 回はファイルとして) 効果的にホストしてスペースを無駄にしたくない。
FTP サーバー(画像内にある場合))、ユーザーのダウンロードが中止されることにうんざりしている
200MB になり、ダウンロードを何十回もやり直した後、jigdo を使用することにしました。
ダウンロードする画像をどのように準備しますか?

実際、必要なコマンドは XNUMX つだけです。

ジグドファイル テンプレート作成 --image=image.iso --jigdo=/home/ftp/image.jigdo
--template=/home/ftp/image.template /ホーム/ftp// - ラベル Mysite=/home/ftp --uri
私のサイト=ftp://mysite.org/

人々はポイントできるようになりました ジグドー `でftp://mysite.org/image.jigdo' をクリックして画像をダウンロードします。 の
テンプレート ファイルは ` としてアクセスできる必要がありますftp://mysite.org/image.template'.

そうでない FTP サーバーに対して同じことを行うことを妨げるものは何もないことに注意してください。
あなたが管理します - その場合、あなたは ` をホストするだけで済みます。.jigdo'と `。テンプレート'
自分のサーバー/ホームページ上のファイル。

準備 AN 任意 大画面 FILE FOR DISTRIBUTION
ファイルシステムではない大きなファイルがあると仮定します。例: `ムービー.mpeg'。 なぜなら
スペースの問題があるため、データを XNUMX つのサーバーに分散したいと考えています。

この場合、画像の一部を人工的に生成する必要があります。 split
指示。 たとえば、それぞれ 4MB のチャンクを作成するには、`split -b 4m ムービー.mpeg '.
結果のファイルをコピーします `パートXX' XNUMX つのディレクトリに入れます '1'と `2あなたが作成するもの、
サーバー間でファイルを分散する方法に応じて。 次に、
` を含む jigdo およびテンプレート ファイルジグドファイル テンプレート作成 --image=映画.mpeg 1 // 2 //'。 君
`を編集する必要があります.jigdo' ファイルを開き、XNUMX つのサーバーに適切な URI を指定します。
` をアップロードするつもりですパートXX' にファイルを保存します。

カスタマイズされた バージョン OF IMAGES
必要に応じて画像の各部分に異なるURIを割り当てることも可能ですので、
jigdo は非常に柔軟です。 ほんの XNUMX つの例として、カスタマイズされたバージョンの可能性があります。
イメージ: 誰かが CD イメージを配布しており、いくつかのイメージを作成したいとします。
それに小さな変更を加えて、独自のバージョンを再配布してください。 `をダウンロードします公式.iso' CD
との画像 ジグドー (` の URL を渡します)公式.jigdo')、CD-R に書き込み、
変更 (たとえば、` からファイルを追加)マイファイル' ハードディスク上のディレクトリ) を作成し、
独自のバージョン、`私のバージョン.iso'。 次に指示するのは、 ジグドファイル ジグドを作成し、
コマンドを使用して、変更したイメージのテンプレート ファイルを作成する

ジグドファイル テンプレート作成 --image=myversion.iso /mnt/cdrom/ マイファイル// - ラベル
私の=私のファイル/ --uri 私の=http://my.homepage.net/ --merge=official.jigdo
一方、`公式.iso' は ' の下にマウントされます/mnt/cdrom'。 を使用することで - マージ、あなたは言いました ジグド~
file `の内容を取得するには公式.jigdo'、それに新しい `[Image]' セクションを追加します
`私のバージョン.iso' 結果の jigdo ファイルを ' に書き込みます私のバージョン.jigdo' - それで今
`私のバージョン.jigdo' では、元のバージョンと変更されたバージョンの XNUMX つのイメージをダウンロードできます。
バージョン。 (正式バージョンを提供したくない場合は、編集して、
`をリストする`[Image]'セクション公式.iso'。)

これで ` をアップロードできるようになりました.jigdo' ファイル、`。テンプレート' ファイルと ' 内のファイルもマイファイル'
に `http://my.homepage.net/'。 したがって、人々があなたの変更したイメージをダウンロードするには、次のようにします。
完全な画像コンテンツを Web スペースにアップロードする必要がありますが、変更した部分のみをアップロードする必要があります。
作った!

(ほんのわずかな変更しか加えなかった場合は、`myfiles' パラメータを省略することもできます。
上記のコマンドを実行すると、すべての変更が新しいテンプレート ファイルに反映されます。)

組み合わせる MANY JIGDO管理 IMAGES INTO ONE
jigdo を使用する複数のソースからのデータを結合することも問題ありません。 たとえば、次の場合
XNUMX つの異なる無関係なサーバーがあり、それぞれが異なる CD イメージを次の方法で配布します。
jigdo を使用すると、これらすべての CD のデータを含むカスタマイズされた DVD イメージを作成できます。
人々が使用するとき ジグドー イメージをダウンロードするには、DVD 上の個々のファイルが取得されます
オリジナル CD と同じソースから。

したがって、Web スペース経由で 3.2 GB のファイルを配布する場合でも、
サーバーに保存される実際のデータ量はわずか数個程度です。
MB。

onworks.net サービスを使用してオンラインで jigdo ファイルを使用する



最新のLinuxおよびWindowsオンラインプログラム