Instaladores y gestores de Software

Los gestores e instaladores de software se aplican al problema de adquirir software nuevo de maneras consistentes y replicables y también de desistalarlos.

Estos sistemas permiten realizar lo que se conoce como instalaciones desatendidas, es decir instalaciones automatizadas de software en las que la persona sólo menciona el paquete que quiere (ejp: fossil) y la operación que va a realizar (instalar, actualizar, desinstalar) y el gestor de paquetes se encarga de realizar esta tarea sin mayores intervenciones

Es buena idea antes de instalar o configurar los instaladores/gestores que se verifiquen si ya se encuentran instalados y una forma de hacerlo es mirar, desde la consola o terminal, si por ejemplo los comandos scoop, nix o brew ya existen en el respectivo .

En esta sección mostraremos cómo instalar distintos gestores e instaladores de software de acuerdo a la plataforma en la que están disponibles. Listaremos primero el nombre de la plataforma y luego el del gestor/instalador particular para la misma. En algunos casos una misma herramienta puede servir para distintas plataformas, como se puede deducir de los títulos a continuación.

Windows: Scoop

En esta sección vamos a considerar Scoop, que es un instalador de paquetes para Windows con el que podemos automatizar varias labores de busqueda e instalación de software. De este modo no tenemos que hacer click 10 veces en siguiente, ni buscar por lugares dudosos de Internet, cómo adquirir nuestro software. Simplemente, si está disponible en los repositorios de software de Scoop, bastará un comando para tener nuestro software funcionando.

Para instalar Scoop son tres sencillos pasos:

  1. Abrir Power Shell:

  2. (Opcional): Habilitar la política de ejecución para la instalación:

    Set-ExecutionPolicy RemoteSigned -scope CurrentUser
  3. Instalar Scoop:

    El comando corto:

    iwr -useb get.scoop.sh | iex

    Ó el comando largo:

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

Es bueno tener en cuenta las actualizaciones de scoop y sus dependencias, podrias obtener un mensaje como el siguiente:

En ocasiones, al intentar instalar un paquete puede salir este mensaje:

Scoop uses Git to update itself. Run ‘scoop install git’ and try again. Couldn’t find manifest for ‘pandoc’. En este caso actualiza primero sccop asi:

Instalar git: (Opcional) Scoop hace uso de Git para instalar algunos paquetes, así que es recomendable instarlar con scoop git. Para ello desde PowerShell ejecutamos

    scoop install git

Extra: Chocolatey es otro gestor de software para Windows.

Mac: Homebrew/brew

https://brew.sh/

Instalar

Para instalar hay que ejecutar desde la terminal el comando

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Buscar e instalar paquete

Buscar el paquete fossil

brew search fossil

y para instalar el paquete

brew install fossil

Y hacer lo mismo con pandoc en lugar de fossil.

Gnu/Linux y Mac: Nix

Las distribuciones de Linux cuentan con sus propios gestores de paquetes y es allí donde la idea más maduró y pasó a otros sistemas operativos. Sin embargo, en ocasiones el gestor nativo no siempre trae los paquetes que necesitamos, o las versiones no son las requeridas y en ese sentido es conveniente contar con otros gestores.

Nix

Actualizar lista de paquetes

Esto se hace para tener las últimas versiones

nix-channel --update

Arch y Manjaro Gnu/Linux y sus derivados: Yay

yay nos permite gestionar paquetes de software: (des)instalarlos, actualizarlos, etc, de manera amigable desde la consola de comandos y permitiédonos acceder al amplio y diverso AUR (Arch User Repository), lo cual nos brinda una gran cantidad de paquetes actualizados. En general es importante tener un ayudante de gestión de paquetes para que facilitemos nuestra gestión de software.

Abrimos la consola de comandos o terminal y desde allí escribimos:

sudo pacman -S binutils make gcc pkg-config fakeroot
cd /tmp
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

||