나는 지정된 tar
몇 가지 인스턴스와 함께 Gnu를 사용하고 있습니다 --exclude
.
나는 둘 다 얻는다
Removing leading / from member names
그리고
Removing leading / from hard link targets
경고. 그들 사이의 차이점은 무엇입니까?
답변1
타르볼 내 항목은 "/"로 시작할 수 없습니다. 즉, 절대 경로가 있습니다. 이는 보안 기능이므로 tarball의 압축을 풀면 모든 파일이 시스템 전체에 흩어져 있는 대신(및 중요한 파일을 덮어쓰는 대신) 대상 디렉터리와 하위 디렉터리에 있는지 확인할 수 있습니다.
표시되는 경고는 tar
일반 파일("멤버 이름")과 하드 링크("하드 링크 대상") 모두에 대해 절대 경로에서 선행 "/"를 제거한 결과입니다.
예를 들어, 이 명령은...
/home/user $ tar czf tarball.tgz /home/user/data
..."/home/..."이 "home/..."로 변환되므로 이러한 경고가 발생합니다. 타르볼 압축 풀기...
/home/user $ tar xzf tarball.tgz
...모든 파일이 /home/user/home/user/data
. 선행 슬래시를 제거하지 않았다면 대신 tar
에 있는 파일을 /home/user/data
덮어썼을 것입니다.