在本文中,您将学习如何在 Ubuntu/Debian 发行版中为 APT 命令设置代理。
代理服务器是位于请求资源的客户机系统或最终用户与资源本身之间的中间服务器。在大多数情况下,代理服务器充当最终用户和互联网之间的网关。
对于组织和企业环境,代理服务器提供了许多好处。它通过屏蔽那些被认为会影响员工工作效率的网站来控制互联网的使用。它还通过数据加密增强了隐私性,提高了组织的安全性。
有几种方法可以设置 apt 命令的代理,我们将使用Ubuntu 22.04系统做演示。
使用代理文件
最简单方法是创建一个 proxy.conf 代理文件
$ sudo vi /etc/apt/apt.conf.d/proxy.conf
对于无用户名和密码的代理服务器,设置如下
(1)对于 HTTP Proxy, 添加如下条目
Acquire::http::Proxy "http://proxy-IP-address:proxyport/";
(2)对于 HTTPS Proxy,添加如下条目
Acquire::https::Proxy "http://proxy-IP-address:proxyport/";
示例如下
$ cat /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://192.168.56.102:3128/";
Acquire::https::Proxy "http://192.168.56.102:3128/";
如果您的代理服务器需要用户名和密码,请按如下方式添加
Acquire::http::Proxy "http://username:password@proxy-IP-address:proxyport";
Acquire::https::Proxy "http://username:password@proxy-IP-address:proxyport";
示例如下
$ cat /etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://init@PassW0rd321#@192.168.56.102:3128/";
Acquire::https::Proxy "http://init@PassW0rd321#@192.168.56.102:3128/";
完成后保存更改,代理设置将在下次运行 APT 包管理器时生效。
例如,您可以更新本地包索引,然后安装 net-tools 包
$ sudo apt update
$ sudo apt install net-tools -y
查看代理服务器日志,确认 apt 命令正在使用代理服务器下载包。
# tail -f /var/log/squid/access.log | grep -i 192.168.56.240
这里 192.168.56.240 是我们 Ubuntu 机器的 IP 地址
上面的输出表明,我们的 ubuntu 系统的 使用 apt 命令时正在通过代理服务器(192.168.56.102) 下载软件包。
指定代理的另一种方法
除了第一种方法,您还可以用一种简单得多的方式指定代理。同样,按如下所示创建 proxy.conf 文件。
$ sudo vi /etc/apt/apt.conf.d/proxy.conf
对于没有用户名和密码的代理服务器,定义如下所示
Acquire {
http::Proxy "http://proxy-IP-address:proxyport/";
https::Proxy "http://proxy-IP-address:proxyport/";
}
示例如下
$ sudo vi /etc/apt/apt.conf.d/proxy.conf
对于有用户名和密码的代理服务器,定义如下所示
Acquire {
http::Proxy "http://username:password@proxy-IP-address:proxyport/";
https::Proxy "http://username:password@proxy-IP-address:proxyport/";
}
保存更改,一旦您开始使用 APT 包管理器,这些设置就会立即生效。