Gre*_*reg 5 apt networking proxy
我的公司使用 HTTP 代理,因此需要正确配置我们的各种 Ubuntu 12.04 服务器,即设置\etc\apt\apt.conf.d\80proxy为:
Acquire::http::Proxy "http://proxy.mycompany.com:80";
Acquire::http::No-Cache true;
Run Code Online (Sandbox Code Playgroud)
现在,几天后,这种方法突然停止工作:我遇到了总和不匹配错误。我已经尝试了在 stackoverflow 或网络上找到的所有常用技巧,其中包括:
sudo rm -fR /var/lib/apt/lists/*
Run Code Online (Sandbox Code Playgroud)
sudo apt-get clean
Run Code Online (Sandbox Code Playgroud)
但似乎没有任何效果。我什至切换到 FTP 服务器,但没有任何运气。这个问题的根本解决方案是什么?代理服务器可能有某种问题吗?会是什么呢?
使用 Ubuntu 12.04
Pra*_*een 16
我发现以下内容对我有用,就仅从终端使用 apt 而言:
/etc/apt/apt.conf,以便 apt 依赖于$*_proxy环境变量。确保您的环境变量设置正确:例如,您可以在 .bashrc 中添加:
http_proxy="http://username:password@proxyserver:port"
# And so on for other proxy settings like https_proxy and ftp_proxy
Run Code Online (Sandbox Code Playgroud)
如果您的用户名或密码包含任何特殊字符,则可能需要对它们进行URL 编码。
让 sudo 使用你的环境变量而不是它自己的。这是通过编辑/etc/sudoers文件来完成的。这样做时要小心!仅使用sudo visudo命令编辑文件;任何错误都可能使您无法重新进入 sudo 模式!添加以下内容:
Defaults env_keep+="http_proxy https_proxy ftp_proxy socks_proxy"
Run Code Online (Sandbox Code Playgroud)
这确保 sudo 在执行sudo apt-get install ...等时保留这些变量。
我从Ubuntu 的 apt-get howto 中发现了这一点。
请让我知道它是否有效:)
要通过代理使用 apt-get,我执行以下操作 - 您确实需要能够访问互联网(例如,通过 Firefox 等浏览器):
sudo apt-get --print-uris install PROGRAM
Run Code Online (Sandbox Code Playgroud)
这将打印执行安装所需的包的 url(以及其他信息,如 md5sums),以便您可以下载它们。例如,使用supertux:
wilf@comp:~$ sudo apt-get install --print-uris supertux
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
supertux-data
The following NEW packages will be installed
supertux supertux-data
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 59.4 MB of archives.
After this operation, 80.0 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
'http://gb.archive.ubuntu.com/ubuntu/pool/universe/s/supertux/supertux-data_0.3.3-6_all.deb' supertux-data_0.3.3-6_all.deb 58590640 MD5Sum:68bd36f2c262f7caed1b5c947977202a
'http://gb.archive.ubuntu.com/ubuntu/pool/universe/s/supertux/supertux_0.3.3-6_i386.deb' supertux_0.3.3-6_i386.deb 804782 MD5Sum:a49c6c3c918bae2c968b3da6ac725b06
Run Code Online (Sandbox Code Playgroud)
然后.deb从给定的链接(最好是一个空文件夹),通过一个通过代理等工作的浏览器下载文件,然后你可以使用软件中心安装它们;或cd /FOLDER/WITH/DOWNLOADED-DEB-FILES在终端中使用这些命令之一
dpkg -i *.deb
gdebi *.deb
Run Code Online (Sandbox Code Playgroud)
这有点慢且烦人,但似乎可以通过 HTTP 代理工作。您还可以从http://packages.ubuntu.com/获取软件包
| 归档时间: |
|
| 查看次数: |
25059 次 |
| 最近记录: |