我无法找到适合我需求的现有线程,所以就到这里。
我们使用 Raspberry Pi (RPI) 作为瘦客户端,并使用 RPITC 作为操作系统(它是 Debian 的精简、修改版本)http://rpitc.blogspot.com)。
我们希望能够更新这些 RPI,但由于安全原因,它们位于无法访问互联网的网络上。
我最初计划做的是在这些 RPI 之一上使用 apt-cacher 作为主机,然后我可以将其从封闭网络移动到开放网络,然后获取更新,然后将其缓存。之后,我可以将其移回封闭网络,然后其他 RPI 可以通过第一个 RPI 上的缓存进行更新。
它有一个离线切换功能,这似乎是我需要的选项,因为它说它不会使用新的出站连接。
我已经让主机缓存更新,但是当我尝试通过主机更新其中一个客户端时,它似乎只是尝试将其用作代理,IE 通过主机连接到 apt-get 服务器。
我发现的所有指南更多的是在线缓存,因此多台机器可以通过本地网络进行更新,从而节省带宽。
我尝试过 apt-cacher 和 apt-cacher-ng,其中我使用 apt-cacher 取得了最大的成功,但仍然不是我想要的。
有人能给我指出正确的方向,即使用哪种工具来拥有可以移动到在线网络的主机 - >获取更新 - >移动到离线网络 - >通过主机的缓存更新更新客户端吗?
答案1
晚了 2 年,但发现了不直接的(并且在文档中明确不推荐)答案:
apt get whatever
在您的缓存计算机上 - 本例中为 beregost.lansudo /usr/share/apt-cacher/apt-cacher-import.pl -l /var/cache/apt/archives
构建包的符号链接/var/cache/apt-cacher/
perl -pi -e 's|http://archive.raspberrypi.org/debian/|http://beregost.lan:3142/archive.raspberrypi.org/debian/|' /etc/apt/sources.list.d/raspi.list perl -pi -e 's|http://raspbian.raspberrypi.org/raspbian/|http://beregost.lan:3142/raspbian.raspberrypi.org/raspbian/|' /etc/apt/sources.list.d/raspi.list
在内部网络中的每个 raspbi 主机上使用 beregost.lan 作为镜子- 在 beregost.lan 上,编辑
/etc/apt-cacher/apt-cacher.conf
并设置offline_mode = 1
然后重新启动 - 更改 beregost.lan 上的权限
/var/cache/apt/archives/
以允许 www-data 读写 - 这可能是底层的错误,但如果它是只读的,服务器将响应Failed to open/create /var/cache/apt-cacher/packages/screen_4.6.2-3_armhf.deb for return: Permission denied
或等效
beregost.lan 现在将由其他主机直接查询,并且将以其拥有的版本进行响应,或者返回错误。
这是你做的?