Frage Was ist ein "AppImage"? Wie installiere ich es?


Ich lese gerade Treffen Sie Etcher, ein stilvolles Open-Source USB Image Writer Tool. Es geht um das Herunterladen eines AppImage.

Ja, Linux; Die Linux-Pakete werden als .appimage für 32-Bit- und 64-Bit-Distributionen verteilt und sollten ohne Probleme auf allen wichtigen Linux-Distributionen laufen. Das Team hat derzeit keine Pläne, ein natives .deb (oder .rpm) Installationsprogramm bereitzustellen.

Was sind AppImages? Wie unterscheiden sie sich von Schnappschüssen?


153
2018-05-19 04:11


Ursprung


Ich denke der appimage Tag könnte nützlich werden, also habe ich es gerade erstellt. Und wenn wir es nicht brauchen oder wollen, gibt es immer die Möglichkeit, es wieder zu brünieren. - Byte Commander


Antworten:


Grundinformation

In Bezug auf die Installation

Ich zitiere hier die appImage-Projektseite:

AppImages kann heruntergeladen und ohne Installation oder Notwendigkeit ausgeführt werden   für Grundrechte.

Mach es ausführbar

Sie können die AppImage wie folgt ausführen:

chmod a+x exampleName.AppImage

Es ausführend

Sie können ein appImage wie folgt ausführen:

./exampleName.AppImage

zusätzliche Information

Über appImage

Sie können einige allgemeine Informationen über appImage finden Hier.

Ich zitiere hier die appImage-Projektseite:

Die Schlüsselidee des AppImage-Formats ist eine App = eine Datei. Jeden   AppImage enthält eine App und alle Dateien, die die App ausführen muss. Im   Mit anderen Worten, jedes AppImage hat keine anderen Abhängigkeiten als was ist   in das / die Zielbasisbetriebssystem (en) eingeschlossen.

Wikipedia fügt hinzu

AppImage (und die Vorgänger klik und portallinuxapps) nicht   Installieren Sie Software im herkömmlichen Sinne (d. h. es werden keine Dateien abgelegt   überall im System).

Es verwendet eine Datei pro Anwendung.   Jeder ist in sich abgeschlossen: Er enthält alle Bibliotheken der Anwendung   hängt davon ab und das sind nicht Teil des Basissystems. In dieser Hinsicht   Es ist vergleichbar mit "Anwendungsvirtualisierung". Man kann ein AppImage verwenden   Datei, auch wenn sie kein Superuser sind oder eine Live-CD verwenden.   AppImage - Dateien sind oft einfacher als das Kompilieren und Installieren eines   Anwendung, da tatsächlich keine Installation stattgefunden hat. Die AppImage-Datei   ist ein komprimiertes Bild, das vorübergehend für den Zugriff auf   das Programm, aber nicht das Programm extrahieren oder ändern müssen   zugrunde liegendes System.

Das README.md des AppImageKit-Projekt bietet viele zusätzliche Informationen wie Anwendungsfälle, der Problemraum und Ziele.

Anwendungsfälle

  • Als Benutzer möchte ich zu einer Upstream-Download-Seite gehen, eine Anwendung vom ursprünglichen Autor herunterladen und sie auf meinem Linux-Desktop-System ausführen, so wie ich es mit einer Windows- oder Mac-Anwendung machen würde.

  • Als Tester möchte ich in der Lage sein, die neueste Version einer Anwendung von einem Continuous Build Server zu bekommen und sie auf meinem System zu testen, ohne kompilieren zu müssen und ohne befürchten zu müssen, dass ich mein System durcheinander bringen könnte.

  • Als Anwendungsautor oder ISV möchte ich Pakete für Linux-Desktop-Systeme bereitstellen, so wie ich es für Windows und OS X mache, ohne dass ich sie in eine Distribution "hinein" bringen muss und ohne auf mehrere Distributionen zurückgreifen zu müssen.

Ziele

  1. Sei einfach.

    AppImage soll ein sehr einfaches Format sein, das einfach zu bedienen ist   verstehen, erstellen und verwalten

  2. Pflegen Sie die Binärkompatibilität.

    AppImage ist ein Format für die binäre Softwareverteilung. Software   verpackt als AppImage soll so binärkompatibel wie sein   möglich mit so vielen Systemen wie möglich. Das Bedürfnis nach   (Neu-) Kompilierung von Software sollte stark reduziert werden.

  3. Sei Verteilungs-Agostiker.

    Ein AppImage sollte auf allen Basisbetriebssystemen (Distributionen) laufen   dass es für (und spätere Versionen) erstellt wurde. Zum Beispiel könnten Sie   Ziel Ubuntu 9.10, openSUSE 11.2 und Fedora 13 (und späteren Versionen)   zur gleichen Zeit, ohne separat zu erstellen und zu pflegen   Pakete für jedes Zielsystem.

  4. Entfernen Sie die Notwendigkeit für die Installation.

    AppImages enthalten die App in einem Format, in dem sie direkt ausgeführt werden kann   aus dem Archiv, ohne zuerst installiert werden zu müssen. Das ist   vergleichbar mit einer Live-CD. Vor Live-CDs mussten Betriebssysteme sein   installiert, bevor sie verwendet werden können.

  5. Apps immer komprimiert halten

    Da die Anwendung die ganze Zeit verpackt bleibt, ist es nie   unkomprimiert auf der Festplatte. Der Computer entkomprimiert die   Anwendung während des Zugriffs während des Zugriffs. Da ist Dekompression   schneller als das Lesen von Festplatte auf den meisten Systemen, hat dies eine Geschwindigkeit   Vorteil neben Platz sparen. Auch die benötigte Zeit für   Die Installation ist vollständig entfernt.

  6. Lassen Sie Apps überall platzieren.

    AppImages sind "relocatable", so dass der Benutzer speichern und speichern kann   führe sie von jedem beliebigen Ort (einschließlich CD-ROMs, DVDs, Wechselmedien) aus   Disketten, USB-Sticks).

  7. Machen Sie Anwendungen schreibgeschützt.

    Da AppImages schreibgeschützt sind, kann der Benutzer vernünftig sein   Sicher, dass sich eine App während des Betriebs nicht selbst ändert.

  8. Erfordert keine Neukompilierung.

    AppImages muss es möglich sein, aus bereits vorhandenen Binärdateien zu erstellen,   ohne die Notwendigkeit einer Neukompilierung. Dies beschleunigt die   AppImage-Erstellungsprozess, da kein Compiler beteiligt sein muss. Dies   ermöglicht auch Drittanbietern, Closed-Source-Anwendungen als zu verpacken   AppImages. (Trotzdem kann es stromaufwärts vorteilhaft sein   Anwendungsentwickler aus Quellen speziell für die   Zweck der Generierung eines AppImage.)

  9. Das Basisbetriebssystem nicht ändern.

    Da AppImages auf normalen Systemen ausgeführt werden sollen, die dies nicht tun   wurde von einem Administrator speziell vorbereitet, AppImages erfordert möglicherweise nicht   jede ungewöhnliche Vorbereitung des Basisbetriebssystems. Daher sie   kann sich nicht auf spezielle Kernel-Patches, Kernel-Module oder andere verlassen   Anwendungen, die nicht mit den gezielten Distributionen ausgeliefert werden   Standard.

  10. Benötigen keine root.

    Da AppImages von Endbenutzern ausgeführt werden sollen, sollten sie dies nicht tun   Erfordert ein Administratorkonto (root), das installiert oder verwendet werden soll. Sie   kann jedoch von einem Administrator installiert werden (z. B. in einem Mehrbenutzermodus)   Szenarien) falls gewünscht.


204
2018-05-19 06:07



Vielleicht sollte das tatsächliche Basis-Q / A über der Erklärung liegen? - UniversallyUniqueID
Wie behält ein App-Image Einstellungen zwischen Starts bei? - Dan Dascalescu
Könntest du ein bisschen über die "Nur-Lese" -Funktion sprechen? Kann ich Änderungen in AppImage speichern? Oder sie verliert sie wie LiveCD? - vstepaniuk
@DanDascalescu: Deine Frage verdient es, zu einer vollständigen Frage auf AskUbuntu erhoben zu werden, nicht nur ein Kommentar. Willst du es fragen? - Kurt Pfeifle
@KurtPfeifle: Da wolltest du nicht einfach weitermachen und es selbst fragen ... :) - Dan Dascalescu


