pkg_add via ftp-proxy

rbrinkmo

Well-Known Member
Hallo,

ich habe das Problem, dass ich derzeit lediglich via ftp-proxy ftp-downloads durchführen kann. Der Name des Proxy's ist mir bekannt, nur weiss ich nicht was genau zu tun ist um beim1 pkg_add über diesen Proxy zu gehen.
Ich habe irgendwas von fetch und /etc/make.conf gelesen. Daher habe ich einmal diesen Eintrag in der /etc/make.conf hinzugefügt:

FTP_PROXY=their.ftpproxy.here

Hat aber nicht geholfen. Sollte das alles gewesen sein?
Oder habe ich da etwas missverstanden?

thanks

Ach so. Das verwendete OS ist FreeBSD 5.4
 
Zuletzt bearbeitet:
die variable trägt man auch nicht in die make.conf ein. setz die variable mal lieber mit setenv manuell und mit env kannst du dann überprüfen ob sie gesetzt wurde. wenn es dann funktioniert musst du sie noch in deine .profile .login oder .zshenv eintragen, je nachdem was du für eine shell benutzt.
 
Hallo rbrinkmo,

ich hab' bei mir folgendes eingetragen (c-shell; im .cshrc):

setenv HTTP_PROXY proxyname:8080
setenv FTP_PROXY proxyname:2021

Ev. müsstest du auch wie ich die Ports angeben (ist abhängig von der Konfiguration eures Proxyservers.. Ask your systemadministrator .. :D )

Viel Erfolg, Greetz Marcel
 
Ich habe mein diesbezügliches Halbwissen hier bezogen:
http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2004-04/1417.html

Hier steht unter anderem, dass man die entsprechende ENV in der /etc/make.conf eintragen soll. Leider existiert bei mir weder die Datei /etc/defaults/make.conf noch das Verzeichnis /usr/share/examples/make/defaults.

Die folgenden Werte habe ich (so mein Verständnis) in meiner ~/.profile eingetragen:
FTP_PROXY=gate2.proxyserver.de
HTTP_PROXY=10.0.0.1:80

In der Datei /home/userid/.shrc steht dann das gleiche noch einmal.

Dann noch die Datei /usr/local/etc/pkgtools.conf angepasst:
module PkgConfig
ENV['PORTSDIR'] ||= '/usr/ports'
ENV['PACKAGES'] ||= ENV['PORTSDIR'] + '/packages'
ENV['PKG_PATH'] ||= ENV['PACKAGES'] + '/All'
ENV['FTP_PROXY'] ||= ENV['PKG_PATH'] + 'gate2.proxyserver.de'
ENV['HTTP_PROXY'] ||= ENV['FTP_PROXY'] + '10.0.0.1:80'

schliesslich und endlich noch die /etc/make.conf:
FETCH_ENV="FTP_PROXY=gate2.dproxyserver.de HTTP_PROXY=10.0.0.1:80"

Und dennoch muss ich mir soetwas gefallen lassen:
$ pkg_add -r XFree86
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/XFree86.tbz: Operation timed out
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/XFree86.tbz' by URL
$


What else? Was will man denn noch von mir?
 
@bsd69:

Danke für den Tipp. Hab es gleich mal ausprobiert.
Hat mich aber leider auch nicht weiter gebracht.
Das Ergebnis ist das Selbe.
 
Hallo nochmals,

zuerst noch ne Frage: hast du Probleme mit eurem "Geschäfts-Proxy" oder hab' ich da was falsch verstanden?

Fall's ja, Folgendes dazu:

1.) meine angegebenen Ports (8080 + 2021) musst du natürlich mit "euren" ersetzen
2.) Stichwort Firewall.. bei uns musste zu den obgenannten Einstellungen noch eine neue Regel auf unserer FW definiert werden, welche http + ftp - Verkehr von meinem Rechner erlaubt
3.) nach dem setenv Kontrolle mit "env" und schauen, ob deine Settings korrekt sind

Mehr fällt mir gegenwärtig nicht dazu ein...

Viel Erfolg!
 
bsd69 schrieb:
zuerst noch ne Frage: hast du Probleme mit eurem "Geschäfts-Proxy" oder hab' ich da was falsch verstanden?
Sozusagen. Ist zwar nicht unserer da er woanders betrieben wird aber wir gehen für ftp über diesen. Hast du also richtig verstanden.

bsd69 schrieb:
1.) meine angegebenen Ports (8080 + 2021) musst du natürlich mit "euren" ersetzen
Soweit hatte ich schon noch mitgedacht. ;)
bsd69 schrieb:
2.) Stichwort Firewall.. bei uns musste zu den obgenannten Einstellungen noch eine neue Regel auf unserer FW definiert werden, welche http + ftp - Verkehr von meinem Rechner erlaubt
Daran dürfte es nicht liegen da ich mich mit dem verwendeten FTP_Proxy auf der DOS-Ebene eines anderen Client im gleichen Segment erfolgreich verbinden und Dateien herunter laden kann. Hierbei gebe ich nur "gate2.ftpproxy.de" ein; ohne Port. Das funktioniert,, also denke ich wird dort der Standardport 21 verwendet welchen ich dann doch eigentlich nicht einmal explizit in der Konfiguration angeben müsste.?!?!
bsd69 schrieb:
3.) nach dem setenv Kontrolle mit "env" und schauen, ob deine Settings korrekt sind
Hier meine Ausgabe (verfälscht):
$ env
SSH_CLIENT=<IP meines Remote-Client> 1448 22
USER=<Na der User halt>
MAIL=/var/mail/<UserID>
HOME=/home/<UserID>
SSH_TTY=/dev/ttyp0
PAGER=more
ENV=/home/<UserID>/.shrc
LOGNAME=<UserID>
BLOCKSIZE=K
TERM=xterm
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/home/<UserID>/bin
SHELL=/bin/sh
SSH_CONNECTION=<IP meines Remote-Client> 1448 <IP des BSD-Rechner> 22
FTP_PASSIVE_MODE=YES
EDITOR=vi
$

Hier steht zwar nix von FTP_PROXY aber die Ausgabe ENV=/home/<UserID>/.shrc verweist ja wiederum auf die Datei welche ich entsprechend angepasst habe,
Dort habe ich jedoch, entgegen dem Eintrag in der ENV=/home/<UserID>/.cshrc, Gleichheitszeichen verwendet. Mag er die vielleicht nicht? Ich probiere es gleich mal aus.
Am FTP_PASSIVE_MODE liegt es doch wohl nicht, oder?

bsd69 schrieb:
Mehr fällt mir gegenwärtig nicht dazu ein...

Viel Erfolg!

Schade. Aber dennoch vielen Dank.
 
Zuletzt bearbeitet:
ok, bez. .cshrc:

gib doch mal in einer c-shell folgendes ein

setenv HTTP_PROXY proxyname:8080
setenv FTP_PROXY proxyname:2021

nachher env:
HTTP_PROXY=proxyname:8080
FTP_PROXY=proxyname:2021

so sieht's mindestens bei mir aus und funzt problemlos. Auch habe ich diesbezüglich keine Einträge im /etc/make.conf. Ist bei mir auch nicht nötig wegen FW-Regel ...

Greetz, Marcel
 
@bsd69:

Ich habe deinem Vorschlag folge geleistet, bin zur c-Shell gewchselt, habe env eingegeben und siehe da... die Proxys sind bereits angegeben. Das heisst wohl, dass der Eintrag in meiner ~/.cshrc korrekt übernommen wird. Meine nächsten Schritte waren folgende:

%pkg_add -r XFree86
Error: FTP Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/XFree86.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch 'ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/XFree86.tbz' by URL

dann:

%ftp ftp://anonymous:guest@ftp.freebsd.org/pub/FreeBSD/
Trying 2001:4f8:0:2::e...
ftp: connect to address 2001:4f8:0:2::e: No route to host
Trying 204.152.184.73...
ftp: connect: Operation timed out
ftp: Can't connect or login to host `ftp.freebsd.org'
%

dann:

%ping gate2.proxyserver.de
PING server2.proxyserver.de (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=113 time=8.102 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=113 time=7.363 ms
^C
--- server2.proxyserver.de ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 7.363/7.732/8.102/0.370 ms
%

Ich kann erkennen, das die Namen korrekt aufgelöst werden.
Was ich nicht erkennen kann ist ob hier die PROXY-Parameter auch verwendet werden welche ich gesetzt habe.
Lässt sich das vielleicht über einen entsprechenden Befehl feststellen?
 
Moin,
nach all dem Halbwissen mal ein bisschen Erfahrung ;-)

Annahmen:
- eingesetzte Shell ist TCSH
- Hostname des Proxy's ist unter proxyname bekannt, und kann Aufgelöst werden (kann Angepingt werden)
- ansonsten die IP des Proxy's eintragen
- Der Port den Proxy verwendet ist bekannt und für FTP und HTTP identisch

Zu setzende Umgebungsvariablen:

setenv HTTP_PROXY http://proxyname:proxyport
setenv FTP_PROXY $HTTP_PROXY
setenv ftp_proxy $HTTP_PROXY
setenv http_proxy $HTTP_PROXY
setenv FTP_PASSIVE 1

damit sollte das klappen.

Grüße,
Christian
 
Zuletzt bearbeitet:
Wiedmann schrieb:
Hmm, nachdem es diese Datei ("XFree86.tbz") unter der URI nicht gibt ist doch die Fehlermeldung OK. Versuch es doch mal mit einem anderen Package.

da muss ich dir zustimmen. xfree86 wird doch meines wissens nach gar nicht mehr als package angeboten, in den ports ist es aber vorhanden. der standard x-server ist seit geraumer zeit der von x.org, da es probleme mit der neuen lizens von xfree86 gab.
also probier doch mal ein anderes package das es gibt, z.B. links, ncftp oder sonstwas... ;)
 
Wow, das nenn ich Unterstützung. Merci vielmals.

@El Jarczo:
Zwar wird es in dieser Umgebung nicht funktionieren den HTTP_PROXY als FTP_PROXY zu verwenden (muss irgendwie mit der Freischaltung der Ports zusammnenhängen. Darum auch der zusätzliche FTP_PROXY eines anderen Betreiber), aber der Tip mit den zusätzlichen Proxies welche Kleingeschrieben werden scheint ein guter Hinweis zu sein. Ich hab in irgendeinem man davon gelesen (vonwegen Kompalibität oder so), ich bin in dem Moment aber nicht auf die Idee gekommen das man beides gleichzeitig konfigurieren müsste. Ich werde es bei Gelegenheit testen.

@Wiedmann:
Ja. Bei einem Versuch diese Datei manuell, von einem Client im gleichen Segment, herunterzuladen habe ich dann auch festgestellt, dass es diese Datei nicht gibt. Ich habe es dann wieder unter FreeBSD mit einem anderem Package/Port versucht. Funktionierte auch nicht. Obwohl ... mh ... ich brauch wohl mal eine Pause. Hat schon des öfteren geholfen.

Wie Ihr in dem Beitrag von 15:55 Uhr sehen könnt habe ich auch versucht manuell per ftp eine Verbindung aufzubauen. Ohne Erfolg. Also ging ich auch später davon aus, dass es nicht nur daran liegen kann, dass die Datei dort nicht liegt, dass der ftp-Zugriff fehlschlägt.

@[moR-pH-euS]:
Wie kein XFree86? Ich habe aber vom anderen Client aus irgendwas von xfree86 gesehen. Irgendwas mit libs glaub ich.
Naja, dann werde ich mich wohl oder übel wieder mit Xorg auseinandersetzen müssen. Beim letzten mal war ich nicht wirklich begeistert. Tja, vielleicht muss ich mich nur dran gewöhnen und etwas mehr dazulernen.

Noch einmal Danke für Eure Unterstützung. Ich werde es spätestens Freitag weiter versuchen und geb dann Rückmeldung.
 
$HTTP_PROXY war eh nur ein Platzhalter.
Dann trag entsprechend die Daten vom FTP Proxy ein. Das hab ich nur aus Faulheit geschrieben, und weil hier FTP und HTTP über den selben Proxy laufen.
Wichtig ist die letzte Variable (FTP_PASSIVE), da über Proxy's idr. nur passives FTP läuft.


MfG,
Christian
 
El Jarczo schrieb:
$HTTP_PROXY war eh nur ein Platzhalter.
Dann trag entsprechend die Daten vom FTP Proxy ein. Das hab ich nur aus Faulheit geschrieben, und weil hier FTP und HTTP über den selben Proxy laufen.
Wichtig ist die letzte Variable (FTP_PASSIVE), da über Proxy's idr. nur passives FTP läuft.

Alles klar. Werd es dann mal damit probieren.
 
Ich fass' es nicht. Es funktioniert.

Letzte Änderung:
setenv HTTP_PROXY proxyIP:80
setenv FTP_PROXY ftp://anonymous:guest@proxyname.de:21/
setenv http_proxy proxyIP:80
setenv ftp_proxy ftp://anonymous:guest@proxyname.de:21/
setenv FTP_PASSIVE 1

Also lediglich noch einmal die Variablennamen in Kleinschrift in der ~/.cshrc sowie FTP_PASSIVE hinzugefügt und schont klappte es mit den Nachbarn im Internet:

rechnername# pkg_add -r ncftp
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-5.4-release/Latest/ncftp.tbz... Done.


Super. Danke, danke DANKE! ;)
 
Zurück
Oben