在 /usr/local/src 中构建包时获取正确的文件权限

在 /usr/local/src 中构建包时获取正确的文件权限

据我了解,当你构建一个包时位于/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.在构建几乎任何软件时,这应该是可能的。

相关内容