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
oinit.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
ocron
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
ocrontab -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)