白名单或黑名单包#
有时您不希望将所有包从仓库复制到您的镜像中。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 用于创建最终镜像包列表的逐步算法遵循以下顺序:
从
default_url
获取完整的包列表。如果存在平台选项,则只有那些在此列出的平台上可用的包会保留在列表中。
如果存在license_blacklist,那么所有受此处提到的任何许可证约束的包都将从列表中移除。请参阅可以列入黑名单的许可证系列列表。
如果存在黑名单,那么这里明确提到的所有成员包将从列表中移除。
如果存在白名单,则那些分配的成员包将被添加到列表中。白名单选项会覆盖license_blacklist和blacklist,因此即使某个包在GPL许可证下或出现在黑名单选项中,只要它列在这里,也会被镜像。
在执行完上述所有操作后,脚本会生成最终的镜像包列表。