Velocizzare Linux creando un RAM Disk

Veloci con le RAM Disk

Veloci con le RAM Disk

Ram Disk o Ram Drive è una funzionalità disponibile in qualsiasi distribuzione Linux dedicata a poter utilizzare la RAM come un hard disk o memoria di massa.
Grazie a Ram Disk potremo emulare un’hard disk utilizzando la nostra RAM rendendo cosi’ più veloce l’avvio di applicazioni oppure dello stesso sistema operativo.

La RAM difatti è molto più veloce di un qualsiasi hard disk, quindi utilizzando questa funzionalità le applicazioni potranno utilizzare la nostra ram per caricare dati, o altro, rendendo più veloce l’avvio e più reattivo il loro utilizzo.

*N.B.: Logicamente i dati salvati nella ram Disk andranno persi ad ogni riavvio, inoltre l’uso di questa funzionalità è consigliato solo se abbiamo più di 2 Gb di Ram altrimenti rischiamo di rimanere senza RAM da poter utilizzare per la gestione del nostro sistema operativo.

In questo esempio vedremo come creare e attivare una Ram Disk su Ubuntu (Debian e derivate).
N.B.: Prima di creare la cartella sul filesystem destinata alla Ram disk, lanciamo da terminale il comando:

free

in modo da liberare la memoria RAM non utilizzata sulla nostra distribuzione.

1. Creare una RamDisk

Per creare una RAMDISK dovremo creare una cartella che fungerà da alias per poter navigare e utilizzare lo spazio della RAM per farlo basta digitare da terminale:

sudo mkdir -p /opt/ramdisk
sudo chmod -R 777 /opt/ramdisk

la cartella sarà denominata ramdisk e la troveremo all’interno della cartella opt del nostro sistema.

2. Montare una RamDisk

A questo punto dovremo montare la cartella per un’area di archiviazione temporanea tmpfs che utilizza RAM invece di spazio sul disco rigido per farlo digitiamo da terminale:

sudo mount -t tmpfs -o size=2048M tmpfs /opt/ramdisk

come possiamo vedere abbiamo dato 2GB (2048M) possiamo variare il size conforme lo spazio disponibile nella nostra RAM.

Fatto questo provate ad avviare alcune applicazioni e dovreste notare un leggero miglioramento nel loro utilizzo.

3. Smontare la RamDisk

Per smontare la RamDisk basta digitare:

sudo umount /opt/ramdisk

oppure basta riavviare.

E’ possibile velocizzare questa procedura creando un’alias o script da avviare all’avvio del sistema.

Per effettuare il montaggio automatico ogni volta che avviamo la nostra distribuzione, dobbiamo aggiungere una riga nel file /etc/fstab. Apriamo quindi il file:

# sudo gedit /etc/fstab

e aggiungiamo la seguente stringa:

tmpfs /opt/ramdisk tmpfs nodev,nosuid,noexec,nodiratime,size=2048M 0  0

Una volta terminata la configurazione possiamo montare la partizione con il comando :

sudo mount -t tmpfs -o size=2048M tmpfs /opt/ramdisk

Facciamo ora un esempio pratico per vedere se e come funziona la nostra modifica.

Premessa: Se la nostra attività ci costringe a lavorare tutto il giorno con un browser, non bisogna sottovalutare l’idea di ottimizzare l’utilizzo di questo strumento.

Vediamo quindi come utilizzare la RAM Disk appena creata per ospitare ad esempio la cache del browser Firefox.

La procedura è molto semplice, dobbiamo immettere nella barra degli indirizzi il comando about:config , fare tasto destro sulla lista e selezionare Nuovo -> Stringa.
Nel nome dobbiamo scrivere browser.cache.disk.parent_directory e nel campo valore il percorso della cartella dove si desidera memorizzare la cache, che per noi e’ /opt/ramdisk. Infine dobbiamo assicurarsi che la voce browser.cache.disk.enable sia True, altrimenti possiamo attivarla con un doppio click.

Una volta terminato il tutto riavviamo il browser e facciamo qualche test ….

pwd   = /opt/ramdisk#
du -sh * = 85M cache2

Funziona…!

Creare facilmente applicazioni Web su Linux

Fogger Web Linux in un clicTra le tante features incluse in Google Chrome / Chromium, Gnome Web, Rekonq ecc troviamo la possibilità di creare facilmente un’applicazione web da qualsiasi scheda. Questa funzionalità ci consente non solo di avviare velocemente il nostro sito web preferito ma anche risparmiare risorse dato che non andremo a caricare interamente il browser. Funzionalità tanto richiesta ma attualmente non inclusa in Mozilla Firefox, un’alternativa arriva proprio dai developer Linux attraverso un semplice software.

Per creare facilmente un’applicazione web con Linux possiamo utilizzare Fogger, software open source che ci consente di creare facilmente un’applicazione web da qualsiasi sito, blog, forum ecc attraverso una semplice interfaccia grafica.
Fogger ci consente di creare un’applicazione web da avviare velocemente nel nostro menu, una volta avviata avremo una finestra con solo il nostro sito web, non è inclusa alcuna barra degli strumenti ecc possiamo comunque ricaricare, andare avanti o indietro attraverso il menu contestuale o il menu dell’applicazione. Tutto questo ci consentirà di velocizzare l’avvio di social network, forum e altri siti preferiti senza utilizzare alcun browser richiedendo meno cpu e memoria ram.

– INSTALLARE FOGGER
N.B.: Fogger è un software che non viene aggiornato da alcuni anni ma che funziona correttamente anche con le attuali distribuzioni Linux.

Per installare Fogger in Ubuntu e derivate basta scaricare il pacchetto deb da questa pagina (per Ubuntu 14.04 e versioni successive basta scaricare il pacchetto per la release 13.10).

Prerequisiti: prima d’installare il pacchetto appena scaricato, accertarsi di avere i seguenti pacchetti :
python-xlib & gir1.2-rsvg-2.0 altrimenti installarli con un semplice

# sudo apt-get install python-xlib gir1.2-rsvg-2.0

Una volta installato, basta avviare Fogger da menu, ci si aprirà una finestra di dialogo nella quale inserire l’url, nome e icona dell’applicazione web da creare per poi cliccare sul tasto Create. Al termine basta avviare l’applicazione web da menu, per rimuoverla basta cliccare da file manager Ctrl + h .

Couchbase = CouchDB + Membase

Couchbase NoSQL

Couchbase NoSQL

Scopriamo perche’ grandi aziende come Ebay,PayPal, LinkedIn, Viber hanno scelto Couchbase.
Stupiscono le sue incredibili performance e di quanto sia piu’ veloce di MongoDB e Cassandra .

Innanzitutto
Il mondo informatico e’ come non mai in continuo fermento ed evoluzione, questi continui cambiamenti a volte sono difficili da seguire ma, spesso portano novita’ interessanti come Couchbase NoSQL. Ma di cosa si tratta ??
Nel variegato mondo dei database NoSQL da qualche tempo c’è una novità: CouchDB e Membase, insieme alle relative società, si sono unite, dando luogo a un unico prodotto e una sola azienda, entrambi chiamati Couchbase.

#Couchbase = CouchDB + Membase
Quest’ultimo unisce le caratteristiche salienti dei predecessori da cui trae origine, ereditando lo storage ad oggetti su disco di CouchDB e le capacità di caching in memoria di Membase.
Interessante e’ anche la possibilità di utilizzare la stessa tecnologia anche su piattaforme mobili, ottenendo con il minimo sforzo la sincronizzazione dei dati fra il dispositivo mobile e il data center grazie alla tecnologia di sincronizzazione dei dati tipica di CouchDB.

In questo primo articolo vedremo i passi necessari per l’installazione di CouchBase su piattaforma Linux-Ubuntu .

PS: l’installazione di un sistema di questo tipi non e’ per PC casalignhi infatti le richieste minime sono nell’ordine di:
Minimum number of processors required : 4 cores
Minimum RAM required  : 4 GB

Innanzitutto, occorre scaricare la versione piu’ appropriata al vostro sistema operativo, a questo link. Io ho scelto la “couchbase-server-enterprise_3.0.2-ubuntu12.04_amd64.deb”
Quindi lanciare il seguente comando :

# sudo dpkg -i couchbase-server-enterprise_3.0.2-ubuntu12.04_amd64.deb

ed al termine dell’installazione, verificare che tutto e’ andato correttamente, digitando nel browser, questo link

http://127.0.0.1:8091/

e seguite la procedura di Setup……, una volta ultimata il primo login come Amministratori sara’ automatico e vi ritroverete direttamente all’interno della console di gestione del DB. Complimenti  il primo step e’ stato ultimato con successo.

Se durante l’installazione non avete cambiato nulla avrete notato che i file di gestione/configurazione del DB sono stati salvati in /opt/couchbase/………/ – Per fare lo shutdown e lo startup, digitare questi comandi

# sudo /etc/init.d/couchbase-server start
# sudo /etc/init.d/couchbase-server stop

Per ogni ulteriore dettaglio nella configurazione per ora vi rimando alla documentazione ufficiale che potete trovare a questo LINK .

Per il momento e’ tutto, spero che queste poche righe abbiano destato l’interesse verso una soluzione DB ad alte prestazioni interessante qual’e’ CouchBase.
Bis Bald, a presto!

Rsnapshot Backup a riga di comando

Rsnapshot Backup a riga di comando

Rsnapshot Backup a riga di comando

#Rsnapshot Backup incrementali a riga di comando
rsnapshot e’ un utile software per effettuare backup incrementali, grazie all’utilizzo di rsync ed il tutto da riga di comando.

RSNAPSHOT
I software in commercio, in grado di effettuare backup incrementali del nostro sistema operativo oppure delle nostre directory preferite, sono molti e vari. Ad esempio per effettuare backup incrementali su Linux possiamo utilizzare Back In Time, Kup, Duplicati, TimeShift ecc. Per gli utemti che utilizzano Server Linux ma che preferiscono operare da terminale esiste rsnapshot, progetto open source che ci consente di effettuare backup incrementali grazie al tool rsync.

Attraverso rsnapshot possiamo effettuare backup incrementali di filesystem locali e remoti con numerose ed utili funzionalità.

Installare rsnapshot in Debian/Ubuntu e derivate è semplicissimo basta digitare da terminale:

sudo apt-get install rsnapshot

una volta installato dovremo operare sul file di configurazione in /etc/rsnapshot.conf
Configurazione

Per configurare rsnapshot è necessario aprire il file /etc/rsnapshot.conf con un editor di testo con i privilegi di amministrazione.

Ogni riga del file di configurazione dovrà contenere elementi separati dal carattere Tab e non dovrà contenere spazi. Non è quindi consigliabile fare il copia ed incolla delle seguenti istruzioni:

La seguente direttiva specifica la cartella di destinazione dei backup:

rsnapshot_root   /media/backup/
no_create_root 1

Si supponga di effettuare il backup tutti i giorni e di voler conservare le seguenti copie:

backup giornaliero dei 7 giorni precedenti;
backup settimanale delle 4 settimane precedenti;
backup mensile dei 6 mesi precedenti.

Le direttive di configurazione specifiche per una tale pianificazione sono le seguenti:

interval daily 7
interval weekly 4
interval monthly 6

Ora occorre definire le cartelle in cui fare i backup. Supponendo di voler conservare i file contenuti nelle cartelle /home /etc e /usr/local, nella cartella backup, aggiungere le seguenti istruzioni:

### BACKUP POINTS / SCRIPTS ###
backup /home/ snapshot/
backup /etc/  snapshot/
backup /usr/local/ snapshot/

Se invece si intende fare il backup di porzioni di file system di un sistema remoto, è possibile utilizzare il protocollo ssh, come nel seguente esempio:

backup root@example.com:/home/ snapshot/example.com/

Inoltre è possibile aggiungere direttive per l’inclusione e l’esclusione di file mediante il pattern matching così come specificato nella pagina di manuale di rsync. Suppondendo di voler escludere tutti i file .mp3 dal backup è sufficiente aggiungere la seguente direttiva:
exclude *.mp3
Infine, è possibile testare il file di configurazione digitando il seguente comando in una finestra del terminale:

sudo rsnapshot configtest
# Syntax OK

Automatizzare il backup
È possibile effettuare il backup di vari servizi mediante degli script controllati da rsnapshot.

Supponendo di voler effetttuare il backup di un database MySql, si realizzi uno script, da inserire in un nuovo file (es. /root/scripts/backupmysql.sh), simile al seguente:

mysqldump nomedatabase --user=root --password=passworddiroot > dump.sql

Dopo aver impostato il nome del database in «nomedatabse» e dopo aver impostato le opzioni «user» e «password» con il nome utente desiderato e la relativa password, è possibile richiamare lo script a partire dal file di configurazione sopra citato con un’istruzione simile alla seguente:

backup_script /root/scripts/backupmysql.sh snapshot/mysql/

rsnapshot lancerà lo script e sposterà nella cartella snapshot/mysql/ tutti i file di output prodotti nella cartella corrente.

Avvio del programma

rsnapshot deve essere avviato specificando il tipo di backup che si intende utilizzare. Questo corrisponde ad una delle direttive «interval» sopra descritte.

Per avviare il tipo di backup desiderato digitare il relativo comando in una finestra di terminale:

  • backup giornaliero:

    sudo rsnapshot daily
  • backup settimanale:
    sudo rsnapshot weekly
  • backup mensile:
    sudo rsnapshot monthly

     

*Aggiungendo l’opzione -t al comando è possibile verificarne il corretto funzionamento. Quello che segue è un esempio:

test :

# sudo rsnapshot -t hourly
echo 24319 > /var/run/rsnapshot.pid 
mkdir -m 0755 -p /media/backup/hourly.0/ 
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \
 /home/user/Immagini /media/backup/hourly.0/snapshot/ 
touch /media/backup/hourly.0/

Per maggiori informazioni su rsnapshot consiglio di consultare il Wiki ufficiale di Ubuntu.

Dynamic DNS con Duck

Dusck DNS

Dusck DNS

Il DNS Dinamico o DDNS, è una tecnologia che consente di associare un’indirizzo DNS ad un’indirizzo IP dinamico, solitamente un indirizzo IP privato di utenza internet domestica.
Questa funzionalità ci consente di mantenere uno stesso indirizzo pur avendo una connessione con IP variabile, consentendoci quindi di poter accedere da remoto al nostro sistema senza dover utilizzare un’indirizzo IP statico.

Duck DNS è un servizio web gratuito (basato su Amazon EC2) che ci consente di avere il nostro DNS Dinamico correlato al nostro indirizzo IP; una volta creato dovremo impostarlo nel nostro router (nella maggior parte dei router è disponibile questa opzione) , impostando le regole di PortMapping, in maniera tale da consentici l’accesso da remoto al nostro sistema.

Il team The Fan Club (noto per lo sviluppo di Grive Tools il miglior client per Google Drive per Linux) ha creato il Duck DNS Setup, un semplice script che ci consente di impostare correttamente Duck DNS in maniera tale da segnalare eventuali cambiamenti del nostro indirizzo IP.

Duck DNS Setup è disponibile in due versioni, una a riga di comando e l’altra con interfaccia grafica (richiede di avere installato il pacchetto zenity cron e curl sulla nostra distribuzione), inoltre il tool è disponibile anche per sistemi quali Apple Mac OS X e Windows.
Lo script si occupera’ anche di andare ad aggiornare automaticamente il nostro indirizzo IP in Duck DNS ogni 5 minuti.

– INSTALLARE DUCK DNS 
Prima di procedere con l’installazione di Duck DNS Setup dovremo procedere alla creazione di un’account sul sito Duck DNS , e per farlo ci basta collegarci sulla pagina indicata e cliccare in alto su Login in Twitter, Facebook, Reddit o Google. Una volta effettuato il login dovremo creare un nuovo indirizzo correlato al nostro IP, che avra’ una forma del tipo:

http://<nome scelto>.duckdns.org

Una volta creato un’account bastera’ scaricare la versione a riga di comando da QUI ( Duck DNS Setup – Linux/OSX Command Line) o con interfaccia grafica ( Duck DNS Setup – Linux GUI) da questa pagina.

Per la versione di Duck DNS Setup a riga di comando basta estrarre il file .tar.gz e spostare il file duck-setup.sh nella home e da terminale digitare:

chmod +x duck-setup.sh
./duck-setup.sh

Una volta lanciato lo script ci verrà chiesto di inserire l’indirizzo Duck DNS associato al nostro IP (precedentemente creato) e successivamente il lungo codice Token, assegnato sulla pagina di creazione del dominio, come verifica;
al termine ci verrà confermata l’attivazione di Duck DNS sul nostro sistema

Per rimuovere Duck DNS Setup basta digitare:

./duck-setup.sh remove

oppure

./duck-setup-gui.sh remove

e confermiamo la rimozione