손상된 Ubuntu ISO에서 손상된 파일을 식별하고 바꾸는 방법은 무엇입니까?


14

따라서 이것은 우분투를 실행하는 데 문제가되는 것이 아니라 설치하는 데 있습니다.

우분투 ISO (모든 소스에서)를 다운로드하려고 할 때마다 손상된 것으로 보입니다. 즉, MD5 합계는 절대 정확하지 않습니다.

Ubuntu ISO 파일은 ISO의 모든 파일과 해당 MD5SUM을 나열하는 파일과 함께 제공됩니다.

내가하고 싶은 것은이 파일을 반복하여 ISO의 파일과 비교하고 손상된 파일을 해결하여 다른 iso 파일 중 하나에서 손상된 파일을 추출하여 작동하는 설치 프로그램.

그러나이 작업을 수행하는 방법을 모르겠으며 물론 악화시키기 위해서는 Windows 7 에서이 작업을 수행해야합니다.

누구든지 이것을 고치는 방법을 알고 있습니까?


Jigdo (데비안이 선호하는 방식)가이 작업을 수행 할 수 없어야합니까? 이제 주요 목적은 ISO 내의 패키지 업데이트를 통해 ISO의 포인트 릴리스에 대한 델타 업데이트를 수행하는 것입니다. 데비안 ISO 파일 및 jigdo에 대해
gertvdijk

@gertvdijk Ubuntu의 데스크탑 ISO에는 해당되지 않습니다. 대부분 단일 파일 만 포함하기 때문입니다 ( 내 답변 참조 ). 그렇기 때문에 데스크톱 ISO의 .jigdo다운로드 서버에 연결된 파일 이 없습니다 . 대체 CD와 서버 CD ISO의가 할 수 있는 .jigdo파일을. 데스크톱 ISO에는 라이브 CD 시스템을 디스크에 기록한 다음 변경하여 정상적인 (설치된) 사용을 준비하는 유비 쿼터 설치 프로그램이 있습니다.
Eliah Kagan

@EliahKagan 그 의미가 있습니다. 그렇다면 완전한 ISO를 수정하기위한 PAR 패리티 블록 파일 이 없어야 합니까? 그것은 훨씬 더 효율적이고 훨씬 쉽고 보편적입니다. "Parchive는 원래 Usenet에서 파일을 안정적으로 전송하는 문제를 해결하기 위해 작성되었지만 [1] 현재 데이터 손상, 비트 부패 및 우발적 또는 악의적 손상으로부터 모든 종류의 데이터를 보호하는 데 일반적으로 사용됩니다."
gertvdijk

1
PAR이 왜 더 나은가 zsync? PAR이 우분투 프로젝트에 의해 공식적으로 지원 되더라도 (이와 같은 zsync) 주목할만한 이점이 있습니까? jigdo 정보 : 대체 및 서버 CD에 적용됩니다. 이들은 debian-installer, 베어 본 시스템 생성, chrooting 및 패키지 설치를 사용합니다. 따라서 .deb패키지 풀에 있는 모든 파일이 있습니다 (데스크톱 CD에는 파일이 거의 없습니다). 그것들은 쉽게 .jigdo(또는 다른 방법으로) 조립 될 수 있습니다 . jigdo깨진 파일 만 다운로드하는 방법에 대한 서버 / 대체에 대한 답변 을 게시 할 수 있습니다 .
Eliah Kagan

1
@EliahKagan-PAR은 오프라인으로 작업을 수행 할 수 있습니다 ( 예 : "수리하려면 3 개의 패리티 블록이 필요합니다"). Zsync는 효과적으로 좋은 복사본을 필요로합니다 (이 경우에는 원격). 하지만 원칙은 같습니다. BTW, Zsync가 gziped 아카이브를 매우 잘 처리 할 수 있지만 SquashFS에서는 인텔리전스가 쓸모 없다고 생각합니다. 어쨌든 우분투 ISO의 경우 zsync가 실제로 진행됩니다.
gertvdijk

답변:


34

실제로 어떤 파일이 손상되었는지 알고 있습니다.

