Csomagkezelők Soós Péter Pannonhalmi Főapátság IPSZILON szeminárium 2006. február 22.

Slides:



Advertisements
Hasonló előadás
Skultéti Attila március 24.
Advertisements

Madárszámlálás Karcza Zsolt – MME Budai-Kiss Tamás - Iqsys.
Térinformatika a Soproni Vízmű Rt. - nél Bódis Gábor Varga Ákos Sopron és Környéke Víz- és Csatornamű Rt.
A kártyanyomtatás fortélyai Csákvári Krisztián Kártya és címke gyártás
Nemzeti Tehetség Program Tehetségútlevél Program „NTP-TÚP ” Bedő Tamás – D82H82 Mérnök informatikus szak Konzulens:Hadarics Kálmán A VoIP protokoll.
PÁTY ÖNKORMÁNYZATA POLGÁRMESTERI HIVATALÁNAK SZERVEZETFEJLESZTÉSE E-KÖZIGAZGATÁSI ALAPISMERETEK AZ ELEKTRONIKUS ÜGYINTÉZÉS ÉS HATÓSÁGI SZOLGÁLTATÁS Bemutató.
ECM/DMS A GYAKORLATBAN E-SZÁMLA KIBOCSÁTÁS ÉS BEFOGADÁS E-SZÁMLA KIBOCSÁTÁS ÉS BEFOGADÁS
Áttörés a hazai távközlésfejlesztésben A Matáv első évtizede Hogyan nőtt a hitelünk? Az út finanszírozása ( ) Készítette: Kis Péter.
Az Endnote bibliográfia adatbázis- kezelő szoftver alapvető használata 2013 Skultéti Attila
TÖMÖRÍTÉS. Fogalma A tömörítés egy olyan eljárás, amelynek segítségével egy fájlból egy kisebb fájl állítható elő. A tömörítési arány függ a fájl típusától,
Követelményelemzés – követelményspecifikáció A szoftverfejlesztés kapcsán az elemzés speciálisan egy kezdeti szakaszt jelöl, amelynek alapvető feladata.
Szeged M. J. Város Polgármesteri Hivatal Nyílt forráskódú megoldások a közigazgatásban Szabad Szoftver Konferencia Szeged, Szegfű László szegfu.laszlo.
Nyitó szakértői találkozó. "C" komponens-informatika Készítette: Farkas László január.28.
Az IKER önértékelő IKER társadalmasítás workshop Budapest, április 12.
Hogyan teljesíthetjük a HpT 13§B követelményeit Egy vállalati Compliance Adatbázis terve Dr Lőrincz István Associator Kft.
CÉLCÉLCSOPORT  Egészségügyi szakmai tájékoztatás és betegtájékoztatás, az egészséges életvitelhez szükséges információk szolgáltatása, publikálása, áttekint-
GUARDING YOUR BUSINESS ■ Linux disztribúciók és FreeBSD az upstream szemszögéből Czanik Péter Community manager syslog-ng upstream.
Nem csak szövegszerkeszt ő virtuózoknak Az Open Office.org 2.0 béta verzió Bándliné Utasi Mária Writer.
Két nagy múltú szövegszerkesztő összehasonlítása az oktatás szempontjából.
NIIF grid projktek: eredmények, trendek, tervek
Internet tudományos használata
OvidSP és az értéknövelt szolgáltatásai
ERASMUS+ DISSZEMINÁCIÓS PLATFORM
Beiskolázás a 2016/2017. tanévre az érettségi utáni képzésekben
Üzleti modell központú fejlesztés
Berényi Eszter – Damásdi Judit
11/2/2017 Horváth Botond, Dunaújvárosi Főiskola, Informatika Biztonság Labor Konzulens Dr. Leitold Ferenc, Hadarics Kálmán “Nemcsak azokkal a sebezhetőségekkel.
Adattárház fejlesztés módszertani tapasztalatok a HIFI-ben
Adatbázis normalizálás
Az iskolai könyvtár telepítése, térszervezése és felszerelése
Óvodától az érettségiig - a kompetencia-alapú oktatás Szegeden
Folyamatmanagement eszközök hódítása Teremts rendet a káoszból PPM-el
Magyar Bibliográfiai Adatbázisok
Integráció a felsőoktatási könyvtárak szolgáltatásfejlesztésében
Bevezető az EndNote X6-ba
Az iskolai könyvtár szolgáltatás típusai
Magyar Tudományos Művek Tára
MTMT szervezeti hierarchia kialakítása a Széchenyi István Egyetemen
Kórházi könyvtárak lehetőségei a tudáspiacon
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata 2015 Skultéti Attila
PHP-SQL adatbáziskezelő parancsai
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata Skultéti Attila
MEZŐGAZDASÁGI KISÜZEM ÉS NAGYÜZEM
Új szolgáltatások illesztése működő rendszerekhez SOA alulnézetben
ADAT ÉS TECHNOLÓGIA ORIENTÁLT MARKETING TEVÉKENYSÉG, VÉGE A MEGÉRZÉSEK ÉS AZ ÉRZELMI ALAPÚ DÖNTÉSHOZATALNAK.
A számítógép operációs rendszere
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata Skultéti Attila
szakképzési és felnőttképzési szakértő
Vasas Lívia, PhD 2017 MTMT Vasas Lívia, PhD 2017.
Rendszerfejlesztés gyakorlat
Az Endnote bibliográfia adatbázis-kezelő szoftver alapvető használata november Skultéti Attila
CALDERONI FORRÁSKEZELŐ RENDSZER
Tájékoztató az Önkormányzati ASP Projektről
MEZŐGAZDASÁGI KISÜZEM ÉS NAGYÜZEM
A villamos installáció problémái a tűzvédelem szempontjából
Hiteles Elektronikus Archívum
Új pályainformációs eszközök - filmek
A minőségellenőrzést támogató program bemutatása, Kérdőívek értékelése
Oracle Adatbázisok kezelése c#-ban
Stratégiai emberierőforrás-fejlesztés
A távoli asztal, valamint az Endnote használata a távoli asztalon
Önkormányzati adattárház
A számítógép operációs rendszere
SQL jogosultság-kezelés
Dr. Vasas Lívia, PhD december
Magyar Bibliográfiai Adatbázisok
Tájékoztató az EPER pályázati folyamatáról
A dolgozói teljesítménymérés gyakorlata a százhalombattai Hamvas Béla Városi Könyvtárban Hamvas Béla Pest Megyei Könyvtár Minőségirányítási szakmai nap.
Adatforgalom és lokális adattárolás PWA-k esetében
OpenBoard Kezelő Tananyag közzététele a KRÉTA rendszerben.
Előadás másolata:

Csomagkezelők Soós Péter Pannonhalmi Főapátság IPSZILON szeminárium február 22.

Milyen az élet csomagkezelők nélkül? ● Letöltés ● Telepítés ● Forrásból ● fordítás: pl. make ● telepítés: pl. make install ● Bináris archívumból ● telepítés kézzel ● telepítés scripttel ● önkicsomagoló bináris (pl. j2re) ● Upgrade ● Eltávolítás

Milyen az élet csomagkezelők nélkül? ● Problémák ● Függőségek kezelése ● Fejleszőkörnyezet (header fájlok, fordítók) kell hozzá ● Nem látszik, mit módosít, ír felül a telepítő ● Cél: /usr/local, /opt, rosszabb esetben /usr, / ● Nehézkes eltávolítás ● Gépenként meg kell ismételni

Csomagkezelők feladatai ● telepítés, eltávolítás, upgrade ● függőségek kezelése ● konfigurációs fájlok kezelése ● integritásellenőrzés ● digitális aláírások kezelése ● különválasztott fordítási és telepítési procedúra ● elválasztott runtime ill. development környezet ● többféle architektúra (esetleg OS) támogatása ● scriptek: preinst, postinst, prerm, postrm

Csomagok, csomagkezelők ● Csomagok, csomagkezelők ● tgz - Slackware ● rpm – Red Hat Package Manager, rpm ● deb – Debian dpkg ● Repository kezelők ● apt - Advanced Package Tool ● yum – Yellowdog Updater Modified ● emerge (Portege) – Gentoo ● ports - *BSD

Slackware tgz ● gzip-pel tömörített tar archívum ● install könyvtár ● scriptek, leírófájlok ● függőségek?

