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

Hasonló dokumentumok
Csomagkezelés haladó. Bakai Dániel, volt reszortvezető

Kiszolgálók üzemeltetése. Iványi Péter

Bináris Debian csomag készítése HOGYAN

RH/CentOS felügyelet SUSE Manager segítségével. Kovács Lajos Vezető konzultáns

eszemélyi Kliens Szoftvercsomag

Mobil Informatikai Rendszerek

Telepítés Linux alatt röviden - általánosan

Linux alapok gyakorlat

Mobil Informatikai Rendszerek

Google Drive szinkronizálása asztali géppel Linux rendszeren

Synaptic, a csomagtelepítõk gyöngye. Üzemeltetés

Elemi alkalmazások fejlesztése I.

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

A L i n u x r u h á j a

SOPHOS simple + secure. A dobozba rejtett biztonság UTM 9. Kókai Gábor - Sophos Advanced Engineer Balogh Viktor - Sophos Architect SOPHOS

Kommunikációs rendszerek programozása (NGB_TA024_1) MÉRÉSI JEGYZ ŐKÖNYV. (4. mérés) OSPF protokollal megvalósított Quagga router

2. lépés: openssh szerver telepítés sudo apt-get install openssh-server

Operációs rendszerek gyakorlat

Hardver és szoftver követelmények

Fási PHP függőségkezelés composerrel

Készítette: Sallai András Terjesztés csak engedéllyel sallaia_kukac_fre _pont_hu

Hálózatok építése és üzemeltetése

A Linux operációs rendszer 2017.

A Debian GNU/Linux, mint Hálózati operációs rendszer

Egy egyszerű, gyors és szabad újratelepítő eszköz: upi

eszemélyi Kliens Szoftvercsomag

Dr. Schuster György október 14.

Operációs rendszerek gyakorlat

Tájékoztató. Használható segédeszköz: -

C++ fejlesztés az ECLIPSE környezetben

Szathmáry László Debreceni Egyetem Informatikai Kar

SysVinit / Upstart / Systemd. Zahemszky Gábor mérnök tanácsadó

Tudás Reflektor. Copyright 2011; Kodácsy Tamás;

RapidMiner telepítés i. RapidMiner telepítés

Youtube videó letöltés és konvertálás Linuxon

Szolgáltatás és Minőségfejlesztés a Corvinus Egyetemen Kiss György János Mogyorósi János

Szoftver technológia. Build systems. Cserép Máté ELTE Informatikai Kar 2019.

Operációs rendszerek. 4. gyakorlat. BASH bevezetés, script írása, futtatása UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Telepítési dokumentáció. Naviscon Informatikai Zrt Budapest, Montevideó utca 16/b.

LINUX LDAP címtár. Mi a címtár?

Alternatív processz állapot és statisztika lekérdezési módszer a Linux kernelben

WINDOWS TELEPÍTÉSI ÉS AKTIVÁLÁSI ÚTMUTATÓ A FOTOBETYAR.HU - PHOTOSHOP PLUGINJEIHEZ

Viczián István IP Systems JUM XIX szeptember 18.

Android alapok. Android játékfejlesztés

2017/01/27 08:59 1/6 Gettext Rendszer

K2 SIMU KAPCSOLATI KISZOLGÁLÓ MUNKAÁLLOMÁS szoftver

Java I. A Java programozási nyelv

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Névfeloldás hosts, nsswitch, DNS

Robot Operating System

DRUPAL 7. újdonságai. Hojtsy Gábor Drupal Hétvége, Budapest november 14. Angela Byron fóliái alapján

Sharpdesk Információs útmutató

Web harvesztelés. Automatikus módszerekkel

1. Origin telepítése. A telepítő első képernyőjén kattintson a Next gombra:

WordWall FELHASZNÁLÓI KÉZIKÖNYV

ArcGIS for Desktop Tippek & Trükkök. Beke Dániel ESRI Magyarország Kft.

Automatizált Java Build. ApacheAnt használatával

1 of :54

Operációs Rendszerek II. labor alkalom

Source control systems. Horváth Ernő, Dr. Pozna Claudiu Radu

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

Linux kiszolgáló felügyelet: SUSE Manager

