Come cancellare tutte le tabelle di un database MySQL con un solo comando

20 febbraio 2010 bluesman Nessun commento

Mi sono imbattuto in un bug di Drupal 6.15 mentre tentavo di installarlo sulla mia Kubuntu : non mi faceva completare l’installazione e la soluzione sembrava essere quella di dover eliminare (DROP) ad un certo punto tutte le tabelle precedentemente create dall’installer.
Prosegui la lettura…

[Annuncio Evento: 29-11-09] Javaday Roma, a day in a different universe

11 gennaio 2010 bluesman Nessun commento

A day in a differtent universe è quello che si vivrà partecipando alla quarta edizione del Javaday Roma, sabato 30 gennaio 2010.

Javaday 2010

Javaday 2010

Una full immersion di cinque ore ad altissima velocità verso nuovi universi di conoscenza. Un evento che permetterà a studenti, utenti esperti ed a semplici appassionati sia di approfondire la tecnologia sia di conoscere le ultime novità del mondo Java.

La manifestazione, organizzata direttamente dai membri della community Java romana in maniera volontaria, ha coinvolto nelle scorse edizioni migliaia di professionisti.

Durante l’evento si potrà consegnare alle aziende Sponsor il proprio curriculum vitae per avere nuove opportunità professionali.

E’ possibile partecipare anche come relatori dei seminari sottoponendo la propria proposta al comitato tecnico tramite la Call for paper pubblica.

E’ indetto un concorso per i laureati in Ingegneria Informatica di tutte le Università italiane. Possono partecipare al bando sia le tesi magistrali che triennali sviluppate con la tecnologia Java.

L’ingresso al Javaday Roma è come sempre gratuito.

Per ogni informazione: http://roma.javaday.it/

RT:-)

Copia-Incolla da tastiera non funzionante con Eclipse su KDE

13 dicembre 2009 bluesman Nessun commento

Ho finalmente risolto un altro problema grazie all’aiuto di questo sito: il copia-incolla da tastiera ( ctrl-c e ctrl-x ) con Eclipse Galileo su KDE 4 ( Kubuntu ).


klipper

klipper




Ho riscontrato l’impossibilità di effettuare le comuni operazioni di copia-taglia-incolla con Eclipse sulla mia Kubuntu 9.10 con Klipper in esecuzione. Klipper è il programma usato in KDE per la gestione degli appunti (clipboard), il problema può essere risolto andando nelle impostazioni del programma Klipper->Configura Klipper... deselezionando l’opzione Evita gli appunti vuoti .

Click del mouse non funzionanti in Eclipse Galileo su KDE

8 dicembre 2009 bluesman Nessun commento

Da tempo non capivo perché non riuscivo più ad usare i pulsanti in Eclipse con il mouse su KDE, dovendo ricorrere sempre alla tastiera, il che mi innervosiva non poco.

eclipse galileo

eclipse galileo

Poi finalmente mi sono deciso a ricorrere all’oracolo di Mountain View e ho trovato la soluzione: avviare eclipse con la variabile d’ambiente GDK_NATIVE_WINDOWS=true

La si può impostare prima di avviare Eclipse dal terminale:
export GDK_NATIVE_WINDOWS=true

echo ‘export GDK_NATIVE_WINDOWS=true’ >> /etc/profile

oppure meglio la si può impostare come variabile d’ambiente del sistema in questo modo (da root):
echo 'export GDK_NATIVE_WINDOWS=true' >> /etc/profile

Ora quei c…. di bottoni finalmente funzionano anche con il mouse :-)

Aggiornamento (in)dolore da Kubuntu Jaunty a Karmic

7 novembre 2009 bluesman Nessun commento

Ieri mi sono deciso ad aggiornare la mia Kubuntu 9.04 Jaunty a Kubuntu 9.10 Karmic, sul mio buon vecchio Celeron HP Compaq 6720s . E come al solito sono saltati fuori alcuni problemi.

kubuntu

kubuntu 9.10 karmic koala



Premetto che modifico molto la mia kubuntu e solitamente svolgo tutte le operazioni di amministrazione del sistema dal terminale, difatti ho aggiornato i repository ubuntu per l’aggiornamento a karmic semplicemente con questo comando:

sudo sed -i {s/jaunty/karmic/g} /etc/apt/sources.list && sudo apt-get update && sudo apt-get dist-upgrade

