miércoles, 4 de agosto de 2010

Qué es y cómo se utiliza AppleJack.


Applejack va mas allá que el simple comando "fsck"que hemos visto anteriormente. Es un "script" que realiza diferentes tareas de mantenimiento del Mac, reparando muchos de los problemas que puede presentar el sistema operativo, y es tan fácil de usar que está al alcance de cualquier usuario.

En realidad no hace nada que no se pueda hacer con los suficientes conocimientos del sistema operativo y del uso de las líneas de comandos, pero este "shell script" automatiza diferentes procesos, facilitando mucho las cosas.

No se trata de un "programa" o utilidad que podamos utilizar del modo habitual, con sus ventanas y botones. Para utilizarlo, y al igual que para utilizar el "fsck", debemos iniciar o arrancar nuestro ordenador en el llamado "modo de usuario único", y su uso tampoco ofrece ninguna dificultad.

AppleJack repara el sistema de archivos, repara permisos, chequea preferencias y elimina las que considera corruptas, limpia cachés y temporales, etc...

Podemos obtenerlo de forma gratuita descargando desde la página de su desarrollador el instalador correspondiente.
Una vez hecha la instalación debemos iniciar o reiniciar el ordenador en "modo de usuario único" pulsando simultáneamente las teclas "Command" (la tecla de la manzana o tecla Apple) y la "S", manteniéndolas pulsadas hasta que se muestre la pantalla negra y sobre ésta aparezcan docenas de líneas de texto.

Esperaremos a que termine de aparecer este texto, que al final debe constar de estas líneas:


Vemos que además de la invitación a usar "fsck" aparece ahora también la sugerencia de recurrir a Applejack para resolver problemas.

Lo más sencillo es teclear justo después de :/ root# este simple comando:
"applejack auto restart" (siempre sin las comillas) y pulsar "Enter", con lo cual estamos pidiendo a AppleJack que se ejecute automáticamente, y una vez finalice reinicie el ordenador:

Debemos tener en cuenta que esto puede tardar desde unos minutos hasta media hora o incluso más, en las que aparecerán cientos o miles de líneas de texto, tanto en la reparación de permisos, limpieza de cachés o verificación de preferencias, así que paciencia. Así, se irán ejecutando consecutivamente las diferentes tareas, task1, task,2, task3...

AppleJack auto mode: selecting task 1
AppleJack will repair disks in 10 seconds.
[skip this task/quit Applejack]
Disk repair...
** /dev/rdisk0s3
** Root file system
** Checking Journaled HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
** Checking volume bitmap
** Checking Volume information
** The volume MacOSX appears to be OK
Success! Either your disk had no errors, or it was repaired
successfully.
(If yo were prompted to restart, you can ignore that for now.)

Done with disk repairs -0-


En este ejemplo, AppleJack finaliza la primera tarea con el texto Done with disk repairs -0-, lo cual quiere decir que ha encontrado errores y a procedido a repararlos.

Si escribimos el comando "auto" en mayúsuculas (applejack AUTO restart) el script hará una "deep clean" o limpieza a fondo, no siempre necesaria pero que prolonga aún más el proceso y nos permite ir a preparar café o incluso hacer la cena:

For troubleshooting assistance, just type 'applejack' at the prompt
:/ root# applejack AUTO restart

Por cierto, al usar el ordenador el el modo de usuario único" y con AppleJack puede anular durante esta fase en el ordenador determinados mecanismos de control. En los iMac G5, por ejemplo, se desactiva durante un buen rato el control de velocidad de los ventiladores, con los que éstos pueden girar a la velocidad máxima con el consiguiente ruido.

Hemos dicho que esta era la forma más sencilla de utilizar AppleJack, ya que nos limitamos a escribir el comando y a esperar a que el ordenador reinicie. Pero si nos limitamos a escribir applejack aparecerán notas sobre el script, consejos de uso y la posibilidad de ir ejecutando uno a uno los procesos de comprobación del sistema, lo cual puede ser interesante para usuarios más avanzados.

Aunque obviamente se requieren unos mínimos conocimientos de inglés, AppleJack lo pone muy fácil resaltando en color las letras de los comandos a utilizar para iniciar procesos o cerrar el script.


A los usuarios mas "geek" les puede interesar ver un reporte de todo aquello que ha hecho AppleJack viendo el "log" correspondiente en: /private/var/log/AppleJack.log. Por cierto, el script está en: /var/root/Library/Scripts/applejack.sh y recordad que solo es recomendable ejecutarlo en modo de usuario único.

Cuando acaben todos los procesos podemos reiniciar escribiendo "reboot" y pulsando en el teclado "Enter".

AppleJack es una de esas cosas que "hay que tener" si eres usuario de Mac, hasta el punto de que muchos usuarios han esperado a que apareciese la última versión (1.6), ya compatible con Snow Leopard, antes de decidirse a actualizar su Mac con este sistema operativo.

