Tuesday, May 22, 2007

Computer virtuale con QEMU

Utilizzare qemu è molto semplice.. Iniziamo creando un file che useremo come hard disk virtuale (5G = 5 GB di dimensione massima):
# qemu-img create -f qcow windows.img 5G

Creiamo l'immagine iso del cd
di installazione di Windows (sarà più veloce che utilizzare comune lettore cd)
# mkisofs -r -o windows_install.iso /media/cdrom/

Utilizzando l'immagine iso appena creata, eseguiamo:

# qemu -cdrom windows_install.iso -hda windows.img -boot d
Si aprirà una finestra che ci permetterà di completare l'installazione del sistema operativo. Una volta terminato questo processo usciamo e avviamo il nostro computer virtuale abilitando cdrom, usb e audio:
# qemu -hda windows.img -cdrom /dev/cdrom -usb -soundhw sb16

Se desiderassimo avere più RAM di quella offerta per default (128 MB) occorre eseguire queste righe prima di avviare l'emulatore:
# sudo umount /dev/shm
# sudo mount -t tmpfs -o size=1040m none /dev/shm

Nel mio caso ho creato ben due dischi virtuali nei quali ho installato Debian in modalità RAID1 (mirroring). Si procede così:
# qemu-img create -f qcow harddisk1.img 10G
# qemu-img create -f qcow harddisk2.img 10G
# qemu -cdrom debian-40r0-i386-CD-1.iso -hda harddisk1.img -hdb harddisk2.img -boot d
# qemu -hda harddisk1.img -hdb harddisk2.img

QEMU con modulo di accelerazione KQEMU

Il programma di emulazione QEMU è già disponibile nei vari pacchetti deb, rpm, etc.. ma non è possibile utilizzare il modulo per l'accelerazione KQEMU. Per poter usare questa funzione occorre compilare i sorgenti di entrambi i programmi.

Installiamo alcuni file necessari all'installazione
# sudo apt-get install build-essential gcc-3.4 libasound2-dev libsdl1.2-dev zlib1g-dev linux-source

Continuiamo con lo scaricare i pacchetti qemu-0.9.0.tar.gz e kqemu-1.3.0pre11.tar.gz dal sito http://fabrice.bellard.free.fr/qemu/download.html e poi scompattiamo il primo:
# tar zxvf qemu-0.9.0.tar.gz
# cd qemu-0.9.0

Controlliamo che tutto sia in ordine e che non vi siano errori
# ./configure --cc=/usr/bin/gcc-3.4 --enable-system --enable-alsa

Iniziamo la compilazione ed attendiamo pazientemente
# make
# sudo make install

Passiamo ora all'acceleratore KQEMU
# tar zxvf kqemu-1.3.0pre11.tar.gz
# cd kqemu-1.3.0pre11
# ./configure --cc=/usr/bin/gcc-3.4
# make
# sudo make install

Carichiamo il modulo e creiamo un device
# sudo modprobe kqemu major=250
# sudo mknod /dev/kqemu c 250 0
# sudo chmod 666 /dev/kqemu

Se vogliamo che ad ogni riavvio venga caricato in automatico il modulo per l'accelerazione creiamo un file come segue
# sudo nano /etc/init.d/kqemu-enable

Copiamo al suo interno queste que righe e salviamo
#!/bin/bash
modprobe kqemu

Cambiamo i suoi permessi
# sudo chmod 755 /etc/init.d/kqemu-enable

E aggiorniamo rc.d
# sudo update-rc.d kqemu-enable defaults

Sunday, February 18, 2007

Problemi con Skype e il microfono

Sembra una banalità ma il mio microfono sembrava non funzionare con Skype.. beh, diciamo che prima di pensare al peggio dovevo solo svegliarmi un pò e...
Aprire il "Volume control" > Edit > Preferences > abilitare "Microphone capture"

Monitorare lo stato dell'hardware: lm-Sensor

Installazione dei pacchetti:
# apt-get install hddtemp sensord lm-sensors

Rilevamento dell'hardware
# sensors-detect


Avvio del programma
# sensors

