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

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

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

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

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

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

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

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

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

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

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

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

Linux alapok gyakorlat

Mobil Informatikai Rendszerek

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

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

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

Mi is a git? Csapatban dolgozni Git pro eszközök. Git bevezető. Szabó Adrienn Adatbányászat és Webes Keresés Kutatócsoport

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

italc felhasználói dokumentáció

Git verziókövető rendszer alkalmazása a projektek nyomon követésére

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

X. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK. Mérési utasítás

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

Operációs rendszerek gyakorlat

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

Linux 1-2. Labor Elo zetes ismeretek

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

italc felhasználói dokumentáció

Operációs rendszerek gyakorlat

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

S z á m í t ó g é p e s a l a p i s m e r e t e k

Mobil Informatikai Rendszerek

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

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

Az állományok kezelésére használt fontosabb parancsok

OPENBVE CSOMAGOK KÉSZÍTÉSE

CI gyakorlat segédlet

1_Linux_bevezeto_bash

1. Üres merevlemez gépbe helyezése, Boot a CD1 telepíto lemezrol (Hiba esetén video állítása VGA módra F4 billentyüvel, )

Programozás alapjai gyakorlat

Kiegészítők telepítése Installing Addons

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

Szoftver technológia. Continuous integration & delivery. Cserép Máté ELTE Informatikai Kar 2019.

VIRTUAL APPLIANCE KÉZIKÖNYV VIRTUAL APPLIANCE KÉZIKÖNYV

ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

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...

Synology NAS integrálása inels IMM szerverhez

Íme, a Raspbian legfontosabb funkciói

OOP és UML Áttekintés

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Operációs rendszerek I. IIII. gyakorlat

eszemélyi Kliens Szoftvercsomag

Az Intel gyorsindító készlete a Linux*-hoz v1.2 Gyorstájékoztató. Megrendelési szám: C

Tanúsítványkérelem készítése, tanúsítvány telepítése Lotus Domino szerveren

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

Számítógépes alapismeretek

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

2016/06/09 13:15 1/108 Linux parancssor

Planet Me blog aggregátor létrehozása

Miről lesz szó? Setup Project készítése. Tulajdonságok. 1. Készítsünk egy setup project alkalmazást egy már elkészített, lefordított programhoz.

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyakorlat

Regisztrálja termékét és vegye igénybe a rendelkezésre álló HMP7001

Debian mint Desktop Operációs rendszer

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

LINUX PMB VIRTUALBOX TÖRTÉNELEM DEBIAN ALAPPARANCSOK - GRUB

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Az alábbiakban néhány Linux parancsra látunk példákat, feladatokat.

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

Operációs rendszerek gyakorlat

Rendszerkezelési útmutató

1.2. NFS kliens telepítése és beállítása

Hálózatba kapcsolt erőforrás platformok és alkalmazásaik. Simon Csaba TMIT 2017

Linux kezelés alapjai

Wordpress telepítés. második kiadás. Buday Gergely ősz

XUBUNTU Linux (ami majdnem UBUNTU)

Térkép szerver (MapServer)

Készítette: Csatlós István 2010-ben

Robot Operating System

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

A Linux operációs rendszer 2017.

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

Szavakon innen, Wordön túl

Linux Essentials. Torma Hajnalka

Orvosi készülékekben használható modern fejlesztési technológiák lehetőségeinek vizsgálata

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

Tanúsítvány és kulcspár biztonsági mentése/telepítése

Programozási technológia 2.

eszemélyi Kliens Szoftvercsomag

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

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

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

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

Oktatási cloud használata

JavaScript Web AppBuilder használata

Verziókezelt konfigurációmanagement++ Pásztor György, SZTE Klebelsberg Könyvtár

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

Linux parancsok összefoglaló.

Átírás:

Csomagkezelés haladó Bakai Dániel, volt reszortvezető bakaid@kszk.bme.hu

Technikai dolgok $ ssh -p 22{01-20} tanfolyam@152.66.209.110 Jelszó: Almafa12 $ sudo bash # apt-get -y install build-essential devscripts debhelper dpkg-sig apache2 screen rng-tools

Csomagkezelés...the single biggest advancement Linux has brought to the industry... Ian Murdock, a Debian projekt alapítója

Fő követelmények Telepítés Egységes csomagformátum Egységes install/uninstall metódusok Csomagkezelés Csomagtár (repository) Függőségfeloldás Frissítés

Egységes csomagformátum Metaadatok Név Verzió Függőségek Archívum Fájlok

dpkg Debian csomagkezelés alapja Alacsonyszintű eszköz Csomagformátum:.deb Önmagában ritkán használjuk

deb formátum Tömörített állomány (ar) debian-binary : verziószám control.tar.gz : metaadat data.tar.{gz, bz2,xz,...} : fájlok cica_0.0.1-1_amd64.deb alakú

Csomagtár (repository) Csomaggyűjtemény Karbantartott Frissített Szekciókra osztott Disztribúció/kiegészítő/alkalmazás szint Verifikáció Integritás és hitelesség

apt dpkg-re épül repository kezelés Telepítés függőségfeloldással Szoftverfrissítés

Mit fogunk ma csinálni? Létrehozunk egy saját alkalmazást deb csomagot csinálunk belőle repository-t csinálunk a csomagnak Hozzáadjuk a saját repot egy kliensgéphez Telepítjuk a csomagot

Saját alkalmazás

Saját alkalmazás: cica cica parancs Standard kimenetre: Cica {01-20} Írjuk meg!

Cica I. $ mkdir cica $ cd cica

