Resumen de Linux
Notas específicas de Linux sobre cómo crear y usar paquetes de Velopack.
En Linux, Velopack no crea un instalador, simplemente crea un archivo .AppImage.
El usuario deberá:
- Descargar el archivo
.AppImage - Establecer permisos con
chmod +x YourFile.AppImage - Ejecutar con
./YourFile.AppImage
Empaquetado
Se requiere un icono para construir un AppImage, y lo ideal es que esté en formato PNG. Se puede proporcionar con el argumento --icon.
Es posible que vpk cree automáticamente la estructura AppImage/AppDir por ti, dado tu directorio de compilación como de costumbre.
Opcionalmente, puedes pre-construir tu estructura AppImage/AppDir según la siguiente especificación.
Si has preparado tu AppDir, puedes proporcionarlo al argumento --packDir / -p. Ten en cuenta que la carpeta debe terminar en .AppDir.
Si se utiliza un AppDir pre-construido, se espera que el icono y el archivo .desktop ya existan, y los argumentos --icon / --categories serán ignorados.
Las siguientes opciones específicas de Linux están disponibles cuando Velopack genera el paquete por ti:
--categories {names}— las categorías del Menú de escritorio de freedesktop.org escritas en el archivo.desktop. El valor predeterminado esUtility.--compression {algo}— el algoritmo de compresión utilizado para el AppImage, ya seagzip(el predeterminado) oxz.xzproduce archivos más pequeños a costa de una (des)compresión más lenta.
Actualización
Durante las actualizaciones, los paquetes se descargan en una ubicación temporal (/var/tmp) y luego se reemplaza el .AppImage.
Si el .AppImage se encuentra en una carpeta con privilegios, el actualizador solicitará automáticamente sudo usando pkexec.
La aplicación puede actualizarse técnicamente mientras se está ejecutando, aunque Velopack hará un esfuerzo por cerrarla/reiniciarla para eliminar cualquier versión anterior que esté en ejecución.
¿Qué es un AppImage?
AppImage no instala software en el sentido tradicional (es decir, no dispersa archivos por todo el sistema).
Utiliza un archivo por aplicación. Cada uno es autónomo: incluye todas las bibliotecas de las que depende la aplicación y que no forman parte del sistema base. En este sentido, es similar a la «virtualización de aplicaciones». Se puede utilizar un archivo AppImage incluso sin ser superusuario, o mientras se usa un CD en vivo. Los archivos AppImage suelen ser más sencillos que compilar e instalar una aplicación, ya que no se realiza ninguna instalación como tal. El archivo AppImage es una imagen comprimida que se monta temporalmente para permitir el acceso al programa, sin necesidad de extraerlo ni modificar el sistema subyacente.
¿Por qué AppImage, y no deb, snap, etc?
- AppImage es un formato para la distribución de software binario. El software empaquetado como AppImage está diseñado para ser lo más compatible binariamente posible con la mayor cantidad de sistemas posible.
- Un AppImage debería funcionar en prácticamente todos los sistemas operativos base (distribuciones). Por ejemplo, podrías apuntar a Ubuntu 9.10, openSUSE 11.2 y Fedora 13 (y versiones posteriores) al mismo tiempo, sin tener que crear y mantener paquetes separados para cada sistema de destino.
- Los AppImages son reubicables y portátiles, y no modifican el sistema operativo de ninguna manera. Esto significa que puede ejecutarse directamente desde un CD en vivo, una memoria USB, etc.
¿Se puede «instalar» un AppImage?
Sí, se puede, pero esto generalmente queda a criterio del usuario. Existen frameworks que instalarán un AppImage en el primer uso, moviéndolo a una ubicación predeterminada (normalmente ~/Applications), añadiendo un acceso directo al dock/lanzador/escritorio, etc.
Uno de estos frameworks es AppImageLauncher, pero también existen otros.
AppImageLauncher
La instalación de AppImageLauncher en Ubuntu se puede realizar con los siguientes comandos:
sudo add-apt-repository ppa:appimagelauncher-team/stable
sudo apt install software-properties-common appimagelauncher
Para otras distribuciones de Linux, consulta la wiki.
Una vez instalado AppImageLauncher, el usuario verá un diálogo de instalación cada vez que descargue y ejecute un nuevo AppImage.
También es posible instalar un AppImage manualmente (es decir, sin AppImageLauncher), aunque es un proceso algo complejo.