sabato 24 luglio 2010

PortableLinuxApps ma ci stiamo rimbecillendo?

È ormai circa una settimana che si sente parlare, più o meno su tutti i blog dedicati a Linux, di queste PortableLinuxApps che dovrebbero rivoluzionare il modo di "installare" le applicazioni in Linux, portando tutto in modo molto simile a quanto avviene su Windows e Mac. Ovvero con un programma eseguibile che viene scaricato, reso eseguibile ed appunto eseguito.
Secondo molti la cosa dovrebbe rendere tutto più semplice e mettere a proprio agio chi decide di provare a passare a Linux.
Allora mi chiedo: ma i vecchi buoni gestori di pacchetti (apt, aptitude, yum, yast, pacman, ecc) non andavano più bene? Ma non eravamo proprio noi a sbandierare il fatto che su linux, grazie appunto a questi avanzati gestori di pacchetti, era più facile installare le applicazioni?

Così mi sono incuriosito ed ho deciso di provarle sulla mia Linux Mint a 64bit. E subito ho cercato di immaginarmi alcuni scenari di possibili utilizzatori del prodotto.

Scenario 1: l'utente alle primissime armi.
Questo è il tipico utilizzatore di pc che non ci capisce praticamente nulla, ed ha appena installato Ubuntu (ultimamente va di moda iniziare da li).
Quindi Dopo aver finito di scaricare il programmino che vuole, ci clicca sopra con il destro e lo rende eseguibile. Poi, contento, clicca con il sinistro per eseguirlo e ... non succede nulla! Indemoniato ci ri-clicca sopra per un centinaio di volte nel giro di 10 secondi imprecando in 8 lingue diverse, ma ancora nulla.
Disperato apre un cassetto della scrivania, estrae il vecchio cd di Windows ed installa quello :(

Scenario 2: l'utente di livello medio
Questo è l'utente che ha almeno sentito dire che esiste un qualcosa chiamato Terminale e conosce un paio di comandi.
Saggiamente decide di provare a fare così:

$ chmod +x ./Leafpad\ 0.8.17
$ ./Leafpad\ 0.8.17
./Firefox 1.0: error while loading shared libraries: libfuse.so.2: cannot open shared object file: No such file or directory

e si accorge che c'è un problema con la libreria libfuse.so.2, prova ad installarla con il gestore di pacchetti, ma non viene trovata. E pure lui rinuncia e ritorna al vecchio sudo aptitude install leafpad.

Scenario 3: l'utente esperto (o presunto tale)
Dopo aver tentato gli stessi passi dello scenario 2 non si arrende e decide di fare una piccola ricerca su internet. Così scopre in un forum trovato in un link piccino piccino a fondo pagina che le applicazioni funzionano solo su macchine a 32bit e quindi per la sua versione a 64bit dovrà installare le librerie a 32!
Quindi inizia con un bel $ sudo aptitude install ia32-lib ma nulla cambia. Dovrà installare manualmente una ad una le librerie che mancano!
Così inizia a cercare quelle mancanti:

$ ldd ./Leafpad\ 0.8.17
linux-gate.so.1 =>  (0xf77bc000)
libglib-2.0.so.0 => /lib32/libglib-2.0.so.0 (0xf76d2000)
libz.so.1 => /usr/lib32/libz.so.1 (0xf76bd000)
libfuse.so.2 => not found
librt.so.1 => /lib32/librt.so.1 (0xf76b3000)
libdl.so.2 => /lib32/libdl.so.2 (0xf76af000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf7696000)
libc.so.6 => /lib32/libc.so.6 (0xf753c000)
libpcre.so.3 => /lib32/libpcre.so.3 (0xf750a000)
/lib/ld-linux.so.2 (0xf77bd000)

(per fortuna solo una)
Allora installa l'apposito tool per trovare i pacchetti che contengono quella libreria

$ sudo aptitude install apt-file
$ sudo apt-file update

(il secondo comando che serve a scaricare le informazioni necessarie richiede un tempo abbastanza lungo)
E finalmente trova il pacchetto:

$ sudo apt-file search libfuse.so.2
libfuse2: /lib/libfuse.so.2
libfuse2: /lib/libfuse.so.2.8.1

Ora non rimane altro che andare su http://packages.ubuntu.com e scaricare la versione 32bit del pacchetto libfuse2. Una volta fatto bisogna scompattarlo, entrare nella cartella lib che si sarà creata e copiare le librerie nella cartella /usr/lib32 così:

$ dpkg -x libfuse2_2.8.1-1.1ubuntu2_i386.deb .
$ cd lib
$ sudo cp libfuse.so.2 libulockmgr.so.1 /usr/lib32/

E finalmente il programma funziona! Ed è decisamente più facile da installare rispetto a quell'odioso sudo aptitude install leafpad (per usare l'applicazione dell'esempio).

Va anche detto però, a discolpa di PortbleLinuxApps, che su un sistema a 32 bit l'eseguibile funziona correttamente senza problemi.

Comunque dopo tutto questo, non so voi, ma io mi tengo il mio bello aptitude, apt-get, o qualsiasi altro gestore di pacchetti!

6 commenti:

  1. Gli utenti "comuni" hanno bisogno di questa features.

    Il fatto che non funzioni subito è un altro paio di maniche va migliorata.

    Si dovrebbe pensare ad una sorta di combo con apt.
    Un unico file dove con doppio clic lancia tutti i comandi che servono per l'installazione!

    E' indispensabile utilizzare il doppio-click

    RispondiElimina
  2. Stupidaggini, è molto comodo quando si vuole provare un programma senza modificare repository o installare librerie a destra e a manca. E' solo un altro modo di procedere, basta andare avanti e basta con ste diavolo di guerre sante!

    RispondiElimina
  3. Il vantaggio di questo sistema risiede nel fatto che non si deve "installare" nulla e tutto risiede nel singolo file scaricato, che poi il sistema sia ancora da migliorare è un dato di fatto. Non voglio pensionare i package manager, per carità, ma bisogna rendersi conto che spesso anche loro hanno dei limiti come il fatto di non rilasciare in tempi brevi nuove versioni dei software, dovendo ricorrere a repository esterni alla distro oppure il ritrovarsi con decine di versione del stesso software pacchettizzate per le varie distro, un inutile spreco di tempo e spazio a mio avviso.

    RispondiElimina
  4. si ma per ora è ancora in BETA direi dai...cosa posti a fare che si sa già che su 64Bit per ora non va XD
    trollone XD
    No scherzo comunque credo sia essenziale per i nooB alle prime armi! Ovviamente bisogna dirgli di renderlo eseguibile...ma una volta fatto la prima volta lo sanno fare sempre....i noob usano anche emule ecc e non sono di certo più facili di questa cosa...
    Io direi che possono convivere benissimo con apt ecc...
    io stesso se potessi farei sti pacchettini oltre ai deb...ma non mi funziona la creazione t-t

    RispondiElimina
  5. Prima di tutto grazie per i commenti!

    Ovviamente non sono affatto d'accordo sul fatto che gli utenti comuni necessitino di questa feature, poi ognuno ha i suoi pareri.

    Non capisco poi a quale guerra santa si riferisca sekkyo.

    Mentre per Free_alucarD, è vero sono un trollone XD, però intanto ho anche spiegato come si può aggirare il fatto che non funzioni su 64bit ;)

    RispondiElimina
  6. io penso che possa tornare utile in diverse situazioni, ma che in via generale per ora i gestori sono il top per semplicità, efficienza e comodità. Uno scenario in cui tali applicazioni potrebbero tornare utili però potrebbe essere una Live Session ;) non ci hai pensato?

    RispondiElimina