Vraag Wat is een "AppImage"? Hoe installeer ik het?


ik lees gewoon Maak kennis met Etcher, A Stylish Open Source USB Image Writer Tool. Er wordt gesproken over het downloaden van een AppImage.

Ja, Linux; de Linux-pakketten worden gedistribueerd als een .appimage voor 32-bits en 64-bits distributies en moeten zonder problemen over alle grote Linux-distributies worden uitgevoerd. Het team heeft momenteel geen plan om een ​​native .deb (of .rpm) installatieprogramma te leveren.

Wat zijn AppImages? Hoe verschillen ze van snaps?


153
2018-05-19 04:11


oorsprong


ik denk de appimage tag kan nuttig worden, dus ik heb het zojuist gemaakt. In het geval we het niet nodig hebben of willen houden, is er altijd nog de mogelijkheid om het opnieuw te laten branden. - Byte Commander


antwoorden:


Basis informatie

Over de installatie

Ik citeer hier de appImage-projectpagina:

AppImages kunnen worden gedownload en uitgevoerd zonder installatie of de noodzaak   voor rootrechten.

Het uitvoerbaar maken

U kunt het uitvoerbare bestand AppImage als volgt maken:

chmod a+x exampleName.AppImage

Het uitvoeren

U kunt als volgt een appImage uitvoeren:

./exampleName.AppImage

Extra informatie

Over appImage

U vindt enkele algemene informatie over appImage hier.

Ik citeer hier de appImage-projectpagina:

Het belangrijkste idee van het AppImage-formaat is één app = één bestand. elk   AppImage bevat een app en alle bestanden die de app moet uitvoeren. In   met andere woorden, elke AppImage heeft geen afhankelijkheden anders dan wat is   opgenomen in de beoogde basisbesturingssysteem (en).

Wikipedia voegt

AppImage (en de voorlopers klik en portablelinuxapps) doen dat niet   installeer software in de traditionele betekenis (d.w.z. het plaatst geen bestanden   overal in het systeem).

Het gebruikt één bestand per applicatie.   Elk is op zichzelf staand: het bevat alle bibliotheken de applicatie   is afhankelijk van en maakt geen deel uit van het basissysteem. In dit verband,   het lijkt op "applicatievirtualisatie". Men kan een AppImage gebruiken   bestand zelfs als ze geen superuser zijn of als ze een live CD gebruiken.   AppImage-bestanden zijn vaak eenvoudiger dan het compileren en installeren van een   toepassing, omdat er feitelijk geen installatie plaatsvond. Het AppImage-bestand   is een gecomprimeerde afbeelding die tijdelijk is gekoppeld om toegang toe te staan   het programma, maar niet om het programma uit te pakken of de   onderliggende systeem.

De README.md van de AppImageKit-project biedt veel aanvullende informatie, zoals Use cases, de probleemruimte en doelen.

Use Cases

  • Als gebruiker wil ik naar een upstream-downloadpagina gaan, een toepassing van de oorspronkelijke auteur downloaden en deze op mijn Linux-desktopsysteem uitvoeren, net zoals ik zou doen met een Windows- of Mac-toepassing.

  • Als tester wil ik in staat zijn om de nieuwste, modernste versie van een applicatie van een continu build-server te krijgen en deze op mijn systeem te testen, zonder te hoeven compileren en zonder me zorgen te hoeven maken dat ik mijn systeem kan verknoeien.

  • Als applicatie-auteur of ISV wil ik pakketten aanbieden voor Linux-desktopsystemen, net zoals ik dat voor Windows en OS X doe, zonder dat ik het in een distributie hoef te 'krijgen' en zonder te hoeven bouwen voor een aantal verschillende distributies.

