Linux 相当于 Windows 注册表

ser*_*ena 58 windows linux windows-registry

什么是 Linux 相当于 Windows 注册表?如果Linux中没有等效或类似的结构,那么Linux中Windows Registry所做的事情是如何处理的?

uSl*_*ckr 56

Linux 应用程序通常将其配置存储在特定于应用程序的基于文本的文件中。机器特定的配置通常存储在 /etc 目录树中。用户特定的设置通常位于用户的主目录中,并且通常位于以“.”开头的“隐藏”文件中。(使用 'ls -a' 来查看它们)。

  • 不确定“不赞成”,但经常这样做。大多数 MS 程序和许多 3rd 方都在那里存储配置数据。 (12认同)
  • @Dotmister:这确实是它的目的......在 Windows 3.1 的时代。从 32 位 Windows(95 和 NT)开始,注册表变成了[配置数据的数据库](http://msdn.microsoft.com/en-us/library/ms724871.aspx)。 (7认同)
  • 我们还可以补充一点,这些文本文件是人类可读的,并且通常在其中包含描述特定配置项的注释。因此,当您需要更改某些内容时,文档通常就在您面前。您也可以添加自己的注释,例如更改某些内容的原因。Windows 注册表没有这样的“元数据”。 (5认同)
  • 当然,这个答案是有缺陷的,因为注册表的目的不是保存设置,而是向操作系统注册 dll 和 shell 扩展等组件。在其中存储程序配置是一种令人不悦的技术。 (2认同)
  • 呵呵...那么 Linux 本质上做了 Windows 注册表旨在防止的事情? (2认同)

Šim*_*óth 10

/proc 对于内核相关的东西

/etc 软件相关的东西

Gnome 配置也可以被认为类似于 Windows 注册表。

但由于 Linux 和 Windows 的核心理念完全不同(Linux ~ 开放和兼容,Windows ~ 封闭和阻碍),没有直接的平行。

编辑:对于那些不同意的人,这里有一些历史给你:http : //www.faqs.org/docs/artu/(很棒的阅读,无论你的背景如何)

  • 我不明白软件设计理念与配置存储的特定实现的特殊性有什么关系。没有直接平行的原因是因为它们是根本不同的架构,而不仅仅是因为微软讨厌自由。 (30认同)
  • @Let_Me_Be:_Standartized_ 文本格式?你一定是在开玩笑。Windows 在很多方面都很糟糕,但一个通用的注册表 API 是它做得好的一件事。 (15认同)
  • @Let_Me_Be:这个词是“标准化的”,而不是“记录在案的”。我宁愿在 X 台机器上分发一个 `.reg` 文件(或 `.ini`、`.xml`、`.json`,无论你想要什么),而不是在 `/ etc/` 同时尝试更改网络范围的设置但保留不相关的本地添加...虽然您找不到 Windows 注册表配置单元的完美详细解释,但 [它们的结构](http://sentinelchicken.com/data/TheWindowsNTRegistryFileFormat. pdf) [不完全是秘密](http://technet.microsoft.com/en-us/library/cc750583.aspx)。*(离开火焰战争)* (9认同)
  • @Shinrai Unix(和 Linux)的基本设计理念是使用标准化的文本格式。Windows 注册表是一种专有的二进制格式。“微软讨厌自由”在这里完全断章取义。Windows 被设计为尽可能与 Unix 不兼容,并忽略所有可能的国际标准(同时创建自己的标准)。这是古老的历史,但这就是 Windows 注册表的来源。 (8认同)
  • @Let_Me_Be - 对不起,你的措辞让我觉得你的意思是“开源是最好的!微软是邪恶的化身!” 就像网络上的许多 *nix 狂热分子一样,而不是讨论内容的文字格式。评论已撤回,但您可能会改写为更清楚一些,因为似乎有一些人像我一样阅读了它。(我认为“妨碍性”在这里尤其会给人错误的印象。) (8认同)
  • 标准化(且足够灵活)的 API 或配置格式是好的;为他们建立统一的数据库是有争议的(毕竟利*弊)。然而,Unix 的问题不是缺乏标准,而是(像往常一样)标准的扩散。 (5认同)
  • 说 Windows 哲学的一部分是阻碍似乎并不特别准确。虽然微软确实不允许免费访问 Windows 源代码,但他们(通常)不会试图阻止用户或开发人员随意使用 Windows。 (4认同)
  • @Let_Me_Be:肯定不是。否则 Samba、WINE、ReactOS、OpenOffice 和 Dalvik 将不存在,我们仍将使用 IBM PC。 (4认同)
  • @kizzx2:我可以合法地对火山 [vaporizer](http://en.wikipedia.org/wiki/Vaporizer_(cannabis)) 进行逆向工程,但仍然面临持有吸毒用具的指控。逆向工程合法这一简单事实当然不能免除您免受其他相关法律的约束,但这些法律并不使逆向工程本身成为非法。 (2认同)

小智 7

系统范围的设置位于 中的文件中/etc,每个用户的设置通常位于用户主目录中的隐藏文件(以 . 开头)。有关特定程序的更多信息,请参阅它的手册页 - man [program name]


use*_*686 5

大多数应用程序使用基于文本的配置文件(通常每个程序都有自己的格式,尽管有些使用 XML 或 JSON)。系统范围的配置保存在/etc.

用户配置通常存储在用户的主目录中,即所谓的“点文件”(文件名以“ .”开头;用于ls -a显示它们)。为了避免“dotfile蠕动”,最近计划已开始保持它们的配置在~/.config/XDG基本目录规范。

各种桌面环境都有自己的类似注册表的 API:GNOME 中的 Gconf(已弃用)和dconf /GSettings(新);Xfce 中的Xfconf