我有以下设置:
- Windows 7 计算机
- Ruby、Vagrant、VirtualBox 的安装
- VBox 映像 Ubuntu 14.x
- 我在公司内网工作,需要代理才能访问互联网
我可以通过将环境变量设置http_proxy
为我们的代理来配置 VBox 映像,以便用户 vagrant 访问互联网。但是,当我尝试在 shell 配置程序中设置代理时,遇到了问题。以下是定义代理的脚本部分以及首次访问互联网的部分:
# Base setup proxy and DISPLAY
set HTTP_PROXY=http://proxy.name.com:8080
echo "Add proxy to necessary parts"
echo 'export http_proxy=http://proxy.name.com:8080' >> ~vagrant/.bash_profile
echo 'export DISPLAY=192.168.137.1:0.0' >> ~vagrant/.bash_profile
echo 'export http_proxy=http://proxy.name.com:8080' >> /root/.bash_profile
export http_proxy=$HTTP_PROXY
# Install Git
echo "Install Git"
apt-get update
apt-get install -y git
...
但是,我得到以下输出:
Add proxy to necessary parts
Install Git
Err http://security.ubuntu.com trusty-security InRelease
Err http://archive.ubuntu.com trusty InRelease
Err http://archive.ubuntu.com trusty-updates InRelease
Err http://security.ubuntu.com trusty-security Release.gpg
Could not resolve 'security.ubuntu.com'
Err http://archive.ubuntu.com trusty Release.gpg
Could not resolve 'archive.ubuntu.com'
Err http://archive.ubuntu.com trusty-updates Release.gpg
Could not resolve 'archive.ubuntu.com'
Reading package lists...
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/InRelease
...
如何在 Unix 脚本中设置代理并立即使用它,以便可以使用apt-get
,, ...?git clone
答案1
有一个插件!
vagrant plugin install vagrant-proxyconf
配置它(在$HOME/.vagrant.d/Vagrantfile对于所有 Vagrant VM):
Vagrant.configure("2") do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://10.206.246.20:8080"
config.proxy.https = "http://10.206.246.20:8080"
config.proxy.no_proxy = "localhost,127.0.0.1"
end
end
答案2
我尝试了这个并且有效,删除了set
:
HTTP_PROXY=http://10.206.246.20:8080
export http_proxy=$HTTP_PROXY