소유권을 uid 1001, gid 1001로 변경할 수 없습니다: 잘못된 매개변수

소유권을 uid 1001, gid 1001로 변경할 수 없습니다: 잘못된 매개변수

ONOS를 설치하고 이 가이드를 따릅니다.https://wiki.onosproject.org/display/ONOS/Developer+Quick+Start

나는 명령을 실행했다.

sudo bazel build onos

그러면 bazel-bin 디렉터리에 있는 설치 가능한 onos.tar.gz가 컴파일되고 어셈블됩니다.

하지만 다음과 같은 오류가 발생합니다.

tar: apache-karaf-4.2.6/examples/karaf-war-example: Cannot change ownership to uid 1001, gid 1001: Invalid argument

일부 사람들이 이 페이지에서 이 문제를 해결했으며 이는 CIFS와 관련이 있다는 것을 알고 있습니다.https://www.krenger.ch/blog/linux-tar-cannot-change-ownership-to-permission-denied/

tar 명령에 --no-same-owner 매개변수를 사용했습니다.

# tar xzf $INPUT_FOLDER/archive.tar.gz --no-same-owner -C /mnt/test-nas/[..]

문제는 제 경우 tar가 bazel에 의해 사용된다는 것입니다. 저는 수퍼유저로부터 tar를 호출하지 않고, bazel은 tar를 사용하고 있는데 실패한다는 것입니다. 이 문제를 어떻게 해결할 수 있나요?

답변1

uid/gid를 사용하여 시스템에 사용자/그룹을 추가하면 문제가 해결될 수 있습니다. 이름을 바꿔라푸바바젤인가 뭔가

그룹 추가푸바GID 1001 사용

sudo groupadd -g 1001 foobar

사용자 추가푸바uid 1001에는 홈 디렉토리가 없습니다

sudo useradd -M -u 1001 -g 1001 foobar

답변2

--no-same-owner실행 중인 스크립트에 추가해 보세요 tar.

  • 패키지 스크립트 편집:
    vim /opt/onos/tools/package/onos-prep-karaf
    
  • 22행을 다음으로 변경합니다.
    tar xf $KARAF_TAR --no-same-owner
    

그런 다음 실행

sudo bazel build onos

다시.

답변3

그 이후로 해결책을 찾으셨겠지만, (나처럼) Onos를 시작하신 분들은: bazel을 사용하여 개발 버전을 설치한다면 ubuntu 데스크탑을 사용해야 합니다(ubuntu 20을 사용해도 문제 없습니다). 우분투 서버를 사용하면 이 오류가 발생할 수 있습니다. 문서에 적혀있지만 처음에는 잘 읽지 못했습니다 :D

관련 정보