Faragiri

Aprender Sistemas operativosSistemas

La máquina prende, la red sirve y la carpeta compartida no abre. Los comandos que dicen cuál de los cuatro trabajos falló, y el que devuelve el error en inglés.

8Secciones
8Minutos
2Profundidad

La división

Cuatro trabajos que nunca se anuncian, y ninguno va primero

Van sobre una pista porque una falla en cualquiera de los cuatro llega disfrazada de falla en otro.

Decidir quién recibe qué, y cuándo
  • Quién corre después
  • Quién puede abrir qué
  • Cuánta memoria puede tener cada uno
  • Quién se queda con el aparato
  • 01Quién corre despuésEl planificador. Solo se nota como una máquina que se siente lenta sin estar haciendo nada visible
  • 02Quién puede abrir quéPermisos. Tres dígitos, y la causa de casi todo reporte que parece un programa roto
  • 03Cuánta memoria puede tener cada unoCon cuatro gigabytes este es el que se ve primero, y termina con un proceso muerto y escrito en la bitácora
  • 04Quién se queda con el aparatoImpresoras, discos y sockets, y la fila que se forma delante de cada uno

Deja fuera el escritorio por completo, que es justo lo que la gente quiere decir cuando nombra su sistema operativo y la parte que menos tiene que ver con todo esto.

La máquina 12 del laboratorio de una secundaria en Zapopan prende, muestra el escritorio y tiene red. La carpeta donde los alumnos entregan tareas aparece en la lista y no abre. Ismael Quiroz ya la reinició dos veces y ya le dijeron que la formatee. Está corriendo y no está funcionando, y esas son dos preguntas distintas que se contestan con comandos distintos.

ps dice qué está corriendo y systemctl dice qué debería estar corriendo. Un servicio puede estar configurado, habilitado, caído y reiniciado seis veces en un minuto mientras la lista de procesos lo muestra presente cada vez que alguien la mira. El sistema operativo conoce la diferencia, y aprender a hacerle la pregunta correcta es el tema completo.

Formatear borra la respuesta, y por eso a la tercera vez sigue igual de lejos

Por acá formatear es la respuesta a todo, y no por ignorancia: funciona lo bastante seguido para parecer un método. Deja la máquina en un estado conocido, se acaba a las dos horas, y el salón vuelve a trabajar. El precio se paga después. Quien formatea nunca averigua cuál de los cuatro trabajos del sistema falló, así que la tercera vez está exactamente igual de lejos, con dos días menos y con los archivos de alguien encima.

El atoro está ahí y no en la sintaxis. La salida es hacer una sola pregunta antes de decidir: si algo no arranca, si algo no puede abrir un archivo, si no hay memoria o si dos programas quieren el mismo aparato. Cada una de las cuatro tiene su comando y ninguna se contesta mirando el escritorio.

Los cuatro trabajos que hace mientras nadie lo ve

Un sistema operativo no es el escritorio. Es lo que decide cuál proceso recibe el procesador después, cuál puede abrir cuál archivo, cuánta memoria tiene cada uno y qué pasa cuando dos quieren el mismo aparato. Nada de eso se ve hasta que se descompone, y por eso qué hace un sistema operativo vuelve legible todo lo demás.

La respuesta de la máquina 12 no salió de la lista de procesos sino del administrador de servicios.

  • systemctl status smbd
  • imprime Active: failed (Result: exit-code) y los últimos tres renglones de bitácora
  • journalctl -u smbd -n 50

journalctl -u smbd -n 50 imprime los últimos cincuenta renglones de un solo servicio, que es la diferencia entre leer una bitácora y leer todo lo que la máquina ha dicho desde que existe. Los cincuenta renglones nombraron un error de permisos sobre la carpeta de entregas, movida a otro disco la semana anterior.

El mensaje en español no tiene resultados, y hay un comando para eso

