我正在build立一个运行Ubuntu Server Edition的新服务器,我不确定以root身份安装大多数基本软件与使用sudo apt-get install安装基本软件作为pipe理员用户有什么区别。
首先,我不确定是否以root用户身份安装软件后,以用户身份运行软件时(例如,以root用户身份安装git),需要使用sudo访问权限。 另一方面,如果我作为一个用户来安装软件,我可以想象它将来不会被其他用户所使用。
这里最好的做法是什么?
这取决于你如何安装。 如果你使用sudo来调用apt / dpkg来安装东西,那么不应该有任何区别。 APT / DPKG可以完成正确设置所需的一切。
如果你正在编译自己的东西,你的用户帐户的一些环境设置将会指示应用程序的安装方式。 例如,当你使用sudo的时候,你的$ HOME仍然会指向你的无特权帐户的主目录。 如果编译/安装完全取决于$ HOME,那么情况就会变得混乱。 编译/构build脚本出现问题并不常见,但我只在一个非常模糊的包中看到了这个问题。
只是为了增加Zoredache所说的。
我用sudo碰到的一个挂机是用make install命令从源代码构build内核模块。 构build本身工作,但由于某种原因无法安装模块。 它可能会在make脚本中放弃权限,或者是环境问题。
但使用apt / dpkg和相关的实用程序应该没有关系。 与apt / dpkg或任何其他系统pipe理员活动一起使用时,Sudo确实有助于logging操作,所以这是使用sudo的一个原因。