Los 10 mejores trucos para Linux

¡Hola! Hoy traemos los 10 mejores trucos para linux, sobre todo a nivel de administración de sistema. Estos trucos te ayudarán en tareas cotidianas de administración.

1- Aumentar el tamaño de un disco virtual en formato RAW

Cuando estamos virtualizando con sistemas de virtualización que  permiten el formato RAW y necesitamos aumentar el tamaño del disco podemos hacerlo de la siguiente forma: “truncate -s+00XX path”  donde 00 es el tamaño a aumentar y XX es el formato (GB, TB, etc). Con un ejemplo mas practico en el que se tengan que aumentar 90 GB, se haría así:

truncate -s+90GB ruta_de_fichero

2- Cuando nos quedamos sin RAM y no podemos reiniciar

Cuando nos quedamos sin memoria, no podemos reiniciar y necesitamos mantener un servicio activo. Si disponemos de almacenamiento suficiente, tenemos una solución temporal. Podemos aumentar la swap disponible añadiendo una swap virtual. Esto lo tenemos que hacer así:

  • dd if=/dev/zero of=/PATH_DESTINO bs=1M count=1024 ->  Esto nos creará un fichero de 1GB, si queremos 2GB modificamos 1M por 2M
  • mkswap /PATH_DESTINO -> damos formato de SWAP al fichero que hemos creado
  • Añadimos la linea “/PATH_DESTINO none swap sw 0 0” al fichero fstab para que se monte de nuevo si reiniciamos
  • Ejecutamos “swapon -a”, esto hará que la swap virtual se monte y dispongamos de este nuevo espacio para que cuando nos empecemos a quedar sin RAM no se caiga el sistema

3- Ganar hasta un 5% de espacio en disco sin reiniciar

En sistemas de ficheros EXT3 y EXT4 se reserva por defecto un 5% del espacio de la partición por defecto. Es decir cuando la partición está al 100%, realmente está al 95%. Si necesitamos este espacio, por ejemplo cuando estamos cerca del 100% en un sistema de producción, para ganar tiempo y no tener que reiniciar, podemos ejecutar tune2fs.

  • Lo primero que hay que ejecutar es: tune2fs -l /dev/sda2 | grep “^Reserved”
    • Con esto tenemos el numero de bloques reservados, cada bloque ocupa 4096, por lo que si lo dividimos 3 veces entre 1024, podemos obtener el tamaño en GB que liberaremos
  • Después hay que ejecutar: “tune2fs -m PORCENTAJE”  donde el máximo porcentaje que podemos poner es 5 y el minimo 1 y ese porcentaje será liberado al ejecutar el comando.

4- Borrar tabla ARP

En ocasiones la tabla ARP se queda cacheada guardando direcciones MAC que ya no corresponden a una IP y eso puede dar lugar a problemas de conexión. Para borrar la tabla ARP y que linux “aprenda” de nuevo toda la relación entre MAC e IP se puede ejecutar:  “ip -s -s neigh flush all dev DISPOSITIVO”.

5- Cambiar el numero de máximo de descriptores

Cuando se ocupan todos los descriptores del sistema se pueden experimentar problemas a la hora de realizar conexiones, guardar o crear ficheros o ejecutar aplicaciones. La solución a esto es aumentar el numero de descriptores que permite el sistema. A continuación ponemos una tabla con los comandos para manejar los descriptores:

ComandoDescripción
ulimit -Snver maximo descriptores soft
ulimit -Hnver maximo descriptores hard
ulimit -aListar limites
ulimit -n 94000cambiar maximo de ficheros abiertos a 94000, se puede poner en el /etc/rc.local para que lo ejecute al arranque del sistema

6- Evitar que OOM Killer nos mate un proceso

A veces puede haber problemas por exceso de consumo de memoria en un sistema, es posible que OOM Killer mate un proceso critico para nuestro sistema de producción. Se puede evitar que esto ocurra modificando el score del proceso para que no sea elegido para morir:    “echo -17 > /proc/$PID/oom_adj”.

7- Localizar la MTU correcta

En ocasiones las redes no funcionan tan optimamente como deberian y puede deberse a la MTU, para localizar que MTU debemos establecer, podemos ejecutar: “ping -M do -s 1500 -c 1 HOST-NAME”.

Ejecutamos el comando, la opción “-s” es la MTU a probar. Si nos da error hay que ir bajando la cantidad hasta que haga un ping correcto:

ger@portatil:~$ ping -M do -s 1473 -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 1473(1501) bytes of data.
ping: local error: Message too long, mtu=1500
^C
--- 192.168.1.1 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

ger@portatil:~$ ping -M do -s 1472 -c 1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 1472(1500) bytes of data.
1480 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.36 ms

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.365/2.365/2.365/0.000 ms

8- Como redirigir un puerto a otro

Podemos tener necesidad de redirigir un puerto a otro bien porque se esté realizando una migración a otro host y se quiera redirigir el trafico hacia el nuevo o bien porque se quiera redirigir un puerto publico a uno privado de otro host en la red interna. Para ello podemos utilizar socat. Este es un software que permite redirigir unicamente puertos TCP, la forma de utilizarlo es la siguiente:  socat TCP4-LISTEN:8080,bind=x.x.x.x,fork,reuseaddr TCP4:y.y.y.y:80

En este ejemplo se redireciona el puerto 8080 de x.x.x.x hacia el puerto 80 de y.y.y.y

9- Conocer datos del hardware de un disco

Algunas veces necesitamos identificar datos físicos de un disco como por ejemplo el número de serie. Por ejemplo si tenemos un RAID por software en una maquina que no tiene discos hot swap (intercambiables en caliente) y se rompe un disco, para recuperar el RAID necesitaremos retirar el disco correcto. Esto solo se puede saber conociendo el numero de serie. Se puede saber este dato ejecutando este comando:  “hdparm -i /dev/DISPOSITIVO”

10- Conocer los 20 procesos que mas memoria consumen

Con el comando “top” podemos saber los procesos que mas consumen pero no contanta precisión como con ps. Podemos ejecutarlo de la siguienta forma para tener los 20 procesos que mas memoria consumen:

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 20

 

Por hoy ha sido todo, estos son los 10 mejores trucos para linux para nosotros.

Espero que te haya Si te ha gustado, por favor compártelo en tus redes sociales.

¡Nos vemos pronto!

Deja una respuesta