Mac OS X是否管理已安装应用程序的注册表?


11

我是Mac OS的初学者。直到现在我都在使用Windows。我对Windows中的注册表有所了解。

Mac OS X是否管理已安装应用程序的注册表?

  • 如是
    • 注册表存储在哪里?
    • 您如何修改此注册表?
    • 有关Mac OS注册表管理的参考链接。
  • 如果不
    • Mac OS X在安装的应用程序上遵循什么系统?
    • 有关Mac OS应用程序管理的参考链接。

Answers:


14

Mac OS中没有注册表。

但是,您可以在“ 库/首选项”文件夹中找到大多数应用程序设置。大多数应用程序将其设置保存在单独的文件中。这不是由操作系统管理的。没有配置单元,没有regedit,仅此而已,只有一堆plist文件。


正确对象,真爱。不知道 感谢分享。
Sagar R. Kothari,2009年

因此,如果我通过简单地将其从“应用程序目录”移动到垃圾箱中来“卸载”应用程序,这些文件会发生什么。我是否还需要进入“库/首选项”手动删除“首选项”?
basarat

1
@BasaratAli他们留在那里。但是,您也可以使用诸如apptrap之类的方法来删除这些文件。如果将应用程序移至回收站,apptrap会询问您是否还希望删除其相应的plist文件。
Alex

这里一个注册表编辑器,排序的-这是一个所谓的命令行工具defaultsman defaults在终端窗口中运行以查看其手册。
SilverWolf-恢复莫妮卡

9

应该补充一点,某些程序(主要是那些具有Unix或Linux背景的程序)可能会将其数据存储在〜/内的点缀(因此Finder不可见)或〜/ .config内的某个位置。

因此,不幸的是最终并不是太简单。


1
但幸运的是-我喜欢。不会出现“注册表清理器”,“注册表黑客”,“注册表问题”,“由于注册表问题而导致重新安装操作系统”之类的问题。
Sagar R. Kothari,2009年

5
@sagar:不是那么简单。Mac OS X中也没有针对大多数应用程序的卸载程序,因此,应用程序不是从库/首选项清除其首选项,而是通常留在那里,占用了空间。您最终不得不使用AppZapper之类的其他应用程序来尝试在卸载时清理混乱。我认为这与“注册表清理”完全相同。

@Will Eddins-先生,您能给我“ AppZapper”的下载链接吗?
Sagar R. Kothari,2009年

2
@主要问题是,即使旧的首选项不一定会自动消除,也不会导致不良的注册表错误。如果应用程序未启动,则首选项不会被触及。首选项文件几乎不占用磁盘空间。因此,残留物最少。
本杰明·肖尔尼克

@BenjaminSchollnick,这与window的用户应用程序注册表有何不同?
佩里耶

8

是的,到一定程度所谓的发射服务数据库进行比较的HKEY_CLASSES_ROOTWindows注册表的部分。它用于确定哪些应用程序愿意打开某些文档或URL,以及如何使用它们(例如进行编辑或查看)。它还告诉OS X哪个应用程序可以创建图标,例如Finder中所示。

例如,当您将一些新应用程序拖放到“应用程序”文件夹中时,OS X会注意到这一点并注册新应用程序。这样,通常无需像Windows中那样运行设置程序。如果这个数据库搞砸了,那么可以很容易地重建它

(同样,Quick Look 可能会保留它先前找到的生成器列表,但我想这样的缓存将在需要时自动更新。如果一个显式选择某个应用程序来打开文件,则该缓存将存储在文件的资源派生中。)


1
我认为这应该是“ 部分是”而不是粗体“ 是”
dlamblin

2
好了,接下来是斜体部分,并作为反应所有早期(并接受)平原没有的,我不同意有点... ;-)
阿尔扬

虽然我同意dlamblin的说法,但这是一个错误的答案,但它向我显示了我不了解的有关OSX的新信息。谢谢!
cregox 2011年

4

苹果没有像Windows这样的注册表,这让大多数用户感到高兴。应用程序本身是自包含的捆绑包,在底层,它们实际上是包含应用程序需要运行的所有东西的文件夹。这使应用程序管理变得容易。要安装,只需将应用程序拖到“应用程序”文件夹。要删除,只需在“应用程序”文件夹中将其删除。

为了保存给定应用程序和用户的首选项等,使用了称为属性列表的属性(plist是这些文件的扩展名)。查找这些内容的常见位置是〜/ Library / Preferences应用程序还将在〜/ Library / Application Support中存储用户特定的数据/设置。

通常,这些东西是通过应用程序GUI修改的,大多数Apple应用程序都有“首选项”菜单。有几种方法可以手动修改这些设置,但是要像修改Windows注册表之前一样谨慎(尽管在最坏的情况下,您只会破坏特定的应用程序,而不会破坏整个操作系统)。您可以使用实用程序应用程序的“属性列表编辑器”(Property List Editor)来修改plists(基本上只是具有键/值对的XML文件)。您也可以使用命令行“默认值”命令。在终端上尝试“ man defaults”以获取更多信息。但这又是为了勇敢的人。

希望对您有所帮助。


但是,与Chrome扩展程序不同的是,是什么阻止了应用程序在各处编写其跟踪数据?
佩里耶

0

不要忘记保存网络设置的系统配置数据库:

man scutil

NAME
     scutil -- Manage system configuration parameters

SYNOPSIS
     scutil
     scutil --prefs [preference-file]
     scutil -r [-W] { nodename | address | local-address remote-address }
     scutil -w dynamic-store-key [-t timeout]
     scutil --get pref
     scutil --set pref [newval]
     scutil --dns
     scutil --proxy
     scutil --nc nc-arguments

DESCRIPTION
     Invoked with no options, scutil provides a command line interface to
     the "dynamic store" data maintained by configd(8). Interaction with
     this data (using the SystemConfiguration.framework SCDynamicStore APIs)
     is handled with a set of commands read from standard input. A list of
     the available commands is available by entering the help directive.
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.