Davide Muzzarelli » linux /blog L'informatica a valore aggiunto Mon, 25 May 2015 22:41:52 +0000 en hourly 1 http://wordpress.org/?v=3.3.2 Installare il modem Huawei E220 di Tim sotto Ubuntu /blog/2008/10/installare-il-modem-huawei-e220-di-tim-sotto-ubuntu/ /blog/2008/10/installare-il-modem-huawei-e220-di-tim-sotto-ubuntu/#comments Fri, 31 Oct 2008 16:53:00 +0000 Davide Muzzarelli /blog/2008/10/installare-il-modem-huawei-e220-di-tim-sotto-ubuntu/ In questi giorni ho avuto a che fare con il modem Huawei E220 che Tim fornisce col proprio abbonamento a banda larga via GSM/GPRS/EDGE/UMTS/HSDPA.

Ho installato il dispositivo sotto Kubuntu 8.04 Heron utilizzando Kppp, ma si può usare anche Gnome-ppp oppure wvdial. Lo Huawei ha funzionato sia come GSM che come UMTS, non ho avuto la possibilità per provare l’HSDPA dato che è una rete ancora rara da trovare.


Lo Huawei è composto principalmente da un modem e da una memoria di massa che contiene il software necessario per Windows. Naturalmente GNU/Linux non ha bisogno della memoria di massa per poter usare il modem appieno. ;)

I parametri da impostare col dialer sono i seguenti:
Numero di telefono: *99***1#
Dispositivo: /dev/ttyUSB0
Velocità: 460800
Stringa di inizializzazione (la numero 2 per Kppp oppure la numero 5 per Gnome-ppp): AT+cgdcont=1,”ip”,”ibox.tim.it”
Attendi il segnale prima di comporre il numero?: No.
Username: qualsiasi va bene.
Password: qualsiasi va bene.

I parametri per Wind sono simili:
Stringa di inizializzazione: AT+cgdcont=1,”ip”,”internet.wind”
Numero di telefono: *99#

Con una installazione semplice il dispositivo funziona a casaccio (si connette una volta su dieci), questo perché viene riconosciuta prima la memoria di massa che il modem. L’installazione semplice consiste nell’inserire il dispositivo nella presa USB, eseguire il comando:

sudo modprobe usbserial vendor=0x12d1 product=0x1003

…poi staccare il dispositivo, attendere qualche secondo e reinserire il dispositivo.

Una piccola nota, in alcuni casi il codice di prodotto dello Huawei E220 è lo 0×1001 al posto dello 0×1003.

Si può automatizzare il tutto creando il file /etc/udev/rules.d/50-huawei-e220.rules con questo contenuto:

SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1003"SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe ppp_generic"

Spendendo un po’ di tempo con Google ho messo a punto una soluzione alternativa per cui è sufficiente procedere con i seguenti passi che riporto per esteso:

  1. Configurare Kppp, Gnome-ppp oppure wvdial con i parametri riportati prima.
  2. Scaricare il file http://oozie.fm.interia.pl/src/huawei.tar.bz2 e scompattarlo.
  3. Entrare dentro la directory appena creata ed eseguire:
    sudo make ubuntu_install
  4. Modificare il file /etc/modprobe.d/blacklist e aggiungere alla fine:
    blacklist airprime
  5. Riavviare il computer.

Il primo passo scarica una serie di file per permettono a UDEV di riconoscere correttamente il dispositivo. Dato che sono file già pronti in questo modo evito di doverli pubblicare qui sul blog.
Il secondo passo installa tali file.
Il terzo passo è necessario per via di un bug, ovvero che viene caricato il modulo “airprime” che è incompatibile con lo Huawei. In pratica, tale modulo caricherebbe a caso il dispositivo della memoria di massa piuttosto che il modem rendendo difficile potersi connettere. Mettendo il modulo in blacklist questo non viene mai caricato e il dispositivo è così riconosciuto correttamente.
Dalla versione 2.6.29 del Kernel verrà rimosso definitivamente il modulo “airprime” risolvendo la questione una volta per tutte.

Una volta inserito il dispositivo è necessario aspettare una decina di secondi circa prima che esso sia pronto per la connessione.

]]>
/blog/2008/10/installare-il-modem-huawei-e220-di-tim-sotto-ubuntu/feed/ 5
Controllare la scadenza dei propri domini in un colpo solo /blog/2008/09/controllare-la-scadenza-dei-propri-domini-in-un-colpo-solo/ /blog/2008/09/controllare-la-scadenza-dei-propri-domini-in-un-colpo-solo/#comments Sat, 20 Sep 2008 16:58:00 +0000 Davide Muzzarelli /blog/2008/09/controllare-la-scadenza-dei-propri-domini-in-un-colpo-solo/ Se abbiamo molti domini registrati con diverse aziende e vogliamo controllare lo stato delle scadenze per ognuno abbiamo solo due possibilità: controllare il whois a mano oppure entrare in tutti i pannelli di controllo dei servizi di registrazione e controllare da essi.

In alternativa propongo uno script di una sola riga per controllare una lista di domini:

for k in $(cat "domini.txt"); do echo "** $k **:" && whois "$k" | grep Expir; done > aggiornamenti.txt

Naturalmente funziona su tutti i sistemi Unix like come MacOS e Linux.

Lo script prende la lista dei domini dal file “domini.txt” e crea un file “aggiornamenti.txt”, con l’elenco dei domini e le date di scadenza.

Non è uno script molto raffinato ma è sufficiente per controllare lo stato delle scadenze in un colpo solo, risparmiando un sacco di tempo.

]]>
/blog/2008/09/controllare-la-scadenza-dei-propri-domini-in-un-colpo-solo/feed/ 1
Duplicare un sistema di directory – alla faccia di TreeCopy /blog/2007/03/duplicare-un-sistema-di-directory-alla-faccia-di-treecopy/ /blog/2007/03/duplicare-un-sistema-di-directory-alla-faccia-di-treecopy/#comments Fri, 02 Mar 2007 13:25:00 +0000 Davide Muzzarelli /blog/2007/03/duplicare-un-sistema-di-directory-alla-faccia-di-treecopy/ Oggi è recensito su Punto Informatico un piccolo programma per Windows che copia un sistema di cartelle in un’altra posizione.

Punto Informatico ne motiva l’uso:
“Può capitare di ritrovarsi (specie a chi classifica in modo molto preciso i propri file) con una struttura molto complessa, ramificata ed annidata… che si vorrebbe magari replicare su un altro disco, magari perché ha richiesto tempo, fatica e tanti piccoli aggiustamenti. Questa utility ad interfaccia grafica a doppio pannello affiancato permette di eseguire questa operazione in modo estremamente semplice.”

Con GNU/Linux è possibile fare questo da anni in maniera ancora più veloce e semplice, non serve scaricare nulla e funziona con tutte le versioni.
E’ sufficiente posizionarsi al di fuori della directory da copiare e dare il seguente comando:

find directory_da_replicare -type d | xargs -I $ mkdir -p nuova_posizione/$
find directory_da_replicare -type d

ottiene l’elenco delle directory da copiare, mentre

xargs -I $ mkdir -p nuova_posizione/$

esegue la replicazione nella nuova posizione.
Per farlo funzionare basta sostituire directory_da_replicare con il nome della directory base, e “nuova_posizione” con il percorso dove andrà posizionata la replica.

Per comodità il comando può essere messo in un file ed eseguito come script.

C’era davvero bisogno di scrivere un programma come TreeCopy? ;)

]]>
/blog/2007/03/duplicare-un-sistema-di-directory-alla-faccia-di-treecopy/feed/ 2
Linux non ha bisogno di essere riavviato /blog/2006/12/linux-non-ha-bisogno-di-essere-riavviato/ /blog/2006/12/linux-non-ha-bisogno-di-essere-riavviato/#comments Sat, 02 Dec 2006 10:02:00 +0000 Davide Muzzarelli /blog/2006/12/linux-non-ha-bisogno-di-essere-riavviato/ Una delle cose più frustranti per chi usa Windows è che esso ha bisogno di essere riavviato spesso. Questo è vero specialmente quando ci sono degli aggiornamenti.

In Linux è possibile usare il computer anche per anni senza mai riavviarlo, questo è particolarmente vero se si tratta di server. Si può perfino aggiornare un programma nel momento stesso in cui si sta usando, quindi senza doverlo chiudere e senza dover riavviare il sistema.

Linux ha un file system (sistema di memorizzazione dei file) che gli permette di fare ciò. In termini semplici, quando un programma viene eseguito esso viene caricato in memoria, in questo modo è possibile sostituire i file del programma senza interromperlo.

In termini tecnici, il programma viene caricato in un buffer (memoria tampone) con cluster (pezzi di file) da 4KB. Quando si apre un file, il kernel (il cuore del sistema operativo, letteralmente “nocciolo”) legge il file dal suo inode (indirizzo del file sul file system). L’indirizzo inode rimane anche cancellando il file fino a quando il programma resta in esecuzione che quindi può essere ancora usato. Il file di rimpiazzo, quello che aggiorna il programma, prende un inode differente e quindi non va in conflitto con il vecchio programma in esecuzione. Alla successiva esecuzione del programma, il kernel caricherà la versione aggiornata. A questo punto è consigliabile riavviare il solo programma per poter usare gli aggiornamenti, onde evitare conflitti di versione.

Questo sistema funziona con tutti i file tranne uno: il kernel stesso. Il kernel è eseguito all’avvio del computer pertanto c’é bisogno di un nuovo riavvio per poter usare il kernel aggiornato. Fortunatamente questo tipo di aggiornamento può avvenire anche dopo uno o più anni di distanza ;)

]]>
/blog/2006/12/linux-non-ha-bisogno-di-essere-riavviato/feed/ 1
Un solo comando per comprimere e spostare file tra PC /blog/2006/11/un-solo-comando-per-comprimere-e-spostare-file-tra-pc/ /blog/2006/11/un-solo-comando-per-comprimere-e-spostare-file-tra-pc/#comments Mon, 20 Nov 2006 11:35:00 +0000 Davide Muzzarelli /blog/2006/11/un-solo-comando-per-comprimere-e-spostare-file-tra-pc/ Mettiamo il caso, molto frequente, che il sistema Windows di un amico si blocchi completamente e che si voglia recuperare tutti i dati, diversi giga di file. Mettiamo anche che disponiamo di un PC a cui possiamo accedere via SSH.

