我在 Ubuntu 主机上设置了 Apt-Cacher NG。我使用它来缓存另一个 Ubuntu 安装并为进一步的安装设置一个 repo。我尝试通过下面的预置文件安装 Ubuntu,指向 cacher 代理。我找不到缓存的 .deb 文件。它们被缓存了吗?
预置文件:
d-i debian-installer/locale string en_US
d-i time/zone string UTC
d-i keyboard-configuration/xkb-keymap select us
d-i netcfg/choose_interface select auto
d-i mirror/country string enter information manually
d-i mirror/http/hostname string 10.0.2.2:3142
d-i mirror/http/directory string /archive.ubuntu.com/ubuntu
d-i partman-auto/method string regular
d-i partman-auto/expert_recipe string \
scheme :: \
200 0 200 ext4 \
$primary{ } \
$bootable{ } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ /boot } . \
200% 0 200% linux-swap \
$primary{ } \
method{ swap } \
format{ } . \
1 0 -1 ext4 \
$primary{ } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } .
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i base-installer/excludes string laptop-detect
d-i base-installer/kernel/override-image string linux-server
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i time/zone string US/Pacific
d-i clock-setup/ntp boolean true
d-i mirror/country string US
d-i mirror/http/proxy string
d-i pkgsel/install-language-support boolean false
tasksel tasksel/first multiselect standard, ubuntu-desktop
d-i pkgsel/include string curl sudo ubuntu-desktop
d-i pkgsel/language-packs multiselect
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/reboot_in_progress note
答案1
我认为您还需要设置mirror/http/proxy
您的 apt-cacher-ng 主机,否则它可能使用特定国家/地区的 archive.ubuntu.org 镜像版本,而该版本可能与您指定的镜像 URL 不匹配。mirror/http/proxy 的缺点是它会影响预置期间的所有 http 下载(wget/curl/等)。
实际上,在进一步阅读之后,您应该按字面意思离开该国country string manual
。在这种情况下,手动并不意味着“替换我”,它意味着不要自动选择镜像(默认行为),这实际上就是为什么您在 apt-cacher-ng 主机上看不到任何流量的原因,系统只是绕过它并转到本地区域镜像。