将软件包列入白名单或黑名单

有时您不想将 Repository 中的所有包复制到您的镜像中。该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. 如果存在白名单,则将那些分配的成员包添加到列表中。whitelist 选项覆盖 license_blacklist 和 blacklist,因此即使在 GPL 许可下或出现在 blacklist 选项中时,此处列出的包也会被镜像。

按顺序执行上述所有操作后,该脚本将生成镜像包的最终列表。