손상된 여러 ISO 이미지의 파일을 하나의 양호한 ISO 이미지로 결합하려고 시도하는 것은이 문제에 대한 좋은 접근 방식이 아닙니다. 이유는 다음과 같습니다.

ISO 이미지의 거의 모든 데이터는 하나의 파일 () 에만 속합니다 casper/filesystem.squashfs.

우분투 데스크탑 CD 또는 DVD ISO 이미지에서. 서버 CD 이미지 나 대체 CD 이미지에서는 다른 이야기입니다.

Ubuntu 12.10 i386 데스크탑 CD의 filesystem.squashfs에 대한 노틸러스 속성

따라서 지금 다운로드 한 각 ISO 파일에서 파일이 손상되었는지 거의 확실하게 알 수 있습니다. Ubuntu ISO에서 무언가가 손상된 경우 불량 바이트는 거의 항상 어딘가에 있습니다.

filesystem.squashfs자체는 디스크 이미지; 라이브 CD에서 시스템을 부팅 할 때 마운트됩니다. ISO에서 ISO를 추출한 다음 내용 을 추출 하고 손상된 내용을 확인하고 손상된 파일을 교체 할 수 있습니다. Windows에서 squashfs 파일 시스템을 마운트하거나 추출 할 수는 있지만 사소한 작업이 될 수 있습니다. 이 이미지는 압축되므로 ISO를 포함하는 작은 손상이 여러 파일에 영향을 미치지 않을 것이라는 보장은 없습니다.

또한 ISO 이미지를 여러 번 다운로드하려고 시도했지만 항상 손상된 경우 사소한 손상 이 아니라고 확신 할 수 있습니다 . 이 방법으로 수백 또는 수천 개의 파일을 교체해야 할 수도 있습니다.

대신보다 안정적인 방법을 사용하여 ISO 이미지를 다운로드해야합니다.

편리하게도 그중 하나 ( zsync)는 ISO 파일에 포함 된 필요한 파일이 아닌 필요한 ISO 파일 만 다운로드한다는 점을 제외하면 생각한 것과 비슷합니다.

올바른 MD5 해시와 비교하고 있는지 확인

MD5 합계가 잘못 되었을 때 ( 특히 파일을 다시 다운로드 한 후에 잘못된 경우) 가장 먼저해야 할 일은 MD5 해시와 비교하여 올바른 파일인지 확인하는 것입니다.

내 생각 엔

  • 당신은 12.04 LTS 이미지가 당신은 12.04.1 LTS 이미지에 대한 MD5 해시를 사용하고
    (인 같은 파일이 아닙니다을 ), 또는
  • 12.04.1 LTS 이미지가 있고 12.04 LTS 이미지에 MD5 해시를 사용 중이 거나
  • 32 비트 ( "i386") 이미지가 있고 64 비트 이미지에 MD5 해시를 사용 중이 거나
  • 64 비트 ( "amd64") 이미지가 있고 32 비트 이미지에 MD5 해시를 사용하고 있습니다.

각 파일에 대한 MD5 해시 목록이 여기에 있습니다.

일반적으로 MD5 해시가 잘못되었지만 둘 이상의 다운로드에 대해 동일하면 일반적으로

  • 잘못된 해시와 비교 하거나
  • 파일은 서버 (즉, 외모가 다른 미러의 경우, 다운로드, 그리고하는 경우에 당신이 기꺼이하는 경우에 그래서, 문제가 해결됩니다, 그래서 우분투 - 웹 사이트 컨텐츠에 대한 버그를보고)에 손상되고 또는
  • 웹 콘텐츠를 캐시하는 프록시 또는 VPN을 사용하고 있으며 손상된 복사본을 캐시 한 경우 (다른 미러에서 다운로드해도 문제를 해결해야 함) 또는
  • 당신은 FTP 서버 또는 FTP 클라이언트에 문제가 통해있는 거 다운로드는 바이너리 모드가 아닌 텍스트 모드에서 (이 것이 손상하고, 같은 방법으로 매번 일반적으로 손상)을 전송할 파일을 일으키는 원인이된다 또는
  • 귀하의 연결이 고의적으로 잘못된 파일을 제공하는 악의적 인 제 3 자에 의해 고의적으로 가로 채거나 변경되고 있습니다 (이것은 보통은 아닐 것입니다).

