使用代理服务器更新FreeBSD(csup/portsnap代理更新)

时间:2020-01-09 10:43:59  来源:igfitidea点击:

问题:如何使用需要基于用户名和密码的身份验证的代理服务器升级FreeBSD服务器和端口树?

解决方法:在FreeBSD下,您可以有多种选择。

使用http_proxy shell变量

Linux/UNIX具有称为http_proxy的环境变量。
它允许您通过代理服务器(与bash兼容的shell导出语法)连接基于文本的会话/应用程序:

export http_proxy='http://user:[email protected]:port/'
export http_proxy='http://Hyman:[email protected]:3128/'

现在,您可以轻松运行portsnap ports update实用程序或者csup命令:

# portsnap fetch update
# csup /path/to/supfile

prtunnel隧道

如果上述方法失败,请使用prtunnel设置隧道。
它是使用HTTP或者SOCKS5代理到远程服务器的TCP连接。
如果您在代理后面并且想要使用不具有本机代理支持的程序,这将很有用。

安装prtunnel隧道代理软件

首先,通过代理访问,执行:

# export http_proxy='http://user:[email protected]:3128/'

输入以下命令进行安装:

# cd /usr/ports/net/prtunnel
# make install clean

如何使用prtunnel?

执行命令,如下所示:

# prtunnel --password-prompt -t http -H 10.10.1.53 -P 3128 -D 5999 cvsup1.FreeBSD.org 5999

它将提示输入代理用户名和密码。
如果您不希望,请按以下提示操作:

# prtunnel -u 'username' -p 'myPassword' -t http -H 10.10.1.53 -P 3128 -D 5999 cvsup1.FreeBSD.org 5999

连接后,打开supfile:

# vi /path/to/supfile

并将默认主机设置为* default host = 127.0.0.1:

*default host=localhost

或者

*default host=127.0.0.1

保存并关闭文件。
像这样启动prtunnel之后,您可以将supfile指向127.0.0.1,然后prtunnel将尝试通过名为10.10.1.53的系统上具有给定用户名和密码的HTTP代理服务器将您连接到cvsup1.FreeBSD.org。
现在运行csup,执行:

# csup /path/to/supfile