![debian mini.iso 与本地存储库的合作中断](https://linux22.com/image/221562/debian%20mini.iso%20%E4%B8%8E%E6%9C%AC%E5%9C%B0%E5%AD%98%E5%82%A8%E5%BA%93%E7%9A%84%E5%90%88%E4%BD%9C%E4%B8%AD%E6%96%AD.png)
我为特定任务维护我们的隔离网络。为了轻松安装 debian 系统、选择和添加附加软件包,我们有一个易于配置的 lighttpd-web 服务器,带有完整的 debian 存储库镜像。我每年使用apt-mirror
单架构 amd64、testing/stable/oldstable 和相应的 netinstall mini.iso 将镜像下载到 USB 外部硬盘上。然后,我将所有下载的文件复制到我们的 Web 服务器,并重新配置 BootP 服务器的文件,以使用新的 mini.iso 映像。另外,我还使用 USB 闪存盘为办公室外使用的 Linux 笔记本准备了稳定版本的移动存储库 ( deb file:///path/debian stable main contrib
)。
一切工作正常,但今年我无法使用新的本地存储库进行 debian 安装网络安装 mini.iso
,并且移动存储库也无法使用。之前安装的Linux可以通过http协议使用新的本地镜像。
我无法确定主要原因,因为 netinst mini.iso 只是说“你的镜像不起作用”,但没有日志,没有详细信息。与移动存储库的通信表明 GPG 可能存在一些问题。但错误/警告消息还表明 apt-get update 无法下载 Release 和 InRelease 文件,即使这些文件确实存在于公布的路径中。
好吧,我可以接受互联网上更好的安全性的趋势,但我希望获得有价值的(最好用示例说明)信息的支持,如何亲吻本地存储库以唤醒它,或者如何关闭安全屏障对于基本安全的环境,因为隔离的网络或文件连接的存储库肯定必须如此。
您是否知道如何以及修复什么内容才能从隔离的 debian 存储库重新获得 PXE 网络安装?
经过一些实验:
我们发现,一个错误来自多架构存储库:我下载了 amd64 和 i386。客户要求提供Contents-all
文件,但apt-mirror
没有镜像它。我们手动下载了这些文件,并消除了一些错误。但其他一些错误仍然存在。我们尝试创建新的GPG签名,但没有效果。
另一个可疑的错误源可能是mini.iso
.它可以包含一些配置,在其中我们可以删除 GPG 请求,或添加一些可信的gpg keys
.但即使如此小,也没有很好的记录。我们可以尝试向维护者寻求帮助。
答案1
好吧,这是我的错。我丢失了我的/etc/apt/mirror.list
配置文件和我的逐步程序从我上次的镜像更新开始。由于 debian 安装使用udeb
软件包(没有强制性 man 和其他功能的软件包),因此有必要添加该main/debian-installer
部分。可能/etc/apt/mirror.list
内容如下:
set base_path /media/<user>/transport_disk/mirror
...
set defaultarch amd64
...
deb http://nearest.mirror.cz/debian bookworm main main/debian-installer contrib non-free non-free-firmware
不要忘记下载相应的mini.iso
.
您可以下载 debian 的所有版本,但仅支持其中四个版本:测试、稳定、oldstable 和 oldoldstable。目前(2023-06-23)这些是:
trixie - testing
bookworm - stable
bullseye - oldstable
buster - oldoldstable
旧版本可以在各个存档站点找到:http://archive.debian.org/debian/ 或者 http://cdimage.debian.org/mirror/debian-archive/dists/
然后,必须将下载的文件复制到本地 Web 服务器的文件系统中,比如说/var/mirrors/2023-06/
目录中。仅复制目录就足够了 . . ./debian/*
。不要忘记,所有文件和目录都必须可由运行 Web 服务器的用户读取(在我的例子中:在用户lighttpd
下运行www-data
)。完成后,您必须能够在任何本地浏览器中打开镜像网络服务器:http://local.web.server/debian
以查看:
../
dists/
pool/
并在路径中:http://local.web.server/debian/dists/bookworm/main/
../
binary-amd64/
debian-installer/
dep11/
Contents-amd64.gz
您需要的其他环境:
BootP server
tftp server
DNS server (optional)
PXE bootloader
前三个可以很容易地实现,dnsmasq
您可以在以下位置找到:http://wiki.debian.org/PXEBootInstall
可能的引导加载程序是pxelinux
或grub
。前者很适合我,但该项目冻结并且无法与微EFI只有系统。
如果您尝试向本地镜像添加其他架构,则必须下载
/debian/<版本>/<部分>/Contents-all.gz
手动将文件放入正确的路径中。我没有找到任何配置选项来告诉apt-mirror
在运行时下载它们。
安装本地 linux 盒子后,建议添加/etc/apt/sources.list
:
deb [trusted=yes] http://your.local.webserver/debian <version> main contrib non-free non-free-firmware
并添加在/etc/apt/apt.conf.d/10no-check
Acquire::Check-Valid-Until "false";
特别是在使用测试版本时,因为它变化很快。
我希望,它会对某人有所帮助。