Farklı Linux dağıtımlarında uygulama yükleyicileri oluşturun

Bir uygulama oluşturduğumuzda her zaman bir distribütör ve kurulum yöntemi Kullanıcı için kolaydır ve uygulamamız birden fazla platform için tasarlanmışsa ve kullanıcılar programları yerel olarak yüklemeyi ve kullanmayı seviyorsa, nasıl yapılacağını göreceğimizi aklımızda tutmalıyız. farklı platformlarda yükleyici.
Örnek olarak Java ile yapılmış basit bir programı görelim. Bir Jframe, bir Desktoppane, bir etiket ve bir düğmeyi basit bir uygulama haline getirebiliriz. Daha sonra jar paketini oluşturmak için derleriz. şimdi göreceğiz uygulamamızı nasıl dağıtabiliriz.

Linux Ubuntu / Debian / Mint ve türevleri - DEB paketleri


Bir uygulamayı dağıtmak için Linux dağıtımı dayalı Debian olarak paketlemek daha iyidir .deb, Bu bir debian paketi.
Bu paketin MySQL gibi bir veritabanı sunucusu gibi harici kaynakları yüklemeyeceğini belirtmek önemlidir, eğer bir veritabanı kullanıyorsanız, en iyisi olarak gömülü olması en iyisidir. SQLITE veya veritabanının bulunduğu bir sunucuya bağlanmak için önceden hazırlanmış olması.
Şimdi kullanacağımız kurulum projesinin yapısına bakalım, Linux'ta sh çalıştırılabilirleri isteğe bağlı olmasına rağmen genellikle /usr/bin klasörüne kurulur, ardından uygulamanın kendisi ve kütüphaneleri genellikle /usr / dizinine kurulur. lib klasörü ve menüyü / usr / share / kurulum-klasörüne entegre etmek için simge aşağıda gösterildiği gibi:
/usr/bin/tutoriales.sh [Yürütülebilir komut dosyasını çalıştır veya çalıştır]
/usr/lib/tutoriales/tutoriales.jar [java runtime jar]
/usr/lib/tutoriales/librerias_tutoriales.jar [çeşitli kitaplıklar]
/usr/share/doc/tutoriales/icono.gif.webp [java uygulama simgesi]
Bir dosya gezgini açıyoruz ve bir öğretici uygulama klasörü oluşturuyoruz, kurulum yapısını oluşturmak için daha sonra terminalden kolayca erişilebilir olması önemlidir. Aşağıdaki klasör yapısını oluşturuyoruz:

Klasörün içinde sonraki DEBİAN, control diyeceğimiz herhangi bir uzantısı olmayan bir metin dosyası oluşturuyoruz. Bu dosya, uygulamamızın kullanıcısına bilgileri göstermek için Linux'un özelliklerini ve açıklamalarını içerecektir:
Yapılandırma örneğine bakalım, dosyayı oluşturalım ve aşağıdaki içeriği yazalım:
Paket: Öğreticiler
Sürüm: 2.0
Bölüm: Belgeler
Öncelik: isteğe bağlı
Mimari: hepsi
Bakımcı: innovesoft
Kurulu Boyut: 171
Açıklama: Bu, paketin açıklamasıdır.
Açıklama yazmak için daha fazla satıra ihtiyacınız varsa, her satırın burada görüldüğü gibi bir boşlukla başladığından emin olmalısınız, böylece bir alan olarak yorumlanmaz.
.
Boş çizgiler bir nokta ile temsil edilir.
Kontrol dosyasını kaydediyoruz.
Bazı alanlar önemlidir ve halihazırda standartlaştırılmış parametreler gerektirir:
Bölüm: Bu alan, paketin sınıflandırıldığı bir uygulama alanını belirtir. _Debian tarafından standartlaştırılmış bölümlerin listesi burada görülebilir https://packages.debian.org/jessie/
Bu durumda öğreticiler Dokümantasyon veya Eğitim bölümüne gidebilir.
Öncelik: Bu alan, kullanıcının bu yazılımı kurmasının ne kadar önemli olduğunu, kabul ettiği parametrelerin gerekli, önemli, standart, isteğe bağlı ve ekstra olduğunu gösterir.
Bu durumda onu şöyle tanımlıyoruz. isteğe bağlı.
Mimari: Uygulamayı 32 bit, 64 bit veya her ikisini birden çalıştırmak için gerekli olan mimaridir, parametreler; tümü, i386 amd64.
Klasörün içinde sonraki öğreticiler / usr / lib / öğreticiler / Uygulamamızın derlenmiş tüm dosyalarını kopyalıyoruz, java uygulaması olması durumunda jar'ı kopyalamamız gerekiyor.
Sonra klasörün içinde bir dosya oluşturacağız öğreticiler / usr / bin çalıştırılabilir dosyaya işaret eden aşağıdaki bash betiğiyle tutorials.sh adında bir metin dosyası oluşturuyoruz
 #! / bin / bash Java -jar /usr/lib/tutoriales/tutoriales.jar 
olarak kaydediyoruz öğreticiler.sh Bu bash betiği, linux'ta, belirtilen klasördeki jar dosyasını çalıştıracak bir yürütülebilir dosyadır. Aşağıdaki komutla terminal üzerinden yürütme izinleri vermeyi unutmamalıyız:
 chmod + x öğreticiler.sh
Ardından, uygulamamıza klasörün içinde bir simge atayacağız. öğreticiler / usr / paylaş / merhaba-dünya uygulama için kullanacağımız ikonu atıyoruz.

