Salam, bu məqalədə Pardus Üzərində inkişaf etdirdiyimiz tətbiqi necə yaradırıq quraşdırıla bilən bir .deb Paketi idarə edə bilərik.

Linux fayl sistemi iyerarxiyası

Linux üçün yazdığımız proqramı sistemə quraşdırmaq üçün ilk növbədə nəyi hara qoyacağımızı bilməliyik. Məsələn, Windows-da proqram tərtibatçıları öz proqramlarını sistemə quraşdırmalıdırlar. C: \ Proqram Dosyaları qovluğuna qoyur.

Beləliklə, Linux-da proqram quraşdırmasını necə həyata keçirə bilərik?

Linux fayl sistemi iyerarxiyası

Çox hissədən ibarət olan fayl sistemi iyerarxiyasında əslində istifadə edəcəyimiz 2 əsas qovluq var: /usr, /opt

  • / usr :
    Bütün sistemdə istifadə olunacaq, lakin sonradan sistemdən əlavə edilə və ya silinə bilən fayllar burada yerləşir.
  • / usr / bin :
    Proqramımızın icra olunan faylı burada yerləşir. Bu kataloq PATH O, həm də ətraf mühit dəyişkənliyinə bağlıdır. Buna görə də, siz terminalda yalnız proqramınızın adını yazdığınız zaman proqram bu kataloqda varsa, işləyəcək.
  • / usr / paylaşmaq :
    Proqramların ümumi istifadə etdiyi fayllar buradadır.
    - - / usr / share / icons :
    Budur proqramların və mövzuların nişanları. Biz də burada etdiyimiz tətbiqin simvolunu qoyacağıq.
    - - / usr / share / applications :
    Tətbiqlər üçün başlatma qısa yolları burada yerləşir (.desktop faylları). XFCE və ya gnom'"Tətbiq menyuları"nda "Tətbiq menyuları" oradakı faylları göstərir. Beləliklə, siz terminal açmadan “Proqramlar” menyusunu aça və tətbiqinizi işə sala bilərsiniz. O, həmçinin proqramınızı "Birlikdə aç" seçiminə əlavə etmək kimi şeylər üçün sistem tərəfindən istifadə edilə bilər. .desktop fayllardakı məlumatlarla təmin edilir.
    - - /usr/share/APPLICATION :
    Tətbiqinizdə işləməsi üçün zəruri olan yalnız oxunmaq üçün sabit fayllar varsa, burada öz kataloqunuzu yarada və fayllarınızı ora yerləşdirə bilərsiniz.
    Məsələn: /usr/share/pardus-image-writer
  • / opt :
    Quraşdırılmış çox fayllı proqramlar bütün fayllarını burada bir qovluğa yerləşdirə bilər. Bu, Windows-da Proqram Fayllarına bənzəyir. /usr/share/APPLICATION əvəzinə istifadə etmək olar. İstədiyinizi seçə bilərsiniz.
    Məsələn: /opt/android-studio və ya /opt/chrome kimi.

Gəlin .deb paketimizi hazırlayaq

Paketimizdə yuxarıda qeyd etdiyimiz qovluqlara yerləşdirmək istədiyimiz qovluqları yaradacağıq.

Bizə lazım olan alətlər:

$ sudo apt install dpkg-dev

Məsələn paket qovluğu:

packagedirectory/DEBIAN/controlpackagedirectory/usr/bin/PROGRAM_ADI packagedirectory/usr/share/icons/IKON_ADI.svg packagedirectory/usr/share/applications/PROGRAM_ADI.desktop

paket kataloqu Bu qovluğun məzmunu sadə proqram paketi nümunəsidir.

Kataloqdakı qovluqları nəzərdən keçirək:

  • DEBYAN: Deb paketinin məlumatlarının yerləşdiyi kataloqdur. Paketin əsas məlumatları, müəllif hüququ məlumatları, dəyişiklik jurnalı (dəyişiklik qeydləri) kimi məlumatlar buraya əlavə olunur. (https://www.debian.org/doc/manuals/maint-guide/dreq.en.html)
  • DEBIAN/nəzarət: Bu fayl paket haqqında məlumat ehtiva edən əvəzolunmaz fayldır.

nümunə nəzarət fayl məzmunu:

Paket: paket adı Versiya: 1.0 Asılıdır: libc6, libgtk-3-0 Bölmə: naməlum Prioritet: isteğe bağlı Arxitektura: amd64 Baxıcı: Emin Fedar Əsas səhifə: https://kod.pardus.org.tr/pardus/ornek Təsvir: Budur qısa bir sətirlik tərif Burada ayrı bir tərif verilmişdir və uzun ola bilər və birdən çox sətirdən ibarət ola bilər.

Burada parametrləri nəzərdən keçirək:

  • Paketi: Paketin adı.
  • Versiya: Paketin versiyası.
  • Bağlıdır: Paket hansı paketlərdən asılıdır.
  • Bölmə: Paketin kateqoriyası, məsələn, “utils”.
  • prioritet: Paketin prioritet sırası.
  • memarlıq: Paketin işlədiyi prosessor arxitekturası.
  • Təmsil edənlər: Paketin sahibi və baxıcısı.
  • Əsas: Paketin müvafiq veb-saytı və ya mənbə kodunun yerləşdiyi ünvan.
  • təsvir: Paket haqqında məlumat verən hissə.

nəzarət Faylın məzmunu və parametrləri haqqında ətraflı məlumat üçün:
https://www.debian.org/doc/debian-policy/ch-controlfields.html

Qalan fayllar kopyalanacaqları qovluqlardakı yollara yerləşdiriləcək:

# İcra edilə bilən fayl: paket kataloqu /usr/bin/PROGRAM_ADI# Proqram işarəsi: paket kataloqu /usr/share/icons/IKON_ADI.svg# Proqram .desktop faylı: paket kataloqu /usr/share/applications/PROGRAM_ADI.desktop 

nümunə application.desktop:

[Masaüstü Girişi] Növ=Tətbiq Kodlaması=UTF-8 Adı=Nümunə Tətbiq Şərhi=Tətbiqimizin təsviri burada Exec=program # istifadə edir /usr/bin/program Icon=application # /usr/share/icons/application.svg Terminaldan istifadə edir =yalan

.desktop Fayllar haqqında ətraflı məlumat üçün:
https://developer.gnome.org/integration-guide/stable/desktop-files.html.en

Bu mərhələdən sonra kataloqumuz artıq qablaşdırma prosesinə hazırdır. İndi etməli olduğumuz şey "paket kataloqu" qovluğu ilə eyni qovluqda terminal açmaq və aşağıdakı əmrlə paketimizi yaratmaqdır:

$ dpkg-deb --build packagedirectory dpkg-deb: "packagedir.deb"də "paket adı" paketini qurun.

İndi .deb paketimiz hazırdır! 🎉

$ ls paket kataloqu packagedirectory.deb