web-dev-qa-db-ja.com

破損したUbuntu ISOで破損したファイルを特定して置き換える方法

したがって、これはUbuntuの実行に関する問題ではなく、インストールに関する問題です。

Ubuntu ISOを(任意のソースから)ダウンロードしようとするたびに、破損しているように見えます。つまり、MD5の合計は決して正しくありません。

Ubuntu ISOファイルには、ISO内のすべてのファイルとそれぞれのMD5SUMをリストしたファイルが付属しています。

私がやりたいのは、このファイルをループし、それらをISO内のファイルと比較し、他のISOファイルの1つから破損したファイルを抽出できることを期待して、破損しているファイルを調べることです作業インストーラー。

しかし、これを行う方法はわかりません。もちろん、さらに悪いことに、Windows 7からこれを行う必要があります。

誰もこれを修正する方法を知っていますか?

14
Hailwood

実際、どのファイルが破損しているか知っています

破損した複数のISOイメージのファイルを単一の良好なISOイメージに結合しようとすることは、この問題に対する適切なアプローチではありません。その理由は次のとおりです。

ほとんどすべてのISOイメージ内のデータは、たった1つのファイルcasper/filesystem.squashfsに属します。

UbuntuデスクトップCDまたはDVD ISOイメージ上、つまり。サーバーCDイメージまたは代替CDイメージでは、それは別の話です。

Nautilus properties for filesystem.squashfs on an Ubuntu 12.10 i386 desktop CD

だから今、私はあなたがダウンロードした各ISOでほぼ確実にどのファイルが壊れているか、そのファイル、それらすべてについて教えてくれる。 Ubuntu ISOで何かが破損している場合、ほとんどの場合、不良バイトはそこにあります。

filesystem.squashfsitselfのディスクイメージです。ライブCDでシステムを起動する一部としてマウントされます。 ISOから潜在的にそれを抽出し、itsの内容を抽出し、破損したものを確認し、破損したファイルを置き換えることができます。 SquashfsファイルシステムをWindowsにマウントまたは抽出することはできますが、そうするのは簡単な作業ではないでしょう。また、このイメージは圧縮されているため、含まれているISOの小さな破損が複数のファイルに影響を与えないという保証はありません。

さらに、ISOイメージを数回ダウンロードしてみて、常に破損している場合は、マイナー破損だけではないことを確信できます。この方法で実行しようとした場合、数百または数千のファイルを置き換える必要があります。

代わりに、より信頼性の高い方法を使用してISOイメージをダウンロードする必要があります。

便利なことに、そのうちの1つ(zsync)は、その中に含まれている必要なファイルだけでなく、ISOファイルの必要な部分だけをダウンロードすることを除いて、あなたが考えているものと似ています。

正しいMD5ハッシュと比較していることを確認する

MD5の合計が間違っているときに最初に行うこと-特にファイルを再度ダウンロードした後に間違っている場合-MD5ハッシュと比較していることを確認する正しいファイル。

私の推測は

  • 12.04 LTSイメージがあり、12.04.1 LTSイメージにMD5ハッシュを使用している
    (これは 同じファイルではない )、、または
  • 12.04.1 LTSイメージがあり、12.04 LTSイメージにMD5ハッシュを使用している場合、or
  • 32ビット(「i386」)イメージがあり、64ビットイメージにMD5ハッシュを使用している場合、or
  • 64ビット(「AMD64」)イメージがあり、32ビットイメージにMD5ハッシュを使用している。

各ファイルのMD5ハッシュのリストはこちらです。

一般に、MD5ハッシュが間違っているが、複数のダウンロードで同じ場合、通常は

  • 間違ったハッシュと比較している、or
  • ファイルがサーバー上で破損している場合(そのように見える場合は、別のミラーからダウンロードし、必要に応じて、ubuntu-website-contentに対するバグを報告して問題を修正します)、または
  • webコンテンツをキャッシュするプロキシまたはVPNを使用しており、何らかの方法で破損したコピーをキャッシュしています(別のミラーからダウンロードすることでも解決するはずです)、or
  • fTP経由でダウンロードしており、サーバーまたはFTPクライアントに問題があるため、ファイルがバイナリモードではなくテキストモードで転送されます(これにより破損し、通常は毎回同じように破損します)、または
  • 故意に間違ったファイルを送っている悪意のある第三者によって、意図的に接続がインターセプトされ、変更されています(ただし、これは通常ほとんどありません)。

(異なる)ダウンロードミラーを手動で選択できます このページの下部

ISOイメージが本当に破損している場合、良いファイルを取得する方法がいくつかあります。

zsync

zsynchere も参照)は、部分的に正しいファイルを完全に正しい適切なバージョンを持っていない部分だけをダウンロードしてファイルします。その主なアプリケーションは、あるナイトリービルドから別のナイトリービルドまで、わずかに更新されたイメージをダウンロードすることです。

zsyncの動作方法は次のとおりです。ファイル(Ubuntuプロジェクトなど)を提供する誰かが、多くのチェックサムを含む.zsyncファイルを作成します。何もないところからファイル全体までどこからでも始められます。

