O que é um “AppImage”? Como faço para instalá-lo?

137

Acabei de ler Conheça o Etcher, um elegante e aberto -Ferramenta USB Image Writer . Ele fala sobre o download de um AppImage.

  

Sim, Linux; os pacotes do Linux são distribuídos como um .appimage para distribuições de 32 e 64 bits e devem ser executados em todas as principais distribuições do Linux sem nenhum problema. A equipe atualmente não tem planos de fornecer um instalador nativo .deb (ou .rpm).

O que são AppImages? Como eles diferem dos snaps?

    
por DK Bose 19.05.2016 / 06:11

5 respostas

182

Informações básicas

Em relação à instalação

Estou citando a página do projeto appImage aqui:

  

AppImages pode ser baixado e executado sem instalação ou a necessidade   para direitos de root.

Tornando-o executável

Você pode tornar o executável do appImage da seguinte forma:

chmod a+x exampleName.AppImage

Execução

Você pode executar um appImage da seguinte forma:

./exampleName.AppImage

Informações adicionais

Sobre o appImage

Você pode encontrar algumas informações gerais sobre o appImage aqui .

Estou citando a página do projeto appImage aqui:

  

A ideia principal do formato AppImage é um aplicativo = um arquivo. Cada   AppImage contém um aplicativo e todos os arquivos que o aplicativo precisa para ser executado. Dentro   Em outras palavras, cada AppImage não tem dependências além do que é   incluído no (s) sistema (s) operativo (s) de base visado (s).

Wikipedia adiciona

  

AppImage (e os predecessores klik e portablelinuxapps) não   instalar software no sentido tradicional (ou seja, ele não coloca arquivos   em todo o lugar no sistema).

     

Ele usa um arquivo por aplicativo.   Cada um é auto-suficiente: inclui todas as bibliotecas do aplicativo   depende e não faz parte do sistema base. A respeito disso,   é semelhante a "virtualização de aplicativos". Pode-se usar um AppImage   arquivo, mesmo se eles não são um superusuário, ou eles estão usando um CD ao vivo.   Arquivos AppImage são geralmente mais simples do que compilar e instalar   aplicação, como nenhuma instalação realmente ocorreu. O arquivo AppImage   é uma imagem comprimida que está temporariamente montada para permitir o acesso a   o programa, mas não ter que extrair o programa ou modificar o   sistema subjacente.

O README.md do AppImageKit-project oferece muitas informações adicionais, como Casos de uso , o espaço do problema e objetivos .

Casos de Uso

  • Como usuário, eu quero ir para uma página de download upstream, baixar um aplicativo do autor original e executá-lo no meu sistema de desktop Linux como faria com um aplicativo Windows ou Mac.

  • Como testador, eu quero ser capaz de obter a última versão de ponta de um aplicativo de um servidor de desenvolvimento contínuo e testá-lo no meu sistema, sem precisar compilar e sem ter que me preocupar bagunçar meu sistema.

  • Como um autor de aplicativo ou ISV, desejo fornecer pacotes para sistemas de desktop Linux, assim como faço para o Windows e OS X, sem a necessidade de colocá-lo em uma distribuição e sem ter que construir para zilhões de diferentes distribuições.

Objetivos

  1. Seja simples.

      

    O AppImage destina-se a ser um formato muito simples e fácil de   entender, criar e gerenciar.

  2. Mantenha a compatibilidade binária.

      

    AppImage é um formato para distribuição de software binário. Programas   empacotado como AppImage se destina a ser tão compatível com binários quanto   possível com tantos sistemas quanto possível. A necessidade de   A (re) compilação de software deve ser bastante reduzida.

  3. Seja agindo em distribuição.

      

    Um AppImage deve ser executado em todos os sistemas operacionais de base (distribuições)   que foi criado para (e versões posteriores). Por exemplo, você poderia   alvo Ubuntu 9.10, openSUSE 11.2 e Fedora 13 (e versões posteriores)   ao mesmo tempo, sem ter que criar e manter separados   pacotes para cada sistema de destino.

  4. Remova a necessidade de instalação.

      

    As AppImages contêm o aplicativo em um formato que permite que ele seja executado diretamente   do arquivo, sem precisar ser instalado primeiro. Isto é   comparável a um Live CD. Antes dos Live CDs, os sistemas operacionais tinham que ser   instalado primeiro antes que eles pudessem ser usados.

  5. Mantenha os aplicativos compactados o tempo todo.

      

    Como o aplicativo permanece sempre empacotado, nunca é   descomprimido no disco rígido. O computador descompacta o   aplicação on-the-fly ao acessá-lo. Como a descompressão é   mais rápido do que ler a partir do disco rígido na maioria dos sistemas, isso tem uma velocidade   vantagem além de economizar espaço. Além disso, o tempo necessário para   a instalação é totalmente removida.

  6. Permitir colocar aplicativos em qualquer lugar.

      

    As AppImages são "relocáveis", permitindo que o usuário armazene e   executá-los a partir de qualquer local (incluindo CD-ROMs, DVDs,   discos, pendrives).

  7. Crie aplicativos somente leitura.

      

    Como o AppImages é somente leitura por design, o usuário pode ser razoavelmente   Certifique-se de que um aplicativo não se modifique durante a operação.

  8. Não requer recompilação.

      

    AppImages deve ser possível criar a partir de binários já existentes,   sem a necessidade de recompilação. Isso acelera bastante o   Processo de criação do AppImage, uma vez que nenhum compilador deve estar envolvido. este   também permite que terceiros empacotem aplicativos de código fechado   AppImages. (No entanto, pode ser benéfico para o upstream   desenvolvedores de aplicativos para construir a partir da fonte especificamente para o   propósito de gerar um AppImage.)

  9. Mantenha o sistema operacional base intocado.

      

    Como o AppImages deve ser executado em sistemas simples que não   especialmente preparado por um administrador, o AppImages pode não exigir   qualquer preparação incomum do sistema operacional de base. Por isso, eles   não pode confiar em patches de kernel especiais, módulos do kernel ou   aplicativos que não vêm com as distribuições direcionadas por   padrão.

  10. Não requer raiz.

      

    Como as AppImages devem ser executadas por usuários finais, elas não devem   requerer que uma conta administrativa (root) seja instalada ou usada. Eles   pode, no entanto, ser instalado por um administrador (por exemplo, em   cenários), se assim o desejar.

