Come indicato nelle lezioni precedenti, l'installazione del software in ambiente Ubuntu avviene mediante il comando apt-get. Sebbene questo comando sia versatile e potente, esso richiede una conoscenza precisa del nome dei pacchetti da installare. Nella maggior parte dei casi, l'utente potrebbe non disporre di questa informazione. Ad esempio, se si vuole installare il software MySQL server, bisogna ricordare che il nome del corrispondente pacchetto è mysql-server-5.5.
Un altro concetto importante è quello della dipendenza. Un pacchetto X si dice dipendente da un altro pacchetto Y se il software che contiene X non può essere eseguito senza l'installazione di Y. Ad esempio, il server Tomcat dipende da Java, in quanto il server Tomcat ha bisogno di un Java Runtime Environment per poter essere eseguito.
Le dipendenze sono generalmente risolte automaticamente dal comando apt-get
. Quando si richiede l'installazione di un pacchetto, apt-get
provvede ad individuare le dipendenze e scaricare i pacchetti necessari automaticamente.
I metapacchetti
Tuttavia, vi sono casi in cui la configurazione di un servizio potrebbe richiedere l'installazione di diversi software, che sebbene non siano strettamente dipendenti tra di loro, sono necessari affinché il servizio funzioni correttamente. Ad esempio, una applicazione web potrebbe aver bisogno oltre che di un server web anche di un interprete PHP e di MySQL. Nessuno dei due dipende strettamente dall'altro, ma l'amministratore di sistema dovrà provvedere ad installarli tutti per garantire il corretto funzionamento dell'applicazione web.
Gli sviluppatori di Debian (da cui, ricordiamo, deriva anche Ubuntu) hanno sviluppato un semplice sistema per venire incontro a questa esigenza: i metapacchetti. Si tratta di pacchetti che non contengono software, ma sfruttano il meccanismo delle dipendenze per installare un insieme di pacchetti logicamente legati tra loro. Ad esempio, il metapacchetto ubuntu-desktop permette di installare l'intero ambiente grafico di Ubuntu, includendo il server Xorg, la shell Unity, ed una collezione di software utente quali LibreOffice, Firefox, eccetera.
Tasksel
Un altro approccio alla installazione multipla è quello offerto dal software tasksel. Tasksel permette di installare in pochi passi un servizio, preoccupandosi di installare e configurare tutto il software necessario. I servizi disponibili sono detti "task".
Come è possibile vedere dai nomi, i task elencati corrispondono a servizi completi. Ad esempio il task "LAMP server" installerà il server web Apache, il DBMS MySQL ed un interprete PHP (ricordiamo che LAMP è acronimo di Linux Apache MySQL PHP).
I task già installati sono marcati da un asterisco. Per installare un nuovo task è sufficiente selezionarlo spostando il cursore su di esso con i tasti freccia, e poi premere la barra spaziatrice. Quindi, premendo il tasto INVIO si avvierà l'installazione.
Tasksel può essere utilizzato direttamente dalla riga di comando. Ad esempio, per conoscere la lista di task disponibili, è sufficiente digitare il comando:
# tasksel --list-tasks
L'installazione e la disinstallazione dei pacchetti contenuti in un task avviene usando i comandi tasksel install e tasksel remove. Ad esempio, il comando:
# tasksel install dns-server
installerà un server DNS.
Per conoscere l'elenco completo dei pacchetti installati da un task, usare il comando tasksel --task-packages seguito dal nome del task, ad esempio:
# tasksel --task-packages dns-server
Nelle lezioni successive si procederà all'installazione di alcuni tra i più comuni servizi offerti da un server GNU/Linux utilizzando appunto il comando tasksel.