Linux Different #5: GoboLinux

Tempo fa quando diedi inizio ai post della serie Linux Different parlai della necessità (è un mio personalissimo parere naturalmente) di rivedere il file system adottato dalle distribuzioni GNU/Linux (LFHS).

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.

Tralasciando le considerazioni personali vorrei parlavi di Gobolinux

prendo dalla sua home page la definizione:

GoboLinux is an alternative Linux distribution which redefines the entire filesystem hierarchy.
In GoboLinux you don’t need a package manager because the filesystem is the package manager: each program resides in its own directory, such as /Programs/Xorg/7.1/ and /Programs/KDE-Libs/3.5.3. Like it?

Gobolinux è una distribuzione GNU/Linux creata from scratch (non si basa quindi su nessuna distribuzione esistente) e presenta un file system di questo tipo

/

Programs

Users

System

Files

Mount

Depot

in Programs troviamo tutti i programmi installati nel sistema organizzati in cartelle (ogni programma una cartella) a loro volta divise in sottocartelle con un organizzazione per versione, ad esempio:

/Programs/Firefox]

2.0

1.5

così facendo è possibile avere due versioni dello stesso applicativo nella stessa installazione, procediamo e troviamo Users dove sono rpesenti tutti gli utenti del sistema, in System i file di sistema, in Files troviamo quei file(s) di sistema che non sono di fondamentale utilizzo come plug-in font aggiuntivi ecc.. in Mount troviamo come di consueto le directory per il mounting dei dispositivi e per concludere in Depot i file degli utenti.

Questo modo di organizzare i file è reso possibile da una serie di link simbolici, l’ideatore della distribuzione ha realizzatom un modulo del kernel per rendere invisibile tale serie di link durante l’utilizzo del file system ma allo stesso tempo rende la distribuzione compatibile con il mondo *nix.

Per l’installazione dei pacchetti Gobolinux utilizza l’InstallPackage script che si occupa di decomprimere i pacchetti in /Programs e di creare i symlinks opportuni in /Systems/Links e /Systems/Settings, la gestione delle dipendenze si realizza attraverso lo script Dependencies che scannerizza tutti i programmi e verifica la dipendenza tra i programmi attraverso link dinamici.

Soffermiamoci ora un pò sulla rimozione dei programmi, essa potrebbe avvenire attraverso il classico rm -rf è però sconsigliato e potrebbe anche non funzionare a causa dell’organizzaizone dei link. Gli sviluppatori di Gobolinux hanno realizzato lo script DisableProgram ed il particolare SymlinkProgram che permette tra le altre cose di ripristinare un programma rimosso. Sempre a proposito del symlink vi è l’opportunità di rimuovere i broken link attraverso RemoveBroken. Per approfondire la questione packages potete consulatere il wiki.

Siamo alla fine di questo breve tour su Gobolinux io personalmente sono contento di questo progetto, magari per qualcuno sembrerà una bestemmia ma questa è la strada che vorrei intraprendessero tutte le distribuzioni, quantomeno il settore desktop.

Alla prossima

Linux Different #4: Tracker, Spotlight per Linux

Da quando ho provato Spotlight ho provato a trovare qualcosa il più simile possibile per GNU/Linux, ad oggi sicuramente il più utilizzato è Beagle che non ho mai amato troppo causa la sua pesantezza (vedi utilizzo di Mono) e all’integrazione in GNOME che per causa mia o per causa del progetto (non ci ho mai voluto perdere più di tanto la testa) non ho mai trovato.

Seguendo l’ottimo blog di felipe tempo fa lessi di Tracker, dopo una lettura poco approfondita mi fu subito chiaro che con una buona integrazione nei DE ed una richiesta di risorse giusta per le sue operazioni sarebbe stato un gran bel prodotto, non avrebbe avuto nulla da invidiare a Spotlight di Mac OSX Tiger e si sarebbe dimostrato ben superiopre a Beagle.

