다양한 "선행 슬래시 제거" 경고의 의미는 무엇입니까?

다양한 "선행 슬래시 제거" 경고의 의미는 무엇입니까?

나는 지정된 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덮어썼을 것입니다.

관련 정보