下一篇:,上一篇:,上一级:自动化 FTP 上传   [目录][索引]


12.6.7 FTP 上传独立指令

前面的章节描述了如何上传文件以公开发布。也可以单独上传指令文件,以便对上传目录执行一些操作。支持的指令有:

symlink

创建符号链接。

rmsymlink

删除符号链接。

archive

使文件或目录离线。

对于上述指令,仍然需要 directoryversion 指令,comment 指令仍然是可选的,并且不允许使用 filename 指令。

指令中不应显式提及 .sig 文件。当您指定一个指令来操作文件时,其对应的 .sig 文件将被自动处理。

单独上传时,指令文件的名称并不重要。但它仍然必须使用 'gpg --clearsign' 进行签名;应该上传的是生成的 .asc 文件。

以下是一个完整的指令文件示例,用于创建一个 foo-latest.tar.gz 符号链接:

version: 1.2
directory: foo
symlink: foo-1.1.tar.gz foo-latest.tar.gz
comment: create a symlink

如果在单独上传中包含多个指令,则指令将按照它们在文件中指定的顺序执行。如果某个指令导致错误,则上传的后续执行将被中止。

删除不存在的符号链接(使用 rmsymlink)会导致错误。另一方面,尝试创建已存在的符号链接(使用 symlink)不是错误。在这种情况下,symlink 的行为类似于命令 ln -s -f:在创建链接之前,将删除任何现有的符号链接。(但不会替换现有的常规文件或目录。)

以下是一个删除符号链接的示例,例如,如果您决定不再维护 foo-latest 链接:

version: 1.2
directory: foo
rmsymlink: foo-latest.tar.gz
comment: remove a symlink

以下是一个存档文件的示例,例如,意外上传:

version: 1.2
directory: foo
archive: foo-1.1x.tar.gz
comment: archive an old file; it will not be
comment: publicly available any more.

archive 指令会使指定的项目变得不可访问。只有当它们的存在对用户有负面影响时才应该使用此指令,例如,您错误地上传了某些内容。

如果只想减少发布目录中的内容数量,另一种方法是发送电子邮件给 [email protected],请求他们将旧项目移动到 https://ftp.gnu.org/old-gnu/ 目录;这样它们仍然可用。但是,一般来说,我们建议将所有官方版本保留在主发布目录中。


下一篇:,上一篇:,上一级:自动化 FTP 上传   [目录][索引]