Oggi Tracker è abbastanza maturo per essere utilizzato, io l’ho provato con Ubuntu Dapper seguendo i semplici passi della guida presente sul wiki ufficiale. Sono veramente contento di averlo provato è fantastico, leggerissimo (mi occupava solo 6 mega mentre indicizzava due dischi di grandi dimensioni pieni di roba) e perfettamente integrato in Nautilus ed in generale in GNOME.

Sembra che l’ideatore sia in contatto con il Team di GNOME per far integrare Tracker nella prossima release, la 2.18 io personalmente me lo auguro.

Beryl e riflessioni sui fork

Seguo oramai con curiosità le vicende che riguardano Beryl e Compiz ed inevitabilmente delle riflessioni sono nate.

Mi chiedo, siamo sicuri di aver compreso per bene il mondo *nix? La prima cosa che ho compreso, quando 10 anni fa mi avvicinai a questo mondo è stata che l’abbondanza e la libertà di scelta sono tra le colonne portanti di questo mondo. Il modo di dire “tutte le strade portano a Roma” è perfettamente adattabile al mondo *nix, ad esempio per ascoltare gli mp3 abbiamo tanti buoni programmi, più o meno performanti, più o meno digeribili, ognuno di questi ha dei punti di forza, poi per un motivo ne scegliamo uno e lo utilizziamo. Nulla ci vieta di tornare indietro, di seguire le evoluzioni ecc. non dobbiamo però neanche sognare di criticare questo o quel progetto, dovremmo solo esprimere impressioni, meglio se costruttive e pacate; ciò che sta accadendo nella vicenda Compiz Beryl è secondo me di cattivo gusto.

Non dovrebbe quindi stupirci la nascira di un progetto, di un fork o altro. Il fork è permesso, non è illegale non è scorretto, nessuno ci obbliga ad usarlo, nessuno ci vieta di provarlo. Capisco che magari può dar fastidio ma dovremmo ricordarcelo quando scegliamo la licenza con cui rilasciare il nostro software.
Per il caso in questione ho avuto modo di provare anche Beryl e tutta questa differenza non l’ho vista, le prestazioni sono quasi allineate, non capisco le polemiche su come procedono lo sviluppo e sugli effetti, oramai è un progetto a se e dovremmo essere contenti di avere un alternativa (p.s: sto cercando ancora l’utilità di tutto questo…).

Le polemiche in seno alle comunità open source non fanno che male e la gente non smette mai di dimenticarlo, ciò che mi fa ben sperare è che dopo le guerre qualcuno con un minimo di cervello emerge e vengono alla luce progetti come Portland.

Linux Different #3: XGL, AiGLX, Compiz, Beryl… il mio parere

Da poco meno di un anno con l’avvento degli effetti grafici 3D e non nei desktop enviroment la comunità open source è letteralmente impazzita. Io personalmente non mi sarei mai aspettato di vedere una comunità intera, composta (secondo me) per un buon 70% da “puristi”, interessarsi così tanto a novità di questo tipo. Chi è il vip per il quale si sta perdendo la testa? Il vip è XGL (X over OpenGL) un server X prodotto da Novell, progettato utilizzando la libreria grafica OpenGL per girare sopra Xorg utilizzando l’accelerazione grafica 3d delle schede video.

Più o meno nello stesso periodo fu annunciato anche AiGLX, questa volta è Red Hat che lo realizza, permette di avere tutti gli effetti di XGL ma in maniera diversa, non è un server grafico che si sostituisce a Xorg, questa volta è un modulo aggiuntivo di xorg, molto più leggero e stabile che però richiede che i driver supportino le GLX_EXT_texture_from_pixmap.

Arriviamo a ciò che ultimamente infiamma gli animi di molti tra svilupatori e utilizzatori, Compiz e Beryl. Cosa sono? Compiz è un windows manager ed un composite manager che permette di utilizzare vari effetti visivi e leloro combinazioninelle finestre ed in genere in tutto il desktop. Beryl è il fork di Compiz o meglio il nome scelto per quello che fu il ramo di sviluppo di compiz, il compiz-quinnstorm il quale ha sempre avuto un codice sempre abbastanza diverso dall’originale al punto da non poter più effettuare un merge tra i due rami ed intraprendere una propria strada.

