Bagaimana cara mengidentifikasi dan mengganti file yang rusak di ISO Ubuntu yang rusak?

14

Jadi, ini bukan masalah menjalankan Ubuntu, melainkan dengan menginstalnya.

Setiap kali saya mencoba mengunduh ISO Ubuntu (dari sumber mana pun), sepertinya rusak. Artinya, jumlah MD5 tidak pernah benar.

File ISO Ubuntu datang dengan file yang mencantumkan semua file dalam ISO, dan MD5SUM masing-masing.

Apa yang ingin saya lakukan adalah mengulangi file ini, dan membandingkannya dengan file mereka di ISO, dan mencari tahu file apa yang rusak, dengan harapan saya dapat mengekstrak file yang rusak dari salah satu file iso lainnya, untuk membuat installer bekerja.

Tapi, saya tidak tahu bagaimana melakukan ini, dan tentu saja, untuk membuatnya lebih buruk, saya harus melakukan ini dari Windows 7.

Adakah yang tahu bagaimana cara memperbaikinya?

Hailwood
sumber
Tidakkah seharusnya Jigdo (cara yang disukai Debian) mampu melakukan ini? Tujuan utamanya sekarang adalah untuk melakukan pembaruan delta untuk rilis titik pada ISO melalui pembaruan paket dalam ISO. tentang ISO Debian dan Jigdo
gertvdijk
@ gertvdijk Bukan untuk ISO desktop Ubuntu, karena kebanyakan berisi hanya satu file (lihat jawaban saya ). Karena itulah ISO desktop tidak memiliki .jigdofile terkait di server unduhan. CD alternatif dan CD server ISO memang memiliki .jigdofile. ISO desktop memiliki penginstal Ubiquity, yang berfungsi dengan menulis sistem live CD ke disk dan kemudian membuat perubahan sehingga disiapkan untuk penggunaan normal (diinstal).
Eliah Kagan
@ ElliKagan Itu masuk akal. Oke, dalam hal ini, bukankah seharusnya ada file blok paritas PAR untuk memperbaiki ISO lengkap? Itu jauh lebih efisien, jauh lebih mudah, dan lebih universal. "Parchive awalnya ditulis untuk memecahkan masalah mentransfer file yang andal di Usenet, [1] tetapi sekarang digunakan untuk melindungi segala jenis data dari korupsi data, bit busuk, dan kerusakan yang tidak disengaja atau berbahaya."
gertvdijk
1
Mengapa PAR lebih baik daripada zsync? Bahkan jika PAR didukung secara resmi oleh proyek Ubuntu (seperti zsyncapakah), adakah keuntungan yang menonjol? Tentang jigdo: Ini berlaku untuk CD server dan alternatif. Mereka menggunakan debian-installer, menciptakan sistem tulang kosong, chroot dan menginstal paket. Jadi mereka memiliki semua .debfile, yang terletak di kumpulan paket (yang hanya berisi beberapa file kecil pada CD desktop). Mereka dapat dengan mudah dirakit dengan .jigdo(atau metode lain). Anda mungkin ingin mengirim jigdojawaban berbasis-server untuk / alternatif tentang cara mengunduh hanya file yang rusak.
Eliah Kagan
1
@EliahKagan Seharusnya menyebutkan bahwa - PAR dapat melakukan hal-hal offline , misalnya "Anda perlu 3 blok paritas untuk diperbaiki", beri mereka makan, "oke, perbaiki barang ... selesai!". Zsync secara efektif membutuhkan salinan lengkap yang lengkap (remote dalam kasus ini). Tapi ya, prinsipnya sama. BTW, saya melihat bahwa Zsync dapat menangani gziparsip ed dengan sangat baik, tetapi kecerdasan itu tidak berguna pada SquashFS, saya kira? Pokoknya, untuk Ubuntu ISO zsync adalah cara untuk pergi, memang.
gertvdijk

Jawaban:

34

Sebenarnya, Saya Tahu File Yang Rusak

Mencoba menggabungkan file dari banyak gambar ISO yang rusak menjadi satu, gambar ISO yang baik bukanlah pendekatan yang baik untuk masalah ini. Inilah sebabnya.

Hampir semua data dalam citra ISO hanya dimiliki oleh satu file casper/filesystem.squashfs,.

