O que é um "AppImage"? Como eu instalo?

Acabei de ler Conheça Etcher, A Stylish Open-Source USB Image Writer Tool. Ele fala sobre o download de um AppImage.

Sim, Linux; os pacotes Linux são distribuídos como um .appimage para distribuições de 32 e 64 bits, e devem rodar em todas as principais distribuições 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 elas diferem dos snaps?

Solução

Informações básicas

Sobre a 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 raiz.

Tornando-o executável

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

chmod a+x exampleName.AppImage

Executando-o

Você pode executar um appImage da seguinte forma:

./exampleName.AppImage

Informações adicionais

Sobre a appImage

Você pode encontrar algumas informações gerais sobre o appImage aqui. Estou citando a página do projeto appImage aqui:

A ideia chave do formato AppImage é uma aplicação = um ficheiro. Cada AppImage contém um aplicativo e todos os arquivos que o aplicativo precisa para rodar. Em outras palavras, cada AppImage não tem outras dependências além do que é incluído no(s) sistema(s) operacional(ais) de base visado(s). Wikipedia acrescenta AppImage (e os antecessores klik e portablelinuxapps) não instalar software no sentido tradicional (ou seja, não coloca ficheiros em todo o lugar do sistema).

Utiliza um ficheiro por aplicação. cada um deles é autónomo: inclui todas as bibliotecas da aplicação depende de e que não fazem parte do sistema base. A este respeito, é semelhante a " virtualização de aplicações". Pode-se usar um AppImage arquivar mesmo que não sejam superusuários, ou que estejam usando um CD ao vivo. ficheiros AppImage são muitas vezes mais simples do que compilar e instalar um aplicação, uma vez que nenhuma instalação foi realmente realizada. O ficheiro AppImage é uma imagem comprimida que é temporariamente montada para permitir o acesso a o programa, mas sem ter que extrair o programa ou modificar o sistema subjacente. O README.md do AppImageKit-project oferece muitas informações adicionais como Use cases, o espaço problemático e objectivos. Casos de Uso

  • Como usuário, eu quero ir para uma página de download upstream, baixar uma aplicação do autor original e executá-la no meu sistema desktop Linux, assim como eu faria com uma aplicação Windows ou Mac.
  • Como testador, quero poder obter a última versão de uma aplicação de um servidor de compilação contínua e testá-la no meu sistema, sem precisar compilar e sem ter que me preocupar que eu possa estragar o meu sistema.
  • Como autor de uma aplicação ou ISV, eu quero fornecer pacotes para sistemas desktop Linux assim como faço para Windows e OS X, sem a necessidade de obter 'into' uma distribuição e sem ter que compilar para gazilhões de diferentes distribuições. Objetivos

  1. Seja simples. AppImage destina-se a ser um formato muito simples que é fácil de compreender, criar e gerir.
  2. Manter a compatibilidade binária. AppImage é um formato para distribuição de software binário. Software embalado como AppImage destina-se a ser tão compatível em termos binários como possível com o maior número possível de sistemas. A necessidade de a (re)compilação de software deve ser muito reduzida.
  1. Ser agnóstico em termos de 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 alvo.

  2. Remover a necessidade de instalação.

    AppImages contém o aplicativo em um formato que permite que ele rode diretamente do arquivo, sem ter que ser instalado primeiro. Isto é comparável a um Live CD. Antes dos Live CDs, os sistemas operacionais tinham de ser instalados primeiro antes de poderem ser utilizados.

  3. Mantenha as aplicações comprimidas o tempo todo.

    Uma vez que a aplicação permanece sempre empacotada, ela nunca é sem compressão no disco rígido. O computador descomprime o aplicação em tempo real ao acessá-la. Uma vez que a descompressão é mais rápido que a leitura a partir do disco rígido na maioria dos sistemas, isto tem uma velocidade vantagem, além de poupar espaço. Além disso, o tempo necessário para a instalação é totalmente removida.

  4. Permita colocar aplicativos em qualquer lugar.

    AppImages são " relocatable" permitindo assim que o usuário armazene e execute-os a partir de qualquer local (incluindo CD-ROMs, DVDs, removíveis, etc.) discos, pen USB sticks).

  5. Faça aplicações somente leitura.

    Como as AppImages são somente leitura por projeto, o usuário pode ser razoavelmente certifique-se de que um aplicativo não se modifica durante a operação.

  6. Não é necessária uma recompilação.

    AppImages devem ser possíveis de criar a partir de binários já existentes, sem a necessidade de recompilação. Isto acelera muito a processo de criação de AppImage, uma vez que nenhum compilador tem de estar envolvido. Este também permite a terceiros o empacotamento de aplicações de código fechado como AppImages. (No entanto, pode ser benéfico para o upstream desenvolvedores de aplicativos para construir a partir do código fonte especificamente para o propósito de gerar um AppImage).

  7. Manter o sistema operacional básico intocado.

    Uma vez que as AppImages se destinam a funcionar em sistemas simples que não tenham especialmente preparado por um administrador, AppImages não pode exigir qualquer preparação não habitual do sistema operativo de base. Assim, eles não pode confiar em patches especiais de kernel, módulos de kernel, ou qualquer aplicações que não vêm com as distribuições visadas por padrão.

  8. Não é necessária raiz.

    Uma vez que os AppImages são destinados a ser executados por usuários finais, eles não devem reqiure uma conta administrativa (raiz) para ser instalada ou utilizada. Eles pode, no entanto, ser instalado por um administrador (por exemplo, em multiusuário cenários) se assim o desejar.

