From 3cb74472d65178c293ccaab42e184340ce29e288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Varga=20P=C3=A1l?= Date: Fri, 12 May 2023 10:06:58 +0200 Subject: [PATCH] =?UTF-8?q?'README.md'=20m=C3=B3dos=C3=ADt=C3=A1sa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 791be89..034d2dc 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ 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 @@ -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-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). @@ -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 **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 -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 ``` -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. +``` +cd ~/www/apt-repo +``` -apt-ftparchive --arch armhf packages pool/rpi4/main/ > dists/rpi4/main/binary-armhf/Packages +Alkönyvtárak létrehozása. +``` +mkdir -p dists/rpi4/main/binary-armhf +mkdir -p pool/rpi4/main +``` -gzip -k -f Packages +Az .deb csomagokat a pool/rpi4/main könyvtárba kell másolni, ezután létrehozhatók az index fájlok. +``` +apt-ftparchive --arch armhf packages pool/rpi4/main/ > dists/rpi4/main/binary-armhf/Packages +gzip -k -f dists/rpi4/main/binary-armhf/Packages -apt-ftparchive release . > Release -gpg --default-key brickorama.hu -abs -o Relase.gpg Release -gpg --default-key brickorama.hu --clearsign -o InRelease Release +apt-ftparchive release dists/rpi4 > dists/rpi4/Release +gpg --default-key brickorama.hu -abs -o dists/rpi4/Relase.gpg dists/rpi4/Release +gpg --default-key brickorama.hu --clearsign -o dists/rpi4/InRelease dists/rpi4/Release ## A tároló használata