Câu hỏi Sự cố khi tải xuống danh sách các gói do lỗi “Tổng hợp không hợp lệ băm”


Khi tôi kiểm tra các bản cập nhật, tôi nhận được lỗi "Không thể tải xuống thông tin lưu trữ".

Đây là những gì đi kèm theo chi tiết:

W: Failed to fetch gzip:/var/lib/apt/lists/partial/us.archive.ubuntu.com_ubuntu_dists_natty_main_source_Sources  Hash Sum mismatch, 
E: Some index files failed to download. They have been ignored, or old ones used instead.

337
2018-05-09 20:55


gốc




Các câu trả lời:


Chỉ cần xóa tất cả nội dung của /var/lib/apt/lists danh mục:

sudo rm -rf /var/lib/apt/lists/*

sau đó chạy:

sudo apt-get update

406
2018-05-09 21:52



Nếu bạn xóa tất cả các tệp, bạn phải tải xuống lại. Bạn chỉ có thể xóa tệp không hợp lệ để làm cho quá trình này nhanh hơn. - Behrang
Tôi nhớ điều này cũng xảy ra với Debian. Giải pháp là chuyển kho (ví dụ: từ us.ubuntu.com sang XX.ubuntu.com trong đó XX là mã quốc gia của bạn) hoặc đang chờ. Ý tưởng tốt nhất là chờ một chút và thử lại sau. Việc xóa danh sách có thể sửa các danh sách bị hỏng, nhưng điều đó hiếm khi xảy ra. - f.ardelian
Câu hỏi cũ, nhưng trên một số bản phân phối (Giống như emdebian), sau khi làm điều này, bạn sẽ cần phải "mkdir /var/lib/apt/lists/partial"(Như gốc, rõ ràng.), Hoặc người nào khác bạn không thể"apt-get update"hoặc sử dụng apt. - Archenoth
@AlyssaGono nếu đó là một thư mục, bạn cần phải chạy rm với cờ đệ quy như vậy: sudo rm -R /var/lib/apt/lists/* tuy nhiên, ngay cả việc đó cũng không hiệu quả với tôi. - mchid
Chúng ta cần tiền tố -rf, vì vậy nó sẽ trông giống như sudo rm -rf /var/lib/apt/lists/* - Askar


Đây là một vấn đề đã biết, và càng trầm trọng hơn đối với các khách hàng đứng sau bộ đệm proxy. Một số tổ chức lớn và ISP (đặc biệt là ở các vùng xa xôi của thế giới) có bộ nhớ cache trong suốt mà bạn có thể không biết.

Vấn đề cơ bản là định dạng kho lưu trữ apt phải tuân theo các điều kiện chủng tộc khi một bản sao được cập nhật. Vấn đề này đặc biệt ảnh hưởng đến kho lưu trữ thay đổi nhanh chóng, chẳng hạn như bản phát hành phát triển.

Bạn có thể theo dõi tiến trình khắc phục sự cố này trong lỗi này (hãy đánh dấu mình là "ảnh hưởng đến tôi quá" trong lỗi) và kế hoạch chi tiết này. Nhưng lưu ý rằng đó là một vấn đề phức tạp và có thể mất nhiều hơn một bản phát hành để giải quyết.


121
2017-07-05 22:21



Bản thiết kế đó không còn truy cập được; ở đây một bản sao lưu trữ. - Eliah Kagan
lỗi này cũng tồn tại trên ubuntu 16.04 - Scott Stensland
Lỗi này đã được đánh dấu là "Đã sửa lỗi".
Tôi chỉ thay đổi gương mặc định của mình thành máy chủ tốt nhất và công việc của nó cho tôi. - habibun


Cách dễ nhất để khắc phục điều này là:

sudo apt-get clean
sudo apt-get update

79
2018-05-22 12:25



Sau khi thử câu trả lời được chấp nhận, tôi vẫn gặp lỗi tương tự, hãy thử ngay sau đó khắc phục sự cố - Alex
Đang làm sudo rm -rf /var/lib/apt/lists/* sau đó sudo apto-get clean cố định vấn đề cho tôi. Không làm việc trong sự cô lập. - Cam
Đây sẽ là câu trả lời đúng. - Clayton Dukes
không giúp đỡ trên ubuntu 16.04 ... cũng không bình luận ở trên giúp gì - Scott Stensland
sudo apt-get clean đã không giúp đỡ với 16.04, nhưng sudo rm -rf /var/lib/apt/lists/* sửa nó - sdaffa23fdsf


Tôi vẫn gặp sự cố sau khi xóa các thư mục và thực hiện sudo apt-get update.
Chỉ có bước sau giải quyết được vấn đề của tôi:

sudo sed -i -re 's/\w+\.archive\.ubuntu\.com/archive.ubuntu.com/g' /etc/apt/sources.list

Tôi không biết đây có phải là cách sửa chữa nó đúng không ...
Tôi đã tìm thấy giải pháp đây.


42
2017-08-27 19:55



Người ta nên lưu ý rằng de-part cho biết máy chủ của Đức và tập lệnh này thay thế cho máy chủ cục bộ bằng máy chủ chính. Se Nguồn phần mềm GUI-cách và chuyển đổi các thiết lập có sẽ được an toàn hơn và có thể đảo ngược cho rất nhiều người dùng. Sau đây sẽ hoạt động cho hầu hết mọi quốc gia: sudo sed -i 's/[a-z][a-z].archive.ubuntu.com/archive.ubuntu.com/g' /etc/apt/sources.list - LiveWireBT


Giải pháp duy nhất hiệu quả với tôi là từ unix.stackexchange.

Nó xảy ra bởi vì có một lỗi đã biết nó apt và giải pháp là cập nhật bằng một phương thức nén khác, do đó các tệp tải đúng và kiểm tra thành công.

Hãy thử cách này:

sudo rm -rf /var/lib/apt/lists/partial
sudo apt-get update -o Acquire::CompressionTypes::Order::=gz

(cảm ơn @brook_hong từ các ý kiến ​​cho phần rm)


28
2018-05-31 14:13



Đây là giải pháp duy nhất ở đây làm việc cho tôi. Cảm ơn. - Cerin
Nó cũng làm việc cho tôi. Lưu ý rằng bạn không phải luôn luôn chạy lệnh này. Chỉ cần chạy nó một lần, và sau đó bạn có thể chạy "apt-get update" mà không có lỗi. - dalf
Trước khi thử với tùy chọn, chúng ta phải dọn dẹp thư mục một phần - sudo rm -rf /var/lib/apt/lists/partial. Tôi đã viết một bài báo vì sao. brookhong.github.io/2016/10/10/… - brook hong
Tôi đã thử sử dụng các giải pháp chung từ các diễn đàn khác nhau nhưng điều này hoạt động ra khỏi hộp. Cảm ơn bạn. - wkhwilo
Làm việc cho tôi trên Ubuntu 16.04 / linux mint - David Okwii


Điều này có thể xảy ra khi máy nhân bản của bạn không cập nhật hoặc lỗi phục vụ không bị quá tải. Bạn có thể đợi một lúc và thử lại hoặc chuyển sang một máy nhân bản khác:


22
2018-04-28 02:04



Tại sao máy chủ không được cập nhật hoặc bị quá tải, khiến tệp có tên chính xác thành công tải xuống (theo nghĩa là kết nối không chấm dứt cho đến khi tất cả các byte được gửi và nhận), nhưng bị hỏng? (Tôi không khẳng định điều đó không xảy ra, tôi chỉ hy vọng bạn có thể giải thích lý do tại sao nó.) - Eliah Kagan
@EliahKagan Vấn đề thường không phải là bản thân tệp bị hỏng, nhưng có một tệp dữ liệu (tôi đơn giản hóa nhưng không quá nhiều) và tệp chỉ mục chứa tệp băm (vân tay) của tệp dữ liệu. Khi các kho lưu trữ được cập nhật (xảy ra mỗi giờ) trên máy chủ một tập tin sau khi các khác được cập nhật. Bây giờ nó có thể xảy ra rằng máy khách của bạn (apt-get hoặc tương tự) truy cập vào máy chủ khi tệp dữ liệu đã được cập nhật nhưng tệp chỉ mục chưa được cập nhật (hoặc ngược lại). Sau đó, băm không khớp với tệp dữ liệu và máy khách (sai) giả định rằng tệp dữ liệu bị hỏng. - Patrick Häcker
Thay đổi gương làm việc cho tôi khi không có câu trả lời nào ở trên. - mango


Nếu bạn đứng sau proxy, hãy tạo tệp có tên 99fixbadproxy trong /etc/apt/apt.conf.d/:

sudo gedit /etc/apt/apt.conf.d/99fixbadproxy

Dán cái này vào 99fixbadproxy và lưu nó:

Acquire::http::Pipeline-Depth 0;
Acquire::http::No-Cache true;
Acquire::BrokenProxy    true;

Bây giờ chạy lệnh cập nhật:

sudo apt-get update

5
2017-08-08 21:37





Các lệnh sau đây có thể giải quyết vấn đề của bạn.

sudo rm -R /var/lib/apt/lists/partial/*

và sau đó

sudo apt-get update && sudo apt-get upgrade

nó sẽ giải quyết vấn đề của bạn. Tôi cũng phải đối mặt với cùng một vấn đề nhưng các lệnh trên giải quyết vấn đề cho tôi. Vì vậy, hãy thử chúng.

Tham chiếu giải pháp


4
2017-12-17 21:47



Tôi vừa thử, và nó không hoạt động; Đầu tiên apt-get update đã tạo các tệp trong cùng một vị trí một lần nữa trong thư mục đó. - Volker Siegel


Tôi đã có vấn đề chính xác tương tự và tất cả các giải pháp được cung cấp bằng cách sử dụng thiết bị đầu cuối đã không giúp đỡ.

Đối với tôi, đó là bằng cách đi vào:

Cài đặt → Phần mềm & Cập nhật → Phần mềm Ubuntu: Tải xuống từ: Change Local đến Main Server.

Nó bắt đầu tải lại repos và cập nhật. Khi tôi nhập:

sudo apt-get update

Sau đó, không có vấn đề gì cả. Tôi đang sử dụng Ubuntu 14.04.4 LTS.


3
2017-07-28 09:56





Tôi không biết rằng đó là giải pháp thích hợp hay không, nhưng tôi đã làm như sau và thông báo lỗi đã biến mất:

Sau khi nhập sudo apt-get update trong thiết bị đầu cuối, nó mang lại cho tôi tên của một số gói gây ra lỗi sau đó tôi đã làm như sau:

Cập nhật trình quản lý (cập nhật phần mềm) → Cài đặt → Cấu hình nguồn phần mềm → Phần mềm khác [tab] → Bỏ chọn các gói

Sau khi nhấn nút "đóng", trình quản lý cập nhật bắt đầu tự động kiểm tra cập nhật và tôi thấy thông báo này: "phần mềm trên máy tính này đã được cập nhật. Đã kiểm tra lần cuối 2 giây trước".

Kubuntu 12.04


1
2018-03-30 22:03



Điều này làm việc cho tôi, và không có giải pháp khác được đăng ở đây làm việc. Ngoại trừ tôi không có giao diện người dùng Ubuntu (chạy dòng lệnh dưới WSL), thay vào đó, cho mỗi gói <pkg> nơi xảy ra lỗi, tôi chạy `sudo apt-get install <pkg> '. Tôi đang sử dụng Ubuntu 16.04. - Yitz