如何使pbuilder使用apt-cacher-ng实例?


8

我的局域网上有一个apt-cacher-ng服务器,我想知道如何“强制” pbuilder使用它(以加快软件包的构建速度)。

缓存的典型设置客户端如下所示:

/etc/apt/apt.conf

Acquire::http { Proxy "http://servername:3142"; };


pbuilder有一个--mirror选项,我想设置要使用的镜像。尝试将其设置为apt-cache-ng服务器地址。
塞勒姆2012年

@Salem我不认为那样做,因为apt-cacher-ng只是一个代理而不是一个镜像。
jrg 2012年

@jrg apt-cacher-ng可以作为镜像运行。只需将其http://servername:3142/ubuntu用作您的镜像网址即可。
T0xicCode

Answers:


3

像这样:

$ sudo pbuilder --login --save-after-login
# echo 'Acquire::http { Proxy "http://servername:3142"; };' > /etc/apt/apt.conf.d/02proxy
# exit
$

或者,您可以使用以下--execute选项:

$ sudo pbuilder --execute --save-after-exec -- /tmp/setup-apt-proxy.sh

...其中/tmp/setup-apt-proxy.sh包含要创建的命令/etc/apt/apt.conf.d/02proxy


servername在构建环境中找到吗?因为代理服务器肯定是本地的,所以不应该使用IP地址吗?
Alexis Wilke

3

如果设置export http_proxy=http://your-proxy:8080/~/.pbuilderrc它将使用该代理进行软件包下载。

我只是在安装程序上尝试过,然后就可以了。从互联网流量来看,我可以说最好的是,我在运行时无需下载任何内容pbuilder create

令人高兴的是,这种方法在创建tarball时也适用,而不仅仅是在创建后再对其进行修改之后。


0

我使用了--mirror参数,例如:

sudo pbuilder create --debootstrapopts --variant=buildd --configfile ~/.pbuilderrc --mirror http://localhost:3142/us.archive.ubuntu.com/ubuntu/ main restricted universe multiverse

验证代理上的缓存命中:

$ tail -f  /var/log/apt-cacher/access.log 
Thu Dec 19 19:16:33 2013|26140|::ffff:127.0.0.1|HIT|1272844|us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages.bz2
Thu Dec 19 19:18:45 2013|26647|::ffff:127.0.0.1|HIT|49563|us.archive.ubuntu.com_ubuntu_dists_precise_Release
Thu Dec 19 19:18:45 2013|26663|::ffff:127.0.0.1|HIT|198|us.archive.ubuntu.com_ubuntu_dists_precise_Release.gpg
Thu Dec 19 19:18:46 2013|26707|::ffff:127.0.0.1|HIT|1272844|us.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages.bz2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.