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