domenica 27 dicembre 2009

Cercare file e directory da Shell: locate e find

Se utilizzate Ubuntu ed avete continuamente bisogno di cercare un file nella vostra sconfinata collezione di mp3, vi consiglio di utilizzare uno dei tre principali software di indicizzazione e ricerca disponibili nativamente per l'ambiente desktop Gnome: Tracker, Beagle o Google Desktop. Ma se questi strumenti vi sembrano troppo pesanti o non avete bisogno di indicizzare “milioni” di file, potete utilizzare la Shell ed i comandi locate e find per cercare file e directory.


Locate

La sintassi del comando locate è molto semplice

locate [OPTION] [PATTERN]
Tralasciando le varie opzioni, che essenzialmente servono a filtrare il risultato della ricerca e che possono essere facilmente consultate dall'utente sul manuale del comando tramite man locate, vi basti sapere che è sufficiente eseguire locate, seguito dal PATTERN [1] da ricercare, per avere in pochi istanti l'elenco dei file il cui URI [2] verifica il PATTERN passato come parametro.


Il pregio principale del comando locate è la sua velocità. Questo comando infatti, non effettua una ricerca in tempo reale dei file presenti sul disco ma utilizza un database dove sono memorizzate tutte le modifiche che avvengono sui filesystems del nostro sistema.

Il database viene aggiornato tramite il comando
updatedb
il quale viene eseguito giornalmente da cron [3]. Purtroppo il più grande pregio di questo comando è anche il suo più grande difetto. Essendo il database di appoggio aggiornato giornalmente, il comando locate non può restituire quei files creati dopo l'ultimo aggiornamento del database. Per ovviare a questo inconveniente potete effettuare l'aggiornamento manuale del database tramite il comando
sudo updatedb
Esempio:
  • Restituisce il numero di files il cui URI contiene la stringa pippo