Comentários (5)

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

Alguns " grandes " aqueles que me vêm à cabeça são:

  1. Segurança, em termos de confinamento. Os pacotes Snap correm numa caixa de areia e não lhes é permitido escapar dela e chegar a outras partes do sistema que não devem não tocar. Esta é uma camada de segurança mais forte que corre paralelamente ao sistema de permissões. Obviamente é um pouco frustrante quando se lida com ele no início (e também mais tarde), mas se você pensar sobre isso em termos de administração do sistema, isto é o que um administrador quer para seus usuários.

  2. Segurança. Instalar software tirado da rede, é tão seguro como andar pelas ruas a lamber postes. Às vezes não acontece nada, às vezes você tem problemas de saúde muito grandes. Os pacotes Snap têm seus repositórios apropriados, que são controlados pela Canonical, como os repositórios padrão usuais do Ubuntu. Você pode continuar e instalar arquivos `.deb' por aí, mas isso será sua escolha, e não um problema de design.

  3. Instalação. AppImages são destinados a ser o equivalente do " executáveis &quot portáteis para Windows;. Todas as bibliotecas são auto-contidas e qualquer usuário pode simplesmente baixar e executar uma delas. Por outro lado, os pacotes snap' são pacotes apropriados, e precisam ser instalados (comoroot', ou com o sudo') através do gerenciador de pacotes apposite (osnap install tic-tac-toe' lança um erro: ele precisa do `sudo'!)

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

Embora eu sugira fortemente que seja cauteloso ao usar Appimages, eu mesmo uso alguns deles pessoalmente.

Acho-os particularmente úteis no meu sistema de trabalho, onde eu não tenho acesso `root' (só o administrador tem isso), mas preciso da última versão de um software em particular que, felizmente, o desenvolvedor forneceu em forma de Appimage.

Tenho um pouco de medo que algum código maligno esteja de facto contido neles, por isso verifiquei o mais possível a identidade da editora. Não estou 100% certo de que este software seja benigno, mas fiz tudo o que pude.

Comentários (5)

Enquanto snap foca apenas no Ubuntu, AppImage é uma distribuição cruzada e também roda no Fedora, debian, openSUSE, CentOS etc.

AppImage não precisa de tempo de execução ou suporte de infra-estrutura da distribuição Linux e, portanto, roda ao lado de todos os lugares. Permite aos autores de aplicações enviar o seu software directamente para utilizadores Linux como o do para Windows e OS X; sem a Canonical ou qualquer outra " entre" o autor do software e o utilizador final.

Se um aplicativo é fornecido no formato AppImage, então um usuário pode ir ao site do autor original's para baixá-lo, por exemplo, MuseScore de https://musescore.org/en/download. Torne o AppImage executável (utilizando seu gerenciador de arquivos ou chmod a+x ./yourAppImage), então você pode executar o aplicativo simplesmente clicando duas vezes.

Comentários (4)