Konfiguruję serwer Maverick na zapasowym komputerze. Instalacja kończy się dobrze, a system uruchamia się w powłoce. Jednak, gdy próbuję zrobić a apt-get update
, apt zawiesza się przy prawie każdym wpisie z komunikatem, który 99% [Waiting for headers]
czasami 96 b/s
pojawia się po prawej stronie. Rzeczywisty procent, który twierdzi, jest również różny.
Wyszukiwanie wokół Internecie dał potencjalne rozwiązanie za pomocą opcji Acquire::http::Pipeline-Depth="0"
to nieco łagodzi problem, czyli stragany na każdej innej pozycji z tym samym komunikatem jak wyżej.
Jeśli poczekasz (cała aktualizacja zajęła około 4 godzin), aktualizacja nadal kończy się niepowodzeniem, ponieważ duża część trafień pokazuje komunikat „nie można się połączyć” lub podobny komunikat, mimo że mogę pingować serwer z komputera tylko w porządku.
Problem nie jest również związany z użytym lustrem, ponieważ próbowałem około tuzina mirrorów bezskutecznie, nawet próbowałem skomentować wszystko oprócz main
wpisu w pliku sources.list i nadal nie chce się aktualizować.
Połączenie sieciowe jest w porządku, ponieważ mogę pingować i wget (apt nie pozwoli mi zainstalować rysia, dopóki nie uruchomię udanej aktualizacji). Ponownie zainstalowałem dystrybucję bez powodzenia.
Jedyną dziwną rzeczą w konfiguracji jest to, że komputer łączy się z Internetem przez mojego laptopa z systemem Windows z odpowiednio skonfigurowanym ICS, ale jak już powiedziałem, połączenie sieciowe jest w porządku.
źródło
sudo dpkg --configure -a
isudo apt-get update && sudo apt-get upgrade
Odpowiedzi:
Wydaje się, że jest podstawowy problem z implementacją ICS i ogólnego przekazywania IP w Windows XP, po prostu nie może obsłużyć wielu połączeń z tym samym serwerem, może to dziwna kombinacja błędu z celową niekompetencją (jak to nazywam) , ale efekt końcowy jest taki, że XP nie może działać jako właściwy router / serwer proxy dla systemu Linux (być może ograniczenia są celowo wprowadzone dla systemów innych niż Windows).
Warto zauważyć, że nie ogranicza się to tylko do ICS. W rejestrze systemu Windows jest ukryta opcja, która umożliwia przekazywanie adresów IP interfejsom sieciowym i cierpi na ten sam problem.
Wydaje się, że jedynym rozwiązaniem jest albo zmiana topologii sieci, aby uniknąć korzystania z ICS (albo bezpośrednie połączenie, albo zakup dedykowanego przełącznika / punktu dostępowego), albo użycie innego systemu operacyjnego do skonfigurowania tymczasowego mostu. Użyłem ubuntu live-cd (to nie był mój komputer lub na początku działałby jakiś * nix) i włączyłem przekazywanie pakietów i maskowanie IP, aby komputer zachowywał się jak router w dobrej wierze.
źródło
W Internecie krąży kilka plotek (nie mogę ich zweryfikować) na temat problemów ICS z IP6. Powiedzieli, że gdy ICS odbiera więcej niż jedno połączenie IP6, zatrzymuje się na chwilę. To może wyjaśniać, dlaczego wget działa (tylko jedno połączenie), a aktualizacja apt-get kończy się niepowodzeniem (wiele jednoczesnych połączeń).
Możesz spróbować wyłączyć IP6 na serwerze, aby sprawdzić, czy to jest problem.
Możesz wyłączyć IP6 z terminala za pomocą:
Następnie uruchom ponownie i sprawdź, czy możesz zaktualizować. Jeśli to działa, przynajmniej wiesz, gdzie jest problem. Możesz wyłączyć IP6 na stałe lub zaplanować nową konfigurację. Pamiętaj, że wyłączenie IP6 będzie tymczasowym włamaniem, IP6 wydaje się być nieuniknione w najbliższej przyszłości.
Aby włączyć IP6 z powrotem, usuń poprzednie linie z /etc/sysctl.conf i uruchom ponownie.
źródło
apt-get install
przez ICS ... hmmm.sysctl -a
i jesteś dobry, aby przejść. możesz także ograniczyć pisanie, używając dokumentu tutaj zamiast ciągłego przesyłania echa.