mercoledì 17 agosto 2011

Frugalware Linux 1.5 dall'Ungheria con furore

In principio fu Slackware, l'anziana signora, bella come non mai ma grezza quasi quanto la carta vetrata,
impossibile da domare senza una mappa, terra di non ritorno per gli sciatti e i coatti.
La storia continua finché qualcuno non decise che gestire le dipendenze su Slackware poteva essere frustrante e che una mappa sarebbe stata più utile se avesse avuto anche i nomi sopra le città.

Ed è così che in data 2 Novembre 2004 vide la luce Frugalware, dall'unione dell'anziana signora e del package manager che meno ti aspetteresti: PACMAN (si quello di Archlinux).



IL PRESENTE

Di acqua sotto i ponti ne è passata dalla prima release, le differenze sono talmente cresciute da poter dire che Frugalware non è certamente una derivata di Slackware, ma semmai una distro che vi si basa.

Vediamo alcune delle caratteristiche di Frugalware in generale e della release 1.5 in particolare:
  • pacchetti disponibili per architetture i686, x86_64, ppc e da poco anche arm
  • due rami di sviluppo
    • current - rolling release con pacchetti aggiornati alle ultime versioni stabili
    • stable - aggiornato ogni 6 mesi circa, le uniche modifiche che riceve riguardano il bugfixing
  • pacman-g2 come package manager, fork della versione 3 del pacman di Archlinux, prima che venisse ufficialmente rilasciato (in seguito per brevità scriverò semplicemente pacman, ma sappiate che il nome è pacman-g2 e che tutti i file di configurazione, cartelle ecc usano questo nome)
  • vari tools che aiutano nel mantenimento della distro, di cui tratterò di seguito
  • Linux kernel 2.6.39.3, XOrg server 1.10.3, GNOME 3, KDE SC 4.6.5, XFCE 4.8, LibreOffice 3.4.2, Mozilla Firefox 5.0.1 (tanto per sparare qualche nome a caso)
  • systemd come sistema di avvio predefinito

In questa breve guida/howto/presentazione (chiamatela come volete) vedremo com'è fatta questa distro, partendo innanzitutto dall'installazione.

NOTA

Frugalware Linux non dispone di un live cd, quindi l'unico modo di provarla è l'installazione.

NOTA 2

Citando l'about nel sito di Frugalware:
Frugalware is a general purpose linux distribution, designed for intermediate users (who are not afraid of text mode).
Quindi di seguito cercherò di andare abbastanza spedito (tralasciando varie cose), presupponendo che il lettore abbia già una certa esperienza (seppur minima) dell'ambiente Linux.

PRE INSTALLAZIONE

Qui potete scegliere il mirror a voi più comodo dal quale scaricare l'immagine d'installazione.
Come potrete vedere sono disponibili 4 tipi di immagini, infatti una volta scelta l'architettura (suppongo che su un netbook vorrete installare la i686) potrete scegliere tra:
  • iso CD contenente il minimo indispensabile per far partire il sistema (265MB)
  • 3 iso DVD contenenti tutti i programmi che vi possono venire in mente
  • iso NET INSTALL, serve una connessione ad internet per poter completare l'installazione
  • immagine USB per poter effettuare una netinstall dalla pennetta usb