...
CPU Fan: 1436 RPM (min = 0 RPM, div = 4) ALARM
CPU Temp: +53.5°C (high = +80.0°C, hyst = +75.0°C)
AUX Temp: +45.5°C (high = +80.0°C, hyst = +75.0°C)
...

Con il file /etc/sensors.conf è possibile configurare i vari parametri rilevati

Avvio del programma per la lettura della temperatura degli Hard Disk
# hddtemp /dev/sda /dev/sdb
/dev/sda: WDC WD2500JS-60MHB5: 46°C
/dev/sdb: WDC WD2500JS-60MHB5: 42°C

Thursday, February 15, 2007

Debian loves SETI@home project

Ecco qualche semplice passo per installare SETI@home sulla vostra Debian:
# apt-get install boinc-client boinc-app-seti
# boinc_cmd --project_attach http://setiathome.berkeley.edu/ your-account-key

Da notare che in /usr/share/doc/boinc-client/README c'è un'ottima e semplice guida

Wednesday, February 07, 2007

Installare un server LAMP (Linux, Apache, MySQL, PHP)

Installazione pacchetti utili:
# apt-get install mc zip unzip bzip2 arj
# apt-get install ftpd ssh openssh-server

Installazione Web server con supporto PHP:
# apt-get install apache2 php5 php5-cgi php5-cli php5-curl php5-xmlrpc xml-core

Installazione database MySQL + FTP server
# apt-get install mysql-server phpmyadmin php5-mcrypt php5-mysql proftpd

Wednesday, November 01, 2006

Stampare da linea di comando

Semplicemente eseguire il seguente comando, avendo cura di modificare il nome della stampante se necessario
# /usr/bin/lpr -P HP_Business_Inkjet_1200_USB_1 filedastampare

Thursday, September 07, 2006

Ubuntu repository

Ecco il contenuto del mio file /etc/apt/sources.list in Ubuntu Feisty 7.04

deb http://it.archive.ubuntu.com/ubuntu/ feisty main restricted
deb-src http://it.archive.ubuntu.com/ubuntu/ feisty main restricted
deb http://it.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb-src http://it.archive.ubuntu.com/ubuntu/ feisty-updates main restricted
deb http://it.archive.ubuntu.com/ubuntu/ feisty universe
deb-src http://it.archive.ubuntu.com/ubuntu/ feisty universe
deb http://it.archive.ubuntu.com/ubuntu/ feisty multiverse
deb-src http://it.archive.ubuntu.com/ubuntu/ feisty multiverse
deb http://it.archive.ubuntu.com/ubuntu/ feisty-backports main restricted universe multiverse
deb-src http://it.archive.ubuntu.com/ubuntu/ feisty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu feisty-security main restricted
deb-src http://security.ubuntu.com/ubuntu feisty-security main restricted
deb http://security.ubuntu.com/ubuntu feisty-security universe
deb-src http://security.ubuntu.com/ubuntu feisty-security universe
deb http://security.ubuntu.com/ubuntu feisty-security multiverse
deb-src http://security.ubuntu.com/ubuntu feisty-security multiverse
deb http://medibuntu.sos-sts.com/repo/ feisty free non-free
deb-src http://medibuntu.sos-sts.com/repo/ feisty free non-free
deb http://archive.canonical.com/ubuntu feisty-commercial main

Tuesday, September 05, 2006

Spedire e ricevere file con il cellulare via Bluetooth

Per poter utilizzare il collegamento bluetooth tra computer e cellulare occorre installare i seguenti pacchetti:

# apt-get install bluez-utils gnome-bluetooth obexserver

Aprire il seguente file e modificare le righe
# gedit /etc/bluetooth/hcid.conf
riga 15: security none
riga 21: pairing multi
riga 24: # pin_helper /usr/bin/bluez-pin

Riavviare il servizio bluetooth con
# sudo /etc/init.d/bluetooth restart
inserire il dongle e riavviare il computer

Per ricevere/spedire file occorre semplicemente abilitare il servizio dal menu "Accessories > Bluetooth file sharing"

Accendiamo il bluetooth del cellulare, selezionare quindi un file, tasto destro del mouse, Send to...

