软件包的白名单或黑名单#

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

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

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

要自定义您的发行版,您有以下选项

  • remote_url:存储库从该源 URL 镜像软件包。

  • mirror_dir:存储库将软件包存储在脚本执行的机器上的此目录中。

  • platforms:存储库镜像适用于这些平台的软件包。

  • license_blacklist:存储库忽略具有这些许可证的软件包。

  • blacklist:存储库忽略这些软件包。

  • whitelist:存储库始终镜像这些软件包。

提示:您无需手动设置每个选项。如果您只想调整一个或两个选项,这是允许的。未触及的选项仍由默认设置定义。

示例:以下示例仅选择适用于 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. 如果存在 platforms 选项,则列表中仅保留此处列出的平台可用的软件包。

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

  4. 如果存在 blacklist,则从列表中删除此处明确提及的所有成员软件包。

  5. 如果存在 whitelist,则将分配的成员软件包添加到列表中。whitelist 选项会覆盖 license_blacklist 和 blacklist,因此即使软件包在 GPL 许可证下或出现在 blacklist 选项中,也会镜像此处列出的软件包。

在按顺序执行上述所有操作后,脚本会生成要镜像的软件包的最终列表。