.

mercoledì 23 dicembre 2015

Auguri di Buone Feste 2015






Il 2015 sta giungendo al termine
e porta via con se gioie e delizie.

Auguri di un Sereno Natale e
di un prospero 2016

Giuseppe

sabato 21 novembre 2015

Obsolescenza programmata

Oggi ho deciso di inaugurare una nuova sezione chiamata "Obsolescenza programmata" (OP), ovvero di quella pratica messa in campo dalle ditte produttrici per abbreviare la durata dei beni di consumo, rendendoli inutilizzabili, inefficienti o obsoleti, cercando così di creare (...oserei dire - pilotando così) la domanda per nuovi prodotti.

Non mi dilungo troppo su tale pratica, lasciando al lettore di documentarsi sulle tante informazioni presenti in rete o su libri dedicati all'argomento.
Ma, evitando di parlare astrattamente, chi non ha avuto esperienza del fatto che i televisori di oggi durano meno di quanto durava la vecchia tv a tubo catodico?
O che una lavatrice "moderna" non ha la stessa durata di quella di 20 anni fa?
Il messaggio pubblicitario - poi, non ci suggerisce di comprare una nuova auto, un nuovo smartphone, un nuovo frigorifero perché... è il più innovativo mai creato e che non puoi fare a meno di non averlo?
Anche se poi di fondo, il prodotto "innovativo" svolge sostanzialmente le stesse funzioni di quello in nostro possesso, che sono le stesse di quelle per cui è stato creato anni prima.
Un'auto è sempre un'auto, che essenzialmente serve per trasportare cose o oggetti da una parte all'altra.

Dunque, cosa c'entra l'Obsolescenza programmata con questo blog?


Voglio documentare alcune mie esperienza dirette sull'argomento e sui danni che esso comporta.

Qualche giorno fa, nel mio lavoro, mi sono imbattuto in un computer "vecchio" di un tre anni, che improvvisamente aveva smesso di funzionare.
Aperto il Case del PC ho trovato questa sorpresa

Supporto ventola CPU - AMD

Si era rotto l'aggancio del supporto ventola CPU di un processore AMD, e questo aveva procurato un crash di sistema.
Il telaio di supporto è in materiale plastico, nonostante sta a stretto contatto con un processore che in utilizzo, mediamente ha una temperatura di più di 50°.

Quanto pensate possa resistere in tale condizione?

Ovviamente il formato del supporto è diverso per ogni modello di piastra, che inevitabilmente non sarà più neanche prodotta dopo poco tempo (due-tre anni... un eternità) e si rischia di non trovare il ricambio per tale pezzo.

Risultato?

Bisogna buttare una scheda madre che fino a poco tempo prima funzionava perfettamente, per un difetto non imputabile alla piastra stessa.
Ovviamente, temporaneamente ho risolto così


con una fascetta di serraggio che aggancia il gruppo ventilazione e lo fissa al processore.

Almeno ho allungato di un po' la vita al computer, evitato inutili spese per prodotti e riconfigurazioni software, altrimenti sostenute se avrei dovuto sostituire la scheda madre (funzionante).

Questa volta l'OP non ha avuto la meglio.


L'Obsolescenza non propone progresso ed ha poco di innovazione tecnologica.

Per gli altri articoli sull'Obsolescenza programmata clicca qui.


lunedì 9 novembre 2015

(L)Ubuntu - Somma hash non corrispondente

Stamattina dal terminale, dando il comando:
  • sudo apt-get update
per poi fare l'aggiornamento dei pacchetti di sistema, ho ricevuto un messaggio di errore del tipo "Somma hash non corrispondente" riferito ad alcuni pacchetti di installazione di Lubuntu

W: Impossibile recuperare gzip:/var/lib/apt/lists/partial/archive.canonical.com_ubuntu_dists_trusty-updates_universe_binary-i386_Packages Somma hash non corrispondente

Solitamente tale situazione non è un problema e può dipendere da un momentaneo intoppo nei server da cui si vanno a scaricare gli aggiornamenti.
Tant'è che spesso il problema si risolve da solo ritentando l'aggiornamento più tardi.