Red Hat rpm ● kezelőprogram: rpm ● cpio alapú ( rpm2cpio ) ● névkonvenció: foo i386.rpm ● telepítés: rpm {-i|--install} ● eltávolítás: rpm {-e|--erase} ● upgrade: rpm {-U|--upgrade|-F|--freshen} ● állapot: rpm {-V|--verify} ● lekérdezések: rpmquery ● digitális aláírás a csomagban ● fordítás és telepítés során nincs interakció ● adatbázis ● bináris ● /var/lib/rpm

Debian deb ● kezelőprogram: dpkg ● gzip-pel tömörített tar archívumok ar-ral csomagolva ● debian-binary ● control.tar.gz ● data.tar.gz ● névkonvenció: foo_1.0-1.i386.deb ● telepítés: dpkg {-i|--install} ● eltávolítás: dpkg {-r|--remove|-P|--purge} ● upgrade: dpkg {-i|--install} ● státusz: dpkg {-s|--status} ● lekérdezések: dpkg-query

Debian deb ● md5 hash, digitális aláírás külön fájlokban (.dsc,.changes ) ● a telepítés során megengedett a felhasználói interakció ● adatbázis ● szöveges ● /var/lib/dpkg

Csomagok készítése ● Fázisok ● forrásarchívum előkészítése ● letöltés ● kicsomagolás ● átnevezés ● patch ● fordítás ● csomagkészítés ● digitális aláírás

Csomagok készítése - előkészületek ● rendszer előkészítése ● szükséges csomagok telepítése ● gpg kulcspár készítése ● parancs: gpg –-gen-key ● Név: Gipsz Jakab ● ● $HOME/.rpmmacros file létrehozása: %_topdir $(echo $HOME)/rpm/ %_signature gpg %_gpg_name Gipsz Jakab

Csomagok készítése - előkészületek ● rpm könyvtárstruktúra létrehozása $HOME/.rpmmacros fájllal összhangban: $HOME/rpm/ $HOME/rpm/BUILD $HOME/rpm/RPMS $HOME/rpm/RPMS/i386 $HOME/rpm/RPMS/i486 $HOME/rpm/RPMS/i586 $HOME/rpm/RPMS/i686 $HOME/rpm/RPMS/athlon $HOME/rpm/RPMS/noarch $HOME/rpm/SOURCES $HOME/rpm/SPECS $HOME/rpm/SRPMS

rpm könyvtárstruktúra ● SOURCES források, patch-ek, scriptek, minden, amiből a csomagok készülnek ● SPECS a csomagok elkészítését vezérlő leíró (.spec ) fájlok ● BUILD ide csomagolja ki a forrásokat, itt történik a fordítás ● RPMS kész csomagok helye, architectúránként külön könyvtárban ● SRPMS forrásokat tartalmazó csomagok (.src.rpm ) helye

rpm.spec file ● Kötelező fejlécmezők: ● Name: ● Version: ● Release: ● Source: ● Summary: ● Group: ● License: ● Javasolt: ● BuildRoot: ● URL: ● Vendor:

rpm.spec file ● Gyakori opcionális mezők: ● Provides: ● Requires: ● Conflicts: ● scriptek: ● %prep ● %build ● %install ● %clean ● %pre ● %post ● %preun ● %postun

rpm.spec file ● makrók, változók, scriptek, vezérlőelemek: %valami (pl. %description, %{_libdir} ) ● speciális részek ● %description ● %changelog ● %files

deb csomag készítése ● forrást foo_1.0.orig.tar.gz formába kell alakítani (kivétel: natív Debian csomag) ● a forrást ki kell bontani foo-1.0 formátumú könyvtárba ● ebben a könyvtárban létre kell hozni egy debian könyvtárat: debian/ debian/changelog debian/control debian/copyright debian/rules

debian/control A forrás és bináris csomagokat sorolja fel: Source: hello1 Section: text Priority: extra Maintainer: Gipsz Jakab Standards-Version: Package: hello1 Section: text Architecture: any Description: A "hello, world" program An implementation of the standard "hello, world" program