Pada CD desktop Ubuntu atau gambar ISO DVD, yaitu. Pada gambar CD server atau gambar CD alternatif, ini adalah cerita yang berbeda.

Properti Nautilus untuk filesystem.squashfs pada CD desktop Ubuntu 12.10 i386

Jadi saya dapat memberi tahu Anda sekarang file apa yang hampir pasti rusak pada setiap ISO yang Anda unduh: file itu, pada semuanya. Ketika ada sesuatu yang rusak di ISO Ubuntu, byte buruk hampir selalu ada di suatu tempat di sana.

filesystem.squashfsitu sendiri adalah gambar disk; itu dipasang sebagai bagian dari boot sistem pada live CD. Anda berpotensi bisa ekstrak dari ISO, kemudian ekstrak yang isinya, melihat apa yang rusak, dan mengganti file rusak. Meskipun Anda bisa me-mount atau mengekstrak filesystem squashfs di Windows, Anda mungkin merasa melakukan hal itu sebagai tugas yang tidak penting. Dan gambar ini dikompresi, jadi tidak ada jaminan bahwa kerusakan kecil pada ISO yang mengandung tidak akan mempengaruhi banyak file.

Selain itu, jika Anda telah mencoba mengunduh gambar ISO beberapa kali dan selalu rusak, Anda dapat yakin itu bukan hanya korupsi kecil . Anda mungkin harus mengganti ratusan atau ribuan file jika Anda berusaha melakukannya dengan cara ini.

Sebagai gantinya, Anda harus mengunduh citra ISO menggunakan metode yang lebih andal.

Mudahnya, salah satunya ( zsync) mirip dengan apa yang Anda pikirkan, kecuali bahwa itu akan mengunduh hanya potongan-potongan file ISO yang diperlukan, daripada hanya file yang diperlukan yang terkandung di dalamnya.

Pastikan Anda Membandingkan MD5 Hash yang Tepat

Hal pertama yang harus dilakukan ketika jumlah MD5 Anda salah - terutama jika salah setelah Anda mengunduh file lagi - adalah memastikan Anda membandingkannya dengan hash MD5 untuk file yang benar.

Dugaan saya adalah itu

  • Anda memiliki gambar 12,04 LTS dan Anda menggunakan hash MD5 untuk gambar 12,04 LTS
    (yang bukan file yang sama ), atau
  • Anda memiliki gambar 12,04 LTS dan Anda menggunakan hash MD5 untuk gambar 12,04 LTS, atau
  • Anda memiliki gambar 32-bit ("i386") dan Anda menggunakan hash MD5 untuk gambar 64-bit, atau
  • Anda memiliki gambar 64-bit ("amd64") dan Anda menggunakan hash MD5 untuk gambar 32-bit.

Daftar hash MD5 untuk setiap file ada di sini.

Secara umum, jika hash MD5 Anda salah tetapi sama untuk lebih dari satu unduhan, biasanya

  • Anda membandingkan hash yang salah, atau
  • file rusak di server (jadi jika itu yang terjadi, unduh dari mirror yang berbeda, dan, jika Anda mau, laporkan bug terhadap konten-situs-ubuntu sehingga masalahnya dapat diperbaiki), atau
  • Anda menggunakan proksi atau VPN yang menyimpan konten web, dan entah bagaimana telah menyalin salinan yang rusak (mengunduh dari mirror lain juga harus memperbaikinya), atau
  • Anda mengunduh melalui FTP dan masalah dengan server atau dengan klien FTP Anda menyebabkan file ditransfer dalam mode teks daripada mode biner (ini akan merusaknya, dan biasanya merusaknya dengan cara yang sama setiap kali), atau
  • koneksi Anda secara sengaja dicegat dan diubah oleh pihak ketiga jahat yang dengan sengaja memberi Anda file yang salah (meskipun ini biasanya sangat tidak mungkin).

Anda dapat secara manual memilih mirror unduhan (berbeda) di bagian bawah halaman ini .

Jika gambar ISO Anda benar-benar rusak, berikut adalah beberapa cara untuk mendapatkan file yang bagus.

zsync

zsync(lihat juga di sini ) adalah utilitas yang dapat mengubah file yang sebagian benar menjadi file yang sepenuhnya benar dengan mengunduh hanya bagian-bagian yang Anda tidak memiliki versi yang tepat. Aplikasi utamanya adalah untuk mengunduh gambar yang sedikit diperbarui, seperti gambar dari satu bangunan malam ke bangunan lainnya.

