这是命令 jigdo-file 可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
jigdo-file - 为 Jigsaw 下载准备文件(分发大文件,例如 CD
图片)。
概要
夹具文件 指挥
[ --图像=光盘文件 [ --jigdo=光盘驱动程序 [ --模板=光驱模板 [ - 力量 [
了解更多 配置 [ FILES ... | --文件-来自=f ]
相当常见 命令: 制作模板, 制作图像, 确认
商品描述
Jigsaw Download,或简称 jigdo,是一种主要开发的方案,旨在使
分发巨大的文件系统映像(例如 CD (ISO9660) 或 DVD (UDF) 映像)
互联网,但它也可以用于其他难以处理的数据
大小,如音频/视频文件或大型软件包。
jigdo 尝试确保大文件(始终称为 图片 从现在开始)下载
可以存储在不同服务器上的小部件。 想要下载的人
图像通过告诉 吉多(1) (不是 实施的 然而) 下载工具来处理一
`.jigdo' 文件; 使用它, 吉多 下载零件并重新组装图像。 夹具文件
用于准备下载文件。
jigdo 的特别之处在于用于重建图像的部分可以具有
任何大小和内容 - 它们只需要包含在任何地方的连续区域中
图片。
例如,如果您希望分发包含一个快照的 ISO9660 映像
FTP服务器,可以指示 夹具文件 以这样的方式准备下载数据
当人们使用 吉多 下载图片, 吉多 实际上获取单个文件
从 FTP 服务器并将它们组合成您的图像的精确副本 - 在
下载! (如果图像不是文件系统转储,您可以使用 分裂(1)创造小
图像将从中重新组合的部分。)
您可以完全自由地选择图像各个部分的存储位置:它们
可能位于不同服务器上完全不同的目录中(例如,由于
存储/带宽限制),但这对下载您的用户是不可见的
图片。 有关可用服务器的信息只需要添加到`.jigdo' 文件
在分发它之前由你。
下面的“详细信息”部分包含有关 jigdo 如何工作的技术细节。 '例子'
部分列出了一些常见的场景,可以帮助您了解什么是 jigdo
是有用的。
配置
许多选项特定于特定的 指挥; 以下是通用的或被使用的
几个命令。 下面列出了更多选项以及各个命令。 全部
如果选项不适用于当前命令,则它们将被静默忽略。 对于任何
字节 选项的参数,您可以将字母“k”、“M”或“G”之一附加到
您指定的数量,以指示千字节、兆字节或千兆字节。
-h - 帮帮我
输出命令和选项的简短摘要。
-H --全部帮助
输出命令和选项的完整摘要。
-v - 版
输出程序版本。
-i --图像=光盘文件
指定包含图像的文件的位置。 图像是大文件
你想分发。
-j --jigdo=光盘驱动程序
指定 Jigsaw 下载描述文件的位置。 jigdo 文件是一个
由生成的人类可读文件 夹具文件, 向其中添加有关所有
您要将文件上传到的服务器。 吉多 将此文件下载为
检索图像的第一步。
-t --模板=光驱模板
指定图像“模板”文件的位置。 模板文件是一个二进制文件
由...生成 夹具文件,它包含有关如何重新组合图像和
还(以压缩形式)从图像中找不到的所有数据
零件。
根据命令,这三个文件中的每一个有时都用于输入,
有时为了输出。 如果文件将用于特定命令的输出
并且输出文件已经存在, 夹具文件 错误退出,除非 - 力量
存在。
在大多数情况下,您只需要指定一个 -i -j -t,因为任何
丢失的文件名将从您指定的文件名中推导出来。 这是由首先完成的
从提供的名称中去除任何扩展名,然后不附加任何内容(如果
推论 - 图片),`.jigdo' 或`。模板'.
-r --report=default|noprogress|安静|grep
控制程序的详细程度以及输出的格式: 没有进展 is
相同 默认 除了不打印“x% done”进度消息。 安静
将输出限制为绝对必要的内容,主要是错误消息。 grep的
只是不同于 默认 等加工。为 制作模板 命令:它启用输出
一个简单的` ' 搜索二进制文件时很有用的格式
在其他二进制文件中。
-f - 力量
覆盖现有的输出文件而不会抱怨。
--无力
本篇 is 此 默认。 拒绝覆盖现有的输出文件。
-c --缓存=jigdo-cache.db
夹具文件 通常需要阅读所有的全部内容 FILES 您指定。
如果您重复使用它(例如,因为您每天都提供新的 CD 映像),
缓存文件信息将显着提高程序的速度。 这
如果缓存文件尚不存在,则会自动创建它。 数据通常是
读取和写入它。
--无缓存
本篇 is 此 默认。 不要使用缓存。
--缓存过期=SECONDS
设置缓存条目的最大年龄。 任何比这更旧的条目都将从
缓存。 默认值为 30 天。 您可以附加字母“h”、“d”、“w”之一,
“m”、“y”分别表示小时、天、周、月或年。 一个值
`0' 或 `off' 禁用过期,因此所有条目将永远留在缓存中。
有关更多信息,请参阅下面的“缓存文件”部分。
--读缓冲区=字节
设置内部缓冲区的大小。 默认值为 128k - 如果您有快速光盘,
增加这个值可能会使 夹具文件 更快,但总的来说,改变它是
没必要。
--md5-块大小=字节
枯燥 内部 参数。 设置文件所在块的大小
细分。 默认值为 128k。 如果你改变它,任何缓存文件都必须是
重生。 在内部, 夹具文件 可以选择使用稍大或稍小的
计算值。
-T --文件-来自=文件
从指定文件中读取文件名和目录名。 如果 文件 是‘-’,读名字
从标准输入。 文件中的每一行都被当作一个名字,所以名字可以
包含空格,但不包含换行符。 空行导致 夹具文件 停止
从文件中读取。
发现(1) 是生成文件列表的强大工具,但一定要使用`发现
-类型 f' 如果可能 - 否则,如果您指示 发现 输出两个文件名
以及指向该文件名的符号链接, 夹具文件 将读取文件内容两次。
--十六进制 以十六进制而不是类似 Base64 的格式输出校验和。 这不应该
与 制作模板 命令,因为结果`.jigdo' 文件违反
`.jigdo' 文件格式。 它的预期用途是使 夹具文件 更具互操作性
与其他 Unix shell 实用程序,如 md5sum(1)。
--无十六进制
本篇 is 此 默认。 使用 jigdo 自己的类似 Base64 的校验和编码。
--debug[=帮助|=全部|=单位,~单位... ]
打开或关闭调试输出。 只是`--debug' 等价于`--debug=all'。
参数是一个逗号分隔的单元名称列表,调试输出是
如果名称前面有“~”,则启用或禁用。 特殊名称“all”
指所有单位。 默认情况下,除单元外,调试输出关闭
“断言”和“一般”。 可以调试的可用单元的确切列表
是否开启取决于 jigdo 是否编译支持调试 -
列表可以用 `--debug=help' 打印。
FILES 用作输入的文件或目录的名称。 这些是部分
包含在图像中。 如果名称之一是目录,则程序
递归扫描目录并添加其中包含的所有文件。 在做的时候
这,它遵循符号链接,但避免符号链接循环。
如果文件名之一以字符“-”开头,则必须在
带有“--”的文件。 “-”的值具有 没有 在这个列表中的特殊含义,它代表
名称为单个连字符的文件。
指令
命令名称是传递给的第一个非选项参数 夹具文件. 大多数命令都有
短缩写和长名称。 短 命令 名称 应该 不能 be 用过的 in
脚本 - 那里 五月 be 不相容 变化 至 他们 in 此 未来!
制作模板, MT
读 图片 和 FILES, 创建`.jigdo'和`。模板'。 这是主要功能
夹具文件.
可以同时指定 --图像=- 和 --文件-来自=-. 在这种情况下,首先列表
文件从标准输入读取,直到遇到空行。 一切
下面假设是图像数据。 如果您使用,这可能很有用 mki软件(1)或
可以在其标准输出上输出完整图像的类似程序,因为
无需将图像临时存储在光盘上。
如果一个 FILES 参数包含字符`//'(Unix)或`\.\'(Windows),这有
特殊的意义。 在用户将下载的最终 jigdo 文件中,每个部分都是
在“[Parts]”部分中使用“Label:some/filename”形式的 URI 引用。 (看
'FORMAT OF .JIGDO FILES' 下面的详细描述。)'[Servers]' 部分给出
标签到 Internet 上服务器的映射,例如
`标签=http://myserver.org/jigdofiles/'。 使用这些信息, 吉多 将创建
该部分的最终下载 URI,`http://myserver.org/jigdofiles/some/filename'.
在文件或目录名称中指定 `//'(或 `\.\')用于“切断”位于
正确的目录级别。 例如,如果您的其中一个的 Unix 路径 FILES is
`/path/some/filename',你可以看出来 夹具文件 通过传递它在`/path'之后切断
参数`/path//some/filename',或者`/path//',如果你想扫描整个目录。
路径名不必是绝对的; `somedirectory//' 也是可能的。
- 标签 标签=/路径
指定一个名称以用作光盘上路径的标签名称。 (影响输出
jigdo 文件。)如果您在 FILES 如上所述的参数, 夹具文件
默认情况下会自动选择标签名称(`A'、`B' 等)。 有了这个选项,
您可以为标签指定更有意义的名称。 请注意,标签名称只会是
如果一个或多个使用 FILES 以`/path//'开头。
尝试使用以大写字符开头的标签名称,以消除它们的歧义
显然来自协议名称,如“http”、“ftp”。
--uri 标签=http://some.server.org/
默认情况下,使用 - 标签 如上所述将导致形式的行
`Label=file:/path/' 被写入输出 jigdo 的 `[Servers]' 部分
文件。 如果你想覆盖 `file:' URI 以便该行读取
`标签=http://some.server.org/',您可以通过指定 --uri 随着
- 标签. 给予只是 --uri 标签=... 没有相应的 - 标签 标签=...
没有任何效果,即使您指定了两者,也只会将一个条目添加到
`[Servers]' 部分,如果标签被至少一个 `[Parts]' 条目引用。
程序没有引用提供的值; 如果它包含诸如
空格或任何字符 #"'\ 那么你必须引用它。(在 Unix 下,你可以
需要两次引用该值以保护它免受外壳程序的影响,例如 \\\\ 或 '\\'
在 URI 中获得一个反斜杠。)
用一个指定的映射 --uri 如果选项已存在,则忽略该选项
输出 jigdo 文件。
Windows 版本的用户可能会注意到 `\' 目录分隔符是
在默认生成的 `file:' URI 中转换为 `/'。 这个做完了
增加 `file:' 的跨平台兼容性 - 印刷缺失 的命令
Windows 版本在打印时会自动重新转换字符
URI。 如果你在 Windows 下使用你自己的 `file:' URIs --uri,你必须
也交换`/'和`\'。
-0 至 -9
在输出模板文件中设置压缩量,从 -0 (无压缩)到
-9 (最大压缩)。 默认是 -9, 这可以使模板生成
很慢。 默认情况下,使用的压缩算法与 GZIP(1)。
--gzip 和 --bzip2
在 gzip 和 bzip2 压缩算法之间进行选择。 默认为 gzip。
Bzip2 通常会给出更好的压缩率,但压缩率显着
比使用 gzip 慢。
--最小长度=字节
设置零件的最小长度 夹具文件 在图像中寻找它。 这
默认为 1k。 比这小的部分永远不会在图像中找到,所以他们的
数据将包含在模板文件中。 使用的搜索算法需要这样的
最小长度,否则模板生成可能会变得非常缓慢。 如果你
确定知道你所有的 FILES 大于一定数量,你可以
提高 夹具文件通过使用此选项指定数量来稍微提高速度。
硬连线的绝对最小值为 256 字节 - 任何更低的都将静默
设为 256。
--合并=文件
包括以下内容 文件 在输出中`.jigdo' 文件。 该文件可以包含数据
您想要添加到输出中的内容(例如,带有列表的“[Servers]”部分
您的服务器作为条目),或者它可以是早期运行输出的 jigdo 文件
of 夹具文件.
可以为输入指定相同的文件 - 合并 和输出
--吉格多. 但是,您还需要使用 - 力量 使程序覆盖
旧版本的 jigdo 文件与新的。 文件 标准可以是‘-’
输入。
什么时候 添加 提供的文件的新信息, 夹具文件 不会插入新的
如果相同 MD5 校验和的条目(但不是
必须具有相同的 URI!)已经存在,并且不会插入新行
如果已经存在完全相同的条目,则进入“[Servers]”部分。
什么时候 阅读 in 现有的 文件,行为略有不同:程序
蜜饯 “[Parts]”部分中的条目具有相同的校验和,但不同
URI。 对于完全相同的条目(相同的校验和和 URI),只有一个条目是
保留并删除重复项。 “[Servers]”部分被保留
无动于衷。
--图像部分
本篇 is 此 默认。 原因 夹具文件 将“[Image]”部分添加到“.jigdo'
文件中。
作为一个例外,一个新的“[Image]”部分是 不能 如果您使用,则添加 - 合并 和
要合并的文件包含一个“[Image]”部分,其中一行内容为“Template-
MD5Sum='('=' 后的行尾)。 在这种情况下,生成的模板数据的
MD5校验和值只是在这种形式的第一行的`='之后添加
文件 - 没有附加全新的“[Image]”部分。 这种行为很有用
因为它允许你通过 - 合并 带有任意内容的“[Image]”部分
内容,然后自动添加 MD5 校验和 夹具文件。 该
下面的“.JIGDO 文件格式”部分解释了“[图像]”部分的内容
更详细的信息。
--无图像部分
Do 不能 在 `[Image]' 部分包含一个.jigdo' 文件。 你需要添加一个
如果你使用这个选项,你自己。 但是,这样做并不容易(您还需要
添加带有正确校验和的“Template-MD5Sum”行,或 吉多 会抱怨),所以
不鼓励使用此选项。
--服务器部分
本篇 is 此 默认。 原因 夹具文件 将“[Servers]”部分添加到“.jigdo'
文件。 此默认部分使用“文件:”URI,它允许立即重新组装
来自本地文件系统的图像,如果你想编辑图像也很有用
手动创建文件并用其他 URI 替换 `file:' URI。
--无服务器部分
Do 不能 在 `[Servers]' 的末尾添加一个 `[Servers]' 部分.jigdo' 文件。 有用例如如果
您将使用脚本追加该部分。
--匹配执行=外壳命令
每当在图像中找到文件时,执行提供的命令字符串
将其传递给外壳。 夹具文件 设置一些环境变量
有关文件匹配的信息。 例如,如果文件`/路径//a/b/文件' 曾是
在图像中找到并且 `Label:a/b/file' 将被写入 `.jigdo'
文件:
· 品牌="Label" - 文件的标签名称。 该示例假设`- 标签
Label=/path' 是您指定的。 在没有这样的选择的情况下, 品牌 将
设置但为空。
· 标签路径="/path/" - 对应于标签的路径,或者换句话说,
匹配文件路径的前缀 不能 出现在输出中`.jigdo'
文件。 即使没有任何设置`- 标签' 选项存在。 以斜线结尾。
· 匹配路径="a/b/" - 路径的其余部分,没有匹配的叶名
文件。 为空或以斜线结尾。
· LEAF="file" - 匹配文件的叶名。
· MD5SUM="lNVdUSqbo2yqm33webrhnw" - 匹配文件的 md5sum,类似 Base64
格式。
· 文件="/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
读取`。模板'和 FILES, 创建 图片 (或`图像名称.tmp')。 提供了一个基本的
重新组合图像的方法 - 吉多 通常更适合此任务。 然而,在
相比较 吉多,没有`.jigdo' 文件是必需的。
如果要将图像写入文件(而不是标准输出),则可以
分几个步骤创建图像,多次调用`夹具文件 制作图像', 作为
如下: 你首先调用 夹具文件, 指定在此可用的尽可能多的文件
时间。 程序扫描文件,并将图像中包含的文件复制到
一个临时文件,其名称由附加`.TMP' 到图像文件名。
对于可能是图像一部分的所有其他文件,您重复此过程。 尽快
由于所有部分都存在,临时文件将被稍微截断(删除一些
行政数据 夹具文件 附加在最后)并重命名为最终图像
姓名。 分几个步骤重新组装图像的可能性对于以下情况特别有用
从可移动媒体(例如几张旧 CD)收集文件。
脚本使用 制作图像 可以通过检查图像创建是否完成
退出状态:0 表示创建成功,而 1 表示需要创建更多文件
提供。 其他错误导致退出状态为 2(`recoverable',例如找不到文件)
或 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 下,你可以
需要两次引用该值以保护它免受外壳程序的影响,例如 \\\\ 或 '\\'
在 URI 中获得一个反斜杠。)
全部打印丢失, PMA
就像 印刷缺失,此命令输出仍需要完全执行的 URI 列表
重新组合图像。 然而, 所有 打印替代下载位置而不是
只有一个。 在输出中,文件的 URI 与其他文件的 URI 用
空行。 这 --uri 选项与 for 具有相同的效果 印刷缺失.
核实, VER
读 图片 (大概是用 制作图像) 和`。模板', 检查正确
图像校验和。
模板数据不仅包含各个部分的校验和,还包含
整体形象。 制作图像 已经执行了许多内部检查,但是如果您
像,您还可以使用此命令检查图像。
扫描, SC
阅读所有 FILES 并将它们输入缓存,除非它们已经被缓存。 这
--缓存 此命令必须存在选项。
--no-scan-整个文件
本篇 is 此 默认。 这只会导致第一个 --md5-块大小 每个文件的字节数
被阅读。 如果缓存稍后被使用 夹具文件 制作图像, 剩下的
一旦在输入图像中识别出这些第一个字节,就会读取文件。
--扫描整个文件
立即读取整个文件内容并将它们存储在缓存中。
MD5 总和, MD5
阅读所有 FILES 并打印出其内容的 MD5 校验和。 这个命令相当
像 md5sum(1),除了校验和是以类似Base64的编码输出的
也被其他地方使用 夹具文件.
FILES 参数的处理方式与其他命令相同,这意味着
对于目录中的任何参数,递归都会自动发生,并且
除非无法访问符号链接指向的文件,否则不会列出符号链接
直。
在标准输出上打印的校验和列表中,只有文件名后面的部分
任何“//”(或 Windows 上的“\.\”)都会被打印出来。 任何 --缓存 将用于查询文件'
MD5 校验和/或写入扫描文件的校验和。
列表模板, LS
读取一个`。模板' 文件并输出有关图像和所有部分的低级信息
包含在其中,包括偏移量、长度和校验和。
您还可以将此命令与临时图像文件一起使用(通过指定类似
--template=图像名称.tmp) - 在这种情况下,输出还会区分以下部分
已写入图像和未写入的部分。
不同的 jigdo 版本之间可能会不兼容地更改确切的输出格式。 这
可以输出以下不同类型的行。 `have-file' 只发生在 `.TMP'
files,表示已经成功写入临时文件的文件:
模板内 图像偏移 长度
需要文件 图像偏移 长度 文件-md5sum 文件开始-rsyncsum
有文件 图像偏移 长度 文件-md5sum 文件开始-rsyncsum
图像信息 图像长度 图像-md5sum rsyncsum 大小
详细信息
Jigsaw Download 的创建考虑了 ISO9660 CD 映像的格式 - 然而,
以下也适用于许多其他文件系统格式,以及“tar”档案和
未压缩的“zip”档案。 CD 映像包含用于组织
文件系统(带有光盘名称等的头文件,ISO9660 目录数据,扩展名数据,例如
Joliet 或 RockRidge,零填充)以及 CD 中包含的文件。 一个重要的
jigdo 依赖的属性是每个文件都存储在
图片; 它不会分成两个或更多部分。
什么时候 夹具文件 给定一些可能包含在图像中的文件,它会检测
是否存在使用受所用文件启发的“滚动校验和”的任何文件
by rsync的(1). 结果数据写入`。模板' 文件:如果
图像无法匹配(例如它是目录信息),数据被压缩并且
直接写入模板。 但是,如果找到匹配的文件,则其数据为
从模板中省略。 相反,只有一个引用(文件的 MD5 校验和)是
插入到模板中。
注意模板数据只包含二进制数据,不包含任何文件名
或 URI,因为如果需要更改这些值中的任何一个,则无法轻松编辑它。
所有这些信息都存储在`.jigdo' 文件,您可以向其中添加 URL 的文本文件
为您的服务器。 jigdo 文件为每个 MD5 校验和提供一个映射到一个或多个
相应部分的替代下载位置。
除了将 MD5 sums 映射到 URIs 之外,jigdo 文件还包含一个 URI 指向
到模板文件的下载位置。 这样一来, 吉多 下载工具只需要
被赋予一个 URI(`.jigdo' 文件) 以便能够下载和重新组装
完整的图像。
FORMAT OF .JIGDO FILES
`的整体格式.jigdo' 文件遵循`的.ini' 文件,也由
一些数据的 Gnome 和 KDE 项目。 该文件被组织成部分,每个部分
前面有一行读作“[Sectionname]”。 在每个部分中,行的形式为
'标签=值'。 这些行在下面也称为“条目”。 所有`.jigdo' 文件使用 UTF-8 作为
他们的字符编码。
注释以“#”字符引入并延伸到行尾。
在行首和行尾以及节的左侧和右侧忽略空格
名称和条目中的“=”。 此外,jigdo 实用程序拆分了
输入值(即`='之后的部分)到空格分隔的词中,很像
Unix外壳。 单 '' 和双 "" 引号可用于防止例如 URI
包含空格被分开。 同样,具有特殊含义的字符(
字符 '"#\ 和空格/制表符) 必须用 \ 引用以出现在值中。与
shell 中,' ' 和 " " 之间是有区别的:在 ' ' 中,字符 "#\ 和
空格失去其特殊意义而成为普通字符,而在“”中,
只有字符 '# 和空格失去了它们的特殊意义——换句话说,
反斜杠转义仍然适用于“”,但不适用于“ ”。
`.jigdo' 文件可以选择压缩 GZIP(1)。 夹具文件 总是输出
未压缩的文件,您可以自行压缩。 jigdo-lite 支持单
未压缩和压缩的文件。
(将来可能会改变且不应依赖的行为: 吉多
此外还支持文件中任意数量的连接纯文本和 gzip 部分
- 例如,您可以压缩`.jigdo' 文件,然后添加几行
未压缩的数据到最后。)
在所有情况下,`。广州' 扩展名应该从文件名中删除 - 工具将
根据文件内容自动判断文件是否被压缩。
以下是 jigdo 使用的各个部分名称的说明。
吉多 部分
[吉多]
版本= 1.1
生成器=jigdo-file/1.0.0
有关使用的 jigdo 文件格式版本的信息,以及使用的程序
生成它。 每个`应该有一个这样的部分.jigdo' 文件。
图像 部分
[图片]
文件名=“文档名称 保存 on 用户的 光盘”
模板="URI 哪里 至 取 模板 文件”
Template-MD5Sum=OQ8riqT1BuyzsrT9964A7g
短信息=单线 描述 of 此 图片 (200 字符 最大限度。)
信息=长 描述 (5000 字符 最大限度。)
“模板”条目的值可以是 URL(绝对或相对于 URL
jigdo 文件)或格式为 ` 的字符串标签:路径名'(未实施),如所述
联络一位教师
“Template-MD5Sum”条目由 夹具文件 并指定 MD5 校验和
生成`。模板' 文件。 它被使用 吉多 检测下载的情况
模板数据已损坏或属于不同的图像。
与其他条目值不同,“ShortInfo”和“Info”条目的值是 不能 分裂
变成单词,而是保留所有引用。
`Info' 条目的值的特殊之处在于 吉多(1) 可以选择性地解析 XML 标记
它包含了。 如果标记有错误,例如不平衡/不支持的标签,则字符串为
字面显示,没有 XML 解析。 支持的标签是(胆大),
(斜体), (打字机字体), (强调), (较大的字体),
(较小的字体)和(越线)。 支持的实体包括 <
(`<')、> (`>') 和 & (`&')。 请注意,整个“信息”条目必须位于
jigdo 文件。
此部分可能会出现多次,但除第一部分之外的所有内容都将被忽略。 这个
很有用,例如在创建`.jigdo' DVD 映像的文件,当您已经有
`.jigdo' 具有相同内容的 CD 文件:您可以简单地`[Include]'(见下文)
DVD jigdo 文件末尾的 CD 的 jigdo 文件,在其“[Image]”部分之后。
零件 部分
[部分]
xJNkjrq8NYMraeGavUpllw=标签A:part0
GoTResP2EC6Lb_2wTsqOoQ=标签A:第 1 部分
kyfebwu6clbYqqWUdFIyaw=LabelB:一些/路径/part2
-J9UAimo0Bqg9c0oOXI1mQ=http://some.where.com/part3
提供从 MD5 校验和到 URI 的映射的部分中的所有行都具有
相同的格式:在 `=' 的左侧是校验和(用类似 Base64 的编码
encoding) 给出,右边是一个字符串对应的部分
校验和; 完整的 URI 或形式为 ` 的字符串标签:路径名',这是
通过查找定义扩展为一个或多个 URI 标签 ,在
“[服务器]”部分。
如果在任何“[Parts]”部分中找不到特定的 MD5 校验和, 吉多是,
程序将查找`MD5Sum:',例如对于
`MD5Sum:xJNkjrq8NYMraeGavUpllw' 如果你删除了上面 `part0' 的那一行。
此部分中多次出现的校验和表示替代下载
零件的位置。
文件中可能有任意数量的“[Parts]”部分; 它们都被考虑在
查找 MD5 校验和。
夹具文件 总是把“[Parts]”部分放在文件的末尾,它甚至
重新排列指定的任何文件 - 合并 最后只有一个这样的部分。 这个
这样做是为了允许 吉多 显示来自“[Image]”部分的信息,而
该文件的其余部分仍在下载中。
处理器 部分
[服务器]
标签A=http://myserver.org/
标签A=ftp://mirror.myserver.org/
LabelB=LabelC:子目录/
标签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 被假定为
相对于包含 include 指令的 jigdo 文件的 URL。 包括可以
嵌套,但创建包含指令的循环是错误的。 这是 不能 可能
使用形式为 `标签:路径名'.
URL 不能用“”引用。 参数中的任何“]”字符都必须转义为
`%5D',以及任何空格作为 `%20'。
包含指令仅支持 吉多,它们被忽略 jigdo-lite.
包含指令终止任何前面的部分,但它不会开始新的部分。 在
换句话说,新部分必须始终在包含行之后开始, 吉多 才不是
允许正常条目出现在“[Include]”下方。
CACHE FILES
指定的任何文件 --缓存 选项用于存储有关 FILES
提交给 夹具文件. 查询缓存时,文件被认为是未更改的(并且
使用缓存数据)仅当文件名、文件大小和上次修改时间 (mtime) 匹配时
确切地。 对于文件名匹配,不使用整个文件名,而只使用部分
在任何 `//' 之后,这样对 `//' 之前的部分的任何更改都不会失效
缓存。
如果旧的缓存条目未被读取或写入,则会从缓存中删除它们
在指定的时间内 --缓存过期. 条目是 不能 立即删除
如果它们引用的文件不再存在,则从缓存中 - 这使得可以
缓存有关可移动媒体上文件的信息。
缓存到期只发生 after 夹具文件 已完成其主要工作 - 如果有任何旧条目
在到期之前访问它们,它们将被保留。 例如,如果程序是
使用 30 天的默认到期时间运行,但访问包含条目的缓存文件
2 个月前生成,然后该缓存中的条目 将 被考虑,并且只有那些
程序运行期间不需要的缓存条目将过期。
由于底层数据库库 (libdb3) 的特殊性,缓存文件从不
缩小,它们只会增长。 如果缓存文件中的大量条目已过期,并且
你想让它缩小,你可以直接删除它(当然然后一切都会有
要重新生成)或使用 libdb3 附带的实用程序来转储和恢复
数据库,使用类似`db3_转储 旧缓存.db | db3_load 新缓存.db'。 对于 Debian,
这些程序在`libdb3-util' 包中提供。
如果不同 --md5-块大小 指定,整个文件需要重新读取
更新其缓存条目。 如果不同 --最小长度 指定,只有第一个
需要重新读取文件的“md5-block-size”字节。
示例
准备中 你 CD 图像 用于 配电产品
您已经创建了一个 CD 映像 `镜像文件' 来自存储在目录中的一些文件
`/家/ftp' 在您的硬盘上,该硬盘也可在线获取,名称为 `ftp://mysite.org'。 作为
您不想通过两次有效地托管相同的数据来浪费空间(一次作为文件
FTP 服务器,一旦进入图像中),并且您厌倦了用户的下载中止
在 200MB 和他们重新启动下载数十次之后,您决定使用 jigdo。
您如何准备要下载的图像?
实际上,只需要一个命令:
夹具文件 制作模板 --image=图像.iso --jigdo=/home/ftp/image.jigdo
--template=/home/ftp/image.template /家/ftp// - 标签 我的网站=/home/ftp --uri
我的网站=ftp://mysite.org/
人们现在可以点 吉多 在`ftp://mysite.org/image.jigdo' 下载您的图像。 这
模板文件需要可以访问为`ftp://mysite.org/image.template'.
请注意,没有什么可以阻止您对不是
由您管理 - 在这种情况下,您只需要托管`.jigdo'和`。模板'
您自己的服务器/主页上的文件。
准备中 AN 随意的 大 文件 用于 配电产品
我们假设您有一个不是文件系统的大文件,例如`电影.mpeg'。 因为
空间问题,你想将数据分布在两台服务器上。
在这种情况下,图像的部分需要人工生成 分裂
命令。 例如,要创建每个 4MB 的块,请使用 `分裂 -b 4m 电影.mpeg 部分'.
复制生成的文件`第XX部分' 进入两个目录 `1'和`2'你创造的,
根据您希望文件在服务器之间分布的方式。 接下来,创建
带有`的jigdo和模板文件夹具文件 制作模板 --image=电影.mpeg 1 // 2 //'。 你
将需要编辑`.jigdo' 文件并为两个服务器提供正确的 URI
你要上传`第XX部分' 文件到。
CUSTOMIZED 版本 OF 图片
因为可以在必要时为图像的每个部分分配不同的 URI,
jigdo 非常灵活。 只有一个例子是定制版本的可能性
图像:假设有人正在分发 CD 图像,并且您想制作一些
对其进行小的更改并重新分发您自己的版本。 你下载`官方.iso' 光盘
与图像 吉多 (将 URL 传递给它官方.jigdo'),将其写入 CD-R,使您的
更改(例如,从`我的文件' 硬盘上的目录)并生成您的
自己的版本,`我的版本.iso'。 接下来,你指示 夹具文件 创建 jigdo 和
修改后的图像的模板文件,使用命令
夹具文件 制作模板 --image=我的版本.iso /mnt/光驱/ 我的文件// - 标签
我的=我的文件/ --uri 我的=http://my.homepage.net/ --merge=official.jigdo
而`官方.iso' 安装在 `/mnt/光盘'。 通过使用 - 合并,你已经告诉 吉道-
文件 取`的内容官方.jigdo',为它添加一个新的`[Image]'部分
`我的版本.iso' 并将生成的 jigdo 文件写入 `我的版本.jigdo' - 所以现在
`我的版本.jigdo' 提供两张图片供下载,原始版本和修改后的
版本。 (如果您不想它提供正式版本,请对其进行编辑并删除
`[Image]' 部分列出了 `官方.iso'.)
现在您可以上传`.jigdo' 文件,`。模板' 文件以及 ` 中的文件我的文件'
到`http://my.homepage.net/'。 因此,为了让人们下载您修改后的图像,您需要
不能 需要将完整的图像内容上传到您的网络空间,但只有您更改的
制成!
(如果你只做了很少的改动,你也可以省略 `myfiles' 参数
上面的命令,那么您的所有更改最终都会在新的模板文件中。)
结合 许多 Jigdo 管理 图片 探索INQUIRY 一
结合使用 jigdo 的多个来源的数据也没有问题。 例如,如果
五个不同且不相关的服务器,每个服务器通过以下方式分发不同的 CD 映像
jigdo,您可以创建包含所有这些 CD 数据的自定义 DVD 映像。
当人们使用 吉多 要下载您的图像,将获取 DVD 上的各个文件
来自与原始 CD 相同的来源。
因此,即使您将通过您的网络空间分发 3.2GB 的文件,
存储在您服务器上的实际数据量只有几个
MB。
使用 onworks.net 服务在线使用 jigdo-file