Doelen

  1. Wees eenvoudig.

    AppImage is bedoeld als een heel eenvoudig formaat dat gemakkelijk is   begrijpen, maken en beheren.

  2. Binaire compatibiliteit behouden.

    AppImage is een indeling voor binaire softwaredistributie. Software   verpakt als AppImage is bedoeld om even binair compatibel te zijn als   mogelijk met zoveel mogelijk systemen. De behoefte voor   (re-) compilatie van software moet sterk worden verminderd.

  3. Wees distributie-agostic.

    Een AppImage moet op alle basisbesturingssystemen (distributies) worden uitgevoerd   dat het is gemaakt voor (en latere versies). Dat zou bijvoorbeeld kunnen   target Ubuntu 9.10, openSUSE 11.2 en Fedora 13 (en latere versies)   op hetzelfde moment, zonder te hoeven creëren en onderhouden   pakketten voor elk doelsysteem.

  4. Verwijder de noodzaak voor installatie.

    AppImages bevatten de app in een indeling waarmee deze rechtstreeks kan worden uitgevoerd   uit het archief, zonder eerst te moeten worden geïnstalleerd. Dit is   vergelijkbaar met een live-cd. Vóór live-cd's moest het besturingsysteem zijn   eerst geïnstalleerd voordat ze konden worden gebruikt.

  5. Houd apps de hele tijd gecomprimeerd.

    Omdat de applicatie de hele tijd verpakt blijft, is het dat nooit   ongecomprimeerd op de harde schijf. De computer decomprimeert de   applicatie on-the-fly tijdens het openen ervan. Omdat decompressie is   sneller dan het lezen van de harde schijf op de meeste systemen, heeft dit een snelheid   voordeel naast het besparen van ruimte. Ook de benodigde tijd voor   installatie is volledig verwijderd.

  6. Sta toe om overal apps te plaatsen.

    AppImages zijn "verplaatsbaar", waardoor de gebruiker de mogelijkheid heeft om op te slaan en   voer ze vanaf elke locatie uit (inclusief cd-roms, dvd's, verwijderbaar   schijven, USB-sticks).

  7. Maak applicaties alleen-lezen.

    Aangezien AppImages alleen-lezen zijn op basis van ontwerp, kan de gebruiker redelijkerwijs redelijk zijn   zeker dat een app zichzelf niet wijzigt tijdens de werking.

  8. Geen hercompilatie nodig.

    AppImages moeten mogelijk zijn om te maken van reeds bestaande binaire bestanden,   zonder de noodzaak van hercompilatie. Dit versnelt de   AppImage-aanmaakproces, omdat er geen compiler bij betrokken hoeft te zijn. Deze   biedt ook derden de mogelijkheid om closed-source applicaties te verpakken als   AppImages. (Niettemin kan het gunstig zijn voor stroomopwaarts   applicatie-ontwikkelaars om te bouwen van bron specifiek voor de   doel van het genereren van een AppImage.)

  9. Houd het basisbesturingssysteem onaangetast.

    Omdat AppImages bedoeld is om op gewone systemen te draaien die dat niet hebben gedaan   speciaal door een beheerder zijn voorbereid, AppImages mogelijk niet vereist   elke ongebruikelijke voorbereiding van het basisbesturingssysteem. Vandaar dat zij   kan niet vertrouwen op speciale kernel-patches, kernelmodules of andere   toepassingen die niet met de beoogde distributies worden geleverd door   standaard.

  10. Geen root nodig.

    Omdat AppImages bedoeld zijn voor eindgebruikers, mogen ze dat niet doen   vereist een beheerdersaccount (root) om te installeren of te gebruiken. Ze   kan echter worden geïnstalleerd door een beheerder (bijvoorbeeld in een multi-gebruiker   scenario's) indien gewenst.


204
2018-05-19 06:07



Misschien moet de feitelijke basis-Q / A boven de verklaring liggen? - UniversallyUniqueID
Hoe houdt een app-afbeelding de instellingen aan tussen de lanceringen? - Dan Dascalescu
Kun je een beetje uitleggen over de "alleen-lezen" -functie? Kan ik wijzigingen opslaan in de AppImage? Of het verliest ze in de buurt zoals LiveCD? - vstepaniuk
@DanDascalescu: uw vraag verdient het om op AskUbuntu een volledige vraag te plaatsen, niet alleen een opmerking. Wil je het vragen? - Kurt Pfeifle
@KurtPfeifle: omdat je niet gewoon wilt doorgaan en het zelf wilt vragen ... :) - Dan Dascalescu


Het basisidee kan er tussen de twee systemen hetzelfde uitzien, maar er zijn enkele ontwerpverschillen tussen snaps en Appimages.

Enkele "grote" die in mijn gedachten opkomen zijn:

  1. Veiligheid, aangaande met opsluiting. Snap-pakketten worden uitgevoerd in een sandbox en ze mogen niet eraan ontsnappen en andere delen van het systeem bereiken die ze zouden moeten niet aanraken. Dit is een sterkere beveiligingslaag die parallel loopt aan het machtigingssysteem. Uiteraard is het een beetje frustrerend als je er aan het begin (en later ook) mee omgaat, maar als je erover nadenkt op het gebied van systeembeheer, is dit wat een beheerder wil voor zijn gebruikers.

  2. Veiligheid. Het installeren van software die van het internet is genomen, is net zo veilig als het rondlopen van palen op straat. Soms gebeurt er niets, soms krijg je een aantal zeer grote gezondheidsproblemen. Snap-pakketten hebben de juiste opslagplaatsen, die worden beheerd door Canonical, zoals de gebruikelijke standaard Ubuntu-opslagplaatsen. U kunt doorgaan en installeren .deb bestanden van overal, maar dat is jouw keuze en geen ontwerpprobleem.

  3. Installatie. AppImages zijn bedoeld als het equivalent van de "portable Windows executables". Alle bibliotheken zijn op zichzelf staand en elke gebruiker kan een van die bibliotheken gewoon downloaden en uitvoeren. Aan de andere kant, snap pakketten zijn de juiste pakketten en ze moeten worden geïnstalleerd (als root, of met sudo) via de juiste pakketmanager (snap install tic-tac-toe gooit een fout: het heeft nodig sudo!)

  4. Verwijdering. Om een ​​snap-pakket te verwijderen, moet u de pakketbeheerder gebruiken snap remove ... met de juiste rechten om dit te doen. Appimages, aan de andere kant zijn ze gewoon "daar". Dus elke gebruiker wil dat Appimage niet? Hij / zij verwijdert gewoon het bestand en het is verdwenen.

Hoewel ik sterk aanraad om voorzichtig te zijn bij het gebruik van Appimages, gebruik ik er zelf een aantal zelf.

Ik vind ze vooral nuttig op mijn werksysteem, waar ik niet heb root toegang (alleen de beheerder heeft dat) maar ik heb de nieuwste versie van een bepaalde software nodig die de ontwikkelaar gelukkig in app-vorm heeft verstrekt.

Ik ben een beetje bang dat er een kwaadaardige code in zit, dus ik heb zo veel mogelijk de identiteit van de uitgever nagegaan. Ik ben er niet 100% zeker van dat deze software goedaardig is, maar ik heb er alles aan gedaan wat ik kon.


20
2018-05-19 07:59



Kortom, iedereen probeert OSX-appverpakkingen op linux te implementeren, maar daar komt niets terecht. - OrangeDog
Ik heb geen idee hoe dit werkt :) Zeker snap en Appimages werken niet goed met software met veel afhankelijkheden die gedeeld worden tussen vele andere software. Ze zijn perfect in orde met al op zichzelf staande software of met weinig afhankelijkheden, maar het risico is dat er veel kopieën van dezelfde bibliotheek zijn die dezelfde taak uitvoeren, zoals in Windows. Dit moet worden opgelost in snap-pakketten (een software die afhankelijk is van snap-library-installaties die die versie van die bibliotheek bevatten, en vervolgens kan een andere software die dezelfde bibliotheekversie nodig heeft deze gebruiken, zoals bij het gebruikelijke systeem). - dadexix86
OSX- (en iOS-) apps werken als AppImage (download gewoon een enkel bestand en voer het uit) maar met de sandbox-beveiliging van snap. - OrangeDog
OSX probeert hiervan af te komen en alleen installaties uit hun winkel toe te staan. - LtWorf
AppImage zou inderdaad de optie voor Sand Boxing moeten bevatten. Hopelijk zullen we dat in de toekomst zien. - Royi