Cómo reparar Mac OS X con el comando "fsck".


Algunos de los problemas y extraños comportamientos que puede presentar el sistema operativo de nuestro Mac se pueden resolver mediante un sencillo comando, tras iniciar o arrancar nuestro ordenador en el llamado "modo de usuario único".

Este modo de inicio hace que el ordenador arranque "bajo mínimos", sin el entorno gráfico de ventanas menús y botones al que estamos habituados, lo cual
asusta a muchos usuarios ya que supone enfrentarse a una simple pantalla negra con centenares de líneas de texto, lo cual a algunos les hace exclamar "pero si parece el MS-DOS".


Pero no nos asustemos; en primer lugar no tiene nada que ver con el MS-DOS de Microsoft, sino con el "Unix" en el que se basa el sistema operativo Mac OS X.
En segundo lugar, no hay que escribir ni memorizar extraños conjuros, tan solo deberemos recordar dos sencillos comandos: "fsck -fy" y "reboot". Este "fsck" (de "File System Check") puede recordar de nuevo a algunos a Windows con su "chkdsk" (de Check Disk).

Para iniciar en ese "modo de usuario único" debemos iniciar o reiniciar el ordenador pulsando simultáneamente las teclas "Command" (la tecla de la manzana o tecla Apple) y la "S", manteniéndolas pulsadas hasta que se muestre la pantalla negra y sobre ésta aparezca una larga retahíla de texto.


Esperaremos a que termine de aparecer este texto, que al final debe constar de estas líneas:


Singleuser boot -- fsck not done
Root device is mounted read-only


If you want to make modifications to files:
/sbin/fsck -fy
/sbin/mount -uw /


If you want to boot the system:
exit


:/ root#

Observad, por si tenéis mala memoria, que en la cuarta línea se nos sugiere el comando "fsck -fy" que es precisamente lo que tenemos que escribir nosotros justo al final (inmediatamente después de :/ root# y siempre sin las comillas)

Si disponemos de un teclado en español tal vez nos encontremos con que no conseguimos escribir el guión delante de "fy". Podemos utilizar el guión del teclado numérico ("el menos") si disponemos de éste; y si no, pulsaremos en su lugar la tecla "apóstrofe" (').

Una vez hayamos escrito el comando:

Singleuser boot -- fsck not done
Root device is mounted read-only


If you want to make modifications to files:
/sbin/fsck -fy
/sbin/mount -uw /


If you want to boot the system:
exit


:/ root# fsck -fy

pulsaremos "Enter" o "Intro", con lo cual se iniciará un "chequeo" automático del estado de los archivos del sistema, que puede tardar varios minutos.
Si todo está bien, o el Mac no es capaz de autodiagnosticarse nada erróneo el resultado será éste:

:/ root# fsck -fy
** /dev/rdisk0s3
** Root file system
** Checking Journaled HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
** Checking volume bitmap
** Checking Volume information
** The volume MacOSX appears to be OK
:/ root#

Es decir, aparentemente todo está bien. Para iniciar el ordenador en el modo habitual tan sólo hay que recordar y escribir la palabra "reboot" (al igual que antes inmediátamente despúes de :/ root#) y pulsar de nuevo "Enter":


Pero es posible que si se hayan detectado errores. Si estos han podido ser reparados se mostraría algo así:

:/ root# fsck -fy
** /dev/rdisk0s3
** Root file system
** Checking Journaled HFS Plus volume.
** Checking Extents Overflow file.
** Checking Catalog file.
** Checking multi-linked files.
** Checking Catalog hierarchy.
** Checking Extended Attributes file.
** Checking volume bitmap
** Checking Volume information
** The volume MacOSX appears to be OK


***** FILE SYSTEM WAS MODIFIED *****
:/ root#

A pesar de la línea de texto que dice que "The volume MacOSX appears to be OK" vemos que se nos advierte "FILE SYSTEM WAS MODIFIED", es decir "el sistema de archivos ha sido modificado", lo cual quiere decir que se han encontrado errores y se han reparado.

Ahora ya podemos reiniciar con "reboot" como hemos explicado antes.

Pero si la operación finaliza con el texto: "The disk could not be repaired" el asunto es un poco más feo. Tal vez debamos recurrir a utilidades de reparación de terceros (DiskWarrior, por ejemplo), o incluso plantearnos la necesidad de reinstalar de nuevo el sistema operativo.

NOTA IMPORTANTE (Enero 2018)
Se debe tener en cuenta que esta entrada fue redactada en 2010. Algunos procedimientos de reparación o reinstalación del sistema operativo han variado para las versiones y dispositivos actuales. Os remito a entradas más recientes, como:
"Cómo reinstalar macOS sin perder nuestros datos... hoy"