locate -c pippo
  • Cerca i files "esistenti" nel momento in cui viene eseguito il comando, il cui URI contiene la stringa pippo (ricordiamo che locate non esegue una ricerca in tempo reale ma consulta un database interno, quindi, un file potrebbe essere stato cancellato dopo l'ultimo aggiornamento del database)
locate -e pippo

[1]
In informatica, si parla di pattern relativamente ad algoritmi specifici, a volte ricorsivi, che seguono uno schema prestabilito, come ad esempio le funzioni di ricerca in una stringa. In tale contesto specifico, il pattern rappresenta anche la stringa (o insieme di stringhe) da ricercare. Da Wikipedia, l'enciclopedia libera.

[2] Uno Uniform Resource Identifier (URI, acronimo più generico rispetto ad "URL") è una stringa che identifica univocamente una risorsa generica che può essere un indirizzo Web, un documento, un'immagine, un file, un servizio, un indirizzo di posta elettronica, ecc. Da Wikipedia, l'enciclopedia libera.

[3] Nei sistemi operativi Unix e Unix-like, il comando cron consente la pianificazione di comandi, ovvero consente di registrarli presso il sistema per essere poi mandati in esecuzione periodicamente. Da Wikipedia, l'enciclopedia libera.


Find
Il comando find permette di ricercare files e directories, oltre che in base al nome, in base a molti parametri (la data di creazione, i permessi di accesso ai files, etc...) al fine di ottimizzare l'operazione di ricerca.

La sintassi del comando find ha la seguente struttura:
find [PATH] [OPTION] [PATTERN] [-exec COMANDO {} \;]
Se utilizzato senza l'opzione [-exec COMANDO {} \;], find stampa a video i risultati della ricerca, ma, se tale opzione è esplicitata, esegue un comando sui files e le directories trovati.

idea La coppia di caratteri {} indica l'elenco dei file trovati, mentre i caratteri \; devono sempre terminare l'opzione -exec.

Esempio:
  • Cerca tutti i file PNG presenti nella directory home e nelle sue subdirectories.
find /home -name '*.png'
  • Cerca ed elimina tutti i file temporanei all'interno della directory corrente e nelle sue subdirectories.
find . -name '*.tmp' -exec rm {} \;
  • Cerca tutti i file appartenti all’utente pippo OPPURE all’utente pluto presenti nella directory corrente e nelle sue subdirectories.
find . -user pippo -or -user pluto
  • Cerca tutti i file appartenti all'utente pippo i cui permessi sono 777 e nelle sue subdirectories.
find . -user pippo -perm 777
Continua a leggere...

Risolvere il problema del timeout di Grub2

Il passaggio da Grub a Grub2 ha introdotto, in Ubuntu 9.10 Karmic Koala, un importante cambiamento nella gestione dell'avvio del sistema operativo. Purtroppo il nuovo bootloader, essendo ancora in fase di sviluppo, non ha ancora raggiunto la piena stabilità. È quindi inevitabile la presenza di alcuni bug.

In particolare, se modifichiamo il valore della variabile

concurrency=none
in
concurrency=shell
nel file /etc/init.d/rc, al fine di velocizzare la fase di boot del sistema, grub2 genera un errore ed imposta, ad ogni riavvio, la variabile
recordfail=1
nel file
/boot/grub/gruben

A causa di questo bug, nonostante nel file di configurazione /etc/default/grub sia impostata correttamente la variabile GRUB_TIMEOUT, la schermata d'avvio non presenta il classico timeout ma attende la selezione
da parte dell'utente del sistema operativo da avviare.
Per non incorrere in questo bug dobbiamo rispristinare il valore della variabile concurrency in
concurrency=none
e riavviare il sistema (durante questo primo riavvio verrà reimpostato il file /boot/grub/grubenv e quindi, solo dal successivo riavvio ricomparirà il timeout di Grub2).

Se però non volessimo rinunciare al booting parallelo dei processi, possiamo utilizzare un piccolo trucco per ovviare a questo bug.
Il trucco consiste nel modificare il file /etc/grub.d/40_custom.

Digitiamo da terminale il comando
sudo gedit /etc/grub.d/40_custom
e aggiungiamo in coda al file il comando

set timeout=N
dove N è il numero di secondi a cui desideriamo impostare il timeout di Grub2. Salviamo e diamo da terminale il comando
sudo update-grub
per aggiornare il file
/boot/grub/grub.cfg

idea Ci tengo a precisare che, per quanto abbia testato questa modifica sul mio sistema e non abbia avuto alcun tipo di problema, non è da escludere che tale modifica possa compromettere il corretto avvio del sistema.
Continua a leggere...

giovedì 24 dicembre 2009

Problema del suono muto all'avvio di Ubuntu 9.10 Karmic Koala

Il rilascio di Ubuntu 9.10 Karmic Koala ha generato una serie di polemiche dovute alla presenza di alcuni fastidiosi bug.
Pur non condividendo i toni catastrofici utilizzati, non si può negarne la presenza.

Uno di questi problemi è l'azzeramento del livello dell'audio all'avvio del sistema.

Anche se è sufficiente alzare il volume per ripristinarne il normale funzionamento, non è certo piacevole dover eseguire questa operazione ad ogni avvio.

Per fortuna è possibile porre rimedio a questo bug apportando una piccola modifica al file
/etc/init.d/alsa-utils.

Apriamo il terminale ed eseguiamo il comando

sudo gedit /etc/init.d/alsa-utils

Spostiamoci alla riga 378 e commentiamo la seguente istruzione

mute_and_zero_levels "$TARGET_CARD" || EXITSTATUS=1

aggiungendo un carattere cancelletto ad inizio riga come visibile sotto.

# mute_and_zero_levels "$TARGET_CARD" || EXITSTATUS=1

Salviamo e riavviamo il sistema: dovrebbe essere tutto risolto.
Continua a leggere...

mercoledì 23 dicembre 2009

Personalizzare i colori del terminale

Quando ci siamo avvicinati a GNU/Linux per la prima volta, prima o poi abbiamo iniziato a scoprire le grandi potenzialità insite nel Terminale, ovvero la shell BASH . In Ubuntu il terminale si avvia dal menu Applicazioni>Accessori>Terminale e si presenta inizialmente con una finestra come nella figura sotto.


Dal menu "Modifica>Preferenze del profilo" accediamo ad un box costituito da diverse tab all'interno delle quali è possibile variare l'interfaccia del terminale a nostro piacimento.


Quello che non possiamo fare da qui però è cambiare il colore dei caratteri del
<nome>@<host> ( ovvero il testo che compare quando avviamo un terminale prima del cursore - nel mio caso ronin@ronin-laptop)
che indicano l'utente connesso (<nome>) ed il nome della macchina(<host>) . Se vogliamo modificare anche questi caratteri in modo che siano riconoscibili rispetto al testo visualizzato, apriamo un terminale (ma và!!mrgreen) e digitiamo:
gedit .bashrc
si aprirà il file nascosto di configurazione della shell presente nella nostra home utente, alla fine del quale aggiungeremo questa riga :
export PS1="\[\e[30;1m\]\u@\[\e[30;1m\]\H:\w$ \[\e[0m\]"
in cui le stringhe evidenziate sopra rappresentano il colore dei caratteri riferito a <nome> e <host> (nero in questo caso): nel dettaglio i valori 30 e 30 indicano il colore vero e proprio mentre i parametri "1m" e "1m"indicano che il testo è in grassetto. Possiamo modificare <nome> e <host> secondo il nostro gusto seguendo la tavolozza dei colori come nella figura immediatamente seguente:


dove nella colonna da 30 a 37 sono rappresentati i colori dei caratteri; nella riga da 40 a 47 sono rappresentati gli sfondi dei caratteri (in questo caso da sostituire al parametro "1m" cambiando il numero "1" ). Quando avremo finito la nostra personalizzazione salviamo e chiudiamo il file e apriamo un terminale per visualizzare il risultato.

idea Questa è attualmente la mia stringa:
export PS1="\[\e[31;43m\]\u@\[\e[31;43m\]\H:\w$ \[\e[0m\]"
analizziamola un momento:
nella parte [31;43m\] riferita a <nome>
  • il numero 31 indica il colore del carattere (rosso)
  • il numero 43 indica lo sfondo del carattere (giallo)
nella parte [31;43m\] riferita a <host>
  • il numero 31 indica il colore del carattere (rosso)
  • il numero 43 indica lo sfondo del carattere (giallo)
il tutto si traduce nell'immagine seguente:


Se vogliamo poi dare un colore diverso per l'utente root la stringa va inserita nel file
/root/.bashrc
aprendolo con il comando
sudo gedit /root/.bashrc


Buona personalizzazione!

Alla prossima.wink

Fonte : http://www.pantz.org

Continua a leggere...

martedì 22 dicembre 2009

Ingalex presenta REPOFINDER VERSIONE PER TERMINALE

di LittleEaster


Sebbene pubblicare questo articolo possa dirottarvi verso un altro blog, sono felice di presentare Repofinder. Come scrive lo stesso Ingalex sul suo blog:


“Il Repofinder non è altro che un motore di ricerca che ha lo scopo di trovare i repository contenenti determinati pacchetti che si vogliono installare. In tal modo si può evitare di inserire o attivare repository nella propria sources.list in maniera scriteriata. Quindi il Repofinder ci consente di aggiungere alle nostre sources.list il repository giusto al momento giusto. … Per installare il repofinder vi basta aggiungere i seguenti repository alla vostra sources.list:

deb http://www.sourceslist.eu/repo/ubuntu karmic main non-free
eseguendo da terminale la seguente riga di codice:


echo "deb http://www.sourceslist.eu/repo/ubuntu karmic main non-free" | sudo tee -a /etc/apt/sources.list

Autentificate il repository eseguendo:

sudo gpg --keyserver hkp://pgp.mit.edu --recv-keys FA088BA5 && sudo gpg --armor --export FA088BA5 | sudo apt-key add -

Poi installate il pacchetto eseguendo:

sudo apt-get update && sudo apt-get install repofinder

Per effettuare le ricerche vi basta eseguire:

repofinder [NOME PACCHETTO]

Per richiamare l’help vi basta eseguire:

repofinder -h
oppure repofinder --help “

Anche se ho avuto poco tempo per testarne la funzionalità ne sono rimasto davvero entusiasta, soprattutto se, come annunciato dallo stesso Ingalex, è in fase di sviluppo un’interfaccia grafica in pyqt!

Continua a leggere...

lunedì 21 dicembre 2009

Magog White 9.1 : tema di icone per Gnome bellissimo!


Girovagando per gnome-look.org ho trovato il tema di icone chiamato Magog White 9.1 creato dall'utente Magog64 attivo anche sul forum di Ubuntu.it. Che dire: a mio modesto parere il tema è strepitoso, un mix di eleganza e modernità che dona potenza espressiva al nostro desktop. Faccio i miei più vivi complimenti a Magog64 per il lavoro compiuto e spero che continui a sviluppare il progetto rendendolo ancora più accattivante... Vi invito a provarlo, non ne resterete delusi.
Alla prossima.
wink

Edit: il tema è stato aggiornato alla versione 10.5

Continua a leggere...

Forzare la chiusura di un'applicazione con xkill in Ubuntu

In questo post LittleEaster ha illustrato per bene come forzare la chiusura di un'applicazione bloccata; un altro metodo veloce, oltre a quelli "ordinari" consiste nell'usare il comando
xkill
avviando infatti il comando da terminale il puntatore del mouse assume la forma di una X (per); come recita l'output dell'istruzione:
Select the window whose client you wish to kill with button 1....
basta spostare il puntatore assassino mrgreen sulla finestra bloccata, cliccarci sopra con il tasto sx del mouse e magicamente il programma disobbediente si chiuderà.

Alla prossima.wink Continua a leggere...

Forzare la chiusura di un'applicazione su Ubuntu

di LittleEaster



Chiunque abbia mai utilizzato un sistema operativo di casa Microsoft sa perfettamente utilizzare la combinazione di tasti Ctrl + Alt + Canc per forzare la chiusura di un'applicazione. Ma come si può forzare la chiusura di un'applicazione su Ubuntu? Il modo più semplice e user-friendly consiste sicuramente nell'utilizzare il tool Monitor di Sistema. Dopo aver avviato il programma dal menu Sistema > Amministrazione > Monitor di Sistema basta selezionare la tab Processi. In questa finestra è possibile vedere l'elenco dei processi controllati dall'utente attivo, infatti, visto che un processo ha gli stessi diritti di accesso ai file dell'utente che lo ha generato, soltanto l'utente proprietario e l'utente root possono interagire con un processo forzandone la chiusura. Selezionando il processo che si vuole chiudere e cliccandoci sopra con il pulsante destro del mouse è possibile terminare il processo tramite il menu contestuale visibile nella figura subito sotto.


Tale menu contestuale presenta tre opzioni (Ferma Processo, Termina Processo, Uccidi Processo) che potrebbero apparire uguali agli occhi di un newbie. In realtà esiste una grande differenza fra:
1.Ferma Processo: interrompe temporaneamente l'esecuzione del processo in esecuzione.

2.Termina Processo: termina l'esecuzione del processo selezionato dando il tempo al processo di salvare i dati.

3.Uccidi Processo: termina l'esecuzione del processo in modo brutale, non dando il tempo al processo di salvare i dati.

Per questo motivo, se si vuole terminare un processo è consigliabile inizialmente provare con il comando Termina Processo e solo se questo non dovesse funzionare dare il comando Uccidi Processo.

Se però non è possibile utilizzare l'interfaccia grafica o se si preferisce utilizzare il terminale, è possibile
forzare la chiusura di un processo tramite il comando:
kill <PID>

Il comando kill <PID> invia un segnale ad un processo definito tramite il suo PID (Process ID) [1]. Utilizzato senza opzioni questo comando invia il segnale SIGTERM (TERMINA PROCESSO). Come visto in precedenza se questo comando dovesse fallire nel suo compito, si può utilizzare l'opzione -9 (kill -9 <PID>) in abbinamento al comando. Questa opzione produce l'invio del segnale SIGKILL (UCCIDI PROCESSO). Il comando kill richiede come unico parametro il PID del processo che si vuole terminare. Se non si conosce il PID del processo si può utilizzare il comando
ps

per scoprirlo.
Il comando ps (process state), mostra lo stato dei processi in esecuzione nel sistema. Utilizzato in abbinamento con l'opzione --user <NOME UTENTE> o -u <NOME UTENTE> mostra l'elenco di tutti i processi di cui l' utente attivo è proprietario. Il risultato dell'istruzione potrebbe essere particolarmente lungo, in questo caso si può abbinare il comando more per impaginare l'output prodotto:
ps -–user <NOME UTENTE> | more

oppure, conoscendo il nome del processo, il comando
ps --user <NOME UTENTE> | grep <NOME PROCESSO>
idea Il carattere pipe (trattino verticale) si ottiene tramite la combinazione di tasti SHIFT + \

Conoscendo il nome del processo o parte di esso, si può utilizzare, in alternativa al comando kill, il comando

pkill <NOME PROCESSO>

Se si intende utilizzare questo comando è consigliabile verificare preventivamente quali processi corrispondono al <NOME PROCESSO> passato come argomento. Infatti il comando terminerà, come detto in precedenza, tutti i processi il cui nome, o parte di esso, corrisponde al parametro passato per argomento. Per effettuare tale controllo basta eseguire da terminale il comando:
pgrep -l <NOME PROCESSO>

Questo comando restituisce l'elenco dei processi il cui nome contiene la stringa <NOME PROCESSO>


[1] Nei sistemi operativi Unix e Unix-like PID è l'acronimo di process identifier (identificativo di processo) ed è un numero intero non negativo assegnato automaticamente che identifica in maniera univoca un processo all'interno del sistema e rimane costante per tutta la durata del processo. Da Wikipedia, l'enciclopedia libera.
Continua a leggere...

Montare partizioni Windows all'avvio in Ubuntu modificando il file /etc/fstab

di LittleEaster


Com
e anticipato da Ronin117 in questo post, se si vuole montare automaticamente una partizione all'avvio in Ubuntu, ed in generale nelle distro linux, bisogna modificare il file /etc/fstab. Questo file infatti viene letto dal sistema durante il processo d'avvio e definisce quali partizioni devono essere montate, quindi bisogna stare molto attenti quando lo si vuole modificare. Ronin117 ha illustrato come ottenere il mount automatico utilizzando il tool grafico Disk Manager, mentre oggi si vedrà come ottenere lo stesso risultato editando il file /etc/fstab. A titolo di esempio si considererà una partizione in Ntfs, visto che molti utenti nella propria macchina hanno Ubuntu in dual boot con Windows, per cui necessitano di accedere ai dati di quest'ultimo. Per prima cosa è conveniente fare un backup del file che ne consente il ripristino in caso di problemi, per cui da terminale:
sudo cp /etc/fstab /etc/fstab.backup

successivamente è necessario creare la directory che verrà utilizzata come punto di mount della partizione:
sudo mkdir /media/windows

poi bisogna modificare i permessi di accesso alla directory in modo tale da dare a tutti gli utenti i permessi di lettura e scrittura:
sudo chmod 777 /media/windows

quindi si può aprire il file /etc/fstab con il seguente comando
sudo gedit /etc/fstab

ed aggiungere in fondo al file la seguente riga:
/dev/sda1 /media/windows ntfs-3g defaults,locale=it_IT.UTF-8 0 0

dove al posto di /dev/sda1 va inserito il proprio dispositivo; se non si sa qual'è la partizione da aggiungere ad /etc/fstab è sufficiente dare questo comando:
sudo fdisk -l
grazie al quale apparirà la lista delle partizioni/dispositivi in uso sul pc; in particolare quella formattata in ntfs dovrebbe apparire simile alla seguente:
/dev/sda1 * 1 8925 71690031 7 HPFS/NTFS
Ultimate le modifiche, chiudere e salvare il file /etc/fstab. Dal prossimo riavvio la partizione di windows sarà regolarmente montata.

idea Qualche considerazione:

La riga
/dev/sda1 /media/windows ntfs-3g defaults,locale=it_IT.UTF-8 0 0

fornisce le seguenti informazioni, separate da uno spazio o da un tab, al sistema:

1.Il dispositivo o la partizione che contiene il filesystem da montare;

2.La directory, mount point, tramite cui sarà possibile accedere al contenuto del file system montato;

3.Tipo di file system da utilizzare (ext4, ext3, ntfs-3g ecc...);

4.Opzioni di mount che regolano l'accesso al file system. L'opzione defaults inidica l'utilizzo delle opzioni di default: rw,suid,dev,exec,auto,nouser,async;

5.Flag per indicare se deve essere eseguito il backup del file system (0 disattivato, 1 attivato);

6.Flag per indicare se deve essere effettuato un check al boot tramite il comando fsck (0 indica non controllare);

Aprendo il file /etc/fstab si può notare che i dispositivi saranno indicati con una sigla simile a questa:
UUID=0e067b13-f324-453f-a335-a64a439c01a3

Infatti ormai tutte la distribuzioni Linux utilizzano come identificativo per le partizioni l'UUID, ovvero l'Universally Unique Identifier (Numero Unico identificativo), invece della solita denominazione di unità disco, ad esempio /dev/sda1. Lo UUID non è altro che una stringa alfanumerica della dimensione di 128 bit associata a ciascun filesystem sul sistema. Tutti i filesystem Linux (incluso lo swap) supportano UUID. L'utilizzo dell'UUID porta molti vantaggi in quei sistemi che sono soggetti ha frequenti modifiche hardware (in quanto, per esempio, l'aggiunta o l'eliminazione di un hard-disk non comporta la necessità di modifica del file /etc/fstab). Purtroppo però non sono tutte rose e fiori... Infatti qualsiasi modifica effettuata sul filesystem causa la relativa modifica dell'UUID. Quindi, per esempio, se si ridimensiona una partizione bisogna ricordarsi di modificare il file /etc/fstab con il nuovo UUID.
Inoltre i filesystem FAT e NTFS non supportano l'UUID secondo lo standard Linux.

Eseguendo da terminale il comando

ls -l /dev/disk/by-uuid/

si ottiene l'elenco di tutte le partizioni montate, con relativo UUID:
totale 0
lrwxrwxrwx 1 root root 10 2009-12-19 19:26 003CA71E3AC70C9C -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-12-19 19:26 0e067b13-f324-453f-a335-a64a439c01a3 -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-12-19 19:26 259747f3-6b14-45f7-9c0f-c11617f38e03 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-12-19 19:26 9a792261-086e-49a1-ae49-eb6d0ff600f9 -> ../../sda5

Come si può vedere nella seconda riga del listato, l'UUID utilizzato per indicare la partizione NFTS è molto diverso da quello utilizzato dai filesystem Linux.
Per l'utente comune l'utilizzo o meno dell'UUID per l'identificazione del filesystem, all'interno del file /etc/fstab, non fa grande differenza...si propende per una metodologia o per l'altra a seconda delle proprie necessità.

Continua a leggere...

venerdì 18 dicembre 2009

Personas: personalizzare il look di firefox


Oggi ho scoperto per caso una piccola estensione per firefox, Personas, che consente di modificarne lo sfondo. Personas è prelevabile da qui e si installa con la solita procedura; al riavvio del browser la si trova nel menù Strumenti . I temi a disposizione sono veramente tanti, davvero per tutti i gusti, c'è solo l'imbarazzo della scelta. Il progetto dovrebbe essere integrato in firefox a partire dalla release 3.6 .
Alla prossima.wink
Continua a leggere...

mercoledì 16 dicembre 2009

Montare partizioni all'avvio con Disk Manager in Ubuntu

Disk Manager è una piccola utility che consente di :
  • montare automaticamente partizioni all'avvio del sistema;
  • abilitare il supporto alla scrittura per i dispositivi formattati in NTFS utilizzando il driver ntfs-3g già integrato di default in Ubuntu a partire dalla versione 8.04 Hardy Heron;
  • modificare il punto di mount dei dispositivi e le relative opzioni;
  • disabilitare il controllo periodico del file system all'avvio;
preoccupandosi di scrivere le modifiche apportate nel file /etc/fstab senza nessun intervento manuale. Il software non è più incluso nei repository di Ubuntu ed il suo sviluppo è attualmente fermo, ma il suo utilizzo non comporta problemi in Karmic e versioni precedenti.
Il programma può essere scaricato in formato .deb da qui ed è sufficiente un doppio clic sul file scaricato per avviarne l'installazione con GDebi. Una volta installato lo si trova nel menu "Sistema>Amministrazione>Disk Manager".
Al primo avvio cliccando sul pulsante "Configura nuove partizioni" verrà mostrata la lista dei dispositivi presenti ma non ancora configurati. Basta spuntare le partizioni che si desidera montare all'avvio e cliccare sul pulsante "Configurazione automatica" ed il gioco è fatto.al termine della procedura il programma mostrerà nuovamente la finestra principale:
se ci si sposta nella tab "Configurazione avanzata" selezionando una delle partizioni abilitate e cliccando sul pulsante "Modifica", è possibile modificarne il punto di mount e le opzioni connesse. In definitiva, Disk Manager è un programma molto utile dotato di un'interfaccia grafica semplice ed intuitiva : si presta bene, quindi, all'utilizzo da parte dei neofiti e magari anche degli utenti esperti pigrimrgreen che non hanno voglia di editare il contenuto di fstab.
Alla prossima.wink

Continua a leggere...

martedì 15 dicembre 2009

Cache DNS e Servizio DHCP in Ubuntu (di LittleEaster)

DNS (Domain Name System) è il sistema utilizzato per la risoluzione dei nomi host in indirizzi IP e viceversa. Il servizio è realizzato tramite un database distribuito, costituito da server DNS. Per questo motivo, ogni volta che si accede ad un indirizzo internet tramite il suo URL viene effettuata una richiesta al server DNS che risolverà il nome dell’host in un indirizzo IP. Al fine di velocizzare la risoluzione dei nomi host è consigliabile l'installazione di una cache DNS. Installando una cache DNS le richieste saranno mantenute in memoria e non dovranno essere ogni volta inoltrate ai server DNS. Come spiegato su UbuntuTrucchi :
“L’installazione è molto semplice e richiede unicamente due pacchetti: dnsmasq e dnsmasq-base, per cui all’interno di un terminale:

sudo apt-get install dnsmasq dnsmasq-base

Il servizio si autoconfigurerà e si porrà in ascolto sulla porta TCP 53, come un normale server DNS. Se la nostra necessità è utilizzarlo autonomamente è possibile chiudere la connessione su altri indirizzi IP e accettare unicamente richieste provenienti dal nostro PC. Per far ciò basterà modificare il file /etc/dnsmasq.conf con:

gksudo gedit /etc/dnsmasq.conf

Trovare le definizioni #interface (circa alla riga 85) e #bind-interfaces (circa riga 103) e modificarle in:

interface lo
bind-interfaces

Salvare e chiudere il file, quindi modificare il file con gli indirizzi DNS da utilizzare:

gksudo gedit /etc/resolv.conf

E aggiungere in cima:

nameserver 127.0.0.1

Quindi chiudere il file e riavviare il servizio dnsmasq con:

sudo /etc/init.d/dnsmasq restart

Fatto ciò le richieste DNS transiteranno prima per dnsmasq che ricercherà innanzitutto nella propria cache, qualora il risultato sarà presente fornirà l’indirizzo altrimenti la richiesta sarà girata al server DNS e quindi memorizzata nella cache. I tempi di accesso dalla cache sono mediamente di 1-2 ms, i tempi di accesso ad un server DNS sono mediamente 50 volte superiori.
L’opzione predefinita di dnsmasq assume che vengano memorizzati gli ultimi 150 indirizzi in cache ma questo valore può essere ampliato modificando il parametro cache-size nel file dnsmasq.conf (circa riga 370) e ovviamente togliendo il simbolo # dall’inizio della riga.
E’ possibile effettuare un test dei tempi con:

dig www.ubuntu.com

La prima volta si otterrà una risposta simile:
;; Query time: 104 msec
Mentre le volte successive:
;; Query time: 1 msec
Il vantaggio è notevole, almeno per quanto riguarda le richieste DNS. “

La configurazione spiegata su Ubuntu Trucchi funziona perfettamente se non si utilizza il DHCP. Se invece si usa tale servizio sorgono alcuni problemi.... Infatti quando viene assegnato l'indirizzo IP dal server DHCP viene sovrascritto anche il file /etc/resolv.conf vanificando la procedura di configurazione effettuata in precedenza. Al fine di risolvere tale problema si può procedere alla modifica della configurazione del file /etc/dhcp3/dhclient.conf aprendolo da terminale con il comando
sudo gedit /etc/dhcp3/dhclient.conf
decommentando (quindi cancellando il simbolo #) la riga 20 e modificandone l'opzione prepend come sotto
prepend domain-name-servers 127.0.0.1, 87.118.111.215, 81.174.67.134;
per poi salvare la configurazione e chiudere il file.
Gli ultimi due indirizzi sono gli indirizzi IP dei server DNS scelti. Quelli indicati sopra sono i server DNS di FoolDNS Community che onestamente consiglio. Un'altra soluzione consiste nell'utilizzo del comando chattr, che impedisce la sovrascrittura dei file. Come si può leggere infatti dalla sua documentazione:
“chattr - change file attributes on a Linux file system”
quindi si può utilizzare tale comando ed in particolare l'opzione "i"
“A file with the `i' attribute cannot be modified: it cannot be deleted or renamed, no link can be created to this file and no data can be written to the file. Only the superuser or a process possessing the CAP_LINUX_IMMUTABLE capability can set or clear this attribute.”
per bloccare il file /etc/resolv.conf impedendone la modifica. Se si decide di utilizzare questa soluzione, bisogna aprire il file con il seguente comando da console:
sudo gedit /etc/resolv.conf
e modificarlo come segue:
nameserver 127.0.0.1
nameserver 87.118.111.215
nameserver 81.174.67.134
Come detto in precedenza, gli ultimi due indirizzi IP si riferiscono ai server DNS di FoolDNS ma ovviamente si possono utilizzare i propri DNS. Successivamente ancora da terminale digitare:
sudo chattr +i /etc/resolv.conf
per bloccare la sovrascrittura del file. Se si dovessero apportare modifiche in futuro, basta eseguire
sudo chattr -i /etc/resolv.conf
per sbloccare il file, quindi effettuare le modifiche aprendo il file con
sudo gedit /etc/resolv.conf
salvare e successivamente eseguire:
sudo chattr +i /etc/resolv.conf
Continua a leggere...

LittleEaster: nuovo co-autore del blog

Sono felice di annunciarvi che da oggi si è aggiunto come co-autore del blog un mio carissimo amico, LittleEaster, fedele utilizzatore di Ubuntu! L'immagine a fianco rappresenta il suo avatar, e la dice lunga su quanto si concentri e quante energie sprechi per il nostro sistema operativo preferito !mrgreen Ti do il mio più caloroso benvenuto in questo spazio, caro LittleEaster, nell'attesa di ricevere i tuoi articoli: sono certo che con la tua esperienza potrai essere d'aiuto a tanti utilizzatori che muovono i primi passi con GNU/Linux. In bocca al lupo!mrgreen
Alla prossima.wink
Continua a leggere...

lunedì 14 dicembre 2009

Formattare partizioni in NTFS con GParted su Ubuntu 9.10 Karmic Koala

L'editor di partizioni predefinito in Ubuntu, Gparted (Gnome Partition Editor), di base non consente la formattazione di partizioni in NTFS, ovvero il file system usato nei sistemi Windows da XP in poi, in grado di superare i limiti strutturali del Fat32. Per rimediare a questo piccolo "inconveniente", dopo aver installato il programma da terminale con:
sudo apt-get install gparted
è sufficiente installare un pacchetto aggiuntivo , digitando sempre nel terminale:
sudo apt-get install ntfsprogs
A procedura ultimata, Gparted sarà in grado di formattare dispositivi in NTFS come si vede nell'immagine in basso.

Alla prossima.
wink
Continua a leggere...

ShareThis