首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能很容易地制作一个缓存下载Debian包的主机“镜像”吗?

问我能很容易地制作一个缓存下载Debian包的主机“镜像”吗?
EN

Unix & Linux用户
提问于 2017-08-02 17:52:51
回答 2查看 1.5K关注 0票数 6

我们已经设置了Squid缓存,用于缓存包下载,这样这里的所有机器都不必独立地重新下载所有内容。安装程序提示输入镜像和代理。只要每台机器都使用完全相同的镜像(这里是http.us.debian.org)和代理,那么它就能工作。

这有点烦人,因为它涉及到“手动输入信息”并每次输入信息(正如安装程序所做的那样,Squid没有意识到ftp.us.debian.org是相同的)。

安装程序默认为mirror,是否有办法使其工作?这样我就可以懒洋洋的撞进一堆了?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2017-08-02 19:01:32

为了使用本地deb缓存来服务器我的Debian服务器场,我实际上更喜欢使用apt-cacher-ng (为软件存储库缓存代理服务器)。

它是一个特别了解APT/deb的代理,非常可定制,并且可以缓存您的deb文件一段时间(可配置)。

您安装它时:

代码语言:javascript
复制
apt-get install apt-cacher-ng

默认情况下,它将存储库/借方缓存到/home/apt-cacher-ng中。在这个目录下,它为Debian/Ubuntu服务器中使用的每个存储库创建一个目录,然后使用发行版,非常类似于镜像结构。另外,从缓存中手动从缓存中获取deb也比从Squid服务器中获取deb要容易得多。

要在所有服务器中使用它,请在目录/etc/apt/apt.conf.d中添加一个包含以下内容的文件02proxy:

代码语言:javascript
复制
Acquire::http { Proxy "http://your_proxy_APT_server:3142"; };

添加该文件后,Debian包管理器将通过配置的http APT代理代理所有配置的存储库。

它也有一个有趣的静力学网页,用于咨询S的活动。

您还可能需要在防火墙中打开3142/TCP,以允许服务器与新的代理APT服务器进行对话。

这种设置的优点是,除了为一桶服务器下载一个deb副本之外,节省带宽和公共存储库的使用允许您更新不需要Internet访问的内部服务器(例如: DHCP服务器)。

正如正式安装指南附录B中所记录的那样,您可以让您的DHCP服务器分发一个预置文件,方法是在它的配置中添加如下内容:

代码语言:javascript
复制
if substring (option vendor-class-identifier, 0, 3) = "d-i" {
    filename "http://host/preseed.cfg";
}

然后使用这些预置选项,您可以自动配置镜像和代理:

代码语言:javascript
复制
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/

另见:如何在Ubuntu或Debian上设置Apt缓存服务器

票数 9
EN

Unix & Linux用户

发布于 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 )。然后添加一个新的虚拟主机:

代码语言:javascript
复制
<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镜像“镜像”下载的包应该通过缓存。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/383505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档