디렉토리에 대한 이미지 파일을 만드는 방법은 무엇입니까?

디렉토리에 대한 이미지 파일을 만드는 방법은 무엇입니까?

디렉토리에 대한 이미지 파일을 만드는 방법은 무엇입니까? 예를 들어:

  • 터미널 명령을 통해 폴더에서 ISO 이미지 생성설명 genisoimage디렉터리에 대한 iso 이미지 파일을 생성할 수 있습니다.저는 디스크 볼륨용 이미지 파일을 생성하는 방법만 알고 있습니다.genisoimage먼저 디렉터리에 대한 루프 장치 또는 블록 장치 파일(CD/DVD와 유사)을 생성한 다음 루프 장치 또는 블록 장치 파일에 대한 이미지 파일을 생성 합니까 ? 이는 먼저 이미지 파일용 루프 장치를 생성해야 하는 디렉터리에 이미지 파일을 설치하는 2단계 프로세스(명령과 유사)와 정반대입니까 losetup?

  • 디렉토리에 대한 ext4 이미지 파일을 생성할 수 있는 명령이 있습니까? 이것도 2단계 프로세스인가요?

디렉토리에 대한 아카이브 파일을 생성할 수도 있습니다. 이 두 프로세스는 어떻게 다른가요? 디렉토리에 대한 이미지 파일 생성에는 루프 장치가 포함되지만 디렉토리에 대한 아카이브 파일 생성에는 루프 장치가 포함되지 않습니까?

답변1

ext4에 해당하는 도구는 없습니다. 말씀하신 대로 루프 장치를 사용하면 동일한 결과를 얻을 수 있습니다.

  1. 파일을 저장할 공간이 충분한 빈 이미지 파일을 만듭니다. -truncate -s 1G my.img
  2. 포맷하세요 -mkfs.ext4 my.img
  3. 루프 장치로 설치 -mount -oloop my.img /mnt
  4. 마운트된 파일 시스템에 파일을 복사합니다. -cp -a directory/. /mnt/.
  5. 축소 ext4 파일 시스템을 최소 크기로 사용하십시오 resize2fs -M my.img. 파일 시스템의 길이와 파일 시스템 블록 크기가 몇 블록인지 알려줍니다.
  6. 이제 적절한 명령을 사용하여 파일을 더 작은 크기로 자를 수 있습니다 truncate.

그러나 Linux 커널에는 쓰기 가능한 ISO9660 구현이 없으므로 이 genisoimage방법은 아닙니다. ISO9660용 축소 도구도 확실히 없습니다 :-).

ISO9660을 쓰기 가능한 파일 시스템으로 마운트하는 것은 이를 위해 설계되지 않았기 때문에 실용적이지 않을 수 있습니다. 예를 들어 디스크의 여유 공간을 효율적으로 추적하거나 삭제로 인해 남은 공간을 수용하기 위해 작성된 파일을 조각화할 수 있는 구조가 없을 수 있습니다.


genisoimage이는 TAR 또는 ZIP 아카이브 파일을 생성하는 것과 매우 유사합니다. 파일 시스템 이미지에는 지정된 모든 파일의 복사본이 포함됩니다. 크기는 지정된 모든 파일의 크기를 합한 것과 거의 같습니다. 그러나 이러한 아카이브 형식 간에는 몇 가지 대조가 있습니다. 파일 시스템 데이터 구조는 개별 파일을 효율적으로 읽을 수 있도록 디스크 장치의 섹터(2048바이트)에 정렬됩니다. 아카이브 형식은 이러한 큰 경계를 따르지 않습니다. 아카이브는 컴팩트하게 유지하기 위해 압축됩니다. 또한 모든 파일을 한 번에 추출하는 것이 일반적입니다. 아카이브 형식을 사용하려면 더 많은 노력이 필요할 것으로 예상됩니다.찾다별도의 파일을 만들고 그 내용을 읽습니다.

나는 이것을 카탈로그 이미지라고 부르지 않을 것입니다. 어원적으로는 실제 블록 장치의 이미지가 아닌 것 같습니다. 그러나 그것은 동일하다체재데이터 CDROM의 복사본으로 생성된 이미지 파일입니다. 맨 페이지에 나와 있듯이 -

genisoimage특정 디렉터리 트리의 스냅샷을 찍고 블록 장치에 기록될 때 ISO9660 및/또는 HFS 파일 시스템에 해당하는 바이너리 이미지를 생성합니다.


CD-R(및 DVD-R) 전용 기술이 만들어진 이유 중 하나는 이것이 특별한 경우이기 때문입니다.

작성시 검색이 불가능합니다. 더욱이, CD-R 기록 프로세스에는 당연히 연속적인 데이터 스트림의 입력이 필요합니다. 데이터가 충분히 빨리 제공되지 않고 데이터가 소진되면 쓰기가 실패하고 디스크가 쓸모 없게 됩니다. 요즘 많은 작가를 제외하고는 말이죠.해결책이 있습니다이는 표준화되지 않았으며 디스크에 기록하려면 작은 간격이 필요합니다.

