Problemas de instalación¶
Esta página describe los problemas más habituales durante la instalación de Ubuntu, Grafana, Prometheus y Node Exporter.
El objetivo no es únicamente aplicar comandos, sino aprender un procedimiento sistemático de diagnóstico:
Identificar el síntoma
|
v
Recopilar información
|
v
Consultar registros
|
v
Comprobar configuración
|
v
Aplicar una corrección
|
v
Validar el resultado
|
v
Documentar la solución
Advertencia: realiza las prácticas en el entorno de laboratorio. Antes de modificar una configuración, crea una copia de seguridad y verifica que el comando se ejecuta sobre el equipo correcto.
Objetivos¶
Al finalizar esta sesión, el alumno podrá:
- Identificar los síntomas habituales de un problema de instalación.
- Comprobar si un paquete está instalado correctamente.
- Diagnosticar errores de
apt. - Comprobar la arquitectura del sistema.
- Verificar la existencia de usuarios, grupos y directorios.
- Analizar errores de servicios gestionados por
systemd. - Revisar los registros de instalación y ejecución.
- Diagnosticar conflictos de puertos.
- Validar configuraciones de Grafana y Prometheus.
- Comprobar los binarios instalados.
- Resolver problemas de permisos.
- Restaurar configuraciones desde una copia de seguridad.
- Documentar una incidencia técnica de forma reproducible.
Introducción¶
Una instalación puede fallar por diferentes motivos:
- El sistema no tiene acceso a Internet.
- El repositorio no está disponible.
- La arquitectura descargada es incorrecta.
- El paquete no es compatible con la versión de Ubuntu.
- Ya existe una instalación anterior.
- Un puerto está ocupado.
- El usuario del servicio no existe.
- La configuración contiene errores.
- El servicio no tiene permisos suficientes.
- Faltan dependencias.
- El sistema de archivos está lleno.
- El reloj del sistema es incorrecto.
- El firewall bloquea la comunicación.
- El fichero descargado está incompleto o corrupto.
El mensaje visible suele ser solo una parte del problema. Por ejemplo, este mensaje:
no explica necesariamente la causa. Para encontrarla hay que consultar:
y:
Procedimiento general de diagnóstico¶
Identificar el componente afectado¶
Determina qué elemento presenta el problema:
Registrar el síntoma¶
Anota exactamente:
- Qué comando se ejecutó.
- Qué resultado se obtuvo.
- Qué mensaje de error apareció.
- Cuándo comenzó el problema.
- Qué cambios se habían realizado antes.
Ejemplo:
Al ejecutar sudo systemctl start prometheus aparece un error.
El servicio no llega a estar activo.
El puerto 9090 no está en escucha.
El fichero prometheus.yml se modificó antes del fallo.
Recopilar información del sistema¶
Comprobar el servicio¶
Consultar los registros¶
Comprobar el proceso y el puerto¶
Validar la configuración¶
Utiliza la herramienta de validación específica cuando exista:
Aplicar la solución¶
Realiza un cambio cada vez. Después de cada cambio:
- Comprueba el estado.
- Revisa los registros.
- Verifica el puerto.
- Prueba el endpoint.
- Documenta el resultado.
Información inicial del sistema¶
Consultar la versión de Ubuntu¶
También:
Consultar la arquitectura¶
Resultados habituales:
La arquitectura debe coincidir con el paquete o binario descargado.
Consultar el kernel¶
Consultar el nombre del equipo¶
Consultar la fecha y la hora¶
Consultar la zona horaria¶
Comprobar el espacio disponible¶
Comprobar especialmente:
Comprobar la memoria disponible¶
Comprobar la conectividad¶
Comprobar la resolución DNS:
Problemas con APT¶
APT es el sistema de gestión de paquetes utilizado en Ubuntu.
Actualizar la información de paquetes¶
Actualizar los paquetes instalados¶
Comprobar si un paquete está instalado¶
También:
Buscar un paquete¶
Consultar los paquetes pendientes de configuración¶
Reparar dependencias¶
Configurar paquetes pendientes¶
Limpiar la caché de paquetes¶
Consultar los registros de APT¶
Error: no se puede localizar el paquete¶
Mensaje habitual:
Comprobaciones:
Posibles causas:
- No se ha ejecutado
apt update. - El nombre del paquete es incorrecto.
- El repositorio no está configurado.
- El repositorio no corresponde a la versión de Ubuntu.
- No existe una conexión a Internet.
- La arquitectura no está disponible.
Error de bloqueo de APT¶
Mensaje habitual:
Comprueba si hay otro proceso de APT ejecutándose:
Comprueba quién utiliza el fichero:
No elimines manualmente los ficheros de bloqueo mientras exista un proceso de APT activo.
Error de configuración incompleta¶
Ejecuta:
Después:
Error de firma o repositorio no válido¶
Revisa:
Consulta:
Comprueba:
- La URL del repositorio.
- La versión de Ubuntu.
- La clave de firma.
- La fecha y hora del sistema.
- La compatibilidad del repositorio.
No desactives la verificación de firmas como solución permanente.
Problemas al instalar Grafana¶
Comprobar si Grafana está instalado¶
Localizar el ejecutable¶
Buscarlo en rutas habituales:
Comprobar el servicio¶
Comprobar la unidad¶
Consultar la configuración¶
La ruta habitual es:
Comprobar que existe:
Consultar la configuración de red:
Comprobar el puerto de Grafana¶
Comprobar la interfaz web¶
Una respuesta 200 OK o 302 Found puede indicar que Grafana responde correctamente.
Consultar los registros¶
Seguir los registros en tiempo real:
Error: el puerto 3000 está ocupado¶
Comprueba el proceso:
También:
Consulta el PID:
Posibles causas:
- Existe otra instancia de Grafana.
- Otra aplicación utiliza el puerto.
- Grafana se ha iniciado dos veces.
- Una instalación antigua continúa activa.
Error: Grafana no puede escribir en sus directorios¶
Consulta los permisos:
Consulta el usuario del servicio:
Corrige el propietario únicamente si sabes cuál debe ser:
Después:
Error: Grafana no inicia después de modificar grafana.ini¶
Crea una copia antes de editar:
Consulta los registros:
Si la configuración anterior era válida:
Reinicia:
Problemas al instalar Prometheus¶
Comprobar si Prometheus está instalado¶
Si se instaló manualmente:
Comprobar promtool¶
Comprobar el servicio¶
Consultar la unidad¶
Consultar el comando de inicio:
Consultar el proceso¶
Consultar el fichero de configuración¶
La ruta habitual es:
Comprobar que existe:
Validar la configuración¶
Si hay reglas:
Error de sintaxis en prometheus.yml¶
Ejemplo de mensaje:
Consulta la línea indicada:
El comando:
- Muestra los números de línea.
- Permite revisar el contexto del error.
- Facilita localizar espacios o sangrías incorrectas.
Comprobar la sangría YAML¶
Incorrecto:
Correcto:
Error: el puerto 9090 está ocupado¶
Consulta el proceso:
Error: Prometheus no puede escribir los datos¶
Consulta:
Corrige el propietario si corresponde:
Error: falta el directorio de datos¶
Después asigna el propietario adecuado:
Error: Prometheus no encuentra el fichero de configuración¶
Consulta la unidad:
Busca el parámetro:
Comprueba la ruta:
Error: Prometheus arranca, pero no tiene targets¶
Consulta la configuración:
Comprueba la API:
Comprueba la métrica:
Problemas al instalar Node Exporter¶
Comprobar el ejecutable¶
Buscarlo:
Comprobar la arquitectura¶
Una arquitectura incorrecta puede producir errores como:
Consultar la versión¶
Comprobar el servicio¶
Consultar la unidad¶
Consultar los parámetros de ejecución¶
Comprobar el puerto¶
Comprobar las métricas¶
Error: unidad no encontrada¶
Mensaje habitual:
Comprueba:
Busca ficheros de unidad:
sudo find /etc/systemd /lib/systemd /usr/lib/systemd \
-name "*node*exporter*.service" \
2>/dev/null
Si se ha creado una unidad nueva:
Después:
Error: el servicio se inicia y se detiene¶
Consulta:
Consulta el proceso:
Posibles causas:
- El binario no es ejecutable.
- La arquitectura es incorrecta.
- El puerto está ocupado.
- El usuario no tiene permisos.
- Existe un parámetro incorrecto.
- La unidad contiene una ruta equivocada.
Dar permiso de ejecución¶
Comprueba:
Problemas con el usuario del servicio¶
Comprueba si existe:
Comprueba el grupo:
Consulta la unidad:
Si la unidad utiliza un usuario inexistente, el servicio no podrá iniciarse correctamente.
Problemas con systemd¶
Consultar el estado¶
Consultar el código de salida¶
Consultar el motivo de un fallo¶
Consultar solo los errores¶
Recargar las unidades¶
Reiniciar un servicio¶
Activar un servicio al arrancar¶
Activar e iniciar¶
Consultar servicios fallidos¶
Comprobar la sintaxis de una unidad¶
Problemas de permisos¶
Consultar permisos¶
Consultar el propietario de una ruta¶
Comprobar acceso como usuario del servicio¶
Por ejemplo:
Comprobar escritura:
Consultar permisos de todos los directorios de una ruta¶
Este comando ayuda a comprobar los permisos de cada directorio intermedio.
Cambiar propietario¶
Cambiar permisos de un fichero de configuración¶
Cambiar permisos de un ejecutable¶
No utilices:
Esta práctica es insegura y puede dañar el sistema.
Problemas de red y DNS¶
Consultar interfaces¶
Consultar rutas¶
Probar conectividad IP¶
Probar resolución DNS¶
Consultar el estado de DNS¶
Probar una conexión HTTP¶
Diagnosticar una descarga¶
Comprobar el tamaño descargado¶
Comprobar el tipo de fichero¶
Si se esperaba un archivo comprimido y file muestra HTML, probablemente se descargó una página de error en lugar del archivo.
Problemas con descargas y binarios¶
Comprobar la integridad mediante SHA-256¶
Compara el resultado con la suma publicada por el proyecto.
Extraer un archivo comprimido¶
Consultar su contenido antes de extraerlo:
Error de formato de archivo¶
Si aparece:
Comprueba:
Posibles causas:
- La URL no apunta al archivo correcto.
- Se descargó una página HTML.
- La descarga está incompleta.
- El archivo utiliza otro formato.
- El archivo está corrupto.
Error de arquitectura¶
Comprueba:
Comprueba el binario:
La arquitectura del binario debe ser compatible con el sistema.
Error de ejecución¶
Si aparece:
Comprueba:
Concede permiso solo si corresponde:
Si aparece:
comprueba la arquitectura:
Problemas de puertos¶
Mostrar puertos en escucha¶
Comprobar Grafana¶
Comprobar Prometheus¶
Comprobar Node Exporter¶
Identificar un proceso¶
Interpretar las direcciones de escucha¶
Ejemplo:
Solo acepta conexiones locales.
Ejemplo:
Acepta conexiones IPv4 desde las interfaces disponibles, sujeto al firewall.
Ejemplo:
Escucha en IPv6, según la configuración del sistema.
Cambiar un puerto¶
Antes de cambiarlo:
- Crea una copia de seguridad.
- Consulta la documentación del servicio.
- Comprueba que el nuevo puerto está libre.
- Modifica la configuración correcta.
- Reinicia el servicio.
- Comprueba el nuevo endpoint.
- Actualiza Prometheus, Grafana o el firewall si es necesario.
Problemas del firewall¶
Consultar UFW¶
Consultar las reglas numeradas¶
Permitir Grafana en una red de laboratorio¶
Permitir Prometheus en una red de laboratorio¶
Permitir Node Exporter desde un servidor Prometheus¶
Comprobar una regla¶
No abras los puertos a cualquier origen sin una justificación:
Esta regla puede exponer Node Exporter a más equipos de los necesarios.
Problemas de espacio en disco¶
Consultar espacio disponible¶
Buscar directorios grandes¶
Consultar datos de Prometheus¶
Consultar datos de Grafana¶
Buscar ficheros grandes¶
Revisar registros¶
Reducir registros antiguos del journal¶
Solo en el entorno de laboratorio y siguiendo la política de retención:
No elimines datos de Prometheus o Grafana sin comprender sus consecuencias.
Problemas de fecha y certificados¶
Una fecha incorrecta puede provocar errores al descargar paquetes o validar certificados.
Consultar fecha¶
Consultar sincronización¶
Activar sincronización NTP¶
Consultar el estado de sincronización¶
Problemas posteriores a una reinstalación¶
Detectar instalaciones duplicadas¶
Buscar procesos duplicados:
Buscar unidades duplicadas:
Detectar configuraciones antiguas¶
sudo find /etc /opt /usr/local \
-iname "*grafana*" \
-o -iname "*prometheus*" \
-o -iname "*node_exporter*" \
2>/dev/null
Revisar puertos duplicados¶
No borrar inmediatamente¶
Antes de eliminar una instalación anterior:
- Identifica el servicio activo.
- Comprueba la configuración utilizada.
- Haz una copia de seguridad.
- Documenta la instalación antigua.
- Comprueba qué procesos dependen de ella.
- Detén el servicio de forma controlada.
- Elimina únicamente los ficheros necesarios.
Sesión práctica 1: diagnóstico inicial¶
Objetivo¶
Recopilar información antes de modificar el sistema.
Preparación¶
Generar un informe inicial¶
{
echo "===== INFORME INICIAL ====="
echo "Fecha: $(date)"
echo "Equipo: $(hostname)"
echo
echo "===== SISTEMA ====="
hostnamectl
echo
lsb_release -ds
uname -m
uname -r
echo
echo "===== ESPACIO ====="
df -h
echo
echo "===== MEMORIA ====="
free -h
echo
echo "===== RED ====="
ip addr
ip route
echo
echo "===== SERVICIOS ====="
for service in grafana-server prometheus node_exporter; do
echo "--- $service ---"
systemctl is-active "$service" 2>/dev/null || true
systemctl is-enabled "$service" 2>/dev/null || true
done
echo
echo "===== PUERTOS ====="
sudo ss -lntp
} | tee informe-inicial.txt
Preguntas de análisis¶
- ¿Qué versión de Ubuntu está instalada?
- ¿Qué arquitectura utiliza el equipo?
- ¿Hay espacio suficiente?
- ¿Qué servicios están instalados?
- ¿Qué servicios están activos?
- ¿Qué puertos están en escucha?
- ¿Existe algún conflicto evidente?
Sesión práctica 2: diagnosticar una instalación de Prometheus¶
Objetivo¶
Determinar por qué Prometheus no inicia.
Comprobar el estado¶
Consultar el registro¶
Consultar la unidad¶
Comprobar la configuración¶
Validar el fichero¶
Comprobar los permisos¶
Comprobar el espacio¶
Comprobar el puerto¶
Procedimiento de recuperación¶
Si el problema está en la configuración:
Restaura una copia válida:
Valida:
Reinicia:
Comprueba:
Sesión práctica 3: diagnosticar un conflicto de puertos¶
Objetivo¶
Identificar qué proceso utiliza un puerto necesario.
Comprobar el puerto de Grafana¶
Identificar el proceso¶
Consultar el PID¶
Sustituye PID por el valor real.
Consultar el servicio¶
Consultar los procesos relacionados¶
Preguntas de análisis¶
- ¿Qué proceso ocupa el puerto?
- ¿A qué usuario pertenece?
- ¿Lo gestiona
systemd? - ¿Existe más de una instalación?
- ¿Qué solución sería más segura?
- ¿Es preferible cambiar el puerto o detener el proceso duplicado?
Sesión práctica 4: simular un problema de permisos¶
Objetivo¶
Observar cómo un permiso incorrecto impide iniciar un servicio.
Realiza esta actividad únicamente en una máquina virtual o entorno de laboratorio.
Crear una copia de la configuración¶
Consultar los permisos iniciales¶
Aplicar una modificación controlada¶
Comprueba si el usuario del servicio puede leerlo:
sudo -u prometheus test -r \
/etc/prometheus/prometheus.yml \
&& echo "Puede leerlo" \
|| echo "No puede leerlo"
Consultar el servicio¶
Restaurar permisos adecuados¶
Si es necesario:
Validar y reiniciar¶
Preguntas de análisis¶
- ¿Qué permisos tenía inicialmente el fichero?
- ¿Qué usuario ejecuta Prometheus?
- ¿Podía leer el fichero después del cambio?
- ¿Qué mensaje apareció en los registros?
- ¿Qué permisos permiten el funcionamiento correcto?
Sesión práctica 5: diagnosticar una descarga incorrecta¶
Objetivo¶
Comprobar si un archivo descargado corresponde realmente al formato esperado.
Crear un fichero de prueba¶
Consultar el tipo de archivo¶
Consultar el tamaño¶
Consultar el contenido¶
Comprobar la suma¶
Interpretar los resultados¶
Si file muestra:
en lugar de:
la descarga probablemente no corresponde al archivo esperado.
Repetir una descarga de forma controlada¶
La opción -f hace que curl falle ante errores HTTP.
Después:
Sesión práctica 6: diagnosticar Node Exporter¶
Objetivo¶
Comprobar el flujo completo entre Node Exporter y Prometheus.
Comprobar el servicio¶
Comprobar el puerto¶
Comprobar el endpoint¶
Comprobar las métricas¶
Consultar Prometheus¶
Ejecutar PromQL¶
Interpretar el resultado¶
| Comprobación | Resultado esperado |
|---|---|
| Servicio | active |
Puerto 9100 |
En escucha |
Endpoint /metrics |
Responde |
| Target de Prometheus | UP |
Consulta up |
Valor 1 |
Sesión práctica 7: elaborar un informe de incidencia¶
Objetivo¶
Documentar un problema de instalación de principio a fin.
Situación¶
Prometheus no inicia después de modificar su configuración.
Recopilar información¶
Crear una copia del estado actual¶
Resolver el problema¶
Aplica la corrección necesaria y valida de nuevo:
Reiniciar el servicio¶
Validar el resultado¶
Completar el informe¶
Título:
Fecha:
Alumno:
Equipo:
Componente afectado:
Síntoma:
Cambio realizado antes del fallo:
Estado inicial:
Mensaje de error:
Comando de validación:
Causa identificada:
Copia de seguridad:
Corrección aplicada:
Resultado posterior:
Evidencias:
Método de recuperación recomendado¶
Detener los cambios¶
No realices varios cambios simultáneos. Si modificas cinco elementos a la vez, será más difícil identificar cuál solucionó o causó el problema.
Recuperar la última configuración válida¶
Validar¶
Recargar o reiniciar¶
Comprobar el estado¶
Comprobar el endpoint¶
Revisar los registros posteriores¶
Lista de comprobación de Grafana¶
[ ] El paquete está instalado.
[ ] El ejecutable existe.
[ ] El usuario grafana existe.
[ ] La unidad grafana-server existe.
[ ] El fichero grafana.ini existe.
[ ] Los directorios de datos existen.
[ ] Los permisos son correctos.
[ ] El servicio está activo.
[ ] El puerto 3000 está en escucha.
[ ] Grafana responde por HTTP.
[ ] Los registros no muestran errores críticos.
[ ] La fuente de datos de Prometheus funciona.
Lista de comprobación de Prometheus¶
[ ] El paquete o binario está instalado.
[ ] promtool está disponible.
[ ] El usuario prometheus existe.
[ ] El fichero prometheus.yml existe.
[ ] El directorio de datos existe.
[ ] Los permisos son correctos.
[ ] La configuración es válida.
[ ] La unidad systemd existe.
[ ] El servicio está activo.
[ ] El puerto 9090 está en escucha.
[ ] El endpoint de salud responde.
[ ] Los targets aparecen en la interfaz.
[ ] La consulta up devuelve resultados.
Lista de comprobación de Node Exporter¶
[ ] El binario existe.
[ ] El binario es ejecutable.
[ ] La arquitectura es compatible.
[ ] El usuario del servicio existe.
[ ] La unidad systemd existe.
[ ] El servicio está activo.
[ ] El puerto 9100 está en escucha.
[ ] El endpoint /metrics responde.
[ ] Se exponen métricas node_*.
[ ] Prometheus puede acceder al endpoint.
[ ] El target aparece como UP.
Comandos de diagnóstico rápido¶
Estado general¶
Servicios¶
systemctl --failed
systemctl is-active grafana-server
systemctl is-active prometheus
systemctl is-active node_exporter
Puertos¶
Procesos¶
Registros¶
sudo journalctl -u grafana-server -n 50 --no-pager
sudo journalctl -u prometheus -n 50 --no-pager
sudo journalctl -u node_exporter -n 50 --no-pager
Endpoints¶
curl -I http://localhost:3000
curl http://localhost:9090/-/healthy
curl -I http://localhost:9100/metrics
Configuración¶
Buenas prácticas¶
- Crea una copia de seguridad antes de modificar una configuración.
- Valida los ficheros antes de reiniciar los servicios.
- Comprueba siempre la versión y la arquitectura.
- Lee los registros antes de buscar una solución.
- Cambia un único elemento cada vez.
- No elimines ficheros de bloqueo de APT mientras haya procesos activos.
- No utilices permisos
777como solución general. - No descargues binarios de fuentes desconocidas.
- Comprueba la suma de verificación de los archivos.
- Limita los puertos mediante el firewall.
- No expongas Node Exporter públicamente sin necesidad.
- Comprueba el espacio disponible antes de instalar.
- Documenta las rutas reales si difieren de las habituales.
- Conserva una copia de las configuraciones válidas.
- No borres los datos de Prometheus o Grafana sin autorización.
- Utiliza
systemctl catpara entender cómo se inicia un servicio. - Utiliza
promtoolantes de reiniciar Prometheus. - Verifica la solución desde el punto de vista del cliente.
- Conserva evidencias de las comprobaciones.
Tabla de síntomas y comprobaciones¶
| Síntoma | Primera comprobación | Comprobación adicional |
|---|---|---|
| El paquete no se encuentra | sudo apt update |
Revisar repositorios |
| APT está bloqueado | ps aux \| grep apt |
lsof sobre el lock |
| Grafana no inicia | systemctl status grafana-server |
journalctl |
| Prometheus no inicia | promtool check config |
journalctl |
| Node Exporter no inicia | systemctl status node_exporter |
Arquitectura y permisos |
| Puerto ocupado | sudo ss -lntp |
lsof |
| Endpoint no responde | curl -v URL |
Servicio y firewall |
Target DOWN |
up y API de targets |
Endpoint del exporter |
| Disco lleno | df -h |
du |
| Permiso denegado | stat y namei |
Usuario del servicio |
| Binario no ejecutable | file y ls -l |
Arquitectura y permisos |
| Configuración inválida | Herramienta de validación | Copia de seguridad |
Puntos clave¶
- Un error de instalación debe investigarse de forma sistemática.
- El mensaje visible no siempre contiene la causa real.
systemctl statusmuestra el estado general de un servicio.journalctlmuestra los registros desystemd.sspermite comprobar puertos en escucha.curlpermite verificar endpoints HTTP.promtool check configvalida la configuración de Prometheus.- La arquitectura del binario debe coincidir con la arquitectura del sistema.
- Los permisos deben permitir al usuario del servicio leer o escribir lo necesario.
- Un puerto ocupado puede impedir que un servicio se inicie.
- Un servicio activo no garantiza que su endpoint funcione correctamente.
- La conectividad debe comprobarse desde el equipo que realiza la conexión.
- Las copias de seguridad permiten recuperar una configuración válida.
- APT no debe manipularse mientras otro proceso de paquetes está activo.
- No se deben utilizar permisos excesivamente amplios como solución rápida.
- Los cambios deben aplicarse uno a uno.
- Toda incidencia debe documentar el síntoma, la causa, la solución y la validación.
- El objetivo del diagnóstico es obtener una solución reproducible.
Preguntas de comprobación¶
- ¿Qué pasos seguirías ante un servicio que no inicia?
- ¿Qué comando permite consultar los registros de un servicio?
- ¿Qué comando permite comprobar si el puerto
9090está ocupado? - ¿Qué herramienta permite validar
prometheus.yml? - ¿Qué diferencia existe entre
systemctl statusyjournalctl? - ¿Qué puede provocar el error
Unable to locate package? - ¿Qué debes comprobar si aparece
Exec format error? - ¿Qué información proporciona
uname -m? - ¿Cómo comprobarías que el usuario
prometheuspuede leer su configuración? - ¿Qué comando permite verificar el endpoint de Node Exporter?
- ¿Qué puede significar que un servicio esté activo pero no tenga ningún puerto en escucha?
- ¿Qué causas pueden producir un
Connection refused? - ¿Por qué no se debe eliminar manualmente un fichero de bloqueo de APT?
- ¿Qué pasos realizarías antes de modificar
grafana.ini? - ¿Cómo comprobarías si una descarga es realmente un archivo comprimido?
- ¿Qué diferencia existe entre
127.0.0.1:3000y0.0.0.0:3000? - ¿Qué comprobarías si Prometheus muestra un target como
DOWN? - ¿Qué riesgos tiene utilizar
chmod -R 777? - ¿Qué información debe incluir un informe de incidencia?
- ¿Por qué es importante cambiar una sola cosa cada vez durante el diagnóstico?