Hoy, aprenderemos sobre una utilidad menos conocida pero útil para Debian y sus derivados, como Ubuntu y variantes de Ubuntu como Linux Mint. Saluda a "Debfoster" - una utilidad de línea de comandos para mantener solo los paquetes esenciales y eliminar los otros paquetes que ya no son necesarios. Por lo tanto, puede mantener un sistema limpio y mínimo todo el tiempo. La aplicación debfoster es un programa contenedor para administradores de paquetes apt y dpkg. Mantiene una lista de paquetes instalados que se solicitaron explícitamente en lugar de instalarse como una dependencia.
Cuando lo ejecute por primera vez, creará una lista de paquetes instalados y la guardará en un archivo llamado keepers en /var/lib/debfoster/ directorio. Debfoster usará esta lista para detectar paquetes que se instalaron solo porque otros paquetes dependían de ellos. Si una de estas dependencias cambia, debfoster lo notará y le preguntará si desea eliminar el paquete antiguo. De esta manera te ayuda a mantener un sistema limpio con los paquetes esenciales de tu elección.
Mantener solo paquetes esenciales en Debian y Ubuntu usando Debfoster
Debfoster está disponible en los repositorios predeterminados. Por lo tanto, la instalación no será un gran problema. Ejecute el siguiente comando para instalar Debfoster en cualquier sistema basado en Debian:
$ sudo apt install debfoster
Una vez instalado, debemos crear una lista de paquetes instalados ejecutando el siguiente comando:
$ sudo debfoster -q
El comando anterior agregará los paquetes actualmente instalados en keepers archivo en /var/lib/debfoster/ directorio. Puede editar este archivo para eliminar los paquetes que ya no desea tener instalados en su sistema.
Aquí está el contenido de mi archivo de guardianes.
$ cat /var/lib/debfoster/keepers
No debe eliminar los paquetes importantes y relacionados con el sistema de este archivo, como el kernel de Linux, grub, Ubuntu-base, Ubuntu-desktop, etc. Además, haga una copia de seguridad de los archivos de configuración importantes que editó manualmente.
Ahora, obligue a la utilidad debfoster a eliminar los paquetes que no aparecen en el archivo de guardianes. Para hacerlo, ejecute:
$ sudo debfoster -f
Debfoster eliminará todos los paquetes que no estén disponibles en el archivo de guardianes junto con sus dependencias.
También instala los paquetes faltantes que parecen faltar, lo que obliga a su sistema a cumplir con la base de datos debfoster.
Y luego puede ejecutar el siguiente comando de vez en cuando después de cada vez que agregó o eliminó paquetes para verificar si hay paquetes huérfanos o dependencias no deseadas que deben eliminarse.
$ sudo debfoster
Si ha instalado/eliminado algún paquete, verá un resultado similar al siguiente. Como puede ver en el resultado, el paquete de pantalla no aparece en mi lista de guardianes. Porque lo instalé después de crear la lista de guardianes. Entonces, debfoster me pregunta si quiero conservar esto o no. Si no está seguro de qué hacer, escriba H para mostrar la sección de ayuda.
Keep screen? [Ynpsiuqx?], [H]elp: H Yes Keep screen. [default] No Delete screen. Prune Delete screen and the packages it is keeping installed. Skip Skip this question. Help Print this message. Info or ? Show information about screen. Undo Undo last response. Quit Exit without removing packages. Exit Remove unwanted packages and exit. Keep screen? [Ynpsiuqx?], [H]elp:
Debfoster mostrará todas las opciones posibles. Escribe Y si no desea eliminar los paquetes. El paquete de pantalla ahora se agregará al archivo de guardianes y Debfoster no lo eliminará en transacciones futuras, a menos que usted mismo lo elimine manualmente usando el comando "apt-get remove screen". Escriba N para eliminar el paquete de pantalla. Escriba P para eliminar la pantalla y los paquetes que mantiene instalados. Escriba información o ? para mostrar los detalles del paquete. P para salir sin quitar el paquete. Y, escriba E para eliminar los paquetes y salir.
Ver paquetes en la lista de Keepers
Para ver la lista de paquetes en la base de datos debfoster, ejecute:
$ debfoster -a
Aquí está la lista de paquetes en mi escritorio Ubuntu 16.04 LTS.
The following packages are on the keeper list: account-plugin-aim brasero debfoster deja-dup-backend-gvfs dialog firefox-locale-en gdebi gir1.2-webkit-3.0 git hyphen-en-us indicator-multiload language-pack-gnome-en libarchive-extract-perl libcpan-meta-perl libmodule-build-perl libmodule-pluggable-perl libpackage-constants-perl libpod-latex-perl libreoffice-help-en-us libreoffice-style-human libterm-ui-perl libtext-soundex-perl libvisual-0.4-plugins linux-generic linux-headers-4.4.0-15-generic linux-image-extra-4.4.0-15-generic myspell-en-au myspell-en-gb myspell-en-za mythes-en-us oneconf openoffice.org-hyphenation openssh-server python-pip python3-smbc rhythmbox-plugin-cdrecorder rhythmbox-plugin-magnatune samba-common screen shutter ssh-askpass-gnome telepathy-idle thunderbird-locale-en-us ubuntu-desktop ubuntu-minimal ubuntu-sso-client-qt ubuntu-standard ubuntu-wallpapers-wily wbritish xserver-xorg-video-cirrus xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident
Usar un archivo guardián diferente
De forma predeterminada, debfoster mantendrá los paquetes instalados en /var/lib/debfoster/keepers expediente. Sin embargo, puede especificar una base de datos de debfoster diferente (archivo de guardianes, por supuesto) usando -k marca como a continuación.
$ debfoster -k <path-to-keeper-file>
Ver paquetes huérfanos
No siempre necesita ejecutar el comando "sudo debfoster" para verificar los paquetes huérfanos. Simplemente puede usar -s marque como se muestra a continuación para ver si hay paquetes huérfanos.
$ debfoster -s The following packages have been orphaned: tmux
Como puede ver en el resultado anterior, tengo un paquete huérfano. Si es un paquete necesario y no queremos que debfoster lo elimine, simplemente podemos agregarlo al archivo de guardianes ejecutando el siguiente comando:
$ sudo debfoster
Le pedirá que mantenga tmux o no. Si mantiene el tmux en el archivo de guardianes, simplemente escriba Y .
Keep tmux? [Ynpsiuqx?], [H]elp:Y
Alternativamente, puede editar manualmente el archivo de guardianes y agregar tmux en la lista.
$ sudo vi /var/lib/debfoster/keepers
Agregue tmux en él.
[...] tmux
Escribe :wq para guardar y salir del archivo. Ahora, no verá ningún paquete huérfano cuando ejecute el comando "debfoster -s".
Tenga en cuenta que aquí paquete huérfano significa un paquete que no se menciona en la base de datos debfoster. No significa que el paquete no sea completamente necesario. Por ejemplo, las utilidades screen y tmux son bastante útiles. Entonces, podemos agregarlos a la base de datos de debfoster.
Agregar/quitar paquetes
Dado que debfoster es un contenedor para los administradores de paquetes apt-get y dpkg, también puede usarlo para agregar o eliminar paquetes.
Para instalar un paquete, ejecute:
$ sudo debfoster screen
Ahora debfoster ejecutará apt-get e instalará el paquete especificado.
Para eliminar un paquete, simplemente coloque un signo menos (-) justo después de su nombre, como se muestra a continuación.
$ sudo debfoster screen- Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: screen* 0 upgraded, 0 newly installed, 1 to remove and 608 not upgraded. After this operation, 972 kB disk space will be freed. Do you want to continue? [Y/n]
Encontrar dependencias
Para enumerar todos los paquetes de los que depende un paquete, use -d bandera.
$ debfoster -d screen
Y, para listar todos los paquetes en la base de datos de debfoster que dependen del paquete dado, use -e marca como a continuación.
$ debfoster -e screen
Para obtener más detalles, consulte las páginas man.
$ man debfoster
Como puede ver, Debfoster lo ayuda a realizar un seguimiento de lo que ha instalado y eliminar todos los demás paquetes que no son necesarios. Nuevamente, le advierto:debe usar esta aplicación con mucho cuidado. No elimine paquetes importantes relacionados con el sistema como Ubuntu-base, grub, Kernel actual, etc. Si lo hace, puede terminar con un sistema inutilizable.
Lectura sugerida:
- Eliminar archivos de configuración innecesarios en sistemas basados en Debian
- Cómo encontrar y eliminar paquetes no utilizados en Linux