il quale semplicemente modifica il file /etc/apt/source.list, sostituendo la stringa “jaunty” a quella “karmic” , avviando l’aggiornamento della lista dei pacchetti e l’aggiornamento totale del sistema tramite apt; aggiornamento piuttosto travagliato!

Dopo aver avviato il sistema in modalità testuale per evitare problemi con il server X, ho lanciato l’aggiornamento e sono stato quasi due ore a risolvere problemi di conflitti e dipendenze non soddisfatte fra pacchetti nuovi e vecchi. Grazie ad una serie incalzante di:

apt-get -f install
apt-get dist-upgrade

e un:

dpkg --purge

di un pacchetto  per le qt che creava dei conflitti, sono riuscito a venirne fuori!

Riavvio il sistema, accedo alla nuova versione di KDE 4 rimanendo piacevolmente impressionato per le nuove accortezze grafiche e le nuove versioni di programmi come Kopete, Skype e Amarok, ma  noto che c’è qualcosa che non va.. non si sente più l’audio! Faccio una ricerca su Google e trovo molti utenti con lo stesso problema con alsa che danno soluzioni diverse. Mi annoto il modello della mia scheda audio:

$ lspci | grep Audio
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

e trovo anche il bug report su Launchpad, ma nessuna soluzione sembra funzionare anche se la maggior parte di esse sono relative alla modifica del file di configurazione di ALSA /etc/modprobe.d/alsa-base.conf . Noto inoltre che all’avvio ottengo un errore sul caricamento dell’opzione power_save per la scheda audio e provo ad appende al file sopracitato una stringa che ho trovato su un forum postata da parte di un utente che ha risolto lo stesso problema. Così decido si modificare il file in questo modo:

#options snd-hda-intel power_save=10 power_save_controller=N
options snd-hda-intel model=ref

ovvero commentando l’opzione relativa a power_save e appendendo quell’ultima riga. Riavvio et voilà! Ritorna il suono dell’avvio di KDE con mio grande piacere :-)
Ormai contento di aver aggiustato il sound provo ad abilitare il composite di KDE, precedentemente disabilitato per non caricare il povero Celeron, e…poof! Si impalla tutto! Riavvio e niente, si impalla di nuovo tutto. Riesco poi dopo un pò di tempo a capire di andare a modificare il file:

/mia/home/.kde/share/config/kwinrc

selezionando Enabled=false nella sezione [Compositing]

[Compositing]
Enabled=false

Riavvio la sessione X e finalmente accedo alla mia Kubuntu 9.10 Karmic (senza) intoppi apprezzandone le varie migliorie :)

Installare Debian Linux su eBox 2300SX miniPC

2 novembre 2009 bluesman 11 commenti

Aggiornato 6 Agosto 2010

Mi è capitato fra le mani un eBox-2300SX, un miniPC compatto dalle ridotte dimensioni (e modeste potenzialità di calcolo), adatto sia come router avanzato che come postazione multimediale minimale, grazie al suo involucro VESA Mounting.

eBox 2300BX

eBox 2300SX

Poichè esso è solitamente venduto con una installazione già funzionante di Linux o Windows XP, riporto di seguito una procedura guidata per l’installazione del sistema Debian Linux Squeeze (versione di testing) . Questa guida si basa su queste due ottime guide, una sull’installazione di Debian Etch su ALIX, e l’altra è una guida in inglese sull’installazione di Debian su eBox 2300. Tale procedura presuppone che voi abbiate installato un sistema Debian/Ubuntu Linux sulla vostra macchina e che abbiate conoscenze basilari su Linux, Debian e shell.

Passo 1: Formattazione della Compact Flash (CF)

Il miniPC non possiede un hard disk interno, bensì uno slot Compact Flash nel quale va inserita una CF con un sistema operativo; nel nostro caso la CF conterrà Debian Squeeze e per farlo bisogna per primo formattare la CF con il filesystem più recente supportato dal kernel patchato per eBox: il filesystem ext3

Per prima cosa bisogna inserire la CF in un lettore di Compact Flash esterno o interno al vostro computer, essa verrà riconosciuta dal sistema e bisogna prendere nota del device assegnato alla CF. Questa guida è basata su un’installazione con CF vergine di 4GB.
Tutto ciò è visibile tramite il comando dmesg:


$ dmesg
[ 953.746456] sd 6:0:0:0: [sdb] 7880544 512-byte logical blocks: (4.03 GB/3.75 GiB)
[ 953.746946] sd 6:0:0:0: [sdb] Write Protect is off
[ 953.746950] sd 6:0:0:0: [sdb] Mode Sense: 03 00 00 00
[ 953.746952] sd 6:0:0:0: [sdb] Assuming drive cache: write through

Da questa porzione di testo mostrata in esempio è visibile il device da formattare con filesystem ext3 è /dev/sdb ma sulla vostra macchina potrebbe essere diverso (sdc, sdd, ecc).  Una volta conosciuto il device da formattare, è necessario partizionare la CF. Il partizionamento avviene tramite il tool fdisk sul device considerato, di seguito riporto un esempio di procedura da seguire da utente root, sono stati messi in grassetto dei comandi da lanciare:


$ sudo -i
# fdisk /dev/sdb
Command (m for help): d 1
Command (m for help): c
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1018, default 1): (premere invio)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (18-1018, default 1018): (premere invio)

Using default value 1018

Command (m for help): a
Partition number (1-4): 1
Command (m for help): p

Disk /dev/sdd: 4009 MB, 4009549824 bytes
124 heads, 62 sectors/track, 1018 cylinders
Units = cylinders of 7688 * 512 = 3936256 bytes
Disk identifier: 0×001c2022

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1018 3847844 83 Linux

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Dispositivo o risorsa occupata.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks

Dopo aver partizionato la CF, installando prima l’MBR sulla scheda e poi formattandola


install-mbr /dev/sdb
mkfs.ext3 /dev/sdb1
tune2fs -i 0 -c 0 /dev/sdb1

Considerazioni:

Poiché le CF sono soggette a deterioramento a lungo andare, tramite il tool tunefs è possibile azzerare il count dei montaggi sulla base dei quali effettuare controlli periodici sul disco per evitare di aumentare il carico di lavoro della CF. Essendo ext2 ormai obsoleto, ma potenzialmente migliore su queste piattaforme embedded basate su scrittura su CF per l’assenza di journaling , ho preferito usare ext3 . Avrei voluto utilizzare ext4 che addirittura ottimizza l’uso della CF, ma siccome  la patch per il kernel rilasciata dalla casa costruttrice è relativa solo alla versione 2.6.24, non sono riuscito ad usare un kernel recente (come il 2.6.31) per il quale supporto ext4 è stabile .

Passo 3: Installazione del sistema di base

Dopo aver formattato la CF andiamo ad installare il sistema Debian di base. Per fare questo, è necessario avere installato sulla propria macchina alcuni tool:

apt-get install debootstrap binutils

Siamo ora pronti per l’installazione. Montiamo ora la CF sul nostro computer in una cartella qualsiasi, per esempio /mnt/cf

mount /dev/sdb1 /mnt/cf
debootstrap --verbose --arch i386 etch /mnt/cf http://ftp.it.debian.org/debian

Si avvierà lo scaricamento e l’installazione del sistema di base che richiederà alcuni minuti (in base alla velocità di scaricamento). Per potere continuare l’installazione e al configurazione del sistema di base direttamente sulla nostra macchina è necessario agire in ambiente chroot:

mount --bind /proc /mnt/cf/proc
mount --bind /sys /mnt/cf/sys
chroot /mnt/cf /bin/bash

Ora siamo in ambiente chroot. Per prima cosa andiamo a modificare leggermente il file source.list di default utilizzato dal package manager apt in modo da disporre della totalità dei pacchetti presenti nei repository ufficiali Debian:

nano /etc/apt/source.lst

in modo da farlo apparire così:

deb http://ftp.it.debian.org/debian squeeze main contrib non-free

Ora andiamo ad installare alcuni pacchetti di base come il boot loader GRUB e il server ssh con il quale possiamo controllare da remoto il miniPC:

apt-get update
apt-get install openssh-server grub locales console-data

Impostiamo correttamente i locales selezionando, quando verrà richiesta, la stringa it_IT@euro ISO-8859-15:

export LC_ALL=C
dpkg-reconfigure locales

e selezioniamo il layout della nostra tastiera selezionando Italiano Standard dalla lista che apparirà dopo l’esecuzione del comando:

dpkg-reconfigure console-data

se non si è già avviata la procedura di configurazione durante la fase di installazione del pacchetto.