Dopo questa breve presentazione vi rimando alla rete (o meglio a google) per approfondire non solo l’argomento ma anche la diatriba in atto tra i vari Compiz e Beryl users, io cercherò solo di esporvi il mio parere.

Trovo che tutto ciò sia sostanzialmente inutile, tutti gli effetti sono si belli da vedere, magari sfiziosi ma di scarsissima utilità. Molti spudoratamente copiati da Mac OSX senza porsi il problema del perchè esistonoin quel sistema, un esempio? L’effetto Exposè di Apple ha senso in OSX perchè le finestre non si massimizzano e si tende a riempireil desktop di tante applicazioni le quali occupano man mano con i loro menù la barra superiore del sistema operativo. Ancora un sempio di effetto secondo me inutile, rain:

eelle gocce che ti occupano lo schermo che utilità hanno?Potrei continuare elencando i tantissimi effetti disponibili, tutti belli non ho difficoltà ad ammetterlo ma inutili.

Per arrivare poi ad effetti come quelli non posso fare a meno di notare quanto costa in termini di risorse utilizzarli.Usare XGL+Compiz è secondo me troppo oneroso, nulla di paragonabile allo scempio di Windows Vista con il suo Aero ma neanche ad OSX (che ribadisco secondo me volevano copiare). In OSX gli effetti che XGL ci propone ora sono oramai di uso comune da tantissimo tempo, trasparenze, effetti traslucidi, minimizzazioni e massimizzazioni di finestre con effetti, exposè e compagnia bella funzionano da tempo con ottime prestazioni (dovute all’ottima struttura dell’intero sistema) con risorse limitate (per intenderci un buon G3 o comunque un G4 con una scheda video di 32 Mb di RAM li regge tranquillamente, provate XGL con la stessa macchina…).

Questo è dunque il mio parere, io farei volentieri a meno di tutto questo, avrei preferito che tutte quelle menti impegnate ai vari XGL, AiGLX, Compiz e Beryl si fossero impegnate in altro. Seguirò i prossimi sviluppi curioso di vedere come andrà a finire ma sono sempre più sconcertato da ciò che sta accadendo nel mondo Open Source, le liti interne del progetto debian, la polemica di Mozilla per Firefox nelle distribuzioni linux, Torvalds & Stallman per la GPL3, il Trust Computing che sta pian piano entrando nelle nostre case, non stiamo certo diventando migliori da coloro che popolavano il mondo da cui fuggivamo…

Linux Different #2: gli init di nuova generazione

Le distribuzioni linux in questo periodo sembrano convergere non solo nell’inserimento degli effetti 3D XGL ed AiGLX, per fortuna si sono resi conto che vi è un punto ben più importante sul quale lavorare, init. Chi è init? Init è il primo demone avviato dal kernel a livello utente, gestisce diversi compiti, come completare il processo di boot (avviando altri demoni), esegue diversi compiti di amministrazione (controllo dei filesystem, la pulizia di /tmp, avvio di una getty per ogni terminale e console virtuale) e tanti altri compiti. Init è dunque essenziale nei sistemi *nix, fino ad oggi il più utilizzato è il demone sysvinit basato sull’init del SystemV.

Sysvinit non è esente da inconvenienti, il più grande è sicuramente la velocità così a partire dal team di Ubuntu linux si stanno sperimentando nuove strade, la prossima release di Ubuntu (Edgy Eft) utilizzerà il promettente upstart che ricorda nella sua logica di funzionamento lunched di Apple.

Vi segnalo anche un interessante panoramica sull’argomento realizzata dal team di Fedora, appena possibile cercherò di approfondire l’argomento, sonom poi vicine al rilascio Ubuntu Edgy Eft e Fedora Core6 potrò quindi provare presto sul campo le nuove soluzioni adottate.

come sempre alla prossima…

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.

Continua a leggere