Linux Different #1: Klik

Eccomi quì con il primo post di questo Blog, riprende un post dell’altro Blog intitolato in maniera provocatoria Linux Different. Questo sarà il primo di una serie in cui scriverò ciò che da tempo avevo intenzione di approfondire, ovvero si può pensare ad ua distribuzione GNU/Linux del tutto differente? Iniziamo con il come si stanno evolvendo gli attuali sistemi di pacchettizzazione e cosa di nuovo ci aspetta. La prima tappa è Klik, un giovane progetto che vedo molto bene per il futuro.

Intro

Da quando ho iniziato a seguire il mondo Mac ho sempre invidiato la semplicità di “installazione” del software su OSX, tempo fa casualmente trovai Klik qualcosa di molto simile, ispirato proprio a tele sistema.

Cos’è Klik

Come il suo sito ci suggerisce (parafrasando un pò) è la via più semplice per scaricare ed avviare il software senza installarlo. Questa definizione può andare bene per la propaganda ma sarà meglio approfondire la cosa e vederci più chiaro.

Ciò che Klik fa è qualcosa di molto simile al sistema di utilizzo degli applicativi di Apple con il suo Mac OSX (derivato da NeXT), da RiscOS, da Rox e da altri sistemi, ovvero fornisce un applicativo compresso con tuto ciò che serve allo stesso per essere eseguito, in un file immagine compresso. In questo modo dopo aver effettuato il download dell’applicativo dal sito ufficiale (al momento in cui scrivo sono disponibili 294945 applicativi) basta semplicemente avviarlo e sarà utilizzabile. Per rimuoverlo basta rimuovere l’immagine e non preoccuparsi di nient’altro.

Come funziona

Ho già anticipato che l’applicativo viene compresso con tutto ciò di cui ha bisogno in un file immagine, andiamo più a fondo utilizzando lo schema fornito dagli sviluppatori di Klik

Iniziamo il commendo di questo schema logico dicendo che possiamo utilizzare klik mediante il loro sistema di approvigionamento dei pacchetti, o mediante il download classico mediante uno dei tanti metodi esistenti (p2p, torrent, web ecc).

Per utilizzare il sistema di download dei pacchetti creato dagli sviluppatori dobbiamo installare sulla nostra distribuzione linux uno script che permetterà a Firefox di riconoscere come protocollo klik:// in questo modo per il download degli applicativi basterà digitare nell’area indirizzi di Firefox:

klik://nome_applicativo

Per poter utilizzare le immagini compresse è necessario installare le binutils e le libstdc++5 della vostra distribuzione, il tutto è spiegato in maniera chiara e con immagini qui.

Quando si utilizza il link Klik (klik://….) viene chiuestoa ll’utente il permesso per la sua esecuzione, una volta ottenuta viene girata òla richiesta al server.

Il server elabora la richiesta del client generando il “contenitore” (generates klik recipe, punto 3 della figura) del file sul server stesso; questo serve anche per contenuere informazioni aggiuntive sul software dopo il download, come i commenti dell’utente sul pacchetto e su come funziona sulla sua piattaforma il tutto in “tempo reale”. Nessun pacchetto è in realtà contenuto sui server di Klik, questi vengono presi dalle varie fonti in rete.

Generato il “contenitore” esso dirà al client cosa, da dove (nessun pacchetto è in realtà sui server klik) e come installare il software (in realtà come recapitare il software al client). Per maggiori info vi rimando al wiki.

Il formato

Il formato in cui è fornito un software è il .cmg, questo non è altro che l’immagine compressa di un file system (simile all’ISO con il quale scriviamo i nostri cd) mediante cramfs. Dopo aver scaricato il file, semplicemente cliccandoci sopra esso sarà montato attraverso un hack mount+loop+fstab in /tmp/app/# dove per # si intende il numero dim applicazione montata, dunque la prima applicazione klik sarà montata in /tmp/app/1, la seconda /tmp/app/2 e così via.

Andando a sbirciare in tale path vedremo che conterrà tutto ciò che al programma serve per funzionare, avrà in quella locazione il file system virtuale di cui ha bisogno. Esso sarà “smontabile” proprio come un normale volume logico mediante umount /tmp/app/#. Per eliminare un applicativo basta semplicemente eliminare il file .cmg.

Sviluppi futuri

Attualmente Klik è alla sua prima versione, vi sono pacchetti che non funzionano alla perfezione, il sistema in se per se è da perfezionare ma è un progetto che ha riscosso grande successo. In cantiere vi sono Klik2 e un progetto parallelo (mi è parso di capire ma non è chiarissima la cosa…) d OpenSUSE chiamato SUPER KLIK, entrambi condividono l’idea della maggiore integrazione con i DE attuali più diffusi (Gnome e KDE) e nel miglioramento dell’attuale sistema di utilizzo dello stesso. Citando alcune delle novità dei due progetti diciamo

  • un nuovo formato dell’applicazione, un .app che contenga l’icona e tutto ciò che serve all’applicativo per funzionare
  • una directory utente per gli applicativi klik, proprio come Applications in OSX
  • la sostituzione di camfs a favore di FUSE che migliorerebbe anche il mounting dell’immagine
  • firma digitale per i pacchetti downlodati
  • conformità al LSB3
  • supporto della line di comando da parte del .app

Conclusioni

Siamo arrivati alla conclusione di questa prima puntata, Klik è a mio avviso giù molto utile allo stato attuale, lo sto usando da un mesetto scarso, mi ha permesso di provare diverso software che non avrei voluto installare per diversi motivi, inoltre i programmi che non sono riuscito a far funzionare sono veramente pochi. Con una migliore integrazione nel sistema ed in generale con le modifiche che klik2 e SupeKlik promettono di portare sarà un ottimo sistema che secondo me merita di essere integrato di default nell più comuni distribuzioni GNU/Linux.

Annunci

One thought on “Linux Different #1: Klik

  1. […] I motivi sono diversi, penso che l’organizzazione attuale è efficiente e fa benisssimo il suo lavoro ma necessiti di una semplificazione, se poi aggiungiamo una gestione della applicazioni alla klik penso che il quadro sarebbe completo. […]

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...