Linux之FHS标准的概要让你找片

各位读者好,其实很早就像写一篇这样的文件啦,因为我使用Linux的时间不是很长,大部分在Windows系统上面开发,然后部署到Linux系统上,不过就是简单的复制代码,日志备份,重新发布我的应用程序。我所负责的应用程序没有夜间的业务活动,我基本上都是晚上就行系统新或bug的功能发布。在Linux系统中一直困扰我的是,虽有文件都是从根目录开始知道的,我们的mysql和tomcat以及一些插件应该安装到哪个位置(文件目录),针对这个问题我查阅了一下文档和书籍,今天将我所得到的知识分享给大家。

01啥是FHS标准以及定义的形态

因为利用Linux来开发新的产品或distributions的社群、公司以及个人实在是太多啦。如果每个人都用自己的想法来配置文件存放的目录,那么将可能造成很多文件管理上的困扰。你可以闭上眼睛想象一下,你刚刚进入一家企业后,所接触到的Linux目录以及配置方法尽然和你以前所学习到的不一样,很难在继续想了吧(花了好多钱以及好多时间尽然白学啦)。所以,后来就有所谓的FilesystemHierarchyStandard(FHS)这个标准就风风火火的出炉啦。根据FHS的官方文件指出,他们的主要目的是希望让使用者可以了解到已安装的软件通常存放在哪个目录下,所以他们希望独立的软件开发商,操作系统制造者,以及想要维护系统的用户(系统管理员),都能够遵循FHS的标准,也就是说,FHS的重点在于规范每个特定的目录下应该要存放什么样子的数据而已。这样做的好处非常多,因为Linux操作系统就能够在既有的面貌下(目录架构不变)发展处开发者想要的独特风格。事实上,FHS是根据过去的经验总结一直在持续的改版,FHS依据文件系统使用的频率与否允许使用者是否随意改动,而将目录定义成为4种交互作用的形态。

02FHS目录的架构都有啥

事实上,FHS针对目录交媾仅仅定义出三层目录下面应该存放什么数据而已,分别是下面这三种:/(root根目录):与开机系统有关。/usr(unixsoftwareresourece):与软件安装、执行有关。/var(variable):与系统运行过程有关的。根目录(/)的意思与内容根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的。同时根目录也是开机、关闭、系统修复等功能有关的。由于系统开机时需要特定的开机软件,核心文件,开机程序所需的程序,函数库等文件数据。因为根目录很重要,所以在FHS要求方面,它希望根目录不要放在非常大的分区上面,因为越大的分区,你会存储更多的数据,如此一来根目录所在的分区就可能会有较大发生错误的机会。依据FHS的建议:根目录所在的分区越小越好,且应用程序所安装的软件最好不要与根目录放在一个分区中,保持根目录越小越好。/usr的意义与内容依据FHS的基本定义,/usr里面存放的数据属于可分享的与不可变动的(shareable、static),如果你知道如果通过网络进行分区的挂载(例如:NFS服务器),那么/usr确实可以分享给全局网络内的其他主机还是用啦。很多人都误会/usr为user的缩写,其实usr是UnixsoftwareResourece的缩写,也就是Unix操作系统软件资源所存放的目录。FHS建议所有软件开发者,将他们的数据合理的分别放到这个目录的次目录连,而不是自行独立创建目录。因为所有系统默认的软件(distributions发布者提供的软件)都会放到/usr目录下。就像我们windows系统下的windows文件夹和programfiles文件夹这两个文件夹的结合体。这个目录占用最多的磁盘空间。/var的意义与内容如果/var是安装的时候会占用比较大的硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用磁盘容量的目录。因为/var目录主要针对常态变动的文件,包括缓存(cache)、登录文件(logfile)以及某些软件运行所产生的文件。包括程序文件(lockfile、runfile)。如mysql数据库的文件等。


转载请注明:http://www.aierlanlan.com/rzdk/5971.html