cica.c #include <stdio.h> int main(void) { printf("cica %d\n, {01-20}); return 0; }

Makefile PREFIX = /usr BINDIR = ${PREFIX}/bin all: cica cica: cica.c gcc -std=c99 -Wall -o cica cica.c install: cica install -m 0755 cica ${BINDIR} clean: rm -rf cica.phony: install clean

Próba $ make # make install $ cica $ make clean # rm /usr/bin/cica

Cica II. $ cd.. $ mv cica cica-0.0.1 $ tar cvzf cica-0.0.1.tar.gz cica-0.0.1/

Saját kiadás # cp cica-0.0.1.tar.gz /var/www/html/ # chmod a+r /var/www/html/cica- 0.0.1.tar.gz

deb csomag

Hogy lesz ebből deb? Rengeteg tool és segítőeszköz Most a lehető legfapadosabban, hogy jobban megértsük

Átnevezés A forráscsomag nevének kötelező formátuma van $ mkdir deb $ cp cica-0.0.1.tar.gz deb/cica_0.0.1.orig.tar.gz $ cd deb

Kibontás $ cd deb/ $ tar xvf cica_0.0.1.orig.tar.gz $ cd cica-0.0.1/

Debianizálás Létre kell hoznunk a csomagolást vezérlő fájlokat: debian/ changelog compat control copyright rules source/ format

changelog $ dch --create v 0.0.1-1 --package cica cica (0.0.1-1) main; urgency=medium * Initial release. -- tanfolyam{01-20} <tanfolyam@tanfolyam{01-20}> Mon, 25 Apr 2016 14:40:46 +0200

compat magic number, debhelper verziótól függ 9

control Egyik legfontosabb fájl A készítendő csomagokat írja le Sok opció, minimálisan kötelező elemekkel

control Source: cica Maintainer: tanfolyam{01-20} <tanfolyam@tanfolyam{01-20}> Section: misc Priority: optional Standards-Version: 3.9.2 Build-Depends: debhelper (>= 9) Package: cica Architecture: any Depends: ${shlibs:depends}, ${misc:depends}, cowsay (>= 3) Description: says Cica writes "Cica {01-20}" to stdout

copyright Licenszeléssel kapcsolatos információk Egyelőre lehet üres $ touch debian/copyright

rules Másik nagyon fontos fájl A fordítás menetét írja le De okos!

rules #!/usr/bin/make -f %: dh $@ A behúzás tab!

source/format A forráscsomag verzióját írja le $ mkdir debian/source $ nano debian/source/format 3.0 (quilt)

Csomag készítése $ debuild us uc

Valami nem jó Rossz helyre akar telepíteni a csomagunk override_dh_auto_install: $(MAKE) PREFIX=$$(pwd)/debian/cica/usr install

Valami még mindig nem jó A csomag nem hozza létre a mappát -> debian/cica.dirs

/usr/bin cica.dirs

Újrapróbálkozás $ debuild us uc

Telepítés # dpkg -i cica_0.0.1-1_amd64.deb Mi a baj? A cowsay a függőségünk, a dpkg nem kezeli # apt-get install -f

Repository

Hogyan lesz reponk? Szintén rengeteg segédeszköz Megint csak a lehető legfapadosabb

Könyvtárstruktúra # cd /var/www/html/ # mkdir p debian/dists/stable/main/binaryamd64/ # cp cica-0.0.1-1_amd64.deb /var/www/html/debian/dists/stable/main/bi nary-amd64/

Packages fájl # cd /var/www/html/debian # apt-ftparchive packages dists/stable/main/binary-amd64 > dists/stable/main/binary-amd64/packages # gzip -c dists/stable/main/binaryamd64/packages > dists/stable/main/binaryamd64/packages.gz

Release fájl I. # cd /var/www/debian/stable/main/binary-amd64 # apt-ftparchive release. > Release Archive: stable Origin: tanfolyam Label: tanfolyam Version: 8.4 Component: main Architecture: amd64

Release fájl II. # cd /var/www/debian/dists/stable/ # apt-ftparchive release. > Release Origin: tanfolyam Label: tanfolyam Suite: stable Version: 8.4 Architectures: amd64 Components: main Description: Tanfolyam repo

Repo hozzáadása # nano /etc/apt/sources.list deb http://152.66.209.110:80{01-20}/debian/ stable main

Telepítés apt-get-tel # apt-get update # apt-get install cica

Verifikálhatóság Csomagok egyenkénti aláírása A csomag készítője Top-level Release fájl aláírása A repo üzemeltetője

Aláírás Kulcsgenerálás Publikus kulcs közzététele (Csomagok aláírása) Release aláírása

Kulcsgenerálás # gpg --gen-key (4) RSA (sign only) 4096 3y y tanfolyam tanfolyam@tanfolyam{01-20} <Enter> O <Jelszó> <Jelszó>

Publikus kulcs közzététele # cd /var/www/html/debian/ # gpg --list-keys # gpg --output keyfile --armor --export <ID>

Csomagok aláírása # cp cica_0.0.1-1_amd64.deb /tmp/ # cd /tmp # dpkg-sig --sign builder cica_0.0.1-1_amd64.deb Ellenőrzés # ar x cica_0.0.1-1_amd64.deb

Release aláírása # cd /var/www/html/debian/dists/stable # gpg -abs -o Release.gpg Release

Publikus kulcs elfogadása $ wget -O - http://152.66.209.110:80{01-20}/debian/keyfile sudo apt-key add -

Újbóli próba # apt-get remove cica # apt-get autoremove # apt-get update # apt-get install cica