Entre los servicios incluidos en el Mac OS X Server hay uno que le permite funcionar como servidor de actualizaciones, de este modo es posible redirigir las computadoras del laboratorio para que consulten con este servidor por posibles actualizaciones en lugar de mandar a todas a conectarse a Internet.
Uno de los beneficios que esto tiene es que la única computadora que establece un enlace al exterior es el servidor mismo, consultando la disponibilidad de actualizaciones y copiándolas a su disco duro. En cuanto están disponibles, el resto de las computadoras realizan una conexión mucho más rápida y pueden descargar la actualización inmediatamente.
Un problema surge cuando la versión del Mac OS X Server en el servidor y en los clientes es diferente, ya que con cada actualización nunca falta que algo haya cambiado. Este es el caso en el laboratorio, donde el servidor tiene instalada la versión 10.5, mientras que los clientes tienen una colección de versiones que van desde 10.4 hasta 10.6.
Versiones iguales o previas a la instalada en el servidor no tienen problemas, pero las más recientes simplemente no funcionan.
Afortunadamente es posible adaptar el servicio incluido en el servidor para que pueda atender a los clientes más nuevos, pero se requieren varios pasos para lograrlo. Las instrucciones necesarias las encontré en los foros de discusión de Apple en una rama sobre este mismo tema.
Paso 1: Detener el “Software Update Server” (en adelante “SUS“).
Paso 2: Descargar la lista de catálogos que utiliza Apple.
Esta lista se encuentra en http://swscan.apple.com/content/meta/mirror-config-1.plist y deberá copiarse a: /usr/share/swupd/html/content/meta/mirror-config-1.plist
Paso 3: Modificar el archivo recién copiado.
Con nuestro editor de texto favorito hay que modificar el archivo dejándolo así:
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN”
”http://www.apple.com/DTDs/PropertyList-1.0.dtd”>
<plist version=”1.0″>
<dict>
<key>PrimaryCatalog</key>
<string>http://swscan.apple.com/content/catalogs/index.sucatalog</string>
<key>CatalogsList</key>
<array>
<string>http://swscan.apple.com/content/catalogs/index.sucatalog</string>
<string>http://swscan.apple.com/content/catalogs/others/index-leopard.merged-1.sucatalog</string>
<string>http://swscan.apple.com/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog</string>
</array>
</dict>
</plist>
Con estos cambios le estamos indicando al “SUS” qué archivos descargar, los cuales contienen los catálogos de las actualizaciones para cada versión del Mac OS.
Paso 4: Editar las preferencias del “SUS“.
Este archivo se localiza en /etc/swupd/swupd.plist y es neceario modificar la entrada metaIndexURL para que se vea así:
<key>metaIndexURL</key>
<string>http://miservidor.com:8088/content/meta/mirror-config-1.plist</string>
<key>portToUse</key>
Con esto le indicamos al “SUS” que utilice esa lista en lugar de buscarla en el sitio de Apple (desde luego habrá que cambiar miservidor.com por la dirección correcta del servidor).
Paso 5: Reiniciar el “SUS“, esperar que decargue los catálogos de actualizaciones y haga las versiones locales de los mismos (van a aparecer en el directorio /usr/share/swupd/html/content/catalogs/others).
Paso 6: Crear algunos enlaces simbólicos necesarios.
Para que el “SUS” incluido en el Mac OS X Server 10.5 funcione como el de la versión 10.6, es necesario agregar unos enlaces que apunten a los catálogos recién copiados. Utilizando la Terminal:
cd /usr/share/swupd/html
ln -s /usr/share/swupd/html/content/catalogs/index.sucatalog .
ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard.merged-1.sucatalog .
ln -s /usr/share/swupd/html/content/catalogs/others/index-leopard-snowleopard.merged-1.sucatalog .
Paso 7: Solo por si acaso, reiniciar el “SUS“.
Paso 8: Esperar a que el “SUS” baje todas las actualizaciones.
Paso 9: Hacer que los clientes pregunten al servidor por las actualizaciones.
Dependiendo de la versión del Sistema Operativo de cada computadora cambiará el catálogo de actualizaciones por el que pregutará. En cada equipo se deberá ejecutar el siguiente comando (como súper usuario y en una sola línea):
10.4:
defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL “http://miservidor.com:8088/index.sucatalog”
10.5:
defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL “http://miservidor.com:8088/index-leopard.merged-1.sucatalog”
10.6:
defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL “http://miservidor.com:8088/index-leopard-snowleopard.merged-1.sucatalog”
Igual que en el paso 4, deberá cambiarse miservidor.com por la dirección correcta del servidor.
Paso 10: Abrir el “Software Update” en las computadoras y ver como realizan el proceso de actualizción más rápido que nunca.