为什么OS X软件更新检查需要这么长时间?


28

为什么OS X中的软件更新需要这么长时间才能告诉我我是最新的?我当前正在运行10.7.2,但是我运行的所有版本的OS X都是这种情况。我刚刚进行了一次检查,花了三分钟才回来。

我想不出为什么要花这么长时间。这不是对应用程序和版本的快速查找吗?

相比之下,iOS / iTunes Store和Mac App Store中的相同功能几乎不需要时间。


+1相同。这不是狮子的事,在雪豹中也是如此。我建议出现网络问题(服务器速度慢),但希望有人知道这里发生了什么。
Thilo

@Thilo不仅如此,而且支票也将在iOS系统上永久保留
Matteo

Answers:


14

Mac OS X在中保留所有已安装软件包的列表/var/log/receipts

运行软件更新时,它会通过向Apple的服务器发送带有该软件包签名的HTTP请求并等待答复,来单独检查每个(或可能只有Apple)软件包的更新。这是必需的,因为任何系统都可能有各种各样的配置。

在运行软件更新的Snow Leopard系统上,向Apple的服务器发送了约322个HTTP请求。

因此,基本上,它只是在查找是否有任何更新,但是由于单独的,有时是可选的(Java,X11,打印机驱动程序等)程序包的数量非常大,加上它分别发送每个请求的事实,因此它可以需要一段时间。


这对我来说没有多大意义。Software Update在相当长的一段时间内疯狂地占用了CPU时间,而数百个HTTP请求无法解释这一点。实际上,我现在正在运行软件更新,它仅打开了四个TCP连接。但是它使用了太多的CPU,计算机使用起来确实很缓慢。到目前为止,它已经进行了八分钟。
Harald Hanche-Olsen 2011

@ HaraldHanche-Olsen TCP连接不是HTTP请求。有很大的不同。en.wikipedia.org/wiki/...

4
嗯 这是一个有趣的理论,但是当我使用HTTPScoop运行软件更新时,我只看到三个请求(两个大,〜2mb和〜3mb)。因此,该实验的结果与您的“数百个HTTP请求”理论不符。查看此屏幕截图
Trieu

0

我从未遇到此问题,因为我从未手动执行“软件更新”。只要有更新准备就绪,Lion就会通过“软件更新”弹出窗口告诉我。然后检查更新是否仅需一分钟。

从他们的角度来看,这是一个巨大的进步。

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.