이 페이지 하단에서 (다른) 다운로드 미러 수동으로 선택할 수 있습니다 .

ISO 이미지가 실제로 손상된 경우 좋은 파일을 얻는 방법은 다음과 같습니다.

zsync

zsync( 여기도 참조 )는 올바른 버전이없는 부분 만 다운로드 하여 부분적으로 올바른 파일을 완전히 올바른 파일 로 변환 할 수있는 유틸리티 입니다. 주요 응용 프로그램은 야간 업데이트에서 다른 빌드로 약간 업데이트 된 이미지를 다운로드하는 것입니다.

방법의 zsync작품은 이것이다 : (우분투 프로젝트와 같은) 파일을 제공하는 누군가가 만들어 .zsync많은 체크섬을 포함 파일 - 오히려 전체 파일에 대한 하나의 검사보다 파일의 많은 작은 부분에 해당하는 체크섬을. 아무것도 아닌 전체 파일부터 시작합니다.

아무것도 없으면 전체 파일이 다운로드됩니다. 파일의 일부 (즉, 이진 차이가 다른 크기 나 크기가 같은 이름의 파일)를 사용하면 어떤 부분을 다운로드해야하는지 파악하고 해당 부분 만 다운로드합니다. 전체 파일을 사용하면 아무것도 다운로드하지 않습니다.

들어 매우 신뢰할 수없는 인터넷 연결 , zsync더 나은 처음부터 전체 파일을 다운로드 할 수있는 웹 브라우저보다입니다 당신이 그것을 두 번 이상 실행하는 데 기꺼이하지 않는 경우에, 나중에 실행 이전에 실행의 문제를 해결합니다 . 오류율이 가장 높은 인터넷 연결을 제외한 모든 파일에 대해 zsync를 두 번 또는 때로는 세 번 실행하면 충분합니다.

그러나 zsync여러 번 실행 하는 것에 대해 거의 걱정할 필요가 없습니다 . 이미 대부분의 파일을 가지고 있기 때문에 문제가되지 않습니다. 그리고 항상 zsync손상된 것을 주면 항상 zsync다시 실행 하여 문제를 해결할 수 있습니다.

얻기 zsyncWindows 용

zsync전통적으로 유닉스 계열 시스템 (실제로는 Windows를 포함하지 않음)에서 실행됩니다. 그러나 최근 에 기본 Windows 포트 zsync가 생성 되었으므로이 포트를 사용할 수 있습니다.

zsync명령 줄 프로그램이므로 Windows에서는 명령 프롬프트에서 실행합니다. 명령 프롬프트를 여는 한 가지 방법 cmd.exe은 시작 메뉴의 텍스트 상자에 입력 Enter하고을 누르는 것 입니다. 또는 Windows XP 및 이전 버전의 경우 시작> 실행> cmd.exe.

다른 방법 : zsyncCygwin 얻기

