Я просто пытаюсь клонировать репозиторий из github, но думаю, что моя проблема больше, чем git или github. Я пробовал следующие методы:
--2010-07-30 07:51:36-- 'http://github.com/symfony/symfony/tarball/master Resolving github.com... 207.97.227.239 Connecting to github.com|207.97.227.239|:80... connected. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers. Retrying. --2010-07-30 07:51:38-- (try: 2) 'http://github.com/symfony/symfony/tarball/master Connecting to github.com|207.97.227.239|:80... connected. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers. Retrying. --2010-07-30 07:51:40-- (try: 3) 'http://github.com/symfony/symfony/tarball/master Connecting to github.com|207.97.227.239|:80... connected. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers. Retrying.
Поскольку wget не работал, я решил попробовать использовать git (зная, что мой брандмауэр, вероятно, блокирует мерзавец протокол). Как видите, похоже, что брандмауэр заблокировал его.
sudo git clone git: //github.com/symfony/symfony.git
Initialized empty Git repository in /home/myname/symfony/.git/ github.com[0: 207.97.227.239]: errno=Connection refused fatal: unable to connect a socket (Connection refused)
Поскольку мерзавец протокол не работал, я решил попробовать http метод.
sudo git clone 'http://github.com/symfony/symfony.git
Initialized empty Git repository in /home/myname/symfony/.git/ error: while accessing 'http://github.com/symfony/symfony.git/info/refs fatal: HTTP request failed
Поэтому я решил попробовать другой метод получения файла из Интернета, но безрезультатно.
sudo curl www.google.com
curl: (56) Failure when receiving data from the peer
Тогда я попробовал пинговать, просто чтобы убедиться, что вижу внешний мир, и это работает!
пинг www.google.com
PING www.l.google.com (74.125.91.104) 56(84) bytes of data. 64 bytes from qy-in-f104.1e100.net (74.125.91.104): icmp_seq=1 ttl=49 time=46.4 ms 64 bytes from qy-in-f104.1e100.net (74.125.91.104): icmp_seq=2 ttl=49 time=46.5 ms 64 bytes from qy-in-f104.1e100.net (74.125.91.104): icmp_seq=3 ttl=49 time=46.5 ms --- www.l.google.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 46.477/46.499/46.512/0.176 ms
apt-get install работает успешно. Делает apt-get использовать другой протокол, отличный от http или он использует другие порты кроме 80?
Я должен упомянуть, что я использую установку VMware Kubuntu 10.04. Кто-нибудь когда-нибудь сталкивался с такой проблемой? Какие еще методы вы могли бы придумать, чтобы сузить кругозор проблемы?
Примечание: Мне пришлось добавить одинарную кавычку (') перед каждой гиперссылкой в этом посте, так как у меня недостаточно репутации.
@uloBasEI То, что было возвращено, показано ниже (без HTML-кода домашней страницы Google)
HTTP/1.0 200 OK Date: Fri, 30 Jul 2010 16:13:45 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Set-Cookie: PREF=ID=217dc6a999f1ffaf:TM=1280506425:LM=1280506425:S=gnL_tcT4FJLh9Cgh; expires=Sun, 29-Jul-2012 16:13:45 GMT; path=/; domain=.google.com Set-Cookie: NID=37=fIVPDdQeoCyfwgmhtAGDf06le4T450U4v19oMdSBCQQDe67Ys5bHwMaGsnywEjUkGSk0Ex5BRGFDouO5Fsme0uARoU3uTNmeTzKfi4mq-L8jDOtcBTC88cCDg0DSpjBr; expires=Sat, 29-Jan-2011 16:13:45 GMT; path=/; domain=.google.com; HttpOnly Server: gws X-XSS-Protection: 1; mode=block
Чтобы узнать, какой протокол использует apt-get, вы можете посмотреть файл /etc/apt/sources.list
. Пакеты могут поступать с компакт-диска, ftp-сервера, http-сервера и т. Д.
Вы пробовали открыть веб-страницу с помощью telnet, чтобы просмотреть весь HTTP-ответ? Например:
$ telnet www.google.com 80
GET / HTTP/1.0
Частично проблема была связана с настройками прокси. Теперь я установил переменную среды прокси
export http_proxy="http://IP ADDRESS:PORT"
раньше не повезло, но после перезагрузки компьютера несколько других решений не удалось, потому что я не добавил снова переменную среды. Я пытался клонировать репозиторий git в / var / local / git. После долгого времени, когда я не мог делать то, что хочу, я начал пробовать случайные решения и в конце концов попытался клонировать репозиторий git в / главная / myusername / git. К моему удивлению, репо начало скачиваться! Итак, в чем разница?
Я выполнил ls -la на / var / local / git и / главная / myusername / git, и результаты были
>>$ ls -la /var/local/git/ total 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 total 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
Итак, оказывается, я предполагаю, что это урок о разрешениях. Я предполагаю, что проблема была связана с 's'разрешение в / var / local / git, но из того, что я прочитал, я не могу сказать, почему это может быть причиной моих проблем.
Кто-нибудь знает, правильный ли это ответ, или похоже, что здесь работало что-то еще?
Попробуйте удалить инструменты VMware. У меня была проблема в прошлом, когда не проходил никакой трафик (TCP или UDP), кроме ICMP. Я выполнил TCPdump на брандмауэре и маршрутизаторе и увидел, что трафик уходит, но сетевой драйвер, предоставленный инструментами vmware, каким-то образом повредил пакет.
Если принимается много пакетов RST, возможно, ваше сетевое соединение неисправно. Плохой провод, помехи и т. Д. Также были случаи, когда интернет-провайдеры подделывали пакеты RST, чтобы нарушить работу P2P-сетей.
У вас есть определенные настройки прокси-сервера apt-get? Они будут храниться в /etc/apt/apt.conf или в /etc/apt/apt.conf.d/
Это не дает прямого ответа на вопрос git, но вы можете просматривать веб-страницы (и загружать страницы) через браузер, верно? Возможно, кто-то запрещает использование определенных пользовательских агентов. Я бы проверил, узнав какая строка пользовательского агента вашего браузера а затем поставка --user-agent
параметр для wget или curl.