Question Qu'est-ce qu'un "AppImage"? Comment l'installer?


j'ai juste lu Rencontrez Etcher, un outil de création d'image USB Open Source élégant. Il parle de télécharger une AppImage.

Oui, Linux Les packages Linux sont distribués sous la forme d'un fichier .appimage pour les distributions 32 bits et 64 bits, et doivent être exécutés sur toutes les principales distributions Linux sans aucun problème. L'équipe n'a actuellement aucun plan pour fournir un installateur natif .deb (ou .rpm).

Qu'est-ce que AppImages? Comment diffèrent-ils des clichés?


153
2018-05-19 04:11


origine


Je pense que le appimage tag pourrait devenir utile, alors je viens de le créer. Dans le cas où nous n'en aurions pas besoin ou ne voudrions pas le conserver, il y aurait toujours la possibilité de le renouveler de toute façon. - Byte Commander


Réponses:


Informations de base

Concernant l'installation

Je cite la page du projet appImage ici:

AppImages peut être téléchargé et exécuté sans installation ou le besoin   pour les droits root.

Le rendre exécutable

Vous pouvez rendre le fichier exécutable appImage comme suit:

chmod a+x exampleName.AppImage

L'exécuter

Vous pouvez exécuter un appImage comme suit:

./exampleName.AppImage

Information additionnelle

À propos de appImage

Vous pouvez trouver des informations générales sur appImage ici.

Je cite la page du projet appImage ici:

L'idée clé du format AppImage est une application = un fichier. Chaque   AppImage contient une application et tous les fichiers que l'application doit exécuter. Dans   Autrement dit, chaque AppImage n’a pas de dépendances autres que celles   inclus dans les systèmes d'exploitation de base ciblés.

Wikipédia ajoute

AppImage (et les prédécesseurs klik et portablelinuxapps) ne   installer des logiciels au sens traditionnel (c’est-à-dire qu’ils ne mettent pas de fichiers   partout dans le système).

Il utilise un fichier par application.   Chacun est autonome: il comprend toutes les bibliothèques de l'application   dépend et ne fait pas partie du système de base. À cet égard,   il est similaire à la "virtualisation d'applications". On peut utiliser une AppImage   fichier, même s’ils ne sont pas un superutilisateur, ou qu’ils utilisent un CD en direct.   Les fichiers AppImage sont souvent plus simples que la compilation et l'installation d'un   application, car aucune installation n'a eu lieu. Le fichier AppImage   est une image compressée qui est montée temporairement pour permettre l'accès à   le programme, mais sans avoir à extraire le programme ou à modifier le   système sous-jacent.

le README.md du AppImageKit-projet offre beaucoup d'informations supplémentaires comme Cas d'utilisation, l'espace problème et objectifs.

Cas d'utilisation

  • En tant qu'utilisateur, je veux aller sur une page de téléchargement en amont, télécharger une application de l'auteur original et l'exécuter sur mon système de bureau Linux, comme je le ferais avec une application Windows ou Mac.

  • En tant que testeur, je veux pouvoir obtenir la dernière version avancée d'une application à partir d'un serveur de génération continue et la tester sur mon système, sans avoir à compiler et sans avoir à craindre de perdre mon système.

  • En tant qu'auteur d'application ou éditeur de logiciels indépendant, je souhaite fournir des packages pour les systèmes de bureau Linux, comme je le fais pour Windows et OS X, sans qu'il soit nécessaire de créer des distributions différentes.

Objectifs

  1. Soit simple.

    AppImage se veut un format très simple, facile à   comprendre, créer et gérer.

  2. Maintenir la compatibilité binaire

    AppImage est un format pour la distribution de logiciels binaires. Logiciel   emballé comme AppImage est destiné à être aussi binaire-compatible que   possible avec autant de systèmes que possible. Le besoin de   La (re) compilation de logiciels devrait être considérablement réduite.

  3. Être agostique à la distribution.

    Un AppImage doit s'exécuter sur tous les systèmes d'exploitation de base (distributions)   qu'il a été créé pour (et versions ultérieures). Par exemple, vous pourriez   cible Ubuntu 9.10, openSUSE 11.2 et Fedora 13 (et versions ultérieures)   dans le même temps, sans avoir à créer et à maintenir séparément   packages pour chaque système cible.

  4. Supprimez le besoin d'installation.

    AppImages contient l'application dans un format qui lui permet de s'exécuter directement   à partir des archives, sans avoir à être installé en premier. C'est   comparable à un CD Live. Avant les Live CD, les systèmes d’exploitation devaient être   installé en premier avant de pouvoir être utilisé.

  5. Gardez les applications compressées tout le temps.

    Étant donné que l’application reste en permanence à l’emballage, elle n’est jamais   non compressé sur le disque dur. L'ordinateur décompresse le   application à la volée tout en y accédant. Puisque la décompression est   plus rapide que de lire du disque dur sur la plupart des systèmes, cela a une vitesse   avantage en plus d'économiser de l'espace. Aussi, le temps nécessaire pour   l'installation est entièrement supprimée.

  6. Permet de placer des applications n'importe où.

    Les applis sont "relogeables", ce qui permet à l’utilisateur de   les exécuter depuis n’importe quel endroit (y compris des CD-ROM, des DVD, des   disques, clés USB).

  7. Rendre les applications en lecture seule.

    AppImages étant en lecture seule par conception, l'utilisateur peut être raisonnablement   Assurez-vous qu’une application ne se modifie pas pendant le fonctionnement.

  8. Ne pas nécessiter de recompilation.

    AppImages doit être possible de créer à partir de binaires déjà existants,   sans besoin de recompilation. Cela accélère grandement la   Processus de création AppImage, car aucun compilateur ne doit être impliqué. Ce   permet également à des tiers d’emballer des applications à code   AppImages. (Néanmoins, cela peut être bénéfique en amont   les développeurs d'applications à construire à partir de la source spécifiquement pour le   but de générer un AppImage.)

  9. Maintenez le système d'exploitation de base intact.

    Depuis AppImages sont destinés à fonctionner sur des systèmes simples qui n'ont pas   été spécialement préparé par un administrateur, AppImages peut ne pas nécessiter   toute préparation inhabituelle du système d'exploitation de base. Par conséquent, ils   ne peut pas compter sur des correctifs spéciaux du noyau, des modules du noyau ou   applications qui ne viennent pas avec les distributions ciblées par   défaut.

  10. Ne nécessite pas de racine.

    Comme AppImages est destiné à être exécuté par les utilisateurs finaux, ils ne devraient pas   demander un compte administratif (root) à installer ou à utiliser. Ils   peut toutefois être installé par un administrateur (par exemple, dans plusieurs utilisateurs).   scénarios) si désiré.


204
2018-05-19 06:07



Peut-être que la base réelle Q / A devrait être au-dessus de l'explication? - UniversallyUniqueID
Comment une appimage persiste-t-elle les réglages entre les lancements? - Dan Dascalescu
Pourriez-vous élaborer un peu sur la fonctionnalité "lecture seule"? Puis-je enregistrer des modifications dans AppImage? Ou il les perd comme LiveCD? - vstepaniuk
@DanDascalescu: Votre question mérite d'être posée à une question complète sur AskUbuntu, pas seulement un commentaire. Voulez-vous le demander? - Kurt Pfeifle
@KurtPfeifle: puisque vous ne vouliez pas aller de l'avant et le demander vous-même ... :) - Dan Dascalescu


L'idée de base peut sembler similaire entre les deux systèmes, mais il existe des différences de conception entre les snaps et les appimages.

Certains "grands" qui me viennent à l'esprit sont:

  1. Sécurité, en terme de accouchement. Les packages de snap s'exécutent dans un sandbox et ils ne sont pas autorisés à s'en échapper et à atteindre d'autres parties du système qu'ils devraient ne pas toucher. Il s’agit d’une couche de sécurité plus puissante, parallèle au système d’autorisations. Évidemment, c'est un peu frustrant quand on en parle au début (et aussi plus tard), mais si vous y réfléchissez en termes d'administration du système, c'est ce que souhaite un administrateur pour ses utilisateurs.

  2. Sécurité. L'installation de logiciels à partir du Web est aussi sûre que de faire le tour des poteaux dans les rues. Parfois, rien ne se produit, parfois vous avez de très gros problèmes de santé. Les packages Snap ont leurs propres référentiels, contrôlés par Canonical, comme les dépôts Ubuntu standard habituels. Vous pouvez continuer et installer .deb fichiers de partout, mais ce sera votre choix, et non un problème de conception.

  3. Installation. Les images App sont censées être l'équivalent des "exécutables Windows portables". Toutes les bibliothèques sont autonomes et tout utilisateur peut simplement télécharger et exécuter l'un de ceux-ci. D'autre part, snap Les paquets sont des paquets appropriés, et ils doivent être installés (comme root, ou avec sudo) via le gestionnaire de paquets approprié (snap install tic-tac-toe jette une erreur: il faut sudo!)

  4. Suppression. Pour supprimer un package de composant logiciel enfichable, vous devez utiliser le gestionnaire de paquets snap remove ... avec les autorisations nécessaires pour le faire. Appimages, d'autre part, ils sont juste "là". Donc, tout utilisateur ne veut pas de cette image? Il / elle supprime simplement le fichier et il est parti.

Bien que je suggère fortement d’être prudent lorsqu’on utilise Appimages, j’en utilise personnellement certaines moi-même.

Je les trouve particulièrement utiles sur mon système de travail, où je n'ai pas root accès (seul l'administrateur a cela) mais j'ai besoin de la dernière version d'un logiciel particulier que, heureusement, le développeur a fourni sous forme Appimage.

J'ai un peu peur que des codes malins soient effectivement contenus dans ceux-ci, alors j'ai vérifié autant que possible l'identité de l'éditeur. Je ne suis pas sûr à 100% que ce logiciel est inoffensif, mais j'ai tout fait.


20
2018-05-19 07:59



Fondamentalement, tout le monde essaie d'implémenter le packaging d'applications OSX sur Linux, mais rien n'y fait. - OrangeDog
Je n'ai aucune idée de la façon dont cela fonctionne :) Bien sûr, le logiciel et Appimages ne fonctionnent pas bien avec les logiciels avec de nombreuses dépendances partagées entre de nombreux autres logiciels. Ils sont parfaitement compatibles avec des logiciels déjà autonomes ou avec peu de dépendances, mais le risque est d'avoir de nombreuses copies de la même bibliothèque qui effectuent la même tâche, comme dans Windows. Cela doit être résolu dans des packages de composant logiciel enfichable (un logiciel qui dépend de la bibliothèque d'instantanés installe cette bibliothèque avec cette version, puis un autre logiciel nécessitant la même version de bibliothèque peut l'utiliser, comme avec le système habituel). - dadexix86
Les applications OSX (et iOS) fonctionnent comme AppImage (il suffit de télécharger un seul fichier et de l'exécuter) mais avec la sécurité du snap sécurisée. - OrangeDog
OSX essaie de s'en débarrasser et n'autorise que les installations depuis son magasin. - LtWorf
AppImage devrait en effet contenir une option pour Sand Boxing. J'espère que nous verrons cela dans le futur. - Royi


Bien que snap se concentre uniquement sur Ubuntu, AppImage est une distribution croisée et fonctionne également sur Fedora, Debian, openSUSE, CentOS, etc.

AppImage n'a besoin d'aucun support d'exécution ou d'infrastructure de la distribution Linux et s'exécute donc presque partout. Il permet aux auteurs d’applications d’envoyer leurs logiciels directement aux utilisateurs de Linux, comme pour Windows et OS X; sans Canonical ou toute autre personne "entre" l'auteur du logiciel et l'utilisateur final.

Si une application est fournie au format AppImage, un utilisateur peut accéder au site Web de l'auteur d'origine pour le télécharger, par exemple, MuseScore à partir de https://musescore.org/fr/download. Rendre l'exécutable AppImage (soit en utilisant votre gestionnaire de fichiers ou chmod a+x ./yourAppImage), alors vous pouvez exécuter l'application simplement en double-cliquant.


15
2018-05-19 06:24



Donc, si je veux installer Leafpad, est-ce que je clique sur "Set me up"? Que se passera-t-il alors? Et comment puis-je désinstaller un AppImage? Je regarde bintray.com/probono/AppImages mais n'a pas trouvé la réponse Si cela ne vous dérange pas, vous pouvez modifier votre réponse pour inclure les informations ainsi que tout ce que vous pensez que les utilisateurs aimeraient savoir. - DK Bose
Pas sûr si ce serait une solution pour vous aussi - mais feuille est disponible dans les sources 16.04 de la boîte (version: 0.8.18.1). La version feuille de page offerte par bintray est "seulement" 0.8.17 - donc encore plus ancienne. - dufte
C'est vrai, mais pour quelqu'un qui veut juste tester les eaux, c'est, comme le dit le site, une chose du genre "Hello, World". - DK Bose
Excellent. Après cela, vous pouvez simplement double-cliquer. C'est ce dont j'avais besoin! - Dawoodjee


Avant de pouvoir exécuter AppImage, vous devez le rendre exécutable. Ceci est une fonctionnalité de sécurité Linux. Il existe deux manières principales de créer un exécutable AppImage:

1. Utiliser l'interface graphique

How to make an AppImage executable

ou

2. Sur la ligne de commande

chmod a+x Some.Appimage

Maintenant, double-cliquez sur votre fichier pour l'exécuter OU cliquez avec le bouton droit de la souris> Exécuter


11
2017-10-10 02:01





AppImages nécessite FUSE pour s'exécuter. Le système de fichiers dans l'espace utilisateur (FUSE) est un système qui permet aux utilisateurs non root de monter des systèmes de fichiers.

Installer FUSE

Beaucoup de distributions ont une configuration FUSE prête à l'emploi. Cependant, si cela ne fonctionne pas pour vous, vous devrez peut-être installer et configurer FUSE manuellement.

Par exemple, sur Ubuntu:

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

Par exemple, sur openSUSE:

sudo zypper install fuse

Se retirer

Si vous ne voulez pas installer FUSE, vous pouvez soit monter, soit extraire AppImage.

Pour monter AppImage et exécuter l'application, exécutez simplement

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

Si cela ne fonctionne pas, vous pourriez avoir une expérience type 2 AppImage. Ceux-ci vous obligent à passer -o offset=... au mount commander. Exécuter AppImage avec --appimage-offset pour trouver le bon numéro pour le décalage.


3
2017-10-13 15:06