1. APT per RPM
Installazione automatica dei pacchetti
su Linux
Rosario Esposito1
Francesco Maria Taurino1,2
Gennaro Tortone1
INFN - Napoli1
INFM - UDR Napoli2
Workshop CCR 2003 – Paestum
2. Linux
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
CCR 2003 – Paestum 2
3. Pacchetti
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
CCR 2003 – Paestum 3
4. Dipendenze
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 gestione
limitata delle dipendenze
sono in grado di segnalare le dipendenze di un
pacchetto, ma a loro volta i pacchetti richiesti
potrebbero avere delle dipendenze...
CCR 2003 – Paestum 4
5. Scenari
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 nodi
della Grid
CCR 2003 – Paestum 5
6. Dipendenze - Esempio
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.rpm
error: failed dependencies:
pacchetto2 is needed by pacchetto1
# rpm -Uvh pacchetto2-xxxx.rpm
E cosi' via....
CCR 2003 – Paestum 6
8. Up2date et al...
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
CCR 2003 – Paestum 8
10. Urpmi (1/2)
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
CCR 2003 – Paestum 10
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 11
12. YUM
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
CCR 2003 – Paestum 12
13. APT
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
CCR 2003 – Paestum 13
14. APT – Utilizzo (1/2)
[root]@[/] # apt-get install nautilus
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
bonobo libmedusa0 libnautilus0
The following NEW packages will be installed:
bonobo libmedusa0 libnautilus0 nautilus
0 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 14
15. APT – Utilizzo (2/2)
[root]@[/] # apt-get remove gnome-panel
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
gnome-applets gnome-panel gnome-panel-data gnome-session
0 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 15
16. APT per RPM
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
CCR 2003 – Paestum 16
17. APT - creazione del repository
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)
CCR 2003 – Paestum 17
18. APT - source.list del repository
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
CCR 2003 – Paestum 18
19. APT - repository di Napoli
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
CCR 2003 – Paestum 19
20. APT - Benefici
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...
CCR 2003 – Paestum 20
21. InGRID - Installing GRID (1/4)
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
CCR 2003 – Paestum 21
22. InGRID (2/4)
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
CCR 2003 – Paestum 22
24. InGRID (4/4)
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
CCR 2003 – Paestum 24