저는 임베디드 시스템을 위한 많은 개발을 위해 Yocto를 사용하고 있습니다.
최종 출력으로 Yocto는 파일 시스템의 타르볼을 생성한 다음 이를 임베디드 시스템의 루트 파일 시스템이 되는 SD 카드의 ext4 파티션에 추출합니다.
SD 카드의 ext4 파티션에 대한 모든 권한을 적절하게 설정하기 위해 현재 sudo를 사용하여 파일의 압축을 풀고 있습니다. 즉 루트 권한을 사용하여 파일 삭제와 같은 작업을 반복적으로 수행한다는 의미입니다. 버그/또는 기타 이유 문서로 인해 내 시스템에서 무언가를 삭제합니다.
분명히 내 컴퓨터가 아닌 임베디드 파일 시스템에 대한 루트 액세스만 필요합니다.
일반 사용자로 파일의 압축을 풀고 결과 파일 시스템에서 올바른 UID를 얻을 수 있는 방법이 있습니까? 문제가 해결되면 장치 설치 방식을 변경하면 됩니다. 아니면 chroot 트릭을 사용할까요?
답변1
어쩌면 당신이 찾고 있는 tar
옵션 이 아닐까요?-p
에서 man 1 tar
:
-p, --preserve-permissions, --same-permissions
파일 권한에 대한 정보 추출(수퍼유저의 경우 기본값)
--numeric-owner
또한 --xattrs
다음에 관심이 있을 수도 있습니다.
--numeric-owner
사용자/그룹 이름에는 항상 숫자를 사용합니다.--xattrs는
확장된 속성 지원을 활성화합니다.