clobbering없이 'tar'추출하는 방법이 있습니까


12

tar클로버 링없이 추출 할 수 있는 방법이 있습니까?

12.04를 설치하고 10.10에서 데이터를 복원하려고합니다. 내가 유지하고 싶은 12.04 특정 항목, 즉 tar'd 10.10 버전을 추출 하고 싶지 않습니다 . 일반 복원을 수행하면 .bashrc와 같은 파일이 클로버됩니다. 이것을 피할 수있는 방법이 있습니까?

편집 : 부팅 된 12.04 ISO 디스크 이미지는 10.10 (또는 무엇이든)에서 업그레이드 할 수 있으며 오래된 데이터를 유지하도록 제공합니다. 나는 이것을 시도했지만 업그레이드 후에 일부 응용 프로그램이 깨져있을 수 있다고 불평했다. 방금 재부팅하고 새로 설치하기로 결정했습니다.

답변:


14

나는 당신이 원하는 것을 이해하는 데 어려움이 있지만 전체 시스템의 tar 파일을 만들면 tar 파일을 완전히 복원하지 않으면 실제 목적이 아닌 매우 큰 tar 파일을 만들었습니다. 자신의 문서를 저장하려면 해당 문서를 백업해야합니다.

타르에는 몇 가지 멋진 옵션이 있다고 말한 후 ...

--keep-old-files

기존 파일을 덮어 쓰지 않습니다.

--keep-newer-files 

이렇게하면 최신 타임 스탬프가있는 모든 파일이 그대로 유지됩니다.

--no-overwrite-dir

기존 디렉토리의 메타 데이터는 그대로 유지됩니다.

tar 설명서는 여기에서 찾을 수 있습니다 .

그러나 다른 매체에서 tar 파일을 추출하고 해당 파일을 수동으로 복원하는 것이 좋습니다. 가장 안전한 방법입니다.


3
--keep-newer-files 및 --no-overwrite-dir을 사용하더라도 기존의 전체 시스템 백업을 새 시스템으로 추출하면 시스템이 없어야하는 많은 파일이 추출되므로 시스템이 구겨진 상태가됩니다. gui에서 파일 롤러로 아카이브를 열고 홈 디렉토리에 원하는 특정 파일을 추출해야합니다.
— psusi

나는 내 대답의 마지막 줄에 동의합니다 :)
— Rinzwind

2
@Rinzwind, 당신 말이 맞아요, 내 아카이브에는 잘못된 디자인이 있습니다. 많은 배제와 여전히 배제가 충분하지 않기 때문에 Maverick이 Precise에 덮어 쓰기 때문에 복구가 혼란스럽고 위험합니다. 다음 아카이브는 엄격하게 포함됩니다. 수동 복원에 대한 귀하의 제안은 좋은 것입니다.
— H2ONaCl

8

에서 타르 (1) :

 -k, --keep-old-files
       don't replace existing files when extracting

나에게 분명한 것 같습니다. tarball의 파일이 이전 homedir에 상대적으로 저장된 경우 :

tar xvkf backup.tar.gz -C ~

압축하는 동안에도 작동합니다.
— nyxee

@nyxee 압축 된 아카이브 (예 :)를 추출 할 때도 작동합니다 tar xvkzf backup.tar.gz -C ~. tar czf foo.tar.gz foo/당신이 그것에 대해 묻는다면 새로운 아치 ( ) 를 만들려고 할 때 그것이 인식되지 않는다고 생각합니다 .
— Lekensteyn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.