GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo quitar programas instalados desde la fuente usando GNU Stow en Linux

Algunas veces, debe instalar algunos programas compilando manualmente desde la fuente. Porque es posible que no estén disponibles en los repositorios oficiales o de terceros, por lo que no puede instalarlos con los administradores de paquetes normales. Como ya sabrá, cuando instala programas desde la fuente, los archivos del paquete se copiarán en varias ubicaciones, como /usr/local/bin , /usr/local/etc/ , en el sistema de archivos. Si el programa instalado desde la fuente no tiene un desinstalador incorporado, será una tarea tediosa eliminar los paquetes cuando ya no los necesite. Es posible que deba pasar un par de minutos (o varios) para encontrar esos archivos de paquete y eliminarlos manualmente. Esto es lo que he estado haciendo hasta que encontré una utilidad llamada "GNU Stow" . Afortunadamente, Stow tiene una manera fácil de administrar fácilmente los programas instalados desde la fuente.

Para citar el sitio web oficial,

En pocas palabras, Stow lo ayuda a mantener los archivos del paquete organizados de una manera fácil de administrar. En este método, los archivos no se copiarán en varias ubicaciones. En su lugar, todos los archivos se guardan en una carpeta específica, normalmente bajo el mismo nombre del programa, y ​​Stow crea enlaces simbólicos a todos los archivos de los programas en los lugares apropiados. Por ejemplo, /usr/local/bin podría contener enlaces simbólicos a archivos dentro de /usr/local/stow/vim/bin , /usr/local/stow/python/bin etc., y también recursivamente para cualquier otro subdirectorio como .../share , .../man , y así. En este tutorial, le mostraré cómo administrar fácilmente los programas instalados desde la fuente usando Stow con un ejemplo práctico. Sigue leyendo.

Instalar GNU Stow en Linux

GNU Stow está disponible en los repositorios predeterminados de los sistemas operativos Linux populares.

En Arch Linux y sus variantes, ejecute el siguiente comando para instalar Stow.

$ sudo pacman -S stow

En Debian , Ubuntu , Linux Mint , SO Pop :

$ sudo apt install stow

En Fedora :

$ sudo dnf install stow

En RHEL/CentOS , AlmaLinux y Rocky Linux :

$ sudo dnf install epel-release
$ sudo dnf install stow

Eliminar programas instalados desde la fuente usando Stow en Linux

Como ya mencioné anteriormente, todos los archivos de programa de un paquete se guardarán en una carpeta raíz ubicada en /usr/local/stow/ . En este directorio principal o raíz, cada paquete se guardará en su propio subdirectorio privado. Por ejemplo, si instalamos Vim editor desde la fuente, todos los archivos de programa y directorios relacionados con Vim se guardarán en /usr/local/stow/vim carpeta. Si instala python desde la fuente, todos los archivos relacionados con python se mantendrán en /usr/local/stow/python y así sucesivamente.

Déjame instalar un programa, por ejemplo hola , desde la fuente.

Primero descargue el tarball del programa 'hola'.

$ wget http://ftp.gnu.org/gnu/hello/hello-2.10.tar.gz

Extrae el tarball descargado usando el comando:

$ tar -zxvf hello-2.10.tar.gz

El comando anterior creará un directorio llamado 'hello-2.10' en el directorio de trabajo actual y extraerá todo el contenido en él.

Cambie al directorio extraído:

$ cd hello-2.10/

Ejecute el siguiente comando con la opción --prefix.

$ ./configure --prefix=/usr/local/stow/hello

El comando anterior guardará los archivos de compilación en la ubicación especificada, es decir, /usr/local/stow/hello en nuestro caso.

Finalmente, compila e instala el programa hello usando los siguientes comandos:

$ make
$ sudo make install

Eso es todo. El programa hello se ha instalado en /usr/local/stow/hello/ localización. Puede verificarlo con el comando 'ls' como se muestra a continuación.

$ ls /usr/local/stow/hello/
bin share

Finalmente, vaya a /usr/local/stow/ directorio y ejecute el siguiente comando para generar los enlaces simbólicos necesarios.

$ cd /usr/local/stow/
$ sudo stow hello

¡Todo listo!

Lo que acaba de suceder es que todos los archivos y directorios contenidos en el paquete hello se vincularon al directorio /usr/local/ . En otras palabras, /usr/local/stow/hello/bin ha sido vinculado a /usr/local/bin y /usr/local/stow/hello/share ha sido vinculado a /usr/local/share y /usr/local/stow/hello/share/man ha sido vinculado a /usr/local/share/man y así sucesivamente.

Puede verificarlos usando 'ls' comando:

$ ls /usr/local/bin/
hello

Verifiquemos si el programa hello está funcionando o no usando el comando:

$ hello
Hello, world!

¡¡Sí, está funcionando!!

Del mismo modo, puede instalar programas como se describe anteriormente en su propio subdirectorio.

Aquí está el contenido del directorio raíz de Stow:

$ tree /usr/local/stow/

¿Ver? El programa hello está instalado en "/usr/local/stow/hello/" localización. Del mismo modo, todos los paquetes se mantendrán en su propio directorio.

Aquí viene la parte principal. Quitemos el programa hola. Para hacerlo, vaya a /usr/local/stow/ directorio:

$ cd /usr/local/stow/

..y ejecute el siguiente comando:

$ sudo stow --delete hello

El programa hola acaba de ser eliminado. Puede verificar si realmente se eliminó o no con el comando:

$ hello
-bash: /usr/local/bin/hello: No such file or directory

¿Ver? ¡Se eliminó el programa Hello!

Tenga en cuenta que Stow solo ha eliminado los enlaces simbólicos. Todos los archivos de programa y directorios relacionados con el programa hello todavía están disponibles en /usr/local/stow/hello carpeta. Por lo tanto, puede volver a instalar el programa hello sin tener que descargar el archivo fuente real.

Si ya no desea el programa hola, simplemente elimine su carpeta.

$ sudo rm -fr /usr/local/stow/hello/

Para conocer más detalles sobre Stow, consulte las páginas del manual.

$ man stow

Conclusión

GNU Stow te ayuda a desinstalar los programas tan fácilmente como los instalas. Si se pregunta cómo administrar de manera efectiva una gran cantidad de programas instalados desde la fuente, GNU Stow es uno de esos programas para hacer esta tarea mucho más fácil. Pruébalo, no te decepcionará.


Linux
  1. Cómo agregar o eliminar un usuario de un grupo en Linux

  2. Cómo instalar phpMyAdmin en Linux usando el código fuente

  3. Cómo instalar la última versión de GNU Nano en Linux

  4. Cómo instalar SQLite3 desde la fuente en Linux (con una base de datos de muestra)

  5. Cómo compilar e instalar software desde el código fuente en Linux

Cómo quitar un comando del historial en Linux

Cómo instalar software desde la fuente en Linux

Cómo quitar (^M) caracteres de un archivo en Linux

Cómo instalar software desde el código fuente... y eliminarlo después

Cómo desinstalar programas de Ubuntu Linux

Cómo instalar software desde el código fuente en su sistema Linux