Understanding Linux

Ieri sera tardi, anche se non tardissimo, dopo l’ennesima lotta con Xen e il boot di Nexenta (la variante Solaris che ho deciso di utilizzare per ZFS), sono arrivato ad una conclusione, volendo persino banale, magari opinabile, ma che non mi pare di aver letto finora altrove.

L’episodio scatenante è stato questo: volevo utilizzare un metodo diverso per fare il boot della macchina virtuale su cui gira Nexenta (non per pura voglia di perdere tempo) utilizzando l’utility pygrub e rincuorato dal fatto che ci fosse una soluzione di backup migliore (pv-grub) a sostegno della riuscita dell’esperimento. Alla terza difficoltà, armato di bibbia, ho cercato di usare Pv-Grub ma non riuscivo a trovare “l’eseguibile” che pure è parte del pacchetto Xen standard. Ravanando su Google si scopre che siccome Debian “non compila XYZ in quanto ha dipendenze esterne” allora il pacchetto in questione manca. Ovviamente è possibile generarlo se ci si vuole avventurare nei percorsi compilativi.

Linux non è una piattaforma su cui far girare le applicazioni. Le applicazioni ci sono, non sono poche ma non sono neanche tante abbastanza per farne una piattaforma, ma questo non basta. Linux è una scatola di montaggio per piattaforme più o meno incomplete: a Debian manca questo, ad OpenSuse manca quest’altro, ecc. In Linux non esiste l’equivalente di “eseguibile” in quanto un “eseguibile” si presume abbia dipendenze binarie molto forti. Mentre in una piattaforma il contratto binario è basato su regole molto rigide, in Linux tutto è basato più o meno sui sorgenti. Chi gestisce il repository poi fa un lavoro più o meno buono di impacchettamento di sorgenti in bit ridistribuibili ma la varietà di scelta è tale che il lavoro dell’impacchettatore tende ad essere sempre sotto la sufficienza. Ad esempio nei vari kernel aggiornati di Ubuntu non è attivo il flag “CONFIG_XEN_PCIDEV_BACKEND=m” che non ha nessun effetto collaterale aggiuntivo (tolto qualche piccolo KB di occupazione di memoria) ma che porta a richiedere una ricompilazione ad hoc per chi come me ne ha bisogno.

È ovviamente possibile generare ottime piattaforme usando Linux come è il caso di Android (parlo ovviamente della piattaforma, non di tutto il resto che può avere qualità opinabili). Però nell’accezione generale d’uso la cosa è molto meno che ottimale in quanto un protocollo basato su codice sorgente è molto meno efficace di un protocollo binario: per lo meno è necessario un passo in più e purtroppo la compilazione è un processo meno deterministico di quanto si possa pensare.

-quack

Pubblicato lunedì 21 novembre 2011 alle 6:55 PM - 54 commenti so far
Archiviato in: Linux

Dio Xen

Per non essere blasfemo, userò la parola dio con la minuscola, intesa come divinità generica.

Cos’hanno in comune dio e Xen?

  • entrambe sono entità astratte, non si possono toccare, comprare o scaricare
  • non si può provare che esistano, l’esistenza è un dogma
  • la loro opera è descritta molto vagamente nelle scritture (nel caso di Xen in forma di Wikipedia)
  • la loro opera si manifesta in miracoli chiaramente non riproducibili (es.: VGA passthrough di Xen)
  • i loro profeti tendono ad apparire e scomparire in aloni di mistero (chi sarà mai il “cittadino di Singapore signor Teo En Ming”?)

Sinceramente un’entità software più sfuggente di Xen 4.1 non l’ho mai vista. Pare che dovesse apparire in Fedora 15 ma la venuta è stata rimandata a Fedora 16 (in alpha). Le uniche poche distro che sembrano includere (chissà quale versione) sono Qubes, RedHat e Suse. Le uniche guide step-by-step sono troppo dettagliate e includono sempre una

C’è qualche ‘sacerdote’ in ascolto che mi possa guidare al miracolo non riproducibile di cui sopra?

-quack

Pubblicato martedì 20 settembre 2011 alle 7:10 PM - 10 commenti so far
Archiviato in: Linux

Unix permissions vs. ACLs

La nuova implementazione del server è in dirittura di arrivo, mentre scelgo l’OS su cui installare i dati in formato ZFS. Sto provando FreeNAS 8 RC5 che mi piace abbastanza e mi son imbattuto con un problema alquanto classico.

