据我了解,当你构建一个包时富位于/usr/local/src
你不需要是root。但是,当我提取包并尝试运行构建脚本时,它失败了,因为它没有在以下位置创建新文件的权限/usr/local/src/foo
:
$ pwd
/usr/local/src
$ ls -ld .
drwxrwsr-x 5 root staff 4096 May 16 20:36 .
$ ls -l foo.tar.gz
-rw-r--r-- 1 root staff 206574 May 16 20:35 foo.tar.gz
$ sudo tar xf foo.tar.gz
$ ls -ld foo
drwxr-sr-x 7 root staff 4096 May 16 20:36 foo/
解决这个问题的正确方法是什么?我应该将自己添加到群组吗职员然后跑sudo chmod g+w foo
?
答案1
以 root 身份提取存档会创建 root 拥有的目录层次结构,您无法在其中创建文件。
我建议将您自己添加到该staff
组中,以便您可以在不使用sudo
.
或者,这是我个人会做的,在其他地方构建软件,例如在$HOME
.在构建几乎任何软件时,这应该是可能的。