Aquí aparece un costo que la versión en inglés no puede tener, porque su lector nunca lo paga. El sistema instalado en español devuelve los errores en español, y esas cadenas casi no existen en internet: quien busca «no se puede acceder al recurso compartido» encuentra foros con la misma pregunta sin responder. El mensaje traducido es correcto y es inútil.

En Linux se recupera el original sin reinstalar nada. LC_ALL=C delante de un comando devuelve el mensaje en inglés, que es el que sí tiene resultados: LC_ALL=C systemctl status smbd imprime Permission denied donde antes decía «Permiso denegado». Vale la pena tomar la costumbre antes de copiar cualquier error a un buscador.

En Windows la salida es otra y es igual de mecánica. 0x80070005 es acceso denegado, y el código se busca mejor que el texto, porque el código no está traducido: es el mismo en las once versiones del sistema que hay en ese laboratorio. Ante una ventana de error en español, el dato que sirve es el número hexadecimal de la esquina, no la oración.

Tres dígitos explican casi todas las fallas de permisos

Los permisos de un sistema Unix no son una lista. Son tres dígitos, y cada dígito es una suma. Cuatro es leer, dos escribir, uno ejecutar, y el dígito suma eso para un público: el dueño, el grupo, y el resto.

chmod 644 significa que el dueño escribe y todos los demás leen. Seis es cuatro más dos, leer y escribir para el dueño. Cuatro es leer para el grupo y cuatro para el resto. Una carpeta necesita además el bit de ejecución para poder entrarse, y por eso 644 sobre una carpeta produce la confusión exacta de un directorio que existe, se alcanza a listar y no se deja abrir. 755 es la respuesta normal para una.

La carpeta de entregas había llegado al disco nuevo con 644 y con un dueño que no era el servicio. Dos comandos cerraron el reporte y ninguno de los dos fue un reinicio.

Tres sistemas, dos preguntas

Qué se pasa de uno a otro, y qué hay que aprender dos veces

Si el sistema es de la familia Unix, y si es probable administrarlo desde un solo lugar. El par decide cuánto de un trabajo sirve en el siguiente.

Familia UnixFamilia propia

Se atiende de una en una

macOSUn Unix debajo de un escritorio. Lo aprendido en la terminal de Linux se pasa completo
Windows en un escritorioConvenciones propias, consola propia, y la mayor parte del trabajo de soporte de la región

Se administra desde un lugar

Linux en servidoresSe administran de a cientos, por archivo de configuración y no a mano
Windows en un dominioDirectorio, políticas e imágenes, que es una profesión distinta de la del escritorio

No dice cuál es mejor, y la celda donde alguien trabaja la elige su empleador mucho más seguido que la persona. Por acá la fila de abajo llega tarde: una escuela, un consultorio o una papelería se atienden de una en una.

El proceso que no se deja matar

La otra confusión que conviene tener resuelta de antemano es la del proceso que no se va. Un proceso en estado D está esperando al disco y no se puede matar, porque no está dormido en el sentido corriente: está adentro de una llamada al sistema que no ha regresado, y la señal no se le puede entregar hasta que regrese. Mandarle señales cada vez más violentas no logra nada y produce la creencia de que la máquina está rota. Lo roto casi siempre está debajo: un disco de red que desapareció, o uno que se está muriendo. El proceso es el síntoma, y lo que corresponde es averiguar qué espera. En el laboratorio salió una vez, con el disco viejo desconectado por abajo.

Con cuatro gigabytes cambia cuál de los cuatro trabajos se ve primero

En un parque de máquinas de segunda mano, que es el parque real de casi toda escuela, consultorio y local de la región, el trabajo del sistema que se ve primero no es el de los permisos sino el de la memoria. Catorce de las dieciocho máquinas del laboratorio tienen cuatro gigabytes, y con eso el navegador y el antivirus ya no caben juntos.

