Desinstalar paquetes inservibles en ubuntu

Limpiar ubuntu

Introducción

Con el paso del tiempo, el uso que le damos a nuestro ordenador hace que se vayan quedando archivos innecesarios en nuestro sistema, consumiendo espacio y esturbando alguna que otra vez. Cada cierto tiempo es recomendable hacer ciertas tareas de mantenimeinto para alargar el correcto funcionamiento del mismo.

En este artículo os voy a explicar las tareas de limpieza que suelo hacer en mi Ubuntu.

Proceso

Estas tareas las podemos realizar utilizando un programa llamado Ubuntu Tweak o ejecutando directamente ciertos comandos que os voy a detallar a continuación.

Con Ubuntu Tweak

En otro artículo os expliqué como instalar Ubuntu Tweak, por lo que os remito a él para hacerlo y en este nos centraremos en el proceso de limpieza. Los pasos que tendremos que realizar son los siguientes:

  • Abrimos el programa.
  • Nos movemos a la pestaña "Limpiador".
  • En el panel lateral marcamos las opciones:
    • "Aplicaciones"
    • "Personal"
    • "Sistema"
  • En el panel central veremos todas las cosas que se pueden eliminar, así como el espacio en disco duro que liberará.
  • Seleccionamos todo lo que queramos borrar.
  • Presionamos el botón "Limpiar" que aparece en la ventana abajo a la derecha.
  • Esperamos a que termine (puede que nos pida la contraseña de usuario para eliminar paquetes y núcleos inservibles).
  • Al finalizar volverá a comprobar si hay que borrar algo más (que puede ser que se haya quedado al desinstalar ciertas cosas).
  • Si saca nuevas cosas volvemos a repetir los pasos anteriores hasta que no muestre nada.

Con esto ya habrémos eliminado unas cuantas cosas inservibles.

Con comandos

Quitar los kernels que ya no se utilizan

Cuando hay un nuevo kernel y actualizas, se instala el nuevo pero el viejo se queda instalado. Esto sirve para que si con el nuevo kernel algo no funciona, puedas entrar con el viejo (seleccionando el anterior kernel en el menú del grub). Pero puede que se nos empiecen a acumular una cantidad considerable de kernels que no nos servirán para nada. Es conveniente que si vamos a eliminar Kernels anteriores, nos aseguremos que no se haya instalado el último sin que hayamos reiniciado nuestro ordenador (si no es así ya sabéis lo qeu tenéis que hacer).

Para desinstalar los kernels que ya no utilizamos, tendremos que ejecutar las siguientes líneas:

>> CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
>> OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E "linux-(image|headers|ubuntu-modules|restricted-modules)" |grep -vE "linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)" | grep -v $CURKERNEL)
>> sudo apt-get purge $OLDKERNELS

La explicación de lo que hace eso: Lo primero que necesitamos saber es que kernel necesitamos. Para ello la orden uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g' nos da la versión del kernel. Luego necesitamos saber que kernels tenemos instalados. La orden dpkg -l nos muestra lo que tenemos instalado. La orden awk '{print $2}' coge de cada paquete el nombre de este. La orden grep -E "linux-(image|headers|ubuntu-modules|restricted-modules)" deja solo los paquetes que son imágenes, headers, módulos del kernels. La orden grep -vE "linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen) deja solo los paquetes de imagenes, headers y módulos que corresponden a versiones específicas. Y por último la orden grep -v $CURKERNE deja los paquetes que no son de la última version que tenemos (la cual la hemos tenido que guardar en la varaible $CURKERNEL). una vez que tenemos ya la lista para quitar, los quitamos con sudo aptitude purge.

Quitar paquetes que ya no sirven

  • Autoremove: Cuando instalamos un programa puede ser que también se instalen librerías y otros programas de los cuales depende. Pero cuando desinstalamos el programa es probable que estas librerías se queden instaladas y que ya no se utilicen. Pero podemos desinstalaras ejecutando la siguiente orden:
>> sudo apt-get autoremove
  • Autoclean: Lo que hace es eliminar paquetes de descargas incompletas o canceladas por alguna razón. Tendremos que ejecutar el siguiente comando:
>> sudo apt-get autoclean

Limpiando la memoria cache de aptitude

Cuando instalamos programas desde los repositorios, lo primero que hace es bajar los instaladores para luego instalarlos. Pero después de instalarlos, estos archivos se quedan en el ordenador. Estos ficheros se pueden borrar ya que si se necesitan otra vez los bajará de nuevo.  Para borrar estos ficheros tendremos que ejecutar la siguiente orden:

>> sudo apt-get clean

Eliminando archivos de paquetes que ya no están instalados

Aunque desinstalemos programas, puede que se queden algunos ficheros del programa (por ejemplo archivos de configuración, ...). Para borrar estos archivos tendremos que ejecutar las siguientes líneas:

>> OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
>> sudo apt-get purge $OLDCONF

La explicación de lo que hace eso: La orden dpkg -l lista los paquetes instalados, comenzando cada paquete podemos ver ciertos códigos, que indican el estado de los paquetes, por ejemplo: - "ii" = instalado - "rc" = Removido, pero con Archivos de configuración en el sistema Los paquetes rc, son los que nos interesan y tendremos que limpiar esta información. La orden grep "^rc" lo que hace es dejar solo las lineas que comienzan por "rc". Luego, el comando awk '{print $2}' lo que hace es mostrar el segundo parametro de estas líneas, que es justamente el nombre del paquete. Una vez que tenemos todos los paquetes que han dejado archivos de configuración en el sistema, los quitaremos con aptitude purge.

Vaciando las papeleras

Cuando borramos un archivo, este se mueve a la papelera de reciclaje. De esta manera podemos recuperarlo en caso de error. Pero si los dejamos ahí para siempre, puede que nos ocumen mucho espacio. Asi que periodicamente conviene vaciarlas:

>> rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
>> rm -rf /root/.local/share/Trash/*/** &> /dev/null

 La primera orden borra las papeleras de todos los usuarios. La segunda línea borra la papelera del root.

Comentarios

El código para eliminar paquetes que no están instalados, me ha servido para desinstalar los paquetes :i386.
Muy agradecido, synaptic elimina de los resultados ese tipo de resultados, solo cuando hace busquedas de otros paquetes aparecen, pero no cuando solo buscas ":i386"

Este post es una joyita.

Muchas gracias por tan excelente información.

Excelente, recuperé un 20% de espacio en el File System.

Llevo limpiando el disco no se cuanto tiempo, pero, lo de los kernels ha sido mano de Santo. 

Muchas gracias.

Solo un pequeño comentario adicional, por el riesgo que considero conlleva. Si vas a realizar estos comandos, sin reiniciar después de actualizar, el primer comando no devuelve el ultimo kernel, sino el anterior (que fue con el que se arranco, al menos esa ha sido mi experiencia) Saludos.

Interesante saberlo. Muchas gracias por la información, la añadiré al artículo.

Saludos

Añadir nuevo comentario