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