“AppImage” nedir? Nasıl kurarım?


231

Az önce Şık Açık Kaynaklı bir USB İmaj Yazıcı Aracı Meet Etcher'ı okudum . Bir AppImage indirme hakkında konuşuyor.

Evet, Linux; Linux paketleri, 32 bit ve 64 bit dağıtımlar için bir .appimage olarak dağıtılır ve tüm büyük Linux dağıtımlarında sorunsuzca çalışmalıdır. Takımın şu anda yerel bir .deb (veya .rpm) yükleyicisi sağlama planı yoktur.

AppImages nedir? Enstantanelerden nasıl farklıdır?


10
appimageEtiketin faydalı olabileceğini düşünüyorum , o yüzden yeni yarattım. İhtiyacımız olmayacak veya saklamak istemediğimiz bir durumda, yine de onu tekrar yakma seçeneği her zaman olacaktır.
Byte Commander

Yanıtlar:


283

Temel bilgi

Kurulum ile ilgili

Burada appImage proje sayfasından alıntı yapıyorum:

AppImages, kurulum yapılmadan veya kök haklarına ihtiyaç duyulmadan indirilebilir ve çalıştırılabilir.

Çalıştırılabilir hale getirmek

AppImage uygulamasını aşağıdaki gibi çalıştırılabilir hale getirebilirsiniz:

chmod a+x exampleName.AppImage

Yürütmek

Bir appImage'ı aşağıdaki gibi çalıştırabilirsiniz:

./exampleName.AppImage

ek bilgi

AppImage hakkında

AppImage hakkında bazı genel bilgileri burada bulabilirsiniz .

Burada appImage proje sayfasından alıntı yapıyorum:

AppImage formatının ana fikri bir app = bir dosyadır. Her AppImage, bir uygulama ve uygulamanın çalışması için gereken tüm dosyaları içerir. Başka bir deyişle, her AppImage'ın hedeflenen temel işletim sistemlerinde bulunanlardan başka hiçbir bağımlılığı yoktur.

Wikipedia ekler

AppImage (ve öncekiler klik ve portablelinuxapps) yazılımı geleneksel anlamda kurmazlar (yani sistemdeki her yere dosya koymazlar).

Uygulama başına bir dosya kullanır. Her biri kendi kendine yetendir: uygulamanın dayandığı ve temel sistemin parçası olmayan tüm kütüphaneleri içerir. Bu bakımdan, "uygulama sanallaştırması" na benzer. Kişi bir üst kullanıcı olmasa bile veya bir canlı CD kullanıyor olsa bile bir AppImage dosyasını kullanabilir. AppImage dosyaları, genellikle bir kurulum gerçekleştirilmediğinden, bir uygulamayı derlemek ve kurmaktan daha basittir. AppImage dosyası, programa erişime izin vermek için geçici olarak monte edilmiş, ancak programı çıkarmak veya temel sistemi değiştirmek zorunda kalmayan sıkıştırılmış bir görüntüdür.

README.mdAit AppImageKit projesi gibi bir çok ek bilgiler sunmaktadır Kullanım durumlarda , sorun alanı ve hedefleri .

Durumlarda kullanın

  • Bir kullanıcı olarak, bir yukarı akış indirme sayfasına gitmek, orijinal yazardan bir uygulama indirmek ve tıpkı bir Windows veya Mac uygulamasıyla yaptığım gibi, Linux masaüstü sistemimde çalıştırmak istiyorum.

  • Bir test cihazı olarak, bir uygulamanın en son son sürümünü sürekli bir derleme sunucusundan alabilmek ve sistemimde test etmek, derlemek zorunda kalmadan ve sistemimi bozabileceğimden endişe duymadan yaşamak istiyorum.

  • Bir uygulama yazarı veya ISV olarak, Linux masaüstü sistemleri için, Windows ve OS X için yaptığım gibi, bir dağıtıma girmeden ve farklı dağıtımlar için inşa etmek zorunda kalmadan paketleri sağlamak istiyorum.

