Velocizzare il vostro PC Linux – Tips & Tricks

Linux Tips & Tricks

Linux Tips & Tricks

Per queste festivita’ Natalizie anche Tuttiperlinux vuole farvi il proprio regalo con alcuni utili tips and tricks per rendere il vostro PC Linux piu’ performante per ogni utilizzo.
PARTIAMO: Come gia spiegato in un precedente articolo un punto a noi molto a cuore e’ il giusto utilizzo e sfruttamento di quel bagaglio di performance che e’ la RAM, oggi rivedremo alcuni punti ed aggiungeremo nuovi trucchi.

Riduciamo l’utilizzo della swap
Normalmente Ubuntu/Debian (e loro derivate) utilizza la swap non appena si supera il 60% della RAM occupata; un valore troppo alto a mio avviso, che fa entrare in funzione la swap troppo presto con numerosi rallentamenti nel sistema. Con questa piccola modifica andremo ad abbassare la soglia di attivazione della swap al 10%, un valore ottimale che garantisce un maggiore utilizzo della RAM (più veloce dello swap, che scrive i dati su disco) senza rinunciare alla swap in caso di saturazione della stessa, che entrerà in funzione il più tardi possibile.

Per effettuare la modifica apriamo un terminale e digitiamo

# sudo vim /etc/sysctl.conf

andiamo a fondo dello stesso e aggiungiamo la seguente stringa

vm.swappiness=10

Ora l’accesso alla swap inizierà solo con un carico della RAM superiore al 90% della stessa.


Pochissima RAM? Usiamo zRam

Se abbiamo un piccolo netbook oppure un pc “datato” con  1 GB di RAM o meno, il nostro sistema Linux può entrare in difficoltà non appena si aprono 2 o 3 programmi pesanti. Il sistema inizierà a “swappare”, rallentando man mano in maniera vistosa. Il trucco più efficace sui sistemi più vecchi è l’utilizzo di zRam, un piccolo hack per il kernel che permetterà di sfruttare al massimo il basso quantitativo di memoria fisica disponibile, “swappando” direttamente in RAM e ritardando il più possibile l’accesso alla swap fisica presente sul disco rigido (estremamente lenta). Il suo funzionamento è complesso, ma riassumibile in poche righe: i dati in RAM vengono compressi e immagazzinati in una partizione swap virtuale caricata in memoria RAM che occupa fino al 25% della stessa.

Raggiunta la soglia critica i pacchetti vengono compressi al massimo e swappati dentro la zRam, con un enorme recupero di prestazioni e di reattività (la compressione/decompressione è circa 20 volte più veloce dell’accesso diretto alla swap sul disco rigido). In teoria è come aggiungere un modulo di RAM in più della capienza dimezzata rispetto all’originale; ad esempio su 1GB di RAM si ottengono in totale circa 1,50 GB ( aggiunta di un modulo da 512MB) con l’aggiunta di zRam e, senza cambiare nulla.

Sulle versioni più recenti di Ubuntu (dalla 12.04 e successive) è possibile installare ed usare zRam lanciando il seguente comando da terminale.

# sudo apt-get install zram-config

Il file di configurazione lo troverete sotto /etc/init/zram-config

Al primo riavvio del PC zram si attivera’ in automatico.

ATTENZIONE: il funzionamento non è garantito su tutte le configurazioni, in quanto molto dipende dal modello di RAM utilizzato sul computer. Se non riscontrate migliorie conviene rimuoverlo.

NOTA BENE: zRam può essere usato con qualsiasi quantitativo di memoria RAM, ma i risultati migliori si ottengono con meno di 4GB di RAM, oltre tale valore perde gran parte dell’efficacia (almeno con gli OS attuali).


Troppi applicativi in auto-avvio? Diamogli una regolata

Le distribuzioni odierne hanno tanti applicativi in auto-avvio, e molte di queste voci sono spesso nascoste e non visibili. Per controllare quali avviare e quali rimuovere possiamo affidarci a BUM (boot-up manager) una comoda applicazione disponibile nei repository di Ubuntu/Debian.

Per installarlo usiamo il seguente comando.

# sudo apt-get install bum

