apt per rpm

24
APT per RPM Installazione automatica dei pacchetti su Linux INFN - Napoli 1 INFM - UDR Napoli 2 Workshop CCR 2003 – Paestum Rosario Esposito 1 Francesco Maria Taurino 1,2 Gennaro Tortone 1

Upload: francesco-taurino

Post on 04-Jun-2015

233 views

Category:

Documents


0 download

DESCRIPTION

APT per RPM, installazione automatica dei pacchetti su Linux

TRANSCRIPT

Page 1: APT per RPM

APT per RPMInstallazione automatica dei pacchetti

su Linux

INFN - Napoli1

INFM - UDR Napoli2

Workshop CCR 2003 – Paestum

Rosario Esposito1

Francesco Maria Taurino1,2

Gennaro Tortone1

Page 2: APT per RPM

CCR 2003 – Paestum 2

L'evoluzione di Linux ha permesso a questo sistema di diffondersi sul mercato

La gestione dei pacchetti ha giocato un ruolo importante in questo processo

Grazie alla gestione delle dipendenze e ai database dei file installati, la consistenza dello stato dei sistemi viene garantita e l' installazione o la rimozione programmi e' diventata sempre piu' semplice

Oggi solo alcuni programmi vengono ancora installati utilizzando i sorgenti

Linux

Page 3: APT per RPM

CCR 2003 – Paestum 3

Nelle piu' diffuse distribuzioni di Linux, i programmi vengono distribuiti in formato RPM, DEB o TGZ modificato

RPM (RedHat Package Management) e' utilizzato da RedHat, Mandrake, Suse, Conectiva

DEB e' utilizzato dalla distribuzione opensource Debian e dalle distribuzioni derivate

TGZ modificati per la distribuzione SlackWare

Pacchetti

Page 4: APT per RPM

CCR 2003 – Paestum 4

La gestione delle dipendenze e' una caratteristica molto importante dei sistemi di gestione dei pacchetti

Mantengono il sistema in uno stato consistente e garantiscono che le applicazioni funzionino nel modo corretto

I comandi di gestione rpm o dpkg hanno una gestionelimitata delle dipendenze sono in grado di segnalare le dipendenze di un

pacchetto, ma a loro volta i pacchetti richiesti potrebbero avere delle dipendenze...

Dipendenze

Page 5: APT per RPM

CCR 2003 – Paestum 5

Sistemista dopo l'installazione di una macchina, e' di solito

necessario aggiornare alcuni programmi Esperimento

installare i software di esperimento su un sistema Grid

aggiungere i programmi che rendono i sistemi nodidella Grid

Scenari

Page 6: APT per RPM

CCR 2003 – Paestum 6

Installare su una macchina con rpm il pacchetto mod_prova: # rpm -Uvh mod_prova-xxx.rpm

error: failed dependencies:pacchetto1 is needed by mod_prova

# rpm -Uvh pacchetto1-xxxx.rpmerror: failed dependencies:

pacchetto2 is needed by pacchetto1 # rpm -Uvh pacchetto2-xxxx.rpm E cosi' via....

Dipendenze - Esempio

Page 7: APT per RPM

CCR 2003 – Paestum 7

Up2date – RedHat RedCarpet – Ximian YOU (YaST Online Update) – Suse YUP (YellowDog Updater) – YellowDog PPC Urpmi – Mandrake YUM (YellowDog Updater Modified) APT (Advanced Packaging Tool) – Debian (e rpm...)

Alcune soluzioni

Page 8: APT per RPM

CCR 2003 – Paestum 8

Up2date, RedCarpet, (YOU e YUP) risolvono il problema delle dipendenze e degli aggiornamenti per gli rpm. RedCarpet e' disponibile anche per Debian

Sono legati ai server di distribuzione RedHat, Ximian, (Suse e YellowDog), o ai loro mirror

Richiedono software speciali e costosi per creare depositi di pacchetti ad-hoc, quindi se un pacchetto non e' disponibile sui server di queste societa' non e' installabile con questi tool

Hanno tipicamente una interfaccia X o ncurses Non possono essere usati in modo non-interattivo

Up2date et al...

Page 9: APT per RPM

CCR 2003 – Paestum 9

Page 10: APT per RPM

CCR 2003 – Paestum 10

Urpmi e' un wrapper sul gestore di pacchetti rpm E' disponibile soltanto per le distribuzioni Mandrake Permette l'utilizzo di depositi di pacchetti diversi da

quelli ufficiali Mandrake Ha un buon frontend grafico, ma tutte le funzionalita'

sono disponibili anche a linea di comando ed in modo non-interattivo

Esistono diversi comandi per le varie funzioni

Urpmi (1/2)

Page 11: APT per RPM

CCR 2003 – Paestum 11

Urpmi (2/2)

urpmi.addmedia, urpmi.removemedia: aggiunta e rimozione dei media utilizzati da urpmi

urpmq : interrogazione del database dei pacchetti urpmf : ricerca del pacchetto che fornisce il file

richiesto urpmi : installazioni dei pacchetti Comando per l'aggiornamento automatico di una

macchina Mandrake# urpmi.update update_source ; urpmi --auto --auto-select--media update_source

Page 12: APT per RPM

CCR 2003 – Paestum 12

YUM e' un progetto molto recente, basato su YUP E' scritto in python ed utilizza alcune porzioni di codice

di Anaconda, l'installer della RedHat Permette la creazione e l'utilizzo di depositi di software

personalizzati Attualmente disponibile solo per RedHat Ha una logica di funzionamento diversa da APT AMPIE POSSIBILITA' DI SVILUPPO E DI UTILIZZO http://linux.duke.edu/projects/yum

YUM