Hoewel Snap alleen op Ubuntu is gericht, is AppImage crossdistributie en werkt het ook op Fedora, debian, openSUSE, CentOS etc.

AppImage heeft geen runtime- of infrastructuurondersteuning nodig van de Linux-distributie en werkt daarom vrijwel overal. Hiermee kunnen applicatie-auteurs hun software rechtstreeks naar Linux-gebruikers verzenden, zoals het do voor Windows en OS X; zonder Canonical of iemand anders "tussenin" de auteur van de software en de eindgebruiker.

Als een toepassing wordt aangeboden in AppImage-indeling, kan een gebruiker naar de website van de oorspronkelijke auteur gaan om deze te downloaden, bijvoorbeeld MuseScore van https://musescore.org/en/download. Maak het uitvoerbare bestand AppImage (met behulp van uw bestandsbeheer of chmod a+x ./yourAppImage), dan kunt u de toepassing uitvoeren door te dubbelklikken.


15
2018-05-19 06:24



Dus als ik Leafpad wil installeren, klik ik op "Stel mij in"? Wat zal er dan gebeuren? En hoe kan ik een AppImage verwijderen? ik kijk naar bintray.com/probono/AppImages maar vond het antwoord niet. Als u het niet erg vindt, kunt u uw antwoord bewerken om de informatie op te nemen, evenals al het andere waarvan u denkt dat gebruikers het misschien graag willen weten. - DK Bose
Niet zeker of dat ook voor u een oplossing zou zijn - maar leafpad is standaard beschikbaar in de 16.04 bronnen (versie: 0.8.18.1). De leafpad-versie van bintray is 'slechts' 0,8.17 - dus nog ouder. - dufte
Klopt, maar voor iemand die gewoon het water wil testen, is het, zoals de site zegt, een "Hallo, Wereld" soort dingen. - DK Bose
Uitstekend. Hierna kunt u eenvoudig dubbelklikken. Dat is wat ik nodig had! - Dawoodjee


