Bir PPA nasıl oluştururum?

113

Ubuntu topluluğuyla paylaşmak için kendi özel PPA'mı nasıl oluşturabilirim? Kendi özel paket kümemi oluşturmaya çalışıyorum ve bunu toplulukla paylaşmak istiyorum.

    
sordu Jebeld17 24.10.2011 17:54

3 cevap

86

Kişisel Paket Arşivi'ni ( PPA ) kullanarak, yazılımı ve güncellemeleri doğrudan Ubuntu kullanıcılarına dağıtabilirsiniz. Kaynak paketinizi oluşturun, yükleyin ve Launchpad ikili dosyaları oluşturacak ve bunları kendi apt havuzunuzda barındıracak.

İşte bir ayrıntılı açıklama .

    
verilen cevap hhlp 24.10.2011 18:01
74

.deb dosyası nasıl oluşturulur?

Bu, belirli bir örnek komut dosyasından temel bir .deb dosyası oluşturmayla ilgili bir eğiticidir. Bu öğreticide, önce "HELLO FROM PROGRAM" ifadesini gösteren bir örnek program oluşturuyoruz. Ardından, bir debian yükleyicisini yapmak için program için bir kontrol dosyası oluşturuyoruz. Son olarak, .deb dosyasına paketlenirler.

Adımlar:

  1. bash'ta örnek bir program oluştur

    mkdir "$HOME/create_deb/pgmdir"
    gedit "$HOME/create_deb/pgmdir/zenity_hello.sh"
    

    aşağıdaki kodu içine yapıştırın

    #!/bin/bash
    echo 'HELLO FROM PROGRAM' | zenity --text-info 
    
  2. Programın yürütülebilir olmasını sağlayın

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Debian paketi için kontrol dosyası oluşturun

    control dizininde DEBIAN adlı bir dosya oluştur

    mkdir "$HOME"/create_deb/DEBIAN
    gedit "$HOME"/create_deb/DEBIAN/control
    

    ve aşağıdaki ayrıntıları yapıştırın

    Package: hellodeb
    Version: 0.1
    Architecture: all
    Maintainer: totti
    Installed-Size: 6
    Depends: zenity, bash
    Section: testing
    Priority: optional
    Homepage: http://askubuntu.com
    Description: This is my first debian package.
     Guided by Totti Torvalds.
     In Description new line start with a space.
    

    İsterseniz içerikleri düzenleyebilirsiniz. Bu dosyanın formatı hakkında daha fazla bilgi edinin burada ve here .

  4. Paketin yüklenmesinden hemen sonra çalıştırılan postinst komut dosyası oluştur

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    sonra yapıştırın

    #!/bin/sh
    set -e
    echo 'Installing program : zenity_hello.sh ......' | zenity --text-info
    

    ve çalıştırılabilir hale getirin

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Paketin kaldırılmasından önce yürütülen prerm komut dosyası oluştur

    #!/bin/sh
    set -e
    echo 'Removing program : zenity_hello.sh ......' | zenity --text-info
    

    ve çalıştırılabilir hale getirin

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Paket yapısını oluşturun ve programları, verileri kopyalayın vb.

    Yüklü programlarınızın ve verilerinizin bir yapısını oluşturun. Bu örnekte, dosyayı /bin konumuna getirdik.

    mkdir -p "$HOME"/create_deb/bin
    cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
    
  7. .deb dosyasını oluşturun.

    dpkg-deb --build "$HOME"/create_deb .
    

    . , .deb dosyasını otomatik olarak sürüm, kemer vb. olarak adlandırır. Veya özel adınız

    dpkg-deb --build "$HOME"/create_deb "$HOME"/create_deb/hellodeb.deb
    

    Veya .deb dosyasını

    ile oluşturursanız
    debuild -k'your GPG key here' -S
    

    sonra,

    ile Ubuntu Launchpad'e yükleyebilirsiniz.
    dput ppa:<lp-username>/<ppa-name> packet-source.changes
    

    açıklandığı gibi burada (kaynak: bir .deb komut dosyası veya ikili dosyadan paket oluşturma )

  8. Yeni oluşturulan .deb paketini yükleyin. Bunu software-center ile açabilirsiniz, ancak yüklemenize izin vermeyebilir. Bu yüzden gdebi paket yöneticisini kullanmamı tavsiye ederim.

    sudo apt-get install gdebi
    
    gdebi "$HOME"/create_deb/hellodeb.deb
    

    Şimdi yükleyebilirsiniz. Kurulum sırasında bir gtk diyaloğu görmelisiniz

      

    Programı yükleme: zenity_hello.sh ......

  9. Yükledikten sonra bir terminal açın ve zenity_hello yazın. Program doğru bir şekilde yüklendiyse ve her şey yolundaysa, bir gtk diyaloğu görmelisiniz

      

    PROGRAMDAN HELLO

  10. Paket kaldırılıyor

    sudo apt-get remove zenity_hello
    