Cara zsynckerjanya adalah ini: Seseorang yang menawarkan file (seperti proyek Ubuntu) membuat .zsyncfile yang berisi banyak checksum - checksum yang berhubungan dengan banyak bagian kecil file, bukan hanya satu checksum untuk seluruh file. Anda mulai dengan mana saja dari nol hingga seluruh file.

Tanpa apa-apa, seluruh file diunduh. Dengan bagian dari file (yaitu, file dengan nama yang sama dengan ukuran yang berbeda atau ukuran yang sama dengan sejumlah perbedaan biner), ia mengetahui bagian mana yang perlu diunduh, dan hanya mengunduh bagian-bagian itu. Dengan seluruh file, itu tidak mengunduh apa pun.

Untuk koneksi internet yang sangat tidak dapat diandalkan , zsynctidak jauh lebih baik daripada browser web untuk mengunduh seluruh file dari awal, kecuali jika Anda bersedia menjalankannya dua kali atau lebih, dalam hal ini, menjalankan nanti akan memperbaiki masalah pada berjalan sebelumnya . Untuk semua kecuali koneksi Internet dengan tingkat kesalahan tertinggi, menjalankan zsync dua kali atau, kadang-kadang, tiga kali pada file harus memadai.

Tetapi Anda tidak perlu khawatir tentang berlari zsyncbeberapa kali. Karena Anda sudah - mungkin - memiliki sebagian besar file, sehingga seharusnya tidak menjadi masalah. Dan seperti biasa jika zsyncmemberi Anda sesuatu yang rusak, Anda selalu dapat lari zsynclagi untuk memperbaikinya.

Mendapatkan zsyncuntuk Windows

zsyncbiasanya berjalan pada sistem seperti Unix (yang tidak benar-benar menyertakan Windows). Namun, baru -zsync baru ini port Windows asli telah dibuat , jadi Anda mungkin dapat menggunakannya.

zsyncadalah program command-line, jadi di Windows Anda menjalankannya di Command Prompt. (Salah satu cara untuk membuka command-prompt adalah mengetikkan cmd.exeke dalam kotak teks di menu Start dan tekan Enter. Atau, di Windows XP dan sebelumnya, Start> Run> cmd.exe.)

Cara lain: Mendapatkan zsyncuntuk Cygwin

Jika Anda memiliki masalah dengan port Windows zsync, Anda selalu dapat menggunakan versi Cygwin. Cygwin menyediakan lingkungan mirip Unix untuk Windows. Itu tidak memungkinkan executable yang dikompilasi untuk dijalankan (misalnya, Anda tidak dapat menggunakan zsyncdari paket Ubuntu), tetapi menggunakan versi khusus dari program yang dikompilasi dari sumber. (Jauh lebih mudah untuk mengkompilasi program yang ditulis untuk sistem operasi mirip Unix di Cygwin, daripada mengkompilasinya sehingga bekerja secara native di Windows.)

  1. Pertama, dapatkan penginstal Cygwin ( setup.exe) dari sini (atau gunakan tautan langsung ini ).
  2. Jalankan, klik Next pada layar pertama, lalu pilih Install from Internet dan klik Next lagi.
  3. Pada dua layar berikutnya, letakkan Cygwin dan direktori paket lokal di mana pun Anda suka (standarnya biasanya bagus).
  4. Pilih jenis koneksi Internet Anda ( Sambungan Langsung biasanya baik), dan setup.exeakan mengunduh daftar mirror.
  5. Pilih cermin apa pun, dan itu akan mengunduh daftar paket yang tersedia. Anda mungkin akan diperingatkan tentang perbedaan versi ini dari versi sebelumnya. Itu bukan masalah, kecuali Anda telah menggunakan versi Cygwin sebelumnya pada mesin yang sama.

    Setup Alert message tentang bagaimana ini pertama kali Anda menginstal versi Cygwin ini.  Jika Anda belum pernah menggunakan Cygwin sebelumnya, ini dapat diabaikan.  Seperti dikatakan, "Jika ini adalah pertama kalinya Anda menginstal Cygwin pada sistem ini maka Anda dapat mengabaikan pesan ini."

  6. Sekarang Anda dapat memilih paket apa yang akan diinstal. Ada kotak teks untuk mencari paket berdasarkan nama. Ketik di zsyncsana (tapi jangan tekan Enter- jika Anda melakukannya, itu seperti mengklik Berikutnya ). Entri untuk Net akan muncul. Luaskan dengan mengklik tombol +di sebelah kiri dan Anda akan melihat Skip muncul di bawahnya. Itu berarti jika Anda tidak mengubah apa pun, tidaksetup.exe akan menginstal .zsync

    Velma Dinkley menginstal zsync di Cygwin sambil memperbarui blognya di "Lagu Siren."

  7. Jadi klik sekali, di mana dikatakan Lewati . Sekarang ia akan menginstal versi stabil terbaru zsyncuntuk Cygwin.

    masukkan deskripsi gambar di sini

  8. Klik Next lagi untuk menyelesaikan instalasi. Lingkungan Cygwin, dan zsync, akan diunduh dan diinstal. (Jika Anda diminta untuk menginstal paket yang diperlukan sebagai dependensi, silakan dan lakukan.)

Setelah diinstal, buka shell Cygwin. Anda bisa lari zsyncdari sana.

Referensi

Harap dicatat bahwa sementara Anda dapat memposting di milis Cygwin untuk masalah dengan Cygwin (setelah membaca itu dan materi yang memberitahu Anda untuk membaca), mereka dimengerti tidak mendukung instruksi tidak resmi. cygwinmemiliki dokumentasi yang cukup baik, jadi seperti proyek lain dengan dokumentasi terpusat yang baik (seperti OpenBSD), mereka berharap bahwa orang yang meminta bantuan akan membaca dokumentasi dan bekerja dari (atau setidaknya sangat akrab dengan) itu.

(Karena itu, jika Anda memiliki masalah dengan instruksi saya, tempat terbaik untuk menanyakannya mungkin di sini .)

zsync di Ubuntu

Ini tidak berlaku untuk kasus spesifik Anda, tetapi untuk orang-orang yang ingin menggunakan zsyncUbuntu, cukup instal zsyncInstal zsync . Ini dapat dilakukan di Pusat Perangkat Lunak atau dengan menjalankan ini di jendela Terminal ( Ctrl+ Alt+ T):

sudo apt-get update && sudo apt-get install zsync

Sekarang Anda dapat menjalankannya dari Terminal.

Terkait: Bagaimana cara saya memperbarui ISO dengan zsync?

Menggunakan zsyncuntuk Memperbaiki Gambar ISO Anda yang Rusak

Di Command Prompt, buka direktori yang berisi file ISO Anda yang rusak. (Anda dapat menggunakan cduntuk mengubah direktori, sama seperti Ubuntu. Gunakan diruntuk membuat daftar isi direktori.) Pastikan file yang Anda miliki memiliki nama file yang sama seperti ketika Anda mendapatkannya.

Sekarang jalankan zsyncdengan salah satu cara ini, tergantung pada Ubuntu ISO image yang mana itu:

  • 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 (sebelum rilis poin 12.04.1), 32-bit:

    zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-i386.iso.zsync
    
  • 12,04 LTS (sebelum rilis poin 12.04.1), 64-bit:

    zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-amd64.iso.zsync
    

Setelah Anda menjalankan salah satu dari perintah itu, zsyncsecara otomatis akan menambal ISO Anda ke versi yang benar, dan Anda siap melakukannya.

Menggunakan zsyncuntuk File Lain

Sintaks umum adalah bahwa Anda menjalankan zsyncdiikuti oleh URL lengkap untuk .zsyncfile di server yang memiliki nama yang sama dengan file yang Anda miliki versi dan ingin mengunduh (kecuali dengan .zsyncdi akhir saja).

Jika ada yang ingin melakukan ini untuk rilis Ubuntu lainnya (atau file ISO lainnya untuk rilis yang sama, seperti versi yang dioptimalkan untuk boot dengan benar di Mac atau versi untuk perangkat seluler berbasis ARM) di sini adalah aturan di mana .zsyncfile berada :

  • Gambar ISO yang berisi installer yang didukung saat ini, termasuk ISO untuk rilis titik terbaru dari rilis LTS dan semua ISO untuk rilis LTS yang saat ini didukung, terletak di:

    http://releases.ubuntu.com/

  • Gambar ISO untuk rilis akhir masa pakai (yang seharusnya tidak Anda gunakan) atau rilis titik sebelumnya dari rilis LTS yang didukung ada di:

    http://old-releases.ubuntu.com/releases/