Avviamolo dal menu applicazioni o dalla Shell dell’ambiente (dovete essere root) per ottenere la lista di applicativi avviati insieme al sistema.
In base alle nostre esigenze possiamo modificare alcune delle voci disattivandole con una semplice spunta.

ATTENZIONE : evitate di disattivare voci a caso, documentatevi su Google per verificare la funzionalita’ dell’applicativo.


Velocizzare Ubuntu cambiando ambiente grafico
Per alcuni Unity è troppo pesante o limitato, per nostra fortuna usiamo un sistema open source, che quindi non c’incatena ad uno specifico ambiente grafico. Possiamo dunque scegliere d’installare una grande varietà di ambienti grafici già pronti e spesso notevolmente più leggeri dell’ambiente di partenza utilizzando il gestore pacchetti o il terminale. Non c’è nemmeno l’obbligo di cancellare il vecchio ambiente, Linux permette di gestire più ambienti grafici insieme senza problemi. Avendo abbiamo possibilità di scelta, perché non scegliere in base alle nostre esigenze e necessità?

Tra i più leggeri in assoluto, in grado di regalare una reattività invidiabile, c’è XFCE , a mio avviso il miglior ambiente grafico alternativo, che unisce leggerezza e funzionalità in un mix vincente.

Per installarlo utilizziamo il seguente comando da terminale

# sudo apt-get install xubuntu-desktop

In alternativa c’è LXDE, ancora più leggero e spartano per PC particolarmente obsoleti.

Installazione
Installare a scelta i pacchetti:

lubuntu-desktop : se si desidera avere Lubuntu completo;
lubuntu-core : se si desidera avere Lubuntu in versione minimale;
lxde : se si desidera avere il solo ambiente LXDE.

esempio :

# sudo apt-get install lubuntu-desktop

 

Buon divertimento !

#LinuxTipsandTricks

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…!

#HASHTAG come si usa!

Che cosa e' un hashtag

Che cosa e’ un hashtag

Negli ultimi anni tutti noi siamo stati coinvolti, chi piu’ chi meno, dall’invasione dei social network, insieme ai social network ha spopolato un “carattere speciale”: il (cancelletto).
Questo simbolo, che d’ora in poi chiameremo tag, è comparso per la prima volta sulla chat “Internet Realy Chat” allo scopo di etichettare gruppi ed argomenti, ma la sua popolarità è legata sicuramente in modo molto piu’ forte alla nascita di Twitter, che li ha usati fin da subito come modo per contrassegnare le parole chiave, raggruppare i messaggi (tweet) e indicizzare i contenuti in modo semplice. Facebook invece solo dal 2013 ne ha deciso finalmente l’introduzione.

L’hashtag è una funzionalità semplice, tanto semplice quanto difficile da utilizare in modo corretto, insomma non è pane per tutti, però conoscerlo meglio aiuta ad utilizzarlo meglio, soprattutto se lo si usa per descrivere parole chiave o topic in un Tweet ed il suo intento principale è quello di categorizzarle/i ed aiutare a mostrarle/i nel motore di ricerca di Twitter.

Ad esempio, se su Facebook si scrive un aggiornamento di stato con dentro#NuovoHashtag, il post finirà all’interno di un feed dedicato, consultabile da chiunque all’indirizzo : https://www.facebook.com/hashtag/NuovoHashtag.

COSA COMPORTANO GLI HASHTAG
Prima di iniziare ad usare gli hashtag è bene essere a conoscenza di alcune implicazioni che il loro uso comporta:

  • – su Twitter se si usa un hashtag in un account pubblico, chiunque compia una ricerca per l’hashtag appena inserito potrà trovare il post nel quale è contenuto;
  • – una volta che un hashtag è stato inserito non può più essere rimosso o controllato e quindi può trasformarsi in un successo, ma anche in un colossale flop;
  • – su Facebook cliccando su un hashtag è possibile visualizzare solo il post dei propri amici o di chi ha impostato un livello di privacy pubblico. Quindi chi vuole essere rintracciato deve pubblicare un hashtag in un messaggio pubblico;
  • – su Facebook gli hashtag sono cliccabili anche se sono stati pubblicati tramite un altro servizio (Es. Instagram, Twitter).

 

PERCHE’ USARE GLI HASHTAG
Gli hashtag si usano principalmente per seguire o tracciare un evento oppure per incrementare la propria popolarità. Oppure è possibile usare gli hashtag su Facebook per visualizzare tutti i post che sono attinenti o legati ad un argomento, infatti Facebook trasforma automaticamente i tag in link.
Con un click è possibile visualizzare una lista di post di altre persone in cui il tag è contenuto (differenza di Facebook rispetto a Twitter).

COME USARE HASHTAG
Non esistono delle regole precise per usare gli hashtag, ma solo dei piccoli accorgimenti che ne permettono un uso efficace e che potrebbero renderli molto seguiti se non addirittura virali.
La prima cosa da fare è essere molto specifici e attinenti: se si vuole esprimere la propria opinione su un argomento pubblico l’hashtag deve essere il più correlato possibile all’argomento stesso.
Se, ad esempio, si vuole parlare di Beppe Grillo molto semplicemente si può utilizzare l’hashtag #beppegrillo oppure #grillo e così via.
Una cosa sicuramente da non fare è quella di non “farsi prendere la mano” e inserire troppi hashtag tutti insieme: il numero consigliato è compreso tra uno e tre. Più si è stringati più si risulta chiari e specifici.
Per essere ulteriormente sicuri del successo del proprio post è meglio usare hashtag già affermati piuttosto che cercare di inventarne uno nuovo (no ai neologismi).
L’hashtag non deve essere usato solo perché di moda, ma sarebbe l’ideale se fosse inserito in un contesto, buona norma sarebbe includerlo in una frase che ne chiarisca l’utilizzo, in modo da avere una comunicazione migliore: NO: #biscottoallacannella, SI: Sto mangiando un #biscottoallacannella in macchina.

 

Dividi et impera

Split - dividi e gestisci

Split – dividi e gestisci

 

 

Cosa fare quando diventano troppo ingombranti

Se un file è troppo grande per essere archiviato su un supporto CD/DVD, oppure quando un allegato supera la dimensione massima consentita per le e-mail, bisogna ridurne le dimensioni, cioè dividere il file in più parti. Per farlo abbiamo a disposizione il comando split (dividere) che ci permette di spezzare un file in più parti, ognuna delle quali con una dimensione predefinita. Split inoltre, funziona sia su file di testo che su binari.

Grazie al comando split quindi possiamo dividere un file sia di testo o multimediale in tanti pezzi più piccoli.

Supponiamo di avere un file avi di 2GB è vogliamo masterizzarlo in un normale cd di 700 MB vista la notevole dimensione del file video la masterizzazione non è possibile ed ecco che ci viene in aiuto il comando split, permettendoci di dividere il file in piu’ tronconi; la sintassi del comando per effettuare la divisione del file è la seguente:

split -b 500MB file.avi

Bene, analizziamo quello che abbiamo scritto con l’opzione -b 500MB indichiamo al comando di dividere il nostro file avi in altri della grandezza di 500 MB, i nomi dei file di output verranno assegnati utilizzando le letteer nel seguente modo : “aa”, “ab”, “ac” ecc.

cosi’ una volta dato il comando otterremo il seguente risultato :
xaa
xab
xac
xad
xae

per ricomporre i vari spezzoni del file in un unico file basterà servirci del comando cat.

cat x?? > file_ricostruito.avi
risultato finale :  2,0G    file_ricostruito.avi
Il parametro -b è ciò che definisce la dimensione delle parti risultanti. È possibile utilizzare suffissi, come KB (Kilobyte: 1000 bytes), MB (Megabyte: 1000 × 1000 byte), GB (Gigabyte: 1000 × 1000 × 1000 byte), TB, PB, EB, ZB, YB. In alternativa è possibile utilizzare il suffisso EIC K (Kibibyte: 1024 bytes), M (Mibibyte: 1024 × 1024 byte), G (gibibyte: 1024 × 1024 × 1024 byte)….. esempio:
split -b 1K file_to_split.bin
split -b 10M file_to_split.bin
split -b 1KB file_to_split.bin
split -b 10MB file_to_split.bin

dividere un file per le linee

