Ubuntu lässt mich nur mit apt-get herunterladen

7

Ich versuche einfach, ein Repository von Github zu klonen, aber ich denke, mein Problem erstreckt sich über mehr als Git oder Github. Ich habe folgende Methoden ausprobiert:

sudo wget ' http://github.com/symfony/symfony/tarball/master

--2010-07-30 07: 51: 36-- 'http://github.com/symfony/symfony/tarball/master
Auflösen von github.com ... 207.97.227.239
Verbindung zu github.com herstellen | 207.97.227.239 |: 80 ... verbunden.
HTTP-Anfrage gesendet und wartet auf Antwort ... Lesefehler (Verbindung durch Peer zurückgesetzt) ​​in Headern.
Wiederholen.

--2010-07-30 07: 51: 38-- (Versuch: 2) 'http://github.com/symfony/symfony/tarball/master
Verbindung zu github.com herstellen | 207.97.227.239 |: 80 ... verbunden.
HTTP-Anfrage gesendet und wartet auf Antwort ... Lesefehler (Verbindung durch Peer zurückgesetzt) ​​in Headern.
Wiederholen.

--2010-07-30 07: 51: 40-- (Versuch: 3) 'http://github.com/symfony/symfony/tarball/master
Verbindung zu github.com herstellen | 207.97.227.239 |: 80 ... verbunden.
HTTP-Anfrage gesendet und wartet auf Antwort ... Lesefehler (Verbindung durch Peer zurückgesetzt) ​​in Headern.
Wiederholen.

Da wget nicht funktionierte, dachte ich, ich würde versuchen, git zu verwenden (wissend, dass meine Firewall wahrscheinlich das git- Protokoll blockiert ). Wie Sie sehen können, hat die Firewall sie anscheinend blockiert.

sudo git clone git: //github.com/symfony/symfony.git

Initialisiertes leeres Git-Repository in /home/myname/symfony/.git/

github.com [0: 207.97.227.239]: errno = Verbindung abgelehnt
fatal: Socket kann nicht angeschlossen werden (Verbindung abgelehnt)

Da das Git- Protokoll nicht funktionierte, dachte ich, ich würde die http- Methode ausprobieren .

sudo git clone ' http://github.com/symfony/symfony.git

Initialisiertes leeres Git-Repository in /home/myname/symfony/.git/
Fehler: beim Zugriff auf 'http://github.com/symfony/symfony.git/info/refs

Schwerwiegend: HTTP-Anforderung fehlgeschlagen

Also dachte ich mir, ich würde eine andere Methode ausprobieren, um eine Datei aus dem Internet zu erhalten, aber ohne Erfolg.

sudo curl www.google.com

Curl: (56) Fehler beim Empfangen von Daten vom Peer

Also habe ich versucht zu pingen, nur um sicherzugehen, dass ich die Außenwelt sehe, und es funktioniert!

ping www.google.com

PING www.l.google.com (74.125.91.104) 56 (84) Datenbytes.
64 Bytes von qy-in-f104.1e100.net (74.125.91.104): icmp_seq = 1 ttl = 49 time = 46,4 ms
64 Bytes von qy-in-f104.1e100.net (74.125.91.104): icmp_seq = 2 ttl = 49 time = 46,5 ms
64 Bytes von qy-in-f104.1e100.net (74.125.91.104): icmp_seq = 3 ttl = 49 time = 46,5 ms

--- www.l.google.com Ping-Statistiken ---
3 gesendete Pakete, 3 empfangene, 0% Paketverlust, Zeit 2003 ms
rtt min / avg / max / mdev = 46,477 / 46,499 / 46,512 / 0,176 ms

Die Installation von apt-get funktioniert erfolgreich. Hat apt-get ein anderes Protokoll anders als verwenden http oder hat sie verwenden verschiedene andere Ports als 80?

Ich sollte erwähnen, dass ich eine VMware-Installation von Kubuntu 10.04 verwende. Hat jemand jemals ein solches Problem festgestellt? Welche anderen Methoden könnten Sie sich vorstellen, um einzugrenzen, woher das Problem kommt?

Hinweis: Ich musste vor jedem Hyperlink in diesem Beitrag ein einfaches Anführungszeichen (') einfügen, da ich nicht genügend Wiederholungen habe.

@uloBasEI Was zurückgegeben wurde, ist unten (abzüglich des HTML- Codes von Googles Homepage)

HTTP / 1.0 200 OK
Datum: Fr, 30. Juli 2010, 16:13:45 Uhr GMT
Läuft ab: -1
Cache-Kontrolle: privat, maximales Alter = 0
Inhaltstyp: text / html; Zeichensatz = ISO-8859-1
Set-Cookie: PREF = ID = 217dc6a999f1ffaf: TM = 1280506425: LM = 1280506425: S = gnL_tcT4FJLh9Cgh; läuft ab = So, 29.07.2012 16:13:45 GMT; Pfad = /; domain = .google.com
Set-Cookie: NID = 37 = fIVPDdQeoCyfwgmhtAGDf06le4T450U4v19oMdSBCQQDe67Ys5bHwMaGsnywEjUkGSk0Ex5BRGFDouO5Fsme0uARoU3uTNmeTzKfi4mcdc Lc; läuft ab = Sa, 29.01.2011 16:13:45 GMT; Pfad = /; domain = .google.com; HttpOnly
Server: gws
X-XSS-Schutz: 1; mode = block
Blastthisinferno
quelle
Gibt es einen transparenten Proxy zwischen Ihnen und dem Web, und wenn ja, wissen Sie, um welche Software es sich handelt? Haben Sie Probleme außerhalb der VM? Ich habe festgestellt, dass sich http-Verbindungen unter Linux in Virtualbox schlecht verhalten (allerdings mit unterschiedlichen Symptomen: Andere Clients als Firefox haben das Ende der Verbindung nicht erkannt und hängen einfach dort, obwohl sie alle Daten erhalten haben). Leider konnte ich das Problem nicht herausfinden. Es kann lehrreich sein, den Verkehr mit tcpdumpoder zu beobachten wireshark.
Gilles 'SO - hör auf böse zu sein'
Wireshark zeigt, dass es viele TCP-RST- Pakete gibt.
Blastthisinferno
Gibt es andere Computer, die möglicherweise andere Betriebssysteme verwenden (nicht, dass dies meiner Meinung nach etwas mit Ubuntu zu tun hat!), Die Sie ausprobieren könnten? Bietet das Herunterladen des Git-Repos in Ihrem Browser eine ausreichende Problemumgehung?
Clinton Blackmore
Ich bin SSH in dem System, mit dem ich dies zu tun versuche. Ich kann keinen Browser mehr benutzen. Ein weiterer Grund, warum ich dieses Problem herausfinden möchte, ist, dass ich denke, dass es der gleiche Grund ist, warum Python easy_install nicht funktioniert, und ich möchte, dass dies auch funktioniert.
Blastthisinferno

Antworten:

2

Um zu wissen, welches Protokoll apt-get verwendet, können Sie sich die Datei ansehen /etc/apt/sources.list. Pakete können von einer CD-ROM, einem FTP-Server, einem http-Server usw. stammen.

Haben Sie versucht, eine Webseite mit Telnet zu öffnen, um die gesamte HTTP-Antwort anzuzeigen? Zum Beispiel:

$ telnet www.google.com 80
GET / HTTP/1.0
uloBasEI
quelle
1

Das Problem hatte teilweise mit den Proxy-Einstellungen zu tun. Jetzt hatte ich die Proxy-Umgebungsvariable festgelegt

export http_proxy="http://IP ADDRESS:PORT"

zuvor ohne Glück, aber nach dem Neustart des Computers sind mehrere andere Lösungen fehlgeschlagen, weil ich die Umgebungsvariable nicht erneut hinzugefügt habe. Ich habe versucht, das Git-Repository in / var / local / git zu klonen . Nachdem ich lange nicht in der Lage war, das zu tun, was ich wollte, versuchte ich, zufällige Lösungen zu finden, und versuchte schließlich, das Git-Repository nach / home / myusername / git zu klonen . Zu meiner Überraschung wurde das Repo heruntergeladen! Was war der Unterschied?

Ich habe ein ls -la für / var / local / git und / home / myusername / git ausgeführt , und die Ergebnisse waren

>> $ ls -la / var / local / git /
insgesamt 12
drwxr-sr-x 3 root staff 4096 2010-08-18 09:17.
drwxrwsr-x 5 root staff 4096 2010-07-07 15:27 ..
drwxrwxr-x 4 root root 4096 2010-08-14 13:59 symfony
>> $ ls -la / home / myusername / git
insgesamt 432
drwxr-xr-x 3 myusername myusername 4096 2010-08-18 09:20.
drwxr-xr-x 29 myusername myusername 4096 2010-08-18 09:18 ..
drwxr-xr-x 5 myusername myusername 4096 2010-08-18 09:21 symfony

Es stellt sich also heraus, dass dies eine Lektion über Berechtigungen ist. Ich vermute, das Problem hatte etwas mit der Berechtigung ' s ' in / var / local / git zu tun , aber nach dem, was ich gelesen habe, kann ich nicht sagen, warum dies die Ursache für meine Probleme sein würde.

Weiß jemand, ob dies eine legitime Antwort ist, oder klingt es so, als ob hier etwas anderes am Werk war?

Blastthisinferno
quelle
0

Versuchen Sie, VMware-Tools zu entfernen. Ich hatte in der Vergangenheit ein Problem, bei dem außer ICMP kein Datenverkehr (TCP oder UDP) fließen würde. Ich habe TCP auf die Firewall und den Router übertragen und festgestellt, dass der Datenverkehr ausgeht, aber der von vmware tools bereitgestellte Netzwerktreiber hat das Paket auf irgendeine Weise beschädigt.

JakeRobinson
quelle
Ich habe VMware-Tools entfernt, aber wget kann immer noch nichts herunterladen.
Blastthisinferno
0

Wenn viele RST-Pakete empfangen werden, ist möglicherweise Ihre Netzwerkverbindung fehlerhaft. Eine schlechte Verbindung, Interferenz usw. Es gab auch Fälle, in denen ISPs RST-Pakete fälschten, um P2P-Netzwerke zu stören.

dpflug
quelle
Die einzigen RST-Pakete, die empfangen werden, sind, nachdem ich einen Befehl wie wget ausgegeben habe . Der gesamte andere Verkehr ist in Ordnung.
Blastthisinferno
0

Haben Sie bestimmte Proxy-Einstellungen für apt-get? Diese werden in /etc/apt/apt.conf oder in /etc/apt/apt.conf.d/ gespeichert.

chrisjrob
quelle
Ich sehe keine Proxy-Einstellungen. Die Dateien, die ich in /etc/apt/apt.conf.d habe, sind 00trustcdrom 01autoremove 01ubuntu 05aptitude 10periodic 15update-stamp 20archive 20packagekit 50unattended-upgradees 70debconf 99update-notifier . In keinem von ihnen sehe ich eine Proxy-Konfiguration, aber vielleicht fehlt mir etwas, von dem Sie wissen?
Blastthisinferno
Was ist mit /etc/apt/apt.conf selbst?
Chrisjrob
0

Dies beantwortet die Git-Frage nicht direkt, aber Sie können problemlos über Ihren Browser im Internet surfen (und Seiten herunterladen), oder? Möglicherweise lässt jemand bestimmte Benutzeragenten nicht zu. Ich würde testen, indem ich herausfinde, was die Benutzeragentenzeichenfolge Ihres Browsers ist, und dann den --user-agentParameter für wget oder curl bereitstelle.

Clinton Blackmore
quelle
Verdammt, klang vielversprechend, funktionierte aber nicht. Ich habe versucht, wget -U = "" www.google.com und wget -U = "Chrome / 5.0.375.125" www.google.com mit dem gleichen Problem wie zuvor.
Blastthisinferno
Verflixt. Ich hatte wirklich gehofft, dass das funktionieren würde. Ich kann Curl verwenden, um www.google.com und github.com/symfony/symfony/tarball/master zu erhalten , was tendenziell bestätigt, dass es sich um etwas zwischen Ihnen und diesen Websites handelt.
Clinton Blackmore