Şimdi, kurulduğunda, ana menüye otomatik olarak bir başlatıcı veya doğrudan erişim eklenecek şekilde spesifikasyonlarla dosyayı oluşturmalıyız. Linux dağıtımı.
Klasörün içinde öğreticiler / usr / paylaşım / uygulamalar Aşağıdaki içeriğe sahip öğreticiler adlı bir metin dosyası oluşturuyoruz:
[Masaüstü Girişi]
Kodlama = UTF-8
İsim = Öğreticiler
Yorum = Kendi kendine çalışma eğitici öğreticileri
Yürütme = / usr / bin / öğreticiler
Simge = / usr / paylaş / öğreticiler.png.webp
Terminal = yanlış
Tip = Uygulama
Kategoriler = Eğitim; Dokümantasyon; Diğer
StartupNotify = doğru
Öğreticiler dosyasını bir uzantı olmadan kaydederiz, kaydettikten sonra onu tutorials.desktop olarak yeniden adlandırırız.
Bir menü girişi oluşturmak için alanlar şunlardır:
Ad: Menüde görüntülenecek uygulamanın adıdır.
Yorum: Uygulamanın adıyla birlikte görünecek bir yorum.
Exec: Yürütülebilir dosyanın yolu.
Simge: Simge dosya yolu.
Terminal: görsel olarak mı yoksa terminal üzerinden mi geçtiğini belirtir.
Kategoriler: uygulamanın hangi menü kategorisini içereceğini belirtir, bu durumda eğitim, dokümantasyon ve diğerleri olmak üzere üç olası kategori uygularız. Mevcut olanı benimseyecektir.
Standartlaştırılmış kategoriler http: //standards.fre… tegory-registry'dir.
Artık tüm unsurlara ve gerekli yapıya sahibiz. DEB paketini oluştur. Bir terminal penceresi açıyoruz ve oluşturduğumuz tüm dosyaların bulunduğu ana klasörün olduğu yere gidiyoruz, bu durumda ana klasörümüz ve DEB paketini oluşturmak için aşağıdaki komutu yazıyoruz.
 dpkg --build öğreticileri

Sonucu hem terminalde hem de dosya gezgininde görebiliriz, artık deb dosyası depolara ekleyebileceğimiz veya başkalarıyla paylaşabileceğimiz bağımsız bir yükleyicidir.

dpkg komutunu kullanarak DEB paketlerini kurun ve kaldırın


NS dpkg komutu .deb paketlerini işlemek için kullanılan, dpkg ile terminalden bir .deb paketi kurabilir, kaldırabilir ve bilgi alabiliriz.
Genellikle aletle birlikte kullanılırlar ve apt-get komutu. Bir bağımlılık veya uygulama gereksinimi bulunmazsa veya bir sorun varsa, dpkg yazılımın yüklenmesine izin vermeyecek ve apt-get ile bize yazılımı yüklemek için önceden yüklenmesi gereken bağımlılıkların bir listesini göstermek için kendisine yardımcı olacaktır. bizim durumumuzda Java Runtime'a ihtiyacımız var. dpkg aracılığıyla .deb paketini kurarız, ancak dpkg'nin hiçbir şey indirmeyeceğini unutmamak önemlidir.
Paketleri dpkg ile kurmak için -i seçeneğini kullanırız, örnek:
 dpkg -i öğreticiler.deb
Kaldırmak için kullanıyoruz
 dpkg -r öğreticiler.deb
Ayrıca apt-get komutu
 apt-get kaldır öğreticiler
Diğer bir kurulum seçeneği ise GDebi aracı üzerinden oluyor, sağ tık ile deb dosyasını seçiyoruz ve Installer ile Aç seçeneğini seçiyoruz. GDebi paketleri.

Gdebi, indirdiğimiz deb paketlerini kurmamıza izin veriyor ve depolarda oldukları sürece bağımlılıklarını arayacak, çözecek ve kuracak. Bu araç apt-get ile aynı şekilde çalışır …

Ardından kurulum paketine tıklıyoruz ve kurulum süreci başlayacak ve hatta kurulumcunun yaptığı adımları ve eylemleri detaylı olarak görebileceğiz.

Kurulum sonunda herhangi bir sorun bulunmazsa elimizdeki menüde uygulamamızı görebiliriz, bu durumda Mate ile Linux Mint kullanıyoruz, çoğu XFCE, Gnome, Tarçın masaüstü vb. üzerinde çalışmalıdır.

Bu noktaya kadar uygulamalarımızı Linux üzerinde Debian ve türevleri ile dağıtmak için bir deb paketi oluşturduk. Ancak bu dosyalar rpm kurulum dosyalarını kullandıkları için Fedora/Centos gibi dağıtımlarda çalışmaz.

DEB dosyasını RPM'ye dönüştürün


Alien komutu ile DEB dosyalarını RPM paketine çevirebiliriz. Aracı terminalden kuruyoruz
 sudo apt-get install yabancı
Ardından dönüştürme komutunu yazıyoruz:
 uzaylı -r -c öğreticiler.deb
dosyanın bizi üreteceğini
 Öğreticiler-2.0-2.noarch.rpm
rpm dosyası oluşturulduktan sonra, onları kopyaladık. Red Hat, Fedora veya CentOS.
Yüklemek için aşağıdaki komutu kullanacağız:
 rpm -ivh Öğreticiler-2.0-2.noarch.rpm
Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave