Trên thực tế, tôi biết tập tin nào bị hỏng
Cố gắng kết hợp các tệp từ nhiều ảnh ISO bị hỏng thành một ảnh ISO tốt, không phải là cách tiếp cận tốt cho vấn đề này. Đây là lý do tại sao.
Hầu như tất cả dữ liệu trong ảnh ISO chỉ thuộc về một tệp casper/filesystem.squashfs
.
Trên một hình ảnh ISO CD hoặc DVD máy tính để bàn, đó là. Trên hình ảnh CD máy chủ hoặc hình ảnh CD thay thế, đó là một câu chuyện khác.
Vì vậy, tôi có thể cho bạn biết ngay bây giờ tệp nào gần như chắc chắn bị hỏng trên mỗi ISO bạn đã tải xuống: tệp đó, trên tất cả chúng. Khi một cái gì đó bị hỏng trong Ubuntu ISO, các byte xấu hầu như luôn ở đâu đó trong đó.
filesystem.squashfs
là bản thân một hình ảnh đĩa; nó được gắn kết như là một phần của việc khởi động hệ thống trên đĩa CD trực tiếp. Bạn có khả năng trích xuất nó từ ISO, sau đó trích xuất nội dung của nó , xem những gì bị hỏng và thay thế các tệp bị hỏng. Mặc dù bạn có thể gắn kết hoặc trích xuất một hệ thống tập tin squashfs trên Windows, nhưng bạn có thể thấy làm như vậy là một nhiệm vụ không cần thiết. Và hình ảnh này được nén, vì vậy không có gì đảm bảo rằng tham nhũng nhỏ trong ISO chứa sẽ không ảnh hưởng đến nhiều tệp.
Hơn nữa, nếu bạn đã thử tải xuống hình ảnh ISO nhiều lần và nó luôn bị hỏng, bạn có thể chắc chắn rằng đó không chỉ là tham nhũng nhỏ . Bạn có thể phải thay thế hàng trăm hoặc hàng ngàn tệp nếu bạn cố gắng làm theo cách này.
Thay vào đó, bạn nên tải xuống hình ảnh ISO bằng phương pháp đáng tin cậy hơn.
Thuận tiện, một trong số chúng ( zsync
) tương tự như những gì bạn đang nghĩ, ngoại trừ việc nó sẽ chỉ tải xuống các phần cần thiết của các tệp ISO, thay vì chỉ các tệp cần thiết có trong đó.
Hãy chắc chắn rằng bạn đang so sánh với Hash MD5 đúng
Điều đầu tiên cần làm khi tổng MD5 của bạn sai - đặc biệt là nếu nó sai sau khi bạn tải lại tệp - là đảm bảo bạn so sánh nó với hàm băm MD5 cho đúng tệp.
Tôi đoán là
- bạn có hình ảnh 12.04 LTS và bạn đang sử dụng hàm băm MD5 cho hình ảnh 12.04.1 LTS
( không phải là cùng một tệp ), hoặc
- bạn có hình ảnh 12.04.1 LTS và bạn đang sử dụng hàm băm MD5 cho hình ảnh 12.04 LTS hoặc
- bạn có hình ảnh 32 bit ("i386") và bạn đang sử dụng hàm băm MD5 cho hình ảnh 64 bit, hoặc
- bạn có hình ảnh 64 bit ("amd64") và bạn đang sử dụng hàm băm MD5 cho hình ảnh 32 bit.
Danh sách băm MD5 cho mỗi tệp ở đây.
Nói chung, nếu băm MD5 của bạn sai nhưng giống nhau cho nhiều lần tải xuống, thường là
- bạn đang so sánh với hàm băm sai, hoặc
- tệp bị hỏng trên máy chủ (vì vậy nếu đó là trường hợp, hãy tải xuống từ một máy nhân bản khác và, nếu bạn muốn, hãy báo cáo lỗi đối với nội dung trang web của Ubuntu để sự cố được khắc phục) hoặc
- bạn đang sử dụng proxy hoặc VPN lưu trữ nội dung web và bằng cách nào đó nó đã lưu một bản sao bị hỏng (tải xuống từ một máy nhân bản khác cũng sẽ khắc phục điều đó), hoặc
- bạn đang tải xuống qua FTP và sự cố với máy chủ hoặc với máy khách FTP của bạn đang khiến tệp chuyển ở chế độ văn bản thay vì chế độ nhị phân (điều này sẽ làm hỏng nó và thường bị hỏng theo cùng một cách), hoặc
- kết nối của bạn đang bị cố tình chặn và thay đổi bởi một bên thứ ba độc hại đang cố tình cung cấp cho bạn tệp sai (mặc dù điều này thường khá khó xảy ra).
Bạn có thể chọn thủ công một gương tải xuống (khác nhau) ở cuối trang này .
Nếu hình ảnh ISO của bạn thực sự bị hỏng, đây là một số cách để có được một tập tin tốt.
đồng bộ
zsync
(xem thêm ở đây ) là một tiện ích có thể biến một tệp đúng một phần thành một tệp hoàn toàn chính xác bằng cách tải xuống chỉ những phần bạn không có phiên bản phù hợp. Ứng dụng chính của nó là để tải xuống các hình ảnh được cập nhật một chút, giống như những hình ảnh từ bản dựng hàng đêm này sang bản khác.
Cách thức zsync
hoạt động là thế này: Ai đó cung cấp tệp (như dự án Ubuntu) tạo một .zsync
tệp chứa nhiều tổng kiểm tra - tổng kiểm tra tương ứng với nhiều phần nhỏ của tệp, thay vì chỉ một tổng kiểm tra cho toàn bộ tệp. Bạn bắt đầu với bất cứ nơi nào từ không có gì đến toàn bộ tập tin.
Không có gì, toàn bộ tập tin được tải xuống. Với một phần của tệp (nghĩa là một tệp có cùng tên có kích thước khác hoặc cùng kích thước với bất kỳ số lượng khác biệt nhị phân nào), nó chỉ ra phần nào cần được tải xuống và chỉ cần tải xuống các phần đó. Với toàn bộ tập tin, nó không tải xuống bất cứ thứ gì.
Đối với các kết nối Internet rất không đáng tin cậy , zsync
không tốt hơn nhiều so với trình duyệt web để tải xuống toàn bộ tệp từ đầu, trừ khi bạn sẵn sàng chạy nó hai lần trở lên, trong trường hợp này, các lần chạy sau sẽ khắc phục các sự cố trong các lần chạy trước . Đối với tất cả ngoại trừ các kết nối Internet có tỷ lệ lỗi cao nhất, chạy zsync hai lần hoặc, đôi khi, ba lần trên một tệp là đủ.
Nhưng bạn không phải lo lắng nhiều về việc chạy zsync
nhiều lần. Vì bạn đã - có lẽ - có hầu hết các tệp, vì vậy đó không phải là vấn đề. Và như mọi khi nếu zsync
cung cấp cho bạn một cái gì đó bị hỏng, bạn luôn có thể chạy zsync
lại để sửa nó.
Bắt zsync
cho Windows
zsync
theo truyền thống chạy trên hệ thống giống Unix (không thực sự bao gồm Windows). Tuy nhiên, gần đây một cổng Windows gốc zsync
đã được tạo , vì vậy bạn có thể sử dụng cổng đó.
zsync
là một chương trình dòng lệnh, vì vậy, trong Windows, bạn chạy nó trong Dấu nhắc lệnh. (Một cách để mở dấu nhắc lệnh là nhập cmd.exe
vào hộp văn bản trong menu Bắt đầu và nhấn Enter. Hoặc, trong Windows XP trở về trước, Bắt đầu> Chạy> cmd.exe
.)
Một cách khác: Bắt zsync
cho Cygwin
Nếu bạn có bất kỳ vấn đề nào với cổng Windows zsync
, bạn luôn có thể sử dụng phiên bản Cygwin. Cygwin cung cấp một môi trường giống như Unix cho Windows. Nó không cho phép các tệp thực thi được biên dịch được chạy (ví dụ: bạn không thể sử dụng zsync
từ gói Ubuntu), nhưng sử dụng các phiên bản đặc biệt của các chương trình được biên dịch cho nó từ nguồn. (Việc biên dịch một chương trình được viết cho các hệ điều hành giống như Unix trong Cygwin sẽ dễ dàng hơn nhiều so với việc biên dịch nó để nó hoạt động tự nhiên trên Windows.)
- Trước tiên, hãy lấy trình cài đặt của Cygwin (
setup.exe
) từ đây (hoặc sử dụng liên kết trực tiếp này ).
- Chạy nó, nhấp vào Tiếp theo trên màn hình đầu tiên, sau đó chọn Cài đặt từ Internet và nhấp vào Tiếp theo một lần nữa.
- Trên hai màn hình tiếp theo, đặt Cygwin và thư mục gói cục bộ bất cứ nơi nào bạn thích (mặc định thường là tốt).
- Chọn loại kết nối Internet của bạn ( Kết nối trực tiếp thường tốt) và
setup.exe
sẽ tải xuống danh sách các máy nhân bản.
Chọn bất kỳ máy nhân bản nào và nó sẽ tải xuống danh sách các gói có sẵn. Có lẽ bạn sẽ được cảnh báo về việc phiên bản này khác với phiên bản trước như thế nào. Đó không phải là vấn đề, trừ khi bạn đang sử dụng phiên bản Cygwin trước đó trên cùng một máy.
Bây giờ bạn có thể chọn những gói để cài đặt. Có một hộp văn bản để tìm kiếm các gói theo tên. Nhập vào zsync
đó (nhưng không nhấn Enter- nếu bạn làm, nó giống như nhấp vào Tiếp theo ). Một mục cho Net sẽ xuất hiện. Mở rộng nó bằng cách nhấp vào +bên trái của nó và bạn sẽ thấy Skip xuất hiện bên dưới nó. Điều đó có nghĩa là nếu bạn không thay đổi bất cứ điều gì, setup.exe
sẽ không cài đặt zsync
.
Vì vậy, nhấp một lần, nơi nó nói Skip . Bây giờ nó sẽ cài đặt phiên bản ổn định mới nhất có sẵn củazsync
cho Cygwin.
- Nhấn Next lần nữa để hoàn tất cài đặt. Môi trường Cygwin, và
zsync
, sẽ được tải xuống và cài đặt. (Nếu bạn được yêu cầu cài đặt các gói được yêu cầu làm phụ thuộc, hãy tiếp tục và làm như vậy.)
Sau khi cài đặt, hãy mở vỏ Cygwin. Bạn có thể chạyzsync
từ đó.
Người giới thiệu
Xin lưu ý rằng trong khi bạn có thể đăng trên danh sách gửi thư của Cygwin
về các vấn đề với Cygwin (sau khi đọc và các tài liệu mà nó bảo bạn đọc), họ có thể không hỗ trợ các hướng dẫn không chính thức. cygwin
có tài liệu khá tốt, vì vậy giống như các dự án khác có tài liệu tập trung tốt (như OpenBSD), họ hy vọng rằng những người yêu cầu trợ giúp sẽ đọc tài liệu và đang làm việc (hoặc ít nhất là rất quen thuộc với nó).
(Do đó, nếu bạn gặp rắc rối với hướng dẫn của tôi, nơi tốt nhất để hỏi về chúng có lẽ là ở đây .)
zsync
trên Ubuntu
Điều này không áp dụng trong trường hợp cụ thể của bạn, nhưng đối với những người muốn sử dụng zsync
trên Ubuntu, chỉ cần cài đặt zsync . Điều này có thể được thực hiện trong Trung tâm phần mềm hoặc bằng cách chạy này trong cửa sổ Terminal ( Ctrl+ Alt+ T):
sudo apt-get update && sudo apt-get install zsync
Bây giờ bạn có thể chạy nó từ Terminal.
Liên quan: Làm cách nào để cập nhật ISO với zsync?
Sử dụng zsync
để sửa ảnh ISO bị hỏng của bạn
Trong Dấu nhắc Lệnh, chuyển đến thư mục chứa tệp ISO bị hỏng của bạn. (Bạn có thể sử dụng cd
để thay đổi thư mục, giống như Ubuntu. Sử dụng dir
để liệt kê nội dung của thư mục.) Đảm bảo rằng tệp bạn có cùng tên tệp như khi bạn nhận được.
Bây giờ chạy zsync
theo một trong những cách sau, tùy thuộc vào hình ảnh ISO của Ubuntu:
12.10, 32-bit:
zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-i386.iso.zsync
12.10, 64-bit:
zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-amd64.iso.zsync
12.04.1 LTS, 32 bit:
zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-i386.iso.zsync
12.04.1 LTS, 64 bit:
zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-amd64.iso.zsync
12.04 LTS (trước khi phát hành điểm 12.04.1), 32 bit:
zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-i386.iso.zsync
12.04 LTS (trước khi phát hành điểm 12.04.1), 64 bit:
zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-amd64.iso.zsync
Khi bạn chạy một trong những lệnh đó, zsync
sẽ tự động vá ISO của bạn lên đúng phiên bản và bạn sẽ ổn.
Sử dụng zsync
cho các tập tin khác
Cú pháp chung là bạn chạy zsync
theo một URL hoàn chỉnh cho .zsync
tệp trên máy chủ có cùng tên với tệp bạn có phiên bản và muốn tải xuống (ngoại trừ .zsync
ở cuối khóa học).
Trong trường hợp bất kỳ ai cũng muốn làm điều này cho bất kỳ bản phát hành Ubuntu nào khác (hoặc các tệp ISO khác cho cùng một bản phát hành, như phiên bản được tối ưu hóa để khởi động đúng cách trên máy Mac hoặc phiên bản cho thiết bị di động dựa trên ARM), đây là quy tắc nơi đặt các .zsync
tệp :
Hình ảnh ISO có chứa các trình cài đặt hiện được hỗ trợ, bao gồm cả ISO cho bản phát hành LTS điểm mới nhất và tất cả các bản phát hành LTS được hỗ trợ hiện tại của ISO, được đặt tại:
http://releases.ubuntu.com/
Hình ảnh ISO cho các bản phát hành cuối đời (dù sao bạn không nên sử dụng) hoặc các bản phát hành điểm trước đó của các bản phát hành LTS được hỗ trợ được đặt trong:
http://old-releases.ubuntu.com/releases/
Chỉ cần nhấp vào liên kết cho phiên bản của bạn và cuộn xuống để xem danh sách tập tin đầy đủ (hoặc tìm kiếm trang cho .zsync
). Sau đó sao chép URL và dán nó vào zsync
lệnh.
Sử dụng trong "Nâng cấp"
Bạn cũng có thể dùng zsync
để "nâng cấp" ISO này sang ISO khác. Nó có thể sẽ phải tải lại hầu hết các tệp nếu bạn đang nâng cấp từ bản phát hành Ubuntu này sang bản phát hành khác. Nhưng nếu bạn đang nâng cấp các bản phát hành điểm (như 12.04 LTS lên 12.04.1 LTS), thì nó không phải tải xuống nhiều như vậy. Đây là một cách tuyệt vời để có được một bản phát hành điểm mới một cách nhanh chóng và hiệu quả.
Chỉ cần đổi tên tệp cũ để nó có cùng tên với tệp mới, sau đó chạy zsync
như trên.
BitTorrent
Khi kết nối Internet của bạn có tỷ lệ lỗi cao, BitTorrent thường là một trong những cách tốt nhất để tải xuống các tệp đáng tin cậy. Các tệp được chia thành nhiều phần nhỏ, và mỗi phần được tải xuống và kiểm tra xem đó có phải là thật không. (Các phần riêng lẻ có thể được tải xuống từ các máy tính khác nhau, đó là điều cho phép BitTorrent tránh tải trên máy chủ trung tâm và đạt được tốc độ thường nhanh hơn tốc độ có thể khi tải xuống dựa trên web.)
Các torrent cho Ubuntu 12.10 và Ubuntu 12.04.1 có thể được lấy tại đây.
Bạn sẽ cần một "khách hàng" BitTorrent để tải xuống. Nếu bạn chưa có cái nào bạn thích, đối với Windows, tôi khuyên dùng BitTornado .
Sau khi bạn tải xuống, tôi khuyên bạn nên gieo một số nếu bạn có thể, để trả lại cho cộng đồng. (Với BitTorrent, nó từ những người như bạn.) Bạn không cần phải làm điều đó ngay lập tức - bạn có thể quay lại chương trình BitTorrent của mình và gieo hạt sau. Bạn thậm chí có thể thoát nó trong khi quá trình tải xuống chưa hoàn thành và tiếp tục lại bất cứ lúc nào.
Sử dụng BitTorrent để sửa tệp bạn có
Cảnh báo: Tiểu mục này không được nghiên cứu kỹ như phần còn lại của câu trả lời. Tôi chưa thử nghiệm việc sử dụng BitTorrent để sửa các tệp bị hỏng gần đây hoặc trên Windows hoặc với BitTornado. Tôi hy vọng điều này sẽ làm việc cho bạn, nhưng tôi không thể chắc chắn.
Mặc dù BitTorrent không được sử dụng phổ biến cho mục đích này zsync
, nhưng bản thân giao thức BitTorrent cũng có khả năng như vậy.
Một số chương trình BitTorrent sẽ làm điều này - những chương trình khác sẽ từ chối hoặc tải xuống toàn bộ tệp từ đầu - trừ khi tệp bạn bắt đầu có cùng kích thước. (Thuận tiện, tải xuống bị hỏng thường có cùng kích thước với tệp chính xác.)
Đặt hình ảnh ISO cũ trong cùng thư mục với .torrent
tệp. Đảm bảo chương trình BitTorrent của bạn tải torrent ở đó. Nó sẽ kiểm tra xem tập tin hiện tại của bạn có tốt không. Khi thấy một số phần bị sai, nó có thể tải lại chúng.
Đối với một số chương trình BitTorrent, bạn phải nhập tệp dưới dạng torrent đang tiến hành hoặc mở tệp để gieo hạt, để thực hiện việc này.