~/.local/share
似乎是重要数据、配置数据、日志文件、累积的垃圾以及其他未知数据集合。
鉴于~/.local
已经分为bin
和lib
,为什么要创建一个目录来包含其他所有内容,而不是创建几个具有更有用和更自然分类的目录?
例如,为什么不建立一个目录来存放这样的内容:
- 可以安全删除而不影响任何内容的日志和其他数据。
- 用户特定的配置,其删除将影响行为但不会破坏任何内容。
- 软件所依赖的基本数据(但这不是它的
.local/lib
用途吗?)。
事实上,没有明显的方法来确定什么不需要备份,什么可以(通常应该)定期清理或删除。
命名空间share
包含特定包的名称(例如rhythmbox
,nautilus
),通用名称(例如fonts
,icons
),以及看似重复的名称(例如app-info
和applications
)。
在许多情况下,每个目录与哪个包相关联并不明显。例如,share/Trash
被多个包使用;以及是否由哪个包负责清理旧垃圾?
这项~/.local
工作正在进行中,还是设计得比看上去要好得多,而软件包维护者却忽略了这种设计,还是我完全忽略了一些显而易见的东西?
上述问题大多是反问性的,旨在说明我对我所看到的内容和我所想的内容之间的普遍混淆,并不是为了寻求明确的答案。
我预计大多数答案能但在其他地方也可以找到。具体来说,的原始设计和预期用途是什么~/.local
?在哪里记录?
答案1
前提:您会在互联网上发现大量关于 Linux 目录结构的讨论,其中一半是关于“有争议的”设计决策。一些文件夹结构已经失去了其原有的含义,如今仍然存在一些混乱(例如,考虑所有关于“我将二进制文件放在哪个 bin 文件夹中?”的讨论)
我可以简短地说,“.local”就像“/usr”文件夹的表亲(它们具有相同的内部结构!)但具有不同的视角:/usr 目录包含用户使用的应用程序和文件(而不是系统,其应用程序和文件位于其他地方)并且可能需要免受系统更新的影响。
“.local” 通常保留用于“本地安装”的应用程序,即您自行安装的内容,而不是发行版安装附带的内容。还请考虑每个用户都有自己的 .local 文件夹,其中包含其特定文件和配置。
例如:系统图标主题安装在 /usr/share/icons 中。您可以将图标放在 /.local/share/icons 中。主题、字体等也一样。
就我个人而言,如果从这个角度考虑的话,我不认为这是一个混乱的情况。