何もせずに、ファイル全体がダウンロードされます。ファイルの一部(つまり、サイズが異なるか、バイナリサイズが異なる同じサイズのファイル)を使用して、ダウンロードが必要な部分を特定し、それらの部分のみをダウンロードします。ファイル全体では、何もダウンロードしません。

非常に信頼性の低いインターネット接続の場合、zsyncは、ファイル全体を最初からダウンロードするためのWebブラウザよりもはるかに優れていません、2回以上実行するつもりがない限り、その場合、後で実行すると、以前の実行の問題が修正されます。最高のエラーレートを除くすべてのインターネット接続では、ファイルでzsyncを2回、場合によっては3回実行するだけで十分です。

しかし、zsyncを複数回実行することについてほとんど心配する必要はありません。あなたはすでに(おそらく)ファイルの大部分を持っているので、それは問題になりません。そして、いつものように、zsyncが破損したものを提供する場合、それを修正するためにいつでもzsyncをいつでも実行できます。

Windows用のzsyncの取得

zsyncは伝統的にUnixライクなシステム(実際にはWindowsを含まない)で実行されます。ただし、最近 zsyncのネイティブWindowsポートが作成されました なので、おそらくそれを使用できます。

zsyncはコマンドラインプログラムであるため、Windowsではコマンドプロンプトで実行します。 (コマンドプロンプトを開く1つの方法は、[スタート]メニューのテキストボックスにcmd.exeと入力し、 Enter。または、Windows XP以前では、[スタート]> [実行]> [cmd.exe。)

別の方法:Cygwinのzsyncの取得

zsyncのWindowsポートに問題がある場合は、常にCygwinバージョンを使用できます。 Cygwinは、Windows用のUnixライクな環境を提供します。コンパイルされた実行可能ファイルは実行できません(たとえば、Ubuntuパッケージのzsyncは使用できません)が、ソースからコンパイルされたプログラムの特別なバージョンを使用します。 (Windowsでネイティブに動作するようにコンパイルするよりも、CygwinでUnixライクなオペレーティングシステム用に記述されたプログラムをコンパイルする方がはるかに簡単です。)

  1. まず、 ここからCygwinのインストーラー(setup.exe)を取得します (または この直接リンク を使用します)。
  2. 実行して、最初の画面でNextをクリックし、Internetからインストールを選択してNextもう一度。
  3. 次の2つの画面で、Cygwinとローカルパッケージディレクトリを好きな場所に配置します(通常はデフォルトで十分です)。
  4. インターネット接続の種類を選択します(直接接続が通常適切です)、setup.exeはミラーのリストをダウンロードします。
  5. ミラーを選択すると、利用可能なパッケージのリストがダウンロードされます。このバージョンが以前のバージョンとどのように異なるかについて、おそらく警告されるでしょう。同じマシンで以前のバージョンのCygwinを使用していない限り、これは問題ではありません。

    Setup Alert message about how how this is the first time you've installed this particular version of Cygwin. If you haven't used Cygwin before, this can be ignored. As it says, "If this is the first time you've installed Cygwin on this system then you can ignore this message."

  6. これで、インストールするパッケージを選択できます。パッケージを名前で検索するためのテキストボックスがあります。そこにzsyncと入力します(ただしdo notpress Enter-行う場合は、Next)をクリックするようなものです。 Netのエントリが表示されます。をクリックして展開します + その左側にSkipが表示されます。つまり、何も変更しないと、setup.exezsyncnotインストールします。

    Velma Dinkley installs zsync in Cygwin while updating her blog in "Siren's Song."

  7. 一度クリックすると、Skipと表示されます。これで、Cygwin用のzsyncの最新の安定バージョンがインストールされます。

    enter image description here

  8. Nextをもう一度クリックして、インストールを完了します。 Cygwin環境とzsyncがダウンロードされ、インストールされます。 (依存関係として必要なパッケージをインストールするように求められたら、先に進んでください。)

インストールしたら、Cygwin Shellを開きます。そこからzsyncを実行できます。

参考文献

Cygwinの問題については Cygwinメーリングリスト に投稿することができますが(Cygwinの問題とそれを読むように指示した資料を読んだ後)、当然ながらnot非公式の指示をサポートします。 cygwinは非常に優れたドキュメントを持っているため、優れた一元化されたドキュメント(OpenBSDなど)を備えた他のプロジェクトと同様に、彼らはヘルプを求める人々がドキュメントを読んで作業する(または少なくとも非常に精通している)ことを期待しています。

(したがって、私の指示に問題がある場合、それらについて尋ねるのに最適な場所はおそらくここです。)

Ubuntuのzsync

これは特定のケースには当てはまりませんが、Ubuntuでzsyncを使用する場合は、 zsync Install zsync 。これは、ソフトウェアセンターで実行するか、ターミナルウィンドウ(Ctrl+Alt+T):

Sudo apt-get update && Sudo apt-get install zsync

これで、ターミナルから実行できます。

関連: zsyncでISOを更新する方法

zsyncを使用して破損したISOイメージを修正する

コマンドプロンプトで、破損したISOファイルを含むディレクトリに移動します。 (Ubuntuと同じように、cdを使用してディレクトリを変更できます。dirを使用して、ディレクトリの内容を一覧表示します。)入手したファイルと同じファイル名を使用してください。

Ubuntu ISOイメージに応じて、次のいずれかの方法でzsyncを実行します。

  • 12.10、32ビット:

    zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-i386.iso.zsync
    
  • 12.10、64ビット:

    zsync http://releases.ubuntu.com/quantal/ubuntu-12.10-desktop-AMD64.iso.zsync
    
  • 12.04.1 LTS、32ビット:

    zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-i386.iso.zsync
    
  • 12.04.1 LTS、64ビット:

    zsync http://releases.ubuntu.com/12.04.1/ubuntu-12.04.1-desktop-AMD64.iso.zsync
    
  • 12.04 LTS(12.04.1ポイントリリース前)、32ビット:

    zsync http://old-releases.ubuntu.com/releases/precise/ubuntu-12.04-desktop-i386.iso.zsync
    
  • 12.04 LTS(12.04.1ポイントリリース前)、64ビット:

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

これらのコマンドのいずれかを実行すると、zsyncは自動的にISOを正しいバージョンにパッチし、準備完了です。

他のファイルにzsyncを使用する

一般的な構文は、zsyncを実行した後、サーバー上の.zsyncファイルの完全なURLを実行します。このファイルは、バージョンがあり、ダウンロードするファイルと同じ名前です(もちろん、.zsyncを除く)。

他のUbuntuリリース(またはMacでの適切な起動に最適化されたバージョンやARMベースのモバイルデバイス用のバージョンなど、同じリリースの他のISOファイル)でこれを実行したい場合は、.zsyncファイルの場所に関するルールがあります位置:

  • LTSリリースの最新ポイントリリースのISOおよび現在サポートされているLTSリリースのすべてのISOを含む、現在サポートされているインストーラーを含むISOイメージは、次の場所にあります。

    http://releases.ubuntu.com/

  • サポート終了のリリース(とにかく使用しないでください)またはサポートされているLTSリリースの以前のポイントリリースのISOイメージは、次の場所にあります。

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

ご使用のバージョンのリンクをクリックし、下にスクロールして完全なファイルリストを表示するか、ページで.zsyncを検索してください。次に、URLをコピーして、zsyncコマンドに貼り付けます。

「アップグレード」で使用

zsyncを使用して、ISOを別のISOに「アップグレード」することもできます。あるUbuntuリリースから別のリリースにアップグレードする場合、おそらくファイルのほとんどを再ダウンロードする必要があります。ただし、ポイントリリース(12.04 LTSから12.04.1 LTSなど)をアップグレードする場合は、それほど多くダウンロードする必要はありません。これは、新しいポイントリリースを迅速かつ効率的に取得するための優れた方法です。

古いファイルの名前を変更して新しいファイルと同じ名前にし、上記のようにzsyncを実行します。

BitTorrent

インターネット接続のエラー率が高い場合、 BitTorrent はファイルを確実にダウンロードするための最良の方法の1つです。ファイルは多数の小さな断片に分割され、各断片はダウンロードされ、それが本物かどうかを確認します。 (個々のピースは異なるコンピューターからダウンロードできます。これにより、BitTorrentは中央サーバーに負荷をかけることを回避し、Webベースのダウンロードで可能な速度よりも高速になります。)

buntu 12.10およびUbuntu 12.04.1のトレントはここから入手できます。

ダウンロードするには、BitTorrent「クライアント」が必要です。お好みのものがまだない場合は、Windowsで BitTornado をお勧めします。

ダウンロードした後、できればいくつかをシードして、コミュニティに還元することをお勧めします。 (あなたのような人からのBitTorrentを使って。)しかし、すぐにそれをする必要はありません。あなたはBitTorrentプログラムに戻って、後でシードすることができます。ダウンロードが終了していないときに終了して、いつでも再開することもできます。

BitTorrentを使用してファイルを修正する

警告:このサブセクションは、他の回答ほどよく研究されていません。私は最近、BitTorrentを使用して破損したファイルを修正したり、Windows上で、またはBitTornadoでテストしたりしていません。私はこれがあなたのために働くことを期待していますが、私は確信できません。

BitTorrentはこの目的のためにzsyncほど一般的に使用されていませんが、BitTorrentプロトコル自体は同じ能力を持っています。

いくつかのBitTorrentプログラムはこれを行います-他の人は、あなたが始めたファイルがまったく同じサイズでない限り、拒否するか、ファイル全体を最初からダウンロードします。 (便利なことに、破損したダウンロードoftenは、正しいファイルと同じサイズです。)

古いISOイメージを.torrentファイルと同じフォルダーに入れます。 BitTorrentプログラムがそこに急流をダウンロードすることを確認してください。現在のファイルが適切かどうかを確認します。一部のパーツが間違っていると判断した場合、再ダウンロードできます。

一部のBitTorrentプログラムでは、これを行うには、進行中のトレントとしてファイルをインポートするか、シードのためにファイルを開く必要があります。

34
Eliah Kagan