In questo contesto non abbiamo un posto dove stoccare giga di dati per il trasferimento perché l’unico modo per accedere all’hard disk su cui risiede Windows è utilizzare una distribuzione Linux avviabile da CD. Per non toccare l’hard disk, se ha dei settori corrotti, è necessario procedere al trasferimento in un colpo solo e le chiavette di memoria USB, o i masterizzatori CD, potrebbero non essere sufficientemente capienti.

Quindi colleghiamo il computer in rete e avviamolo con un CD Live con Linux, un’ottima distribuzione per questo uso è Knoppix.

Il comando che propongo è il seguente:

zip -r -0 - ./Documents\ and\ Settings | ssh user@192.168.0.15 "cat > /home/user/dati.zip"

A sinistra creiamo un file compresso ZIP della directory “Documents and Settings” e spediamo i dati all’altro computer mano a mano che vengono compressi. Ho utilizzato un fattore di compressione pari a 0, per aumentare enormemente la velocità di esecuzione. La parte di destra si collega al computer dall’indirizzo IP 192.168.0.15 e salva i dati che arrivano direttamente nel file ZIP.

Per aumentare le prestazioni ho scelto di avviare Knoppix con le opzioni seguenti che permettono di eseguire Linux senza modalità grafica (grande risparmio di memoria) e di lavorare con la tastiera italiana:

knoppix 3 lang=it

In questo modo la velocità di trasferimento è molto alta, diversi giga di dati possono essere trasferiti in poco tempo e in maniera sicura grazie alla criptazione SSH. Il pacchetto ZIP consente invece di mantenere intatti i nomi dei file che contengono caratteri strani, come spesso accade per le canzoni MP3.

]]>
/blog/2006/11/un-solo-comando-per-comprimere-e-spostare-file-tra-pc/feed/ 0
Ridimensionare 100 foto in un colpo solo /blog/2006/11/ridimensionare-100-foto-in-un-colpo-solo/ /blog/2006/11/ridimensionare-100-foto-in-un-colpo-solo/#comments Thu, 16 Nov 2006 19:20:00 +0000 Davide Muzzarelli /blog/2006/11/ridimensionare-100-foto-in-un-colpo-solo/ A volte capita di dover spedire ad un amico una certa quantità di foto scattate con la propria macchina fotografica. Le immagini pesano mediamente da 1 a 2MB l’una e spedirle via posta può essere un problema.

Supponiamo di avere un centinaio di foto da spedire ad un amico che le vuole vedere e scegliere prima di indicare quali stampare. Con Windows dovremmo aprire un’immagine alla volta e ridimensionarla una ad una con Photoshop o The Gimp. Con Linux bastano solo una manciata di secondi per avere tutto subito fatto!

Apriamo la console posizionandoci nella directory delle foto.
Ora basta dare il comando seguente per avere finire il lavoro:

for k in $(ls *); do convert $k -resize 50% lite-$k; done

Le nostre foto verranno subito copiate e ridimensionate del 50% aggiungendo il prefisso “lite-” all’inizio del nome del file, per una più facile ricerca.

Per personalizzare il comando basta agire sulla percentuale o sul prefisso “lite-”.

Prima di fare qualsiasi cosa consiglio sempre di lavorare su di una copia delle immagini! ;)

Per il funzionamento è necessario il programma ImageMagic, che è comunque già presente nella maggior parte delle distribuzioni Linux.

]]>
/blog/2006/11/ridimensionare-100-foto-in-un-colpo-solo/feed/ 4
Sincronizzare l’ora del PC con un orologio atomico /blog/2006/03/sincronizzare-lora-del-pc-con-un-orologio-atomico/ /blog/2006/03/sincronizzare-lora-del-pc-con-un-orologio-atomico/#comments Fri, 17 Mar 2006 21:34:00 +0000 Davide Muzzarelli /blog/2006/03/sincronizzare-lora-del-pc-con-un-orologio-atomico/ Sotto il sistema operativo Linux è possibile sincronizzare l’orologio del proprio computer con quella di un orologio atomico ad altissima precisione.

E’ sufficiente eseguire il seguente comando come amministratore (root):

ntpdate time.nist.gov && hwclock --systohc

Il comando può essere impartito dall’interfaccia grafica aprendo il menù di avvio e scegliendo la voce “Esegui comando…”, oppure aprendo una console. E’ importante eseguire il comando come amministratore, e quindi come root.

In un attimo avremo un orologio preciso al centesimo di secondo!

]]>
/blog/2006/03/sincronizzare-lora-del-pc-con-un-orologio-atomico/feed/ 2