Passo 4: Installazione del kernel

Update!!!!! Le istruzioni sottostanti non sono più funzionanti perchè i link per il config e la patch del kernel 2.6.24 non sono più funzionanti. Per installare il kernel sull’eBox-2300sx si possono seguire due strade:

  • Scaricare l’ultimo kernel da ed utilizzare il mio config che ho usato per il 2.6.33.3 copiandolo nella directory del kernel scaricato, rinominando il config come .config e lanciando i comandi:
    make oldconfig
    make-kpkg linux_image --initrd
    per poi copiare il pacchetto generato sull’eBox ed installarlo con il comando:
    dpkg -i .deb
  • Scaricare il mio pacchetto per il kernel 2.6.33.3, copiarlo sull’eBox ed installarlo con il comando:
    dpkg -i linux-image-2.6.33.3-dmp_2.6.33.3-dmp-10.00.Custom_i386.deb
    N.B. Questo kernel è compilato per utilizzare la CF con il filesystem Ext4

La casa costruttrice dell’eBox ha rilasciato un config e una patch per la versione del kernel linux 2.6.24, pertanto andiamo a scaricare questa versione direttamente dal sito, installandolo sulla nostra macchina (il pacchetto posiziona l’archivio con i sorgenti del kernel nella directory /usr/src), estraendolo, copiando il config e applicando la patch . Sulla nostra macchina, aprendo un’altra shell e diventando root:

cd /usr/src
wget -c http://security.debian.org/debian-security/pool/updates/main/l/linux-2.6.24/linux-source-2.6.24_2.6.24-6~etchnhalf.9etch1_all.deb
dpkg -i linux-source-2.6.24_2.6.24-6~etchnhalf.8etch3_all.deb
tar xjvf linux-source-2.6.24.tar.bz2
cd linux-source-2.6.24/
wget -c http://www.dmp.com.tw/tech/vortex86sx/config-2.6.24-DMP
cp config-2.6.24-DMP .config
wget -c http://www.dmp.com.tw/tech/vortex86sx/patch-2.6.24-DMP.gz
gunzip patch-2.6.24-DMP.gz
patch -p1 < patch-2.6.24-DMP

Ora siamo pronti per aggiungere nuove funzionalità al kernel oppure lasciare tutto com’è cambiandogli solo il suffisso per il nome:

make menuconfig
General setup->Local version: "-ebox"

Siamo pronti per compilare alla debian way!

make-kpkg linux-image --initrd

Questo comando creerà un pacchetto .deb nella cartella superiore:

/usr/src/linux-image-2.6.24-ebox_2.6.24-ebox-10.00.Custom_i386.deb

Bisogna copiare questo pacchetto sulla CF in una directory qualsiasi, per esempio /usr/src:

cp /usr/src/linux-image-2.6.24-ebox_2.6.24-ebox-10.00.Custom_i386.deb /mnt/cf/usr/src

Passiamo di nuovo alla shell sull’ambiente chroot, posizioniamoci nella cartella dove abbiamo copiato il kernel e installiamolo semplicemente con :

dpkg -i linux-image-2.6.24-ebox_2.6.24-ebox-10.00.Custom_i386.deb

Verranno chieste delle domande alle quali dovrete rispondere sempre Yes. Verranno inoltre richiesti dei pacchetti e delle dipendente da soddisfare, seguendo le indicazioni sui pacchetti mancanti da installare e concludendo con il comando:

apt-get -f install

l’installazione avverrà con successo.

Passo 5: Configurazione del Boot Loader GRUB

Nel passo 3 abbiamo installato il boot loader grub, il quale permette di avviare il sistema operativo che abbiamo appena installato (oppure di scegliere i sistemi operativi o i kernel da avviare). Ora configuriamolo un pò:

cp /usr/lib/grub/i386-pc/* /boot/grub

e creiamo il file di configurazione di grub per l’avvio:

nano /boot/grub/menu.lst

in modo da farlo apparire più o meno così:

timeout 2
default 0
title Debian Squeeze 2.6.24-ebox
root (hd0,0)
kernel /vmlinuz root=/dev/hda1
initrd /initrd.img

Passo 6: Altre configurazioni

Prima di avviare per la prima volta il sistema installato sulla CF, aggiungiamo alcuni file utili come il file fstab utilizzato per il montaggio automatico dei device:

nano /etc/fstab

modificandolo in questo modo:

proc /proc proc defaults 0 0
/dev/hda1 / ext3 noatime,errors=remount-ro 0 1
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/tmp tmpfs defaults,noatime 0 0
tmpfs /var/run tmpfs defaults 0 0
tmpfs /var/log tmpfs defaults 0 0
tmpfs /var/lock tmpfs defaults 0 0

Successivamente, andiamo a impostare le interfacce di rete da attivare all’avvio del sistema con la modifica del file interfaces:

nano /etc/network/interfaces

Ad esempio configuriamolo per l’interfaccia locale e per una rete ethernet (eth0) in DHCP:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

Potrebbero sorgere dei conflitti sul clock della macchina utilizzata per l’installazione e sul sistema installato sulla CF, per evitarli è meglio installare il tool ntpdate e sincronizzare l’ora con quella di un server NTP:

apt-get install ntpdate
ntpdate pool.ntp.org

Impostiamo infine una password di root:

passwd

e creiamo un utente semplice:

adduser ebox

Passo 7: Fasi finali dell’installazione

Adesso non resta che installare GRUB sulla CF. Per prima cosa bisogna uscire dall’ambiente chroot:

exit

e lanciare i seguenti comandi:

echo '(hd0) /dev/sdb' > /mnt/cf/boot/grub/device.map
grub-install --root-directory=/mnt/cf /dev/sdb

Ora il sistema è finalmente pronto! Smontiamo la CF:

killall sshd
umount /mnt/cf/proc
umount /mnt/cf/sys
umount /mnt/cf

Inseriamo la CF nell’eBox, attacchiamogli un cavo di rete (e se c’è anche un monitor e una tastiera) et voilà! Dopo un minuto circa il sistema sarà pronto e in ascolto sulla porta 22 per il controllo da remoto via ssh :-)

E’ inutile dirvi che potete configurare il sistema a piacere, e installare tutto ciò di cui avete bisogno, dal web server al mail server, da emule a torrent, oppure usandolo semplicemente come firewall o gateway casalingo.
O addirittura un server GSM ! :-)

(English) Configuring Hippo 7 for PostgreSQL and Tomcat

7 ottobre 2009 bluesman 3 commenti

Ci spiace, ma questo articolo è disponibile soltanto in English.

Reboot Modem Alice

20 settembre 2009 bluesman 2 commenti
Mi sono imbattuto nel problema di dover cambiare programmaticamente l’IP con il mio router Alice Gate Voip 2 Plus Wi-Fi per eliminare quelle limitazioni sull’IP che ci sono in siti come Rapidshare o Megaupload e altri.


Alice Gate Voip 2 Plus Wi-Fi

Alice Gate Voip 2 Plus Wi-Fi



Le soluzioni possibili al problema erano molteplici, fra le quali:

  • Io che faccio il riavvio manuale
  • Un picchio che fa il riavvio manuale
  • Uno script Perl che fa il riavvio software

Ho optato per la terza, ma il picchio come quello di Homer non mi dispiaceva :)

Sono entrato nell’interfaccia web del router con il browser Firefox, raggiungibile all’indirizzo http://192.168.1.1 , e grazie a Tamper Data (un estensione per Firefox che permette di “sniffare” il traffico HTTP/HTTPS) ho visto le richieste HTTP che vengono effettuate nel processo di riavvio software presente nell’interfaccia web; così ho realizzato uno script in Perl che simulasse il browser grazie alle librerie LWP che potete scaricare in fondo a questo articolo o nella sezione Software del blog. Per essere eseguito devono essere presenti l’ambiente Perl e le librerie LWP. Perl è immediatamente disponibile su Linux, mentre bisogna scaricarlo a parte per Mac OS X e Windows.

Per eseguire lo script basta lanciarlo da linea di comando come

perl reboot.pl

E’ possibile integrare lo script con altri programmi come ad esempio quello per lo scaricamento su RapidShare, al quale si può fornire la lista di file da scaricare e con tale integrazione si evita l’attesa dei 15 minuti. Il reboot impiega circa 2 minuti!

P.S. Il telefono non funziona quando riavviate il router! :P

Scarica lo script reboot.pl


Categorie:Perl Tag: , , , , ,

BluesMobile sta arrivando!

19 settembre 2009 bluesman Nessun commento
alix

alix and penguins!

Categorie:Blues, Mobile, Musica Tag: