01 Aug 2011
Negli ultimi tempi, mi è stata fatta spesso e volentieri la domanda clue del perchè uso Arch Linux: cosa rende Pacman un package manager migliore? O comunque, in cosa esso si distingue da gestori di pacchetti blasonatissimi come APT o Yum, o anche Zypper? In questo articolo che scrivo adesso, provo a fare mente locale, sia per me che per le persone che mi hanno fatto spesse volte questa domanda; in quanto AUR packager, cercherò di mantenere comunque un tono critico sulla questione e non convincervi che il vino è buono solo perchè io sono l'oste. Un grazie speciale a Zidagar che mi ha per così dire triggerato, dato che senza il suo domandone di sabato (e successivi commenti) su Linux Italia non sarei stato stimolato così intensamente a scrivere un post del genere. Allora, pronti? ;)
Semplicità prima di tutto
Pacman è un gestore di pacchetti semplice, sia come ovvio nel funzionamento e nel comportamento, che nella sintassi: è infatti molto più comodo, almeno per me, usare Pacman piuttosto che qualsiasi altro gestore di pacchetti. Appendendo infatti lettere singole alle opzioni più generali possiamo generare comandi che eseguano più di una azione, così se di solito abbiamo bisogno di più comandi o di stringhe chilometriche ed espressioni regolari lunghe un miglio, il package manager di Arch Linux ci viene incontro mettendo a nostra disposizione la possibilità di fare millemila cose con un solo, brevissimo comando.
In cosa si traduce questo? Beh, ovviamente si traduce nel fatto che possiamo usare tutte quelle ore sprecate a digitare caratteri su caratteri in qualcosa di molto più proficuo, come patchare un software o rimediare a qualche configurazione errata di sistema che sicuramente avrete dimenticato nel posto sbagliato al momento sbagliato. Quindi insomma, niente di trascendentale se uno ha le competenze, ma tutto di guadagnato.
C'è poi un discorso di funzionamento di base, che almeno a me è molto comodo: se altri gestori complicati incorrono per esempio in problemi di dipendenze e configurazioni lasciate in sospeso, grazie al fatto che la configurazione viene svolta in gran parte dall'utente e c'è molta poca dinamicità in fase di installazione, comunque una volta dato un comando di gestione dei pacchetti è veramente molto difficile se non impossibile che il package manager si pianti a metà del lavoro dicendo che c'è quel pacchetto non configurato e quell'altro in attesa di cose mistiche. Altro tempo libero dunque, che possiamo dedicare a leggere un buon libro, ad esempio L'Etica Hacker di Pekka Himanen.
Flessibilità quanto basta (cioè molto)
Sicuramente Pacman è concepito in maniera tale da risultare molto flessibile. Il suo concetto di semplicità fa si che con un comando io possa agire chirurgicamente sui pacchetti installati, rimuovendone alcuni senza compromettere il funzionamento del sistema di gestione del software, fregandomene poi di tutto ciò che è il sistema di dipendenze. Questo significa che per sostituire un pacchetto dipendenza di altri, mi basta rimuoverlo e, facendo un po' d'attenzione, inserire il mio nuovo pacchetto non dando troppo fastidio ai software in esecuzione: in questo modo avrò personalizzato il sistema senza dover scoperchiare necessariamente tutto; la magia è resa possibile dal fatto che Pacman viene distribuito insieme ad un set di script che lo completano e che sono il suo vero punto di forza.
Se infatti la gestione del software risulta semplice ed agevole, comunque la flessibilità estrema (anche se non quanto Portage ovviamente) viene raggiunta concependo Pacman non come un sistema di gestione dei pacchetti, ma come un sistema di ibridazione tra la manutenzione tradizionale dei programmi tramite il paradigma a pacchetti, e la gestione dei ports. I ports sono quella cosa che ha reso tanto famosi BSD e Gentoo: file di testo addetti a istruire un sistema di script su come compilare ed installare un determinato tarball. Assieme a Pacman abbiamo quindi makepkg che si occupa di creare pacchetti dai PKGBUILD, ossia i file testuali che noi o altri scriviamo per compilare un software senza problemi. E assieme a Pacman e makepkg, ci viene fornito l'ABS, ossia l'Arch Build System, il quale consiste di tutti i file PKGBUILD dei pacchetti presenti nei repository ufficiali.
Avete capito bene. Questo significa che se non ci sta bene come è stato compilato un pacchetto dagli sviluppatori della distro, possiamo prenderci il PKGBUILD, personalizzare tutto in base alle nostre esigenze, dai metadati di pacchetto alle flag, al processo di build, e poi darlo in pasto a makepkg che ci sputerà fuori dopo la fase di compilazione e impacchettamento, un pacchetto fatto da noi secondo le nostre esigenze. Questa modularità fa si che Pacman possa essere utilizzato in maniera assolutamente proficua anche per server, o per configurazioni particolari che magari hanno bisogno del tale software compilato in una certa maniera (flag particolari, e quant'altro).
In aggiunta a questo, è anche semplicissimo e facilissimo mantenere un repository per Pacman, soprattutto con l'ausilio di un paio di scriptini editi dalla comunità, ma di questo magari ve ne parlo un'altra volta.
Pacman sa farsi da parte
Volete il pezzo forte? Il bello di Pacman è che se non ci sta bene come funziona, possiamo sostituirlo. Ebbene si, possiamo mandarlo a quel paese allegramente e gestire il nostro software in mille altre maniere :D
Questo è possibile grazie alle libalpm, ossia le LIBraries for Arch Linux Package Management, scritte in maniera separata da Pacman, il quale è solo un wrapper di questi file: esistono package manager alternativi, come il famosissimo Clyde, che purtroppo è defunto da poco per mancanza di tempo da parte dello sviluppatore principale; tra l'altro, essendo stato io un utente di Clyde in passato, invito fortemente chi sa programmare (non io che sono, detto chiaramente, una pippa come developer) a prendere in mano il progetto. Insomma, Pacman sa fare le cose in maniera semplice, pulita, non sporca, mangia poco e disturba ancora meno, come abbiamo visto. Ma vale veramente la pena passare ad Arch Linux (e a Pacman) se si vive bene senza?
Pacman VS The Others
Non ho molte parole da spendere in questo caso. Posso dire che, sicuramente, utilizzare una distro come Arch Linux che ha un approccio radicale e assolutamente nuovo al software, è un'esperienza di vita. Se quindi siete un po' annoiati una domenica pomeriggio, anzichè sbragarvi sul divano a fare niente, prendetevi Virtualbox e mettete su una bella macchina virtuale con l'ultimo media di installazione di Arch impostato per il boot. Sicuramente, non solo vi divertirete un mondo, ma forse vi piacerà così tanto come è fatta la distribuzione, e come è fatto Pacman, da dargli una chance sulla vostra workstation.
Sicuramente il buon Pacman manca di un'interfaccia grafica adeguata; APT possiede ad esempio Synaptic, ma proprio per questo, se per fare operazioni complesse con APT abbiamo bisogno del suo blasonato frontend, grazie alla semplicità di cui sopra Pacman non ha bisogno di queste cose: dalla CLI abbiamo tutto ciò che ci serve, senza doverci complicare ulteriormente la vita.
Che la Forza sia con voi.
29 Jul 2011
Vediamo. Da un po' di settimane, ormai, è stata rilasciata questa nuova spettacolosissima versione dell'Android Market, che apporta modifiche pesanti sia all'interfaccia, come risulta sin da subito, sia, come è meno visibile, a tutta una serie di algoritmi sottostanti per il download e la gestione delle applicazioni. Avendo usato un po' tutta questa robaccia sin da subito, dato che da buon curiosone ho immediatamente sostituito il "vecchio" Market con l'ultimo, posso dire di essermi fatto un'opinione su questa release e sul suo primo update, ovviamente correttivo di alcune delle lacune che andrò a descrivere.
La nuova interfaccia
Tutto ciò ha portato una polemica molto grande. La nuova interfaccia dell'Android Market infatti si palesa con una nuova schermata per le app "pubblicizzate" che a molti ha ricordato, per via sul suo stile un po' a blocchi, Windows Phone 7. In realtà dopo due minuti di uso approfondito ci si accorge che lo stile grafico forse un po' Metro-style (got the point) viene abbandonato nelle altre tab, le quali godono di un design pulito, funzionale, e introducono delle belle cosette fondamentali di cui sentivamo molto la mancanza, come tutte quelle fantastiche sciccherie fattibili attraverso il sistema di rating e che Google ha tardato ad implementare per mancanza di tempo, mancanza di voglia, o semplicemente la necessità di portare a tutti un sistema funzionante piuttosto che sprecarsi in queste - diciamolo - scemenze di secondo piano.
Ora però che abbiamo il re dei sistemi mobile tra le nostre mani, era necessario adottare un marketplace più maturo, ed eccoci qua. Interfaccia rinnovata, molto bella sia nel suo comparto a blocchetti per le "featured apps" che nel suo layout più tradizionale a lista di coppie. Il problema è che tutto ciò, incredibilmente, si è riflesso in una scattosità del tutto: il Market nella sua ultima release è diventato elefantiaco in quanto a prestazioni grafiche, cosa inaccettabile, e anche se con l'ultimo update le cose sono migliorate sensibilmente, comunque lo scrolling è poco fluido, e l'interfaccia molto poco reattiva.
Il substrato
Insieme all'interfaccia grafica, è cambiato anche il modo di gestire le applicazioni nell'Android Market. Per carità, non mi riferisco ai link sulla memoria fisica, i quali sono rimasti invariati, bensì agli algoritmi utilizzati per l'installazione parallela di più applicazioni: se infatti prima le applicazioni venivano scaricate ed installate in parallelo, sforzando parecchio la CPU e producendo anche più di un errore, il nuovo gestore di download e installazioni procede in una finestra di due applicazioni installate in contemporanea, e anzi è maggiormente restrittivo, nel senso che mentre un'app viene installata la successiva viene scaricata. Non vengono quindi mandati in esecuzione due processi di installazione (e di download, anche) simultanei, per favorire l'assenza di errori durante il processo di aggiornamento.
Purtroppo l'aggiornamento andato a buon fine non è qualcosa che il nuovo Market contempla :D
Con questo intendo dire che nonostante la bontà dei nuovi algoritmi, il marketplace risulta ancora in uno stato embrionale: una volta aggiornata una specifica applicazione, questa risulta ancora in download. E l'ultimo update non ha corretto questo fastidioso comportamento. Bisogna quindi (lo suggerisco) fare riferimento al sistema di notifiche il quale ci dice correttamente cosa sta succedendo.
Conclusioni
Che dire quindi? Tutto ciò mi stuzzica. Mi aspetto che mentre Google lavora al sistema operativo rimedi a un po' di questi bachi che sinceramente sono molto fastidiosi, dato che comunque in fase di gestione del software installato non mi fanno avere le idee molto chiare su cosa ha finito di scaricare, cosa no, eccetera eccetera. Inoltre, purtroppo, se questo aggiornamento per l'interfaccia dell'Android Market poteva essere una cosa decisamente buona, giusta e benvenuta, comunque l'interfaccia grafica così poco snella mi fa rabbrividire, e se penso che posseggo un Desire (1GHz di CPU), tremo al pensiero di come può viaggiare un'applicazione del genere su dispositivi con una CPU un po' più ristretta.
28 Jul 2011
Che poi, pensavo, in uno dei miei deliri, che effettivamente il fatto che una macchina si pianti è un episodio abbastanza comune, specialmente con sistemi che gestiscono i problemi alla solita vecchia maniera, e cioè con un freeze totale delle risorse.
Ma allora, perchè diavolo invece di inventare combinazioni palesemente per le emergenze, i produttori non hanno introdotto, o meglio il form factor comune delle tastiere non è stato modificato per inserire un centoseiesimo tasto che svolga la funzione di CTRL-ALT-CANC, anche solo quella? Tanto, sono sicuro che sarebbe consumato quasi quanto la mia "a", che già non si vede più.
22 Jul 2011
Mi scuso se non mi sono fatto sentire per parecchio, ma ho avuto un sacco da fare nell'ultimo periodo e non ho trovato proprio tempo per aggiornare questo angolino di miei rantoli personali.
Insomma, come abbiamo scritto stamattina tra mille peripezie in redazione, è arrivato Linux 3.0; ce ne parla come al solito KernelNewbies, rendendoci il changelog più a portata di umano, e personalmente penso che comunque tutto ciò sia bene e sia un evento epocale, anche perchè stiamo assistendo a tutta una rivoluzione nel sistema di release del kernel.
Poi, postilla a parte, continua a venirmi in mente che "Succederà quando sarà rilasciato Linux 3" era un intercalare molto usato una persona a me molto cara, che purtroppo non è più fra noi anche se ci guarda dal paradiso degli hacker.
Ancora una nota: questo post l'ho scritto con la nuova modalità distractionless di WordPress. Una figata immensa, posso dirvelo.
17 Jun 2011
Nonostante il mio tormentatissimo switch a KDE sulla workstation di casa, tengo comunque d'occhio tutto il panorama; alla stregua di Sauron Signore del Male vedo e osservo tutto ciò che lambisce l'orbita del mio occhio e, pur essendo già da prima consapevole di come potesse essere migliorata GNOME Shell con l'uso savio di qualche estensione, l'ultimo post di telperion mi ha colpito particolarmente.
Se infatti in precedenza potevo essere titubante, adesso che il mio amico eterno scontento si dice addirittura soddisfatto non posso che stupirmi e prendere per buono tutto ciò che venga dalla sua "penna"; quindi, ho deciso di fare qualche esperimento, per ora sul netbook perchè mi riservo di migrare la workstation solo una volta convinto, ma mi sa che continuando di questo passo GNOME tornerà a regnare sovrano sulle mie macchine.
Devo dire che, infatti, durante le prime ore di utilizzo, l'unica cosa che mi è sembrata necessitare di miglioramenti veramente estremi è stata la gestione delle applicazioni, non tanto in quanto finestre aperte, le quali con DockX vengono comunque gestite molto bene, quanto all'apertura dei task. il launcher delle applicazioni di GNOME Shell infatti è ridicolmente pesante rispetto a tutto il resto, e si distingue tra i componenti del desktop per presenza di lag e confusione generale; un buon metodo per ovviare a tutto ciò è installare un'estensione che riporta al suo posto il menù Applicazioni, vecchio stile; purtroppo ho potuto appurare che l'estensione esistente per un menù del genere si avvale di metodi di theming di GNOME Shell, e ne viene fuori qualcosa di piuttosto pachidermico, ugualmente.
Ce ne faremo una ragione. Per ora la configurazione è: netbook con GNOME Shell (XFCE non l'ho trovato caruccio, KDE è pesante), workstation fissa ancora con KDE. Il tutto ovviamente sempre Arch Linux powered: ormai mi sono affezionato, e installo Arch anche sui tostapane. Il dominio Debian rimane, ovviamente, sui miei serverozzi. Nota a margine, la Ubuntu sul laptop di mia sorella, che è tanto contenta e dice che Linux le piace e lo consiglia pure alle amiche.