jueves, 12 de marzo de 2015

HOW TO: Solución al error al intentar ejecutar smitty en AIX 6.1: "Unable to create temp file."

Si al intentar ingresar ejecutar el comando smitty en AIX (para este ejemplo, AIX 6.1), aparece el error "Unable to create temp file.", lo podemos resolver con estos sencillos pasos:

Este error se refiere a que posiblemente tenemos problemas con escribir en el directorio /tmp, bien sea porque el filesystem donde se encuentra la partición está lleno o porque tenemos un error adicional que podemos chequear y solucionar ejecutando un chequeo a la partición donde se encuentra el directorio /tmp.  En todo caso, los pasos a realizar a continuación:

1. Verificar si tenemos espacio suficiente en la partición donde se encuentra /tmp.  Ejecuntando el comando df (como root):

Si el directorio se encuentra full, podemos identificar algún programa de nuestro sistema operativo que esté utilizando el directorio /tmp tomando de acá archivos temporales, detenerlo, borrar algunos archivos del /tmp y volver a intentar ejecutar el comando smitty.  De igual manera, quedaría subir nuevamente el servicio que previamente hemos detenido.  

Nota: Si intentamos borrar de /tmp algún archivo que esté usándose en nuestro S.O, posiblemente no lo podamos borrar.

Por el contrario, si tenemos algo de espacio libre en /tmp y persiste el error, pasemos al paso 2.
 

2. Validar que podemos escribir y/o borrar en el directorio.  Intentemos entonces crear un archivo dentro de /tmp (podemos utilizar el comando touch /tmp/nombre_archivo).  En este punto, con espacio suficiente para escribir o borrar e intentando escribir en /tmp algún archivo de prueba recibimos algún mensaje de que no podemos realizar la operación (acá les muestro un ejemplo al intentar borrar un archivo llamado "sdcdbg.151" que se encontraba en /tmp), procedemos a hacer un chequeo de la partición donde se encuentra el directorio /tmp. Para realizarlo, pasemos al paso 3.

3. Chequear la partición donde está /etc.
3.1. Con el comando mount podemos ver el dispositivo y el punto de montaje que coresponde a /tmp. En mi caso, existe un filesystem exclusivo para el punto de montaje /tmp (filesystem /dev/hd3 montado sobre /tmp):

3.2. Identificado el punto de montaje que corresponde a /tmp, procedemos a desmontarlo. Podemos utilizar el comando mount -f como se muestra a continuación.
Para verificar que el filesystem /tmp se haya desmontado en forma satisfactoria ejecutamos nuevamente el comando df; no deberá aparecer el punto de montaje correspondiente a /tmp:

3.3. Con el volumen desmontado, procedemos a ejecutar el comando fsck /tmp.  En este ejemplo, mi volumen /dev/hd3 que corresponde al punto de montaje /tmp tenía un error; en la Phase 4 "File system inode map is corrupt; FIX?" y en la Phase 5 "Superblock is marked dirty; FIX?  ingresamos "y" para confirmar el chequeo del filesystem.  Al finalizar el proceso, se nos indica que el todas las inconsistencias encontradas han sido reparadas:

3.4. Para finalizar, volvemos a montar el volumen desmontado con el comando mount /filesystem /punto-montaje (ejemplo mount /dev/hd3 /tmp).  Para verificar que el filesystem /tmp se haya montado en forma satisfactoria ejecutamos nuevamente el comando df; deberá aparecer el punto de montaje correspondiente a /tmp:

Listo, ahora podemos ejecutar el comando smitty sin inconvenientes:

No hay comentarios:

Publicar un comentario