¿Qué es una "AppImage"? ¿Como lo instalo?

151

Acabo de leer Meet Etcher, A Stylish Open -Fuente de la herramienta de escritura de imágenes USB . Habla sobre la descarga de una AppImage.

  

Sí, Linux; los paquetes de Linux se distribuyen como una .appimage para las distribuciones de 32 y 64 bits, y deben ejecutarse en todas las principales distribuciones de Linux sin ningún problema. El equipo actualmente no tiene planes de proporcionar un instalador nativo .deb (o .rpm).

¿Qué son las AppImages? ¿Cómo difieren de las instantáneas?

    
pregunta DK Bose 19.05.2016 - 06:11

5 respuestas

202

Información básica

Con respecto a la instalación

Cito la página del proyecto de la imagen de la aplicación aquí:

  

Las imágenes de App pueden descargarse y ejecutarse sin instalación o sin necesidad   para los derechos de root.

Haciéndolo ejecutable

Puede hacer que la aplicación de imagen sea ejecutable de la siguiente manera:

chmod a+x exampleName.AppImage

Ejecutarlo

Puede ejecutar una appImage de la siguiente manera:

./exampleName.AppImage

Información adicional

Acerca de la imagen de la aplicación

Puede encontrar información general sobre la appImage aquí .

Cito la página del proyecto de la imagen de la aplicación aquí:

  

La idea clave del formato de AppImage es una aplicación = un archivo. Cada   AppImage contiene una aplicación y todos los archivos que la aplicación necesita para ejecutarse. En   En otras palabras, cada AppImage no tiene más dependencias que lo que es   incluido en el (los) sistema (s) operativo (s) base objetivo (s).

Wikipedia agrega

  

AppImage (y los predecesores klik y portablelinuxapps) no   instalar el software en el sentido tradicional (es decir, no colocar archivos   por todo el lugar en el sistema).

     

Utiliza un archivo por aplicación.   Cada uno es autónomo: incluye todas las bibliotecas la aplicación   depende de y que no son parte del sistema base. A este respecto,   es similar a la "virtualización de aplicaciones". Uno puede usar una AppImage   archivo incluso si no son un superusuario, o están usando un CD en vivo.   Los archivos de AppImage suelen ser más simples que compilar e instalar un   aplicación, ya que no se realizó ninguna instalación. El archivo de AppImage   es una imagen comprimida que está montada temporalmente para permitir el acceso a   el programa, pero sin tener que extraer el programa o modificar el   sistema subyacente.

El README.md del AppImageKit-project ofrece mucha información adicional, como Casos de uso , el espacio problemático y objetivos .

Casos de uso

  • Como usuario, quiero ir a una página de descarga ascendente, descargar una aplicación del autor original y ejecutarla en mi sistema de escritorio Linux al igual que haría con una aplicación de Windows o Mac.

  • Como probador, quiero poder obtener la versión de última generación de una aplicación de un servidor de compilación continua y probarla en mi sistema, sin necesidad de compilar y sin tener que preocuparme de que pueda arruinar mi sistema.

  • Como autor de aplicaciones o ISV, quiero proporcionar paquetes para sistemas de escritorio Linux de la misma manera que lo hago para Windows y OS X, sin la necesidad de tener que 'entrar' en una distribución y sin tener que compilar para gazillions de diferentes distribuciones.

Objetivos

  1. Sé simple.

      

    AppImage pretende ser un formato muy simple que sea fácil de   comprender, crear y administrar.

  2. Mantiene la compatibilidad binaria.

      

    AppImage es un formato para distribución de software binario. Software   empaquetado como AppImage pretende ser tan compatible con binarios como   posible con tantos sistemas como sea posible. La necesidad de   (re) compilación de software debería reducirse en gran medida.

  3. Sea de distribución-agostic.

      

    Una AppImage debería ejecutarse en todos los sistemas operativos básicos (distribuciones)   que fue creado para (y versiones posteriores). Por ejemplo, podrías   objetivo Ubuntu 9.10, openSUSE 11.2 y Fedora 13 (y versiones posteriores)   al mismo tiempo, sin tener que crear y mantener por separado   paquetes para cada sistema de destino.

  4. Elimina la necesidad de instalación.

      

    AppImages contiene la aplicación en un formato que le permite ejecutarla directamente   del archivo, sin tener que instalarlo primero. Esto es   comparable a un Live CD. Antes de Live CD, los sistemas operativos tenían que ser   instalado antes de que puedan ser utilizados.

  5. Mantenga las aplicaciones comprimidas todo el tiempo.

      

    Dado que la aplicación permanece empaquetada todo el tiempo, nunca es   sin comprimir en el disco duro. La computadora descomprime el   aplicación sobre la marcha al acceder a ella. Como la descompresión es   más rápido que la lectura desde el disco duro en la mayoría de los sistemas, esto tiene una velocidad   ventaja además de ahorrar espacio. Además, el tiempo necesario para   la instalación se eliminó por completo.

  6. Permitir colocar aplicaciones en cualquier lugar.

      

    Las imágenes de aplicaciones son "reubicables", lo que permite al usuario almacenar y   ejecútelos desde cualquier ubicación (incluidos CD-ROM, DVD, extraíbles)   discos, memorias USB).

  7. Hacer aplicaciones de solo lectura.

      

    Dado que las imágenes de App son de solo lectura por diseño, el usuario puede ser razonablemente   Asegúrese de que una aplicación no se modifique durante la operación.

  8. No requiere recompilación.

      

    AppImages debe ser posible crear desde binarios ya existentes,   sin la necesidad de recompilación Esto acelera enormemente el   Proceso de creación de AppImage, ya que no se debe involucrar a ningún compilador. Esta   también permite a terceros empaquetar aplicaciones de código cerrado como   AppImages. (Sin embargo, puede ser beneficioso para aguas arriba   desarrolladores de aplicaciones para construir desde la fuente específicamente para el   propósito de generar una AppImage.)

  9. Mantenga el sistema operativo base intacto.

      

    Dado que AppImages está destinado a ejecutarse en sistemas simples que no tienen   especialmente preparado por un administrador, AppImages puede no requerir   cualquier preparación inusual del sistema operativo base. Por lo tanto, ellos   no puede confiar en parches especiales del kernel, módulos kernel o cualquier otro   aplicaciones que no vienen con las distribuciones específicas por   predeterminado.

  10. No requiere root

      

    Dado que AppImages está destinado a ser ejecutado por usuarios finales, no deberían   requiere una cuenta administrativa (raíz) para ser instalada o utilizada. Ellos   Sin embargo, puede ser instalado por un administrador (por ejemplo, en multiusuario   escenarios) si así lo desea.

respondido por el dufte 19.05.2016 - 08:07
20

La idea básica puede parecer similar entre los dos sistemas, pero existen algunas diferencias de diseño entre las instantáneas y las Appimages.

Algunos "grandes" que me vienen a la mente son:

  1. Seguridad , en términos de confinamiento . Los paquetes Snap se ejecutan en un sandbox y no se les permite escapar de él y llegar a otras partes del sistema que no deberían tocar. Esta es una capa de seguridad más sólida que se ejecuta en paralelo al sistema de permisos. Obviamente, es un poco frustrante tratarlo al principio (y también más adelante), pero si lo piensas en términos de administración del sistema, esto es lo que un administrador desea para sus usuarios.

  2. Seguridad. Instalar software tomado de la red es tan seguro como andar lamiendo polos en las calles. A veces no sucede nada, a veces se presentan algunos problemas de salud muy grandes. Los paquetes Snap tienen sus repositorios adecuados, que están controlados por Canonical, como los repositorios estándar de Ubuntu. Puede continuar e instalar .deb archivos de alrededor, pero esa será su elección, y no un problema de diseño.

  3. Instalación. Las AppImages deben ser equivalentes a los "ejecutables portátiles de Windows". Todas las bibliotecas son autónomas y cualquier usuario puede simplemente descargar y ejecutar una de ellas. Por otro lado, los paquetes snap son paquetes apropiados, y necesitan ser instalados (como root , o con sudo ) a través del gestor de paquetes apropiado ( snap install tic-tac-toe arroja un error: ¡necesita sudo ! )

  4. Eliminación. Para eliminar un paquete instantáneo, debe usar el administrador de paquetes snap remove ... con los permisos adecuados para hacerlo. Appimages, por otro lado, simplemente están "allí". Entonces, ¿algún usuario no quiere ese Appimage? Él / ella simplemente elimina el archivo y se va.

Aunque recomiendo encarecidamente usar Appimages, personalmente uso algunos de ellos yo mismo.

Los encuentro particularmente útiles en mi sistema de trabajo, donde no tengo root access (solo el administrador tiene eso) pero necesito la última versión de un software en particular que, afortunadamente, el desarrollador ha proporcionado en forma de Appimage .

Tengo un poco de miedo de que algún código maligno esté incluido en ellos, por lo que verifiqué en la medida de lo posible la identidad del editor. No estoy 100% seguro de que este software sea benigno, pero he hecho todo lo que pude.

    
respondido por el dadexix86 19.05.2016 - 09:59
15

Mientras snap se enfoca solo en Ubuntu, AppImage tiene distribución cruzada y también se ejecuta en Fedora, Debian, OpenSUSE, CentOS, etc.

AppImage no necesita soporte de tiempo de ejecución o de infraestructura de la distribución de Linux y, por lo tanto, se ejecuta junto a todas partes. Permite a los autores de la aplicación enviar su software directamente a usuarios de Linux como el do para Windows y OS X; sin Canonical o cualquier otra persona "intermedia" entre el autor del software y el usuario final.

Si se proporciona una aplicación en formato de AppImage, un usuario puede ir al sitio web del autor original para descargarla, por ejemplo, MuseScore desde enlace . Haga el ejecutable de AppImage (ya sea usando su administrador de archivos o chmod a+x ./yourAppImage ), luego puede ejecutar la aplicación simplemente haciendo doble clic.

    
respondido por el probono 19.05.2016 - 08:24
11

Antes de que pueda ejecutar una AppImage, necesita hacerla ejecutable. Esta es una característica de seguridad de Linux. Hay dos formas principales de hacer un ejecutable de AppImage:

1. Uso de la GUI

o

2. En la línea de comando

chmod a+x Some.Appimage

Ahora haga doble clic en su archivo para ejecutarlo O haga clic con el botón derecho en & gt; Ejecutar

    
respondido por el probono 10.10.2016 - 04:01
3

Las imágenes de aplicaciones requieren FUSE para ejecutarse. El sistema de archivos en el espacio de usuario (FUSE) es un sistema que permite a los usuarios no root montar sistemas de archivos.

Instalar FUSE

Muchas distribuciones tienen una configuración de FUSE operativa lista para usar. Sin embargo, si no funciona, es posible que deba instalar y configurar FUSE manualmente.

Por ejemplo, en Ubuntu:

sudo apt-get install fuse
sudo modprobe fuse
sudo usermod -a -G fuse $USER

Por ejemplo, en openSUSE:

sudo zypper install fuse

Fallback

Si no quiere instalar FUSE, puede montar o extraer la AppImage.

Para montar AppImage y ejecutar la aplicación, simplemente ejecute

sudo mount -o loop Some.AppImage /mnt
/mnt/AppRun

Si eso no funciona, es posible que tenga un tipo 2 experimental 2 AppImage . Estos requieren que pase% com_de% al comando -o offset=... . Ejecute la AppImage con mount para encontrar el número correcto para el desplazamiento.

    
respondido por el insign 13.10.2016 - 17:06

Lea otras preguntas en las etiquetas