
Ebben a nem túl hosszú leírásban a debian deb fájlok készítéséről és az SF -ről mint lehetséges tárolóról ejtek pár szót. Itt is előjelzem, hogy akit érdekel, minél előbb mentse le a cikket pdf-ként és a szkriptet is!
Először is egy javaslat – mentsük le pdf-ként a következő oldalt és a szkriptet is mentsük le róla, mert manapság hullócsillag életűek a hasznavehető URL-ek az interneten:
https://earthly.dev/blog/creating-and-hosting-your-own-deb-packages-and-apt-repo/
A procedúra alapjául a következő források is szolgáltak:
https://rpmdeb.com/devops-articles/how-to-create-local-debian-repository/
https://sourceforge.net/p/ubuntuzilla/wiki/Main_Page/
És akkor jöjjön a száraz hosszú rész, a válasz a hogyan kérdésre:
Az apt lelkivilágába
még nem sikerült mélyrehatóan belelátni, így még a működés
egy része a rejtélyt képez, így viszont csak az ubuntuzilla-s
megoldás leklónozása SF esetében a legcélravezetőbb….
Először
azt javaslom, készítsük el a mappákat:
*repodir*/dists/all/main/binary-amd64/
*repodir*/pool/main/
A
szkripttel amit a legelső linken részletez a forráscikk ext
fájlrendszeren javasolt dolgozni úgy, hogy a lemezen, a dists és a
pool mappákon kintebb legyen maga a szkript.
A
forráscikket követve hozzuk létre a Packages és Packages.gz
fájlokat. Ebben az esetben is a stable könyvtár a mi példánkban
az all. Ugyanígy futtassuk a szkriptet annak abszolút
hivatkozásával, a /dists/all/ könyvtárba nyitott terminállal.
Ha készen vagyunk a
mappastruktúrákat létrehozzuk az SF tárolónkon abban a mappában
amivel operálni szeretnénk, majd ha felmásoltuk a kapott Release
és Packages fájlokat a megfelelő helyükre, letesztelhetjük az
ubuntuzilla wiki példája alapján úgy, hogy a myrepo.list fájlt
létrehozzuk az apt-s puppynk vagy rendszerünk
/etc/apt/sources.list.d/myrepo.list fájljával a következő
sorral benne:
deb [trusted=yes]
http
s
://downloads.sourceforge.net/project/
your_SF_project_name
/
repodir
/
all main
hagyjunk a végén egy üres sort, mentsük ezt a myrepo.list fájlt és terminálból először futtassunk puppy esetén egy apt-get update parancsot, és ha minden rendben történt, akkor a /pool/main/*.deb fájlokra korábban kiadott
dpkg-scanpackages --arch amd64 pool/ > dists/all/main/binary-amd64/Packages
paranccsal melyet
abból a könyvtárból futtattunk helyesen amiben a dists és a pool
volt, illetve van ugye, - így bekerül az apt adatbázisunkba a
frissen létrehozott tárolónk és a bele készített deb fájljaink
vagy fájlunk. Könnyen ellenőrizhetjük apt search paranccsal és a
mögé írt csomagnévvel, hogy valóban lefrissült e az adatbázis.
Amennyiben igen és mindent rendben csináltunk akkor ki kell adja
találatnak a keresett csomag nevét és rövid leírását ami a
control fájl Description: részének első sora.
Ügyeljünk
majd a control fájl küllemére, ugyanis ha több sorba írjuk a
jellemzést és leírást akkor szóközt tegyünk a soron következő
sorok elé.
Ha nagyon ragozni akarjuk itt van még egy
link:
https://www.devdungeon.com/content/debian-package-tutorial-dpkgdeb#toc-17
Ahol a postinst és
preinst szkriptekről is szó esik.
A Puppyszoftveren található e leírás alapját képező példakönyvtár helye:
https://sourceforge.net/projects/puppyszoftver/files/Teszt/NS-Dpup64/nocsak_mod/
Ha ehhez hozzuk létre a myrepo.list fájlt ezt írjuk bele:
0 komment:
Megjegyzés küldése