Cómo usar GNU Stow para administrar programas instalados desde Fuente y Dotfiles

Cómo usar GNU Stow para administrar programas instalados desde Fuente y Dotfiles

Objetivo

Administre fácilmente los programas instalados desde la fuente y los dotfiles utilizando GNU Stow

Requisitos

  • Permisos de raíz

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz
    directamente como usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Introducción

A veces tenemos que instalar programas desde la fuente: tal vez no estén disponibles a través de canales estándar, o tal vez queramos una versión específica de un software. Gnu Stow es muy agradable fábrica de enlaces simbólicos programa que nos ayuda mucho al mantener los archivos organizados de una manera muy limpia y fácil de mantener.

Obtener Stow

Es muy probable que sus repositorios de distribución contengan estibar, Por ejemplo, en Fedora, todo lo que tiene que hacer para instalarlo es:

# stow de instalación dnf

o en Ubuntu/Debian puede instalar Stow ejecutando:

# APT install stow 

En algunas distribuciones, Stow It no está disponible en repositorios estándar, pero se puede obtener fácilmente agregando algunas fuentes de software adicionales (por ejemplo, Epel en el caso de Rhel y Centos7) o, como último recurso, compilándolo desde la fuente: TI: TI TI Requiere muy pocas dependencias.

Compilar stow desde la fuente

La última versión de stow disponible es la 2.2.2: El tarball está disponible para descargar aquí: https: // ftp.ñu.org/gnu/stow/.

Una vez que haya descargado las fuentes, debe extraer el tarball. Navegue al directorio donde descargó el paquete y simplemente ejecute:

$ tar -xvpzf stow -2.2.2.alquitrán.GZ

Después de que se hayan extraído las fuentes, navegue dentro del Stow-2.2.2 directorio, y para compilar el programa simplemente se ejecuta:

ps ./Configurar $ make 

Finalmente, para instalar el paquete:

# Haz instalar

Por defecto, el paquete se instalará en el /usr/local/ directorio, pero podemos cambiar esto, especificando el directorio a través del --prefijo opción del script de configuración o agregando prefijo = "/your/dir" Al ejecutar el hacer instalar dominio.

En este punto, si todo funcionara como se esperaba, deberíamos haber estibar Instalado en nuestro sistema

¿Cómo funciona Stow??

El concepto principal detrás de Stow se explica muy bien en el manual del programa:

El enfoque utilizado por Stow es instalar cada paquete en su propio árbol, luego usar enlaces simbólicos para que parezca que los archivos están instalados en el árbol común. 

Para comprender mejor el funcionamiento del paquete, analicemos sus conceptos clave:

El directorio stow

El directorio stow es el directorio raíz que contiene todo el paquetes, cada uno con su propio subárbol privado. El directorio de stow típico es /usr/local/stow: Dentro de él, cada subdirectorio representa un paquete

Paquetes

Como se dijo anteriormente, el directorio de stow contiene "paquetes", cada uno en su propio subdirectorio separado, que generalmente lleva el nombre del programa en sí. Un paquete no es más que una lista de archivos y directorios relacionados con un software específico, administrado como una entidad.

El directorio de Target Stow

El directorio de Target Stow es un concepto muy simple para explicar. Es el directorio en el que deben aparecer los archivos de paquete. Por defecto, se considera el directorio de Target STOW el que se invoca en el que se invoca STOW. Este comportamiento se puede cambiar fácilmente usando el -T Opción (abreviatura de -Target), que nos permite especificar un directorio alternativo.

Un ejemplo práctico

Creo que un ejemplo bien hecho vale 1000 palabras, así que mostremos cómo funciona Stow. Supongamos que queremos compilar e instalar libx264. Vamos a clonar el repositorio de git que contiene sus fuentes:

$ git clone git: // git.videolán.org/x264.git

Pocos segundos después de ejecutar el comando, se creará el directorio "x264", y contendrá las fuentes, listas para ser compiladas. Ahora navegamos dentro y ejecutamos el configurar script, especificando el directorio/usr/local/stow/libx264 como --prefijo:

$ CD x264 && ./Configurar - -Prefix =/usr/local/stow/libx264

Luego construimos el programa e instalamos:

$ make # make install 

El Directorio X264 debería haberse creado dentro del Directorio Stow: contiene todas las cosas que normalmente se habrían instalado en el sistema directamente. Ahora, todo lo que tenemos que hacer es invocar stow. Debemos ejecutar el comando desde el interior del directorio de stow, utilizando el -d Opción para especificar manualmente la ruta al directorio Stow (el valor predeterminado es el directorio actual), o especificando el objetivo con -T como se dijo antes. También debemos proporcionar el nombre del paquete que se guardará como argumento. En este caso, ejecutamos el programa desde el directorio Stow, por lo que todo lo que necesitamos escribir es:

# stow libx264

Todos los archivos y directorios contenidos en el paquete libx264 ahora se han relacionado en el directorio principal (/usr/local) del que se ha invocado Stow, de modo que, por ejemplo, binarios libx264 contenidos en /usr/local/stow/x264/bin ahora están simulados en /usr/local/bin, archivos contenidos en /usr/local/stow/x264/etc ahora están simulados en /usr/local/etc etcétera. De esta manera, aparecerá en el sistema que los archivos se instalaron normalmente, y podemos realizar un seguimiento fácilmente de cada programa que compilemos e instalemos. Para revertir la acción, solo usamos el -D opción:

# stow -d libx264

Se hace! Los enlaces simbólicos ya no existen: simplemente "desinstalamos" un paquete de stow, manteniendo nuestro sistema en un estado limpio y consistente. En este punto, debe estar claro por qué STOW también se usa para administrar DotFiles. Una práctica común es tener todos los archivos de configuración específicos del usuario dentro de un repositorio GIT, administrarlos fácilmente y tenerlos disponibles en todas partes, y luego usar STOW para colocarlos cuando sea apropiado, en el directorio de inicio del usuario.

Stow también evitará que anule archivos por error: se negará a crear enlaces simbólicos si el archivo de destino ya existe y no apunta a un paquete en el directorio de Stow. Esta situación se llama conflicto en la terminología de Stow.

Eso es todo! Para obtener una lista completa de opciones, consulte el Stow ManPage y no olvide contarnos sus opiniones sobre ello en los comentarios.

Tutoriales de Linux relacionados:

  • Cosas para instalar en Ubuntu 20.04
  • Restablecer la configuración de escritorio GNOME a la fábrica predeterminada en Ubuntu ..
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Ubuntu 20.04 trucos y cosas que quizás no sepas
  • ¿Puede Linux obtener virus?? Explorando la vulnerabilidad de Linux ..
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Comandos de Linux: los 20 comandos más importantes que necesitas ..
  • Mastering Bash Script Loops
  • Descarga de Linux