我在Ubuntu 16.04通过存档安装了Go,并尝试使用终端命令 go
测试我的安装。它一直提示我/ not root-owned 1000:0
。
我将Go安装在/usr/local
文件夹中,并按照官方golang安装的指示将其包含在我的路径中。我删除了Go并尝试重新安装,但发现了相同的结果。这似乎更像是Linux根权限问题,但我不知道如何修复它。我尝试了从存档中安装的其他命令,它们都可以正常工作。任何帮助都将不胜感激。
我在Ubuntu 16.04通过存档安装了Go,并尝试使用终端命令 go
测试我的安装。它一直提示我/ not root-owned 1000:0
。
我将Go安装在/usr/local
文件夹中,并按照官方golang安装的指示将其包含在我的路径中。我删除了Go并尝试重新安装,但发现了相同的结果。这似乎更像是Linux根权限问题,但我不知道如何修复它。我尝试了从存档中安装的其他命令,它们都可以正常工作。任何帮助都将不胜感激。
看起来系统根目录/
的所有者不正确,这是一个安全问题,因为您不希望常规用户随意更改系统文件。似乎你在过去的某个时候有意做出了这种改变,请将其改回来,或者如果您破坏了更多权限,则重新安装系统。
sudo chown root /
顺便提一下,赋予自己有限的系统访问权限的正确方法是使用sudo
。 将自己添加到sudoers
中(通常在任何合理面向消费者的Linux发行版上,操作系统安装程序已经设置好了此项功能),需要特权时,使用sudo
运行该命令。
/
目录的所有者组出现问题,你可能需要运行 sudo chown root:root /
命令进行更正。请注意,该命令涉及权限管理,请谨慎操作。 - Jacob Horbulyksudo chgrp root /var/
。 - tushortzsudo chown root -R /
来完成它。 - alper在命令行中很简单:
sudo chown root:root /
snap install --classic go
,这并不是一个好主意。即使作为 root 用户,我也无法删除 /snap
中的 go 文件夹。现在我重新安装了系统,希望问题能得到解决。sudo chown root /var
这将解决你的问题