다른 "선구자 제거"경고의 의미는 무엇입니까?


7

나는 GNU를 사용하고있다. tar 몇 가지 경우와 --exclude 지정된.

나는 둘 다 얻는다.

Removing leading / from member names

Removing leading / from hard link targets

경고. 그들 사이의 차이점은 무엇입니까?

답변:


9

타르볼 내의 어떤 엔트리도 ​​"/"로 시작할 수 없습니다. 즉, 절대 경로를 가질 수 있습니다. 이는 보안 기능이므로 tarball의 압축을 풀면 모든 파일이 시스템 전체에 흩어져서 (중요한 파일을 덮어 쓰는 대신) 대상 디렉토리와 하위 디렉토리에 있는지 확인할 수 있습니다.

표시되는 경고는 tar 일반 파일 ( "회원 이름")과 하드 링크 ( "하드 링크 대상")에 대한 절대 경로에서 선행 "/"을 제거합니다.

예를 들어,이 명령은 ...

/home/user $ tar czf tarball.tgz /home/user/data

... "/ home / ..."이 "home / ..."으로 변환 될 때 이러한 경고가 발생합니다. tarball 압축 풀기 ...

/home/user $ tar xzf tarball.tgz

... 모든 파일이 압축 해제 된 결과가됩니다. /home/user/home/user/data. 만약 tar 선행 슬래시를 제거하지 않았다. /home/user/data 대신 덮어 썼을 것이다.


4
tar 자료실 아르 절대 이름이 허용되면 스트립 핑은 -P 필요하다면 ... 타르 아카이브는 symlink와 비슷한 방식으로 하드 링크를 저장합니다. 두 번째 및 이후 링크는 실제로 심볼릭 링크로 첫 번째를 가리 킵니다. 통로 (inode가 아닌) 두 번째 메시지가 표시됩니다.
grawity

@grawity : Uhhhh ... 그것이라고 말하자. 가능한 스트리핑을 비활성화합니다. 현재 디렉토리에있는 수천 개의 파일을 압축 해제하는 것과 같이 "허용"할 수 있습니다. ;-)
DevSolar

나는 슬래시를 벗기는 이유를 이해하고, 왜 이것이 기본값인지 이해하지만 두 경고의 주요 차이점은 "일반 파일"대 "하드 링크"라는 것을 알지 못했습니다. 고마워요.
user1071847
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.