.deb uzantılı kurulum dosyasını nasıl oluştururum

Eğer kaynak kodu açmayı düşünmüyorsanız bu rehber işinizi görebilir:

Eğer git kaynak kodundan derleme yapacaksanız da gbp buildpackage kullanabilirsiniz. Pardus’un repolarında bu şekilde bir sürü örnek proje var: PARDUS · GitHub

1 Beğeni

aynen python kodların yapay zeka otomatik veriyor istediginiz programı yazıyorsunuz o size hazırlıyor tek tek ugraşmayın

Burada basit bir debian paketi yapılışı anlatılıyor.

Eğer olmazsa, buraya yazın anlatmaya çalışalım.

1 Beğeni

Çok sağol bunu denedikten sonra sonucu yazarım inşallah.

1 Beğeni

Java için jdeb’i inceleyebilirsiniz.

Sadece .deb değil. Appımage, flatpak, .rpm, tar.gz vb gibi formatlarda desteklenebilir.

Arkadaşlar örnek olması açısından netbeans da çıkarma yapabilen bir program yazdım. Jar a dönüştürdüm. Aşağıdaki dosya düzenine göre dosyalarımı ve klasörlerimi yerleştirdim. dpkg-deb --build cikarma komutu ile deb uzantılı derlememi yapabilidim. Programıda kurdum. Synaptic paket yöneticisinde de gözüküyor ama programı çalıştıracak yeri bulamıyorum. Yüklü programlara eklenmiyor. (Bu arada hepinize teşekkürler bu aşama son olacak inşallah)


cikarma.deb i ekleyecektim ama buraya yüklenmiyor

Yukarıda atmıştım ama tekrar atayım. Bu linkteki dosya hiyerarşisi bilgisi sizin işinizi çözecektir.

Uygulamalar menüsünde uygulamanızın gözükmesi için /usr/share/applications dizinine uygulamanızın .desktop dosyasını eklemeniz lazım.

Uygulama ikonunuz için ise /usr/share/icons dizinini kullanabilirsiniz. scalable dizinine .svg formatında ikon koymanız tek başına yeterli olacaktır ve her çözünürlükte düzgün gözükecektir.

Bağlantıdaki basit paketi indiriniz.

Önce bir dizin oluşturalım.

mkdir saatinde

Sonra paketi açalım.

dpkg-deb -R saatinde*.deb saatinde/

Şimdi eğer saatinde dizinine bakarsanız DEBIAN dizininde control isimli bir kütük görebilirsiniz.

Bu kütüğü değiştirebilirsiniz.

Daha sonra /usr/local/bin dizinine kendi uygulamanızı koyunuz.

Tekrar paketlemek için aşağıdaki komutu veriniz.

dpkg-deb --build saatinde

Aynen dediğin gibi yaptım kardeş. Ama programlara eklenmiyor.

desktop dosyasında hata olabilir . Ayrıca Config dosyasında Depends: yanında belirtilen bağımlılıklar senin uygulamana özel olarak ayarlanmalı .

Kardeş senin dosyanı kendime göre düzenledim ama bağlantı hatası var diyo. Sana zahmet birde sen dener misin? (Benim işletim sistemi Pardus 25.1 Gnome)
Bağlantı

Oluşturduğunuz .deb dosyasını paylaşırsanız nerede hata var bakalım.

Senin saatinde.deb benim pc de kurduğum zaman programlara yine eklenmiyor. Pardus 25.1 gnome acaba işletim sistemi ile alakalı bir durum mu? xfce de çalışanlar bazen gnome da çalışmıyormuş. İlgilendiğin için ayrıca çok teşekkür ederim.

Zaten eklenmemesi gerekiyor.

Uygulama X sunucusu üzerinde çalışıyor.

echo $XDG_SESSION_TYPE

yazarak hangi sunucunun çalıştığını görebilirsiniz.

Basit bir uygulama olduğu için saatinde yazarak uygulamayı uç birimden çalıştırabilirsiniz.

Gnome için kısayol da oluşturabilirsiniz.

Yazdığınız uygulamanın programlar listesine eklenmesini istiyorsanız paket içinde

/usr/share/applications

dizinini oluşturunuz.

Bu dizinin içinde uygulamam.desktop isimli bir kütük oluşturunuz.

İçine de aşağıdaki bilgileri giriniz.

