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