mercoledì 25 settembre 2013

Nel Regno di Linux: la Top Ten degli articoli più letti nel mese di Agosto 2013.

1.- Come installare e configurare SLIM, login manager semplice e leggero in ArchLinux (2a parte).
Slim01SLiM è l'acronimo di Simple Login Manager (semplice gestore di login).
SLiM è un login manager semplice, leggero e facilmente configurabile, adatto per essere usato su piattaforme con poche risorse.
SLiM è molto utile anche a chi vuole un login manager che non dipenda da GNOME o KDE, ed è perfetto per chi usa Xfce, Openbox, Fluxbox ecc.
Temi.
Installare il pacchetto slim-themes:
# pacman -S slim-themes archlinux-themes-slim
Il pacchetto archlinux-themes-slim contiene numerosi temi (slimthemes.png). I temi saranno estratti in /usr/share/slim/themes. Modificare la linea current_theme in /etc/slim.conf :
#current_theme       default
current_theme       archlinux-simplyblack2.- 


2.- Tre diverse soluzioni per ripristinare il Grub.

Questa guida contiene tre diverse soluzioni per ripristinare GRUB a causa di:
  • Sistemi in dual-boot in cui Windows è stato installato dopo Ubuntu.
  • Problemi di Windows che hanno obbligato a una sua reinstallazione.
  • Tecniche di recupero di Windows che comportino il "ripristino" del MBR.
  • Errori nell'installazione di GRUB.
Tutti e tre i metodi qui descritti richiedono l'utilizzo del CD Live.
Primo metodo
Il primo metodo è una procedura molto semplice e prevede l'utilizzo del terminale. Questa procedura dovrebbe funzionare a patto che la struttura delle partizioni del disco contenente GRUB non sia stata modificata tramite programmi come gparted, Norton Partition Magic: in tal caso è necessario controllare il file /etc/fstab.

