apt per rpm
DESCRIPTION
APT per RPM, installazione automatica dei pacchetti su LinuxTRANSCRIPT
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
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
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
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
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
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
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
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...
CCR 2003 – Paestum 9
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)
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
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
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
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]
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]
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
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
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
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
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
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)
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)
CCR 2003 – Paestum 23
Installazione macchine
Pacchetti GRID
Configurazione
RH Kickstart
APT
CFengine
InGRID (3/4)
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)