问题如下:有许多节点使用 apt-cacher-ng。所有 apt URL 的形式为:
deb http://192.168.1.2:3142/archive.ubuntu.com/ubuntu/ jammy-updates main restricted
deb [arch=amd64] http://192.168.1.2:3142/HTTPS///packages.microsoft.com/ubuntu/22.04/prod jammy main
deb http://192.168.1.2:3142/HTTPS///developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /
现在,按以下形式设置 APT 首选项没有任何效果。例如目录中文件中的以下内容/etc/apt/preferences.d
Package: dotnet* aspnet* netstandard*
Pin: origin *microsoft.com
Pin-Priority: 500
Package: dotnet* aspnet* netstandard*
Pin: origin *ubuntu.com
Pin-Priority: 1
使用 apt-cacher-ng 时应如何配置 APT 首选项?Pin: origin
似乎不起作用,所以必须有其他一些技巧来实现这一点。我通过合理的搜索找不到它。
有必要使用首选项,因为例如 Ubuntu 和 Microsoft 的 dotnet 软件包以及 NVidia 和 Ubuntu 的 nvidia CUDA 软件包在顶层具有相似的名称,但依赖项名称不同,导致 SDK 混合时无法使用。使用缓存器的原因很明显,只需减少 N 倍的网络流量即可获取更新。