Salve, mi chiamo Matteo Mattei e sono Ingegnere Informatico. Mi occupo da anni di sviluppo software e sistemistica Linux e ho realizzato questo portale per promuovere i miei prodotti e i miei servizi, ma anche per scrivere e condividere le varie problematiche che di volta in volta mi trovo ad affrontare con le nuove frontiere della tecnologia e della comunicazione.


Hello, my name is Matteo Mattei and I am a Computer Science Engineer. Since a long time I deal with software developing and Linux system administration and I realized this portal to advertise my products and my services, but also to write and share all the issues I find every day in the new frontiers of technology and communication.

Trasferire un intero sito via ftp con lftp

In questi giorni ho dovuto trasferire alcuni siti un pò grossi da un server ad un altro e l'unico mezzo che mi era permesso era tramite una connessione FTP in quanto il server di destinazione non dispone di altri tipi di accesso. Poichè la quantità di files era notevole (circa 12GB) ho optato per crearmi un piccolo script da dare in pasto a lftp aperto dentro una sessione di screen in modo tale da non occuparmi per giorni un terminale.

Mi sono pertanto creato uno script chiamato sendfiles.sh in questo modo:

set ftp:ssl-allow no
open -u username,password example.com
mirror -c -R /source-path /destination-path
quit

Dove i seguenti campi sono rispettivamente:

username: nome utente per accesso ftp
password: password per accesso ftp
example.com: server ftp di destinazione
source-path: path sorgente sul server locale
destination-path: path remoto sull'ftp (dove / è la root dell'ftp stesso)

Per avviare il tutto basterà aprire una sessione di screen (nel caso in cui vogliate lasciare il processo in background sul server, altrimenti potete farne anche a meno) e lanciare lo script in questo modo:

lftp -f sendfiles.sh

Installare imagemagick con l'estensione imagick per PHP su CentOS

Per installare imagemagick con l'estensione imagick per PHP su una CentOS è sufficiente seguire questi passi:

yum install ImageMagick.i386
yum install ImageMagick-devel.i386
pecl install imagick

Una volta terminata l'installazione, create un file di inclusione per il modulo imagick.so e riavviate apache:

echo "extension=imagick.so" > /etc/php.d/imagick.ini
/etc/init.d/httpd restart

Testate il corretto caricamento del modulo imagick tramite:

php -m | grep imagick

MySQL error 1153 in max_allowed_packet

Oggi mi sono trovato di fronte ad un errore anomalo durante un import di un database su mysql:

ERROR 1153 (08S01) at line 3854: Got a packet bigger than 'max_allowed_packet' bytes

Per risolverlo e' sufficiente editare il file di configurazione di mysql (/etc/my.cnf su Linux) ed impostare ad un valore sufficientemente alto il parametro max_allowed_packet. Nel mio caso ho inserito 100M. Riavviate il demone mysqld e l'import andra' adesso a buon fine!

Script per rimuovere le directory .svn da un progetto

Quando non si vuole distribuire con i propri sorgenti anche le directory svn e' sufficiente creare un export del progetto con il comando

$ svn export svn://path_to_repository projectname

Spesso però non ho accesso al repositorio pertanto mi è toccato rimuovere a mano le varie directory .svn.

Fino a che si è trattato di un paio di directory l'ho sempre fatto a mano, ma proprio oggi mi sono trovato davanti ad un progetto con centinaia di directory annidate e quindi mi sono realizzato un semplice script che mi venisse in aiuto:

$ find . -type d -name .svn -exec rm -r '{}' \;

Codesourcery G++ per ColdFire su OpenSuse 10.3 e problemi nell'installazione dell'IDE

In questi giorni a lavoro stiamo valutando l'acquisto dell'IDE per il crosscompilatore ColdFire della CodeSourcery G++. L'ambiente di sviluppo è sostanzialmente Eclipse ottimizzato e adattato per il crosscompilatore. Durante l'installazione del pacchetto ho trovato un bel po' di problemi nell'avviare l'installazione dell'IDE e nella successiva installazione della licenza.

Dal sito ufficiale va scaricato il pacchetto *.bin contenente tutto il necessario, ma una volta avviato si ottiene sempre il seguente errore:

eclipse.bin: xcb_xlib.c:52: xcb_xlib_unlock: Assertion `c->xlib.lock’ failed

Per risolvere questo problema basterà inserire dentro ~/.bashrc questa riga:

export LIBXCB_ALLOW_SLOPPY_LOCK=1

e ricaricare il file:

# source ~/.bashrc

Procedete quindi nell'installazione e completatela. Al termine dovrebbe apparire il wizard per inserire la licenza ma a noi non è mai apparso, forse per problemi di MAC address sulla macchina virtuale (lavoriamo dietro vmware). In definitiva abbiamo dovuto predisporre un nuovo pc con linux nativo staccato dalla rete (probabilmente il file della licenza di valutazione viene automaticamente scaricato da internet), atteso che si presentasse il wizard, scaricata a mano la licenza dal sito di codesourcery e importata.

Solo dopo tutte queste modifiche/tentativi siamo riusciti finalmente a lavorare sul nuovo ambiente di sviluppo. Purtroppo però, abbiamo notato che ogni tanto Eclipse crasha inspiegabilmente e non abbiamo ancora capito il perché.

Condividi contenuti