Cukup klik tautan untuk versi Anda dan gulir ke bawah untuk melihat daftar file lengkap (atau cari halaman .zsync). Kemudian salin URL dan tempel di zsyncperintah.

Gunakan di "Peningkatan"

Anda juga dapat menggunakan zsyncuntuk "meningkatkan" satu ISO ke yang lain. Mungkin harus mengunduh ulang sebagian besar file jika Anda meningkatkan dari satu rilis Ubuntu ke yang lain. Tetapi jika Anda meningkatkan rilis poin (seperti 12,04 LTS ke 12,04,1 LTS), itu tidak harus mengunduh cukup banyak. Ini adalah cara terbaik untuk mendapatkan rilis poin baru dengan cepat dan efisien.

Cukup ganti nama file lama sehingga memiliki nama yang sama dengan file baru, kemudian jalankan zsyncseperti di atas.

BitTorrent

Ketika koneksi Internet Anda memiliki tingkat kesalahan yang tinggi, BitTorrent seringkali merupakan salah satu cara terbaik untuk mengunduh file dengan andal. File dibagi menjadi banyak bagian kecil, dan setiap bagian diunduh dan diperiksa untuk melihat apakah itu yang asli. (Masing-masing bagian dapat diunduh dari komputer yang berbeda, yang memungkinkan BitTorrent menghindari menempatkan beban pada server pusat, dan mencapai kecepatan lebih cepat daripada yang mungkin dengan unduhan berbasis web.)

Torrent untuk Ubuntu 12.10 dan Ubuntu 12.04.1 dapat diperoleh di sini.

Anda perlu "klien" BitTorrent untuk mengunduhnya. Jika Anda belum memilikinya, untuk Windows saya sarankan BitTornado .

Setelah Anda mengunduh, saya sarankan untuk menaburkan beberapa jika Anda bisa, untuk memberikan kembali kepada komunitas. (Dengan BitTorrent dari orang-orang seperti Anda.) Anda tidak harus segera melakukannya - Anda dapat kembali ke program BitTorrent dan menabur di lain waktu. Anda bahkan dapat menghentikannya saat unduhan belum selesai, dan melanjutkannya kapan saja.

Menggunakan BitTorrent untuk Memperbaiki File yang Anda Miliki

Peringatan: Subbagian ini tidak diteliti sebaik sisa jawaban. Saya belum menguji penggunaan BitTorrent untuk memperbaiki file yang rusak baru-baru ini, atau pada Windows, atau dengan BitTornado. Saya berharap ini akan bekerja untuk Anda, tetapi saya tidak yakin.

Sementara BitTorrent tidak biasa digunakan untuk tujuan ini zsync, protokol BitTorrent sendiri sama mampu.

Beberapa program BitTorrent akan melakukan ini - yang lain akan menolak, atau mengunduh seluruh file dari awal - kecuali file yang Anda mulai dengan ukuran yang persis sama. (Secara mudah, unduhan yang rusak seringkali berukuran sama dengan file yang benar.)

Letakkan gambar ISO lama di folder yang sama dengan .torrentfile. Pastikan program BitTorrent Anda mengunduh torrent di sana. Ini akan memeriksa untuk melihat apakah file Anda saat ini baik. Ketika melihat beberapa bagian salah, ia dapat mengunduhnya kembali.

Untuk beberapa program BitTorrent, Anda harus mengimpor file sebagai torrent yang sedang berlangsung, atau membukanya untuk seeding, untuk melakukan ini.

Eliah Kagan
sumber
15
Ini adalah jawaban yang agak epik.
Nanne
@Nanne, terima kasih! Btw jika Anda mengetahui lebih banyak detail daripada yang saya sediakan tentang menggunakan BitTorrent untuk memperbaiki file yang sudah ada, harap edit ini untuk memberikan informasi yang lebih baik tentang itu (jika Anda mau).
Eliah Kagan
Wow ... Sekarang ini sekitar 10x jawaban yang saya harapkan! Terima kasih! Akan mencoba ini, dan menerima, atau memperbarui pertanyaan dengan lebih detail!
Hailwood
-1

Anda dapat menggunakan ISO Master jika Anda ingin menambah dan menghapus file ke ISO. Ini tersedia untuk Windows dan Linux.

Mukund
sumber