Installare software Linux
Cosa serve?
LINUX
UN SISTEMA DI INSTALLAZIONE
INTERNET
Questo OGGI LUGLIO 2011
Anni fa invece... LUGLIO 1990
installare software libero* voleva dire: * Il termine opensource nascerà solo nel 1997 grazie a Bruce Perens e Eric S. Raimond. Prima di allora si parlava soltanto di software libero (free software) termine coniato da Richard Stallman
1) Scaricare i sorgenti
2) Compilare i sorgenti trasformando il codice in file eseguibili e librerie
3) Installare i file compilati Ovvero copiare i file nelle cartelle appropriate del sistema operativo Ad es: gli eseguibili in /usr/bin le librerie in /usr/lib i file di configurazione in /etc
Come veniva fatto (e come può essere fatto ancora)
Si scaricano i sorgenti da un repository
Repository = sito FTP, HTTP, server CVS o altro sistema on-line da cui si possa scaricare la copia dei sorgenti di un determinato software
es. gnucash-2.4.7.tar.gz
Si decomprime il pacchetto # tar xvzf gnucash-2.4.7.tar.gz
Si entra nella cartella dei sorgenti # cd gnucash-2.4.7/
Si compilano i sorgenti #./configure && make
Si installano i file compilati # make install
Problemi che potevano sorgere
Dipendenze necessarie per compilare
Dipendenze necessarie per eseguire correttamente il software installato
Cosa serve per evitare questo?
UN SISTEMA DI INSTALLAZIONE
UN Software SISTEMA DI INSTALLAZIONE
DUE GRANDI DISTRIBUZIONI LINUX Debian RedHat
Tra il 1993 e il 1994 iniziarono a creare il proprio sistema di installazione dei software Linux
Ian Murdock, fondatore di Debian creò dpkg
Mark Ewing e Erik Troan, sviluppatori di RedHat crearono rpm
Come funziona rpm
Per installare un programma basta scaricare il pacchetto RPM es. gnucash-2.4.5-2.fc15.i686.rpm
e usare il comando rpm es. # rpm -U gnucash-2.4.5-2.fc15.i686.rpm
In fase di installazione il comando rpm controlla che siano soddisfatte tutte le dipendenze altrimenti da errore e mostra quali sono i pacchetti che mancano
controlla inoltre che il pacchetto da installare sia valido ed originale
L'installazione viene registrata in un database
In questo modo è facile:
1) controllare quali pacchetti sono installati es. # rpm -qa
2) controllare quali file appartengono ad un determinato pacchetto e dove sono stati installati es. # rpm -ql gnucash
3) effettuare la disinstallazione In questo caso viene controllato anche che il pacchetto possa essere disinstallato senza compromettere l'uso di altri programmi che dipendono da esso es. # rpm -e gnucash
Cosa mancava per rendere questo sistema moderno?
La gestione dei repository Ovvero la possibilità di automatizzare la ricerca dei pacchetti RPM disponibili in rete, lo scaricamento dei pacchetti da installare, comprese le eventuali dipendenze
Per fare questo fedora utilizza un ulteriore comando: yum
Cosa si può fare con yum?
Cercare i sofware (pacchetti) es: # yum search finance
Cercare i gruppi di sofware (meta-pacchetti) es: # yum -v grouplist # yum -v grouplist gnome*
Installarli in automatico senza preoccuparsi di andarli a scaricare es: # yum install gnucash # yum groupinstall gnome-desktop
Disinstallarli es: # yum remove gnucash # yum groupremove gnome-desktop
Aggiornarli es: # yum update gnucash # yum groupupdate gnome-desktop
Aggiornare il sistema operativo es: # yum update
Passare da una release del sistema operativo alla successiva es: # yum upgrade
Graficamente tutto ciò si traduce in un software chiamato PackageKit
IN SINTESI
I software vengono precompilati dalla comunità di fedora e pacchettizzati in un archivio particolare, in un formato chiamato RPM
Il comando base per gestire i pacchetti RPM è rpm
Il comando avanzato per gestire le installazioni è yum
Graficamente si usa PackageKit
REPOSITORY
Sono elencati in file.repo contenuti nella directory /etc/yum.repos.d/ es: /etc/yum.repos.d/fedora.repo [fedora] name=fedora $releasever - $basearch failovermethod=priority baseurl=http://download.fedoraproject.org/pub/fedora/linux/releases/$releasever/ever... enabled=1 metadata_expire=7d gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-fedora-$basearch
Si possono gestire direttamente con yum # yum repolist all # yum --enablerepo=fedora # yum --disablerepo=fedora
PLUGINS
Estendono le funzionalità di yum
Sono elencati in file.conf contenuti nella directory /etc/yum/pluginconf.d/ es. /etc/yum/pluginconf.d/presto.conf [main] enabled=1
Possiamo installare anche questi direttamente con yum es: # yum install yum-presto
FINE