Tar --absolute-names 플래그가 작동하지 않습니다.

Tar --absolute-names 플래그가 작동하지 않습니다.

전체 디렉터리 레이아웃을 저장하면서 특정 디렉터리의 모든 항목을 아카이브에 저장하려고 하므로 상위 수준 디렉터리 이름이 필요합니다.

다음 명령을 실행합니다.

tar --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

그러나 이는 아래의 디렉토리 레이아웃만 저장합니다 opt.

dir1
dir1/file
file1
file2

--absolute-names매뉴얼에서 이해한 바에 따르면 or 를 사용해야 하는데 -P위 명령에 추가하면 둘 다 작동하지 않습니다.

tar --absolute-names --create --gzip --recursion --file=/home/user/test_backup.tgz --directory=/home/user/opt .

무엇이 문제일까요?

아카이브에서 원하는 디렉터리 레이아웃은 다음과 같아야 합니다.

/home/user/opt/dir1
/home/user/opt/dir1/file
/home/user/opt/file1
/home/user/opt/file2

답변1

이를 사용하면 FOO 디렉토리로 전환하고 거기에서 아카이브를 시작하라는 --directory FOO .메시지가 표시됩니다 .tar

전체 경로 이름을 원하면 패턴으로 지정해야 합니다.

예를 들어

tar -czf /home/user/test_backup.tgz /home/user/opt

하지만 이렇게 하면 주인공의 능력이 사라지게 되므로 이렇게 하지 않도록 /지시해야 합니다 .tar

tar --absolute-names -czf /home/user/test_backup.tgz /home/user/opt

답변2

$ tar -P -cvzf archive.tgz /path/to/dir

그러면 내용 /path/to/dir과 로 시작하는 전체 경로가 포함된 아카이브가 생성됩니다 /path/to/dir.

경로의 선행 부분을 유지하려면 -P아카이브에서 파일을 추출할 때도 이를 사용해야 합니다./

관련 정보