使用 cas-mirror#

cas-mirror 工具是 Anaconda Enterprise 4 Repository 企业产品的一个组件。

cas-mirror 工具可以在您的本地仓库服务器上精确复制 Anaconda 的软件包仓库或其一部分。

有关cas-mirror工具的功能和可配置选项的更多信息,请参阅 配置本地镜像

安装 cas-mirror#

要安装镜像工具,请运行:

conda install cas-mirror

安装 cas-mirror 后,可以使用以下命令:

cas-sync --help
cas-merge --help
cas-sync-api-v4 --help
cas-server --help

使用 cas-sync 命令#

cas-sync 命令使本地镜像仓库与我们的远程服务器保持同步。

要配置镜像在文件系统中的位置,请检查以下输出:

cas-sync --config

如有必要,创建一个配置文件,可以是 ~/.cas-mirror 或系统范围的 /etc/cas-mirror,其中包含 文件系统上本地镜像的期望位置,应该镜像的平台以及 不应镜像的软件包的可选黑名单。

示例:

mirror_dir: /home/data/mirror
remote_url: ""  # where to get miniconda and anaconda installers -- blank to skip
# possible platforms are: linux-64, linux-32, osx-64, win-32, win-64 platforms:
  - linux-64
  - win-32
blacklist:
  - dnspython
  - shapely
  - gdal

一旦你对镜像目录感到满意——可能是默认的——运行:

cas-sync

第一次运行此命令需要很多小时,因为整个仓库正在被下载。后续运行所需时间显著减少。

使用cas-server命令#

当您打算在端口80上提供服务时,您需要以root身份运行cas-server

要通过HTTP提供存储库服务,请运行:

cas-server

如果需要,使用 --port 选项来更改仓库服务的端口。

使用“delta”选项#

如果您已经下载了大部分Anaconda仓库,并且只对自上次运行cas-sync以来的更改感兴趣,您可以使用delta配置选项:

mirror_dir: /home/data/mirror
remote_url: ""  # where to get miniconda and anaconda installers -- blank to skip
# possible platforms are: linux-64, linux-32, osx-64, win-32, win-64
platforms:
  - linux-64
  - win-32
blacklist:
  - dnspython
  - shapely
  - gdal
delta: true
delta_dir: delta_pkgs

而不是镜像到现有的本地仓库,它将记录必要的更改以在单独的目录中使镜像保持最新(在这种情况下为delta_pkgs)。然后,您可以使用此生成的目录通过cas-merge命令更新隔离的镜像。

cas-merge 命令接收一个增量目录,并将其内容与现有的镜像目录合并。新包会被添加,缺失的包会被删除,并且 repodata 会被更新。

如果不将镜像复制到本地目录,而是希望直接将更改应用到现有的Anaconda Enterprise 4 Repository实例中,可以使用cas-sync-api-v4。你需要使用dest_site配置选项:

mirror_dir: /home/data/mirror
remote_url: ""  # where to get miniconda and anaconda installers -- blank to skip
# possible platforms are: linux-64, linux-32, osx-64, win-32, win-64
platforms:
  - linux-64
  - win-32
blacklist:
  - dnspython
  - shapely
  - gdal
dest_site: some_site

确保站点已在anaconda配置中定义,并且在调用cas-sync-api-v4之前已正确登录。

有关cas-mirror工具功能和可配置选项的更详细信息,请访问Customizing mirrors