Debian Software Package-ek létrehozása
Debian Software Package-ek létrehozása
Rovat: Linux | Dátum: 2008-02-29 08:00:00 | Írta: Szűcs László

Sok olyan programot szoktam használni amelyek nem érhetők el 'Debian Software Package' (.deb) formában, és körülményes a telepítésük. Igencsak megkönnyíti az életet ha nem kell több tíz percet ezek manuális installálására szánni.


Először célszerű megismerkedni a 'Debian Software Package'-ek felépítésével. Ezt megteheted ha egy 'gyári' .deb csomagot Archívumkezelővel nyitsz meg.

 

 

Debian binary: Ez a fájl mindössze a csomag verziószámát tartalmazza, amelynek 2.0-nak kell lennie.

Control.tar.gz: ez tartalmazza a csomaghoz tartozó leírásokat illetve a telepítési és eltávolítási utasításokat. Ezt is megnyithatod és belenézhetsz. Általános esetben a control.tar.gz 5 fájlt tartalmaz:

control ? ez a szöveges fájl tartalmazza a telepítendő program nevét, verzióját, függőségeit, a létrehozó nevét, és a program leírását. Van néhány 'mező' amit mindenképpen ki kell tölteni (lásd később).

preinst ? ez egy script ami azokat az utasításokat tartalmazza, amelyeket végre kell hajtani a program fájljainak a megfelelő helyre másolása előtt.

postinst ? a fájlok felmásolása után végrehajtandó script.

prerm ? a program eltávolításakor a program fájljainak törlése előtt végrehajtandó script.

postrm ? a fájlok törlése után végrehajtandó script.

 

 

Data.tar.gz: a program fájljait tartalmazza, azzal a mappastruktúrával ahogyan majd telepítve lesz.

A .deb csomagot viszonylag gyorsan és egyszerűen elkészítheted. Először is a 'sudo apt-get install *' paranccsal telepítsd fel a szükséges programokat (a csillag helyére a program nevét írd):
build-essential

dpkg-dev

Továbbá szükséges programokat (dpkg, gcc, make) általában az operációs rendszer alap telepítése is tartalmazza.

Ezt követően egy mappába össze gyűjtöd a szükséges scripteket és telepítendő fájlokat (létrehozva a megfelelő mappastruktúrákat). Majd terminal-ban futtatod a 'dpkg -b xy zw' parancsot (ahol xy a mappa elérési útja, ahova a szükséges fájlokat gyűjtötted, zw pedig a kimeneti fájl neve).

Egy példán keresztül fogom bemutatni konkrétan hogy is működik ez. A XAMPP nevű Apache alapú programot szoktam webszervernek használni, de annyi gond van vele hogy nincs .deb telepítőcsomag változata, illetve hogy nem indul el az operációs rendszer indításakor automatikusan.

A csomag készítés menete:

  1. A Munkaasztalon létrehoztam egy 'xampp' nevű mappát; ebben dolgoztam. A XAMPP letöltése után a csomagot kitömörítettem a 'xampp/opt/' mappába. A telepítés után a program a '/opt/' mappába fog kerülni.

 

  1. Létrehoztam a 'xampp/DEBIAN' mappát ? ide kerül a csomag leírása és a telepítési utasítások:

    control: a képen látható 'control' fájlban szereplő 'mezők' fontosak; ha saját csomagot készítesz akkor legalább ezeket írd bele. Az itt szereplő 'mezőkön' kívül szükséged lehet a 'Conflicts' és a 'Replaces' opcióra is. Ezeket akkor kell használnod ha van olyan program amely ütközésbe kerülhet a programoddal. ('Conflicts' ? ezen programok jelenléte esetén a csomag nem telepíthető, 'Replaces' ? esetén ezeket a programokat eltávolítja, majd a te programodat telepíti a rendszer). Fontos hogy az egyes címszavak után ':'-ot használj.

debian-binary

 

 

postinst: ez a script felveszi a '/etc/init.d/' mappába másolandó 'xampp' scriptet a rendszerindításkor lefutó scriptek listájára. Fontos a '!#/bin/sh' rész; ez mondja meg hogy milyen parancsértelmezőt használjon a script.

 

prerm: ez a script a program eltávolításakor a fájlok törlése előtt lefutva eltávolítja a 'xampp' scriptet a rendszerindításkor induló scriptek listájáról.

  
  1. A 'xampp/etc/init.d/' mappában hoztam létre a 'xampp' nevű scriptet, amely majd az '/etc/init.d/' mappába fog kerülni. Ennek a scriptnek a feladata az XAMPP rendszerindításkor történő beizzítása.

  1. Terminál indítása után a 'dpkg -b xampp/ xampp-1.6.6_i386.deb' paranccsal utasítottam a dpkg programot a .deb csomag 'építésére' (-b=build).

  

A csomag a 'GDebi Package Installer' programmal, vagy parancssorból a 'dpkg -i' segítségével telepíthető.

 

 

 

 





2007 - 2017 © Minden jog fenntartva!
OLVASTAD MÁR?


Mostanság egyre több telefont termel magából ki a kínai piac, ami lehet saját szerzemény vagy egy kategóriának a koppintása. Lássuk a prémium kategóriás UMI Zero-t.