您好我正在使用ubuntu服务器。 我已使用以下方式设置代理:
echo "export http_proxy='http://username:password@proxyIP:port/'" | tee -a ~/.bashrc
我已经设置了http,https和ftp代理。 Wget
工作正常但apt-get
无法连接。
请帮忙!
答案 0 :(得分:1)
我不知道apt-get
但我从来没有 yum 来处理环境变量。相反,我必须通过其config设置代理。
以下是 apt-get conf的相关帖子:
https://askubuntu.com/questions/89437/how-to-install-packages-with-apt-get-on-a-system-connected-via-proxy
另外......默认情况下,普通文本密码位于一个公共可读的文件中真棒! (或者环境变量和bash历史记录)
答案 1 :(得分:0)
您需要更新.bashrc和apt.conf才能使其正常工作。
以下链接将详细解释这一点。 http://codewithgeeks.blogspot.in/2013/11/configure-apt-get-to-work-from-behind.html
答案 2 :(得分:0)
apt-get
设置为忽略系统默认代理设置。
要设置代理,您必须转至/etc/apt/apt.conf文件并添加以下行:
Acquire::http::proxy "http://username:password@proxyIP:port/";
Acquire::ftp::proxy "ftp://username:password@proxyIP:port/";
Acquire::https::proxy "https://username:password@proxyIP:port/";
您也可以创建一个脚本来设置它,并在需要时取消设置。
创建脚本aptProxyOn.sh
if [ $(id -u) -ne 0 ]; then
echo "This script must be run as root";
exit 1;
fi
if [ $# -eq 2 ]
then
printf \
"Acquire::http::proxy \"http://$1:$2/\";\n\
Acquire::ftp::proxy \"ftp://$1:$2/\";\n\
Acquire::https::proxy \"https://$1:$2/\";\n" > /etc/apt/apt.conf.d/01proxies;
sudo cp /etc/apt/apt.conf.d/01proxies /etc/apt/apt.conf
else
printf "Usage $0 <proxy_ip> <proxy_port>\n";
fi
要删除代理,请创建名为aptProxyOff.sh
的脚本if [ $(id -u) -ne 0 ]; then
echo "This script must be run as root";
exit 1;
fi
printf "" > /etc/apt/apt.conf.d/01proxies;
sudo cp /etc/apt/apt.conf.d/01proxies /etc/apt/apt.conf
授予两个文件运行权限。 chmod +x aptProxyOn.sh aptProxyOff.sh
您必须按以下方式运行它们。
代理开启 -
sudo ./aptProxyOn.sh username:password@proxyIP port
代理关闭 -
sudo ./aptProxyOff.sh
提示强>:
如果您的用户名或密码中包含 @ ,则无法直接使用。
您必须使用 @ 的URL编码,即%40 。但是,在传递命令行参数时,您无法使用%40 ,您必须使用 %% 40
答案 3 :(得分:0)
这最适合我:
切换到 / etc / apt目录
编辑以下文件,如果该文件不存在,则此命令将创建一个文件
gedit /apt.conf.d/apt.conf
并添加以下行
获取:: http ::代理“ http://[proxy-server]:[port]”;
获取:: https ::代理“ https://[proxy-server]:[port]”;