Linuxra készült programok kézenfekvő terjesztési módja a beépített csomagkezelő használata.
Linuxra készült programok kézenfekvő terjesztési módja a beépített csomagkezelő használata.
Az alábbiakban az APT csomagkezelőhöz szükséges tároló létrehozása kerül ismertetésre apache2 szerveren, amely felhasználónév jelszó párossal (ez elhagyható) érhető el https protokollon. Az alábbi leírás a www.brickorama.hu szerveren készült, így minden hivatkozásban az található. A felhasználónév és jelszó kezelését az apache2 végzi, itt nem kerül kifejtésre, a leírásban ezekhez a $felhasználónév és $jelszó jelzések használatosak. Minden parancs a domainhez tartozó felhasználó (brickorama.hu) nevében került kiadásra, ami másra nincs használva, így elkerülhető pl. a pgp kulcs felülírása.
Az alábbiakban az APT (Advanced Packaging Tool) csomagkezelőhöz szükséges tároló létrehozása kerül ismertetésre apache2 szerveren, amely felhasználónév jelszó párossal (ez elhagyható) érhető el https protokollon. Az alábbi leírás a www.brickorama.hu szerveren készült, így minden hivatkozásban az található. A felhasználónév és jelszó kezelését az apache2 végzi, itt nem kerül kifejtésre, a leírásban ezekhez a $felhasználónév és $jelszó jelzések használatosak. Minden parancs a domainhez tartozó felhasználó (brickorama.hu) nevében került kiadásra, ami másra nincs használva, így elkerülhető pl. a pgp kulcs felülírása.
## A tároló aláírásához szükséges PGP kulcs létrehozása
## A tároló aláírásához szükséges PGP kulcs létrehozása
@ -49,7 +49,7 @@ Archívum típus:
deb: A tároló a disztribúció számára előre lefordított bináris csomagfájlokat (.deb) tartalmaz.
deb: A tároló a disztribúció számára előre lefordított bináris csomagfájlokat (.deb) tartalmaz.
deb-src: A tároló a csomagok forráskódjának fájljait és a kontroll fájlt (.dsc) tartalmazza. Így lehetőség van a csomagokat a forráskódjukból újra lefordítani.
deb-src: A tároló a csomagok forráskódjának fájljait és a kontroll fájlt (.dsc) tartalmazza. Így lehetőség van a csomagokat a forráskódjukból újra lefordítani.
Tároló (repository) URL: Ez tartalmazza a tároló fizikai URL alapú elérhetőségét.
Tároló (repository) URL: Ez tartalmazza a tároló fizikai URL alapú elérhetőségét, ez egyben a tároló gyökere, ha szükséges az autentikáció, ehhez a könyvtárhoz kell beállítani..
Disztribúció: Ezek tulajdonképpen a a tároló gyökerében lévő **dists** könyvtár alkönyvtárai, lehet a disztribúció kiadásának kódneve (pl. jessie, stretch, buster, sid) vagy a csomagok kiadásának osztálya (pl. oldstable, stable, testing, unstable), attól függően, hogy milyen jellegű csomagfrissítésekre van szükség (régebbi stabil változatoktól a legfrissebb teszt változatokig).
Disztribúció: Ezek tulajdonképpen a a tároló gyökerében lévő **dists** könyvtár alkönyvtárai, lehet a disztribúció kiadásának kódneve (pl. jessie, stretch, buster, sid) vagy a csomagok kiadásának osztálya (pl. oldstable, stable, testing, unstable), attól függően, hogy milyen jellegű csomagfrissítésekre van szükség (régebbi stabil változatoktól a legfrissebb teszt változatokig).
@ -61,30 +61,40 @@ Komponens: Ez a disztribúció alkönyvtára, az alábbiak közül tartalmazhat
A csomagok telepítéséhez a csomagkezelő letölti a disztribúció könyvtárában lévő **Release** vagy **InRelease** fájlt. Mindkettő a **.deb** fájlok útvonalát tartalmazó **Package** fájlok helyét adja meg, az előbbi egy kísérő **Release.pgp** fájllal írja alá az információt, az utóbbi pedig tartalmazza az aláírást is.
A csomagok telepítéséhez a csomagkezelő letölti a disztribúció könyvtárában lévő **Release** vagy **InRelease** fájlt. Mindkettő a **.deb** fájlok útvonalát tartalmazó **Package** fájlok helyét adja meg, az előbbi egy kísérő **Release.pgp** fájllal írja alá az információt, az utóbbi pedig tartalmazza az aláírást is.
A **Package** csomagindex fájlok komponens könyvtárak **binary-$arch** alkönyvtárában találhatók. A forrásindex fájlok a **source** alkönyvtárban találhatók.
A **Packages** csomagindex fájlok komponens könyvtárak **binary-$arch** alkönyvtárában találhatók. A forrásindex fájlok a **source** alkönyvtárban találhatók. Ezeknek általában a tömörített változata használatos (**Packages.gz**).
A Release, InRelease és Package fájlok minden útvonalat relatívként tartalmaznak a tároló gyökeréhez képest.
A Release, InRelease és Packages fájlok minden útvonalat relatívként tartalmaznak a tároló gyökeréhez képest.
A .deb fájlok elhelyezhetők a komponens könyvtárak binary-$arch alkönyvtáraiban, de szétválaszthatók a tároló gyökerében lévő **pool** könyvtárba is. Ekkor azon belül a $disztribúció/$komponens/ könyvtárba kell teni a .deb fájlokat.
A .deb fájlok elhelyezhetők a komponens könyvtárak binary-$arch alkönyvtáraiban, de a fájlok ismétlődésének elkerülése érdekében ajánlatos azokat a tároló gyökerében lévő **pool** könyvtárba feltölteni, így ugyanarra a .deb fájlra több indexből is lehet hivatkozni.
Egyszerű tárolóhoz (flat repository) lehet használni a gyökérkönyvtárat disztribúció gyanánt (**/**), ekkor a metadatok index fájljai a tároló gyökerében, a *deb fájlok pedig annak egy alkönyvtárában vannak.
Egyszerű tárolóhoz (flat repository) lehet használni a gyökérkönyvtárat disztribúció gyanánt (**/**), ekkor a metadatok index fájljai a tároló gyökerében, a .deb fájlok pedig annak egy alkönyvtárában vannak.
### A tároló létrehozása
### A tároló létrehozása
Ehhez a webkiszolgálón szükség van egy alkönyvtárra, ez lesz a tároló **url**-e, egyben a tároló gyökere, ha szükséges az autentikáció, ehhez a könyvtárhoz kell beállítani.
Első lépésként a webkiszolgálón szükség van egy alkönyvtárra, ez lesz a tároló gyökere.
```
```
mkdir ~/www/apt-repo
mkdir ~/www/apt-repo
```
```
A disztribúció tulajdonképpen a tároló gyökerében lévő **dists** könyvtár alkönyvtárai, amelyekben a további alkönyvtárak a komponensek. A csomagokat érdems
A következő parancsok kiadása, mind innen fog történni, bele kell lépni.