Deponuzu 2 dakika içinde yayınlayın

OP'nin paketlerini yayınlamanın basit bir yolu istediği için kolay bir kesmek istiyorum.

gereksinimi: dropbox (veya diğer github için başka bir hizmet), ortak bir klasörle hesaplanır.

  1. Genel. Dropbox Klasörünüzün içinde * .deb Dosyalarınızı yerleştirdiğiniz bir klasör oluşturun:

    mkdir ~/Dropbox/Public/deb-packages  
    

    veya bu klasörü başka bir yerde oluşturun ve Genel klasörünüze bir sembolik link yerleştirin:

    mkdir ~/deb-packages
    cd ~/Dropbox/Public
    ln -s ~/deb-packages/ deb-packages
    
  2. Bu klasöre gidin ve yürütüldüğünde, deb paketleri hakkındaki tüm gerekli bilgileri içeren Packages.gz dosyasını oluşturan bir komut dosyası oluşturun. oluşturun:

    gedit import.sh  
    

    bunu içine koy:

    #!/bin/bash
    dpkg-scanpackages . /dev/null |gzip > Packages.gz
    

    yürütülebilir hale getirin:

    chmod  x import.sh
    
  3. Bazı * .deb Dosyalarını Klasöre kopyalayın. Diğer havuzlarda bulunmayan kendi veya bazılarınız olabilir. Ardından Klasöre gidin ve oraya koyduğumuz komut dosyasını yürütün:

    cd ~/deb-packages/ 
    ./import.sh
    

    Bu, hangi paketlerin bu havuzda bulunduğunu bilmek için aranan Packages.gz Dosyasını oluşturmalıdır.

İşte bu

Şimdi, Dropbox’ın Klasörü senkronize etmesini bekleyin ve Ortak URL’yi Packages.gz adresinden alın. Böyle bir şeye benzemeli:

http://dl.getdropbox.../Packages.gz

Bu bağlantının sonundan kurtulun, ona daha fazla kelime koyun ve şimdi sources.list için aşağıdaki satırı kullanabilir ve doldurabilirsiniz:

deb http://dl.getdropbox.../deb-packages ./

İşte bu yüzden kendi deb deponuz çalışıyor. Her zaman yerel olarak senkronize edilir, ancak her zaman, her yerde herkes tarafından kullanılabilir.

NOT: dpkg-scanpackages , dpkg-dev sitesinden indirilebilir.
Referans

    
verilen cevap totti 09.07.2014 13:16
2

Bir PPA oluşturmak için bir Launchpad.net hesabına ihtiyacınız olacak. Sadece kullanıcılarınızı Launchpad'de tıklayın (sol üstteki isminizi tıklayın) ve bir PPA oluşturun. İlk önce Davranış Kurallarını imzalamanız ve hesabınıza kayıtlı bir GPG anahtarınız olması gerekebilir.

    
verilen cevap GTRsdk 24.10.2011 18:03

Etiketlerdeki diğer soruları oku