Dalla riga di comando è possibile spedire un file al dispositivo bluetooth come di seguito
# gnome-obex-server nomefile
a questo punto dobrebbe comparire una finestra dalla quale è possibile cercare eventuali dispositivi (devono essere accesi!) per poi inviare il file.

(Obsoleto) Con il seguente script è possibile integrare le funzioni di trasferimento in Nautilus. Aprire quindi un file come nell'esempio
# gedit ~/.gnome2/nautilus-scripts/Send\ with\ Bluetooth

e copiare il seguente testo
#!/bin/sh
# Send Selected File via Bluetooth.
filepath=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
gnome-obex-send $filepath

Successivamente rendiamolo eseguibile e riavviamo Nautilus
sudo chmod +x ~/.gnome2/nautilus-scripts/Send\ with\ Bluetooth
killall nautilus
killall gnome-panel

Monday, August 07, 2006

Usare con astuzia "chmod" e "chown"

Per cambiare i permessi di accesso ad una directory e solo alle sue sottocartelle (non ai sui file) il comando è il seguente:
$ chmod -R a+rX,u+w directory
Quindi tutti hanno il permesso di leggere ed eseguire (accedere) alla directory, mentre l'utente proprietario potrà anche scriverci.

Uso chmod:
chmod [option] [mode],[mode] file
[option]: -R ricorsivamente (è sufficiente questo)
[mode]: chi avrà i permessi (
a=chiunque, u=utente, g=gruppo) e quali (r=lettura, w=scrittura, x=eseguzione, X=eseguzione directory)

Uso chown:
chown [option] [owner]:[group] file
[option]: -R ricorsivamente (è sufficiente questo)
[owner]: il proprietario
[group]: volendo è possibile specificare anche il gruppo

Sunday, May 28, 2006

Abilitare interfaccia web CUPS in Ubuntu

Di default Ubuntu utilizza "Gnome CUPS Manager" per la gestione delle stampanti. Nel caso volessimo usare l'interfaccia web di CUPS dobbiamo aggiungere l'utente cupsys al gruppo shadow, e il nostro utente al gruppo lpadmin
# sudo adduser cupsys shadow
# sudo adduser paolo lpadmin
# sudo /etc/init.d/cupsys restart

Collegarsi a http://localhost:631 e quando richiesto inserire la propria UserID/Password
Nel caso non funzionasse abilitare la riga "listen localhost:631" in /etc/cups/cups.conf e nuovamente
# sudo /etc/init.d/cupsys restart

Friday, May 19, 2006

Installare Moto4Lin File Manager

Moto4Lin è un file manager per gestire il contenuto di vari telefoni Motorola, tra i quali il famoso Razr V3.
Installare i seguenti pacchetti:
# apt-get install libqt3-mt-dev zlib1g-dev libusb-dev

Scaricare il programma dal sito http://sourceforge.net/projects/moto4lin

Decomprimere il file tar.bz2
$ tar xjvf moto4lin*.tar.bz2

Compilare il programma
$ cd moto4lin*
$ qmake
$ make
# make install

Avviare il programma (da root)
# moto4lin

Cambiare il nome del device
Settings > Preference > ACM Device > /dev/ttyACM0

Tuesday, March 21, 2006

Decomprimere serie di file ZIP

Può capitare di dover decomprimere con unzip una serie di file zip con un unico comando. Soluzione:

$ unzip \* -d /directory/destinazione

Attenzione al simbolo "\" che precede l'asterisco (tutti i file).. senza di quello non funziona!

Wednesday, July 27, 2005

Creare un pacchetto Debian con Checkinstall

Quando si ha la necessità di creare un pacchetto debian partendo da un sorgente è utile utilizzare "checkinstall", che automaticamente installa e crea il facilmente il pacchetto. Si può utilizzare "checkinstall" per quelle semplici installazioni che richiedono un "configure" e un "make install".
Installare il software necessario:
# apt-get install checkinstall

Procurarsi il sorgente, decomprimerlo e entrare nella directory creata. Da root digitare:
# ./configure
e verificare che non vi siano errori e che siano rispettate tutte le dipendenze. Se mancano pacchetti, installarli

Se tutto è in ordine, digitare:
# ./configure && make && checkinstall

