domenica 30 marzo 2008

Userbar di Iceweasel

Non avendo nulla da fare mi sono messo a cercare una guida per le userbar, quelle striscette(350x19 px) che si usano mettere nei forum come firma.

Ho notato che ce ne sono migliaia per firefox ma nemmeno una per iceweasel, cosi ho deciso di provare a crearla. Questo è il risultato:


Se vi piace potete farne ciò che vi pare...
ciao ciao

venerdì 28 marzo 2008

Installiamo ndiswrapper

Cos'è ndiswrapper?
ndiswrapper è un programma, per linux che serve quando Linux non ti riconosce i driver proprietari della scheda wireless. Tramite ndiswrapper gli facciamo usare direttamente quelli di windows.
ndiswrapper.sourceforge.net

Come lo installiamo? (NOTA - questa guida vale per le distribuzioni basate su Debian come ubuntu, non ho provato su altre distribuzioni, fate vobis)

Prima di tutto andiamo sul sito di ndiswrapper(ndiswrapper.sourceforge.net) e scarichiamo l'ultima versione disponibile(al momento la 1.52)

Recuperiamo ora i driver da windows. Di solito si trovano in un pacchetto cab. Vi servono 2 o 3 file: quelli con l'estensione .inf, .sys e .bin. Io ho una scheda wireless della broadcom la BCM94311. Per questo ho recuperato i file bcmwl5.inf e bcmwl5.sys.

Prima di proseguire è raccomandato eliminare tutte le versioni precedenti. A tale scopo è utile digitare i seguenti comandi:

sudo modprobe -r ndiswrapper
sudo apt-get --purge remove ndiswrapper-*
sudo rm -r /etc/ndiswrapper/
sudo rm -r /etc/modprobe.d/ndiswrapper
sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ndiswrapper/ndiswrapper.ko
o analogamente eseguiteli da root.

ok ora scompattate il pacchetto tar.gz di ndiswrapper e posizionate i driver di prima all'interno di questa cartella(per comodità, l'importante è che i driver siano insieme)

ora entrate da shell dentro la cartella di ndiswrapper e fate:
sudo apt-get install linux-headers-$(uname -r) build-essential
poi un:
make distclean
make
sudo make install
Nel caso tutti i comandi vadano a buon fine si può procedere ora all'installazione dei driver.

Digitate:
sudo ndiswrapper
per vedere che effettivamente ndiswrapper sia installato correttamente.

Digitate:
sudo ndiswrapper -i bcmwl5.inf
per installare i driver. Ovviamente sostituite bcmwl5 con il nome e il percorso del vostro driver

Con:
ndiswrapper -l
bcmwl5 : driver installed
device (14E4:4311) present
vedrete se l'installazione è effettivamente andata a buon fine e vi riconosce l'hardware.

Se vi compare la scritta del driver alternativo bcm43xx, quest'ultimo vi potrebbe causare conflitti e sarebbe meglio disabilitarlo cosi:
-Aprite il file /etc/modprobe.d/blacklist e aggiungete in fondo la riga:
blacklist bcm43xx

Ora non resta che caricare il modulo in memoria tramite questi comandi:
sudo depmod -a
sudo modprobe ndiswrapper
Per finire se volete che si avvi ogni volta all'accensione della macchina digitate:
sudo ndiswrapper -m
Ora editate il file /etc/modules con un editor di testo e aggiungete in fondo al file la semplice riga: ndiswrapper.


Questo è tutto.. spero che non incontrerete nessun problema. Buona installazione

...e così giunse...

Ho installato Debian.

Partendo dal dvd della versione 4.0r3, l'installazione è stata molto lineare. Certo ha chiesto molte più cose di quanto non fa ubuntu ma ce se la fa abbastanza bene. Alla fine grub mi ha riconosciuto Ubuntu da solo e si autoimpostato correttamente.

Una volta impostata correttamente la wireless(con ndiswrapper - farò presto una guida) ho cambiato i repository da etch a lenny, la versione di testing. Dopo 600Mega di aggiornamenti mi sono ritrovato con il bellissimo Gnome 2.22.

