通过身份validation的代理进行debootstrap

我是通过“从其他linux”方法在我的电脑上安装debian,并遇到debootsrapt无法通过我们的代理的问题。 据我了解debootstrap没有configuration文件既不需要在命令行参数(有关代理),所以我设置以下两个环境variables:

ftp_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128 http_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128 

我仍然得到:

 # /usr/sbin/debootstrap --arch i386 wheezy /mnt/debinst http://ftp.cz.debian.org/debian I: Retrieving Release E: Failed getting release file http://ftp.cz.debian.org/debian/dists/wheezy/Release 

发布文件可以通过浏览器获得,所以它存在等等…

我想知道这是否可以完成

谢谢

那么,我自己来回答我的问题。

用strace我发现debootstrap调用wget从存储库中获取文件。 显然环境变量被忽略,但我编辑/ etc / wgetrc并把那里所有代理相关的设置。

所以它的工作。

顺便说一句:debootstrap本身只是一个脚本,所以也许其他解决方法是可能的。

设置后需要导出环境变量。

 # ftp_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128 # http_proxy=http://myname:mypasswd@proxy.bla.bla.com:4128 # export ftp_proxy http_proxy # /usr/sbin/debootstrap --arch i386 wheezy /mnt/debinst http://ftp.cz.debian.org/debian 

另外,如果你尝试从用户shell中设置它们,然后使用sudo来运行debootstrap,那么这些变量可能不会通过,因此最好在进入root shell后设置它们。

尝试改变APT代理的东西:

 $ cat /etc/apt/apt.conf.d/30proxy Acquire::http::proxy "http://proxy:4128"; Acquire::https::proxy "https://proxy:4128";