Despues de tantos años de utilizar Debian en servidores y Desktops he llegado a tener un checklist de tareas que cumplo a rajatabla cada vez que necesito hacer una nueva instalación.

Este post tiene como finalidad compartir uno de estos tips:

Hago alarde de un verdadero derroche de satisfacción al utilizar Debian dia a dia pero no todo es color de rosas y como sabemos la perfección no existe. Y es verdad que tengo que darle la razón a amigos que cordial y salvajemente me recuerdan a la mínima posibilidad de lo poco optimizado que está implementado el sistema de dependencias en Debian (y derivados), no es ningún secreto que una instalación promedio instala muchas mas cosas de las necesarias y eso hasta a mí me molesta porque con el tiempo la cantidad de librerias innecesarias crece incesantemente y los updates/upgrades bajan cada vez mayor cantidad de paquetes.

Por ese motivo incluso cuando instalo Debian desde cero en una notebook/desktop y siempre con el netinstaller, nunca jamás selecciono la opción “Desktop Environment”, sino que sólo dejo tildada la opción “Standard System Utilities”

Siempre! hago un párate y termino la instalación con lo mínimo e indispensable, cuando reinicio por primera vez lo primero que hago es editar/crear el archivo /etc/apt/apt.conf y le agrego estas opciones:

APT::Install-Recommends "0";
APT::Install-Suggests "0";

En qué cambia todo…? Es mucho mejor explicarlo con un ejemplo, algo que automáticamente hago apenas tengo shell post-instalación disponible es instalar esta lista de paquetes:

root@wheezy:~# aptitude install ssh screen rsync sysv-rc-conf less telnet dnsutils whois mc mlocate sudo vim iperf iftop iptraf zip unzip bzip2
The following NEW packages will be installed:
  iftop iperf iptraf libcurses-perl libcurses-ui-perl libffi5 libglib2.0-0
  libglib2.0-data libpcap0.8 libterm-readkey-perl mc mc-data rsync screen
  shared-mime-info sudo sysv-rc-conf unzip vim vim-runtime zip
0 packages upgraded, 21 newly installed, 0 to remove and 0 not upgraded.
Need to get 14.3 MB of archives. After unpacking 54.2 MB will be used.
Do you want to continue? [Y/n/?]

14.3 MB con un apt.conf vacío, veamos cuántos MBs bajaría indicándole al sistema que no instale recomendados ni sugeridos.

root@wheezy:~# aptitude install ssh screen rsync sysv-rc-conf less telnet dnsutils whois mc mlocate sudo vim iperf iftop iptraf zip unzip bzip2
The following NEW packages will be installed:
  iftop iperf iptraf libcurses-perl libcurses-ui-perl libffi5 libglib2.0-0
  libpcap0.8 libterm-readkey-perl mc mc-data rsync screen sudo sysv-rc-conf unzip vim
  vim-runtime zip
The following packages are RECOMMENDED but will NOT be installed:
  libglib2.0-data shared-mime-info
0 packages upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
Need to get 12.1 MB of archives. After unpacking 42.2 MB will be used.
Do you want to continue? [Y/n/?]

12.1 MB! sólo es una pequeña diferencia con tan poco paquetes, pero veamos hasta qué punto podemos optimizar esto instalando un entorno completo de escritorio como XFCE.

Sin la optimización en /etc/apt/apt.conf toda la descarga de XFCE serían 562MB contra los 324MB si no instalamos paquetes recomendados ni sugeridos, creo que está mas que clara la ventaja de utilizar esta configuración en un servidor para no solamente ocupar menos espacio sino que al tener menos paquetes y librerias disminuimos las posibilidades de sufrir vulnerabilidades en nuestro sistema.