Hedefler

  1. Basit ol.

    AppImage, anlaşılması, oluşturulması ve yönetilmesi kolay olan çok basit bir format olarak tasarlanmıştır.

  2. İkili uyumluluğu koruyun.

    AppImage, ikili yazılım dağıtımı için bir formattır. AppImage olarak paketlenmiş yazılımın, olabildiğince çok sistemle mümkün olduğu kadar ikili uyumlu olması amaçlanmıştır. Yazılımın (yeniden) derlenmesi ihtiyacı büyük ölçüde azaltılmalıdır.

  3. Dağıtım-agnostik olun.

    Bir AppImage, yaratıldığı tüm temel işletim sistemlerinde (dağıtımlarında) (ve sonraki sürümlerde) çalışmalıdır. Örneğin, her hedef sistem için ayrı paketler oluşturmak ve bakımını yapmak zorunda kalmadan Ubuntu 9.10, openSUSE 11.2 ve Fedora 13'ü (ve sonraki sürümleri) aynı anda hedefleyebilirsiniz.

  4. Kurulum ihtiyacını ortadan kaldırın.

    AppImages, uygulamayı ilk önce kurması gerekmeden doğrudan arşivden çalıştırılmasına izin veren bir biçimde içerir. Bu, bir Canlı CD ile karşılaştırılabilir. Live CD'lerden önce, kullanmadan önce işletim sistemlerinin kurulması gerekiyordu.

  5. Uygulamaları her zaman sıkıştırılmış halde tutun.

    Uygulama her zaman paketlenmiş kaldığından, sabit diskte sıkıştırılmamış asla. Bilgisayar, uygulamaya erişirken anında uygulamayı açar. Sıkıştırma, çoğu sistemde sabit diskten okumaktan daha hızlı olduğundan, bu, yerden tasarruf sağlamanın yanı sıra hız avantajına da sahiptir. Ayrıca, kurulum için gereken süre tamamen kaldırılmıştır.

  6. Uygulamaların herhangi bir yere yerleştirilmesine izin ver.

    AppImages "yeniden yerleştirilebilir" dir, bu nedenle kullanıcının bunları herhangi bir yerden (CD-ROM'lar, DVD'ler, çıkarılabilir diskler, USB çubukları dahil) saklamasını ve yürütmesini sağlar.

  7. Uygulamaları salt okunur yapın.

    AppImages tasarım tarafından salt okunur olduğundan, kullanıcı bir uygulamanın çalışma sırasında kendini değiştirmemesine oldukça emin olabilir.

  8. Yeniden derlemeye gerek yok.

    AppImages, zaten mevcut olan ikili dosyalardan yeniden derlemeye gerek kalmadan oluşturmak mümkün olmalıdır. Bu, hiçbir derleyicinin dahil olması gerekmediğinden, AppImage oluşturma sürecini büyük ölçüde hızlandırır. Bu aynı zamanda üçüncü tarafların kapalı kaynaklı uygulamaları AppImages olarak paketlemesini sağlar. (Yine de, yukarı akış uygulama geliştiricilerin özellikle bir AppImage oluşturmak amacıyla kaynaktan kaynaktan inşa etmeleri yararlı olabilir.)

  9. Temel işletim sistemini dokunmadan tutun.

    AppImages'ın bir yönetici tarafından özel olarak hazırlanmamış düz sistemler üzerinde çalışması amaçlandığından, AppImages, ana işletim sisteminin olağandışı bir şekilde hazırlanmasını gerektirmeyebilir. Bu nedenle, özel çekirdek yamalar, çekirdek modülleri veya varsayılan olarak hedeflenen dağıtımlarla gelmeyen uygulamalara güvenemezler.

  10. Kök gerektirmez.

    AppImages'ın son kullanıcılar tarafından çalıştırılması amaçlandığından, kurulacak ya da kullanılacak bir idari hesaba (kök) yeniden sahip olmamalıdır. Bununla birlikte, istenirse bir yönetici tarafından (örneğin, çok kullanıcılı senaryolarda) kurulabilirler.


4
Bir uygulama başlatmalar arasındaki ayarları nasıl sürdürür?
Dan Dascalescu,

1
"Salt okunur" özelliğini biraz açar mısınız? AppImage içindeki değişiklikleri kaydedebilir miyim? Ya da LiveCD gibi yakın onları kaybeder?
vstepaniuk

2
@DanDascalescu: Sorunuz, sadece bir yorum değil, AskUbuntu'da tam bir soruya yöneltilmeyi hak ediyor. Soracak mısın
Kurt Pfeifle

@vstepaniuk: Sorunuz Dan'inkine benzer.
Biriniz

1
@KurtPfeifle: Sadece devam etmek ve kendinize sormak istemediğiniz için ... :)
Dan Dascalescu

22

