Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Klik: applicazioni in un clic

Presentazione di Klik, il sistema per eseguire con un semplice clic applicazioni su Linux
Presentazione di Klik, il sistema per eseguire con un semplice clic applicazioni su Linux
Link copiato negli appunti
  • I "pacchetti klik": creati a partire da pacchetti deb o rpm, grazie a server-side apt, e costituiti da un solo file;
  • Il client klik: script che abilitano il sistema operativo al trattamento dei pacchetti klik.
  • Il protocollo klik: che abilita il browser all'uso dell'interfaccia web del deposito di pacchetti.
  • I pacchetti binari distribuiti con il protocollo klik sono costituiti da un solo file e contenenti tutto il necessario, perfino eventuali librerie "non standard" non contenute nella distro o nel set di librerie minime definite dalla Linux Standard Base (LSB). Tecnicamente i pacchetti sono immagini cramfs compresse contenenti un mini albero di directory in cui risiede l'applicazione secondo la logica un app = un file.

    Il client klik è in realtà un semplice script che monta queste immagini cramfs nel filesystem e avvia gli eseguibili in esse contenute, come se fossero normali applicazioni installate nel nostro sistema operativo.

    Una volta installato il protocollo klik, basta visitare la pagina internet del sito di klik con la lista delle applicazioni e cliccare su quella che ci interessa per scaricarne gli "ingredienti" e generarne al volo l'immagine compressa. Con un semplice: "klik://realplayer" nel nostro browser, scaricheremo sul nostro desktop il famoso player proprietario, pronto per essere lanciato, condiviso o perfino spedito tramite email.

    Klik non è l'ennesimo installer o un sostituto per APT o RPM, come ad esempio mira ad essere Autopackage. Klik serve ad uno scopo ben preciso: con esso possiamo copiare e spostare i software dove vogliamo: nella home utente, in una penna USB, in una directory /Applicazioni e così via e continuare ad usarle indistintamente. L'autore di Klik tiene sempre a chiarire che il sistema base e le librerie sono e resteranno sempre indiscusso "affare" di strumenti potenti e ben conosciuti come APT ed RPM e che klik si limita alle singole applicazioni, come ad esempio Firefox o Skype o altri pacchetti "standalone".

    Tutto questo in sostanza è qualcosa di simile al modo di distribuire applicazioni per Mac OS, in cui si ha un unico file da trascinare nella cartella Applicazioni e nessun file distribuito per tutto il sistema, anzi nessuna "installazione" vera e propria. Rispetto a Mac OS la soluzione di klik potrebbe spingersi molto più avanti, grazie all'adozione di nuove tecnologie, quali FUSE e Plash, che potrebbero migliorarne sensibilmente il comportamento. Come? Lo vediamo nella prossima pagina.

    FUSE per montare le applicazioni klik

    FUSE è un modulo per il kernel Linux che permette di ottenere un filesystem in "user space" anziché in "kernel space". Questo progetto sta dando un forte impulso a gran parte dello sviluppo di altri progetti interessanti per GNU/Linux, come segnalato tempo fa nei risvolti che l'uso di FUSE potrà avere nell'integrazione con Tracker.

    Al momento per montare le immagini cramfs si utilizza un hack di mount, l'interfaccia di loopback e alcune modifiche ad /etc/fstab. Supportare FUSE per montare le immagini compresse comporterebbe il superamento di questa "sporcizia" e di altre limitazioni, come quella del numero massimo di sette applicazioni klik utilizzabili contemporaneamente.

    Plash per virtualizzare le chiamate di sistema

    Al momento una grossa limitazione è rappresentata dal fatto che gli eseguibili distribuiti con klik vengono creati a partire da binari precompilati deb e ottimizzati per Debian o derivate, questo significa che hanno spesso alcuni percorsi "hardcoded" all'interno dell'eseguibile. Con questo sistema potrebbe capitare che una applicazione klik distribuita con una libreria non standard inclusa nell'immagine cramfs, continui a cercarla comunque in /usr/lib. Finora si è risolto applicando patch ai binari, ma questa ovviamente non può essere considerata una pratica sana.

    Plash elimina questo problema (e anche altri) rinchiudendo l'applicazione in una sorta di "chroot" (o "jail" se preferite) senza privilegi se non quelli che noi vogliamo usare all'app e soprattutto inibendo le chiamate di sistema relative ai nomi dei file così come li conosce Linux e sostituendole con richieste da fare attraverso un apposito socket grazie ad una versione modificata delle libc. Se questo sembra troppo complicato: in parole povere Plash viene presentato come un sistema di "virtualizzazione", parola abbastanza abusata ultimamente ma che sembra fare esattamente al caso nostro!

    Se Plash verrà adottato da klik non ci sarà nessun bisogno di compiere stravolgimenti alle nostre macchine: la tecnologia funziona già adesso con kernel Linux.


    Ti consigliamo anche