Linux
在 /usr/local/src 中建構包時獲得正確的文件權限
據我了解,當您建構位於其中的包foo
/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
嗎?
以 root 身份提取存檔會創建一個 root 擁有的目錄層次結構,您無法在其中創建文件。
我建議您將自己添加到
staff
組中,以便您可以在沒有sudo
.或者,這是我個人會做的,在別處建構軟體,例如在
$HOME
. 在建構幾乎任何軟體時都應該可以做到這一點。