Bản cập nhật apt-get bị kẹt trên Chế độ chờ đợi Tiêu đề trực tiếp khi sử dụng Windows XP ICS


13

Tôi đang thiết lập máy chủ Maverick trên PC dự phòng. Quá trình cài đặt hoàn tất tốt và hệ thống khởi động vào vỏ. Tuy nhiên, khi tôi cố gắng thực hiện apt-get update, apt bị treo trên hầu hết mọi mục với thông báo 99% [Waiting for headers]đôi khi một thông báo 96 b/sxuất hiện ở phía bên phải. Tỷ lệ phần trăm thực tế mà nó tuyên bố cũng thay đổi.

Tìm kiếm trên mạng đã đưa ra một giải pháp tiềm năng bằng cách sử dụng tùy chọn Acquire::http::Pipeline-Depth="0" này phần nào làm giảm bớt vấn đề, tức là nó lưu lại trên mọi mục khác với cùng một thông điệp như trên.

Nếu bạn chờ đợi (toàn bộ bản cập nhật mất khoảng 4 giờ), bản cập nhật vẫn không thành công vì một phần tốt của các lần truy cập hiển thị thông báo "không thể kết nối" hoặc tương tự, mặc dù thực tế là tôi có thể ping máy chủ từ máy tính khỏe.

Vấn đề cũng không liên quan đến chiếc gương được sử dụng vì tôi đã thử khoảng một chục chiếc gương nhưng không thành công, tôi thậm chí đã thử bình luận mọi thứ trừ main mục nhập trong nguồn.list và nó vẫn từ chối cập nhật.

Kết nối mạng vẫn ổn vì tôi có thể ping và wget (apt sẽ không cho phép tôi cài đặt lynx cho đến khi tôi chạy cập nhật thành công). Tôi cũng đã cài đặt lại bản phân phối không có may mắn.

Điều duy nhất kỳ lạ về thiết lập là PC đang kết nối với internet thông qua máy tính xách tay windows của tôi với cấu hình ICS, nhưng như tôi đã nói trước đây, kết nối mạng vẫn ổn.


Hãy thử thực hiện các lệnh sau trong thiết bị đầu cuối của bạn sudo dpkg --configure -asudo apt-get update && sudo apt-get upgrade
karthick87

Một kết nối thông qua ICS nghe có vẻ như rắc rối đang chờ xảy ra, đặc biệt nếu một trong các liên kết là WiFi. Có thể kết nối trực tiếp hơn?
msw

@msw hiện tại không có, nhưng tôi có ấn tượng rằng ICS chỉ tương đương với chuyển tiếp iptables cho linux, nó thực sự có thể gây ra vấn đề gì? Giả sử rằng nó hoạt động tốt nếu không (đó là).
khủng hoảng

Tôi có ít kinh nghiệm với ICS vì tôi chưa bao giờ nghĩ rằng nó đủ mạnh cho bất kỳ mục đích nào và được cấp quyền truy cập quản trị (gỡ lỗi) kém vào tất cả các hỗ trợ mạng của Microsoft đã cho rằng nó sẽ gây đau đầu. Kinh nghiệm của bạn dưới đây dường như xác nhận giả định của tôi một chút.
msw

Câu trả lời:


9

Dường như có một vấn đề cơ bản với việc triển khai chuyển tiếp ICS và IP nói chung trên Windows XP, đơn giản là nó không thể xử lý nhiều kết nối đến cùng một máy chủ, có thể đó là một sự kết hợp kỳ lạ của một lỗi với sự bất tài cố ý (như tôi muốn gọi nó) , nhưng kết quả cuối cùng là XP không thể hoạt động như một bộ định tuyến / proxy có thẩm quyền cho hệ thống linux (có thể các hạn chế được cố ý áp dụng cho các hệ thống không phải là windows).

Thật thú vị khi lưu ý rằng điều này không chỉ giới hạn ở ICS. Có một tùy chọn ẩn trong sổ đăng ký windows cho phép chuyển tiếp IP cho giao diện mạng và nó gặp phải vấn đề tương tự.

Giải pháp duy nhất - xuất hiện - là thay đổi cấu trúc liên kết mạng để tránh sử dụng ICS (kết nối trực tiếp hoặc mua một công tắc / điểm truy cập chuyên dụng) hoặc sử dụng một hệ điều hành khác để thiết lập cầu nối tạm thời. Tôi đã sử dụng một đĩa CD trực tiếp trên Ubuntu (nó không phải là máy tính của tôi hoặc nó sẽ chạy một số * nix để bắt đầu) và cho phép chuyển tiếp gói tin và giả mạo ip để máy tính hoạt động như một bộ định tuyến trung thực.


3

Có một số tin đồn trên web (tôi không thể xác minh chúng) về các vấn đề về ICS với IP6. Họ nói rằng khi ICS nhận được nhiều hơn một kết nối IP6 thì nó tạm dừng một lúc. Điều này có thể giải thích tại sao wget hoạt động (chỉ có một kết nối) và cập nhật apt-get không thành công (rất nhiều kết nối đồng thời).

Bạn có thể thử tắt IP6 trong máy chủ của mình để kiểm tra xem đây có phải là sự cố không.

Bạn có thể tắt IP6 khỏi thiết bị đầu cuối bằng:

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

Sau đó khởi động lại và kiểm tra nếu bạn có thể cập nhật. Nếu nó hoạt động ít nhất bạn biết vấn đề là ở đâu. Bạn có thể vô hiệu hóa IP6 vĩnh viễn hoặc lên kế hoạch thiết lập mới. Lưu ý rằng vô hiệu hóa IP6 sẽ là một hack tạm thời, IP6 dường như là không thể tránh khỏi trong tương lai gần.

Để bật lại IP6, hãy xóa các dòng trước đó khỏi /etc/sysctl.conf và khởi động lại.


ICS dường như là thủ phạm ở đây, tuy nhiên đề nghị của bạn đã không khắc phục được. Sau khi đấu dây máy tính trực tiếp mọi thứ hoạt động như mong đợi. Bây giờ tôi đã cập nhật các kho lưu trữ, tôi thậm chí không thể thực hiện apt-get installthông qua ICS ... hmmm.
crasic

Có thể ICS có vấn đề với số lượng lớn kết nối đồng thời (hoặc có thể khiêm tốn) đến cùng một máy chủ.
Javier Rivera

Bạn không cần phải khởi động lại: sau khi sửa đổi sysctl.conf, hãy nhập sysctl -avà bạn vẫn ổn. bạn cũng có thể cắt giảm việc gõ bằng cách sử dụng tài liệu ở đây thay vì đường ống từ tiếng vang mọi lúc.
Mei
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.