3.- Lubit Linux una nuova distribuzione tutta italiana basata su Ubuntu con l’estrema leggerezza di OpenBox.
    Il panorama Linux è bello perché è vario,  cè sempre la possibilità della scelta, ognuno può crearsi la propria distribuzione o il proprio software personalizzato grazie alla licenza GPL.Questo è l’esempio del progetto Lubit, nato da alcuni sviluppatori italiani che hanno creato un fork di Ubuntu 13.04 dedicato ai PC datati. Lubit Linux è stata spogliata di tutto il superfluo presente su Ubuntu ed è stata equipaggiata con il solo window manager Openbox famoso per la sua estrema leggerezza.  Ovviamente gli sviluppatori hanno fatto qualche aggiunta come la barra di sistema tint2 e alcune patch per migliorare l’estetica generale del sistema senza però dimenticare la sua vocazione di distribuzione dedicata ad hardware datato.

    4.- Debian Jr. Project mira a rendere Debian un sistema operativo che i bambini di tutte le età vorranno usare.
    debian jrIl progetto mira ad aiutare i bambini, e coloro che se ne prendono cura, ad ottenere il massimo in termini di utilità e divertimento dai propri sistemi Debian; ad aiutarli ad acquisire alcune delle capacità ed esperienze che hanno gli adulti e a passare a loro i nostri valori: il nostro amore per la libertà, il nostro apprezzamento per il software che funziona bene e il nostro forte senso di comunità. Ciò significa che il progetto non mira a diminuire o limitare Debian in modo da "addomesticarla" per i piccoli, ma a dare a loro il meglio di ciò che Debian ha da offrire in modo che possano crescere fino al punto di non aver più bisogno del nostro aiuto.

    5.- Guida all'installazione di Debian: cosa è Debian?
    Debian_one.pngDebian è un'organizzazione di volontari dedita allo sviluppo di software libero e alla promozione degli ideali della comunità del Free Software.
    Il progetto Debian è iniziato nel 1993, quando Ian Murdock pubblicò un invito agli sviluppatori di software a contribuire a una distribuzione completa e coerente basata sul relativamente nuovo kernel Linux.
    Quella banda relativamente piccola di entusiasti specializzati, originariamente finanziata dalla Free Software Foundation e influenzata dalla filosofia GNU, è cresciuta negli anni in una organizzazione di circa 951 sviluppatori Debian. Gli sviluppatori Debian sono coinvolti in una varietà di attività inclusa l'amministrazione dei siti Web e FTP, il disegno grafico, l'analisi legale delle licenze software, la stesura della documentazione e, ovviamente, la manutenzione dei pacchetti software.

    6.- Statistiche Distrowatch: Ubuntu sprofonda ancora, ormai divario incolmabile, sorpresa Mageia.


    Già da qualche tempo (in realtà ben più che “qualche”, dato che l’orizzonte temporale si è dilatato ormai ad un anno), la popolarità della distribuzione made in Canonical, relativamente all’attenzione che la stessa accentra su di sé sul celebre portale Distrowatch, risulta a pendenza negativa.Nessuna sorpresa, il sorpasso di Ubuntu da parte di Linux Mint è cosa nota. Decisamente inaspettato risulta invece quello di Mageia, il fork di Mandriva, anch’essa in sorpasso, appunto, sulla distribuzione nordafricana.

    7.- Duplicazione a caldo di un sistema Linux: duplicare l'hard disk di un PC o un server.

    Non so se sia molto frequente, ma penso che almeno una volta nella vita lavorativa di ogni sistemista, sia capitato di dover duplicare l'hard disk di un PC o un server.
    Tale necessità può nascere, per esempio, dal bisogno di creare un backup di un sistema prima di aggiornarlo; oppure per avere un clone di un sistema funzionante da tenere come scorta; oppure avere una copia su cui eseguire delle manutenzioni senza interrompere un servizio. Per far fronte a queste esigenze sono disponibili molti programmi commerciali piú o meno noti, ma anche l'open source offre delle soluzioni in tale senso: dallo spartano comando dd a distribuzioni 'live' dedicate a questo scopo. Nessuno di questi strumenti sembra, a quanto mi è dato di sapere, essere pensato per eseguire la duplicazione "a caldo" di un sistema mentre sta funzionando. Quest'ultimo è proprio il caso che mi è capitato: la necessità era quella di aumentare lo spazio disco di un server FTP pubblico.

    8.- Pinguy OS: Ubuntu ancora più semplice, un aspetto grafico più ricercato e una maggiore usabilità.
    Se avete installato il sistema operativo Ubuntu e venite da Windows, vi sarete senz’altro accorti di come manchino diverse funzionalità che nel sistema proprietario Microsoft sono incluse nell’installazione di base.
    Infatti, nel SO di Ubuntu, l’utente deve provvedere manualmente ad installare tutti i plugin di cui non si può fare assolutamente a meno, come ad esempio il codec di lettura per file mp3 e il plug-in di compressione/decompressione di archivi compressi RAR.

    9.- Zentyal (ex-eBox Platform) è un framework web utilizzato per la gestione della configurazione delle applicazioni web.

    Zentyal (ex-eBox Platform) è un framework web utilizzato per la gestione della configurazione delle applicazioni web.
    L'implementazione modulare consente di scegliere quali servizi configurare attraverso l'uso di eBox.
    Zentyal è un sistema operativo open source server based di facile gestione con un rapporto prestazioni costo davvero imbattibile. Zentyal è basato sulla piattaforma Ubuntu Linux, ha alle spalle un team di sviluppo rapido e affidabile.

    10.- Bellissimi sfondi di altissima qualità per Ubuntu.

    A spasso per il web ho trovato (usando Altavista e non Google, a proposito lo trovo molto meno "manipolato" a Altavista, non mi piace proprio la piega che sta prendendo il motore di ricerca di Mountain View, sempre trovi in primo piano le cose che a loro interessa mostrare) questi bellissimi sfondi di altissima qualità per Ubuntu.
    Per continuare con il commento anteriore il sito da dove ho presso questi sfondi è un sito lituano, specificamente Ubuntu Lituania. Non lo trovi mica facilmente usando Google. In Altavista lo trovi subido ai primi posti come deve essere. Negli altri caso sono reperibili sono le librerie, cioè il file Index of.....
    Fatevi una ragione. PPeccato perchè graficamente sono molto belli e chi si è preso la briga di lavorare gratuitamente e bene come tanti per Ubuntu si merita almeno di essere (ri)conosciuto.

    Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

    lunedì 16 settembre 2013

    7 applicazioni per esaminare il carico di un server Linux.

    Tenere sotto controllo il livello di occupazione del processore, della memoria e dei dischi è un pratica che in alcuni casi può evitare situazioni di emergenza.

     

    I comandi che seguono possono aiutare a controllare questi valori diretamente da terminale, in modo da prevenire e risolvere eventuali problemi di performance.

     

    • htop.
      htop possiamo considerarlo un evoluzione del famoso top (ed è per questo che top non è in questa lista ). Oltre a presentare le informazioni utilizzando i colori, permette lo scroll della lista verticalmente ed orizzontalmente in modo da poter leggere l’elenco di tutti i processi e la relativo comando con il quale vengono lanciati.

      htop - interctive process viewer

    • tload.
      tload è in grado di generare un grafico del carico medio di sistema dentro la finestra del terminale. Con l’opzione -d è possibile impostare il tempo di aggirnamento

      tload - grapic representation of system load average

    • sar.
      sar scrive sullo standard output dei contatori di attività. Anche con questo comando è possibile definire l’intervallo di visualizzazione indicando anche il numero di interazioni. ( per chi utilizza debian potrebbe essere utile sapere che il comando fa parte del pacchetto sysstat )

      # sar -u 3 5

      con questa sintassi l’aggiornamento verrà effettuato ogni 3 secondi per un totale di 5 volte.

      sar - collect, report, or save system activity infomation

    • mpstat.
    • mpstats riporta le statistiche relative al processore con il dettaglio delle istruzioni al secondo gestite dalla CPU. Su sistemi multiprocessori, è in grado di visualizzare le infomazioni separatamente, rendendo possibile il controllo individuale di ogni CPU.

      # mpstat 3 5

      come per il comando sar questa sintassi ( senza il parametro -u ) visualizza per ogni 3 secondi e per un totale di 5 volte e il suo output a terminale

      mpstat - report processor related statistic

    • iostat.
      iostat restituisce due tipo di report: il primo e relativo all’utilizzo della CPU, mentre il secondo è relativo alle statistiche di I/O di ogni disco attivo nel sistema.

      iostat - Report Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.

    • vmstat.
      vmstat riporta informazioni sui processi, sulla memoria, sulla paginazione, sui block IO, i trap e l’attività della CPU.

      vmstat - Report virtual memory statistics

    • dstat.
      dstat è un versatile strumento ideale per rimpiazzare vmstat, iostat, netstat, nfsstat ed ifstat. Dstat supera alcune delle loro limitazioni ed aggiunge alcune caratteristiche supplementari, dstat permette di vedere tutte le risorse di sistema istantaneamente.

      dtstat. versatile tool for generating system resource statistic

    Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

    giovedì 12 settembre 2013

    3 Librerie Javascript/JQquery da conoscere.

    Chi si avvicina al mondo della programmazione avrà sicuramente sentito parlare delle "librerie".

     

    Nel gergo della programmazione la libreria è un insieme di funzioni da utilizzare ogni volta che ne facciamo richiamo.


    Nella programmazione Javascript la libreria esterna è un semplice foglio con estensione .js che contiene i listati di codice che formano le funzioni.


    Il file può essere scritto con qualsiasi programma, anche con il semplice "blocco notes", è in ogni caso necessario salvarlo con l'estensione appropriata (.js)

     

    jquery-visual

     

    jQuery.

    Jquery è per così dire la madre di tutte le librerie Javascript. E’ un componente indispensabile e fondamentale, al punto che molti ormai confondono lo stesso Javascript con Jquery.

     

    La librerie contiene numerose funzionalità: manipolazione e selezioni di elementi del Document Object Model (DOM), gestione degli eventi, effetti di movimento e transizione, funzioni di utilità e molto altro.

     

    Chiunque voglia intraprendere la professione dello sviluppo web sarà in qualche modo obbligato ad utilizzare questa libreria, e difficilmente riuscirà a rinunciarci. Le librerie che seguono sono di fatto dei plugin di jquery che ne estendono le potenzialità e ne arricchiscono le funzionalità.

     

    Underscore.js

    underscorejs

    Underscore.js contiene oltre 80 funzioni per la manipolazione di Array, Oggetti e Collezioni che ci consentono di risparmiare moltissime righe di codice per eseguire delle operazioni noiose e ripetitive.

     

    Molte di queste funzioni mancano nei principali Framework con  Prototype.js e jQuery che con solo 5kb (della versione Minified di Underscore.js) da oggi non mancheranno più quando saremo alle prese con lo sviluppo  di funzionalità avanzate o di applicazioni in javascript.

     

    Le funzioni di questa libreria sono veramente tantissime e sono utilizzate anche da aziende molto importanti, ecco un elenco con le funzioni più rilevanti di underscore:

     

    Backbone.js

    BackBoneEvents01

    Backbone.js nasce come libreria di sviluppo per DocumentCloud, un servizio di condivisione e analisi di documenti, e viene rilasciata come progetto standalone verso la fine del 2010.

    Fin da subito gli obiettivi principali di Jeremy Ashkenas, lo sviluppatore principale e, fra le altre cose, creatore di CoffeeScript, sono di realizzare una libreria minimale in grado di fornire degli strumenti di base per organizzare le proprie applicazioni e di poterla usare sia in ambiente browser che server (principalmente con Node.js).

     

    Per la sua architettura, Backbone.js rientra nella categoria delle librerie MV*, in quanto implementa Model e View, ma non ha un componente Controller tradizionale, delegandone i compiti alle View e ad un componente di routing. Questo approccio è abbastanza diffuso in ambito JavaScript, dove la diversa e più complessa gestione dell’interazione utente e dello stato dell’applicazione non si adattano bene ai compiti di un controller.

     

    Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog:

    mercoledì 11 settembre 2013

    CloudFlare rappresenta la nuova generazione di CDN: facile da installare, più abbordabili, e offre prestazioni migliori.

    Argomento un po’ complesso per cui preferisco partire con la definizione di CDN:

    Le Content Delivery Network (CDN, Rete per la consegna di contenuti) … sono un sistema di computer collegati in rete attraverso Internet che collaborano in maniera trasparente, sotto forma di sistema distribuito, per distribuire contenuti agli utenti finali.

    L’obiettivo di una CDN è di instradare una richiesta di contenuto sul nodo che viene individuato come ottimale. Se ottimizzate per le prestazioni, il nodo ottimale è quello che può soddisfare la richiesta nel minor tempo possibile: si può determinare per esempio scegliendo quello geograficamente o topograficamente (nel contesto di rete, minor numero di hops o minor ping) più vicino alla locazione del richiedente, oppure quello con un minor carico di lavoro (in inglese, load average).

    cloudflare

    Detto in modo più concreto si tratta di un sistema per ottimizzare e risparmiare carico server facendo in modo che alcuni contenuti (es. le immagini e/o i file statici come js e css) vengano erogati da server differenti ottimizzando la distribuzione a livello geografico in modo che sia il server più vicino a noi ad occuparsi del trasferimento.

     

    Mi sono chiesto più volte in quale modo la nostra infrastuttura potesse beneficiare di questo tecnologia ma guardando le specifiche di Akamai e/o Amazon (che sono forse tra le più importanti realtà in questo settore) mi sono reso conto che i prezzi per la gestione di piccoli siti sono abbastanza proibitivi.

     

    Poi, come sempre succede in queste cose, “la figlia del contadino” mi ha parlato di CloudFlare e del suo piano gratuito.

     

    Ho deciso quindi di provare l’integrazione su questa pagine limitando però l’uso alle immagini e ai file javascript e css.


    Questo, in breve, quello che ho fatto.

     

    1. Comprato un nuovo dominio “mavidacdn.in” su whois.com (in offerti in questi giorni a 3.88 dollari).
    2. Ho girato i name server sui server di Cloudflare.
    3. Impostato un nuovo sottominio static.mavidacdn.in in modo che punti sul mio ip
    4. Configurato Apache per indirizzare correttamente. (sia maurizio.mavida.com che static puntano adesso allo stesso sito)
    5. Scritto un microplugin per fare in modo che l’indirizzo delle immagini pubblicare su queste pagine punti sul sottodominio CDN.
    6. Modificato nella pagina nelle impostazioni dei media il “Percorso URL completa ai file” con il sottodominio configurato su CloudFlare (http://static.mavidacdn.in/wp-content/uploads)

    In questo modo CloudFlare oltre a fare da CDN svolge anche un lavoro come Reverse Proxy facendo cache dei contenuti. Quando viene chiesta un’immagine, o un file javascript/css CloudFlare verifica se è già nella sua cache e solo nel caso non lo sia la chiede al mio server. I benefici nel mio caso sono molto limitati in quanto il traffico generato è relativamente piccolo ma in situazioni più complesse una soluzione come questa potrebbe ridurre notevolemente il traffico.

    Questo è il risparmio di banda (e di richieste) ottenuto in 5 giorni di utilizzo:

    Adesso qualche dettaglio tecnico:
    Qui sotto potete vedere il modo in cui vado ad effettuare la sostituzione dei link alle immagini che viene usata su filtri: ‘the_content’, ‘post_thumbnail_html’ e ‘widget_text’.

    function CloudFlareImageReplace ( $content ) {
    $pattern="/(" .$this->blog_url . ")(\/wp-content\/)(.*)(png|gif|jpg)/";
    $replacement = $this->cf_cdnurl. "$2$3$4";
    return preg_replace($pattern, $replacement,$content );

    }

    Mentre questa quella per js e css che viene attiva dal filtro su “script_loader_src”.

    function CloudFlareScriptReplace ( $src ) {
    $pattern="/(" . $this->blog_url . ")(\/wp-content\/)(.*)(js|css)/";
    $replacement = $this->CloudFlareUrl . "$2$3$4";
    // remove Query Strings From Static Resources
    $src_parts = explode('?', $src);
    return preg_replace($pattern, $replacement, $src_parts[0] );
    }

    Su GitHub potete trovare il sorgente versione completa

    Se ti è piaciuto l'articolo , iscriviti al feed cliccando sull'immagine sottostante per tenerti sempre aggiornato sui nuovi contenuti del blog: