Назад | Перейти на главную страницу

Ubuntu не позволяет мне загружать ничего, кроме apt-get

Я просто пытаюсь клонировать репозиторий из github, но думаю, что моя проблема больше, чем git или github. Я пробовал следующие методы:

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

--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.