저는 Solaris 11.3을 사용하고 있으며 가끔 Ebay에서 구입한 중고 LTO6 테이프 드라이브에 여러 개의 대규모 VM과 디스크 이미지를 직접 백업하고 싶지만 Solaris TAR에 8GB 이상의 파일 크기를 허용하는 "E" 플래그가 있음에도 불구하고 나에게는 그렇지 않습니다. 어느 쪽이든 테이프에서 읽는 동안 미디어 오류가 발생하면 TAR이 중단된다는 것을 알고 있으므로 사용하고 싶지 않습니다. CPIO는 PAX처럼 분명히 계속될 것이지만 이 두 가지는 8GB보다 큰 파일을 처리할 수 없으며 더 이상 사용되지 않으므로 절대 그렇게 하지 않을 것입니다.
CPIO가 수행하는 모든 작업을 수행할 수 있을 뿐만 아니라 8GB가 넘는 파일도 백업할 수 있는 CPIO의 후속 제품이 있습니까? 아니면 계속해서 TAR 대안을 사용하시겠습니까? 나는 이식성에 관심이 없으므로 타임스탬프 유지 등과 같이 적절한 아카이브 프로그램이 수행하는 일반적인 작업을 복구하고 수행할 수 있는 한 어떤 아카이브 형식이 사용되는지 상관하지 않습니다.
나는 *nix를 비교적 처음 접했고 다른 UNIX 또는 Linux 변형에서 이 작업을 수행할 수 있는 기성 명령줄 프로그램을 찾지 못했기 때문에 이 작업을 수행하려면 Amanda 또는 Bacula를 설치해야 할 수도 있습니다. 세기가 바뀌고 얼마 지나지 않아 사람들이 이 문제와 이전의 2GB 제한에 대해 불평하는 것을 보았습니다.
답변1
cpio의 크기에 대한 가정은 정확하지만 cpio는 단일 형식이 아닙니다.4개또는 다른 제약 조건으로 인해 완전히 호환되지 않는 형식도 있습니다. 이것이 cpio
표준에서 형식이 더 이상 사용되지 않는다고 선언한 이유입니다. cpio 형식을 개선할 때마다 호환되지 않는 또 다른 형식을 만들어야 하므로 cpio는 미래에 대비할 수 없습니다.
cpio 형식은 차단되지 않기 때문에 읽기 오류 후 판독기를 재동기화하는 것이 어렵고 오류가 발생하기 쉽습니다. 따라서 보관에는 cpio를 사용하지 않는 것이 좋습니다. 어쨌든, cpio 오류 복구에 대한 귀하의 진술은 cpio 자체가 아니라 AT&T 구현과 관련이 있으므로 GNU 구현에 유의하십시오....당신이 인용한 기능은 Sun/AT&T cpio와 유사하게 문서화되어 있지 않습니다. 문제를 일으키지 않고 실행 중인 프로그램의 대체 바이너리로 사용됩니다. 후자는 star -install
로깅 기능으로 얻을 수 있는 것입니다.
반면 TAR은 향상될 수 있는 형식이며(Sun Microsystems의 제안을 기반으로 2001년에 새로운 향상된 tar 형식을 표준화한 POSIX 덕분에) 향후 비호환성 문제 없이 사용할 수 있습니다.
테이프에서 읽기 오류가 발생하면 커널 드라이버가 이를 읽을 수 있을지 의심스럽습니다. 하지만 방금 Sun cpio를 확인했는데 내부적으로 EIO를 데이터를 반환하지 않는 일종의 EOF로 변환하는 것 같습니다. 여기서 가장 큰 문제는 Sun cpio가 상위 계층에 그러한 문제가 있다는 사실을 기억하지 못하는 것 같습니다.
cpio와 유사한 것을 얻으려면 다음을 사용하는 것이 좋습니다.
sdd if=/dev/rmt/0 bs=126k -noerror try=0 | star -xp -i
126k를 테이프의 블록 크기로 바꾸고 올바른 if= 매개변수를 사용하십시오.
추가 설명:
gtar
백업을 만들 수 있지만 자신의 파일을 복원할 수 없는 경우가 많습니다. 예를 들어, 두 증분 백업 간에 상당한 차이가 있는 증분 백업을 사용하는 경우 gtar
이런 일이 발생할 수 있습니다 .
star
opencsw는 새로운 것이 아닙니다. 다음 위치에서 패키지의 최신 버전을 컴파일하는 것이 좋습니다 schilytools
.
http://sf.net/projects/schilytools/files/
일반적으로 schilytools는 2주마다 업데이트됩니다.
star의 현재 매뉴얼 페이지는 다음 위치에 있습니다.
http://schilytools.sourceforge.net/man/man1/star.1.html
당신은 또한 볼 수 있습니다