Mantenimiento de tu Mac: aprendizaje, automatización y diversión, parte I

14/01/2013 por Carlos Burges

Siempre nos acordamos de Santa Bárbara cuando truena. Tiene que ocurrir una desgracia para que recordemos la importancia de que, a pesar de que OS X es un sistema operativo bastante estable, requiere cierto mantenimiento para que su funcionamiento sea todo lo impecable posible aunque con frecuencia olvidemos hacerlo porque "todo parece funcionar bien".

En el tutorial de hoy vamos a aprender muchas cosas y a hacer muchas consideraciones de todo tipo al mantenimiento del Mac, centrándonos en dos de las tareas más básicas (pero que más afectan) al funcionamiento de OS X: la reparación de permisos y la integridad del disco duro.

Nuestro objetivo es, por supuesto, mantener nuestro Mac en el mejor estado posible centrándonos en estas dos opciones.

Empezando … por el principio

Establecer una política de mantenimiento es una tarea que requiere primero, ordenar las tareas de mayor a menor importancia para a continuación establecer una calendario para ese mantenimiento. Solo así resulta efectiva y nos va a permitir el estar razonablemente protegidos ante una posible desgracia, situación que ocurre además, siguiendo los designios de Murphy, en el momento más inesperado y sobre todo más incómodo.

En el caso que nos ocupa, nuestra lista está ordenada de la siguiente forma:

  1. Copias de seguridad
  2. Integridad del Disco duro
  3. Permisos
  4. Cachés
  5. Eliminación de archivos relativos a instalaciones de software que hemos eliminado

De estos cinco puntos, nos vamos a centrar en el segundo y el tercero y puede que más adelante hablemos del cuarto y el quinto. De las Copias de Seguridad, su funcionamiento e importancia hemos hablado tanto en faq-mac (especialmente de Time Machine) que vamos a pasar de largo sobre este punto ya que sería marear la perdiz. En todo caso date una vuelta por nuestra larga y completa lista de tutoriales y artículos publicados para ponerte al día.

Objetivos y consideraciones

Nuestro objetivo es, en esta ocasión, automatizar el proceso de verificación de la integridad del disco duro (y su reparación) además de la verificación y repaso de permisos. Lo más lógico ante esta situación es utilizar programas especializados en el mantenimiento de estas opciones (los hay de diferentes desarrolladores y gratuitos, con opciones adicionales para realizar otras tareas) además de las propias herramientas de Apple.

Aunque cómodos y relativamente sencillos de manejar, estos programas no nos aportan más que la utilidad en sí mismos y hoy no vamos a apuntar en esa dirección: vamos a intentar aprender cosas (que pueden ser nuevas para ti) y cómo integrar diferentes opciones del Mac para construir tus propias herramientas que al final suelen ser tan efectivas como las herramientas comerciales y sobre todo mucho más personalizadas. Haremos "forks" (Una bifurcación (fork en inglés), en el ámbito del desarrollo de software, es la creación de un proyecto en una dirección distinta de la principal u oficial tomando el código fuente del proyecto ya existente. Comúnmente se utiliza el término inglés.) de esas herramientas para cubrir otras necesidades como por ejemplo la asistencia remota y mucho más. Vamos, en general, a aprender un montón de cosas sobre como realizar estas dos tareas básicas de mantenimiento y cómo podemos conseguir que se realicen solas ya que en la mayoría de las ocasiones se requiere una interacción del usuario.

Reparar el disco duro

Hay una máxima incrustada dentro de la reparación de un disco duro y es que simplemente no se puede realizar cuando arrancas desde ese mismo disco: la premisa es sencilla de entender porque estamos utilizando ese disco y para poder repararlo simplemente necesitamos que los archivos de ese disco no estén en uso.

Muchos usuarios, para la reparación de discos, utilizan particiones o discos duros alternativos con sistemas operativos instalados de forma que adicionalmente a las herramientas que provee Apple, pueden instalar otras aplicaciones de gestión y reparación. Esta política no es solo recomendable sino también muy necesaria. Desde OS X 10.7 Lion, Apple ha puesto a disposición de los usuarios la Partición de Recuperación, una versión de OS X especialmente preparada para ocupar poco espacio en el disco duro de arranque (apenas unos 500 MB) y con las herramientas necesarias para reinstalar OS X además de hacer estas tareas de mantenimiento básicas desde la Utilidad de Discos. Apple pone a disposición de los usuarios una herramienta adicional, OS X Recovery Disk Assistant v1.0. Esta herramienta permite recrear una Partición de Recuperación en un disco duro externo basada en la Partición de Recuperación instalada en nuestro disco duro de arranque.

Ya que vamos a necesitar un disco duro de arranque alternativo para reparar nuestro disco duro … ¿porqué no modificar la Partición de Arranque para añadir nuestras herramientas y la correspondiente automatización?. Bueno, esta es una tarea bastante complicada.

Apple ha creado la Partición de Recuperación de una forma que resulta complejo modificarla sin tener que realizar diferentes florituras. Para aquellos que no estéis al corriente de la arquitectura de esta partición, y resumiendo de forma sencilla sobre este asunto, está compuesta por una serie de archivos que filtran si la máquina está soportada para arrancar desde la misma y después una versión del sistema operativo especialmente ajustada que se esconde en una imagen de disco (BaseSystyem.dmg) dentro de la partición que incluye los diferentes asistentes y unas pocas aplicaciones y utilidades. El problema se encuentra específicamente dentro de esta imagen de disco que está construida con un sistema de archivos de solo lectura. Esto obliga a recrear esta imagen de disco en formato lectura y escritura además de añadirle los correspondientes scripts que vamos a utilizar más adelante, pero esta reconstrucción de la imagen aumenta indefectiblemente su tamaño, lo que nos obliga a aumentar el espacio de disco de la Partición de Recuperación para acomodar esta nueva imagen … al final esta tarea resulta tan poco práctica que resulta mucho más sencillo (y más conveniente) instalar una versión del sistema operativo completo en otro disco que intentar modificar una copia de la partición de recuperación y especialmente, porque si lo intentamos hacer sobre la que está instalada en nuestro disco duro de arranque todo puede acabar en un desastre de proporciones épicas si nos equivocamos en el proceso. Además, un sistema operativo completo nos permite instalar herramientas adicionales sin excesivo problema o realizar otras tareas de emergencia en el caso de que nuestro disco duro principal falle. Teniendo en cuenta que es posible arrancar desde una memoria USB o incluso una tarjeta de memoria con OS X instalado si esta tiene el suficiente tamaño, el problema inherente a "un disco duro externo" se minimiza notablemente debido al precio relativamente bajo de estos periféricos o de si disponibilidad inmediata.

Así que nuestro primer paso es disponer de ese sistema operativo adicional para evitar problemas y disponer de herramientas de reparación, las propias del sistema y otras que podamos necesitar (como por ejemplo, para recuperar archivos borrados).

El flujo de trabajo

El flujo de trabajo que vamos a crear tiene los siguientes pasos:

  1. Definición del día y la fecha y la hora de la realización de las tareas de mantenimiento
  2. Arranque automatizado a nuestro disco duro externo
  3. Realización de las tareas automatizadas de mantenimiento desde el disco duro externo
  4. Creación de informes y su distribución
  5. Reinicio al disco duro de arranque principal

Definición del día y la fecha y la hora de la realización de las tareas de mantenimiento

Este es un paso que tenemos que definir previamente a desplegar toda la solución ¿Qué día y hora es más conveniente? Mi elección personal es el sábado por la noche para las máquinas personales y el jueves para las máquinas de producción una vez cada quince días por la sencilla razón de que si "algo va mal" y hay que realizar reparaciones posteriores dispongo del domingo o el viernes para realizarlas. No hay nada peor que iniciar la semana con una máquina parada que requiere reparaciones adicionales.

Arranque automatizado al disco duro externo

Evidentemente este disco duro debe estar conectado al Mac. Para esta tarea vamos a necesitar Automator y Calendarios (o iCal).

Abriremos Automator (en Aplicaciones) y añadiremos una Alarma de Calendario en el tipo de Documento. Una vez nos enfrentemos al interfaz de Automator, elegiremos una acción "Ejecutar Applescript" y añadiremos allí la correspondiente orden de cambio de disco duro de arranque:

do shell script "bless -mount '/Volumes/nuevo disco de arranque' -setBoot" password "tu_contraseña_de_administrador" with administrator privileges

Si te fijas, hemos añadido comillas simples a la ruta de arranque del disco por una razón muy sencilla: mientras que en un comando de Terminal solo requeriríamos definir los espacios en blanco con "\ " para el nombre del disco duro (Macintosh HD) para ejecutar un do shell script con Applescript es necesario entrecomillar la ruta para evitar la interpretación de este espacio en blanco u otros símbolos especiales. Por otra parte, tu_contraseña_de_administrador será la contraseña de tu usuario administrador. Esto evita que el sistema te pregunte por ella (y si no estás delante del ordenador, el cuadro de diálogo de solicitud impedirá la ejecución del mismo).

Añadiremos ahora un comando sencillo para forzar el reinicio del Mac. Añadiremos a nuestra  alarma para Calendarios de Automator una acción "ejecutar Applescript" con este comando:

do shell script "shutdown -r now" password "tu_contraseña_de_administrador" with administrator privileges

Ahora solo tendrás que crear en Calendarios (o iCal) una fecha en concreto y añadirle la alarma que ejecute esa acción de Automator en la fecha elegida y con la frecuencia que requieras. Al ejecutarse la alarma de Automator, automáticamente se cambiará el disco duro de arranque y se forzará el proceso de reinicio. Aunque no tengas marcadas las opciones de volver a abrir los documentos y aplicaciones, al ejecutar shutdown -r si se aplica esta característica así que cuando reinicie el Mac de nuevo al disco duro de arranque, tras realizar los procesos de verificación y reparación, volverá a dejar el Mac (razonablemente) como estaba.

En la segunda parte de este artículo, procederemos a automatizar el proceso de verificación y reparación de/los discos duros, a generar un informe y a que este se envíe por correo electrónico. Adicionalmente, crearemos un "fork" de este flujo de trabajo para crear una aplicación para la verificación remota de discos que se ponga en contacto con nosotros para ofrecernos los correspondientes resultados.

 

4
Comentarios
  • #1 por Mandibul el 16/01/2013
    Muchas gracias por el tutorial.
    Justo voy ahora pasar de Lion a Mountain Lion.

    ¿Debo rehacer el disco de arranque externo una vez que instale Mountain Lion?
    Intuyo que sí. Pero mejor preguntar.
  • #2 por Carlos Burges el 16/01/2013
    ¿Rehacer? Si te refieres a recrearlo con la misma versión del sistema operativo al que te actualizas la respuesta es si, altamente recomendable.
  • #3 por Mandibul el 16/01/2013
    A eso me refería. 'efestivamente'