Limpiando CentOS 7 (Cualquier versión)

Siempre que instalo una distribución Linux, en este caso CentOS 7 sea ya cualquier versión 7.x u actualización en lo adelante suelo remover un sin número de paquetes sin importar el que tendré que instalar unos cuantos de ellos nuevamente, y esto es debido a varios motivos que voy a explicar a continuación.

Me gusta antes que nada tener el Sistema Operativo totalmente limpio sin absolutamente nada porque soy de las personas que me gusta instalar todo yo mismo paso por paso, punto por punto, clic por clic, en fin. Esto es porque muchos de los Centros de Datos suelen instalar personalizaciones en las que yo personalmente no confió y por ello me doy la satisfacción y el beneficio de ponerme a trabajar.

Tú dirás, “Bryan eso es una ridiculez o similar por el estilo ya que estas removiendo para volver a instalar cosas, y estas reconfigurando cosas y/o eliminando cosas importantes de la distribución para volverlas a construir, y configurar de tal caso”. Pero no, todo tiene lógica, quizás tu como persona que tiene un poco de conocimientos pensaras estas cosas y más pero realmente las cosas no son así si lo miras de un lado positivo más al fondo.

Ahora bien, ¿Cómo va la cosa? tan simple como tomarse una taza de café. Lo único que tienes que hacer es correr la siguiente línea de comandos en tu consola seguido de copiar y pegar la misma según el cliente SSH de tu preferencia.

Pero antes, debes tomar en cuenta lo siguiente:
1. Posiblemente deberás configurar tus direcciones IPv4 e IPv6 de forma estática porque es muy posible que la Configuración Automática de Redes, y DHCP se detengan.
2. Una de las cosas más importantes es, hacer una Copia de Seguridad tipo Snapshot a nivel del Proveedor o Panel de Control usado, estos comandos por nada del mundo pueden ser usados bajo servidores que estén ya en producción porque por razones obvias vas a eliminar muy posiblemente en lo absoluto todos los paquetes de la distribución.
3. Fijar sin permisos a escritura con el comando chattr +i el archivo eth0 ubicado en /etc/sysconfig/network-scripts u similar, resolv.conf, /etc/sysconfig/network, hosts, host.conf entre otros, revisarlos por igual.
4. Tener instalado el editor de texto nano, y los repositorios de epel-release (yum install epel-release nano -y), y previamente haber actualizado la distribución tras correr el comando “yum upgrade -y” sin las comillas.
5. Tener en cuenta que no siempre serán bienvenidos estos comandos en caso de ser un servidor dedicado, es muy posible que tengas que instalar ciertos paquetes para volver a disponer de conexión a internet en el caso de fallar y también reparar archivos relacionados con el device-mapper en servidores antiguos.

yum remove *NetworkManager NetworkManager* selinux* *bind bind* *php php* *html html* *java java* *PyYAML PyYAML* acl* audit audit-libs-python* authconfig* *audit-libs-python *authconfig avahi* *avahi *biosdevname biosdevname* *btrfs btrfs* *checkpolicy checkpolicy* checkp* *checkp *cloud cloud* *http http* *mysql mysql* *nginx nginx* *phpmyadmin phpmyadmin* cron* *cron dbus-glib* *firewall firewall* *delta delta* *dmi dmi* *dns dns* *e2fs e2fs* *ebt ebt* *ethtool ethtool* gdisk* *gdisk dracut-config-rescue* *dracut-config-rescue *glib-networking glib-networking* gnutls* *gnutls gobject* *gobject groff* *groff *gsettings gsettings* hwdata* *hwdata ipru* *ipru *irq irq* jan* *jan jbig* *jbig rsys* json* *json *rsys *kbd kbd* libcgroup* *libcgroup maria* *maria *vultr vultr* *ovh ovh* *google google* *goo goo* *samsung samsung* *micro micro* *moni moni* *post post* libes* *libes libgu* *libgu *libic libic* libj* *libj *libmod *libmod libnd* *libnd libnl3* *libnl3 *libpcap libpcap* libpi* *libipi libselinux-python* *libselinux-python *libselinux-utils libselinux-utils* libsemanage-python* *libsemanage-python libss libsy* *libsy *moz moz* libw* *libw libya* *libya *linux-firmware linux-firmware* logro* *logro *lss lss* *lzo lzo* man* *man net-* *net- nettle* *nettle *newt newt* sudo* *sudo *vim vim* nett* *nett numa* *numa part* *part pciu* *pciu plymo* *plymo python-IPy* python-backports* python-chardet* python-configobj* python-decorator* python-jsonpatch* python-jsonpointer* python-markdown* python-perf* python-prettytable* python-pyasn1* python-pyudev* python-six* rsy* *rsy seto* *seto sla* *sla snap* *snap systemd-sysv* xfs* *xfs trou* *trou -y

Si quieres eliminar unos cuantos paquetes más, debes tener en cuenta correr los siguientes comandos siempre y cuando seas una persona con experiencia avanzada o muy posiblemente tendrás que formatear nuevamente el servidor.

yum remove centos-logos* freetype* gettext* os-prober* whi* *whi -y

¿Te funciono todo a la perfección? ¿Quieres limpiar un poco más? Pues no hay problema. Las siguientes líneas de comando van a remover directorios como home, media, lost, docs, entre otros que pueden tener contenido sin uso e innecesario en especial docs, los mismos los puedes volver a crear en un futuro o inclusive se pueden hasta crear de forma automática según los paquetes que vayas a instalar nuevamente.

rm -rf /var/log;rm -rf /root;rm -rf /usr/share/doc;rm -rf /media;rm -rf /home;rm -rf /lost+found

Y bueno eso fue todo por el tema de hoy. Una vez hecho todo esto te recomiendo que por lo menos vuelvas a instalar los siguientes paquetes tales como ethtool, e2fsprogs, cyrus-sasl-lib, device-mapper y/o tcp_wrappers que quizás necesites en un futuro.