[Desktop Entry]
Name[tr]=Uygulamam
Comment[tr]=Kendi geliştirdiğim uygulama
TryExec=uygulamam
Exec=uygulamam
Terminal=false
Type=Application
StartupNotify=true
X-Desktop-File-Install-Version=0.22
X-GNOME-Autostart-enabled=true
Hidden=false
NoDisplay=true[Desktop Entry]
Name[tr]=Uygulamam
Comment[tr]=Kendi geliştirdiğim uygulama
TryExec=uygulamam
Exec=uygulamam
Terminal=false
Type=Application
StartupNotify=true
X-Desktop-File-Install-Version=0.22
X-GNOME-Autostart-enabled=true
Hidden=false
NoDisplay=true

Bununla beraber uygulama simgesi de oluşturmak gerekebilir.

Simge boyutu 16, 24, 32, 48, 64, 128 olabilir.

Bu simgeleri /usr/share/icons/hicolor dizinine kopyalamak gerekiyor.

Eğer dizin içeriğine bakarsanız, dizin isimlerinin 16x16 ve 16x16@2 şeklinde isimlendirildiğini görebilirsiniz.

Paket içinde simge dizini oluşturulup içine simgeleri koyabilirsiniz.

Programlara ekleniyor ama uygulama simgesi(programın logosu) çıkmıyor.
Buraya ekledim. Bağlantı Dediğin gibi yapmaya çalıştım.

@Vracula

.deb dosyanıza baktım, şu hususları düzeltin problem kalmaz:

  1. .ico ve .png dosyalarını silin, sadece .svg kalsın
  2. .svg dosyasının kopyalanacağı yol şu olsun: /usr/share/icons/hicolor/scalable/apps/
  3. pixmaps klasörünü de silin

.desktop dosyasında:

1)Exec=cikarma # /usr/bin/program'ı kullanir daki gibi # ile başlayan kısımları silin, yorum satırı yazmayın, yani sadece şöyle olsun: Exec=cikarma
2) Encoding=UTF-8 satırını silin

.jar dosyası:

  1. .jar dosyasını direkt olarak /usr/share/applicationsa koymayın, burası .desktop dosyaları içindir, şöyle yapabilirsiniz: /usr/share/cikarma/cikarma.jar yani format şu: /usr/share/program-adi/programin-dosyalari
  2. /usr/bin/cikarma içerisindeki yolu da aynı şekilde düzenleyin

Linux altında svg uzantılı vektörel görselleri boyutlandırmak için ufak bir betik hazırladım.

Öncelikle aşağıdaki paketi kurmak gerekiyor.

sudo apt install librsvg2-bin

Misal , geliştirdiğiniz uygulama için bir simge tasarladınız ve bunu tekrar boyutlandırmak istiyorsunuz.

#!/bin/bash

SIMGE_BOYUTU=('16' '24' '32' '48' '64' '128')

for i in ${SIMGE_BOYUTU[@]};
do
    echo "Boyut = $i";
    rsvg-convert -w $i -h $i $1 -o $i.svg;
done

Oldukça basit bir betik. Kullanımı da kolay. Sadece kaynak svg kütüğünü belirtmek gerekiyor.

boyutlandır dunya.svg

Aşağıdaki şekilde kullanabilmek için kütüğü ~/bin dizininde oluşturunuz.

Daha sonra çalıştırma izni veriniz.

chmod +x ~/bin/boyutlandır

Şimdi sizin paket dizinine bakalım.

cd cikarma/usr/share/icons/

Öncelikle hicolor isminde bir alt dizin oluşturunuz.

mkdir hicolor
cd hicolor

Bu dizinin içinde simge boyutlarını gösteren alt dizinleri oluşturunuz.

mkdir 16x16
mkdir 16x16@2

Oluşturduğunuz simgeleri paket içindeki klasörlere kopyalayınız.

cp 16.svg ~/İndirilenler/cikarma/usr/share/icons/hicolor/16x16/
cp 16.svg ~/İndirilenler/cikarma/usr/share/icons/hicolor/16x16@2/

Bu işlemi 16, 24, 32, 48, 64, 128 için de yapmak gerekiyor.

İşi kolaylaştırmak için ufak bir betik yazmak düşünülebilir.

Çok teşekkür ederim. Bu şekilde oldu. Ben de en kısa zamanda burada resimlerle bir jar dosyası oluşturup her şeyi ile .deb haline getirmeyi ve örnek uygulamayı paylaşayım inşallah.