Uygulama

Linux’ta bir “Merhaba Dünya” AppImage’ı Oluşturma

AppImage, uygulamayı yüklemek için süper kullanıcı izinlerine ihtiyaç duymadan taşınabilir yazılımı Linux’ta dağıtmaya yönelik bir formattır.  Geliştiricilerin masaüstü uygulamalarını çeşitli Linux dağıtımlarında çalışacak şekilde paketlemelerine olanak tanır.  Bu eğitim, temel bir “Merhaba Dünya” AppImage’ın nasıl oluşturulacağını göstererek Linux ekosisteminde yazılımın nasıl paketlenip dağıtılacağına dair basit bir örnek sunar.

 

İlk Merhaba Dünya AppImage’ı Oluşturma

 DİKKAT
AppImages güvenlik açısından doğası gereği doğrulanmamıştır.  AppImages’ı yalnızca güvenilir kaynaklardan indirmek ve kullanmak çok önemlidir.  Taşınabilir ve yürütülebilir yapıları nedeniyle AppImages, bilgi çalmak veya sisteminize zarar vermek üzere tasarlanmış virüsler veya kötü amaçlı yazılımlar gibi zararlı yazılımlar içerebilir.  AppImages’ın doğrulanmamış veya şüpheli kaynaklardan indirilmesi siber saldırı riskini artırır ve sisteminizin güvenliğini tehlikeye atar.  Bir AppImage’ı indirip çalıştırmadan önce daima kaynağın orijinalliğini ve bütünlüğünü doğrulayın.

Bu kılavuz size basit bir “Merhaba Dünya” AppImage oluşturma adımlarını anlatacaktır.  Temel bir C programı yazarak, onu bir AppImage’da paketleyerek ve Linux sisteminizde çalıştırarak başlayacaksınız.

  1. AppImage Aracını ve Bağımlılıkları Yükleyin: AppImage aracını indirin ve çalıştırılabilir hale getirin.
    $ wget https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage
    $ chmod +x appimagetool-x86_64.AppImage
    

    Ek olarak, AppImages’ı güncellemek için gereken zsync’i yükleyin.

    $ sudo apt-get install zsync
  2. Dizin Yapısı Oluşturun: Uygulamanızın dosyalarını barındıracak dizin yapısını ayarlayın.
    $ mkdir -p AppDir/usr/bin
  3. Merhaba Dünya İkili Oluştur: Merhaba Dünya programınızı C’ye yazın, hello-world.c olarak kaydedin, derleyin ve çıktıyı test edin.
    #include <stdio.h>
    
    int main() {
        printf("Hello, LinuxConfig.org!\n");
        return 0;
    }
  1. Çalıştığından emin olmak için programınızı derleyin ve çalıştırın:
    $ gcc hello-world.c -o hello-world
    $ ./hello-world

    Aşağıdaki çıktıyı görmelisiniz: “Hello, LinuxConfig.org!”

     

    Create Hello World Binary
  2. İkili Dosyayı AppDir’e kopyalama: Derlenmiş ikili dosyayı daha önce oluşturduğunuz dizin yapısına taşıyın.
    $ cp hello-world AppDir/usr/bin/
  3. Masaüstü Girişi Oluşturma: Uygulamanızın masaüstü menülerine nasıl entegre edilmesi gerektiğini belirtmek için bir .desktop dosyası yazın.
    [Desktop Entry]
    Type=Application
    Name=Hello World
    Exec=hello-world
    Icon=hello-world
    Categories=Utility;

    Bu içeriği AppDir/hello-world.desktop olarak kaydedin.

  4. Özel Simge Oluşturun veya Yükleyin: ImageMagick’i kullanarak uygulamanız için basit bir simge oluşturun.  Bu adım, AppImage’ınız için simge görevi görecek bir görüntü oluşturmayı içerir.  Temel bir “Merhaba Dünya” simgesi oluşturmak ve bunu AppDir yapısına kaydetmek için aşağıdaki komutu kullanın; böylece AppImage’ınız yürütüldüğünde masaüstü ortamları tarafından düzgün şekilde tanınmasını sağlayın.
    $ convert -size 256x256 xc:white -gravity center -pointsize 24 -fill black -annotate +0+0 "Hello World" AppDir/hello-world.png

    Komutu yürüttükten sonra hello-world.png simge dosyasının AppDir/ dizinine kaydedildiğinden emin olun.  Bu konum genellikle uygulama simgeleri için kullanılır ve AppImage’ınızın masaüstü ortamlarıyla sorunsuz bir şekilde entegre olmasını sağlamaya yardımcı olur.

  5. AppRun’u oluştur: Bu komut dosyası, AppImage’ınız için giriş noktası görevi görür.  Aşağıdaki betiği yazın ve yürütülebilir hale getirin.
    #!/bin/bash
    exec $APPDIR/usr/bin/hello-world

    Bu betiği AppDir/AppRun olarak kaydedin ve çalıştırılabilir hale getirin:

    $ chmod +x AppDir/AppRun

     

  6. AppImage’ı Derleyin/Oluşturun: Bu adım, uygulamanızı bir AppImage olarak paketlemek için appimage aracının kullanılmasını içerir.  Aşağıdaki komut, AppImage’ın çalışacağı hedef sistemin mimarisini belirtir.  Bu örnekte 64 bitlik bir sistemi belirtmek için ARCH=x86_64 kullanıyoruz.  Bu ortam değişkeni, aracın AppImage’ı paketlemesi gereken mimariyi anlamasına yardımcı olur.  Hedef sistemle uyumluluğun sağlanması açısından çok önemlidir.
    $ ARCH=x86_64 ./appimagetool-x86_64.AppImage AppDir HelloWorld.AppImage

    ARCH ortam değişkeni, uygulamanızın hedef mimarisine bağlı olarak farklı değerlere ayarlanabilir.  Örneğin, ARM tabanlı bir sistemi hedefliyorsanız, 32 bit ve 64 bit ARM mimarileri için sırasıyla ARCH=armhf veya ARCH=aarch64 kullanabilirsiniz.  Bu değişkenin ayarlanması, AppImage’ın üzerinde çalışacağı cihazın mimarisi için özel olarak oluşturulmasına olanak tanıyarak optimum performans ve uyumluluk sağlar.  Derlediğiniz mimariyle eşleşen appimagetool sürümünü indirip kullandığınızdan emin olun.  Bu adım, uyumlu Linux sistemlerinde dağıtılmaya ve çalıştırılmaya hazır, HelloWorld.AppImage adlı yürütülebilir bir AppImage üreterek paketleme sürecini tamamlar.

     

    Compile/Create the AppImage
  7. Uygulama Görselinizi Test Edin:Son olarak, “Merhaba Dünya” mesajını görmek için yeni oluşturduğunuz AppImage’ınızı çalıştırın.
     

    $ ./HelloWorld.AppImage

    Her şey doğru yapıldıysa “Hello, LinuxConfig.org!” görmelisiniz.  AppImage’ınızın başarılı bir şekilde çalıştığını belirten terminalinizde yazdırılır.

     

    Test Your AppImage

 

 

 

Yazının orijinalini buradan okuyabilirsiniz.