无法将所有权更改为 uid 1001、gid 1001:参数无效

无法将所有权更改为 uid 1001、gid 1001:参数无效

我正在安装 ONOS 并遵循本指南:https://wiki.onosproject.org/display/ONOS/Developer+Quick+Start

我执行了命令

sudo bazel build onos

这将编译并汇编可安装的 onos.tar.gz,它位于 bazel-bin 目录中。

但我收到以下错误:

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,没问题)。使用 ubuntu 服务器会导致此错误。它写在文档中,但我第一次读得不好:D

相关内容