0

我关掉了聚光灯,对此非常彻底。太彻底了,我无法重新打开它。我需要从 Mac App Store 安装一个程序(并且 App Store 依赖于 mds),所以如果有人知道如何在没有 mds 的情况下安装 App Store 程序的信息(聚光灯),那就更好了。

所以我的问题是聚光灯抱怨它只能以root身份运行,但我无法终生弄清楚为什么它不是。据我了解, /System/Library/LaunchDaemons 中的启动守护进程会自动以 root 身份启动,只要它们具有正确的权限。该目录的每个文件都是 rw-rr。以下是我用来从 launchd 卸载/加载 Spotlight 的命令:

sudo mdutil -a -E -i off
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
sudo rm -rf "/.Spotlight-V100"
sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

我还重命名了 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framework/Support 中的 mds 可执行文件,添加了一个 .bak 扩展名。

要重新加载它,我基本上撤消了这些步骤。但是它现在不工作。我在谷歌上搜索了错误,但没有骰子。我从 Snow Leopard 安装映像重新加载了 mds 二进制文件,没有做任何事情。我已经修复了 4-5 次权限并手动查找树以查看是否发现任何权限错误,但一切都是 root:wheel 755,就像我认为它应该在 Frameworks 文件夹中,而 rw-rr 在 LaunchDaemons文件夹。然而,mds 不断地向控制台发送消息说 mds[pid] (Fatal) Server: mds must be run as root。退出。

有人知道发生了什么吗?我现在不想重新格式化,因为我已经花了很长时间来设置这台电脑,我只想从 App Store 安装一个程序。

谢谢!

4

1 回答 1

1

好吧,您不知道我一崩溃并发帖所以我找到了解决方案:我找到了某人的聚光灯启用脚本并将其粘贴到我的终端中。重新启动,聚光灯工作,安装程序,再次禁用聚光灯。这是我使用的:

sudo chmod 775 /Library/Spotlight;
sudo chmod 755 /System/Library/Spotlight;
sudo chmod 755 /System/Library/PreferencePanes/Spotlight.prefPane;
sudo chmod 755 /System/Library/Services/Spotlight.service;
sudo chmod 755 /System/Library/CoreServices/Spotlight.app/Contents/MacOS/Spotlight;
sudo chmod 555 /usr/bin/mdimport;
sudo chmod 555 /usr/bin/mdcheckschema;
sudo chmod 555 /usr/bin/mdfind;
sudo chmod 555 /usr/bin/mdls;
sudo chmod 555 /usr/bin/mdutil;
sudo chmod 555 /usr/bin/md;

正如 Thilo 指出的那样,这与编程无关,因此可以将其移至超级用户或其他任何更好的东西。

于 2011-12-19T07:29:08.513 回答