Sebbene esistano diversi strumenti per l'amministrazione di un server GNU/Linux, molti dei quali dotati di ricche interfacce grafiche, non si può prescindere dalla conoscenza di alcuni comandi di base della shell, specialmente nel caso in cui sia necessario agire manualmente su file di configurazione, riavviare servizi, monitorare i processi in esecuzione, eccetera.
Questa lezione si concentra solo su quei comandi e programmi di utilità indispensabili per l'amministrazione di un server. Per una guida completa sulla sintassi della shell Bash vi invitiamo a consultare la relativa guida, disponibile su HTML.it.
L'editor vi
vi è forse il più diffuso editor di testi in ambiente Unix, le cui radici affondano addirittura nel lontano 1976. vi è disponibile su GNU/Linux, MacOS X, Solaris, vari BSD, ed in generale su tutti gli ambienti Unix aderenti allo standard POSIX (incluso Cygwin su Windows). Le versioni oggi disponibili sono ben lontane da quella scritta più di quarant'anni fa, ma le operazioni di base sono rimaste fondamentalmente le stesse.
Per iniziare a lavorare su un file, basta invocare il comando vi seguito dal nome del file:
# vi file.txt
vi caricherà il file in modalità di lettura.
Interfaccia di vi
L'interfaccia di vi è molto scarna: lo schermo viene riempito dalle righe del file visualizzato, ad eccezione dell'ultima riga che funge da barra di stato e di comando. Usando i tasti freccia, è possibile muovere il cursore lampeggiante e quindi scorrere il file.
Per impartire dei comandi, è sufficiente digitare il simbolo dei due punti : (SHIFT + . nelle tastiere italiane) seguito dal comando da impartire (la lista completa è disponibile digitando :help
).
Editing
Per iniziare la scrittura, premiamo il tasto I. La barra di stato mostrerà la scritta -- INSERT --, confermando l'attivazione della modalità di inserimento testo. In questa modalità, l'editor funziona come qualunque altro programma di scrittura, inserendo il testo digitato alla posizione del cursore. Per terminare, premeremo il tasto ESC. La scritta -- INSERT -- scomprarirà.
Salvare le modifiche
Per salvare le modifiche, dovremo attivare il prompt dei comandi con :, quindi digitare w (che sta per write, scrivi) e premere il tasto INVIO. Per uscire dal programma e ritornare alla shell, si utilizza il comando :q.
vi offre la possibilità di combinare più comandi. Ad esempio, per salvare il file ed uscire, è possibile digitare :wq ed il tasto INVIO.
L'editor nano
Un altro editor di testi molto diffuso è nano, la cui prima versione risale al 2000. Nano è caratterizzato da un'interfaccia più ricca e per certi versi più "amichevole" di quella di vi. La barra in alto mostra il nome del file corrente, non c'è una distinzione tra modalità di lettura e modalità di inserimento, i comandi sono impartiti da comode scorciatoie da tastiera, indicate nella barra in basso.
Come per vi, l'apertura di un file avviene semplicemente invocando l'editor seguito dal nome del file:
# nano file.txt
Le scorciatoie da tastiera si effettuano con il tasto CTRL. Ad esempio, per uscire dall'editor è sufficiente premere CTRL + X (Exit, come indicato nella barra in basso).
Nano dispone di funzionalità per la ricerca e la sostituzione (CTRL + W), la copia (CTRL + K) e la funzionalità di incolla (CTRL + U), nonchè molto altro ancora, che lo rendono uno strumento molto valido qualora non si disponga di un'interfaccia grafica (ad esempio, quando si è connessi da remoto ad una macchina server attraverso ssh).
Se la vostra macchina non dispone di nano (alcune distribuzioni non lo installano per default), è sempre possibile installarlo dai repository della vostra distribuzione.
Per le distribuzioni basate su Debian / Ubuntu:
# apt-get install nano
Per le distribuzioni basate su Red-Hat / Fedora:
# yum install nano
oppure
# dnf install nano
Avviare, terminare o riavviare servizi
I servizi in esecuzione sul server (database, server web, server di posta, eccetera) possono essere facilmente controllati mediante il comando service. Questo script permette di avviare, terminare o riavviare un servizio installato mediante la seguente sintassi:
# service nome_servizio comando
dove nome_servizio è il nome del servizio da controllare e comando è il comando da eseguire. Ad esempio, il comando:
# service apache2 restart
riavvierà il server web Apache.
Per conoscere la lista completa di servizi installati o dei comandi supportati da un particolare servizio, è possibile usare la funzione di completamento automatico della shell, usando il tasto TAB. Dopo aver digitato il comando service seguito da uno spazio, premere due volte il tasto TAB per far apparire la lista di servizi installati. Digitando le prime lettere del servizio richiesto e premendo nuovamente TAB, il nome completo verrà inserito. Premendo nuovamente due volte il tasto TAB apparirà invece la lista dei comandi supportati, con un comportamento analogo.
Installare aggiornamenti software
L'installazione degli aggiornamenti in un sistema Ubuntu avvengono usando il ben noto comando apt-get. In particolare, i comandi da eseguire sono due: il primo permette l'aggiornamento della lista di pacchetti disponibili, ed il secondo effettua l'installazione dei pacchetti più aggiornati.
Per aggiornare la lista dei pacchetti disponibili, è sufficiente digitare il comando:
# apt-get update
L'installazione degli aggiornamenti avviene invece con il comando:
# apt-get upgrade
Monitorare i processi in esecuzione
Controllare la lista dei processi in esecuzione può essere utile per verificare la presenza di anomalie nell'esecuzione dei servizi (ad esempio, se un processo sta utilizzando più risorse del necessario, se la CPU è in stallo, eccetera).
In molti sistemi Unix è possibile ricorrere al comando top, che mostra lo stato della macchina (tempo di accensione totale, numero di utenti connessi, carico medio della CPU), oltre che la lista dei processi in esecuzione in forma tabellare.
Il software htop è un'evoluzione di questo comando che offre maggiore interattività ed un'interfaccia più ricca, dotata di una visualizzazione grafica (a barre) dell'utilizzo delle risorse (CPU, RAM, swap).
Per installare htop in ambienti Debian / Ubuntu è sufficiente digitare:
# apt-get install htop
oppure, su Red-Hat / Fedora:
# yum install htop