Devo dire che con l'aggiornamento alcuni pacchetti sono stati configurati male(molto probabilmente perchè erano in uso). Tra questi pacchetti c era la gestione della batteria del portatile e il gestore della rete network-admin. Soprattutto il secondo mi ha causato problemi...
Ho ri-attaccato il cavo, dopo un riavvio, e quando ho provato ad installare un nuovo pacchetto i programmi si sono messi apposto da soli.

Ho dovuto reinstallare ndiswrapper il solito-network admin mi ha dato dei problemi(non mi si connetteva). Ho installato così wifi-radar che, impostati i giusti parametri, si è connesso al primo colpo.

Ho scoperto poi che il problema di ndiswrapper è dato dal cambio del kernel che non riconosceva/trovava il modulo di ndiswrapper.

giovedì 27 marzo 2008

Partizione di swap post-installazione

Per utilizzare una partizione di swap dopo che il sistema è già stato installato basta seguire questi pochi semplici passi.

1- Creare una partizione apposta(nel mio caso in esempio /dev/sda6)

2- Da root:
# mkswap -c /dev/sda6
# swapon /dev/sda6


3- Per impostare il montaggio automatico della partizione modificate il file /etc/fstab e inserite la seguente riga:
/dev/sda6 none swap sw 0 0

Ovviamente sostituite sempre la stringa /dev/sda6 con il path della vostra partizione.

mercoledì 26 marzo 2008

Verso la grande madre

Vi dico solo che ho appena masterizzato il dvd 1 di Debian 4.0-r3 e il cd autoavviante di parted-magic.

A breve creerò lo spazio necessario ad ospitare Debian. La mia intenzione è quella di aggiornarla poi alla "unstable" Sid, avrò così a disposizione Compiz e Gnome 2.22.
Nel frattempo finchè non l'avrò sistemata mi tengo il mio caro Ubuntu li nell'angolino sempre pronto all'uso.

A presto con le nuove notizie...



Ah se volete sapere come è finita la storiella del backup... oggi ho salvato solo i dati "essenziali" cioè documenti video e immagini fregandomene delle varie impostazioni personalizzate.
Il risultato è che mi portano i conti sia per numero di file che per dimensioni, quindi sono abbastanza tranquillo.

martedì 25 marzo 2008

Miglior client msn per Linux

Oltre ai browser un'altra cosa di cui abbonda il mio portatile sono i client di msn.
Ne ho provati di tutti i tipi, quindi ora andiamo a fare un paragone.
Suddividerò questo mini-contest su piu round(leggasi post) visto l'innumerevole numero di client.

I test che sono andato a fare riguardano come al solito l'utilizzo della ram. Inoltre darò una breve panoramica sulle funzionalità che essi offrono.
Il test per la ram è suddiviso in 3 parti: avvio, carico(ho aperto una decina di schede), rilascio.
Modificherò mano a mano questo post con i link ai vari contest più altri collegamenti nei vari post di volta in volta.

Ma iniziamo subito con il primo round con i due client più famosi:

aMSN(ver 0.97) vs Mercury

Panoramica sui programmi:

aMSN è il client più famoso come alternativa al msn messenger. Il suo più grande svantaggio è quello dell'elevata richiesta di risorse. Come note positive ha la grande compatibilità con moltissime delle funzione del nostro pari in windows. Inoltre ha moltissimi temi con cui personalizzarlo e numerosi plugin con cui espandere le varie funzionalità. Il tutto è reperibile sul sito ufficiale http://www.amsn-project.net/. Altro neo, che tra l'altro accomuna tutti i client messenger su Linux è l'incompatibilità cone per chiamate audio(il video è supportato). Concludo dicendo che aMSN è multipiattaforma.


Mercury è scritto in Java quindi la caratteristica che accomuna tutti i programmi creati qui è la lentezza(su mercury non si vede nemmeno tanto...) e l'enorme richiesta di risorse per far girare la JVM. Infatti come vedremo dalle prove Mercury risulterà essere nettamente più pesante di aMSN. La vera nota positiva di questo client è l'elevata personalizzazione del client stesso. Penso che sia unica nel suo genere perchè potremmo variare quasi ogni aspetto del client. Inoltre ha una migliore gestione dei nick colorati rispetto ad aMSN. Anche qui c è la carenza della chiamata audio. Una nota che a me personalmente ha dato molto fastidio è che se vi arriva un messaggio mentre la finestra delle chat è ridotta a icona non verrà fatta lampeggiare ma si aggiungeranno solo il numero dei messaggi ricevuti non letti(contatore cumulativo tra tutte le tab di chat aperte). Mercury può anche fungere da lettore rss e per finire non è opensoure.



1° Fase - Avvio:


aMSN -> 32.7 MB
Mercury -> 39.1 MB
Come avevo già preannunciato sono due belli mattoncini per la loro funzione.



2° Fase - Carico:

aMSN -> 43 MB
Mercury -> 50.4 MB
Stesso numero di tab aperte(una decina o poco più, non ricordo XD) e all'incirca aumento proporzionale delle risorse



3° Fase - Rilascio:

aMSN -> 43.4 MB
Mercury -> 50.9 MB
Gravi memory leaks per entrambi... nulla da aggiungere...



...In conclusione

Io continuo a preferire ai due aMSN, e voi?



A presto per le prossime sfide!

Cronaca di un Backup

Vi racconterò ora la storia di un niubbo che doveva fare il backup dei dati, me.

Oggi mi sono deciso ho voluto finalmente fare sto benedetto backup.
L'intenzione è quella di rivedere le partizioni del mio hard disk perchè al momento dell'installazione di Ubuntu ne ho creato solo 2: una per lo swap e una per tutto il resto.
Visto che ho già consigliato di farne almeno un'altra per la home volevo dare il buon esempio.

Questa cosa l'avrei fatta da tempo se non fosse che dovrei fare prima il backup dei miei dati. Ma l'enorme mole dei dati che conservo(oltre 15 giga, quasi senza musica aggiungo...) ha sempre fatto da deterrente per il backup, visto che mi ci vuole una vita. Oggi mi son deciso ma...

Il mio obiettivo è copiare tutta la cartella /home/akel nella condivisione samba sul pc di mio fratello(comodi i computer fissi con hd spaziosi ^^).

