如何更改客户端Mac上的软件更新服务器地址(以使用我自己的服务器)?


Answers:


22

默认值

最简单的方法是在客户端Mac(通过Apple Remote Desktop轻松推送)上运行默认命令:

defaults write com.apple.SoftwareUpdate CatalogURL 'HTTP_URL_FOR_CATALOG'

对于用户。如果您通过sudo运行它,则在您将softwareupdate用作root时将对其进行设置。

HTTP_URL_FOR_CATALOGMac OS X 10.6中已更改。如果您使用MCX,它将自动选择新目录-但是,如果手动进行操作,则无论有哪个客户端版本,都需要使用以下URL:

  • Mac OS X 10.4: http://mysus.example.com:8088/index.sucatalog
  • Mac OS X 10.5: http://mysus.example.com:8088/index-leopard.merged-1.sucatalog.sucatalog
  • Mac OS X 10.6: http://mysus.example.com:8088/index-leopard-snowleopard.merged-1.sucatalog
  • Mac OS X 10.7: http://mysus.example.com:8088/index-lion-snowleopard-leopard.merged-1.sucatalog
  • Mac OS X 10.8: index-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog

要再次检查此应用,可以运行以下命令:

/usr/libexec/PlistBuddy -c Print /Library/Preferences/com.apple.SoftwareUpdate.plist
/usr/libexec/PlistBuddy -c Print ~/Library/Preferences/com.apple.SoftwareUpdate.plist
查看适当的计算机和用户设置。

如果在运行软件更新(GUI)时此方法正常运行,您应该看到服务器地址显示在窗口标题的括号中。

MCX

另一种选择是使用工作组管理器通过服务器上的MCX来管理首选项。可以为用户执行此操作,如果计算机绑定到您的Open Directory,则可以执行此操作。

如果您使用的是10.5 Server或更高版本:您可以简单地使用“首选项”下的“软件更新”部分。

手动:

  1. 选择要应用首选项的帐户,计算机或组。
  2. 单击首选项,然后单击详细信息选项卡
  3. 按添加...按钮,然后导航到/Library/Preferences/com.apple.SoftwareUpdate.plist
  4. 按编辑...
  5. 在“经常”下,添加一个新密钥并输入名称CatalogURL
  6. 确保类型为字符串,然后输入您的SUS URL(例如,http://mysus.example.com:8088 / index.sucatalog,或者如果使用的是10.6:http://mysus.examle.com:8088 / -请参见上文从默认部分)
  7. 按立即应用,然后按完成。用户/计算机刷新了MCX设置后(通常是下次登录或重新启动),新设置将被接管。

如果在运行软件更新(GUI)时此方法正常运行,您应该看到服务器地址显示在窗口标题的括号中。


我以用户身份和通过sudo在Snow Leopard客户端上进行了尝试。netstats显示softwareupdates仍在与apple.com联系!
drAlberT

@AlberT:我已经更新了帖子,这应该有助于解决10.6问题。如果您使用PlistBuddy,则它表示正在尝试连接到哪个服务器?
Chealion

我找到了自己的解决方案并将其发布在昨天
drAlberT

看起来10.7的文件名是index-lion-snowleopard-leopard.merged-1.sucatalog。在support.apple.com/kb/HT4771上
Chris R. Donnelly 2012年

4

为了进行系统范围的配置,必须运行以下命令:

sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL "http://your.updates-server.lan:8088/index.sucatalog"

为了在Leopard和Snow Leopard上正常工作,发出正确的命令是:

defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL "http://your.updates-server.lan:8088/index-leopard-snowleopard.merged-1.sucatalog"

很高兴在我的网络上使用和测试过:)


3

Chealion指出的DNS技巧很棒。我在办公室使用它,并且局域网上的每台计算机都会自动高速地从本地存储库中提取更新,而无需进行任何配置。

swscan.apple.com在内部DNS服务器上创建DNS区域,并通过A记录将其解析到Mac OS X服务器。在Mac OS X Server本身上,编辑/etc/hosts文件并为其添加实际IP地址,swscan.apple.com以使它不会解析回自身。

需要指出的一件事-您将需要一个Snow Leopard服务器才能与Snow Leopard客户端一起使用-否则它将损坏。

注-10.5 SU储存库已放入/usr/share/swupd,10.6 SU储存库已移至/private/var/db/swupd

您还需要启用Web服务,并在Server Admin的端口80上添加以下Web别名,以获取10.4、10.5和10.6客户端的更新:

Pattern: index.sucatalog
Path: /private/var/db/swupd/html/content/catalogs/index.sucatalog

Pattern: /content/catalogs/others/index-leopard.merged-1.sucatalog
Path: /private/var/db/swupd/html/content/catalogs/others/index-leopard.merged-1.sucatalog

Pattern: /content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog
Path: /private/var/db/swupd/html/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog

Pattern: /content/catalogs/index-1.sucatalog
Path: /private/var/db/swupd/html/content/catalogs/index.sucatalog


2

我想出了一种非常简单的方法来向网络上所有不受管理的Mac交付软件更新,并在10.7台狮子服务器上使用最少的黑客攻击。

  1. 如上所述,在DNS中进行A记录,请确保swscan.apple.com指向您服务器的IP。

  2. 将swcan.apple.com和swquery.apple.com的正确条目添加到服务器的/ etc / hosts文件中,以确保它仍然可以从apple获取更新。

  3. 启用Web服务,并将所有内容保留为默认值-请注意Web服务正在使用的路径。

  4. 创建一个符号链接,将Web服务的路径替换为软件更新目录的位置:

ln -Ffs / private / var / db / swupd / html / Library / Server / Web / Data / Sites / Default

这几乎让我以最小的努力进行了排序。


1

我已经制作了一个应用程序,可以在Snow Leopard,Leopard或Tiger上设置软件更新服务器。它将通过检查服务器的版本以查看它是否与您的操作系统版本兼容来设置软件更新服务器。如果您尝试将Leopard(无Snow Leopard Hack)或Tiger Server与Snow Leopard一起使用,则会表示它不兼容。如果是它将设置它。如果您尝试将Tiger Server与Leopard结合使用,则会对其进行设置,但只会得到Tiger更新。

下载:http : //iwczone.co.uk/projects/iSetSU/

MacUpdate:http//www.macupdate.com/info.php/id/33740/iset-sus


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.