NÉV
deb−control − Debian csomag fő kontroll fájl formátum
SZINOPSZIS
kontroll
LEÍRÁS
Minden Debian csomag tartalmazza a mester ’control’ fájlt, mely mezőkből áll. Minden mező egy tag−gel kezdődik, pl. Package vagy Version (nagybetű−érzéketlen), melyet kettőspont és mezőtörzs követ. A mezőket csak a mező tag−ek választják el. Vagyis, a mező szövege több sorból is állhat, de a telepítő eszközök általában összefűzik ezeket egy mezőtörzs feldolgozásakor (kivéve a Description mezőt, l. alább).
KÖTELEZŐ MEZŐK
Package: <csomag név>
E mező értéke adja meg a csomag nevét, melyből a legtöbb telepítő eszköz fájlneveket állít elő.
Version: <verzió>
Ez általában az eredeti csomag verzió szám, a program szerzője által használt formában. Debian revízió számot is tartalmazhat (nem−natív csomagoknál). Ha mindkettő meg van adva, elválasztásuk kötőjellel történik, ’−’. Ezért az eredeti változat nem tartalmazhat kötőjelet verziószámában.
Maintainer: <teljes.név email>
Formája ilyen lehet: ’Joe Bloggs <jbloggs [AT] foo.com>’, és általában nem a szoftver szerzőjét hanem a csomag készítőjét tartalmazza.
Description: <rövid leírás>
<hosszú
leírás>
A csomagok leírásának formátuma
egy rövid összefoglaló az 1. sorban (a
"Description" tag után). A
következő sorok hosszabb leírásra
használhatók. A hosszú
leírás minden sora szóközzel kell
kezdődjön, és a hosszú
leírás üres sorai egy
’.’−t kell tartalmazzanak a vezető
szóköz után.
LEHETSÉGES MEZŐK
Section: <szakasz>
Ez egy általános mező, mely a csomagot egy témakörhöz (szakaszhoz) társítja, például ilyenekhez: ’utils’, ’net’, ’mail’, ’text’, ’x11’ stb.
Priority: <elsőbbség>
Megadja e csomag fontosságát a rendszer egészében. Ilyenek például: ’required’, ’standard’, ’optional’, ’extra’ (kötelező, szokásos...) stb.
A Debianban a
Section és Priority mezők a Policy
Manual leírásban adott értékeket
vehetik fel. Ezek adják meg egy csomag
elhelyezkedését az archívumban. Ezek
megtekinthetők a debian−policy csomag
legutóbbi verziójában.
Essential: <yes|no>
E mező általában csak akkor kell, ha válasz ’yes’ (igen). Ez a csomagot a rendszer helyes működéséhez lényegesnek írja le. A dpkg vagy más telepítő eszköz alapértelmezetten nem hajtja végre az Essential (lényeges) csomagok eltávolítását (csak kényszerítő lehetőségekkel).
Architecture: <arch|all>
Az architektúra megadja, hogy e csomag milyen gépre fordított. A leggyakrabbak ’i386’, ’amd64’, ’powerpc’, ’m68k’, ’sparc’, ’alpha’, stb. Az all lehetőség az ettől független csomagokat jelenti. Például ilyenek a Perl parancsfájlok és dokumentációk.
Source: <forrás név>
Annak a forrás csomagnak a neve, ahonnan e bináris is származik, ha eltér.
Depends: <csomag lista>
Azon csomagok listája, melyek szükségesek egy csomag rendes működéséhez. A csomag−karbantartó szoftver nem engedi a telepítést a Depends mezőben megadott csomagok telepítése nélkül (csak kényszerítő lehetőségekkel), és lefuttatja a postinst és prerm parancsfájlokat.
Pre−Depends: <csomag lista>
Azon csomagok listája, melyek telepítése és konfigurálása kötelező ennek telepítése előtt. Általában akkor használatos, ha e csomag a telepítés előtti (preinst) parancsfájl lefuttatásához egy másik csomagot igényel
Recommends: <csomag lista>
Azon csomagok listája, melyeket e csomaggal mindig együtt szokás használni, kivéve egyes, szokásostól eltérő telepítéseket. A csomag−karbantartó szoftver figyelmezteti a felhasználót, ha a Recommends mezőben lévő csomagok kijelölése nélkül telepít.
Suggests: <csomag lista>
Azon csomagok listája, melyek ennek képességeit növelhetik, de melyek mellőzhetők.
A Depends, Pre−Depends, Recommends és Suggests mezők szintaxisa más csomagok csoportjainak listája. Minden csoport egy függőleges vonalakkal (ún. ’pipa’, ’|’ jelekkel) elválasztott csomaglista. A csoportok vesszőkkel vannak elválasztva. A vessző jelentése ’ÉS’, a pipáé ’VAGY’, akár nagyobb kötésekkel. Minden csomagnevet a verziószám megadása követhet zárójelben.
A
verziószám kezdődhet így:
’>>’, ekkor bármely
későbbi verzió megfelel, és
megadhat Debian csomag revíziót
(kötőjellel elválasztva). Elfogadott
verzióviszonyok: ">>" nagyobb mint,
"<<" kisebb mint, ">=" nagyobb
vagy egyenlő, "<=" kisebb vagy
egyenlő, és "=" egyenlő.
Conflicts: <csomag lista>
Ütköző csomagok, például azonos nevű fájlokat tartalmazók. A csomagkarbantartó szoftver nem engedi ezek egyidejű telepítését. 2 ütköző csomag 1−1 Conflicts mezőben hivatkozik egymásra.
Replaces: <csomag lista>
Az e csomag által lecserélt csomag fájlok listája. Ez lehetővé teszi e csomagnak más csomag fájljainak felülírását és általában a <Conflicts> mezővel használatos a másik csomag törlésére, ha ez azonos nevű fájlt tartalmaz, mint az ütköző csomag.
Provides: <csomag lista>
Ez egy e csomag által adott virtuális csomaglista. Általában eltérő csomagok által nyújtott hasonló szolgáltatás esetén használt. Például a sendmail és exim levelező−kiszolgálók, így egy általános csomagot adnak (’mail−transport−agent’), melytől más csomagok függhetnek. Így a sendmail vagy exim érvényes függőségként szolgálhat. Így a csomagoknak nem kell ismerniük az összes levelező−kiszolgálót egy ’|’−kkal elválasztott listában.
A Conflicts, Replaces és Provides szintaxisa egy vesszőkkel (és tetszőleges helykitöltőkkel) elválasztott csomagnév lista. A Conflicts mezőben, a vessző ’VAGY’. A verzió szintén megadható a már ismert módon.
PÉLDA
Package: grep
Essential: yes
Priority: required
Section: base
Maintainer: Wichert Akkerman <wakkerma [AT] debian.org>
Architecture: sparc
Version: 2.4−1
Pre−Depends: libc6 (>= 2.0.105)
Provides: rgrep
Conflicts: rgrep
Description: GNU grep, egrep and fgrep.
The GNU family of grep utilities may be the "fastest
grep in the west".
GNU grep is based on a fast lazy−state deterministic
matcher (about
twice as fast as stock Unix egrep) hybridized with a
Boyer−Moore−Gosper
search for a fixed string that eliminates impossible text
from being
considered by the full regexp matcher without necessarily
having to
look at every character. The result is typically many times
faster
than Unix grep or egrep. (Regular expressions containing
backreferencing
will run more slowly, however.)
LÁSD MÉG
Ford: SZERVÁC Attila