Questão O que é um "AppImage"? Como faço para instalá-lo?


eu acabei de ler Conheça a Etcher, uma elegante ferramenta de gravação de imagens USB de código aberto. 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?


153
2018-05-19 04:11


origem


Eu acho que o appimage tag pode se tornar útil, então eu acabei de criar. No caso de não precisarmos ou não querermos mantê-lo, sempre haveria a opção de queimá-lo novamente de qualquer maneira. - Byte Commander


Respostas:


Informação básica

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 maneira:

chmod a+x exampleName.AppImage

Executando isso

Você pode executar um appImage da seguinte maneira:

./exampleName.AppImage

informação adicional

Sobre o appImage

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

Estou citando a página do projeto appImage aqui:

A idéia 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) operacional (es) de base de destino.

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 desktop Linux, assim 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 que eu possa atrapalhar o 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 distribuições diferentes.

Objetivos

  1. Seja simples.

    AppImage destina-se a ser um formato muito simples que é 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.

    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.

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

  7. Tornar os 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 o AppImages deve ser executado por usuários finais, eles 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.


204
2018-05-19 06:07



Talvez a base real Q / A esteja acima da explicação? - UniversallyUniqueID
Como um appimage mantém as configurações entre os lançamentos? - Dan Dascalescu
Você poderia elaborar um pouco sobre o recurso "somente leitura"? Posso salvar as alterações dentro do AppImage? Ou os perde no close como o LiveCD? - vstepaniuk
@DanDascalescu: Sua pergunta merece ser elevada a uma pergunta completa no AskUbuntu, não apenas um comentário. Você vai perguntar isso? - Kurt Pfeifle
@KurtPfeifle: já que você não queria ir em frente e perguntar por si mesmo ... :) - Dan Dascalescu


A ideia 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 caixa de proteção e eles não podem escapar dele e alcançar outras partes do sistema que devem não tocar. Essa é uma camada de segurança mais forte que é executada paralelamente ao sistema de permissões. Obviamente, é um pouco frustrante lidar com isso no início (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 ir e instalar .deb arquivos de todo, mas isso 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 pacotes 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 lança um erro: precisa sudo!)

  4. Remoção. Para remover um pacote de encaixe, você precisa usar o gerenciador de pacotes snap remove ... com as permissões certas 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 eu sugira ser cauteloso ao usar o Appimages, eu pessoalmente uso alguns deles.

Eu os acho particularmente úteis no meu sistema de trabalho, onde eu não tenho root acesso (apenas o administrador tem isso), mas eu preciso da versão mais recente de um software específico que, felizmente, o desenvolvedor forneceu no formulário Appimage.

Estou com um pouco de medo de que algum código maligno esteja de fato 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.


20
2018-05-19 07:59



Basicamente, todo mundo está tentando implementar o pacote de aplicativos OSX no linux, mas nada chega lá. - OrangeDog
Eu não tenho idéia sobre como isso funciona :) Com certeza snap e Appimages não funcionam bem com software com muitas dependências compartilhadas entre muitos outros softwares. Eles estão perfeitamente bem com softwares já autocontidos ou com poucas dependências, mas o risco é ter muitas cópias da mesma biblioteca que fazem a mesma tarefa, como no Windows. Isso deve ser resolvido em pacotes de snap (um software que dependa da biblioteca de snap instala essa biblioteca com essa versão, e outro software que precisa da mesma versão de biblioteca pode usá-la, como no sistema normal). - dadexix86
Os aplicativos OSX (e iOS) funcionam como o AppImage (basta baixar um arquivo único e rodar), mas com a segurança do snap em sandbox. - OrangeDog
O OSX está tentando se livrar deles e só permite instalações de sua loja. - LtWorf
AppImage deve conter opção para Sand Boxing. Espero que possamos ver isso no futuro. - Royi


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 de https://musescore.org/en/download. Torne o executável AppImage (usando seu gerenciador de arquivos ou chmod a+x ./yourAppImage), então você pode executar o aplicativo simplesmente clicando duas vezes.


15
2018-05-19 06:24



Então, se eu quiser instalar o Leafpad, clico em "Set me up"? O que vai acontecer então? E como posso desinstalar um AppImage? Estou olhando bintray.com/probono/AppImages mas não encontrou a resposta. Se você não se importar, poderá editar sua resposta para incluir as informações, bem como qualquer outra coisa que os usuários gostem de saber. - DK Bose
Não tenho certeza se isso seria uma solução para você também - mas o leafpad está disponível nas fontes 16.04 prontas para uso (versão: 0.8.18.1). A versão do leafpad oferecida pelo bintray é 'apenas' 0.8.17 - portanto, ainda mais antiga. - dufte
É verdade, mas para alguém que quer apenas testar as águas, é, como o site diz, um tipo de "Hello World". - DK Bose
Excelente. Depois disso, você pode simplesmente clicar duas vezes. Isso é o que eu precisava! - Dawoodjee


Antes de 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

How to make an AppImage executable

ou

2. Na linha de comando

chmod a+x Some.Appimage

Agora dê um duplo clique no seu arquivo para executá-lo OU Clique com o botão direito em> Executar


11
2017-10-10 02:01





O AppImages requer 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

Cair pra trás

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

Para montar o AppImage e executar o aplicativo, basta executar

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

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


3
2017-10-13 15:06