Come potete vedere la versione CD è molto poco sostanziosa e è preferibile usarla solo se avete a disposizione una connessione ad internet, ma l'installer non supporta la vostra scheda wifi. Il mio consiglio è quindi di usare l'immagine USB se avete a disposizione una connessione ad internet (in fatto di compatibilità hardware i netbook sono molto generosi con Linux), altrimenti usate i DVD (sempre nei mirror per ogni dvd c'è un file con la lista dei pacchetti contenuti in quel dvd).

COME USARE LE IMMAGINI

A meno che non abbiate un lettore CD/DVD esterno l'unico modo per effettuare l'installazione è quello di caricare le immagini sulla vostra pennetta usb.
Per i CD/DVD (tutte le immagini .iso) potete far uso del tool unetbootin, disponibile anche per Windows e di facile utilizzo.
Per l'immagine USB se siete già su una qualsiasi distro Linux usate il comando dd nel seguente modo:
# dd if=frugalware-1.5-i686-usb.img of=/dev/sdX
Modificate in base alle vostre esigenze il percorso dell'immagine e il percorso del device usb (e occhio a non buttare alle ortiche tutti i dati presenti nel vostro hd).

Potete dare un'occhiata anche alla documentazione ufficiale qui.

NOTA PER CHI UTILIZZA UNETBOOTIN

Sembra che unetbootin abbia qualche problema con le iso di Frugalware, per cui dopo aver caricato l'iso sulla pennetta, prima di riavviare, dovrete fare una modifica al file syslinux.cfg che trovate all'interno della pennetta appena preparata.
Il contenuto del file dovrebbe essere il seguente (non fate caso alla formattazione che a fine riga qui, non essendoci una barra per lo scroll orizzontale, mi va a capo):
default menu.c32
prompt 0
menu title UNetbootin
timeout 100

label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit initrd=initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet

label ubnentry0
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686.img.gz initrd=initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet

label ubnentry1
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686 (vga fb)
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686.img.gz initrd=initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet vga=791

label ubnentry2
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686 (gui)
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686-gui.img.gz initrd=initrd-i686-gui.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=155500 rw root=/dev/ram quiet
per ogni entry eccetto la prima (unetbootindefault) cancellate
initrd=initrd-i686.img.gz
e
initrd=initrd-i686-gui.img.gz
il risultato finale dovrebbe essere questo:
default menu.c32
prompt 0
menu title UNetbootin
timeout 100

label unetbootindefault
menu label Default
kernel /ubnkern
append initrd=/ubninit initrd=initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet

label ubnentry0
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet

label ubnentry1
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686 (vga fb)
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=111428 rw root=/dev/ram quiet vga=791

label ubnentry2
menu label Frugalware 1.5 (Mores) - 2.6.39-fw2-i686 (gui)
kernel /boot/vmlinuz-2.6.39-fw2-i686
append initrd=/boot/initrd-i686-gui.img.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=155500 rw root=/dev/ram quiet

NOTA PER IL PARTIZIONAMENTO

Se preferite non avere a che fare con tools per il partizionamento quali cfdisk, fdisk e parted, o temete che un vostro errore possa farvi perdere tutti i dati sull'hd, vi consiglio di partizionare il vostro hd con la live di gparted o con qualsiasi altra cosa vi sia familiare (anche la live di Ubuntu va bene).

NOTA PER CHI UTILIZZA LE ISO CD/DVD

Sembra che l'installer quando vada a cercare i pacchetti presenti sul CD/DVD (non vale per la netinstall), se state usando una pennetta, non riesca a trovarli (credo infatti che l'installer si aspetti che ci sia un cd inserito), quindi se avete intenzione di usare queste immagini potreste dover montare manualmente il dispositivo e modificare il file di configurazione di pacman (/etc/pacman-g2.conf) affinché punti al percorso giusto.

INSTALLAZIONE

Non appena riuscirete ad avviare la vostra penna/cd o chicchessia la prima cosa che vi troverete davanti è il grub, in cui potrete decidere di utilizzare l'installer classico (ncurses) o quello grafico.
Non fatevi trarre in inganno dalle apparenze e scegliete quello testuale, infatti l'unica differenza tra i due è che con quello testuale vedrete i pulsanti nel terminale, mentre con la gui avrete una finestra, ma i passi da fare per l'installazione sono identici. Inoltre usando quello testuale non correte il rischio che la scheda video del vostro pc non venga correttamente riconosciuta facendo crashare l'installer (i netbook in genere montano le intel che non dovrebbero avere problemi di questo genere, ma alcuni modelli più nuovi fanno uso anche di nvidia o ati).