Ci sono quattro utenti: Tizio, Caio, Sempronio e Ugo. L’obiettivo è di dare accesso totale a Tizio e Caio, in lettura a Sempronio e nessun accesso a Ugo (che ha accesso ad altri file). Di solito quando si confronta l’implementazione delle policy di accesso viene spesso fuori il luogo comune che le ACL sono più flessibili del necessario, che possono introdurre bachi se usate male, ecc. mentre i permessi Unix sono semplici e difficili da sbagliare.

Nel mio caso però non sono riuscito a trovare una soluzione soddisfacente al problema. Sono troppo Windows Oriented o le policy di accesso Unix tradizionali sono così limitate? Attendo illuminazione…

Pubblicato lunedì 25 aprile 2011 alle 7:14 PM - 28 commenti so far
Archiviato in: Windows, Linux

Open Source Economy

In questi giorni infuria una polemica interessante: Banshee è un player musicale che permette di comprare canzoni in MP3 dallo store di Amazon. Grazie al sistema dei referral, ovvero la gente compra una canzone via Banshee e a Banshee/Gnome/chi per lui viene corrisposta una percentuale della transazione, è possibile far cassa anche con un prodotto distribuito gratuitamente (non è una novità) e open-source/GPL. Quelli di Ubuntu, che non fanno che prendere codice in giro, compilarlo, impacchettarlo e tante altre belle cose, hanno pensato che – rispettando tutti i vincoli legali che accompagnano la licenza – di cambiare il codice di Banshee quanto basta per dirottare gli introiti verso Canonical che tra l’altro incassa percentuali anche tramite il music store UbuntuOne. Per Banshee/Gnome viene riconosciuto un gettone pari al 25%.

nickelanddime[1]

(fonte)

Andando al sodo: tutto questo è perfettamente lecito anche se non molto eticamente corretto. La domanda da un milione di dollari è: tutto ciò è anche ampiamente prevedibile, perché tanto “clamore”? Ci si aspettava davvero qualcosa di diverso? Un’azienda che mercanteggia in Open Source è tenuta a rispettare standard etici più elevati della concorrenza?

La mia curiosità è sincera, spero che si intavoli una serena discussione senza derive trollesche.

-quack

Pubblicato mercoledì 2 marzo 2011 alle 7:13 PM - 28 commenti so far
Archiviato in: Linux

Decalogo per l’aspirante acaro blogger moderno
  1. Scegliere un nome appropriato e nazional popolare; la regex per i più pigri
    .*(Ubuntu|Linux|LUG)(project|freedom|inside|discovery|per tutti).*
  2. Scegliere un host pubblico (wordpress/blogspot/altervista/netsons)
  3. Cercare un tema attapirante e aggiungerci il solito pinguino da qualche parte
  4. Tradurre in italiano alcune delle innumerevoli guide ormai obsolete disponibili in rete su come aggiornare la versione 2.4.3 del pacchetto XYZ e renderla compatibile con il pacchetto ZYX in versione 4.3.2
  5. Scegliere un bel motto. Esempi:
    Con Linux nulla è impossibile, è solo stramaledettamente più complicato
    Trucchi per tutti i turchi, chicche per Chicca e guide per Guido e Guida
    Viva la libbbertà abbasso la gnocca
  6. Sperare di scalare qualche classifica come quella di wikio o di BlogBabel
  7. Celebrare il raggiungimento dell’ambizioso traguardo con un post celebrante auto-celebrativo di celebrazione per la nuova entrata nella top XX copiando ed incollando l’intera classifica così com’è ivi inclusi i link a blog che non c’entrano una pippa h4ckers
  8. Ricelebrare il nuovo traguardo con un altro post celebrante auto-celebrativo di celebrazione per aver raggiunto le lontane vette della top YY con YY << XX ovviamente ricopiando ed re-incollando l’intera classifica così com’è ivi inclusi i link a blog che non c’entrano una pippa
  9. Stampare e incorniciare una copia cartacea della classifica fotografante il momento di gloria
  10. Ringraziare amici e parenti per la loro partecipazione

-quack

Pubblicato mercoledì 3 febbraio 2010 alle 11:11 PM - 66 commenti so far
Archiviato in: Cazzate, Linux