Itt az idő, hogy a gyakorlatban is kipróbáld magad. Van egy egyszerű "linuxstatus" nevű shell szkriptem, melyet telepíteni akarok, hogy aztán az "/usr/bin/linuxstatus" könyvtárból tudjam használni. Tehát először a "linuxstatus" fájl mellé készíts egy könyvtárat, legyen ennek a neve "debian".
$ mkdir -p ./debian/usr/bin $ cp linuxstatus ./debian/usr/bin |
Kezdjük a control fájllal. A verziószámnak kell tartalmaznia egy kötőjelet és egy további Debian csomag verziószámot, például "1.1-1". Ha a programod csak hordozható például shell szkriptekből áll, akkor az "Arhitecture" mezőben az "all" értéket használd.
A "Depends" mező kitöltéséhez szükséged van azon csomagok neveire, amelyekben azok a fájlokat vagy programokat vannak, melyeket a csomagodban lévő alkalmazások, szkriptek stb. használnak. Ezen információk megszerzéséhez használhatod a "dpkg -S <fájl>" parancsot, például:
$ dkpg -S /bin/cat coreutils: /bin/cat |
A "coreutils" csomagról többet megtudhatsz, ha az "apt-cache showpkg coreutils" parancsot használod. Ez többek között kiírja a jelenleg telepített csomag verziószámát.
Egyébként két további módon is hozzájuthatsz ilyen információkhoz. A http://www.debian.org/distrib/packages honlapon Debian fájlokat kereshetsz. Töltsd ki az oldal alján lévő mezőket.
Végül, de nem utolsó sorban van egy frankó GUI alkalmazás (grafikus program - a ford.), "kpackage", mely kényelmes csomagok közti böngészési lehetőséget nyújt, és egyedi fájlok alapján is lehetséges csomagot keresni. (kipróbáltam, megette az összes memóriámat (128M mem + 256M swap), úgy kellett lelőnöm távoli gépről, szóval én inkább a karakteres csomagkezelő programok használatát javaslom - a ford.)
A "Suggests", "Conflicts", és a "Replaces" stb. mezőket ki lehet hagyni, ha nem szükségesek.
Íme az első "control" fájlunk eredménye:
Package: linuxstatus Version: 1.1-1 Section: base Priority: optional Architecture: all Depends: bash (>= 2.05a-11), textutils (>= 2.0-12), awk, procps (>= \ 1:2.0.7-8), sed (>= 3.02-8), grep (>= 2.4.2-3), coreutils (>= 5.0-5) Maintainer: Chr. Clemens Lee <clemens@kclee.com> Deszkription: Linux system information This szkript provides a broad overview of different system aspects. |
A "control" fájlt másold a "debian" könyvtárban lévő "DEBIAN" könyvtárba.
$ mkdir -p debian/DEBIAN $ find ./debian -type d | xargs chmod 755 # a Debian Woodynál ez szükséges, ne kérdezd, hogy miért $ cp control debian/DEBIAN |
Ha nagy valószínűséggel többen fogják használni a csomagodat a jövőben, akkor segíthet a Writing Debian package descriptions (Leírás készítése Debian csomaghoz) cikk.
Már majdnem kész van. Most gépeld be:
$ dpkg-deb --build debian dpkg-deb: building package `linuxstatus' in `debian.deb'. $ mv debian.deb linuxstatus_1.1-1_all.deb |
Úh, egyszerűbb volt, mint ahogy azt várni lehetett. Most már csak telepítened kell a csomagot a saját gépedre, és kész:
root# dpkg -i ./linuxstatus_1.1-1_all.deb |
Gépeld be a "linuxstatus", vagy add ki az "ls -l /usr/bin/linuxstatus" parancsot, hogy sikerült-e. Ha nem kell már a csomagod, akkor gépeld be a "dpkg -r linuxstatus" parancsot és ellenőrizd, hogy sikerült-e az eltávolítás. Ha telepítesz egy újabb verziót, akkor nem kell eltávolítanod a régit.
Ha érdekelnek verziószámozási sémák és a névválasztási konvenciók a Debian csomagok tekintetében, akkor olvasd el ezt a bekezdást a Debian Reference (Debian referencia) leírásban.
Előző | Tartalomjegyzék | Következő |
Csomagszerkezet | Alapos ellenőrzés |