debian/changelog ● a csomag változtatásait dokumentálja ● verziószám, release number, digitális aláírás ● formátuma: hello1 (1.0-0) unstable; urgency=low * First release. -- Gipsz Jakab Mon, 05 Feb :00:

debian/copyright ● Jogi információk ● Származás (pl. URL) ● Jogtulajdonos (pl. szerző) ● Debianizer ● Licence típusa ● EULA (teljes szöveg vagy hivatkozás)

debian/rules ● Makefile ● Futtatható ● chmod +x debian/rules ● #!/usr/bin/make -f ● Kötelező make target-ek: ● build ● clean ● binary-indep ● binary-arch ● binary

Egyszerű "hello, word" csomagok ● hello1 ● egyetlen bináris fájl ● deb ● debhelper nélkül ● natív Debian csomag ● rpm ● egyszerű szerkezet ● hello2 ● u.a. mint a hello1 ● deb ● debhelper ● natív Debian csomag ● rpm ● u.a. mint a hello1

Egyszerű "hello, word" csomagok ● hello3 ● összetett csomag (alcsomagok) ● deb ● alcsomagok – hello3 – libhello3 – libhello3-dev ● debhelper ● extrák ● natív Debian csomag ● rpm ● alcsomagok – hello3 – libhello3 – libhello3-devel

debhelper ● kicsi, egyszerű programok ( dh_* ) ● debian/rules fájlban használhatók ● követi a debian policy változásait

Egy egyszerű csomag: codeconv ● Egyszerű Internetről letöltött csomag ● Saját patch-el kiegészítve ● Konfigurációs fájlok

Egy egyszerű csomag: codeconv ● deb csomag készítése: $ mkdir deb/codeconv $ cd deb/codeconv $ wget tar.gzhttp:// 2.3.tar.gz $ mkdir codeconv-2.3 $ cd codeconv-2.3 $ tar xvzf../codeconv-2.3.tar.gz $ patch -p1 <../codeconv-2.3.patch (ez a saját patch) $ dh_make -s -f../codeconv-2.3.tar.gz -e debian/* szerkesztése, a felesleg törlése $ fakeroot dpkg-buildpackage

Egy egyszerű csomag: codeconv ● rpm csomag készítése $ wget tar.gzhttp:// 2.3.tar.gz $ cp codeconv-2.3.tar.gz rpm/SOURCES (a codeconv-2.3.patch már ott van) rpm/SPECS/codeconv.spec szerkesztése $ rpmbuild -ba –-sign rpm/SPECS/codeconv.spec

Csomagok karbantartása ● A saját csomagok fejlesztése, tesztelése ● Az upstream forrás folyamatos ellenőrzése ● Biztonsági fórumok figyelése ● rpm ● URL mező: Kézzel kell ellenőrizni ● több forrás és patch lehetősége ● deb ● watch file: automatizálható az upstream ellenőrzése ● nehézkes a patch

Backport, módosított csomagok ● Backport ● Újabb disztribúcióból származó csomag ● Egyszerűbb esetben csak újrafordítás ● Bonyolultabb esetben függőségek feloldása ● Changelog ● Verziószám, release number ● Módosított csomagok ● Hibajavítás ● Új funkció ● Függőségek módosítása ● Changelog ● Verziószám, release number ● A kettő együtt

Repository ● Mi a repository? ● Miért van rá szükség? ● Repository-kezelő szoftverek ● deb ● apt ● rpm ● apt: ● yum:

Debian apt repository ● Packages, Packages.gz, Sources, Sources.gz dpkg-scanpackages. /dev/null >Packages dpkg-scansources. /dev/null >Sources gzip -c Packages >Packages.gz gzip -c Sources >Sources.gz ● Bonyolultabb esetben: apt-ftparchive(1).

Irodalom ● Általános Filesystem Hierarchy Standard: RPM Guide: ● rpm Maximum RPM: RPM Guide: RPM HOWTO: The Fight: rpm kézikönyvek: rpm(8), rpmbuild(8)

Irodalom ● deb Debian Policy Manual: Debian's New Maintainers Guide: guide/ guide/ Packaging tips for unofficial Debian packages: dpkg kézikönyv: dpkg(8) debhelper kézikönyv: debhelper(7)

Köszönöm a figyelmet! Soós Péter