의 Windows 포트에 문제가있는 경우 언제든지 zsyncCygwin 버전을 사용할 수 있습니다. Cygwin은 Windows 용 Unix와 유사한 환경을 제공합니다. 컴파일 된 실행 파일을 실행할 수는 없지만 (예를 들어 zsyncUbuntu 패키지에서 사용할 수 없음 ) 소스에서 컴파일 된 특수 버전의 프로그램을 사용합니다. (Cygwin에서 Unix와 유사한 운영 체제 용으로 작성된 프로그램을 컴파일하는 것이 Windows에서 기본적으로 작동하도록 컴파일하는 것보다 훨씬 쉽습니다.)

  1. 먼저 Cygwin의 설치 프로그램 ( setup.exe)을 여기에서 가져 오십시오 (또는 이 직접 링크 사용 ).
  2. 이를 실행 하고 첫 번째 화면에서 다음 을 클릭 한 후 인터넷 에서 설치 를 선택 하고 다음을 다시 클릭 하십시오.
  3. 다음 두 화면에서 Cygwin과 로컬 패키지 디렉토리를 원하는 위치에 놓으십시오 (기본값은 보통).
  4. 인터넷 연결 유형을 선택하고 ( 직접 연결 하는 것이 좋습니다) setup.exe미러 목록을 다운로드합니다.
  5. 미러를 선택하면 사용 가능한 패키지 목록이 다운로드됩니다. 이 버전이 이전 버전과 어떻게 다른지에 대해 경고 받게 될 것입니다. 같은 컴퓨터에서 이전 버전의 Cygwin을 사용하지 않았다면 문제가되지 않습니다.

    이 특정 버전의 Cygwin을 처음 설치 한 방법에 대한 경고 메시지를 설정하십시오.  Cygwin을 사용한 적이 없다면 무시해도됩니다.  "이 시스템에 Cygwin을 처음 설치 한 경우이 메시지를 무시해도됩니다."

  6. 이제 설치할 패키지를 선택할 수 있습니다. 이름으로 패키지를 검색하기위한 텍스트 상자가 있습니다. zsync거기에 입력하십시오 (그러나 누르지 않으면 다음을Enter 클릭하는 것과 같습니다 ). Net에 대한 항목 이 나타납니다. 왼쪽 의을 클릭하여 펼치면 그 아래에 건너 뛰기가 나타납니다. 당신은 아무것도 변경하지 않는 수단 경우 것이 됩니다 하지 설치 .+setup.exezsync

    Velma Dinkley는 "Siren 's Song"에서 블로그를 업데이트하면서 Cygwin에 zsync를 설치합니다.

  7. 따라서 Skip 이라고 표시된 곳을 한 번 클릭하십시오 . 이제 zsyncCygwin 의 최신 안정 버전을 설치합니다 .

    여기에 이미지 설명을 입력하십시오

  8. 다음을 다시 클릭 하여 설치를 완료하십시오. Cygwin 환경 및가 zsync다운로드되어 설치됩니다. 종속성으로 필요한 패키지를 설치하라는 메시지가 표시되면 계속 진행하십시오.

설치되면 Cygwin 쉘을여십시오. zsync거기에서 달릴 수 있습니다 .

참고 문헌

Cygwin 메일 링리스트 에 Cygwin 관련 문제 (그것을 읽은 후 읽은 자료를 읽은 후)에 게시 할 수 는 있지만 비공식적 지침은 지원 하지 않습니다 . cygwinOpenBSD와 같은 중앙 집중식 문서가 좋은 다른 프로젝트와 마찬가지로 상당히 좋은 문서를 가지고 있기 때문에 도움을 요청하는 사람들이 문서를 읽고 문서를 읽거나 그 문서에 익숙 할 것으로 기대합니다.

(따라서, 만약 당신이 나의 지시에 문제가 있다면, 그들에게 물어볼 가장 좋은 곳은 아마 여기에있을 것 입니다.)

zsync 우분투에서

이것은 특정한 경우에는 적용되지 않지만 zsync우분투에서 사용하려는 사람들은 zsync를zsync 설치 설치하십시오 . 소프트웨어 센터에서 수행하거나 터미널 창 ( Ctrl+ Alt+ T) 에서 실행하면됩니다 .

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

이제 터미널에서 실행할 수 있습니다.

관련 : 어떻게 zsync과 ISO를 업데이트하는 방법은 무엇입니까?

zsync손상된 ISO 이미지 수정에 사용

명령 프롬프트에서 손상된 ISO 파일이 포함 된 디렉토리로 이동하십시오. ( cdUbuntu와 같은 디렉토리를 변경 하는 데 사용할 수 있습니다 . dir디렉토리의 내용을 나열하는 데 사용하십시오 .) 가지고있는 파일의 이름이 파일 이름과 동일해야합니다.

이제 zsync우분투 ISO 이미지에 따라 다음 방법 중 하나를 실행 하십시오.

  • 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
    

