Ubuntu常用代理设置方法

文章目录
  1. 环境变量设置
  2. APT系列
  3. Docker
  4. pip代理

使用Tinyproxy 在一台可以连接公网的机器上搭建了代理,这样可以让内网机器可以连接通过连接该代理,访问外网资源。 不过很多常用的应用或者命令的代理方式不一致。因此总结一下:

环境变量设置

可以直接在命令行: export http_proxy=http://ip:port. 或者在.bashrc里面加入这一行可以一直生效。 这个可能对于某些命令有效。对于sudo操作,需要在sudo之后加-E

APT系列

包含apt update/intall/upgrade等, 一般使用选项设置代理,如:

1
sudo apt -o Acquire::http::proxy="http://ip:port" update

或者使用-c 写到文件 apt_proxy.conf,内容:

1
Acquire::http::proxy="http://ip:port"

这样就可以这样使用代理:

1
sudo apt -c ~/apt_proxy.cong update

不过有一些命令可能还需要单独设置:

  • apt-key adv 添加key的时候, 这时候需要用专门的代理选项

    1
    sudo apt-key adv --keyserver-options http-proxy=http://ip:port/ --keyserver keyserver.ubuntu.com --recv-keys XXXXX

  • ADD-APT-REPOSITORY 添加源的时候,因为一般是sudo 权限所以即使设置了环境变量,也不能生效,这时候需要用-E选项

    1
    sudo -E add-apt-repository XXXX

    这个也属于一种通用的方式,sudo -E 表示使用当前用户的环境变量。

Docker

这个直接按照官网教程来即可: https://docs.docker.com/config/daemon/systemd/#httphttps-proxy

  • 创建一个服务目录:在/etc/systemd/system/ 下:

    1
    sudo mkdir docker.service.d

  • docker.service.d目录下新建一个 http-proxy.conf的文件, 写入如下的内容

    1
    2
    [Service]
    Environment="HTTP_PROXY=http://ip:port/"

  • 当然如果有内网的Docker仓库,也可以设置不走代理的名单,只需在后面加上即可,如:

    1
    2
    [Service]
    Environment="HTTP_PROXY=http://proxy.example.com:80/" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

  • 刷新系统配置: sudo systemctl daemon-relaod
  • 重启docker sudo systemctl restart docker
  • 查看验证docker的配置: systemctl show --property=Environment docker

pip代理

直接使用--proxy 选项:

1
sudo pip --proxy 127.0.0.1:8888 install XXXX