本文主要是介绍Ubuntu18.04的apt、ppa、vscode、proxychains代理使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上好多的教程有一些片面,下面的这个博客讲的很清楚
参考:https://www.cnblogs.com/babykick/archive/2011/03/25/1996004.html
一般使用代理时,设置了如下:
但是以火狐浏览器为例,如果里面设置不使用代理,采用直接连接,那么也不会代理成功。
这时,我们发现,Ubuntu18.04采用两层控制代理.1.<设置里面的那个代理>+2.<软件自身的代理>。
如果你的apt不好使,那么应该时apt没有设置代理
1.修改配置文件
sudo gedit /etc/apt/apt.conf
添加:(也就是你的代理服务器ip+端口)
Acquire::http::proxy "http://127.0.0.1:1080/";
Acquire::https::proxy "https://127.0.0.1:1080/";
Acquire::socks::proxy "socks://127.0.0.1:1080/";
2.环境变量的设置(vscode设置这个好使)
sudo gedit ~/.bashrc添加:
export http_proxy="http://127.0.0.1:1080"
export https_proxy="https://127.0.0.1:1080"
export socks_proxy="socks://127.0.0.1:1080"
保存:source ~/.bashrc
以上是永久设置apt的代理,可以使用sudo apt -o Acquire::http::proxy="http://192.168.206.197:8123/" install cuda临时使用。
而且用了代理添加ppa源也出现问题,用proxychains也不好使,可以使用以下命令安装Ubuntu系统快照timeshift
sudo -E add-apt-repository ppa:teejee2008/ppa
sudo apt-get update
sudo apt-get install timeshift
该-E
选项将保留上面定义的env变量,并将启用代理使用。
vscode的代理,如果不设置,由环境变量控制
apt代理细节说明
如果以上的操作没有起作用,还有一种可能:确保你的机器本身是联网的(即不通过代理设置就可以上网),这种情况,通过以上的操作正常sudo apt update是没问题的。但是如果是你这台直接上不了网,是通过代理才可以上网,这时就算通过设置上面的apt代理,sudo apt update也是会出错的,因为apt的代理与浏览器等的代理是不一样的,这时使用proxychains,(这时下载,可以通过临时wifi上网)
sudo apt install proxychains
sudo gedit /etc/proxychains.conf
修改文档最后的代理
这时可以使用sudo proxychains apt update,这时apt不直接上网,而是通过proxychains的代理上网(这样也就完成的代理加速下载的功能,这时是不用设置sudo gedit /etc/apt/apt.conf,如果设置反而会慢很多)
补充:
如果是局域网内的ipv6互联,假如局域网中某一机器通过局域网中的另一个机器代理上网,这时sudo apt update,会出现无法解析域名,但是网上通常的,加入dns服务器地址,比如:
sudo gedit /etc/resolv.conf
nameserver 8.8.8.8
这个可能不好使,这时需注意是否未设置ipv6的网关和DNS(在有线网络设置),没有网关,直接出不去网,没有DNS解析不了,这时,其实是该机器通过ipv6直接与外界连接,而不是走了代理
参考:https://askubuntu.com/questions/971877/cannot-add-ppa-user-or-team-does-not-exist
这篇关于Ubuntu18.04的apt、ppa、vscode、proxychains代理使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!