Categorías
GSD

Adelgazando mi servidor (de peso gallo a peso mosca)

Aprovechando los días de encierro forzado estoy intentando sobreponerme a mi total falta de capacidad de concentración haciendo «ejercicios» prácticos con las cosas que tengo a mano.

En mi caso ese «a mano» es una Raspberry Pi 1 modelo B del 2011 que voy a usar de servidor de pruebas. Sorprendentemente sigue siendo más que útil para hacer según qué movidas y aunque a veces se piensa un poco más las cosas, todo funciona a la perfeccion. Como podéis suponer, a pesar de eso es mejor tenerla lo más ligera posible porque esta vieja amiga hace mucho que superó la mayoría de edad y es mejor ponerle las cosas lo más fáciles posibles.

En general, el proceso que he seguido ha sido el siguiente:

  • Instalación de la Raspberry y su configuarción básica (idioma, wifi, zona horaria, teclado etc)
  • Purga de todos los paquetes innecesarios
  • Securización (cierre de puertos, configuración del SSH, usuarios etc.)

En otro momento hablaré de cómo fue el proceso de instalación y configuración de Rasputi (sí, la he llamado así, soy una persona muy madura). No tiene mucha complicación pero sí que hay algunas cosillas que es mejor tener en cuenta. La securización también da para una entrada aparte y puede resultar muy útil.

Pero aquí me voy a centrar en el punto 2. Voy por el orden que me sale del pistacho, lo sé. En mi caso, decidí que iba a adelgazar a Rasputi todo lo que pudiese y que si luego acabo necesitando alguno de los paquetes que he eliminado no tendré más que instalarlo de nuevo. Mejor eso que tener paquetes por ahí, muertos del asco. De esta manera, la lista de paquetes de los que te vas a querer deshacer dependerá mucho de tu criterio y de lo en serio que te tomes el concepto de «purga». Cabe destacar que Rasputi corre con un Debian ligero para Raspis (Raspbian).

Lo primero es listar todos los paquetes instalados:

Vamos a empezar sacando solamente el número de paquetes que tenemos instalados. Así al acabar podremos volver a ejecutar este comando y saber exactamente de cuántos paquetes nos hemos librado durante todo este proceso:

dpkg -l | grep ^ii | wc -l

Ahora procedemos a listar todos los paquetes que tenemos instalados:

dpkg -l | grep ^ii

Puedes o no redirigir el output a un fichero con > package_list.txt pero yo he optado por dividir la consola en varias ventanas (bendito Tilix), conectarme a Rasputi en todas ellas y tener la lista en una de ellas mientras trabajo en otras.

Dejando la pantalla con la lista de paquetes en la ventana A vamos a trabajar con la B. En ella vamos a establecer un alias para el proceso que vamos a repetir varias veces y así no volvernos loc@s:

alias k='sudo apt purge'

*Huelga decir que NO me conecto a Rasputi como root así que tengo que meter sudo al alias. No seáis garrul@s, no os conectéis como root. Cada vez que lo hacéis muere un gatito.*

Ahora es tan sencillo como ir revisando la lista de paquetes que tenemos en la ventana A e ir ejecutando k [nombre del paquete] en la ventana B. Aunque resulte más tedioso siempre es mejor ir eliminando paquete por paquete porque así podemos ir revisando las dependencias y asegurarnos que el hecho de eliminar algún paquete no nos rompe nada.

En mi caso, pasé de tener 500 y pocos paquetes a tener 400 y pocos. Para la vieja Rasputi es todo un alivio perder esos kilos de más.

Por último vamos a asegurarnos de limpiar del todo las dependencias que pueden haberse quedado de los paquetes que hemos eliminado:

sudo apt autoremove -y

Después, podemos listar los paquetes que han sido borrados pero no purgados (esto solo por curiosidad):

dpkg -l | grep ^rc

Finalmente lo que vamos a hacer es acabar de purgar todos esos paquetes. Como véis el comando anterior va incluido. También aquí vamos a usar un comando bastante complejo y que por ahora no manejo como es awk. Tengo muy pendiente el aprender su uso pero para este caso en particular pedí ayuda a diego. Lo que vamos a conseguir es listar los paquetes que no han sido purgados, vamos a coger la segunda columna con awk(el nombre del paquete), vamos a poner todos esos nombres en fila con xargsy vamos a pasarlos por sudo apt purge -y . El resultado es el siguiente comando:

sudo apt purge -y `dpkg -l | grep ^rc | awk '{print $2}' | xargs`

¡Hemos terminado!

Es importante añadir que la purga de paquetes no solo es útil en este caso en particular. Cualquier servidor que quieras lanzar te agradecerá que le quites las cosas que ni necesitas, ni vas a usar jamás y que además podrían ser un potencial punto de entrada para malhechores.

2 respuestas a «Adelgazando mi servidor (de peso gallo a peso mosca)»

Los comentarios están cerrados.