在Linux中安装Docker内部和外部“玩得好”的软件的最佳位置?


2

在Linux系统中,安装自己的软件的最佳位置是什么,它将在docker容器内外都很好用?

例如,如果想要安装一个名为的软件:

name="com.hovio.birds.happybirds"

是否最好将其安装在:

/hovio/birds/happybirds

要么

/opt/hovio/birds/happybirds

我想在Docker之外,/opt在没有root访问权限的Linux系统中更好,就像这里解释的那样

有任何想法吗?

Answers:


2

通常在Linux / Unix中,不只是在文件系统的根级别删除随机目录。可以在此处找到作为根文件系统级别(/)的一部分通常被接受的内容的良好概述,并且通常如下,几乎没有变化:

/bin       Essential command binaries
/boot      Static files of the boot loader
/dev       Device files
/etc       Host-specific system configuration
/lib       Essential shared libraries and kernel modules
/media     Mount point for removeable media
/mnt       Mount point for mounting a filesystem temporarily
/opt       Add-on application software packages
/sbin      Essential system binaries
/srv       Data for services provided by this system
/tmp       Temporary files
/usr       Secondary hierarchy
/var       Variable data

虽然没有明确说明一个人不能将自己的目录放在那个级别的结构,但隐含的结构基本上说,“嘿,不要在这里放置任何东西,而是在已建立的父目录结构中放置什么。”

所以知道,在你的问题中看到这种结构的想法:

/hovio/birds/happybirds

好吧,这让我的系统管理员胃口不安。您不这样做的原因是根文件系统level(/)应该只用于目录父层次结构。如果你为你安装的每一个软件都这样做,它就会变得过于混乱和过于混乱。即使你随着时间的推移“承诺要小心”,你也会打破这样做。

现在放置在/opt目录中的东西得到了很好的尊重和理解。所以这很好:

/opt/hovio/birds/happybirds

它并不一定与根系统访问有任何关系。放置不适合其他地方的系统软件只是一个公认的惯例/opt。正如这里清楚解释的

此目录保留给不属于默认安装的所有软件和附加软件包。例如,StarOffice,Kylix,Netscape Communicator和WordPerfect软件包通常可在此处找到。要符合FSSTND,应在此目录中安装所有第三方应用程序。

如果由于任何原因,某些不是您的人需要稍后评估系统,这也会更容易。/hovio他们不会对目录扮演什么角色感到头疼,而是知道他们是否看到某些/opt东西是有用的/重要的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.