白名单或黑名单包#

有时您不希望将所有包从仓库复制到您的镜像中。anaconda-server-sync-conda工具包括白名单/黑名单功能,可以通过多种方式操作您的镜像包列表。

当您运行anaconda-server-sync-conda时,可以使用标志--mirror-config=FILEPATH指定一个镜像配置文件,并将FILEPATH替换为您的配置文件路径。

注意:配置文件是 yaml 文件。

要自定义您的分发,您有以下选项:

  • remote_url: 仓库从这个源URL镜像包。

  • mirror_dir: 仓库在运行脚本的机器上存储包的目录。

  • 平台:仓库镜像包适用于这些平台。

  • license_blacklist: 仓库省略了这些许可证的包。

  • 黑名单:仓库省略了这些包。

  • 白名单:仓库始终镜像这些包。

提示:您不需要手动设置每个选项。如果您只想调整一两个选项,这是允许的。未触及的选项将保持默认设置。

示例:以下示例仅选择适用于 linux-32 和 linux-64 平台的软件包。Win-32 或 win-64 软件包完全不进行镜像:

mirror_dir: /opt/anaconda-server/package-storage
platforms:
  - linux-32
  - linux-64
license_blacklist: GPL
whitelist:
  - distribute
  - conda
blacklist:
  - flask
  - readline

cas-mirror 用于创建最终镜像包列表的逐步算法遵循以下顺序:

  1. default_url获取完整的包列表。

  2. 如果存在平台选项,则只有那些在此列出的平台上可用的包会保留在列表中。

  3. 如果存在license_blacklist,那么所有受此处提到的任何许可证约束的包都将从列表中移除。请参阅可以列入黑名单的许可证系列列表

  4. 如果存在黑名单,那么这里明确提到的所有成员包将从列表中移除。

  5. 如果存在白名单,则那些分配的成员包将被添加到列表中。白名单选项会覆盖license_blacklist和blacklist,因此即使某个包在GPL许可证下或出现在黑名单选项中,只要它列在这里,也会被镜像。

在执行完上述所有操作后,脚本会生成最终的镜像包列表。