Software Freedom Day, una prima esperienza per il PDP!

Il Software Freedom Day (SFD) è una celebrazione annuale sul software libero, che si svolge in tutto il mondo per celebrare le virtù del free/open-source software ma anche per incoraggiarne l’uso a beneficio della comunità. Ieri, 16 settembre 2017, noi ragazzi del PDP abbiamo pensato di prendere parte per la prima volta a questa iniziativa, anche se sapevamo che, dato il recente ritorno dalle ferie/vacanze, non avremmo avuto modo di effettuare per tempo una degna diffusione alla cittadinanza.

Il programma in questione:

In prima linea sabato pomeriggio eravamo io, Luca, Giorgio, Costin e Dawid e nonostante fossimo già a conoscenza della filosofia che c’è dietro il Free Software, abbiamo comunque avuto modo di comprendere meglio quanto il contributo di Richard Stallman, fondatore della Free Software Foundation, sia stato fondamentale e sia propedeutico, alla creazione di una community solida e stabile basata sui principi del SL. Tuttavia non va dimenticato un personaggio di spicco come Linus Torvalds, padre del kernel Linux, che grazie al suo sostanziale aiuto ha dato il via a una vera e propria rivoluzione informatica.

Basti pensare che le tecnologie alla base di questa rivoluzione sono installati sulla maggior parte dei server di Internet e in tutti i telefonini Android (4 anni fa ne venivano sfornati 165 MILIONI AL GIORNO, non osiamo pensare quanti siano oggi!). Peccato che al giorno d’oggi ancora non sia scontato dare valore alla propria libertà nell’utilizzo del software e che non basta che un dispositivo sia basato su queste tecnologie affinché gli utenti siano liberi, ma le aziende devono essere sostenute da forti motivazioni e scelte etiche da valorizzare.

Comandi GNU/Linux per i computer del PDP

Nel precedente articolo abbiamo descritto come si è svolta un’operazione di Trashware all’ITIS Merloni-Miliani di Fabriano e abbiamo accennato di aver assegnato alle macchine recuperate un nome – un hostname – corrispondente ad alcuni comandi da terminale GNU/Linux.

Comandi pwd hostname mkdir cd ls find rmdir less cp mv pushd popd grep xargs cat env export echo man apropos chown chmod exit sudo
Alcuni comandi di base GNU/Linux messi in evidenza

In questo post descriveremo brevemente alcuni dei comandi utilizzati:

man: fondamentale per la visualizzazione di informazioni su altri comandi. Ad esempio $ man ls fornisce la spiegazione e le istruzioni per utilizzare il comando ls, $ man grep fornisce la spiegazione e le istruzioni per utilizzare il comando grep. E così via. Questa è la cosiddetta documentazione tecnica e leggerla quando abbiamo dubbi o necessità di informazioni è molto più istruttiva, anche se meno immediata, di molti blog o forum che online mostrano semplicemente la soluzione al problema, senza spiegare le motivazioni di tali soluzioni. L’esperienza degli esperti amministratori di sistema è che leggere la documentazione tecnica, nel medio e lungo termine “paga”. Perciò noi consigliamo di risolvere almeno un problema su cinque leggendo il man e imparando quindi a leggerne solo le parti che servono (alcune pagine possono essere infatti molto lunghe). Domanda per il lettore: quale comando si userà per ottenere la descrizione del comando man e le relative istruzioni d’uso?

ping:  invia dei pacchetti “speciali” (di tipo ICMP) ad un host remoto ed attende che questo li rispedisca indietro.
L’output del comando ci mostra diverse informazioni utili:

  • se l’host sta rispondendo ai nostri pacchetti e quindi risulta online
  • l’indirizzo IP dell’host remoto
  • il Round Trip Time (RTT), ovvero il tempo che impiegano i pacchetti che partono dal nostro PC a raggiungere l’host remoto e tornare indietro. Questo è utile per capire la qualità della nostra connessione e la “distanza” che separa il nostro PC dall’host remoto.

$ ping fsf.org
PING fsf.org (208.118.235.174) 56(84) bytes of data.
64 bytes from www.fsf.org (208.118.235.174): icmp_seq=1 ttl=50 time=94.9 ms

In questo esempio abbiamo effettuato il ping del server della Free Software Foundation.
I nostri pacchetti impiegano solamente 94.9 millisecondi a raggiungere il server a Boston e tornare indietro!

dmesg: permette di consultare i messaggi inviati dal kernel che è il nucleo del nostro operativo (infatti dmesg sta per display message).
Questi messaggi vengono mandati durante il boot e/o quando viene rilevato un nuovo dispositivo e sono immagazzinati in una speciale memoria temporanea (in gergo buffer).
Con il comando dmesg (senza opzioni) il contenuto di questo buffer viene visualizzato a video, ma di solito le righe sono troppe, per questo viene usato con comandi come less (ad es: dmesg | less) o grep per cercare informazioni più precise (ad es: dmesg | grep sdb quando si inserisce una chiavetta USB).

Se si hanno problemi questo è sicuramente un comando da ricordare!

ls: è un comando fondamentale dei sistemi operativi di tipo Unix. Esso elenca informazioni su file ed il contenuto delle directory.  Qui di seguito alcune utili opzioni da usare con questo comando:

  • ls -l: produce un elenco esteso, ogni file o directory occupa una riga
  • ls -a: include nell’elenco anche i files nascosti (quelli che iniziano con il punto)
  • ls -d: include le informazione delle directories senza mostrarne il contenuto