Page 13: APT per RPM

CCR 2003 – Paestum 13

APT e' il sistema creato dalla comunita' Debian per gestire in modo automatico le dipendenze fra pacchetti

APT puo' installare, disinstallare e aggiornare, gestendo le dipendenze e il download dei pacchetti

E' un frontend verso altri tool, ed usa i meccanismi del sistema di gestione dei pacchetti sottostante, come gli eseguibili rpm o dpkg

Puo' prelevare i pacchetti da vari media (cdrom, ftp, http, nfs), e premette la creazione di repository personalizzati di pacchetti

APT

Page 14: APT per RPM

CCR 2003 – Paestum 14

APT – Utilizzo (1/2)

[root]@[/] # apt-get install nautilusReading Package Lists... DoneBuilding Dependency Tree... DoneThe following extra packages will be installed: bonobo libmedusa0 libnautilus0The following NEW packages will be installed: bonobo libmedusa0 libnautilus0 nautilus0 packages upgraded, 4 newly installed, 0 to remove and 1 not

upgraded.Need to get 8329kB of archives. After unpacking 17.2MB will be used.Do you want to continue? [Y/n]

Page 15: APT per RPM

CCR 2003 – Paestum 15

APT – Utilizzo (2/2)

[root]@[/] # apt-get remove gnome-panelReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages will be REMOVED: gnome-applets gnome-panel gnome-panel-data gnome-session0 packages upgraded, 0 newly installed, 4 to remove and 1 not

upgraded.Need to get 0B of archives. After unpacking 14.6MB will be freed.Do you want to continue? [Y/n]

Page 16: APT per RPM

CCR 2003 – Paestum 16

La distribuzione brasiliana Conectiva ha effettuato il porting del sistema apt sulla sua distribuzione, che utilizza rpm

Apt e' ora disponibile per tutte le distribuzioni che utilizzano rpm grazie anche al progetto di SourceForge apt4rpm (http://apt4rpm.sourceforge.net)

Non sono ancora disponibili tutte le feature di apt su Debian, come la priorita' dei pacchetti e le richieste di variazione dei file di configurazione, a causa delle differenti feature dei gestori di pacchetti deb ed rpm

APT per RPM

Page 17: APT per RPM

CCR 2003 – Paestum 17

Creare la struttura delle directory <arch>/RPMS.os, <arch>/RPMS.updates,

<arch>/base (per i file creati da apt)Esempio: /linux/apt/redhat/7.3/i386/RPMS.os

In RPMS.os: copiare gli rpm della distribuzione In RPMS.updates: copiare gli rpm degli updates

Dare il comando genbasedir --topdir=/linux/apt --bloat --bz2only redhat/7.3/i386 os

(per la sezione os) genbasedir --topdir=/linux/apt --bloat --bz2only redhat/7.3/i386

updates (per la sezione degli updates)

APT - creazione del repository

Page 18: APT per RPM

CCR 2003 – Paestum 18

Per renderlo accessibile e' consigliabile creare un virtual host di apache

<VirtualHost *>

ServerName apt.na.infn.it

DocumentRoot /linux/apt

<Directory /linux/apt>

Options +Indexes

</Directory>

</VirtualHost>

Il source.list per accedere al repository sara'

rpm http://apt.na.infn.it redhat/7.3/i386 os updates

APT - source.list del repository

Page 19: APT per RPM

CCR 2003 – Paestum 19

E' stato creato un repository apt nella sezione di Napoli, accessibile all'indirizzo

http://apt.na.infn.it

Sono disponibili gli rpm di apt per RedHat 7.2 e 7.3, 8 e 9 ed i file sources.list corrispondenti, per i sistemi operativi e gli updates

Gli updates e le liste apt vengono aggiornati tutte le notti

APT - repository di Napoli

Page 20: APT per RPM

CCR 2003 – Paestum 20

Apt permette una gestione MOLTO piu' semplice dei pacchetti sulle distribuzioni con rpm, tra cui RedHat,la distribuzione Linux piu' utilizzata in ambito HEP

L' aggiornamento dei sistemi e' possibile con due soli comandi:# apt-get update; apt-get -y upgrade

La creazione di repository locali permette di evitare l'utilizzo dei collegamenti esterni per l'accesso ai pacchetti

E' possibile includere pacchetti non standard nei propri repository...

APT - Benefici

Page 21: APT per RPM

CCR 2003 – Paestum 21

Stiamo effettuando test per installare nodi con EDG su macchine RedHat 7.3 con kickstart, APT e cfengine

Kickstart Installazioni non presidiate Funzionamento noto e ben documentato Forse piu' flessibile dei tool utilizzatti attualmente

APT Installazione dei pacchetti aggiuntivi semplificata Download automatico dei pacchetti che soddisfano

le dipendenze

InGRID - Installing GRID (1/4)

Page 22: APT per RPM

CCR 2003 – Paestum 22

Cfengine Progetto dell'Universita' di Oslo per il setup e la

manutenzione dei sistemi informatici Consente di configurare molti parametri di diversi

sistemi operativi, eseguire script, editare file, gestire processi

Funzionalita' client-server con traffico criptato, per configurare molti sistemi da una sola macchina

InGRID (2/4)

Page 23: APT per RPM

CCR 2003 – Paestum 23

Installazione macchine

Pacchetti GRID

Configurazione

RH Kickstart

APT

CFengine

InGRID (3/4)

Page 24: APT per RPM

CCR 2003 – Paestum 24

Questo sistema di installazione di nodi Grid verra'

proposto al prossimo TB di INFN-Grid, al fine di

valutarne le possibilita' di utilizzo e proporre la

creazione di un piccolo gruppo di studio

InGRID (4/4)