Questa è una guida per installare/disinstallare correttamente il software in un sistema Linux. Io uso Linuxmint, una distribuzione basata su Ubuntu , quindi i comandi ed i metodi qui illustrati, sono basati su Debian.
Package Managers Grafici
1. Repositories
Ci sono tonnellate di software e di strumenti a disposizione in Linux. Deve esserci un modo per organizzare tutto in qualche modo. Le Repositories fanno questo. Le Repositories sono come archivi di software che girano sul vostro computer.
Nel mondo Ubuntu, le repositories sono classificate in 4 categorie - Main, Restricted, Universe e Multiverse. Questa classificazione è basata su diversi livelli di supporto.
- Main - contiene il software ufficialmente supportato
- Restricted - ha software supportato, ma non è disponibile in una licenza libera (non si riferisce ai costi, ma alla licenza)
- Universe - contiene il software che non è ufficialmente supportato, ma è gestito dalla comunità Linux
- Multiverse - software house non libere
2. Configurare le fonti del software
Sistema -> Amministrazione -> Sorgenti software
e qui potete semplicemente selezionare/deselezionare le repositories per attivare/disattivare.
3. Installare / Rimuovere software e gestione dei pacchetti in Ubuntu
Le versioni recenti di Ubuntu comprendono quello che viene chiamato il "Ubuntu Software Center", che permette di installare e rimuovere software facilmente, come installare applicazioni dal vostro iPhone App Store. Le scelte però, sono limitate. Se si riesce a trovare ciò che si desidera in Ubuntu Software Center, basta andare avanti e installare da lì. E' il modo più semplice per farlo.
Per un maggior controllo, e per sapere che cosa si è usato più semplicemente 6 mesi prima, si può dare una occhiata a Synaptic Package Manager.

Sistema -> Amministrazione -> Synaptic Package Manager
La visualizzazione predefinita elenca categorie sul lato sinistro e cliccando su una di esse vi verranno mostrati i pacchetti sul lato destro della finestra.
E' inoltre possibile utilizzare la funzionalità di ricerca per trovare quello che vi serve.
Una volta che avete il pacchetto richiesto in vista, basta selezionarlo e Synaptic si prenderà cura delle dipendenze per voi. Quindi fate clic su "Applica" e vi verrà mostrata una panoramica di ciò che verrà cambiato sul vostro computer.
Accettate o Annullate a seconda dei casi.
4. Configurazione "Altro Software" o PPA
Ci vuole tempo prima che un software possa far parte delle repositories. Questo è comunque l'era di Internet e non possiamo attendere tutto quel tempo. Quindi, come si può installare il software che non è presente nelle repositories?
Tenete presente che Google Picasa, Google Earth, Chrome non sono disponibili tramite repositories. Banshee e Gwibber non erano nei repository fino a qualche tempo fa.
In questi casi, è necessario utilizzare ciò che si chiama Personal Package Archives. Non vi è nulla di nuovo o inquietante in questi archivi. Li abbiamo utilizzati numerose volte in passato, quando abbiamo installato software più recenti, non disponibili attraverso le repositories. Una volta aggiunto il PPA del vostro software preferito, potrete scaricare gli aggiornamenti automatici e le correzioni ai bug, esattamente come fareste con qualsiasi software delle repositories.
Visitate la pagina PPA del software. In esso vengono ospitati dettagli importanti di cui si potrebbe avere necessità nei passaggi seguenti.

Sistema -> Amministrazione -> Sorgenti software
quindi sulla scheda altri software.
Click on the Add button and then paste in the line that starts with deb and corresponds to your Ubuntu version. Fate clic sul pulsante "Aggiungi" e quindi incollate nel campo, la riga che inizia con deb e corrispondente alla vostra versione di Ubuntu.
Gli utenti di Maverick dovrebbero inserire una riga che assomiglia a:
deb http://(qualcosa, qualcosa, qualcosa) maverick main
Fate clic su "Aggiungi sorgente" ed è fatto.
Cliccate su "Chiudi" e Ubuntu ricaricherà le informazioni sui pacchetti.
5. Importare le chiavi
I PPA generalmente elencano una chiave OpenPGP che viene utilizzata dagli strumenti di gestione dei pacchetti per confermare l'autenticità dei pacchetti che vengono installati. Pertanto, una volta che avete aggiunto il PPA, dovrete importare anche le chiavi corrispondenti, prima di poter installare e utilizzare il software.
Aprire il terminale e il seguente comando:
sudo apt-key adv -keyserver keyserver.ubuntu.com -recv-keys [a number]

