2023. március 14., kedd

debian deb fájl és tároló készítés SF-hez





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] https://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:

deb [trusted=yes] https://downloads.sourceforge.net/project/puppyszoftver/Teszt/NS-Dpup64/nocsak_mod/ all main


0 komment:

Megjegyzés küldése