DEV Community

Cover image for 10 problemas Linux comunes para un DevOps
Coles C
Coles C

Posted on

10 problemas Linux comunes para un DevOps

Trabajar con Linux es el pan de cada día para un DevOps Engineer. Sin un dominio mínimo de su funcionamiento, es fácil cometer errores que pueden dejarte sin acceso al servidor, romper configuraciones críticas o afectar la disponibilidad de una aplicación en producción. Conocer estos problemas comunes y cómo resolverlos te ayudará a ganar confianza y a manejar sistemas Linux de forma más segura y eficiente. Aquí te comparto los 10 más habituales y sus soluciones.


1. Confusión de directorios (/var/log, /etc, /usr/bin)

  • /var/log → almacena logs del sistema y aplicaciones.
  • /etc → contiene configuraciones (ej. nginx.conf, ssh/sshd_config).
  • /usr/bin → binarios ejecutables del sistema (comandos).

👉 Error común: borrar o mover archivos críticos por no diferenciar su función.


2. Cambiar el puerto SSH y quedarse fuera

  • El acceso remoto por defecto es puerto 22.
  • Si lo cambias en /etc/ssh/sshd_config sin configurar bien firewall (iptables, ufw, security group en AWS), te bloqueas.

👉 Solución: tener siempre otra sesión abierta o acceso de emergencia (ej. consola en AWS).


3. Intentar matar un proceso zombi

  • Un zombie es un proceso terminado pero que aún aparece en ps porque su padre no lo ha recogido.
  • No se puede matar con kill.

👉 Solución: matar o reiniciar el proceso padre, o esperar a que libere al zombi.


4. Instalar paquetes con apt sin revisar dependencias

  • Comando: sudo apt install paquete.
  • Puede eliminar paquetes dependientes al hacer upgrades.

👉 Siempre usar:

  • apt show paquete (ver detalles).
  • apt-get -s install paquete (simulación antes de instalar).

5. Borrar logs sobredimensionados

  • Logs en /var/log/ pueden crecer mucho (syslog, auth.log, nginx/access.log).
  • Si los borras directo con rm, las apps pueden fallar porque el file descriptor sigue apuntando.

👉 Mejor: truncate -s 0 archivo.log o usar logrotate.


6. Crear scripts con sudo y no poder editarlos

  • Ejemplo: sudo nano script.sh → queda como root.
  • Después tu usuario no puede modificarlo.

👉 Usar:

  • sudo chown usuario:usuario script.sh (cambiar dueño).
  • O sudoedit para editar sin cambiar permisos.

7. Confundir proceso, servicio y demonio

  • Proceso → programa en ejecución (ps, top).
  • Servicio → proceso gestionado por systemd o init.d.
  • Daemon → proceso en background (ej. sshd).

👉 Error común: intentar reiniciar un proceso directo en vez del servicio (systemctl restart nginx).


8. Romper iptables y bloquear acceso

  • iptables gestiona firewall en Linux.
  • Una regla mal escrita puede cortar acceso SSH a todos.

👉 Siempre:

  • Probar reglas con iptables -L.
  • Guardar backup: iptables-save > backup.rules.
  • Usar at o cron para restaurar reglas en caso de error.

9. Montar un volumen encima de otro

  • mount /dev/xvdf /mnt/data sobre un directorio con datos → se ocultan.
  • Los datos siguen ahí, pero inaccesibles hasta desmontar (umount).

👉 Ver antes con: lsblk, df -h.


10. Cron ejecuta como root, tú como user

  • Tareas en /etc/crontab o crontab -e pueden ejecutarse con distintos usuarios.
  • Resultado: variables de entorno distintas, rutas distintas. 👉 Siempre especificar rutas absolutas en cron y comprobar con whoami dentro del script.

En resumen: dominar estos puntos de Linux te da una base sólida como DevOps/Cloud Engineer, porque gran parte de los workloads en la nube corren sobre Linux (Amazon Linux, Ubuntu, Debian).

Top comments (0)