El comando es corto y la columna que importa no es la obvia. La columna de free -h que importa es disponible, no libre: Linux usa toda la memoria que sobra como caché de disco, así que «libre» siempre se ve alarmante y no significa nada. Disponible es lo que un programa nuevo podría tomar sin lastimar a nadie. Cuando se acerca a cero, el sistema empieza a usar el disco como memoria, la máquina se arrastra sin que ningún proceso se vea ocupado, y al final mata al que más pedía. Esa muerte queda escrita y se lee con journalctl -k.

Ese orden, la memoria antes que los permisos, es el inverso del orden en que se enseña.

Los tres escritorios, y por qué por acá casi nada se administra desde un lugar

Casi nadie elige su sistema operativo por sus méritos. Llega con el trabajo, con el equipo o con el programa que tiene que correr, y lo práctico es poder trabajar sobre el que esté enfrente. La terminal es lo que más se transfiere: quien está cómodo en Linux ya tiene andada la mayor parte del camino hacia macOS, y al revés también.

El que no comparte familia es Windows, y es donde de verdad ocurre la mayoría del trabajo de soporte. Su consola es PowerShell, sus permisos son listas de control de acceso y no tres dígitos, y su administración central no tiene equivalente del lado Unix. Quien solo ha trabajado en una terminal descubre que casi nada se pasa, salvo la costumbre de preguntarle a la máquina en vez de adivinar, y esa vale más que cualquier sintaxis.

Falta decir dónde queda el lector. La administración central llega tarde por acá: dieciocho máquinas de una escuela u ocho de un consultorio se atienden de una en una, sin dominio y sin imágenes. Eso no es una carencia que corregir, es el trabajo que hay, y lo que rinde en él multiplica una mano: un guion que corre en las dieciocho, una USB que instala igual siempre. El dominio y las políticas son otra profesión y se aprenden en un corporativo.

Hay un detalle de este parque que ningún manual menciona y que decide el primer diagnóstico. En buena parte de las máquinas que le van a poner enfrente al lector, Windows se activó con un programa de terceros, y ese instalador suele pedir que se apague el antivirus y se detengan las actualizaciones para que la activación no se caiga. No es una opinión sobre licencias, es un dato: la primera pregunta ante cualquier cosa rara es si las actualizaciones corrieron alguna vez.

Qué abrir en 2026

En cualquier Linux hecho en la última década, systemd es el administrador de servicios y journalctl es cómo se lee lo que hizo. Reemplazó a los guiones de arranque y a las bitácoras regadas, que es lo que sigue describiendo la documentación anterior a 2015, y el cambio fue tan impopular que mucho de ese consejo viejo todavía sale primero en el buscador.

Del lado de Windows, PowerShell trae Get-WinEvent -LogName System -MaxEvents 50, que hace lo mismo que journalctl y llega a los mismos registros que el Visor de eventos. Reemplazó a wevtutil y a la interfaz gráfica para cualquier cosa que haya que repetir en dieciocho máquinas. Ya viene con el sistema y no cuesta nada.

Para probar un sistema desconocido sin comprarlo, una máquina virtual es gratis y reversible, y ese es el argumento entero de las máquinas virtuales. VirtualBox sigue gratis y en equipos Apple UTM ocupa el mismo lugar. Con una advertencia local: sobre cuatro gigabytes no cabe una, así que la segunda computadora debajo del escritorio no es un lujo del pasado sino la opción que funciona.

Lo que ninguno de estos comandos alcanza es el escalón donde se compone lo demás. Quien corre journalctl pero no puede filtrarlo ni contarlo lee cada respuesta por una rendija, y esa es la palanca de la línea de comandos. Multiplica desde computadoras y soporte técnico hasta la administración de servidores, donde las mismas preguntas se hacen sobre una máquina que nadie puede ir a ver.

Queda una pregunta que ninguno de los cuatro trabajos contesta: qué hacer cuando la falla no está en la máquina. La carpeta abrió el día que se arreglaron los permisos, pero dos días antes el mismo síntoma venía del cable del switch, y ningún comando de esta página lo habría dicho. Eso se decide en redes de computadoras, y su primer movimiento es averiguar cuál capa está mintiendo.

Al lado de esto

Arriba de esto