Die Grundidee könnte zwischen den beiden Systemen ähnlich aussehen, aber es gibt einige Designunterschiede zwischen Snapshots und Appimages.

Einige "große", die mir in den Sinn kommen, sind:

  1. Sicherheit, bezüglich Gefangenschaft. Snap-Pakete werden in einer Sandbox ausgeführt, und sie dürfen nicht davon entkommen und andere Teile des Systems erreichen, die sie sollten nicht berühren. Dies ist eine stärkere Sicherheitsschicht, die parallel zum Berechtigungssystem ausgeführt wird. Offensichtlich ist es ein wenig frustrierend, wenn man es am Anfang (und auch später) behandelt, aber wenn man darüber nachdenkt, was die Systemadministration betrifft, ist dies die Sache, die ein Administrator für seine Benutzer wünscht.

  2. Sicherheit. Die Installation von Software, die aus dem Internet stammt, ist so sicher wie das herumstöbern von Stöcken in den Straßen. Manchmal passiert nichts, manchmal bekommen Sie sehr große gesundheitliche Probleme. Snap-Pakete haben ihre eigenen Repositories, die von Canonical gesteuert werden, wie die üblichen Standard-Ubuntu-Repositories. Sie können weitermachen und installieren .deb Dateien von herum, aber das wird deine Wahl sein, und kein Design-Problem.

  3. Installation. AppImages soll das Äquivalent zu den "portable Windows Executables" sein. Alle Bibliotheken sind in sich abgeschlossen und jeder Benutzer kann einfach einen davon herunterladen und ausführen. Andererseits, snap Pakete sind richtige Pakete, und sie müssen installiert werden (als root, oder mit sudo) über den entsprechenden Paketmanager (snap install tic-tac-toe wirft einen Fehler: es braucht sudo!)

  4. Entfernung. Um ein Snap-Paket zu entfernen, müssen Sie den Paket-Manager verwenden snap remove ... mit den richtigen Berechtigungen dazu. Appimages dagegen sind einfach "da". Also will jeder Benutzer dieses Appimage nicht? Er / sie entfernt nur die Datei und es ist weg.

Obwohl ich stark vorschlage, bei der Verwendung von Appimages vorsichtig zu sein, verwende ich einige von ihnen selbst.

Ich finde sie besonders nützlich in meinem Arbeitssystem, wo ich nicht habe root Zugriff (nur der Admin hat das) aber ich brauche die neueste Version einer bestimmten Software, die glücklicherweise der Entwickler in Appimage zur Verfügung gestellt hat.

Ich habe ein bisschen Angst, dass ein bösartiger Code tatsächlich in ihnen enthalten ist, also habe ich die Identität des Herausgebers so gut wie möglich überprüft. Ich bin nicht 100% sicher, dass diese Software gutartig ist, aber ich habe alles getan, was ich konnte.


20
2018-05-19 07:59



Im Grunde versuchen alle, OSX-App-Packaging unter Linux zu implementieren, aber es ist noch nicht alles klar. - OrangeDog
Ich habe keine Ahnung, wie das funktioniert :) Sicherlich funktionieren Snap und Appimages nicht gut mit Software mit vielen Abhängigkeiten zwischen vielen anderen Softwares. Sie sind völlig in Ordnung mit bereits eigenständiger Software oder mit wenigen Abhängigkeiten, aber das Risiko besteht darin, viele Kopien der gleichen Bibliothek zu haben, die dieselbe Aufgabe erledigen, wie in Windows. Dies sollte in Snap-Paketen gelöst werden (eine Software, die von der Snap-Bibliothek abhängig ist, installiert diese Bibliothek mit dieser Version, dann kann eine andere Software, die die gleiche Bibliotheksversion benötigt, diese verwenden, wie beim üblichen System). - dadexix86
OSX (und iOS) -Apps funktionieren wie AppImage (nur einzelne Dateien herunterladen und ausführen), aber mit der Sandbox-Sicherheit von Snap. - OrangeDog
OSX versucht, diese loszuwerden und nur Installationen von ihrem Laden zu erlauben. - LtWorf
AppImage sollte in der Tat Option für Sandboxing enthalten. Hoffentlich werden wir das in Zukunft sehen. - Royi


