这更像是一个常见的 Ubuntu 新手问题。(顺便说一下,14.04 LTS)我构建并使用了我的 Ubuntu 机器,仅将其作为开发机器来(重新)学习编码 - 主要是 Java。我有两个主要问题:
1) 我找不到任何关于安装程序的标准目录的建议,所以我倾向于使用 /opt/ 或 /usr/lib。这样可以吗?
2)当我尝试安装/使用应用程序时,我似乎遇到文件和目录权限反复出现的问题。
据我所知,安装目录没有“标准”(apt-get 似乎有自己的一套),那么有经验的人会怎么做呢?您能推荐一些好的做法吗?
权限问题总是让我感到烦恼,我通常会进入终端,用 sudo 彻底删除所有内容,或者使用 chmod/chown。但是,我认为这违背了拥有这些权限的目的。这是一个常见问题,还是我在构建我的盒子时错过了一步?或者更糟糕的是,我不知何故搞砸了我的标准权限?
例如,我安装了 eclipse 和 spring(STS、roo 和 security)。为了完成 spring security 教程,我必须安装 tcserver,因此我将其放在 /opt/ 下。但是,我无法通过 eclipse 设置它或启动它,直到我更改了整个安装和服务器目录的所有权权限。这不正常。话虽如此,我还是顺利安装了 maven。
谢谢!
答案1
如果您的软件将由其他人使用,并且您不使用 debian 安装程序(即 tar.gz,带有源或编译软件),则它被称为“第三方应用程序”,并且该程序应安装在其中
/opt/{softwarename-versionnumber}/
并将其作为默认安装目录。如果打算使用 Debian 安装程序(即 DEB)安装此软件,则应将文件放置在默认位置,如中所述如何了解Ubuntu文件系统布局?Ubuntu/Linux 安装程序使用此布局,并且在您想要通过默认安装方法打包和共享软件时倾向于强制执行此方法(Ubuntu 软件中心)
如果该软件仅用于您自己的目的,我自己会使用
/opt/
或使用带有“本地”的目录(这些是您为自己和您自己的机器创建的软件/二进制文件的目录,不打算共享),但这取决于您决定。安装在中的软件
/opt/
将由管理员安装,默认情况下使用“sudo”设置为“root”。chown -r $USER:$USER
如果您有一台单用户计算机,更改权限的最简单方法是更改所有者和组()。如果是多用户系统,也可以这样做,但组(上一个命令中的第二个 $USER)需要包含所有这些用户。没有必要使用
chmod
;/ 中的软件/opt
应该已经具有合理的默认值,并且所有权限都已正确设置!请注意,安装在中的某些软件/opt/
可能会要求用户使用并设置已为该用户设置的软件。
据我所知,安装目录没有“标准”
这文件系统层次标准是一个非常好的标准,也是 Linux 操作系统广泛接受的方法。并且维护得相当好(下一个重大变化将是分离,这样我们就可以为 / 和保存安装可写部分的分区设置只读文件系统。