Voordat u een AppImage kunt uitvoeren, moet u deze uitvoerbaar maken. Dit is een Linux-beveiligingsfunctie. Er zijn twee manieren om een ​​uitvoerbaar bestand AppImage te maken:

1. Gebruik van de GUI

How to make an AppImage executable

of

2. Op de opdrachtregel

chmod a+x Some.Appimage

Dubbelklik nu op uw bestand om het uit te voeren OF klik met de rechtermuisknop> Uitvoeren


11
2017-10-10 02:01





AppImages vereisen FUSE om uit te voeren. Filesystem in Userspace (FUSE) is een systeem waarmee niet-rootgebruikers bestandssystemen aankoppelen.

Installeer FUSE

Veel distributies hebben een werkende FUSE-configuratie out-of-the-box. Als het echter niet voor u werkt, moet u mogelijk FUSE handmatig installeren en configureren.

Bijvoorbeeld op Ubuntu:

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

Bijvoorbeeld, op openSUSE:

sudo zypper install fuse

Terugvallen

Als u FUSE niet wilt installeren, kunt u de AppImage koppelen of uitpakken.

Om de AppImage te koppelen en de applicatie uit te voeren, voer je gewoon uit

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

Als dat niet werkt, heb je misschien een experiment type 2 AppImage. Deze vereisen dat je slaagt -o offset=... naar de mount opdracht. Voer de AppImage uit met --appimage-offset om het juiste nummer voor de offset te achterhalen.


3
2017-10-13 15:06