Hogyan hozhatok létre PPA-t?

115

Hogyan hozhatok létre saját egyéni PPA-t az Ubuntu közösséghez való megosztáshoz? Megpróbálok saját egyedi csomagkészletet létrehozni, és szeretném megosztani a közösséggel.

    
készlet Jebeld17 24.10.2011 17:54
forrás

3 válasz

86

A személyes csomag archívuma ( PPA ) segítségével közvetlenül telepítheti az alkalmazásokat és frissítéseket az Ubuntu felhasználóknak. Hozzon létre egy forráscsomagot, töltse fel, és a Launchpad bináris fájlokat hoz létre, majd tárolja őket a saját tárolójába.

Itt van egy részletes magyarázat .

    
válasz adott hhlp 24.10.2011 18:01
forrás
74

Hogyan hozzunk létre .deb fájlt

Ez egy bemutató egy alapmodul alapú .deb fájl létrehozásáról egy adott parancsfájlból. Ebben a bemutatóban először létrehozunk egy mintaprogramot a bash-ben, amely csak a "HELLO FROM PROGRAM" -ot mutat be. Ezután létrehozunk egy vezérlő fájlt a programhoz, hogy debian telepítőt hozzunk létre. Végül egy.deb fájlba csomagolják.

Steps:

  1. hozzon létre egy mintaprogramot bash

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

    illessze be a következő kódot

    #!/bin/bash
    echo 'HELLO FROM PROGRAM' | zenity --text-info 
    
  2. A program végrehajthatóvá tétele

    chmod +x "$HOME/create_deb/pgmdir/zenity_hello.sh"
    
  3. Hozzon létre ellenőrző fájlt a debian csomaghoz

    Készítsen egycontrol belső mappátDEBIAN

    nevű fájlt
    mkdir "$HOME"/create_deb/DEBIAN
    gedit "$HOME"/create_deb/DEBIAN/control
    

    és illessze be a következő adatokat

    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.
    

    A tartalmakat szerkesztheti, ha tetszik. További információ a fájl formátumáról: itt és here .

  4. Hozzon létrepostinst szkriptet, amely a csomag telepítése után azonnal végrehajtásra kerül

    gedit "$HOME"/create_deb/DEBIAN/postinst
    

    majd illessze be

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

    és futtathatóvá válik

    chmod +x "$HOME/create_deb/DEBIAN/postinst"
    
  5. Hozzon létreprerm szkriptet, amelyet a csomag eltávolítása előtt hajt végre

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

    és futtathatóvá válik

    chmod +x "$HOME/create_deb/DEBIAN/prerm"
    
  6. Végezze el a csomagstruktúrát, és másolja a programokat, adatokat stb Hozzon létre egy felépített programot és annak adatait. Ebben a példában a fájlt a/bin -ra állítottuk be.

    mkdir -p "$HOME"/create_deb/bin
    cp "$HOME/create_deb/pgmdir/zenity_hello.sh" "$HOME/create_deb/bin/zenity_hello"
    
  7. Építsd az .deb fájlt.

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

    A. automatikusan megadja a.deb fájlt változat, arch, stb. vagy az egyéni nevedet

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

    Vagy ha létrehozod a .deb fájlt

    debuild -k'your GPG key here' -S
    

    majd feltöltheti az Ubuntu Launchpadra

    dput ppa:<lp-username>/<ppa-name> packet-source.changes
    

    a leírtak szerint ide (forrás:

    Most telepítheti. A telepítés során egy gtk párbeszédet kell keresnie

      

    A program telepítése: zenity_hello.sh ......

  8. A telepítés után nyisson meg egy terminált és írja be azenity_hello parancsot. Ha a program helyesen lett telepítve, és minden rendben van, akkor egy gtk párbeszédet kell keresnie

      

    HELLO FROM PROGRAM

  9. Csomag eltávolítása

    sudo apt-get remove zenity_hello
    

A tárhely közzététele 2 perc alatt

Mivel az OP egyszerű módja annak, hogy közzé tegye a csomagjait, könnyű hackt adok.

követelmény: dropbox (vagy bármely más szolgáltatás, például github ) nyilvános tárhelyen.

  1. Hozzon létre egy mappát a Public-Dropbox-mappán belül, ahol a * .deb fájlokat helyezd el:

    mkdir ~/Dropbox/Public/deb-packages  
    

    vagy hozzon létre egy másik mappát, és helyezzen szimbolikus linket a nyilvános mappába:

    mkdir ~/deb-packages
    cd ~/Dropbox/Public
    ln -s ~/deb-packages/ deb-packages
    
  2. Ugorjon bele a mappába, és hozzon létre egy parancsfájlt, amely végrehajtásakor létrehozza a Packages.gz fájlt, amely tartalmazza a deb-csomagokkal kapcsolatos összes szükséges információt. létre:

    gedit import.sh  
    

    tedd bele bele:

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

    végrehajthatóvá tétele:

    chmod  x import.sh
    
  3. Másolja a * .deb fájlokat a mappába. Lehet, hogy a saját vagy olyan, amely más tárhelyek között nem elérhető. Ezután lépjen be a mappába, és hajtsa végre a szkriptet, amelyet ott elhelyeztünk:

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

    Ez létrehozza az úgynevezett Packages.gz fájlt, amely alkalmas arra, hogy megtudja, mely csomagok találhatók ebben az adattárban.

Ez az

Várja meg, hogy a Dropbox szinkronizálja a mappát és megragadja a Nyilvános URL-t aPackages.gz -ből. Úgy néz ki, mint ez:

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

Megszabadulhat a hivatkozás végétől, még több szót adhat hozzá, és most felhasználhatja és feltöltheti a forrást.list következő sorát:

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

Ez megvan a saját deb-repositoryja. Helyben mindig szinkronizálva van, de bárkinek, bárhol és bármikor elérhető.

MEGJEGYZÉS: dpkg-scanpackages elérhető a (z)dpkg-dev
webhelyen hivatkozási

    
válasz adott totti 09.07.2014 13:16
forrás
2

A Launchpad.net fiókra szüksége lesz PPA létrehozásához. Kattintson a felhasználóra a Launchpadon (kattintson a nevére a bal felső sarokban), és hozzon létre egy PPA-t. Előfordulhat, hogy először alá kell írnia a magatartási kódexet, és egy GPG kulcsot kell regisztrálnia a fiókjával.

    
válasz adott GTRsdk 24.10.2011 18:03
forrás