Während Snap sich nur auf Ubuntu konzentriert, ist AppImage Cross-Distribution und läuft auch auf Fedora, Debian, OpenSUSE, CentOS usw.

AppImage benötigt keine Runtime- oder Infrastruktur-Unterstützung von der Linux-Distribution und läuft daher überall hin. Es ermöglicht Anwendungsautoren, ihre Software direkt an Linux-Benutzer zu versenden, wie dies für Windows und OS X der Fall ist; ohne Canonical oder irgendjemand anderen "dazwischen" der Softwareautor und der Endbenutzer.

Wenn eine Anwendung im AppImage-Format bereitgestellt wird, kann ein Benutzer die Website des ursprünglichen Autors aufrufen, um sie beispielsweise von MuseScore herunterzuladen https://musescore.org/de/download. Machen Sie die AppImage ausführbar (entweder mit Ihrem Dateimanager oder chmod a+x ./yourAppImage), dann können Sie die Anwendung einfach durch einen Doppelklick ausführen.


15
2018-05-19 06:24



Also, wenn ich Leafpad installieren möchte, klicke ich auf "Set me up"? Was wird dann passieren? Und wie kann ich ein AppImage deinstallieren? Ich schaue auf bintray.com/probono/AppImages fand aber keine Antwort. Wenn es Ihnen nichts ausmacht, können Sie Ihre Antwort so bearbeiten, dass sie die Informationen sowie alle weiteren Informationen enthält, von denen Sie glauben, dass sie die Nutzer gerne kennen würden. - DK Bose
Ich bin mir nicht sicher, ob das auch eine Lösung für Sie ist - aber Blattpad ist in den 16.04-Quellen ab sofort verfügbar (Version: 0.8.18.1). Die von bintray angebotene Blattpad-Version ist "nur" 0.8.17 - also noch älter. - dufte
Richtig, aber für jemanden, der nur das Wasser testen möchte, ist es, wie die Seite sagt, ein "Hello, World" -Ding. - DK Bose
Ausgezeichnet. Danach können Sie einfach doppelklicken. Das ist was ich brauchte! - Dawoodjee


Bevor Sie ein AppImage ausführen können, müssen Sie es ausführbar machen. Dies ist eine Linux-Sicherheitsfunktion. Es gibt zwei Hauptmöglichkeiten, um eine AppImage ausführbar zu machen:

1. Verwenden der GUI

How to make an AppImage executable

oder

2. In der Befehlszeile

chmod a+x Some.Appimage

Doppelklicken Sie nun auf Ihre Datei, um sie auszuführen ODER Klicken Sie mit der rechten Maustaste auf> Ausführen


11
2017-10-10 02:01





AppImages erfordert die Ausführung von FUSE. Dateisystem in Userspace (FUSE) ist ein System, mit dem Nicht-Root-Benutzer Dateisysteme mounten können.

Installieren Sie FUSE

Viele Distributionen haben ein funktionierendes FUSE-Setup out-of-the-box. Wenn es jedoch nicht für Sie funktioniert, müssen Sie FUSE möglicherweise manuell installieren und konfigurieren.

Zum Beispiel auf Ubuntu:

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

Zum Beispiel auf openSUSE:

sudo zypper install fuse

Zurückfallen

Wenn Sie FUSE nicht installieren möchten, können Sie das AppImage entweder bereitstellen oder extrahieren.

Um das AppImage bereitzustellen und die Anwendung auszuführen, führen Sie einfach die Anwendung aus

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

Wenn das nicht funktioniert, haben Sie möglicherweise eine experimentelle Typ 2 AppImage. Diese erfordern, dass Sie bestehen -o offset=... zum mount Befehl. Führen Sie das AppImage mit aus --appimage-offset um die richtige Nummer für den Offset herauszufinden.


3
2017-10-13 15:06