Sostanzialmente ls è un comando di assoluta importanza per il mondo Linux!

cd: è l’abbreviazione dalla lingua inglese di change directorycambia directory. Esso è un comando interno delle shell testuali che cambia la directory (o cartella) corrente posizionandoci nella directory di destinazione. Il comando può avere anche degli utilizzi più specifici, come questi elencati di seguito:

  • cd /etc: imposta /etc come nuova directory corrente
  • cd ..: sale di un livello nella gerarchia delle directory
  • cd:  va nella directory specificata dalla variabile d’ambiente HOME, che normalmente è la home directory dell’utente

du:  è l’abbreviazione dalla lingua inglese di disk usageutilizzo del disco. Questo è un comando che calcola e mostra a video il totale dello spazio occupato dai file o directory specificatenel file system (per le directory è conteggiato ricorsivamente anche lo spazio occupato dai file e dalle subdirectory che esse contengono).

È da notare che il totale può essere diverso (tipicamente inferiore) dalla somma delle dimensioni di ogni singolo file come riportato dal comando ls, in quanto ciò che viene preso in considerazione è lo spazio occupato nel file system, che nei casi di file sparsi può anche essere notevolmente inferiore alle dimensioni dichiarate.

Elenco dei PC che hanno nomi dei comandi pdp-ping, pdp-mdadm, pdp-iwlist, pdp-grep, pdp-sudo, e altri
Inventario dei PC del PDP, Pentium 4 o superiori

PDP Trashware all’ITIS: 3 postazioni nuove per la biblioteca e sperimentazioni

Buongiorno a tutti,
grazie alla disponibilità dell’Istituto Tecnico Merloni-Miliani di Fabriano in queste calde mattinate estive l’associazione di Software Libero PDP ha potuto revisionare 30 PC accumulati negli anni dall’associazione recuperando:

  • 3 postazioni da mettere a disposizione nel MakerSpace della Biblioteca Multimediale R. Sassi di Fabriano
  • 9 PC più datati utili per sperimentazioni volte all’apprendimento della gestione di sistemi GNU/Linux da riga di comando
  • 3 PC “antichi” da mettere da parte per un auspicabile museo del computer insieme con un plotter ad aghi, una stampante a cera e un set notevole di lettori di floppy disk
  • 3 macchine adatte a svolgere il ruolo di piccoli server aziendali o di laboratori

Inoltre sono stati catalogati ben 13 scatoloni di materiale recuperato di componenti per PC. Tutto ciò ha decretato il successo di questa operazione di Trashware con soddisfazione dei partecipanti.

3 ragazzi del PDP immortalati mentre spostano vecchi PC nell'operazione di trashware
Il PDP all’opera con il trashware!

Svolgimento dell’attività

La procedura utilizzata per classificare il materiale è rappresentata dall’algoritmo riprodotto nell’immagine come diagramma di flusso. Un algoritmo è infatti un insieme di passi finiti e ben determinati per raggiungere uno scopo.

Diagramma di flusso delle operazioni svolte per il trashware
Algoritmo per la suddivisione del materiale messo da parte dal PDP negli anni
Ovviamente la nostra attenzione si è focalizzata fin da subito sul ambito dei PC e quindi abbiamo pensato di elaborare delle strategie vincenti e efficienti che ci hanno portato poi a un risultato davvero soddisfacente. Come primo step abbiamo sviluppato alcuni criteri di valutazione per la conservazione di un determinato PC, e sono emersi:
  • Avviamento della macchina
  • Analisi del processore e in base a quest’ultimo determinare l’effettiva catalogazione
  • Architettura e struttura “interessante” (unica o particolare)
A partire da questi criteri ogni PC è stato classificato sia con un codice alfanumerico ordinato (es: “PDP00“) sia con un nome – in gergo hostname – riferito ad alcuni comandi Bash (ad es:“PDP-GREP” o “PDP-SUDO”). Tali comandi “da terminale” sono usati nel mondo Unix e GNU/Linux dagli anni ’70 e ’80 e sono oggi introdotti in una sezione apposita del moderno Windows 10. L’intenzione del PDP nell’adottarli come nomi delle macchine è di trasmettere ai partecipanti all’attività di trashware e successivi utilizzatori conoscenza o almeno un po’ di curiosità su strumenti utilizzati dai professionisti della gestione dei sistemi server e cloud così richiesti oggi nel mondo del lavoro IT.

Conclusioni

L’esperienza è stata sicuramente positiva per noi partecipanti. Si è notato in particolare l’utilità per chi non aveva mai visto un floppy disk, o un sistema operativo vecchio, o ancora non aveva mai scollegato hard disk e RAM da un PC. La nostra intenzione è di rendere operative le nuove postazioni in biblioteca entro il Linux Day 2017 e vorremmo scrivere ulteriori post sull’argomento approfondendo i comandi utilizzati.

Ringraziamo l’ITIS Merloni-Miliani per l’ospitalità di queste mattine nel laboratorio L1 di elettronica e per aver messo a disposizione la propria connettività in doppia fibra ottica, sicuramente un asset importante per gli studenti, i docenti, il personale e tutti i seminari e le attività che in questa scuola si avvicendano!

Vi ricordiamo che le attività del PDP si svolgono da 2 anni principalmente nel MakerSpace della Biblioteca Multimediale di Fabriano il venerdì o il sabato pomeriggio e per ulteriori informazioni si può contattare l’indirizzo info@pdp.linux.it oppure la biblioteca stessa.