Come installare software in GNU/Linux
Da Luckylinux.org - Il wiki di informatica, tecnologia e programmazione.
Il software in GNU/Linux può essere installato in 4 modi:
- online, attraverso i rispettivi gestori di pacchetti di ogni distribuzione: è il sistema più semplice (risolve automaticamente le dipendenze) e consigliato in quanto permette di mantenere il sistema pulito a lungo andare;
- installazione manuale dei pacchetti (deb/rpm/tgz): molto comodo per applicazioni non contenute nei repositories dei gestori, non risolve le dipendenze, abbastanza semplice;
- installazione da sorgenti: sicuramente il metodo più complesso, ma allo stesso tempo più costruttivo, non risolve le dipendenze, col passare del tempo può rendere difficile il mantenimento del sistema;
- attraverso un binario eseguibile (.bin o .run), analogamente a come avviene su Windows: è il caso tipico dei giochi e di alcuni programmi proprietari (software di calcolo, CAD...); possono essere ottimizzati per determinate distribuzioni (anche se poi funzionano su quasi tutte) ed generalmente è necessario controllare le dipendenze (se non lo fa l'installer).
Indice |
Gestori di pacchetti
Ogni distro presenta un proprio gestore di pacchetti, vediamo come configurarli ed usarli:
- Mandriva --> Urpmi
- Debian --> APT
- Ubuntu/kubuntu/Xubuntu --> APT
- OpenSuse --> Yast/Smart
- Fedora --> Yum
- Archlinux --> Pacman
- Slackware --> Swaret
- Gentoo --> emerge
Mandriva - Urpmi
Per configurare urpmi possiamo consultare questo sito. Il suo uso è molto semplice (una guida più completa è disponibile qui):
urpmi nome: installa il pacchetto e le sue dipendenze
urpmi.addmedia nome_fonte percorso_fonte with hdlist.cz: aggiunge fonte esterna
urpmi.update -a: aggiorna database pacchetti
urpmq pacchetto: cerca pacchetto
urpme pacchetto: disinstalla pacchetto
Debian - Apt
Apt, forse il più famoso dei gestore dei pacchetti è molto semplice da configurare, basta aggiungere i repository nel file /etc/apt/sources.list, consigliamo di inserire solo quelli ufficiali per mantenere un sistema stabile, ecco quelli indicati da debianizzati.org:
Debian Sarge
## Debian Stable (sarge) deb http://ftp.it.debian.org/debian/ stable main contrib non-free #deb-src http://ftp.it.debian.org/debian/ stable main contrib non-free ## Aggiornamenti della sicurezza deb http://security.debian.org/ sarge/updates main contrib #deb-src http://security.debian.org/ sarge/updates main contrib
Per l'uso di sarge in ambito desktop (ma non solo) sono molto utili i backport:
Debian Etch
## Debian Testing (etch) deb http://ftp.it.debian.org/debian/ testing main contrib non-free #deb-src http://ftp.it.debian.org/debian/ testing main contrib non-free ## Aggiornamenti della sicurezza deb http://security.debian.org/ etch/updates main contrib #deb-src http://security.debian.org/ etch/updates main contrib
Debian Sid
## Debian Unstable (sid) deb http://ftp.it.debian.org/debian/ unstable main contrib non-free #deb-src http://ftp.it.debian.org/debian/ unstable main contrib non-free
Per Sid non c'è il repository per la sicurezza dato che eventuali falle vengono corrette semplicemente con l'aggiornamento del pacchetto incriminato.
L'uso di questo gestore è molto semplice, comunque per i più newbie consigliamo di usare l'interfaccia grafica synaptic, Per chi volesse installare synaptic (se non lo fosse gia` di default), basta un:
apt-get install synaptic
e per farlo partire
(gnome) --> Sistema --> Amministrazione --> Gestore pacchetti synaptic
oppure (da terminale)
synaptic
comunque vediamone le principali opzioni:
apt-cache search pacchetto: cerca i pacchetti contenenti nel nome la stringa indicata
apt-get install pacchetto: installa un pacchetto
apt-get remove pacchetto: rimuove un pacchetto
apt-get update: aggiorna la lista pacchetti
apt-get upgrade: esegue l'upgrade dei pacchetti
update-alternatives –option alternativa: esegue varie operazioni sulla configurazione dei tools di sistema (le 'alternative' possibili sono in /etc/alternatives)
dpkg-reconfigure pacchetto: riesegue configurazione di un pacchetto
dselect: tool grafico per console di gestione package (da installare)
aptitude:tool grafico avanzato per console di gestione package (da installare)
Ubuntu/kubuntu/Xubuntu - Apt
Queste distro in quanto debian-based utilizzano lo stesso gestore di pacchetti di debian, l'unica differenza importante è la configurazione dei repositories per cui si puo seguire questa ottima pagina del wiki inglese oppure quella italiana. Inoltre per gli utenti kubuntu è disponibili l'interfaccia grafica Adept (per ubuntu è sempre synaptic). Si fa presente che l'utilizzo da linea di comando di apt è uguale che sotto debian. Ecco come dovrebbero presentarsi dopo un installazione standard con abilitazione dei rami universe e multiverse:
Rel. 6.06 (Dapper)
# Pacchetti Ubuntu (pacchetti, GPG key: 437D05B5) deb http://archive.ubuntu.com/ubuntu dapper main restricted deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted deb http://security.ubuntu.com/ubuntu dapper-security main restricted # Pacchetti Ubuntu (sorgenti, GPG key: 437D05B5) deb-src http://archive.ubuntu.com/ubuntu dapper main restricted deb-src http://archive.ubuntu.com/ubuntu dapper-updates main restricted deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted # Pacchetti Ubuntu community (pacchetti, GPG key: 437D05B5) deb http://archive.ubuntu.com/ubuntu dapper universe multiverse deb http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse deb http://security.ubuntu.com/ubuntu dapper-security universe multiverse # Pacchetti Ubuntu community (sorgenti, GPG key: 437D05B5) deb-src http://archive.ubuntu.com/ubuntu dapper universe multiverse deb-src http://archive.ubuntu.com/ubuntu dapper-updates universe multiverse deb-src http://security.ubuntu.com/ubuntu dapper-security universe multiverse # Ubuntu backports project (pacchetti, GPG key: 437D05B5) deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse # Ubuntu backports project (sorgenti, GPG key: 437D05B5) deb-src http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
Rel. 6.10 (Edgy)
## Add comments (##) in front of any line to remove it from being checked. ## Use the following sources.list at your own risk. deb http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu edgy-proposed main restricted universe multiverse ## MAJOR BUG FIX UPDATES produced after the final release deb http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy-updates main restricted universe multiverse ## UBUNTU SECURITY UPDATES deb http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse deb-src http://security.ubuntu.com/ubuntu edgy-security main restricted universe multiverse ## BACKPORTS REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.) deb http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu edgy-backports main restricted universe multiverse ## CANONICAL COMMERCIAL REPOSITORY (Hosted on Canonical servers, not Ubuntu ## servers. RealPlayer10, Opera, DesktopSecure and more to come.) deb http://archive.canonical.com/ubuntu edgy-commercial main ## SKYPE deb http://download.skype.com/linux/repos/debian/ stable non-free
OpenSuse - Yast/Smart
YaST è un potente programma che tra le sue numerose funzioni consente anche di installare e mantenere aggiornato il software della vostra distribuzione linux. Tuttavia per trovare la stragrande maggioranza degli applicativi di cui si può avere bisogno è necessario prima di tutto configurare le fonti di installazione (repository).
Configurazione e scelta dei repository
Per aggiungere "repository" è necessario andare in "YAST--> Software--> Cambia sorgente d'installazione". Come prima cosa è necessario assicurarsi che il repository scelto sia quello relativo alla versione di OpenSuse utilizzata (es. non usare repository per Suse 9.3 se si ha OpenSuse 10.2)
Successivamente andare su "Cambia sorgente d'installazione --> Aggiungi" e in un secondo momento nell'elenco "Tipo di supporto" cliccare sul tipo indicato dal repository (es. FTP, HTTP, URL). Per portare a termine l'aggiunta del Repository, dopo averlo impostato con i giusti parametri, cliccare su "Prossimo".
Alcune "Fonti" addizionali consigliate:
Packman
Repository contenente moltissimi pacchetti e software aggiuntivo (in costante aggiornamento ed espansione).
Protocollo - HTTP
Nome del Server - packman.iu-bremen.de
Cartella - suse/10.0
- suse/10.1
- suse/10.2
Guru
Guru è un altro repository contenente numerosi pacchetti ottimizzati per architetture i686 e x86_64.
Protocollo - HTTP
- FTP
Nome del Server - ftp.gwdg.de
Cartella - pub/linux/misc/suser-guru/rpm/8.2
- pub/linux/misc/suser-guru/rpm/9.0
- pub/linux/misc/suser-guru/rpm/9.1
- pub/linux/misc/suser-guru/rpm/9.2
- pub/linux/misc/suser-guru/rpm/9.3
- pub/linux/misc/suser-guru/rpm/10.0
- pub/linux/misc/suser-guru/rpm/10.1
- pub/linux/misc/suser-guru/rpm/10.2
VLC Fonte per il famoso Player Multimediale Protocollo: - HTTP Nome del Server - download.videolan.org Cartella -pub/videolan/vlc/SuSE/<SUSE Version> Sostituire <Suse Version> con (a seconda della versione): 9.3 - 10.0 - 10.1 - 10.2
Una volta tornati alla schermata "Cataloghi Software Configurati" teminare la procedura cliccando su "Fine"; a questo punto dovrebbe apparire una finestra con la dicitura "Sincronizzazione con ZENworks", lasciare che l'operazione sia portata a termine.
A questo punto per aggiornare e/o installare nuovo software basta andare su "YAST --> Gestione Pacchetti" e nel riquadro "Cerca" digitare il nome (o parte di esso) del pacchetto che interessa. Sarà così possibile accedere ad una serie di opzioni quali installa, aggiorna, rimuovi.
Per un elenco completo di Repository consultare Additional YaST Package Repositories
Fedora - Yum
In fedora Core 6 Yum (Yellow dog Updater Modified) è già configurato per avere tutti i repositories ufficiali abilitati, però consigliamo di aggiungere quelli Livna. La procedura è molto semplice
Per fedora core 6:
Per entrambe le architetture a 32 ed a 64 bit:
rpm -ihv http://ayo.freshrpms.net/fedora/linux/6/i386/RPMS.freshrpms/freshrpms-release-1.1-1.fc.noarch.rpm
Per architetture a 32 bit:
rpm -ihv http://rpm.livna.org/fedora/6/i386/livna-release-6-1.noarch.rpm
Per architetture a 64 bit:
rpm -ihv http://rpm.livna.org/fedora/6/x86_64/livna-release-6-1.noarch.rpm
Per fedora core 5:
rpm -ivh http://rpm.livna.org/livna-release-5.rpm
Per fedora core 4:
rpm -ivh http://rpm.livna.org/livna-release-4.rpm
Per fedora core 4 inoltre si possono usare
[atrpms] name= atRPMS $releasever - $basearch baseurl=http://apt.atrpms.net/fedora/$releasever/en/$basearch/at-stable enabled=1 gpgcheck=1 [livna] name=Livna.org Fedora Compatible Packages baseurl=http://rpm.livna.org/fedora/$releasever/$basearch/RPMS.lvn gpgcheck=1 enabled=1 [dag] name=Dag Repository for Fedora Core $releasever - $basearch baseurl=http://apt.sw.be/fedora/$releasever/en/i386/dag gpgcheck=1 enabled=1 [core] name=FreshRPMS-Core baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/core enabled=1 gpgcheck=1 #[extras] #name=Fedora Linux $releasever - $basearch - extras #baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/extras #enabled=0 gpgcheck=1 [updates] name=FreshRPMS-Updates baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/updates enabled=1 gpgcheck=1 [freshrpms] name=FreshRPMS-Fresh baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms enabled=1 gpgcheck=1 [macromedia] name=Macromedia for i386 Linux baseurl=http://macromedia.mplug.org/rpm/ enabled=1 gpgcheck=1 gpgkey=http://macromedia.mplug.org/FEDORA-GPG-KEY
Detto questo passiamo ad un panoramica su come usare Yum:
yum install pacchetto: installa il pacchetto risolvendo le dipendenze
yum remove pacchetto: rimuove il pacchetto
yum check-update: aggiorna la lista pacchetti
yum list updates: mostra i pacchetti aggiornabili
yum update: aggiorna tutti i pacchetti
yum update pacchetto: aggiorna il pacchetto
yum search pacchetto: cerca il pacchetto
Per Yum esistono anche dei frontend grafici: Yumex (da installare), Pup (già installato) che segnalo solo gli aggiornamenti.
Per installare Yumex basta dare il seguente comando :
yum -y install yumex
Archlinux - Pacman
PACkage MANager è un potente gestore di pacchetti, molto semplice da utilizzare. La sua configurazione si trova in /etc/pacman.conf, un file di testo simile a questo:
# # /etc/pacman.conf # # NOTE: If you find a mirror that is geographically close to you, please # move it to the top of the server list, so pacman will choose it # first. # # To re-sort your mirror lists by ping/traceroute results, use the # /usr/bin/sortmirrors script. It requires the "netselect" package. # # See the pacman manpage for option directives # # GENERAL OPTIONS # [options] LogFile = /var/log/pacman.log NoUpgrade = etc/passwd etc/group etc/shadow etc/sudoers NoUpgrade = etc/fstab etc/raidtab etc/ld.so.conf NoUpgrade = etc/rc.conf etc/rc.local NoUpgrade = etc/modprobe.conf etc/modules.conf NoUpgrade = etc/lilo.conf boot/grub/menu.lst HoldPkg = pacman glibc #XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u # # REPOSITORIES # - can be defined here or included from another file # - pacman will search repositories in the order defined here. # - local/custom mirrors can be added here or in separate files # [testing] Server = ftp://mi.mirror.garr.it/mirrors/archlinux/testing/os/i686 [current] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/current [extra] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/extra #[unstable] #Server = ftp://mi.mirror.garr.it/mirrors/archlinux/unstable/os/i686 #[community] # Add your preferred servers here, they will be used first Include = /etc/pacman.d/community # An example of a custom package repository. See the pacman manpage for # tips on creating your own repositories. #[custom] #Server = file:///home/custompkgs
come potete vedere nel file si possono impostare i repository direttamente oppure si può dire a pacman di cercare i mirror in un altro file, per esempio per il repository "Community" pacman andrà a cercare i mirror nel file /etc/pacman.d/community. Passiamo ora al funzionamento vero e proprio di pacman:
pacman -Sy: aggiorna la lista dei pacchetti
pacman -Syu: aggiorna la lista e aggiorna i pacchetti installati
pacman -S nomepacchetto: installa il pacchetto desiderato
pacman -Ss stringa: cerca i pacchetti contenenti quella stringa
pacman -R nomepacchetto: disinstalla un pacchetto
pacman -Q nomepacchetto: vsualizza la versione del pacchetto
pacman -Qs nomepacchetto: per visualizzare la versione e l'origine del pacchetto (ad es. extra, community, testing...)
pacman -A nomepacchetto.pkg.tar.gz: per installare un pacchetto creato con PKGBUILD
Slackware - Swaret
SlackWARE Tool è uno dei gestore pacchetti di slackware (l'altro famoso è slapt-get), non è installato di default pertanto va scaricato da qui e installato cun un semplice:
su
(inserire la password di root)
installpkg swaret-<versione>.tgz
La sua configurazione è molto semplice, consiste nel editare /etc/swaret.conf con il proprio editor preferito avendo i privileggi di root ed aggiungere i seguenti repositaries (non ufficiali ma attendibili) indicati in questa pagina, cmq per maggiori info consiglio di visitare il wiki di slacky.it.
Il suo funzionamento è molto basilare:
swaret --update: aggiorna la lista dei pacchetto
swaret --upgrade pacchetto: aggiorna il pacchetto
swaret --install pacchetto: installa il pacchetto
swaret --reinstall pacchetto: reinstalla il pacchetto
swaret --remove pacchetto: rimuove il pacchetto
swaret --resume: riprende lo scaricamento dei pacchetti
swaret --list: elenca tutti i pacchetti installati
swaret --search pacchetto: cerca il pacchetto
swaret --show pacchetto: mostra una descrizione del pacchetto
swaret --config: apre il file di configurazione /etc/swaret.conf
Gentoo - emerge
Emerge è un gestore pacchetti molto potente e che non richiede all'utente la benchè minima azione di configurazione. Infatti, gentoo è una delle poche distribuzioni GNU/Linux che non adotta i cosiddetti repository (deposito dove andare a prelevar pacchetti).
In effetti, ciò non è esattamente vero: esiste infatti un unico repository centrale (se così si puo definire) che è copiato quasi in tempo reale, sui maggiori mirror del mondo. Essendo così, l'utente non deve preoccuparsi di configurare nulla, a parte le opzioni diu compilazione e i mirror da utilizzare.
Per la configurazione dei mirror, fate riferimento a questa pagina web:
Per le opzioni di compilazioni invece, fate riferimento a questa:
Tramite emerge è possibile installare circa 11'500 pacchetti per l'architettura x86 (un po meno per la amd64 e le altre architetture). Direte che rispetto ai 18-19'000 di debian/ubuntu sono pochi, ma in gentoo un pacchetto contiene a volte 4-6 pacchetti dei reciproci su debian !
Di seguito i comandi più utilizzati:
emerge --sync: utilizzato per aggiornare la lista pacchetti
emerge pacchetto1 pacchetto2 ... : utilizzato per installare dei pacchetti
emerge -p pacchetto: --pretend è l'equivalente, e chiede ad emerge di mostrare cosa eseguirà l'azione che abbiamo abbinato a "p" (come -u -D e -N)
emerge -a <azioni> pacchetto/i: permette di visualizzare una conferma all'utente prima di continuare l'azione.Questa opzione solitamente viene abbinata alle opzioni -u -D -N e -E <pacchetti/world>
emerge -uD [pacchetti/world]: utilizzato per aggiornare tutti i pacchetti e le loro dipendenze
emerge -N world: utilizzato per riconfigurare tutti (world) i pacchetti coinvolti a causa di un cambio di USE (funzione avanzata)
emerge -S <pacchetto>: utilizzato per cercare pacchetti (lento)
emerge --resume: per ripristinare da dove emerge si era fermato
emerge --resume --skipfirst: per ripristinare da dove emerge si era fermato, saltando il primo pacchetto
Consiglio pertanto di installarvi "eix"
emerge eix
Per aggiornare il database dei pacchetti installati
update-eix
Per cercare un pacchetto (velocemente)
eix nomepacchetto
Installazione manuale dei pacchetti
I pacchetti per gnu/linux possono essere di tre tipi:
- RPM (RedHat Packet Manager) usato principalmente dalle distro OpenSuse/Fedora/Mandriva
- DEB usato principalmente da DEbian e dalle sue derivate Ubuntu/kubuntu/Xubuntu/Knoppix/Kanotix/DSL/Mepis
- TGZ usato da Slackware e dalle sue derivate (SLAX/STUX)
RPM
rpm -i (--nodeps) pacchetto.rpm (--force) (--test): installa il pacchetto - l'opzione nodeps si usa per ignorare le dipendenze, mentre force serve appunto a forzare l'installazione (può sovrascrivere i files), --test finta l'installazione e mostra eventuali conflitti
rpm -U (--nodeps) pacchetto: aggiorna il pacchetto - l'opzione nodeps si usa per ignorare le dipendenze
rpm -e pacchetto: disinstalla il pacchetto
rpm -q (--all) (--state) pacchetto: fa una ricerca per il pacchetto nel database di rpm, --all per mostrare tutti i pacchetti installati, --state per mostrare lo stato di un pacchetto
DEB
dpkg --info pacchetto.deb: mostra informazioni sul pacchetto
dpkg --install pacchetto.deb: installa il pacchetto
dpkg --unpack pacchetto.deb: scompatta il pacchetto
dpkg --configure pacchetto: configura un pacchetto precedentemente scompattato
dpkg --remove pacchetto: rimuove il pacchetto
dpkg --purge pacchetto: rimuove il pacchetto compresi i suoi file di configurazione
dpkg-reconfigure pacchetto: riesegue configurazione di un pacchetto
TGZ
installpkg pacchetto.tgz: installa il pacchetto (non risolve anche le dipendenze)
upgradepkg pacchetto.tgz: aggiorna il pacchetto
removepkg pacchetto.tgz: rimuove il pacchetto
explodepkg pacchetto.tgz: scompatta solo il pacchetto
Sorgenti
Per installare un pacchetto di sorgenti procedere di norma così: se tar.gz scompattarlo con:
tar xzvf pacchetto.tar.gz
se tar.bz2 scompattare con:
tar xjvf pacchetto.tar.bz2
poi entrare nella cartella
cd cartellaprogramma
Il primo passo consiste nel:
./configure
Il configure controlla che siano installati tutti i componenti necessari (librerie + software vario) per far funzionare l'applicazione, nel caso dia un errore installare l'applicazione mancante. Il secondo passo genera il makefile:
make
diventare root
su
inserire la password che non comparirà a video, neanche come asterischi e fare l'ultimo passo
make install
oppure utilizzare "sudo", nel caso si usi *buntu o si sia autorizzto ad utilizzare questo modo di ottenere privilegi
sudo make install <inserire la password UTENTE che non comparira` a video>
NOTA MOLTO IMPORTANTE N°1: di solito nella cartella scompattata sono presenti due file README e in particolare INSTALL che forniscono istruzioni riguardanti l'installazione soprattutto se questa richieda passaggi non canonici.
NOTA MOLTO IMPORTANTE N°2: alcune volte i pacchetti tar.gz non sono sorgenti, ma solo binari compressi o altre cosette, per sapere come procedere per l'installazione/esecuzione leggere README e/o INSTALL.
NOTA MOLTO IMPORTANTE N°3: installando software da sorgenti. le dipendenze che tale software non vengono risolte automaticamente dal gestore pacchetti o da altro. Pertanto, prima di installare software da sorgenti, è necessario risolvere tutte le dipendenze MANUALMENTE, installandole anchesse da sorgenti, o tramite il gestore pacchetti
Binario eseguibile
A volte, propgrammi (o driver) proprietari o comunque non open, vengono rilasciati in file binari (solitamente .bin o .run), per eseguirli/installarli la procedura è molto semplice:
Ci spostiamo nella cartella del file binario (se il file sta sul desktop vi dovete spostare in Desktop, notare la D maiuscola)
cd cartella_del_file
rendiamo eseguibile il file (nell'esempio è un .bin, ma è lo stesso per file .run)
chmod +x nomefile.bin
e eseguiamo il file
./filebinario.bin
NOTA MOLTO IMPORTANTE N°1: a volte viene un fornito un pacchetto compresso, con al suo interno il binario e tutti i file necessari per farlo eseguire senza nessuna installazione (caso tipico di firefox se perlevato dal sito ufficiale).
In questo caso basta: se tar.gz scompattarlo con:
tar xzvf pacchetto.tar.gz
se tar.bz2 scompattare con:
tar xjvf pacchetto.tar.bz2
poi entrare nella cartella
cd cartellaprogramma
rendere eseguibile il file
chmod +x nomefile
e farlo partire
./nomefile
NOTA MOLTO IMPORTANTE N°2: All'interno per pacchetto scompattato è di solito presente un README e/o un INSTALL, leggerli per avere maggiori informazioni.

