Control de software instalado en Debian y derivadas

Hola a todos!

El motivo de esta entrada es dar a conocer un pequeño consejo para aquellos que son muy meticulosos en la instalación o eliminación de software en su sistema. En distribuciones como Debian y derivadas (Ubuntu, Linux Mint, elementaryOS,…), que usan apt, existe un archivo que lleva un registro de todo lo que se instala o se quita de nuestro PC. Y eso es lo que vamos a intentar mostrar hoy.

A menudo ocurre que instalamos software que nos resulta útil en cierto momento y que más tarde queremos eliminar. Podemos hacerlo (a parte de mediante programas gráficos) con la orden:

$ sudo apt-get remove --purge nombredelsoftware

La opción purge borra también la configuración de los programas. Es opcional pero en mi caso la uso siempre.

Con esto borramos el programa en cuestión y, si se da el caso, apt nos informa que hay paquetes que ya no son necesarios y podemos eliminar con el comando:

$ sudo apt-get autoremove

Como ya sabéis, con estos dos sencillos pasos eliminamos la aplicación y sus dependencias. No obstante, hay casos en los que algo que hemos instalado no sale como dependencia directa o apt decide no eliminar. ¿Por qué? ¡Buena pregunta! Aunque tengo mis teorías, no me encuentro en condiciones de formular una respuesta satisfactoria.

Sin ir más lejos, hoy he realizado la instalación (en Linux Mint) de mint-meta-xfce4 para realizar unas pruebas y, más tarde, al borrar este paquete (y lo que podía eliminar con apt-get autoremove), he podido observar que no todo lo que había puesto unas horas antes se iba a eliminar. Así pues, como en GNU/Linux tenemos los maravillosos archivos .log, he encontrado uno que lleva un control total de todo lo que se instala o desinstala del sistema. Para ver este archivo basta con abrir una terminal (o directamente desde el explorador de archivos) y introducir:

$ cat /var/log/apt/history.log

Y obtendremos una salida por pantalla similar a esto:

Muestra del contenido del archivo history.log de apt.

Muestra del contenido del archivo history.log de apt.

Como veis, en este archivo quedan reflejadas todas las operaciones de instalación o desinstalación. De este modo, aquellos que tengáis problemas de espacio y/o os guste tener los mínimos paquetes necesarios (muchas veces rozando el TOC) podéis llevar un control más exhaustivo de apt.

Simple y a una sola linea de comando de nosotros!


20 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Sephiroth dijo

    el comando «sudo apt-get remove –purge» no es lo mismo que hacer «sudo apt-get purge»? en todo caso el –purge lo podrías haber usado en «sudo autoremove –purge» y ahí te asegurabas de dejar todo bien limpio.

    por cierto en el nuevo apt supongo que sera «sudo apt purge» ¿?

    1.    Kaletivo dijo

      Sephiroth, soy nuevo en linux. No comprendi lo que dices al final. O sea que para dar cualquier orden, no es necesario escribir «sudo apt-get …» con el sudo apt ____» es suficiente?

      1.    Tesla dijo

        Sephiroth se refiere a la nueva versión de apt. De momento, hasta donde yo se, nadie ha puesto la versión nueva. Al menos en Linux Mint no está.

        Puedes leer mas sobre ello en este mismo blog: https://blog.desdelinux.net/apt-llega-a-su-version-1-0-con-barra-de-progreso-al-instalar-paquetes/

        1.    Sephiroth dijo

          el nuevo apt esta disponible en ubuntu 14.04 y supongo que tambien en debian testing

          1.    Tesla dijo

            En efecto, parece que en Debian testing está disponible la version 1.0.1. Aún así, en Xubuntu 14.04 que le instalé a un familiar creo que no está pues no noté un cambio en apt. De hecho, actualicé como siempre: apt-get update && apt-get upgrade.

            Misterios de la vida o quizá quede instalar alguna actualización.

            Gracias por el dato!

    2.    Tesla dijo

      Como le he dicho a @Argen77ino uso esa orden por tradición. Al final de cada actualización o desinstalación hago siempre un:

      sudo apt-get clean && sudo apt-get autoclean

      Con esto eliminas los archivos que se ha descargado, liberando espacio en disco. Para conexiones a Internet rápidas creo que es una buena idea, ya que no cuesta nada volver a bajar los paquetes.

      Un saludo!

  2.   amulet_linux dijo

    No se olviden de Gentoo.
    en /var/db/pkg/ se encuentran toda la base de datos por categorias, luego por paquetes de como se compilaron, en que momento. Que es lo que usa genlop
    Y en /var/log/portage/elog/summary.log están esos mensajes importantísimos que diria que es obligatoria su lectura.
    Aquí termina este breve brevario culural, por si alguien le sirve.

    1.    Tesla dijo

      Muy buen apunte!

      No lo he incluido porque siempre he usado Debian (y derivadas) y Arch Linux (y derivadas). Tengo pendiente instalar Gentoo con un amigo y ponerlo a punto en algún PC que no sea el principal.

      Gracias por la info!

  3.   Argen77ino dijo

    Muy buen tip para los que quieren saber todo lo que pasa en su sistema como yo.
    Creo que en versiones mas viejas de apt si usaba –purge y por alguna extraña razón todos se reusan al cambio. De todos modos es lo mismo. Ya saben para gustos colores.

    1.    Tesla dijo

      La verdad es que quizá haya alguna opción mejor, pero yo siempre he usado esa. Como bien dices, lo más seguro es que sea por tradición.

      Un saludo!

  4.   Daniel dijo

    Pregunta vinculada. Para lograr un resultado igual al obtenido con : #apt-get –purge autoremove [nombre-paquete] ¿Cómo deberíamos usar Pacman o Zypper? . Gracias.

    1.    Tesla dijo

      Que alguien me corrija si no.

      Cuando usaba Arch Linux hace algunos años creo que usaba la orden:

      sudo pacman -Rsn nombredelpaquete

      Si no recuerdo mal:

      La «R» borraba el paquete en cuestión, la «s» borraba sus dependencias y la «n» sus archivos de configuración.

      En Zypper o en YUM ni idea, ya que nunca los he usado.
      Un saludo!

  5.   Mario Guillermo Zavala Silva dijo

    Excelente informacion…Gracias.. SALUDDOS

    1.    Tesla dijo

      Me alegro de que sea útil!

      Un saludo!

  6.   carlosO dijo

    El siguiente paso seria desinstalar los paquetes que encontremos que fueron instalados pero no desintalados?

    1.    Tesla dijo

      Correcto.

      Ese archivo lista todo lo que ha sido instalado y lo ordena por fecha. Si localizas algo que no quieres tener, un simple:

      apt-get remove nombredelpaquete

      Y listo!

  7.   ice dijo

    voy a probarlo a ver que me sale

  8.   Canales dijo

    Gracias, me será útil 🙂

  9.   ArS dijo

    Es interesante eso, pero para mi por otro motivo, aveces instalo tantas cosa que ya no se que instale xD.

    Pero lo que nombras de que apt-get aveces no te quiere borrar paquetes, no me sucede porque enrealidad lo que uso es aptitude.(tanto para instalar como desinstalar.)

    Saludos.

    1.    ArS dijo

      eee porque dice que uso chrome!!! es chromium lo que tengo, y ni se porque estoy usando esto…..malditas paginas que requieren la ultima versión de flash….