Ma con cosa fare il backup?
Ho gia un programma di backup molto valido chiamato sbackup. Ma non ho voluto utilizzarlo visto che dopo il recupero dei dati avviene con lo stesso programma... e se da matto volessi cambiare distribuzione avrei si i miei dati ma non potrei usarli(oppure dovrei studiarci su, ma non avendo voglia preferirei una via più semplice)
A questo punto avevo letto una guida su come fare il backup di una distro usando il comando cp. Questa soluzione mi è piaciuta, cosi sono andato a provare...
Digito il mio bel comandino: cp -a /home smb://pc blabla bla...
Errore -.-
In pratica non gli va bene l'indirizzo della condivisione samba...
Google...
Nulla -.-
Incredibile non sono riuscito a trovare nulla...
Cosi ho provato con la soluzione più semplice e niubbesca di tutte. Il copia e incolla.
....preparazione copia in corso... da copiare 66 mila e rotti file in circa 4 ore...
Ad un certo punto mi dice impossibile copiare 'sto file, vabbeh faccio un paio di riprova, ma niente alla fine decido per un "ometti"... la copia prosegue tranquilla nel frattempo dovevo studiare...
Al ritorno vedo un altro di quegli avvisi su un file dentro la cartella .icons dove ci sono le icone dei temi personalizzati. Vado con un ometti.. tac altro avviso.. ometti... avviso, ometti, avviso, ometti.... e potrei continuare cosi come in effetti ho fatto... sarò stato almeno 10 minuti a clikkare fitto su ometti. Mi è andato pure in crash compiz da quanto clikkavo veloce(prima che la finestrella dell'errore mi zummasse). Vabbeh alla fine ho il pacchetto dei temi ci vuole un attimo a reinstallarli.
Finite le icone dopo qualche altro avviso finalmente ha finito la copia. Vado a verificare la dimensione dei file copiati con quella dei file originari... 2 giga in meno -.-

A questo punto non so quanto sia valido questo "backup"(che parolone per quello che ho fatto). Cosi sono attesa o di qualcuno che ne sa di più(e se siete tra questi vi prego di dirmelo, please) o che continuando a cercare su internet troverò la soluzione oppure proverò lo stesso a modificare la partizione pregando che vada tutto bene(mi sa che sarà la soluzione che proverò)

Mah a presto le notizie...

mercoledì 19 marzo 2008

Redattori del Blog & Licenza

Come avrete già visto ho permesso al mio amico Daniele di scrivere due bellissimi post su questo blog.

Se anche voi pensate di sapere qualcosa qualcosa che può fare comodo ad altri, o magari vi siete dannati per risolvere un problema e ora volete condividere la soluzione con altri siate liberi di contattarmi cosi vi aggiungerò tra i redattori.


Ho messo il blog sotto la licenza Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia.
Questo implica che tutto cio che scriverò e scriverete potrà essere copiato, e/o modificato e ridistribuito purchè sia per scopi non commerciali e vedrà citato l'autore originale.
Questa mi sembra la licenza migliore per lo scopo di questo blog e per la libera condivisione dei contenuti senza sminuire lo sforzo dell'autore originario.

Utenti e Permessi su Linux

Leggendo il post di Akel sul file system di linux, mi è venuto in mente questa cosa... Diciamo che l'articolo, per chi è un po che usa il Pinguino potrebbe essere scontato, ma per chi è appena sopraggiunto dal vecchio windows (winzoz) credo che siano informazioni utili, poichè i due sistemi adottano protezioni completamente diverse. Bando alle ciancie, iniziamo con le cose serie.

Nei vecchi windows, chi ha usato il versioni ormai storiche penso che mi capisca molto bene, l'utente era unico. Ora esso offre la possibilità di creare molti utenti, differenziandoli per i loro privilegi. Le protezioni ai file, sotto windows sono dati da 4 bit:

bit di SOLA LETTURA 1 = il file può essere solo letto
bit di ARCHIVIO 1 = è già stato fatto il backup del file
bit di NASCOSTO 1 = il file non è normalmente visibile
bit di SISTEMA 1 = il file è un file di sistema di windows

Questo insieme di bit è specificato per ogni file, nei suoi attributi. Non mi dilungherò qui su windows, mi sembra evidente che la protezione è un po' "spartana".

Per quanto riguarda Linux invece, esso già dalle prime versioni divide gli utente in 4 categorie, e i permessi su ogni file o directory sono strutturati in 10 caratteri.
Categorie di utenti in linux:

  1. AMMINISTRATORE (utente ROOT)
  2. PROPRIETARIO - CREATORE del file
  3. GRUPPO
  4. ALTRI

Il proprietario è logicamente l'utente che ha creato il file, esso deve poter controllare cosa può essere fatto sul file e da chi.
Il gruppo è il gruppo di utenti a cui appartiene l'utente creatore del file. Questo perchè, in una macchina multiutente, l'amministratore può creare più gruppi di utenti.
Il proprietario del file può appartenere a più gruppi, ma non a tutti contemporaneamente.
Gli altri sono TUTTI gli altri utenti che non fanno parte delle prime due categorie.
L'utente root è l'amministratore del sistema, ed ha permessi e privilegi su TUTTO.
Da una parte abbiamo diviso gli utenti, ora dividiamo le operazioni consentite. Esse sono essenzialmente 3


  1. READ (operazione di lettura)
  2. WRITE(operazione di scrittura)
  3. EXECUTE(operazione di esecuzione)
E ora viene l'applicazione di tutto. Se scorrete indietro l'articolo, vi dissi che linux adottava 10 caratteri per la protezione. Essi sono visibili per ogni file. Se andate da terminale e digitate il comando ls -l vi apparirà un elenco dettagliato dei file contenuti nella directory corrente. All'inizio della descrizione del file ci sarà una stringa fatta più o meno così per tutti:

-rwxr-xr--


Quelli sono i 10 caratteri che identificano i permessi. Il primo identifica il TIPO di file
  1. se c'è un "-" allora è un file
  2. se c'è una "d" allora è una directory
  3. se c'è una "l" allora il file è un SOFT link

Gli altri 9 caratteri sono da considerarsi a TRIPLETTE. Ogni tripletta è formata dai permessi READ - WRITE - EXECUTE. Dove è presente la lettera corrispondente all'operazione significa operazione CONSENTITA. Dove è presente "-" NON è permesso eseguire quel tipo di operazione.
  • La prima tripletta si riferisce all'utente CREATORE del file. Nel nostro caso, il creatore ha TUTTI i permessi abilitati ossia può leggere scrivere ed eseguire il file
  • La seconda si riferisce al GRUPPO. Nel nostro esempio, il gruppo a cui appartiene l'utente creatore può solo leggere ed eseguire tale file
  • La terza si riferisce agli ALTRI. TUTTI gli utenti al di fuori del creatore e del gruppo dell'utente creatore possono SOLO leggere il file.
Naturalmente possiamo pure cambiare tali permessi. Ora, con l'evoluzione del pinguino di può fare sia per via grafica, che non. Per gli utenti a cui piace un po' di più "smanettare" con il proprio pc, utilizzare la shell penso che sia la scelta più azzeccata.

Butto qua quindi due comandi, per chi è curioso di usarli può provarli dalla sua shell:
  1. chmod cambia i permessi di un singolo file
  2. umask imposta i permessi che i MIEI file ereditano al momento della creazione.....attenti, umask ragiona in logica NEGATA....
chmod [opzioni] [utente]<+ | - | =>[r,w,x][nome_file]
Nel campo utente usate:
  • u per USER, ossia il creatore del file
  • g per GROUP, ossia il gruppo
  • o per OTHERS, ossia tutti gli altri
  • a per ALL, ossia per TUTTE e 3 le precedenti categorie(opzione di default)
  • + per aggiungere e - per togliere
NOTA: dovete essere il proprietario del file a cui state per modificare i permessi, altrimenti dovrete essere root.
Esempi:
chmod +x pippo //per dare i permessi di esecuzione a tutti al file pippo
chmod o-x pippo //per togliere i permessi dell'esecuzione di pippo dal gruppo ALTRI(other)

Il comando umask :
  • usate il comando: umask -S per conoscere i permessi attuali che ereditano i miei file alla creazione.
  • umask per cambiarli.
In permessi dovete scrivere 3 cifre OTTALI, ossia da 0 a 7. Ogni cifra identifica le triplette nell'ordine corrispondente(utente, gruppo, altri), e sono da 0 a 7 perchè le cifre sono da considerarsi 3 bit. In binario, con 3 bit si possono rappresentare tutti i numeri decimali da 0 a 7; bit a uno significa permesso consentito, bit a zero permesso negato.

ad esempio:
rwx-wx--- ==> 111 011 000
111 ==> 000 (perchè umask nega l'ingresso) ==> 0
011 ==> 100 ==> 4
000 ==> 111 ==> 7

quindi, se voglio impostare i permessi come nell'esempio a tutti i file che crereò da ora in poi digitare da terminale:
umask 047

così facendo a i file che creo, do' a me stesso tutti i permessi, do' i permessi di scrittura ed esecuzione al mio gruppo, e nessun permesso a tutti gli altri utenti.

Spero di essere stato chiaro negli esempi, se li proverete comunque scoprirete che non è così difficile.... per eventuali aiuti siamo a vostra disposizione.

martedì 18 marzo 2008

Filesystem di Linux - Organizzazione gerarchica delle cartelle

Ecco una cosa che volevo scrivere da tempo perché in giro non si trovavano notizie decenti. Dico non si trovavano perche proprio 2 giorni fa TJ(www.tuxjournal.net) ha la bella trovata di anticiparmi. Ovviamente il tutto è non voluto, ma io mi dico lo stesso: "Ma che sfiga!".
Cercherò di differenziare un po' l'articolo, quindi passiamo ora alle cose serie:

Innanzitutto cos è un FileSystem?
Il Filesystem è una tecnica con cui vengono organizzati e memorizzati i dati su un supporto fisico(per intenderci Hard Disk, CD, ecc...).
Passando a SO(Sistemi operativi) più conosciuti, con windows xp la microsoft sancisce il passaggio dal filesystem FAT32 a quello NTFS(più "sicuro" e usato prima nelle versioni NT - per i server).
Linux usa un filesystem chiamato ext3. ext3 è una versione migliorata di ext2 con il "journaling". Il journaling è un sistema che permette di evitare che errori e malfunzionamenti hardware(tipo spegnimento improvviso del computer), danneggino i dati scritti sull'unità.

Montare un disco.
In Linux non si può accedere alle periferica di massa senza prima averle "montate". Quando si montano si crea un entry point in un punto del nostro albero delle directory. Nella nostra Ubuntu le periferiche tipo il lettore DVD e quelle rimovibili(pennette USB) si trovano nella cartella "/media", mentre di norma si ha a disposizione la cartella "/mnt" per generici mount.
Il comando per montare un dispositivo è:
mount [opzioni] <dispositivo_da_montare> <punto_di_mount>
Smontare è invece l'operazione inversa che permette di "staccare" il dispositivo dall'albero delle directory. Per usarlo il comando è:
umount <dispositivo_montato>
Una lista delle periferiche connesse al computer è individuabile sotto la directory "/dev". In questa cartella tutti i vari dispositivi sono visti come file. In Linux tutto è un file.

Passiamo ora alla gerarchia delle cartelle.
In Linux tutto l'albero delle directory ha origine dalla root, indicata con "/".
Le principali sotto-cartelle che troviamo possono risiedere sia sulla stessa partizione che su altre partizioni senza che questo crei problemi.

/bin
Qui vengono memorizzati tutti i vari file binari per gli utenti e gli amministratori. Si trovano qui i programmi come cp, ls, mv, ecc... Per una lista di tutti i comandi da terminale vi rimando ad un prossimo post che farò

/boot
Qui ci sono caricati i file del boot loader

/dev
Qui sono presenti tutti i file delle perifiche connesse al computer

/etc
Qui sono presenti tutti i file di configurazione del sistema. Ci sono anche gli script che si avviano all'avvio del sistema. Tra le sottocartelle principali ricordiamo quella per i file di configurazione del server grafico /etc/X11

/home
Qui nelle varie sottocartelle ci sono i dati personali di tutti gli utenti(es. /home/pippo per tutti i documenti dell'utente pippo). In fase di creazione delle partizioni iniziali è consigliabile creare una partizione(molto grande) apposta per questa cartella, per tenere separati i dati utente da quelli di sistema. Molto utile quindi farlo per formattare senza perdere i dati.

/initrd
Serve se si usa un RAM disk da caricare prima che il sistema di avvii

/lib
Qui sono presente i moduli del kernel e le librerie condivise necessarie per avviare il sistema e per eseguire i binari contenuti in /bin e /sbin

/lost+found<
E' presente su ogni partizione. Serve per recuperare i dati in caso di malfunzionamenti hardware

/mnt
E' un generico mount point per i dispositivi

/media
Come detto prima è la directory di montaggio per i dispositivi rimovibili.

/opt
E' riservata ai software e agli add-ons non presenti nelle installazioni di default. In teoria tutti i software di terze parti si dovrebbero installare qui dentro, ma ora come ora questa cartella non è più molto usata.

/proc
Sono presenti file "virtuali" che contengono informazioni sugli attuali processi attivi nel sistema al momento.

/root
E' la directory home dell'utente root.

/sbin
Qui ci sono gli eseguibili per gli amministratori di sistema.

/tmp
Qui vengono memorizzati tutti i file temporanei.

/srv
Risiedono dati specifici forniti dal sistema.

/usr
Contiene dati condivisi dagli host e generalmente sono in sola lettura. Presenta di solito la documentazione e i codici sorgenti dei programmi.

/var
Contiene i dati variabili come i file di log del sistema, le email, i file di spooling di stampa.



Le directory essenziali per il boot: "/bin", "/boot", "/dev", "/etc", "/lib", "/proc" e "/sbin" devono risiedere sulla stessa partizione.
Per le directory "montabili": "/home", "/mnt", "/tmp", "/usr" e "/var", si possono creare partizioni a parte per rendere più semplice il recupero dei file e delle impostazioni. Queste scelte sono consigliate agli utenti più avanzati, eccetto per la /home. Come ho già detto nella sua descrizione, per la cartella /home è caldamente consigliato la creazione di una partizione a parte, anche per gli utenti meno esperti.