por dufte 19.05.2016 / 08:07
18

A idéia básica pode parecer semelhante entre os dois sistemas, mas existem algumas diferenças de design entre os snaps e as Appimages.

Alguns "grandes" que vêm à minha mente são:

  1. Segurança , em termos de confinamento . Os pacotes do Snap são executados em uma sandbox e eles não podem escapar dele e chegar a outras partes do sistema que não devem ser tocados. Essa é uma camada de segurança mais strong que é executada paralelamente ao sistema de permissões. Obviamente, é um pouco frustrante lidar com isso no começo (e também mais tarde), mas se você pensar sobre isso em termos de administração do sistema, isso é o que um administrador deseja para seus usuários.

  2. Segurança. A instalação de software de toda a rede é tão segura quanto sair por aí lambendo postes nas ruas. Às vezes, nada acontece, às vezes você tem alguns problemas de saúde muito grandes. Os pacotes Snap possuem seus repositórios adequados, que são controlados pela Canonical, como os repositórios padrão habituais do Ubuntu. Você pode instalar e instalar .deb de arquivos, mas essa será a sua escolha, e não um problema de design.

  3. Instalação. AppImages são feitos para ser o equivalente dos "executáveis portáteis do Windows". Todas as bibliotecas são auto-suficientes e qualquer usuário pode apenas baixar e executar um desses. Por outro lado, snap packages são pacotes adequados, e eles precisam ser instalados (como root , ou com sudo ) através do gerenciador de pacotes pertinente ( snap install tic-tac-toe gera um erro: ele precisa de sudo ! )

  4. Remoção. Para remover um pacote de snap, você precisa usar o gerenciador de pacotes snap remove ... com as permissões corretas para fazer isso. Appimages, por outro lado, eles estão apenas "lá". Então, qualquer usuário não quer que o Appimage? Ele apenas remove o arquivo e desaparece.

Embora sugiro ser cauteloso ao usar o Appimages, eu pessoalmente uso alguns deles.

Acho-os particularmente úteis no meu sistema de trabalho, onde não tenho root access (apenas o administrador tem isso), mas preciso da versão mais recente de um software específico que, felizmente, o desenvolvedor forneceu na forma Appimage .

Estou com um pouco de medo de que algum código maligno esteja realmente contido neles, então verifiquei o máximo possível a identidade do editor. Não tenho 100% de certeza de que este software é benigno, mas fiz tudo o que pude.

    
por dadexix86 19.05.2016 / 09:59
12

Enquanto o snap se concentra apenas no Ubuntu, o AppImage é de distribuição cruzada e também é executado no Fedora, no Debian, no openSUSE, no CentOS, etc.

O AppImage não precisa de suporte de tempo de execução ou infraestrutura da distribuição Linux e, portanto, é executado próximo a qualquer lugar. Ele permite que os autores de aplicativos enviem seus softwares diretamente para usuários do Linux, como o do Windows e do OS X; sem a Canonical ou qualquer outra pessoa "entre" o autor do software e o usuário final.

Se um aplicativo for fornecido no formato AppImage, um usuário poderá acessar o site do autor original para fazer o download, por exemplo, MuseScore, no site link . Faça o executável do AppImage (usando seu gerenciador de arquivos ou chmod a+x ./yourAppImage ), então você pode executar o aplicativo simplesmente clicando duas vezes.

    
por probono 19.05.2016 / 08:24
7

Antes de poder executar um AppImage, você precisa torná-lo executável. Este é um recurso de segurança do Linux. Existem duas maneiras principais de criar um executável do AppImage:

1. Usando a GUI

ou

2. Na linha de comando

chmod a+x Some.Appimage
    
por probono 10.10.2016 / 04:01
2

As AppImages exigem que o FUSE seja executado. O Filesystem in Userspace (FUSE) é um sistema que permite que usuários não-root montem sistemas de arquivos.

Instalar o FUSE

Muitas distribuições têm uma configuração FUSE pronta para uso. No entanto, se não estiver funcionando, talvez seja necessário instalar e configurar o FUSE manualmente.

Por exemplo, no Ubuntu:

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

Por exemplo, no openSUSE:

sudo zypper install fuse

Fallback

Se você não quiser instalar o FUSE, você pode montar ou extrair o AppImage.

Para montar o AppImage e executar o aplicativo, simplesmente execute

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

Se isso não funcionar, você pode ter um tipo 2 experimental. AppImage . Estes requerem que você passe -o offset=... para o comando mount . Execute o AppImage com --appimage-offset para descobrir o número correto do deslocamento.

    
por insign 13.10.2016 / 17:06