我真心觉得Linux目录系统给用户从其他系统迁移带来了障碍,同时也是Linux本身发展的瓶颈。请放心,我不是来开始恶搞的。我是 Linux 的忠实粉丝,认为它是日益臃肿且昂贵的竞争性操作系统的替代品,但我很少看到操作系统核心出现如此搁浅的演变。
我意识到 Linux 和 Unix 专业人士坚定地专注于提供稳定性和可靠性,放弃现有的解决方案而转而采用新的想法并不总是正确的方法。然而,即使作为一名拥有丰富 Windows 使用经验的计算机专业人士,我也发现 Linux 目录结构的神秘性和重复性限制了我认真使用该操作系统的努力。
Windows 几年前终于放弃了 8.3 的名称,很少有用户会认为以前的情况更好。相反,我们看到了文件和文件夹名称的稳步演变,以及结构的改进(至少在整个层次结构的某些部分)。当然,Windows 不断改变各种事物的存储位置,这太过分了。 Windows 用户配置文件是一个移动目标(如果有的话)。没有人愿意跟上这样的事情。
我的问题是这样的。如果文件夹结构开始消除一些模糊性和神秘性,从而向人性化的方向发展,以便来自其他世界的高级用户可以开始了解 Linux 的卓越之处,这会对 Linux 造成伤害吗?
如果我们开始看到以下情况,真的有害吗?
- 二进制文件
- 图书馆
- 司机
- 用户
- 用户1
- 二进制文件
- 图书馆
- 用户2
- 二进制文件
- 图书馆
- 用户1
- 设备
- 帮助
在我的世界中,我更喜欢更加分类的顶级文件夹:
- 应用领域
- 系统
- 用户数据
不要太从字面上理解上面的目录概述。它们只是为了说明一点。
答案1
您建议谁来强制迁移数千个常用应用程序和实用程序?
Unix 是一个生态系统,而不是一个产品(尽管 Open Group 控制着 IP),而且没有人有能力实现这一目标。有一些重要的实用程序是由历史文档定义的,并且没有单一的参考实现。
也没有迫切需要改变这些东西:什么是需要的是能够向不熟练的用户隐藏它的前端。 Joe User 实际上并不知道他的 Window 系统文件夹或 Mac OS Libraries 目录中有什么内容。事实上,现代 Window 操作系统有那些默认为不可见的特殊系统位置。
答案2
我同意迪麦基问题是为任何需要它的人提供一层“友好”的应用程序。对于我们其他人来说,unix 是一个生态系统,目录结构是经过深思熟虑的。它仍在不断发展。请注意最近在普遍接受的目录布局中添加了 /run 顶级目录。
当然,存在意见分歧,甚至您会发现发行版之间存在差异。这给我们带来了下一点,那就是如果你认为它需要修复,那就修复它!实际上,使用您自己的补丁集并使用不同的目录来破解任何当前发行版并不难。
我想如果你这样做,你很快就会发现为什么当前的结构是有意义的。这并不是说移动这些东西很难。即使为无数的程序编写自动化补丁来知道在哪里放置和期望事情也不是那么困难。问题在于,现有的分离和分类是有充分理由的。他们每个人都有一个目的。
这FHS 文档是开始了解原因的一个地方,但是关注发行版开发人员邮件列表可能是最有用的学习方法。
编辑: 目录布局的问题受到了严格的审查,但从某种意义上说,Linux 解决方案随着需求的出现而有机地发展。如果你想要一些更严格的结构和坚持,您可能会找到 BSD 社区喜欢FreeBSD 有趣。