운영 체제에서 일반 블록 장치 인터페이스를 사용하여 이러한 디스크에 쓰기를 허용하는 것이 반드시 유용한 것은 아닙니다. CD-R 블록 장치에 파일 시스템을 생성하고, 마운트하고, 파일을 복사할 수는 없습니다. 대신 우리는 보다 전문적인 접근 방식을 사용합니다.

genisoimage예를 들어 광 디스크 장치에 파일 시스템 이미지를 직접 쓰라고 지시하지 않습니다 /dev/sr0. wodim dev=/dev/sr0 -원한다면 파이프로 연결할 수 있습니다 :-). 고대에는 하나의 큰 파일을 읽을 때 더 일관된 성능을 얻을 수 있었기 때문에 전체 파일 시스템을 미리 이미지화하는 것이 더 안전했을 것입니다. 즉, 읽기 속도가 너무 느려질 가능성이 적어서 Writer의 데이터가 부족하여 실패할 가능성이 적습니다.

답변2

기존 파일 시스템을 이미징할 때 이는 일반적으로 기존 파일 시스템의 기본 블록 장치 내용에 대한 정확한 블록별 복사본을 생성하는 것을 의미합니다. 실제로는 정확한 사본입니다그대로 저장이미징 중.

하나ISO 이미지조금 다릅니다. 이는 해당 데이터에서 생성된 CD/DVD/블루레이 디스크 콘텐츠의 정확한 블록별 복사본이 되도록 어떤 방식으로든 정의된 일련의 디렉터리 및 파일로 구성된 파일입니다.할 것이다. 여기에는 ISO 이미지가 생성될 때 생성된 ISO9660 파일 시스템 메타데이터가 포함됩니다.

ISO 이미지 형식이 존재하는 이유는 CD 레코더 장치가 초기에 순차 액세스 모드에서만 디스크에 쓸 수 있었기 때문입니다.쓰기 작업 중에는 중지할 수 없습니다.디스크를 손상시키지 않고. 따라서 여기 저기에 하나의 파일을 쓸 수 없으며 진행하면서 컴파일할 수 없습니다. 쓰기를 실행하기 직전에 CD-ROM(또는 오디오 CD)을 구성하는 모든 파일과 모든 메타데이터를 미리 지정해야 합니다. 레이저 그런 다음 마지막 바이트가 전체 디스크에 한 번에 기록되거나 최소한 전체 데이터 또는 오디오 트랙에 기록됩니다. 이는 프레스 오디오 CD 및 CD-ROM의 대량 생산에 적합합니다.

(이후 CD-R이 등장하면서 650MiB를 모두 기록하지 않아도 디스크 전체를 낭비해야 하는 불편함이 발견되어 멀티 세션 CD 기록이 개발되었습니다. 나중에는 더욱 원활하게 기록할 수 있게 되었습니다. 쓰기 시작/중지 기술을 사용하면 CD-RW 패킷 쓰기 개발이 가능해졌고, 이를 최적화하기 위해 UDF 파일 시스템이 개발되었습니다...하지만 의견이 다릅니다.

전체 파일 시스템에서 이미지 파일을 생성할 수 있는 것과 동일한 방식으로 디렉터리에서 이미지 파일을 생성할 수 없습니다. 파일 시스템 이미지에는 할당된 블록, 사용 가능한 블록, 파일 시스템이 포함된 블록 장치에 있는 각 파일 및 디렉터리의 각 블록의 물리적 위치를 설명하는 파일 시스템 메타데이터가 포함됩니다. 이 정보는 나머지 파일 시스템의 맥락에서만 의미가 있습니다.

파일 시스템의 나머지 부분을 복사하지 않고 해당 정보를 복사하려고 시도하는 것은 거의 쓸모가 없습니다. 이러한 이미지에서 새 파일 시스템으로 파일을 복원할 때 원래 블록 위치 정보를 무시하고 파일 시스템 드라이버가 그에 따라 파일과 디렉터리를 배치하도록 해야 합니다. 블록이 사용 가능한 대상 파일 시스템으로 이동합니다. 그렇지 않으면 "이미지"를 복원할 때 기존 파일 및/또는 디렉터리를 덮어쓰거나 손상시킬 수 있습니다.

따라서 전체 파일 시스템이 아닌 디렉토리를 "이미지화"하는 경우 (상대) 경로 이름, 파일 및 디렉토리 소유권, 권한 및 기타 속성, 파일 내의 데이터만 저장하는 것이 합리적입니다. 이에 최적화된 파일 형식을 개발하면,아카이브 파일: 예를 들어 .tar파일입니다. 개념에 압축을 추가하면 파일 .tar.gz또는 .zip다양한 압축 아카이브 파일 형식 중 하나가 생성됩니다.

순환 장비가 필요하지 않습니다만들다이미지 파일: 파일 시스템의 이미지를 생성하려면 파일 시스템이 포함된 블록 장치의 모든 블록을 처음부터 끝까지 읽고 파일에 모두 쓰면서 파일 시스템이 이미지화되는 이미지인지 확인하기만 하면 됩니다. 이미징 중에는 수정되지 않습니다.

순환 장비는 다음을 허용합니다.콘텐츠에 액세스"실제" 블록 장치에 쓰지 않고 이미지 파일을 만듭니다.

관련 정보