Se invece il problema persiste o si vuole procedere comunque all'aggiornamento, è possibile reinizializzare le informazioni sui pacchetti - che magari si sono corrotti durante i precedenti aggiornamenti, cancellando tutto quello che è presente nella cartella /var/lib/apt/lists
  • sudo rm -r /var/lib/apt/lists/*
cancellando poi la cache dei pacchetti
  • sudo apt-get clean
e caricando di nuovo le informazioni di aggiornamento
  • sudo apt-get update
Nota: è possibile dare direttamente tutti i comandi in un unica volta
sudo rm -r /var/lib/apt/lists/* && sudo apt-get clean && sudo apt-get update.
Verranno eseguiti in sequenza, attendendo il corretto esito di quello precedente (parametro &&).

A volte, può capitare che nonostante sia stata eseguita la sequenza descritta sopra, il problema ancora permane.
E' possibile, in extrema ratio, cambiare i server sorgenti dei pacchetti, da quelli italiani a quelli Principali.
Da Gestione pacchetti (Synaptic) o Ubuntu Software Center, modificare Repository o Sorgenti software.

Server ed Aggiornamenti - Gestore Pacchetti

Scegliere Server principale, dare la password e ricaricare le informazioni sui pacchetti.
Il problema nel mio caso è stato risolto.
Nulla ci vieta in seguito di tornare di nuovo ai Server in Italia.
Alla prossima





domenica 26 aprile 2015

10 utilità che "forse" non sai sulla Bash shell di Linux


La Bash è una Shell testuale utilizzata nella maggior parte dei sistemi Linux per impartire comandi via terminale.


Permette di eseguire comandi più particolareggiati ed interagire maggiormente con i programmi in esecuzione.
In questo post voglio elencare una serie di funzionalità ed utilità che ci consentono di essere più produttivo nel lavoro frequente col terminale.
Nota: Il post non vuole essere una guida esaustiva sui comandi o sulle funzioni della Bash.
Per questo rimando all'ottima guida di Machtelt Garrels, tradotta in italiano e pubblicata al seguente indirizzo: Guida bash 1.11.pdf

Ecco l'elenco di 10 utilità della Bash.

1 - Premendo il tasto tab durante la digitazione, si avrà l'auto-completamento del percorso o del comando in fase di scrittura.
  • es. cd /et [tab] → si autocompleta in cd /etc/
Se non c'è l'unicità nella stringa da completare, il sistema elenca le varie possibilità, onde facilitarne l'individuazione.
  • es. ls [tab] → il sistema ci restituisce l'elenco dei comandi filtrati per le iniziali "ls"
    ls           lsb_release  lsinitramfs  lspci        lsusb      
    lsattr       lscpu        lsmod        lspgpot    
    lsblk        lshw         lsof         lss16toppm  
2 - Tutti i comandi digitati (a dir la verità vi è un limite impostato nel file di configurazione .bashrc e verificabile col comando echo $HISTFILESIZE) sono memorizzati in una cronologia.

Muovendo le frecce direzionali verso l'alto o il basso, si scorre nella cronologia dei comandi eseguiti.
Tutta la cronologia è memorizzata in righe di testo in un file nascosto chiamato .bash_history presente nella Home dell'utente.
Nota: In alcune distribuzioni potrebbe non essere presente il file di configurazione .bashrc nella Home dell'utente. Per crearlo, eseguire una copia da /etc:
cp /etc/bash.bashrc ~/.bashrc
e renderlo operativo attraverso il comando:
source ~/.bashrc

3 - Per ricercare un comando già impartito e presente in cronologia basta eseguire la combinazione CTRL-r e cominciare a digitare quanto desiderato.
Il sistema cercherà la prima occorrenza di quanto digitato a ritroso nella cronologia.
Per continuare a sfogliare secondo il filtro, continuare a premere CTRL-r.
CTRL+c cancella la ricerca. ESC permette di editare il comando mostrato.
Se si vuole invece eseguire il comando mostrato a display, premere Enter.

4 - Il comando History elenca i comandi eseguiti.
Se si vuole navigare attraverso la cronologia, si può far seguire il pipeline | ed il comando less
  • es. history | less
Con le frecce alto e basso, si può scorrere tra gli elementi.

Per eseguire direttamente un comando senza scriverlo, è possibile richiamarlo digitando il numero corrispondente (elencato nel listato mostrato precedentemente) con la preposizione !
  • es. !155 per eseguire il 155esimo comando

5 - Nella Bash è possibile impostare degli alias che abbreviano la digitazione di comandi magari con molteplici opzioni.
  • es. digitando ll (elle elle) la mia distribuzione Linux mi restituirà l'elenco di tutti i files in unica colonna nel formato esteso (opzione -alF)
Per verificare gli alias attualmente impostati, digitare il comando alias, senza alcun parametro, ed il sistema ne restituirà l'elenco.
Per impostare un nuovo "alias", digitare
  • alias cdh='cd ~' per andare direttamente nella home dell'utente
L'alias così impostato non è permanente ed è attivo solo nella sessione corrente.
Per renderlo definitivo, inserirlo in uno dei files di configurazione che vengono letti all'avvio della Bash, ad es. nel file .bashrc presente in Home utente.

6 - Aggiunta della pipeline | e del comando more per elencare il risultato di comando una schermata alla volta
  • es. ls -l | more
Per avanzare un rigo alla volta premere il tasto Enter, per avanzare di una schermata, premere la barra spaziatrice.

7 - Per indirizzare (memorizzare) il risultato di un comando in un file di testo, utilizzare l'oggetto ">"
  • es. ls *.doc > elenco_doc.txt
Che scrive il risultato dell'elenco dei files con estensione .doc nel file di testo elenco_doc.txt.
Il doppio segno di maggiore ">>", accoda altre informazioni ad un file esistente.

8 - Per eseguire un comando e disimpegnare la shell, digitare il comando seguito dall'oggetto "&"
  • es. firefox &
9 - Per digitare più comandi in un unico rigo ed eseguirli in sequenza, separarli con il pipeline ;
  • es. cd ~ ; ls
Per lanciare due comandi in sequenza, ma eseguire il secondo solo se il primo viene eseguito con successo, utilizzare il pipeline &&
  • es. sudo apt-get update && sudo apt-get upgrade
10 - Per conoscere in quale directory siamo, utilizzare il comando pwd
  • es. pwd
    /home/tecnopassopasso
Buona shell a tutti.




giovedì 23 aprile 2015

Cambio nome macchina di un PC Linux-dotato

Vi è mai capitato di installare una nuova distribuzione Linux, di lasciare il nome della macchina così come suggerito di default e magari successivamente - per esigenze tecniche - voler attribuire a quella macchina un nome più significativo?

Oppure di clonare una installazione Linux completa e funzionante ed adeguare il nome della macchina al servizio che essa svolge?

Cambiare il nome della macchina tramite terminale


Il nome della macchina - o hostname - è il nome che identifica un computer in una rete.

Per conoscere il nome della propria macchina è possibile digitare da terminale il comando:
  • hostname
ed il sistema restituirà tale identificativo (parte a destra della chiocciola):

Nome Host iniziale

E' possibile verificare anche il nome della dell'host all'interno di un dominio - FQDN (acronimo di Fully Qualified Domain Name), aggiungendo il parametro --fqd:
  • hostname --fqd


Modifica del nome sulle versioni di Linux tipo Red-hat e simili

Per cambiare il nome alla macchina corrente, basta digitare il comando:
  • sudo hostname server-posta
dove "server-posta" è il nome che vorremmo assegnare alla macchina.

Solo al riavvio del sistema il nome sarà cambiato su tutti i file di configurazione e sarà attivo.


Modifica del nome sulle versioni di Linux "Debian-based"

Il nome dell'host è riportato nel file di configurazione /etc/hostname.
Per cambiarlo, basta scrivere all’interno del file unicamente il nome della macchina, sulla prima riga.
  • sudo vim /etc/hostname
e scriverci "server-posta" senza virgolette, ovviamente.
Chiudere e salvare il file.

Per applicare il cambiamento al sistema:
  • sudo hostname -F /etc/hostname
Infine modificare il file hosts che assegna l'indirizzo ip della macchina al nome del dominio.
NOTA: Il nome in precedenza impostato deve essere presente nel file hosts. Se così non fosse si avrebbero delle limitazione nell'utilizzo del comando sudo e nell'impossibilità di accedere alle funzioni amministrative.
Digitare quindi:
  • sudo vim /etc/hosts
e scrivere adeguando l'esempio:

Configurazione file hosts

Riavviare la macchina o disconnettere e ricollegare l'utente, per attivare il nuovo hostname.

Nome Host finale


Fine della procedura.

Ci sono anche tools grafici o Tweak che possono automatizzare le procedure in questione, ma ritengo che per la semplicità dei passaggi ed i pochi interventi da fare, sia superfluo rivolgersi a tali applicativi.

martedì 17 febbraio 2015

Cercare file in Linux (da terminale e non solo)

Ci sono diversi modi per cercare files e documenti in Linux.
Alcuni prevedono un uso del terminale (che già nell'installazione di base ha le funzioni di ricerca su tutte le distribuzioni), altri mediante comodi strumenti con interfaccia grafica che sono legati alla distribuzione installata.

Analizzerò entrambi i sistemi, evidenziando diverse casistiche.

Terminale

Ricerca tramite terminale



Per una ricerca semplice tramite riga di comando, dove si vuole individuare un files con filtro per date si può digitare:
  • touch --date "2010-01-01" /tmp/start
per impostare in un file temporaneo la data iniziale,
  • touch --date "2011-01-01" /tmp/stop
per impostare in un file temporaneo la data finale,
e poi ricercare tramite il comando "find"
  • find /data/images -type f -newer /tmp/start -not -newer /tmp/end
per cercare nella directory "data/images" solo Files (-type f) con filtro tra le due date impostate in precedenza.

Per abbreviare si può anche sintetizzare utilizzando il seguente comando:
  • find . -type f -newermt 2010-01-01 ! -newermt 2011-01-01
Il ! sostituisce il -not
Il comando sopra scritto cerca in tutti i files della directory dove si è posizionati, filtrando tra le due date.
Aggiungendo il comando "| more" si chiede di bloccare l'elenco generato alla schermata del proprio monitor.
  • find . -type f -newermt 2010-01-01 ! -newermt 2011-01-01 | more
Premendo "invio" si scorre di un rigo, "Barra spaziatrice" per passare avanti di una schermata.
CTRL-C per uscire.