E' ora possibile installare, aggiornare e rimuovere il software facilmente, come si fa con qualsiasi altro pacchetto delle repositories.
Package Managers a riga di comando
Ce ne sono tre, usati da distribuzioni basate su Debian:- Apt
- Aptitude
- dpkg
- Yum - usato da Fedora ed ha gli stessi comandi di Apt
- Emerge - usato da Gentoo
Discuteremo dei soli usati da distro Debian: Apt, Aptitude e dpkg.
Advanced Packaging Tool, APT
Apt è una serie di strumenti che abilita i pacchetti .deb ad essere installati su sistemi basati su Debian ed i pacchetti .rpm su sistemi che usano RPM. Se aprite un terminale e digitate "man apt", otterrete molte informazioni su esso e se digitate "apt -h" ne otterrete anche di più; nessuna di esse è veramente istruttiva (usate Shift+Q per chiudere la man page o la help page).
I comandi di più frequente uso in apt sono:
- aggiornare l'elenco dei pacchetti:
sudo apt-get update - installare nuovi pacchetti:
osudo apt-get install NOME-PACCHETTOsudo apt-get install PACCHETTO-UNO PACCHETTO-DUE PACCHETTO-TRE ... - aggiornare tutto il software installato sul sistema:
sudo apt-get upgrade - avanzare di versione per tutto il sosftware installato sul sistema (compreso il sistema operativo):
sudo apt-get dist-upgrade - installare le dipendenze richieste da uno specifico pacchetto (qualche volta):
sudo apt-get build-dep PACKAGE-NAME - rimuovere un pacchetto:
sudo apt-get remove PACKAGE-NAME - rimuovere un pacchetto e tutti i suoi file di configurazione (tutti i settaggi, ecc.):
sudo apt-get purge PACKAGE-NAME - pulire la cache del pacchetto (cancellare i file del pacchetto scaricato - che non rimuove i pacchetti installati):
sudo apt-get clean - ripulire i files obsoleti dei pacchetti (lasciando i nuovi):
sudo apt-get autoclean - rimuovere automaticamente i pacchetti non usati:
sudo apt-get autoremove - controllare i pacchetti corrotti:
sudo apt-get check - correggere i pacchetti corrotti:
sudo apt-get install -f - aggiungere un CD-ROM all'elenco delle repositories (utile quando l'accesso a internet è mancante o limitato):
sudo apt-cdrom add
Alcuni utili comandi extra sono:
- Se volete un elenco di tutto il software installato sul vostro sistema attraverso apt (o dpkg), digitate:
apt-cache pkgnames - Per vedere tale elenco in modo alfanumerico e mostrato una pagina alla volta, (usate Pagina-Su e Pagina-Giu per lo scorrimento, e Shift+Q per chiudere l'elenco)
apt-cache pkgnames | sort | less - per avere un elenco dei pacchetti, racchiuso in un file di testo, collocato sul desktop e dal nome package-list.txt
apt-cache pkgnames | sort > ~/Desktop/package-list.txt
DPKG, il Debian Package Management System
Dpkg è il principale installer di pacchetti usato dai sistemi basati su Debian. La maggior parte dei package managers sono dei front end di dpkg; apt non è una eccezione. Di consenguenza, la maggior parte dei package managers condividono alcuni files con dpkg come la lista delle repositories, ovvero /etc/apt/sources.list e la lista dello stato dei pacchetti /var/lib/dpkg/status. In linea generale, apt è preferito a dpkg sebbene dpkg sia l'attuale installer. Tuttavia, dpkg è utile se apt non funziona o c'è stato un crash di sistema durante la installazione di un pacchetto, con l'inevitabile risultato di una pessima installazione del software. I comandi richiesti per installare, rimuovere, riconfigurare e correggere una parziale/interrotta installazione di pacchetto, sono i seguenti:
- Per installare un pacchetto:
sudo dpkg -i PACKAGE-NAME - Per rimuovere un pacchetto:
sudo dpkg -r PACKAGE-NAME - Per ri/configurare un pacchetto:
sudo dpkg --configure PACKAGE-NAME - Per ri/configurare tutti i pacchetti non configurati:
sudo dpkg --configure -a
Ogniqualvolta apt, aptitude, Synaptic o altri package manager non sono in grado di installare software, a causa di conflitti di dipendenze o di altri problemi come internal compiler error: Segmentation fault, potrete rimuovere il software in conflitto con il comando dpkg -r PACKAGE-NAME. Più spesso di quanto si creda, sarà l'unico sistema adatto a correggere il vostro regolare package manager; e usate sudo dpkg -configure -a per configurare il software non installato, ogni volta che il vostro package manager collassa durante l'installazione di software.
Aptitude
Aptitude è un altro front end per dpkg. Fornisce un facile accesso alle funzioni di dpkg. La struttura di comando di Aptitude è del tutto simile a quella usata da apt. Essendo un front end di dpkg, usa lo stesso elenco delle repositories come dpkg e apt.
Ecco alcuni esempi che dimostrano come i comandi di Aptitude siano quelli di apt:
- per aggiornare l'elenco dei pacchetti:
sudo aptitude update - per installare software:
sudo aptitude install PACKAGE-NAME - per reinstallare software:
sudo aptitude reinstall PACKAGE-NAME - per rimuovere software:
sudo aptitude remove PACKAGE-NAME - per rimuovere software e rimuovere le sue configurazioni:
sudo aptitude purge PACKAGE-NAME - per aggiornare il sistema e il software installato:
sudo aptitude full-upgrade - per pulire la cache dei pacchetti scaricati:
sudo aptitude clean
aptitude --help
man aptitude
sudo aptitude

Il menu viene attivato e disattivato premendo Ctrl+T
La navigazione nel menu è attivata con le frecce per selezionare la voce e il tasto INVIO, per attivarla. Il tasto Tab permette di muoversi tra le opzioni interattive.
Per chiudere Aptitude, premete Ctrl+C
- Per aggiornare la vostra lista dei pacchetti:
Ctrl+T Menu>Update Package List - Per installare i pacchetti raccomandati:
Ctrl+T Menu>Install Packages - Per installare un pacchetto specifico:
Ctrl+T Search>Find

Scoprirete che le scorciatoie sono un modo per familiarizzare con il programma. Sebbene Aptitude sia citato meno di apt e apt-get, è il modo migliore, rispetto agli altri, di installare software in Linux. Una ragione può essere quella per cui Aptitude registra le dipendenze quando viene installato un programma, in modo che Aptitude le rimuova se quelle dipendenze non dovessero essere più necessarie ai pacchetti installati.
Una seconda ragione per la quale Aptitude è il metodo preferenziale, è che fa attenzione ai pacchetti software che risultino di un più efficace uso, quando sia necessaria la installazione di pacchetti opzionali extra. E' meglio controllare i consigli dati da Aptitude in merito ai pacchetti installati, almeno una volta al mese, per assicurarsi che il sistema non tralasci nulla al riguardo di pacchetti malgestiti da un altro package manager.
Installer di Codice Sorgente
Alcuni software è meglio siano installati, o è possibile installarli solo da codice sorgente. Per molta gente, questo sistema è un tuffo nel passato ed una arretratezza inaccettabile. Fortunatamente non è così tanto complicato come sembra e il 99% del tempo impiegato, sarà necessario a scompattare il codice sorgente in una directory, aprire un terminale e digitare alcuni comandi per completare una installazione. Di solito non è necessario modificare alcun file di configurazione e setup, per avere successo.
Alcune delle ragioni per le quali potreste voler installare da sorgente, comprendono:
- indisponibilità del software attraverso un manutentore di pacchetti
- necessità di una versione più recente del software, piuttosto della versione disponibile attraverso un manutentore di pacchetti
- la versione disponibile dal manutentore di pacchetti, non è compatibile con l'architettura del computer
- la versione disponibile dal manutentore di pacchetti è corrotta, e/o il manutentore non è accessibile e l'unico modo di rimediare è di installare da sorgente
Il maggior vantaggio di installare il software da sorgente, è che il prodotto finale è ritagliato sul sistema che lo ospita, piuttosto che su quello del produttore e manutentore del pacchetto stesso.
Lo svantaggio principale di installare da codice sorgente, è che il gestore dei pacchetti del sistema ospitante, non si accorge della presenza del software; questo porta al secondo svantaggio: le installazioni da sorgente non consentono automaticamente l'aggiornamento del software, qualora ne venga rilasciata una versione successiva, come fa invece un package manager.
Controllate, quindi, che il software che volete installare sia disponibile attraverso il vostro package manager preferito, prima di installarlo da sorgente. Se fosse disponibile dal vostro package manager, decidete se i vantaggi offerti dalla installazione da sorgente, valgano più dei benefici offerti dalla installazione con il package manager.
Addentriamoci
L'informazione più importante da ricordare, dopo avere installato qualsiasi software da sorgente, è di registrarlo con il sistema, inserendo nel terminale questo comando:sudo ldconfig
sudo ldconfig nel terminale e poi riprovare il processo di installazione.Queste istruzioni sono scritte per la linea di comando, ma possono essere facilmente applicate con un file browser.
Quindi avete scaricato il vostro codice sorgente ed è impacchettato, come è solito che sia, in un file compresso in uno dei seguenti formati, .tar.bz, .tar.bz2, .tar, .zip o .gz:
- Trovate un posto dove spacchettarlo:
Spacchettatelo in qualche posto della vostra directory home, per cui non avrete bisogno dei permessi di root per maneggiarlo.
Sarebbe meglio creare una directory comune dove spacchettare tutti i pacchetti sorgente che scaricate. Io uso una directory chiamata "installed". Scegliete il nome che vi pare. Per crearla, basta inserire nel terminale questo comando:
Il simbolo della tilde "~" rappresenta la home dell'utente. Il percorso /home/pinco è lo stesso di ~/pinco e /home/simone è uguale a ~/simonemkdir ~/nomedirectory - Spostate i file scaricati nella directory "nomedirectory":
Sostituite FILE con il nome del file e DIR con la locazione della directory dei filemv DIR/FILE ~/installed
per esempio, se il file source-code.zip è sul vostro desktop, dovreste digitaremv ~/Desktop/source-code.zip ~/nomedirectory - Andate nella directory "nomedirectory"
cd ~/nomedirectory - Spacchettate il file La maggior parte dei pacchetti sorgente è compressa come .tar.bz, .tar.bz2, .tar o .zip. Decomprimetelo con uno dei seguenti comandi:
tar -zxf FILE.tartar -jxvf FILE.tar.bztar -jxvf FILE.tar.bz2tar -zxvf FILE.tar.gzunzip FILE.zip - Andate nella directory creata dalla decompressione:
- trovatela nell'elenco dei file nella directory
che è una con iniziale maiuscolals -1 - quindi entrate in essa:
cd NOME-DIRECTORY - fate un elenco di tutti i file presenti nella directory
Se è elencata una sola cartella, passate a questa directory e ripetete "ls -1 -a".ls -1 -a
- trovatela nell'elenco dei file nella directory
Alcuni pacchetti sorgente posseggono le istruzioni. Date una occhiata ai file chiamati "readme", "install" o "instructions".
Occasionalmente le istruzioni sono in una directory separata chiamata "docs". Avete l'occasione non solo di leggere come installare, ma anche di leggere le istruzioni per scoprire ogni dipendenza necessaria e imparare ogni metodo speciale per passare alla fase successiva.
Se decidete di leggere le istruzioni, digitate "more" seguito dal nome del file di cui volete sapere di più, ad esempio
more readme
Se non volete leggere tutte le istruzioni, guardate nell'elenco dei files e controllate se qualcuno assomiglia ad uno di questi:
- configure
- make
- cmake
- qmake
- bootstrap
- setup.py
- *.sh
- *.bin
- jar
- pl
Questo elenco si riferisce alle istruzioni elencate sotto e sono in ordine di preferenza d'uso, il che significa che se vedete un file chiamato configure allora usate le istruzioni di set-up elencate sotto "configure". Se riconoscete anche solo un file setup.py, allora andate alle istruzioni di set-up per "setup.py". Ma se ne vedete sia uno "setup.py" e uno chiamato "configure", allora prima seguite le istruzioni per "configure" e poi quelle per "setup.py".
Per qualsiasi di queste istruzioni di set-up, per ogni errore intervenuto, controllate l'output di installazione e controllate la presenza di voci Looking for....not found ed Error. Le voci non trovate indicano la non risoluzione delle dipendenze, la mancanza di librerie opzionali o di librerie alternative. Installate questi file mancanti e vedrete risolti tutti i problemi. Spesso ci sono altri avvertimenti, che sono inusuali e non c'è normalmente nulla di cui preoccuparsi.
Configure
Questo è il metodo di installazione più comune. Questo processo configura i file per un sistema, compila i binari di installazione, li installa, pulisce la cartella dei sorgenti dei file non necessari, creati dal passaggio precedente, quindi registra i binari per l'uso da parte del sistema restante. Aprite un terminale e digitate singolarmente:
./configure
make
sudo make install
make clean
sudo ldconfig
Make
Seguite le istruzioni per Configure ma saltate il passaggio ./configure.
Cmake
Seguite le istruzioni per Configure ma rimpiazzate ./configure con cmake.
Qmake
Questo richiede di solito una directory build esterna. Andate al capitolo Usare una Directory esterna, altrimenti seguite le istruzioni per Configure, ma sostituite ./configure con qmake.
Bootstrap
Seguite le istruzioni per Configure ma rimpiazzate ./configure con ./bootstrap.
Setup.py
E' molto semplice, basta digitarepython setup.py install
.Sh
Un file .sh è uno script di shell. Per usarlo dovrete renderlo prima eseguibilechmod u+rwx FILE.bin
./FILE.sh
bash FILE.sh
sh FILE.sh
.bin
Questo è un file binario. Per usarlo dovrete renderlo prima eseguibilechmod u+rwx FILE.bin
./FILE.bin
.jar
Questo è un file java. Per usarlo dovrete renderlo prima eseguibilechmod u+rwx FILE.jar
java -jar FILE.jar
.pl
Questo è uno script perl. Per usarlo dovrete renderlo prima eseguibilechmod u+rwx FILE.jar
perl FILE.pl
FILE.pl
Usare una directory esterna
Alcuni codici sorgente devono essere implementati da una directory esterna. La build directory non deve essere usualmente una sottodirectory della directory del codice sorgente. Il modo per creare codice sorgente in una directory esterna è semplice come richiamare gli script configure o make, da una directory esterna.
- Supponiamo che abbiate il codice sorgente in
~src/source-code/ - Avrete bisogno di creare il vostro codice sorgente in una directory esterna chiamata
~/src/source-code-build - Per fare ciò:
- Salite di una directory
cd .. - Create una nuova directory con lo stesso nome della vostra directory source-code, ma con il suffisso "build"
mkdir DIRECTORY-build - Entrate nella nuova directory
cd DIRECTORY-build - Quindi richiamate gli script configure o make.
Usate le istruzioni come illustrato nelle parti precedenti, ma anticipate il primo comando (solo il primo comando) con il percorso della directory allo script configure o make della directory source-code. Ad esempio
~/src/DIRECTORY/configureqmake ~/src/DIRECTORY/cmake ~/src/DIRECTORY/
- Salite di una directory
Quando le cose vanno storte
Qualcosa va solitamente storto, quando le istruzioni non sono lette e/o seguite correttamente. Se qualcosa va male ed il software non viene installato, dovreste controllare l'output del terminale per trovare dove l'installazione ha fallito (compreso il vecchio "internal compiler error: Segmentation fault"), quindi installate tutte le dipendenze mancanti, digitando prima
make distclean
make confclean
sudo ldconfig
Ritentate quindi la installazione. Se dovesse continuare a non installare, riavviate l'installazione usando sudo make al posto di make.
Ogni volta che apt, aptitude, Synaptic, o qualsiasi altro package manager, sia incapace di installare o disinstallare del software, a causa di dipendenze in conflitto o a causa di altri problemi causati da un altro pacchetto software, dovreste rimuovere il pacchetto che causa i problemi, digitando nel terminale:
dpkg -r PACKAGE-NAME
Il vostro sistema potrebbe detenere software non configurato o parzialmente configurato, se il computer o il vostro package manager sono andati in crash nelle fasi di installazione. Digitate quindi questo comando nel terminale:
sudo dpkg --configure -a
Quindi controllate che il software che volevate installare nel sistema prima del crash, sia effettivamente installato.
Questo magico comandoi dpkg -r PACKAGE-NAME, mi avrebbe salvato due giorni di lavoro se solo lo avessi conosciuto prima. Vi suggerisco quindi di tenerlo a mente per risolvere rapidamente ogni problema di software mal installato.
Alberto