split inoltre ci permette di dividere un file di testo per le linee e non per le dimensioni delle parti che ne derivano.
Il parametro per dividere un file di testo per le linee è -l seguito dal numero di linee, esempio:

split -l 20 file_to_split.txt

Questo creerà un file per ogni 20 righe nel file originale, così se il file ha 54 linee, sarebbero creati i file xaa (righe 1-20), xab (linee 21-40) e xac (linee 41-54).

Puppet: automatizziamo e gestiamo ogni task

Puppet Labs

Puppet Labs

Introduzione a Puppet

Puppet è un software open source, scritto in linguaggio Ruby, che permette la gestione automatizzata e centralizzata di un’infrastruttura di sistemi Linux e Unix, essendo disponibile per tutte le principali distribuzioni Linux, ma anche per le diverse varianti di BSD oltre che Solaris e AIX.

Con Puppet è possibile gestire praticamente ogni risorsa di un sistema: programmi da insallare, servizi da avviare, file di configurazione con contenuti diversi a seconda di diverse logiche, utenti, cron jobs, mount point, esecuzione di comandi specifici ecc.
Praticamente permette di automatizzare ogni attività sistemistica cambiando di fatto il modo con sui si opera su sun server.

La logica di Puppet è di definire lo stato di un sistema e fare in modo che questo sia tale ogni volta che il client Puppet viene eseguito.
La prima volta che lo si esegue, vengono installati pacchetti, avviati servizi, modificati file di configurazione secondo quanto definito sul PuppetMaster, le volte successive, se non sono intervenute modifiche manuali sul sistema, o cambiamenti delle configurazioni sul master, non dovrebbe cambiare nulla, altrimenti verranno upgradati eventuali file di configurazione o servizi, cosi come indicato sul PuppetMaster.
Questo è un concetto importante per il sistemista, e’ un vero e proprio cambio di paradigma sul suo modo di operare, poiche’ in un sistema gestito con Puppet non si devono modificare a mano i file che Puppet gestisce, perchè questi vengono aggiornati al successivo collegamento/verifica con il Master e, visto che nelle condizioni ideali, Puppet gestisce tutte le risorse di un sistema (non è obbligatorio che sia così, ma è comunque consigliabile), di fatto, salvo in casi di emergenza, un sistemista non dovrà mai intervenire a mano sui suoi server.

Se da un lato tutto questo può risultare laborioso e in qualche modo “innaturale” nella gestione dall’altro comporta una serie di vantaggi clamorosi:
– Si può configurare il profilo di un server ed applicarlo a decine o centinaia di host, tutti uguali, tutti allineati, tutti configurati con la stessa logica.
– La procedura di setup e configurazione di un sistema è riproducibile, evitando cosi’ di trovarsi a gestire dei sistemi che poi non si sanno più reinstallare.
– E’ facile e quasi intrinseco prevedere per ogni host il suo corrispettivo di sviluppo, collaudo e produzione, non avendo limiti nel numero di ambienti previsti e avendo la certezza di avere i sistemi fra di loro allineati.
– I manifest di puppet sono generalmente gestiti con un sistema di versioning (git, subversion, cvs vanno tutti bene), questo comporta automaticamente una gestione formale, reversibile, documentata e tracciata delle modifiche fatte sui sistemi.

Il risultato è che, già in infrastrutture di qualche decine di host, Puppet diventa uno strumento unico e insostituibile per una gestione rapida ed efficace del parco macchine, lo sforzo inizlae di definizione delle sue configurazioni viene ampiamente ripagato nel tempo con tempi di gestione e setup dei sistemi enormemente ridotti.
Insomma, con Puppet ci si può dedicare al miglioramento e l’affinamento della propria infrastruttura risparmiando il tempo speso in attività ordinarie ripetitive e noiose.

Per chi volesse provare le potenzialita’ di Puppet oggi e’ possibile scaricare una versione Free Trial direttamente dal sito del produttore [To try Puppet Enterprise for free on up to 10 nodes].
Vi verranno richieste soltanto alcune informazioni formali, prima di poter ottenere il file installabile per la versione della nostra distro (sia 32 che 64 bit).
Potrete cosi’ scaricare il pacchetto puppet-<vostra versione>.tar.gz sul vostro Puppet Server; una volta estratto il contenuto del file, ad esempio sotto /opt , per lanciare l’installazione del pacchetto vi bastera’ lanciare lo script :

cd /opt/puppet

# sudo ./puppet-enterprise-installer

L’installazione procedera’ sostanzialmente da sola, all’inizio ci verra’ soltanto chiesta la conferma (premendo Y ) per avviare il processo d’installazione e copia dei file necessari, dopodiche’ bastera’ avere un po’ di pazienza.

Altrimenti e’ possibile questa ulteriore strada (ad esempio per un sistema Ubuntu 14.x)

wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
sudo gdebi puppetlabs-release-trusty.deb 
sudo apt-get update 
sudo aptitude install puppet-common=3.7.3-1puppetlabs1 puppet=3.7.3-1puppetlabs1
sudo apt-get install puppetmaster-passenger

Nel caso in cui invece dobbiate solo fare un upgrade all’ultima versione vi bastera’ eseguire :

$ sudo apt-get update
$ sudo puppet resource package puppetmaster ensure=latest

Se poi non avete il tempo da impiegare nell’installazione, ma non volete perdere l’occasione di testare un prodotto cosi interessante potete anche scaricare una VM gia pronta al seguente link puppetlabs_VM

Configurazione

– Il puppet master
Raggiungete la macchina prescelta come puppet master che chiameremo, senza troppa fantasia, master e installate i programmi necessari:

root@master:

~# apt-get install puppetmaster

Questa operazione installerà anche le dipendenze, compreso il pacchetto per l’agent puppet.
L’installazione terminerà con uno sconfortante errore: niente paura! semplicemente il master non è ancora stato configurato a dovere e gli script di init non sono in grado di avviarlo correttamente.
Preoccupiamoci innanzitutto di permettere l’accesso ai file che verranno serviti dal nostro master, editate il file /etc/puppet/fileserver.conf e aggiungete una riga per permettere l’accesso alla sottorete 192.168.0.0/24 (per esempio).

 

Prepariamo un piccolo laboratorio con 3 macchine

Name                 IP                     OS                    Descrizione
puppet01        192.168.1.10            CentOS 6.5               puppet master
puppet02        192.168.1.20            CentOS 6.5               puppet client
puppet03        192.168.1.30            CentOS 5.10              puppet client

** configuriamo il file /etc/hosts

# vim /etc/hosts

192.168.1.10    puppet01
192.168.1.20    puppet02
192.168.1.30    puppet03

– Inseriamo queste due righe nel [main] edl file /etc/puppet/puppet.conf

certname = puppet
dns_alt_names = puppet,puppet01.localdomain

– Configuriamo il certificato
Con questo comando si creerà il certificato CA e il certificato per il puppetmaster

puppet01 # puppet master –verbose –no-daemonize

notice: Starting Puppet master version 2.7.25
(una volta apparsa la riga qui sopra potete chiudere con un Ctrl-C)

* verifichiamo: # puppet cert list –all
+ “srv-c6.localdomain” (10:BD:EB:92:CE:98:A7:37:FE:4B:D8:20:5E:C2:44:D5) (alt names: “DNS:puppet”, “DNS:puppet.localdomain”, “DNS:puppet01.localdomain”)

* riavviamo il servizio :

#  /etc/init.d/puppetmaster restart

Installazione dei client

sulle macchine puppet02 e puppet03 installare soltanto il client “puppet” nei seguenti modi :

Ubuntu/Debian : # sudo apt-get install puppet

RHEL/Centos   : # sudo yum install puppet -y

** sulle macchine client andremo a modificare il file puppet.conf indicando il nome della macchina Server, il puppetmaster

# vim /etc/puppet/puppet.conf

[agent]
server = puppet01

su puppet02 e puppet03

# puppet agent –test # si dovrebbe vedere l’agente creare una richiesta di certificato al master

ora su puppet01 eseguite

# puppet cert list –all # dovreste vedere le richieste effettuate dai client 01 e 02

La prima fase e’ cosi terminata, nel prossimo articolo vedremo come installare e configurare la Dashboard di Puppet per avere una gestione centralizzata tramite Browser