Unix/Linux alapok. Operációs rendszerek I. készítette: Bringye Zsolt, Kozlovszky Miklós, Póserné Oláh Valéria, Windisch Gergely

Magyar Nemzeti Bank FELHASZNÁLÓI SEGÉDLET

SZTE Egyetemi Könyvtár. Bán Attila István - Gál Gyula

Unix fájl-hierarchia

C/C++ programozás UNIX környezetben

Operációs rendszerek gyakorlat

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

Hálózati szolgáltatások nyújtása Linux alatt

Készülék szoftverének manuális frissítése SP Flashtool segítségével.

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

MyAstaro kézikönyv. kulcs aktiválás és licenc megújítás. Tartalomjegyzék

1_Linux_bevezeto_bash

Moodle IPSZILON előadás március 23.

FortiClient VPN-IPSec kliens konfigurációs segédlet

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

Operációs rendszerek gyakorlat

Tartalomjegyzék. A Gmate szoftver letöltése. 3. A Gmate+ párosítása Apple eszközünkkel...4. Híváskezdeményezés...5. SMS küldés...6. Beállítások...

Java I. A Java programozási nyelv

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

Linux alapok és használatuk

Linux + XFS HOGYAN. Szteroiddal fűtött Linux. Russel Ingram. ringram@gargoylecc.com

Kormányzati Elektronikus Aláíró és Aláírás-ellenőrző Szoftver

Térkép szerver (MapServer)

Operációs rendszerek gyak.

Ismerkedjünk meg a Linuxszal!

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Ügyviteli rendszerek hatékony fejlesztése Magic xpa-val mobilos funkciókkal kiegészítve (kezdő) Szoftver telepítési útmutató

BaBér bérügyviteli rendszer telepítési segédlete év

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

2016/12/30 18:43 1/13 Csomagkezelés

EgroupWare: A csoportmunka megoldás

Telepítési útmutató a Solid Edge ST7-es verziójához Solid Edge

Madarassy László, mérnök, BME - Mobil Innovációs Központ. lmadarassy@mik.bme.hu

WINPA POSTÁZÓ SZOFTVERHEZ Utolsó módosítás: Szoftver verzió: v Készült: LibreOffice 4 alkalmazással

Operációs Rendszerek. Windows Parancssor

Átírás:

Csomagkezelők Soós Péter Pannonhalmi Főapátság <sp@osb.hu> IPSZILON szeminárium 2006. 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-1.0-1.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 Email: gipsz@ingyenposta.hu $HOME/.rpmmacros file létrehozása: %_topdir $(echo $HOME)/rpm/ %_signature gpg %_gpg_name Gipsz Jakab <gipsz@ingyenposta.hu>

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

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

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 <gipsz@ingyenposta.hu> Standards-Version: 3.6.1 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 <gipsz@ingyenposta.hu> Mon, 05 Feb 2006 10:00:00 +0200

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 http://www.mit.bme.hu/services/codeconv/codeconv-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 gipsz@ingyenposta.hu debian/* szerkesztése, a felesleg törlése $ fakeroot dpkg-buildpackage

Egy egyszerű csomag: codeconv rpm csomag készítése $ wget http://www.mit.bme.hu/services/codeconv/codeconv-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: http://freshrpms.net/apt/ yum: http://www.linux.duke.edu/projects/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: http://www.pathname.com/fhs/ RPM Guide: http://fedora.redhat.com/docs/drafts/rpm-guide-en/ rpm Maximum RPM: http://www.rpm.org/max-rpm/ RPM Guide: http://fedora.redhat.com/docs/drafts/rpm-guide-en/ RPM HOWTO: http://www.rpm.org/rpm-howto/ The Fight: http://www.rpm.org/howto/thefight/ rpm kézikönyvek: rpm(8), rpmbuild(8)

Irodalom deb Debian Policy Manual: http://www.debian.org/doc/debian-policy/ Debian's New Maintainers Guide: http://www.debian.org/doc/maint-guide/ Packaging tips for unofficial Debian packages: http://people.debian.org/~calvin/unofficial/ dpkg kézikönyv: dpkg(8) debhelper kézikönyv: debhelper(7)

Köszönöm a figyelmet! Soós Péter <sp@osb.hu>