我们已经设置了Squid缓存,用于缓存包下载,这样这里的所有机器都不必独立地重新下载所有内容。安装程序提示输入镜像和代理。只要每台机器都使用完全相同的镜像(这里是http.us.debian.org)和代理,那么它就能工作。
这有点烦人,因为它涉及到“手动输入信息”并每次输入信息(正如安装程序所做的那样,Squid没有意识到ftp.us.debian.org是相同的)。
安装程序默认为mirror,是否有办法使其工作?这样我就可以懒洋洋的撞进一堆了?
发布于 2017-08-02 19:01:32
为了使用本地deb缓存来服务器我的Debian服务器场,我实际上更喜欢使用apt-cacher-ng (为软件存储库缓存代理服务器)。
它是一个特别了解APT/deb的代理,非常可定制,并且可以缓存您的deb文件一段时间(可配置)。
您安装它时:
apt-get install apt-cacher-ng默认情况下,它将存储库/借方缓存到/home/apt-cacher-ng中。在这个目录下,它为Debian/Ubuntu服务器中使用的每个存储库创建一个目录,然后使用发行版,非常类似于镜像结构。另外,从缓存中手动从缓存中获取deb也比从Squid服务器中获取deb要容易得多。
要在所有服务器中使用它,请在目录/etc/apt/apt.conf.d中添加一个包含以下内容的文件02proxy:
Acquire::http { Proxy "http://your_proxy_APT_server:3142"; };添加该文件后,Debian包管理器将通过配置的http APT代理代理所有配置的存储库。
它也有一个有趣的静力学网页,用于咨询S的活动。
您还可能需要在防火墙中打开3142/TCP,以允许服务器与新的代理APT服务器进行对话。
这种设置的优点是,除了为一桶服务器下载一个deb副本之外,节省带宽和公共存储库的使用允许您更新不需要Internet访问的内部服务器(例如: DHCP服务器)。
正如正式安装指南附录B中所记录的那样,您可以让您的DHCP服务器分发一个预置文件,方法是在它的配置中添加如下内容:
if substring (option vendor-class-identifier, 0, 3) = "d-i" {
filename "http://host/preseed.cfg";
}然后使用这些预置选项,您可以自动配置镜像和代理:
d-i mirror/protocol string http
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string http://your_proxy_APT_server:3128/发布于 2017-08-02 17:52:51
编辑:我为Rui F Ribeiro回答编辑的预置方法与Squid或任何其他代理一起工作,而且(只要您使用DHCP)可能是一个更好的方法。
首先,mirror将使用系统域名完成,因此为mirror.yourdomain.com添加一个DNS条目。指向运行Apache的服务器;在本例中,同一服务器还运行Squid。
确保Apache同时启用了mod_proxy和mod_proxy_http (例如,Debian上的a2enmod proxy; a2enmod proxy_http )。然后添加一个新的虚拟主机:
<VirtualHost *:80>
ServerName mirror.yourdomain.com
ServerAlias mirror
ProxyPass /debian http://http.us.debian.org/debian
ProxyRemote http http://localhost:3128/
ProxyVia off
</VirtualHost>重新启动Apache之后,从Debian镜像“镜像”下载的包应该通过缓存。
https://unix.stackexchange.com/questions/383505
复制相似问题