Detto ciò l'installazione è molto semplice e lineare, vi verranno poste le solite domande quali lingua, mappatura della tastiera, scelta dei mirror da utilizzare, oltre alla configurazione della rete per permettere poi il download dei pacchetti.

NOTA

Se vi apprestate ad effettuare un'installazione con connessione ad internet tramite wifi, il mio consiglio è di impostare la vostra rete affinche usi un sistema di protezione non troppo complitato (WEP va bene), altrimenti la configurazione della stessa sarà parecchio complicata e dovrete farvela manualmente.
Ricordate inoltre che all'atto dell'inserimento della password del vostro access point, l'installer si aspetta un numero esadecimale, quindi se volete inserirlo in forma di passphrase dovrete anteporre s: alla vostra password.

Proseguendo l'installer vi chiederà se volete partizionare l'hard disk (potete saltare questo passaggio se l'avete già fatto prima) e dopo vi chiederà quali partizioni verranno usate e il filesystem con cui formattarle.

Il passo successivo è la scelta dei pacchetti, l'installer vi chiederà di scegliere tra la modalità per esperti (vi permette di selezionare ogni singolo pacchetto che volete installare) e quella standard (vi fa scegliere solo i gruppi).
Il mio consiglio (se state facendo una netinstall) è di installare soltanto il gruppo base e quello network, inoltre dal gruppo apps potete scegliere l'editor nano se vi è più confortevole rispetto al vi-like elvis.
Questa scelta è dovuta al fatto che l'installer è molto delicato e un qualsiasi errore potrebbe costringervi a ripetere la procedura di installazione anche da capo (ad esempio se uno dei pacchetti che viene scaricato è corrotto dovrete ripetere la parte della scelta dei pacchetti), perciò conviene installare soltanto il sistema base e poi in seguito tutti gli altri pacchetti.

Se tutto va per il verso giusto per un po' di tempo vedrete pacman che scarica e installa i pacchetti, dopodiché il focus tornerà all'installer, che vi chiederà se e dove installare grub.

Procederanno poi argomenti di ordinaria amministrazione quali l'impostazione della password di root e la creazione di un altro utente, quindi nuovamente la configurazione della rete (che stavolta servirà per il sistema una volta installato).
Procedono orologio, fuso orario e mouse, dopodiché vi apparirà il messaggio che l'installazione è terminata e che potete riavviare.

POST INSTALLAZIONE

Se avete seguito il mio consiglio ora avete il vostro bel sistema base, bene avviatelo e loggatevi (il NUM LOCK attivo potrebbe causarvi qualche difficoltà al login).

ENNESIMA NOTA
Se all'avvio notate un warning che dice che il filesystem per la root non è riconosciuto o qualcosa del genere, non disperate non vi impedirà di avviare il vostro sistema, ma se volete liberarvi di quel warning basta aggiungere il seguente parametro per il kernel al grub:
rootfstype=ext4
sostituendo eventualmente ext4 con il tipo di filesystem con cui avete partizionato la root.


Se durante l'installazione avete configurato correttamente la rete dovreste ritrovarvi già connessi ad internet, altrimenti avendo installato il gruppo base avete a disposizione sia dhcpcd (che dovrebbe essere sufficiente se utilizzate un cavo ethernet con ip dinamico) sia iwconfig, quindi se non siete digiuni di queste cose non dovreste avere problemi.

SCELTA TRA STABLE E CURRENT

Quella che avete installato ora è la versione Stable di Frugalware, se volete passare alla Current questo è il momento propizio, in quanto avendo il sistema pulito l'aggiornamento è breve.
Per fare ciò aprite con un qualsiasi editor di testo il file /etc/pacman-g2.conf, commentate anteponendo un # alla riga
Include = /etc/pacman-g2/repos/frugalware
e decommentate togliendo # alla riga:
#Include = /etc/pacman-g2/repos/frugalware-current
dopodiché aprite il file /etc/pacman-g2/repos/frugalware-current e sempre con il solito trucco del # commentate o decommentate i vari mirror a seconda di come più vi aggrada.

Una volta fatto ciò aggiornate il sistema tramite pacman:
# pacman -Syu

INSTALLARE UN AMBIENTE GRAFICO

Ora immagino che molti di voi vorranno installare un server grafico (magari Xorg) e un qualche DE, un buon modo per farlo è usare i gruppi:
$ pacman -Sg
vi fa vedere tutti i gruppi disponibili, in particolare spiccano:
kde
kde-core
kde-extra

e17-apps
e17-core
e17-extra
e17-misc

gnome
gnome-apps
gnome-extra

lxde-desktop
lxde-extra

xfce4
xfce4-core
xfce4-extra
xfce4-goodies
(Ho volontariamente omesso i gruppi gnome-minimal e kde-minimal perché sono delle trappole e al momento non installano nessun ambiente minimale)

Io ad esempio sono pigro e ho semplicemente dato un:
# pacman -S xfce4
così che pacman mi ha automaticamente installato il server X e tutti i componenti di xfce (comunque prima di installare gruppi a casaccio date un'occhiata sul wiki),
l'unica cosa che manca per non ottenere un bell'errore da parte di X al prossimo avvio sono i driver della vostra scheda video:
# pacman -S xf86-video-intel
dovrebbe essere sufficiente a tutti i netbook che usano Intel, altrimenti installate quello di cui avete bisogno.
Potete dare un
$ pacman -Ss blablabla
per cercare all'interno del database dei pacchetti (comunque un bel man pacman-g2 non fa mai male).

COSE UTILI DA SAPERE

FILE DI CONFIGURAZIONE

Su Frugalware potete trovare i file di configurazione più consueti nella cartella /etc/sysconfig, ad esempio se volete disabilitare il NUM LOCK all'avvio (non nel vostro ambiente grafico) andate a modificare il relativo file di configurazione in questa cartella.
Altri config che vi potrebbero interessare sono quelli per cpufreq, desktop (per scegliere il login manager all'avvio), firewall, language, mysqld.

LAVORARE CON I SERVIZI

Con l'adozione di systemd, per avviare/stoppare i vari servizi si usa il comando systemctl,
rimando al wiki per maggiori delucidazioni.
Tuttavia ci sono ancora alcuni servizi che usano il vecchio metodo di init, per questi potete utilizzare il comando service (rimando sempre a man service per l'utilizzo), inoltre per avere una panoramica di tutti i servizi disponibili e del loro stato nei vari runlevel basta dare:
# chkconfig --list
Se non ve ne siete ancora accorti vi consiglio anche di disabilitare i servizi postfix e sshd, a meno che non vi servano (per quest'ultimo, se lo volete usare, dovrete modificare il firewall perché così com'è non siete nemmeno pingabili dalla vostra stessa rete locale).

FIREWALL

Se mai vi dovesse capitare di usare qualche servizio lato server come sshd, apache etc, prima che impazziate cercando di capire perché la vostra macchina non è raggiungibile, il motivo è che iptables viene configurato con una policy molto aggressiva che vi rende quasi invisibili dall'esterno, per cambiarne il comportamento editate il file /etc/sysconfig/firewall a seconda delle vostre esigenze e poi riavviate il servizio con
# service firewall restart

RETE

Se ben ricordate, durante l'installazione vi è stata fatta configurare la rete, quindi ora ad ogni avvio il sistema tenterà di connettersi a quella rete. Se il computer che usate è un fisso questo non vi causerà nessun problema, anzi è la soluzione migliore in quanto non usa niente di esterno, ma se state usando un portatile potreste avere la necessità di usare qualcosa di più completo per potervi collegare facilmente anche alla rete della vostra università, ufficio o dove altro ne abbiate bisogno.
Per semplici modifiche potete usare gnetconfig o andare ad editare i files che si trovano in /etc/sysconfig/network, altrimenti se avete intenzione di utilizzare un software come wicd o networkmanager assicuratevi di disabilitare il servizio interfaces
# service interfaces del
# service interfaces stop
e procedete quindi ad installare il gestore che più vi aggrada.

ATTENZIONE
Causa bug con la versione di networkmanager presente in Frugalware, per Kde è stato eliminato il supporto a networkmanager, quindi se utilizzate questo DE dovrete arrangiarvi con l'applet per gnome (nm-applet), wicd o altro.


CODIFICA UTF-8

Per usare la codifica utf-8 editate il file /etc/sysconfig/language, modificate il valore della variabile LANG da it_IT a it_IT.UTF-8, ugualmente per la variabile CHARSET da iso-8859-1 a utf-8.
Editate anche il file /etc/profile.d/less.sh cambiando il valore della variabile LESSCHARSET da iso8859 a utf-8.

PACMAN BOOST

Pacman è un bel package manager, ma come forse saprete, per adesso non usa un vero e proprio database, ma semplici file di testo suddivisi in cartelle, contenenti ciascuna informazioni riguardanti i vari pacchetti.
Questo è un sistema molto semplice, ma rende pacman sensibilmente lento in alcune operazioni. Il trucco è quindi di spostare il database su un filesystem reiserfs, noto per essere molto performante con file di piccole dimensioni.
Vediamo come fare ciò evitando di creare appositamente una nuova partizione.

Se non ce l'avete già installate il pacchetto reiserfsprogs
Innanzitutto spostiamo il database (non fatelo mentre avete pacman in esecuzione):
# mv /var/lib/pacman-g2{,.bak}
creiamo ora on loop device
# dd if=/dev/zero of=/var/lib/pacman-g2.dat bs=1M count=200
100 mega dovrebbero bastare ma ho preferito tenermi largo sui 200,
formattiamolo ora in reiserfs
# mkfs.reiserfs -f /var/lib/pacman-g2.dat
(vi chiederà una conferma)
ricreiamo quindi la cartella di pacman e montiamoci su il loop device appena creato ricopiandoci su tutti i file
# mkdir /var/lib/pacman-g2
# mount -o loop /var/lib/pacman-g2{.dat,}
# cp -r /var/lib/pacman-g2{.bak/*,}
e il gioco è fatto, l'unica cosa che vi resta da fare è aggiungere una riga nell'rc.local in modo che il database venga montato automaticamente a ogni avvio, per fare ciò editate /etc/rc.d/rc.local aggiungendoci
mount -o loop /var/lib/pacman-g2.dat /var/lib/pacman-g2/

REPOMAN

Un tool interessante è repoman, si trova nel pacchetto pacman-tools e vi chiederà di installare git per essere utilizzato al meglio.
Questo tool è pensato soprattutto per i developer, ma ha qualcosa di utile anche per gli utenti normali.
Dopo averlo installato date
# repoman upd
per aggiornare il sources-tree, dopodiché potete utilizzarlo sia per installare i pacchetti compilandoli (invece che con pacman), sia per installare quei pacchetti che per vari motivi non sono presenti nei repo come precompilati (ad esempio i software proprietari quali opera, vmware etc).
Se sapete dove mettere le mani potete anche modificare i vari build scripts (sono quasi identici a quelli di Archlinux), potete trovare il sources-tree nella cartella /var/fst (a meno che non abbiate modificato il file di configurazione /etc/repoman.conf).

GESTIRE I PACCHETTI PER VIA GRAFICA

Nonostante il developer che si occupava di questo progetto sia assente da più di un anno, gfpm (graphical frugalware package manager) fa ancora il suo sporco lavoro e quindi può essere utilizzato per il management dei pacchetti.
Vi permette di fare le cose più comuni come aggiornare il database e il sistema, installare/rimuovere pacchetti, modificare i file di configurazione, niente che non possiate fare con pacman ovviamente, ma se vi prende un momento di debolezza e sentite il bisogno di una gui, questo potrebbe fare al caso vostro (occhio che per funzionare ha bisogno di gksu, quindi nel caso non ce l'aveste già installato, installate il pacchetto gksu-frugalware).

FRUGALWARE-TWEAK

Utile tool per amministrare il sistema, può fare varie cose tra cui amministrare gli utenti, configurare grub, Xorg, i servizi, il login manager e la rete.
Si dà il caso però che scritto in C# (quindi Mono) e questo potrebbe far storcere il naso a molti, se siete tra questi provate a dare un'occhiata a frugalware-tweak2, lo stesso developer sta riscrivendo il programma in vala, anche se per il momento mancano la maggior parte delle funzionalità.

UNITY

WTF?? Ebbene si, sembra che Ubuntu non sia l'unica a poterla usare, se volete provare la dock che non è una dock, gli indicators e tutto il resto della compagnia che già solo per essere compilati necessitano di applicare tante di quelle patch alle gtk2 che qualcuno potrebbe pensare di riscriverle da zero, su Frugalware potete farlo.
Personalmente non l'ho mai provata e per il momento non prevedo di farlo, ma da come mi dicono sembra che almeno parte. Comunque non preoccupatevi che nei repo c'è anche altra di roba, ad esempio potete trovare pacchetti del progetto ElementaryOS.

SI MA PER I NETBOOK?

Sulle ottimizzazioni per i netbook mi dilungherò ben poco, anzi per niente.
Infatti non dovreste avere nessuna difficoltà ad applicare quelle presenti nelle varie altre guide. Per quanto riguarda fancontrol installate lmsensors e poi configuratelo a vostro uso e costume, riguardo lo she e compagnia bella, nei repo di Frugalware potrete trovare sia gli acpi-eeepc-generic (occhiate sul wiki ufficiale del progetto per maggiori informazioni) che jupiter, quindi c'è solo da sbizzarrirsi. Assicuratevi come al solito che il modulo eeepc-laptop sia caricato (nel caso aggiungete il parametro acpi_osi=Linux al grub).

CONSIDERAZIONI FINALI

Frugalware Linux, essendo una distro relativamente giovane, è in continuo sviluppo, con tutte le conseguenze che questo può portare. C'è bisogno quindi che gli utenti siano consapevoli e che siano pronti a collaborare con il team di sviluppo, non è necessario essere chissà chi, sono molto importanti anche le segnalazioni dei bug o l'aggiunta di contenuti al wiki.

Se necessitate di un pacchetto che al momento non è presente nei repo, potete aprire una feature request sul bugtracker, inoltre, se ne siete capaci, sono graditi FrugalBuilds per i programmi che avete intenzione di vedere pacchettizzati (oltre alla documentazione accessibile da www.frugalware.org potete guardare le man pages makepkg e Frugalbuild).

7 commenti:

  1. primo
    installazione in corso, domani saprai come mi va

    RispondiElimina
  2. Sembra una cosa interessante, peccato che abbia appena installato arch :P

    Tuttavia me la segno per il futuro :D

    RispondiElimina
  3. Ciccio, correggi il link nella frase:
    "Potete dare un'occhiata anche alla documentazione ufficiale qui."

    RispondiElimina
  4. @Doc
    corretto anche se non ho capito come si sia fatto a sminkiare

    RispondiElimina
  5. aggiunta un paragrafo riguardante la codifica utf-8

    RispondiElimina
  6. aggiunto un paragrafo su come incrementare le prestazioni di pacman-g2

    RispondiElimina

Chiunque può commentare. Anzi, siete altamente incoraggiati a commentare

Se avete una miglioria o qualche consiglio che pensiate migliori la guida sarete i benvenuti. Vi sarà riconosciuto onore e verrete citati in modo doveroso. Non esitate a comunicarci dubbi e/o critiche. Le migliori guide sono quelle che si fanno insieme, ed è questo lo spirito che vogliamo mantenere.

NOTA BENE: Se avete critiche riguardo alla gestione di questo blog potete inviarle al nostro indirizzo: netbookteam [at] gmail [dot] com. Chiediamo quindi di farle in modo privato, per non generare confusione nelle discussioni tecniche che si trovano qui nei commenti. Grazie.