Windows XP ICS를 사용할 때 apt-get 업데이트가“대기열 대기”에 멈춤


13

예비 PC에 Maverick 서버를 설정하고 있습니다. 설치가 정상적으로 완료되고 시스템이 쉘로 부팅됩니다. apt-get update그러나을 시도 할 때 apt는 메시지와 함께 거의 모든 항목에 매달리며 99% [Waiting for headers]때로는 96 b/s맨 오른쪽에 메시지가 나타납니다. 주장하는 실제 비율도 다릅니다.

온라인으로 주변을 검색하면 옵션을 사용하여 잠재적 인 솔루션을 준 Acquire::http::Pipeline-Depth="0"다소 문제를 완화를가 위와 같은 메시지와 함께 다른 모든 항목을 포장 마차 즉.

기다릴 경우 (전체 업데이트에 약 4 시간이 소요됨) PC에서 서버를 핑할 수 있다는 사실에도 불구하고 적중의 상당 부분에 "연결할 수 없음"또는 유사한 메시지가 표시되어 업데이트가 실패합니다. 좋아.

이 문제는 성공하지 않고 수십 개의 미러를 시도했지만 사용 된 미러와 관련이 없으며, mainsources.list 의 항목을 제외한 모든 것을 주석 처리하려고 시도했지만 여전히 업데이트를 거부합니다.

핑과 wget (성공적인 업데이트를 실행할 때까지 lynx를 설치할 수 없음) 때문에 네트워크 연결이 정상입니다. 운이 없어도 배포판을 다시 설치했습니다.

설정에서 이상한 점은 PC가 ICS가 올바르게 구성된 Windows 랩톱을 통해 인터넷에 연결되어 있지만 이전에 말했듯이 네트워크 연결에 문제가 없다는 것입니다.


터미널에서 다음 명령을 실행 sudo dpkg --configure -a하고sudo apt-get update && sudo apt-get upgrade
karthick87

ICS를 통한 연결은 특히 링크 중 하나가 WiFi 인 경우 대기하는 데 문제가있는 것처럼 들립니다. 더 직접 연결할 수 있습니까?
msw

@msw는 아니지만 현재 ICS는 iptables가 리눅스에 전달되는 것과 동일하다는 인상을 받았습니다. 실제로 어떤 문제가 발생할 수 있습니까? 그렇지 않으면 잘 작동한다고 가정합니다.
crasic

ICS에 대한 경험이 거의 없기 때문에 어떤 목적에 대해서도 충분히 견고하다고 생각하지 못했으며 모든 Microsoft 네트워킹 지원에 대한 관리 (디버그) 액세스가 제대로 이루어지지 않으면 두통이 발생할 것이라고 가정했습니다. 아래의 경험은 내 가정을 약간 확인하는 것으로 보입니다.
msw

답변:


9

Windows XP에서 일반적으로 ICS 및 IP 전달을 구현하는 데 근본적인 문제가있는 것 같습니다. 동일한 서버에 대한 여러 연결을 처리 할 수 ​​없을 수 있습니다. 그러나 최종 결과는 XP가 Linux 시스템의 유능한 라우터 / 프록시로 작동 할 수 없다는 것입니다 (비 Windows 시스템의 경우 의도적으로 제한이있을 수 있음).

이것은 ICS에만 국한되지 않는다는 점에 주목하는 것이 흥미 롭습니다. Windows 레지스트리에는 네트워크 인터페이스에 대한 IP 전달을 허용하는 숨겨진 옵션이 있으며 동일한 문제가 발생합니다.

유일한 해결책은 네트워크 토폴로지를 변경하여 ICS (직접 연결하거나 전용 스위치 / 액세스 포인트 구매)를 피하거나 다른 OS를 사용하여 임시 브리지를 설정하는 것입니다. 나는 우분투 라이브 CD (내 컴퓨터가 아니 었거나 시작하기 위해 * nix를 실행했을 것입니다)를 사용하고 패킷 전달 및 IP 마스커레이딩을 활성화하여 컴퓨터가 선의의 라우터로 작동합니다.


3

웹에는 IP6의 ICS 문제에 대한 소문이 있습니다 (확인할 수 없습니다). 그들은 ICS가 둘 이상의 IP6 연결을 수신하면 잠시 정지한다고 말했다. 이것은 wget이 작동하는 이유 (하나의 연결 만)와 apt-get 업데이트가 실패하는 이유를 설명 할 수 있습니다 (많은 동시 연결).

이것이 문제인지 테스트하기 위해 서버에서 IP6을 비활성화 할 수 있습니다.

다음을 사용하여 터미널에서 IP6을 비활성화 할 수 있습니다.

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

그런 다음 재부팅 하고 업데이트 할 수 있는지 확인하십시오. 그것이 작동하면 문제의 위치를 ​​알고 있습니다. IP6 영구적을 비활성화하거나 새로운 설정을 계획 할 수 있습니다. IP6 비활성화는 일시적인 해킹이 될 것이며 IP6는 가까운 미래에 피할 수없는 것처럼 보입니다.

IP6을 다시 활성화하려면 /etc/sysctl.conf에서 이전 줄을 삭제하고 다시 부팅하십시오.


ICS는 여기서 범인으로 보이지만 귀하의 제안으로 해결되지 않았습니다. 컴퓨터를 직접 배선 한 후 모든 것이 예상대로 작동했습니다. 이제 리포지토리가 업데이트 apt-get install되었으므로 ICS를 통해 할 수도 없습니다 ... 흠.
crasic

ICS에 동일한 서버에 대한 많은 동시 연결에 문제가있을 수 있습니다.
Javier Rivera

당신은 그나마 재부팅 필요하여 sysctl.conf를 입력 수정 한 후에 sysctl -a그리고 네 좋은 이동합니다. 항상 에코에서 파이핑하는 대신 here 문서를 사용하여 입력을 줄일 수도 있습니다.
Mei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.