Using a "special" proxy for ports
Dennis Glatting
freebsd at penx.com
Mon Jun 27 15:54:03 UTC 2011
On Mon, 27 Jun 2011, Damien Fleuriot wrote:
>
>
> On 6/27/11 4:27 PM, Dennis Glatting wrote:
>>
>>
>> On Mon, 27 Jun 2011, Damien Fleuriot wrote:
>>
>>> On 6/27/11 4:52 AM, Dennis Glatting wrote:
>>>>
>>>> I have a requirement where I need to archive ports used across twenty
>>>> hosts for a year or more. I've decided to do this using Squid and to
>>>> take advantage of Squid's cache when updating common ports across those
>>>> hosts.
>>>>
>>>> (BTW, at another site I used rsync to sync /usr/ports/distfiles across
>>>> the hosts to a local master site then specified _MASTER_SITES_DEFAULT in
>>>> make.conf to a FTP server on the local site. That method works when the
>>>> port is previously cached however if the file isn't in the cache and I
>>>> simultaneously install the port across ten hosts, the port is fetched
>>>> ten times. Sigh.)
>>>>
>>>> I have a Squid proxy installed that isn't meant for every-day/every-user
>>>> use and requires authentication. (Users either go through another Squid
>>>> proxy or direct.) The special Squid proxy works. No surprise there.
>>>> Authentication works. No surprise there.
>>>>
>>>> What I need is a method to embed into make.conf a proxy specification
>>>> for fetch. Setting the environment variable HTTP_PROXY from the login
>>>> shell /is not/ preferred because the account is used by different
>>>> administrators, I don't what the special proxy accidentally polluted
>>>> with non-port stuff, and it would only create confusion.
>>>>
>>>> Setting http_proxy in make.conf does not work. .netrc doesn't appear to
>>>> be a viable method (if it did, I could specify FETCH_ARGS in make.conf).
>>>>
>>>
>>> What about using a NFS share for /usr/ports/distfiles ?
>>
>> Many of these servers provide network/system services across a WAN. If a
>> link goes down or is congested, NFS may hang them all. NFS also provides
>> certain security challenges.
>>
>>
>
> What about using a SSHFS share for /usr/ports/distfiles ?
>
I don't know much about that file system and will have to look into it. I
have had problems with FUSE code, as recently as last week (i.e., very
large files).
How does SSHFS resolve multiple systems simultaneously downloading and
caching ports? I assume much the same as any file system where there is a
reasonable risk of content corruption (e.g., one of the downloads abort
resulting in a partial download or a lack of file locking results in
multiple processes simultaneously writing to the same file with
unpredictable content).
Many of my servers provide network/system services over a dodgy AT&T MPLS.
As such, the servers must be as autonomous as possible. In the
_MASTER_SITES_DEFAULT technique I used at another site, if my site-local
FTP server is unavailable then fetch does the normal stuff (i.e., it fails
to the next site in the list). The compromise with a proxy technique is to
disable the proxy spec if there is a network problem. This works because I
have three, independent Internet exit points across my WAN linked together
with local-preferenced BGP.
More information about the freebsd-questions
mailing list