./configure:第 2178 行 config.log 权限被拒绝

./configure:第 2178 行 config.log 权限被拒绝

我想安装一个库 libevent。我忘了安装,su root./configure用我的用户帐户运行。然后我注意到使用esolve运行后出现错误。make installesolve

root无法修改被修改的文件esolve(我不太清楚为什么,因为这台计算机的 Linux 操作系统已被某些系统/网络管理员配置)。

现在我su root运行./configure,结果出现以下错误:

 ./configure: line 2178 config.log permission denied

那么我在哪里可以找到该config.log文件并删除或修改它?

仅供参考-我的电脑:3.6.10-2.fc16.x86_64

答案1

如果您在特定目录中运行该./configure命令,我希望该命令config.log位于该位置。您可以运行此命令从该目录中查找文件:

$ find . -name "config.log"

如果您访问的目录是从另一个系统挂载的,那么 root 可能无权在该挂载的目录上执行任何操作。这在 Linux/UNIX 中很常见。

您可以通过运行此命令进行检查,再次从上面的同一目录运行此命令:

$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      429G  375G   32G  93% /

如果您看到类似的路径:/dev/...那么该目录就是计算机本地文件系统的一部分,如果您看到类似以下内容:

# windows share mounted locally
$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
//remotecomputer/t    22T   12T   10T  55% /remote/t

# linux share mounted locally
$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
cobbler:/cobbler/isos
                       43G   33G  8.3G  80% /cobbler/isos

然后,该文件系统从另一台计算机被挂载并显示为本地文件系统的一部分,即使从技术上讲它并非如此。

在最后这两种情况下,root 通常没有对共享目录的写权限。

在远程共享上进行编译

通常我会以非 root 用户身份运行编译的前两个步骤,然后切换到 root 用户执行安装步骤:

作为非 root

$ ./configure
$ make

以 root 身份

$ make install

假设安装的目标是计算机上的某个本地目录,例如/usr/usr/local

相关内容