이러한 명령 중 하나를 실행하면 zsyncISO를 올바른 버전으로 자동 패치하므로 사용하는 것이 좋습니다.

사용하여 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 릴리스에서 다른 Ubuntu 릴리스로 업그레이드하는 경우 대부분의 파일을 다시 다운로드해야합니다. 그러나 12.04 LTS와 같은 12.04 LTS를 12.04.1 LTS로 업그레이드하는 경우 상당히 많이 다운로드 할 필요는 없습니다. 새로운 포인트 릴리즈를 빠르고 효율적으로 얻을 수있는 훌륭한 방법입니다.

새 파일과 동일한 이름을 가지도록 이전 파일의 이름을 바꾸고 zsync위와 같이 실행하십시오 .

비트 토렌트

인터넷 연결의 오류율이 높은 경우 BitTorrent 는 종종 파일을 안정적으로 다운로드하는 가장 좋은 방법 중 하나입니다. 파일은 여러 개의 작은 조각으로 나뉘어져 있으며 각 조각이 다운로드되어 실제 파일인지 확인합니다. 개별 조각은 다른 컴퓨터에서 다운로드 할 수 있으므로 BitTorrent는 중앙 서버에로드를 피하고 웹 기반 다운로드에서 가능한 것보다 더 빠른 속도를 달성 할 수 있습니다.

Ubuntu 12.10 및 Ubuntu 12.04.1의 급류는 여기에서 얻을 수 있습니다.

다운로드하려면 BitTorrent "클라이언트"가 필요합니다. 원하는 것을 아직 가지고 있지 않다면 Windows의 경우 BitTornado를 권장 합니다 .

다운로드 한 후에는 가능하면 커뮤니티에 기부하기 위해 씨를 뿌리는 것이 좋습니다. (BitTorrent를 사용하면 여러분과 같은 사람들의 도움을받을 수 있습니다.) 지금 바로 할 필요는 없습니다. BitTorrent 프로그램으로 돌아가서 나중에 시드 할 수 있습니다. 다운로드가 완료되지 않은 상태에서 종료하고 언제든지 다시 시작할 수 있습니다.

BitTorrent를 사용하여 파일 수정

경고 :이 하위 섹션은 나머지 답변만큼 잘 연구되지 않았습니다. 최근, Windows 또는 BitTornado에서 손상된 파일을 수정하기 위해 BitTorrent의 사용을 테스트하지 않았습니다. 나는 이것이 당신에게 도움이 될 것으로 기대하지만 확신 할 수는 없습니다.

BitTorrent는이 목적으로 일반적으로 사용되지는 않지만 zsyncBitTorrent 프로토콜 자체도 그 기능을 수행 할 수 있습니다.

시작하는 파일의 크기가 정확히 같은 경우가 아니면 일부 BitTorrent 프로그램이이를 수행합니다. 다른 프로그램은 전체 파일을 거부하거나 다운로드하지 않습니다. 편리하게도 손상된 다운로드는 종종 올바른 파일과 크기가 같습니다.

이전 ISO 이미지를 .torrent파일 과 같은 폴더에 넣습니다 . BitTorrent 프로그램이 토렌트를 다운로드했는지 확인하십시오. 현재 파일이 양호한 지 확인합니다. 일부 부품에 문제가 있으면 다시 다운로드 할 수 있습니다.

일부 BitTorrent 프로그램의 경우 파일을 진행중인 토렌트로 가져 오거나 파종하기 위해 열어야합니다.


15
이것은 다소 장대 한 답변입니다.
Nanne

감사합니다! 기존 파일을 복구하기 위해 BitTorrent를 사용하여 제공 한 것보다 자세한 내용을 알고있는 경우 Btw에 대해 더 자세한 정보를 제공하려면이 정보를 편집하십시오 (원하는 경우).
Eliah Kagan

와우 ... 지금 이것은 내가 기대했던 답의 약 10 배입니다! 감사! 이것을 시도해보고 더 자세한 내용으로 질문을 수락하거나 업데이트하십시오!
Hailwood

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.