tar 파일을 만들고 싶습니다.일반(루트가 아닌) 사용자준비된 일부 바이너리 및 구성 파일은 다음과 같습니다.
etc/binaries.conf
usr/bin/binary1
usr/bin/binary2
/
이 디렉토리의 파일 시스템 에 추출한다는 의미입니다 .
기존 패키지 .deb, .rpm 등과 비슷하지만 "패키지 관리자 독립적"이어야 합니다. 따라서 아마도 .tar 파일만 갖게 될 것입니다(gzip, bzip, lzip 파일을 추가해야 할 수도 있지만 거기에 있습니다).
질문/질문
내 문제는 나야아니요이 tar를 다음과 같이 만들고 싶습니다.뿌리사용자님, 이 tar를 다음과 같이 빌드할 수 있는 방법이 있는지 알고 싶습니다.일반(루트가 아닌) 사용자그런 다음 .tar 파일이 컴퓨터에 배포되고 실제 root
사용자가 이러한 바이너리를 추출하면 소유자 소유 파일로 설치됩니다.뿌리사용자입니까 아니면 바이너리를 추출한 사용자입니까?
예
왜냐하면 지금은 .tar 파일을 다음과 같이 생성했기 때문입니다.일반(루트가 아닌) 사용자그리고
$ tar cf dist.tar dist/
그런 다음 .tar의 압축을 풀어서뿌리사용자 및
# tar xf dist.tar -C /
바이너리와 구성 파일의 소유자는 루트가 아닌 일반 사용자인 것을 확인했습니다.
$ ls -la /usr/bin/binary1
-rwxr-xr-x 1 user user 30232 jun 20 19:06 /usr/bin/binary1
가지고 싶다
$ ls -la /usr/bin/binary1
-rwxr-xr-x 1 root root 30232 jun 20 19:06 /usr/bin/binary1
명확히 하자면, 이 손으로 만든 패키징은 폐쇄형 인프라의 특정 작업에만 적용되므로 .deb, .rpm 또는 기타 더 정교한 패키징 시스템을 사용하는 것은 현재로서는 선택 사항이 아닙니다.
답변1
이것추출소유권을 결정하는 것이 아니라만들다보관. 예를 들어, 아카이브의 디렉토리를 보면 이를 확인할 수 있습니다.
tar tvf dist.tar
일반 사용자로 파일을 생성하는 경우
tar --owner 0 --group 0 dist.tar dist
마법을 시전하다