Temel fikir iki sistem arasında benzer görünebilir, ancak anlık görüntüler ve Appimages arasında bazı tasarım farklılıkları vardır.

Aklıma gelen bazı "büyük" olanlar:

  1. Güvenlik , hapsetme açısından . Snap sanal alanında çalışan paketleri ve onlar ondan kaçmak ve onlar gerektiğini sistemin diğer bölümlerine ulaşmak izin verilmez değil dokunun. Bu, izin sistemine paralel çalışan daha güçlü bir güvenlik katmanıdır. Açıkçası, başlangıçta (ve sonrasında da) onunla uğraşırken biraz sinir bozucudur, ancak sistem yönetimi açısından düşünürseniz, yöneticinin kullanıcıları için istediği şey budur.

  2. Güvenlik. Ağın çevresinden alınan yazılımları kurmak, sokaklarda direkleri yalamak gibi güvenli. Bazen hiçbir şey olmuyor, bazen çok büyük sağlık sorunları oluyor. Snap paketleri, normal standart Ubuntu depoları gibi, Canonical tarafından kontrol edilen uygun depolarına sahiptir. Devam edebilir ve .debetrafından dosya yükleyebilirsiniz , ancak bu bir tasarım sorunu değil, sizin seçiminiz olacaktır.

  3. Kurulum. AppImages "taşınabilir Windows çalıştırılabilirlerine" eşdeğerdir. Tüm kütüphaneler kendi kendine yeterlidir ve herhangi bir kullanıcı bunlardan birini indirip çalıştırabilir. Öte yandan, snappaketler uygun paketlerdir ve birleşik paket yöneticisi aracılığıyla (olduğu rootgibi veya birlikte sudo) yüklenmesi gerekir ( snap install tic-tac-toebir hata atar: ihtiyacı vardır sudo!)

  4. Kaldırma. Anlık bir paketi kaldırmak için paket yöneticisini snap remove ...doğru izinlerle kullanmanız gerekir . Diğer yandan Appimages, sadece "orada". Yani herhangi bir kullanıcı bu Appimage istemiyor? Dosyayı kaldırır ve gider.

Appimages kullanırken dikkatli olmanızı şiddetle tavsiye etmeme rağmen, bazılarını bizzat kendim kullanıyorum.

Onları, özellikle rooterişemediğim (sadece yöneticinin sahip olduğu) çalışma sistemimde özellikle faydalı buluyorum ama geliştiricinin Appimage formunda sağladığı özel bir yazılımın en son sürümüne ihtiyacım var.

Bazı malign kodların gerçekten içinde bulunduğundan biraz korkuyorum, bu yüzden yayıncının kimliğini mümkün olduğunca kontrol ettim. Bu yazılımın iyi niyetli olduğundan% 100 emin değilim, ancak elimden geleni yaptım.


2
Temel olarak, herkes Linux üzerinde OSX uygulama paketlerini uygulamaya çalışıyor, ancak hiçbir şey oraya ulaşamıyor.
OrangeDog

2
Bunun nasıl çalıştığı hakkında hiçbir fikrim yok :) Tabii ki ek ve Appimages, diğer yazılımlar arasında paylaşılan birçok bağımlılığa sahip yazılımlarla iyi çalışmaz. Zaten kendilerine yeten yazılımlarla ya da birkaç bağımlılığıyla gayet iyi, ancak risk, Windows'ta olduğu gibi aynı işi yapan aynı kütüphanenin birçok kopyasına sahip olmak. Bu, ek paketlerde çözülmelidir (ek kitaplığa bağlı bir yazılım bu kitaplığı bu sürümde yükler, ardından aynı kütüphane sürümüne ihtiyaç duyan başka bir yazılım, normal sistemde olduğu gibi kullanabilir).
dadexix86

OSX (ve iOS) uygulamaları, AppImage gibi çalışır (yalnızca tek dosyayı indirin ve çalıştırın) ancak korumalı alan güvenliği ile birlikte.
OrangeDog

OSX bunlardan kurtulmaya çalışıyor ve yalnızca mağazalarından kurulum yapmaya izin veriyor.
LtWorf

AppImage gerçekten Kum Boks için seçenek içermelidir. Umarım gelecekte göreceğiz.
Royi

20

Bir AppImage'ı çalıştırmadan önce çalıştırılabilir hale getirmeniz gerekir. Bu bir Linux güvenlik özelliğidir. Bir AppImage uygulamasını çalıştırılabilir duruma getirmenin iki ana yolu vardır:

1. GUI'yi kullanma

Bir AppImage çalıştırılabilir nasıl yapılır

veya

2. Komut satırında

chmod a+x Some.Appimage

Şimdi çalıştırmak için dosyanızı çift tıklayın VEYA Sağ tıklayın> Çalıştır


15

Snap, yalnızca Ubuntu'ya odaklanırken, AppImage çapraz dağıtımdır ve ayrıca Fedora, debian, openSUSE, CentOS vb.

AppImage, Linux dağıtımından çalışma zamanı veya altyapı desteği gerektirmez ve bu nedenle her yerde çalışır. Uygulama yazarlarının yazılımlarını Windows ve OS X gibi Linux kullanıcılarına doğrudan göndermelerini sağlar; Canonical olmadan veya yazılım yazarı ile son kullanıcı arasında "biri" bulunmaz.

Bir uygulama AppImage biçiminde sağlanmışsa, kullanıcı indirmek için orijinal yazarın web sitesine gidebilir, örneğin, https://musescore.org/en/download adresinden MuseScore . AppImage uygulamasını çalıştırılabilir hale getirin (dosya yöneticinizi kullanarak veya kullanarak chmod a+x ./yourAppImage), ardından uygulamayı sadece çift tıklatarak çalıştırabilirsiniz.


Eğer Leafpad'i kurmak istersem, "Beni kur" üzerine mi tıklayacağım? O zaman ne olacak? Ve bir AppImage'ı nasıl kaldırabilirim? Bintray.com/probono/AppImages adresine bakıyorum ancak cevabı bulamadım. Sakıncası yoksa, bilginizi ve kullanıcıların bilmek isteyebileceğini düşündüğünüz başka bir şeyi dahil etmek için cevabınızı düzenleyebilirsiniz.
DK Bose

2
Bunun sizin için de bir çözüm olup olmadığından emin değilsiniz - ancak yaprak kutusu kutudan çıkan 16.04 kaynakta mevcut (sürüm: 0.8.18.1). Bintray tarafından sunulan leafpad sürümü 'sadece' 0.8.17 - çok daha eski.
dufte

1
Doğru, ama sadece suları test etmek isteyen biri için, sitenin dediği gibi "Merhaba, Dünya" türü bir şey.
DK Bose

Mükemmel. Bundan sonra sadece çift tıklayabilirsiniz. İhtiyacım olan bu!
Dawoodjee

5

AppImages'ın çalışması için SİGORTA gerekir. Kullanıcı Alanındaki Dosya Sistemi (FUSE), kök olmayan kullanıcıların dosya sistemlerini bağlamasına izin veren bir sistemdir.

Sigorta yükleyin

Çoğu dağıtımda çalışan FUSE kurulumu kullanıma hazırdır. Ancak, sizin için çalışmıyorsa, FUSE’yi manuel olarak kurmanız ve yapılandırmanız gerekebilir.

Örneğin, Ubuntu'da:

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

Örneğin, openSUSE’de:

sudo zypper install fuse

Geri çekil

FUSE yüklemek istemiyorsanız, AppImage'ı ya monte edebilir ya da ayıklayabilirsiniz.

AppImage'ı monte etmek ve uygulamayı çalıştırmak için

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

Bu işe yaramazsa, deneysel bir tip 2 AppImage'a sahip olabilirsiniz . Bunlar -o offset=..., mountkomuta geçmenizi gerektirir . --appimage-offsetOfset için doğru sayıyı bulmak için AppImage ile birlikte çalıştırın .


3. satırı yazdıktan sonra ( sudo usermod -a -G fuse) kullanıcı adımı takip etmeye devam ediyorum usermod: group 'fuse' does not exist... Neden bir fikrin var mı?
Martin

Merhaba @Martin, ex için Ubuntu'da. x86_64 (64bit) sistemde bir i686 (32bit) AppImage çalıştırmaya çalışıyorsanız, 32bit kütüphaneleri yüklü değilse bu hatayı alacaksınız. Muhtemelen yardım için bir dahaki sefere çalıştırmaya çalıştığınız işletim sistemini ve uygulamayı belirtmeniz gerekir.
Leo,

Merhaba @Leo, uzun zaman önceydi, ancak sudo apt-get install fuse sudo modprobe fuse sudo usermod -a -G fuse $USERWindows 10 64'teki satırlara henüz girdim. neden ...
Martin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.