Alla domanda "The package documentation directory ./doc-pak does not exist. Should I create?" rispondere "n" e procedere nel rispondere alle seguenti domande. Verrà così installato e creato il pacchetto.
La rimozione avviene semplicemente con
# dpkg -r pacchetto

Thursday, July 14, 2005

Creare un'immagine ISO

Creare un'immagine ISO di una directory (o CD) e di tutto il suo contenuto:

# mkisofs -v -a -R -J -D -l -o /destinazione/file.iso /directory/origine/
(-v verbose; -a tutti i file; -R Rock Ridge; -J Joilet; -D oltre 8 sottodirectory; -l permetti nomi lunghi; -o output file)

è possibile verificarne il risultato montando il file.iso appena creato in una directory (per es. /mnt/cdrom)
# su
# mount -o loop /destinazione/file.iso /mnt/cdrom

e dopo la verifica ricordarsi un bel
# umount /mnt/cdrom

Wednesday, June 15, 2005

Scanner Epson GT-5500 SCSI

Installare alcuni pacchetti
# apt-get install modconf sane-utils

Avviare modconf, cdrcare in "/kernel/driver/scsi SCSI"e aggiungere il modulo "sg"
Digitare il comando
# sane-find-scanner
found SCSI processor "EPSON SCANNER GT-5500 1.01" at /dev/sg0

a questo punto, se non esiste già in /etc/group, creiamo il gruppo scanner con
# groupadd scanner

e ci aggiungiamo gli utenti che utilizzeranno lo scanner
# adduser paolo scanner

cambiamo attributi e permessi al dispositivo
# chown root:scanner /dev/sg0
# chmod g+rw /dev/sg0

Per avviare queste impostazioni al boot conviene creare uno script... aprire un editor e scrivere
#!/bin/bash
chown root:scanner /dev/sg0
chmod g+rw /dev/sg0
salvare con nome scanner-user in /etc/init.d/

cambiamo permessi al file appena salvato in /etc/init.d/
chmod 755 scanner-user

infine completiamo con
update-rc.d scanner-user defaults

Tuesday, May 17, 2005

VNC con GNOME

Nella directory .vnc si trova l'xstartup file. Queste sono le modifiche ottimizzate per GNOME:

#!/bin/sh
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
exec gnome-session &
# exec startkde &
# exec startxfce4 &

Per iniziare una nuova sessione vnc digitare:
# vncserver -depth 16 -geometry 1024x768

Per terminare una sessione esistente digitare:
# vncserver -kill :1
(dove 1 è il numero della sessione attiva)

Se si blocca una sessione e si vuole riattivarla, bisogna eliminare i file
/tmp/.X1-lock
/tmp/.X11-unix/X1
dove 1 è il numero della sessione, e poi riavviarla normalmente

Thursday, April 28, 2005

Installazione stampante HP Business Inkjet 1200

# apt-get install hpijs foomatic-db-hpijs cupsys

Da linuxprinting.org scaricare il file .ppd relativo alla stampante e salvarlo in /usr/share/cups/model

aggiungere l'utente al gruppo "lp"

aprire il browser e digiare http://localhost:631 (necessita dei privilegi di root) e aggiungere la stampante

stampare con il comando lp

Compilare il kernel 2.6 su Debian

# apt-get install debhelper modutils kernel-package libncurses5-dev fakeroot
# apt-get install kernel-source-2.6.11 #installare la versione più recente
# nano /etc/kernel-pkg.conf #inserire nome e e-mail
$ cd /usr/src #entriamo nella directory di compilazione
$ tar -bzip2 -xvf kernel-source-2.6.11.tar.bz2 #decomprime il file
$ cd kernel-source-2.6.11 #entriamo nella directory decompressa
$ cp /boot/config-2.6.11.7-686 .config #usa il config corrente come default
$ make menuconfig #personalizziamo il kernel
$ make-kpkg clean
$ fakeroot make-kpkg --append_to_version -686 --initrd kernel_image modules_image
$ cd ..
# dpkg -i kernel-image*.deb #installazione del pacchetto kernel

Welcome!

Oggi nasce il mio primo blog... e non poteva che essere dedicato al mondo di GNU/Linux e all'opensource...Spero di poter inserire qualche consiglio utile a tutti.