Una de las tareas frecuentes que realizamos en los sistemas operativos Windows es la instalación, y desinstalación, de múltiples programas y aplicaciones, cada una con un enfoque ya sea corporativo, educativo o de uso personal.
Sin importar la finalidad de dicha aplicación, siempre realizamos un proceso monótono para llevar a cabo la instalación el cual abarca el ir al sitio del desarrollador o fabricante, descargar el archivo ejecutable y luego dar doble clic sobre el y seguir los pasos del asistente.
Aunque este proceso es normal y todos lo llevamos a cabo en cada proceso de instalación, Solvetic explicara un método alternativo que puede simplificar drásticamente estas tareas de instalación y es gracias al proyecto Chocolatey.
Su diseñado esta pensado para ser una consola de administración descentralizada desde donde sea posible instalar de forma rápida diversas aplicaciones y herramientas a usar, Chocolatey esta basado en la infraestructura NuGet la cual a su vez hace uso de PowerShell como la plataforma para entregar paquetes desde las distribuciones disponibles para estas.
Chocolatey posee una interfaz única la cual está diseñada para trabajar fácilmente con todos los aspectos asociados a la administración del software de Windows como:
- Instaladores
- Archivos zip
- Binarios en tiempo de ejecución
- Software interno y de terceros
Esto se logra haciendo uso de un marco de empaquetado en el cual se ven involucrados los requisitos de versiones y dependencias para que la instalación de estas sea exitosa.
Todos los paquetes de Chocolatey encapsulan las herramientas necesarias para administrar cualquier elemento como instaladores, ejecutables y scripts en un archivo de paquete compilado lo cual facilita el control, y estos paquetes se pueden usar de forma independiente, o también está la opción de integrarlos con administradores de configuración como SCCM, Puppet y Chef para aumentar su escalabilidad y expansión.
- Windows 7 hasta Windows 10 o Windows Server 2012 al 2016 (Server Core es compatible pero no Windows
- Nano Server)
- Windows PowerShell v2+
- .NET Framework 4.x+
- En primer lugar, Chocolatey usa NuGet (NuGet.Core.dll) con el fin de recuperar el paquete de la fuente, esto es un nupkg que se almacena en una carpeta o se comparte en una ubicación OData (HTTP/HTTPS).
- Luego, el paquete será instalado en la ruta $env:ChocolateyInstall\lib\<pkgId>. La ubicación de instalación del paquete no es configurable para el usuario ya que el paquete debe instalarse aquí para tareas de seguimiento, actualización y desinstalación del mismo si se requiere más adelante.
- Una vez instalado el paquete, la aplicación determina si el paquete es autónomo o posee scripts de automatización como scripts de PowerShell (archivos *.ps1).
- Ahora, Chocolatey toma una instantánea del registro para una comparación posterior de los paquetes.
- Luego, si se cuenta con scripts de automatización, Chocolatey los ejecutará.
- Una vez llevado a cabo esto, Chocolatey compara la instantánea para definir la información del desinstalador y procede a guardarla en un archivo con la extensión .registry.
- Ahora, la aplicación ejecuta una instantánea de la carpeta tomando como base todos los archivos que se encuentran actualmente en el directorio del paquete seleccionado.
- Finalmente, la aplicación busca los archivos ejecutables en la carpeta del paquete y los repliega a la carpeta $env:ChocolateyInstall\bin con el objetivo de que esos elementos estén disponibles en la ruta definida.
- Chocolatey se verifica en VirusTotal lo cual garantiza que esté libre de amenazas
- Permite la creación de nuestros propios paquetes
- Puede ser ejecutado fuera de línea
- No recopila datos o telemetría del sistema operativo Windows
- Cuenta con plantillas de paquete personalizado
- Posee un desinstalador automático
- No tiene publicidad de terceros
- Dispone de múltiples extensiones de paquete
- Ejecuta Runtime Malware Protection (Pro +)
- Descarga CDN Cache (Pro +)
- Incluye el paquete Reducer (Pro +)
- Posee la opción de directorio de instalación ubicua (Pro +)
- Cuenta con el paquete Throttle (Pro +)
- Dispone de un sincronizador de paquetes (Comando Pro + Auto / C4B Sync)
- Autoservicio / Modo de fondo (C4B)
- Creador de paquetes (C4B)
- Paquete Internalizer integrado (C4B)
- Instalador directo (C4B)
- Cuenta con auditoría de paquete (C4B)
- Incluye funciones de Windows Service Management PowerShell (C4B)
La versión de pago inicia desde USD 96 por año hasta USD 600.
1. Cómo instalar Chocolatey en Windows 10
Para realizar este proceso, accederemos al símbolo del sistema como administradores y allí ejecutamos la siguiente línea para descargar automáticamente del sitio oficial de Chocolatey los scripts necesarios:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\binPulsamos Enter y este será el resultado:
Esta línea realiza el siguiente proceso:
- En primer lugar, le indican al equipo que inicie PowerShell y que no cargue ningún perfil personalizado que pueda ser usado por un usuario avanzado
- Luego le indica a Windows que configure la política de ejecución sin restricciones para permitir que se ejecute la secuencia de comandos de PowerShell
- Luego procede a descargar y ejecutar la secuencia de comandos de instalación Chocolatey.
2. Cómo usar Chocolatey en Windows 10
Ahora ha llegado el momento de comprobar como automatizar las instalaciones en Windows con esta utilidad, para ello, accedemos de nuevo como usuarios administradores a la consola y allí ejecutamos la siguiente sintaxis:
cinst (Programa)Por ejemplo, si deseamos instalar el cliente Putty para conexiones remotas vamos a ejecutar lo siguiente:
cinst puttyAl pulsar Enter se iniciará el proceso de instalación de la aplicación seleccionada y veremos el proceso de descarga, en caso de contar con scripts, debemos confirmar la ejecución de estos:
Una vez aceptemos este paso, se completará el proceso de instalación de la aplicación seleccionada:
Es vital saber el nombre exacto que Chocolatey usa para cada programa a instalar, como existen diversas opciones de uso, una alternativa que nos ofrece Chocolatey para comprobar las opciones disponibles es la siguiente línea:
choco search (termino)
Allí encontramos los paquetes disponibles y su estado actual.
3. Cómo ejecutar múltiples instalaciones con Chocolatey en Windows 10
También es posible que en algún momento se requiera instalar diversas aplicaciones de forma simultánea, para ello basta con ejecutar lo siguiente:
cinst (app1) (app2) etcPor ejemplo:
cinst vlc putty
Podemos comprobar que se inicia el proceso de descarga de cada aplicación indicada.
4. Cómo actualizar aplicaciones usando Chocolatey en Windows 10
Para ejecutar la actualización de los programas instalados con Chocolatey basta con usar la siguiente sintaxis:
cup (Aplicación)
Si deseamos actualizar todos los programas o aplicaciones que han sido instaladas con Chocolatey usaremos el siguiente comando:
cup allAsimismo, podemos especificar la fuente desde donde se deben aplicar las actualizaciones, en este caso ejecutamos lo siguiente:
cup (aplicación) –source (URL a usar)
5. Cómo desinstalar aplicaciones con Chocolatey
Para llevar a cabo el proceso de desinstalación de paquetes o aplicaciones usando esta aplicación, debemos usar la siguiente sintaxis.
choco uninstall (aplicación)
Actualmente Chocolatey tiene a disposición mas de 5000 paquetes a instalar para Windows, algunas opciones son:
choco install adobereader(Adobe Reader DC) choco install googlechrome(Google Chrome) choco install jre8 (Java RunTime 8) choco install Firefox (Firefox Quantum)Para ver todas las opciones disponibles, podemos visitar el siguiente enlace oficial:
6. Gestión de comandos de Chocolatey
Si deseamos saber cuántos paquetes hemos instalado con Chocolatey vamos a ejecutar lo siguiente:
choco list -lo
Para desplegar la ayuda de esta aplicación ejecutamos:
choco -?
Para acceder a la configuración de Chocolatey;
choco config list
Los comandos a usar de forma general con Chocolatey son:
Podemos recurrir a Chocolatey para realizar instalaciones completas y de forma automática lo cual ahorrara tiempo que puede ser usado para otro tipo de tareas de soporte y a si incrementar nuestra productividad en Windows 10.