Utente:Leot

Da Wiki di NetBSD Italia.

< Utente:Leot

Il blog di Leot

2008 December 25 23:42:13 CET
Postato da: Leot
Il blog di Leot
Discussione

Meno di una settimana fa ho aggiunto su pkgsrc-wip frozen-bubble-2.2.0.

Su pkgsrc c'è già games/frozen-bubble ma una versione datata, la 1.0.0.

Tuttavia a differenza della versione 1.0.0 la 2.2.0 necessita di devel/SDL_Pango con una patch.

Per semplificare la vita dell'utente e del potenziale tester ho anche aggiunto wip/SDL_Pango che altro non è che devel/SDL_Pango con l'apposito PATCHFILES (molto comoda e potente... più usi pkgsrc e più te ne innamori).

Attualmente il pacchetto necessita ancora di qualche revisione, quindi: se avete qualche minuto libero, vi piace questo gioco e non avete installato devel/SDL_Pango vi prego di provarlo, magari tramite il canale #NetBSD-it ci possiamo metter d'accordo per qualche partita in rete (no, non significa cazzeggiare, è puro testing questo ;-)).

Per ora c'è il freeze per pkgsrc-2008Q4... quindi spero che riusciremo ad aggiornare games/frozen-bubble importando wip/frozen-bubble per pkgsrc-2009Q1.

Vi ringrazio in anticipo, buon divertimento e buon Natale!

Voce: Utente:Leot/BlogEntry: 2008 December 25 23:42:13 CET

2008 November 26 21:37:36 CET
Postato da: Leot
Il blog di Leot
Discussione

Gli utenti NetBSD, soprattutto gli utenti che utilizzano NetBSD su dispositivi portatili, hanno spesso l'esigenza che, per ragioni di privacy, i loro dati rimangano loro.

Da poco tempo ho avuto questa esigenza anche io, nella /home non ho nulla di personale, eccetto dei file di configurazione che hanno password in chiaro (vedere mail/msmtp, wip/fdm e probabilmente molti altri programmi). Chiunque abbia accesso alla macchina, basta che avvii in single-user mode (senza sapere nessuna password) e diventa padrone della macchina (e dei dati).

Perciò ho deciso di fare una piccola /home (600MB circa) criptata, mentre i miei documenti (non personali) /home/leot/documents non criptati (8GB circa).

Per criptare la /home su NetBSD abbiamo diverse alternative, o utilizziamo filesystem in user-space come filesystems/fuse-cryptofs o filesystems/fuse-encfs tramite refuse(3) (presente dalla 5.0) oppure il nativo cgd(4).

Dato che cgd(4) è presete dalla 2.0, abilitato anche in GENERIC (e quindi parte integrante del sistema operativo) e ben documentato ho scelto quest'ultimo.

La configurazione non è stata difficile grazie all'ottima documentazione ed alla semplicità di cgdconfig(8).

Prima di tutto tramite disklabel(8) individuo la partizione da criptare (che verrà ovviamente sovrascritta, quindi prima di provare cgd(4) effettuate sempre un backup):

# disklabel wd0

La partizione da criptare è la wd0h, siccome è vuota (prima di cgd(4) la partizione da 8GB era montata come /home, mentre quella da 600MB non era neache montata) inizio subito a preparare la partizione criptata, come tipo di filesystem impostiamo ccd in modo tale da distinguerla facilmente dalle altre non criptate:

 # disklabel -i wd0
 partition> h
 Filesystem type [?] [4.2BSD]: ccd
 Start offset ('x' to start after partition 'x') [30008.1c, 30248127s, 14769.6M]: 
 Partition size ('$' for all remaining) [1263.94c, 1274049s, 622.094M]: 
 partition> W
 Label disk [n]? y
 partition> Q
 

Il risultato sarà la seguente partizione:

# disklabel wd0 | grep " h:"
 h:   1274049  30248127        ccd                     # (Cyl.  30008*- 31271)

Ora tramite cgdconfig(8) creiamo il file di configurazione necessario (tramite il flag -g) e impostiamo la password che cripterà la nostra wd0h:

# cgdconfig -g -V disklabel -o /etc/cgd/wd0h aes-cbc 256
# cgdconfig -V re-enter cgd0 /dev/wd0h

Infine creiamo la partizione cgd0h tramite disklabel(8), questa partizione dovrà avere le stesse dimensioni di wd0h:

# disklabel -e -I cgd0
# /dev/rcgd0d:
type: cgd
disk: cgd
label: fictitious
[...]
#        size    offset     fstype [fsize bsize cpg/sgs]
d:   1274049         0     unused      0     0        # (Cyl.      0 - 622*)
h:   1274049         0     4.2BSD      0     0     0  # (Cyl.      0 - 622*)

Ecco fatto, ora gli ultimi ritocchi: fstab(5) e rc.conf(5).

# ${EDITOR} /etc/fstab
[...]
/dev/cgd0h  /home                 ffs  rw,softdep        1 2
/dev/wd0g   /home/leot/documents  ffs  rw,softdep,union  1 2
[...]
# ${EDITOR} /etc/rc.conf
[...]
cgd=YES
[...]

Perfetto! Al prossimo riavvio avremo la /home criptata mentre la /home/leot/documents non criptata. Quindi tutti i file presenti su /home/leot saranno criptati (eccetto quelli nella subdirectory documents/).

Ora ad ogni riavvio ci verrà chiesta la password per montare automaticamente le partizioni cgd(4).

Buon divertimento con cgd(4)!

Voce: Utente:Leot/BlogEntry: 2008 November 26 21:37:36 CET

2008 November 12 21:40:10 CET
Postato da: Leot
Il blog di Leot
Discussione

Devo ammettere che la scheda azalia(4) presente nell'Eee PC ha molti mixer configurabili tramite mixerctl(1) e dato che questo pomeriggio volevo provare i microfoni dell'Eee PC, sia quello interno vicino alla webcam, che il supporto del microfono esterno ho deciso di condividere gli "appunti" tramite questo post.

Prima di tutto per registare l'audio dal microfono possiamo utilizzare il classico audiorecord(1) semplicemente in questo modo:

$ audiorecord hello_neeetbsd.wav

Per concludere la registrazione basta interrompere il programma con C-c (Control + c).

Per ascoltare ciò che abbiamo registrato:

$ audioplay hello_neeetbsd.wav

Se il volume del microfono fosse troppo basso si può impostare un volume più alto in questo modo:

$ mixerctl -w record.volume=224,224

Ricordo che record.volume influenzerà il volume sia del microfono interno (da qui in poi imic) che quello di un eventuale microfono esterno (mic).

Inoltre di default entrambi i microfoni sono abilitati (provate a verificarlo soffiando su imic), per disabilitarli:

$ mixerctl -w mix.mix0b.imic.mute=on
$ mixerctl -w mix.mix0b.mic.mute=on

Riguardo al volume delle casse o eventuali cuffie è come al solito outputs.master. Da notare che questo valore viene modificato anche dalla combinazione di tasti Fn + F7 (disattiva/attiva l'audio), Fn + F8 (diminuisce il volume di 3), Fn + F9 (alza il volume di 3).

Una volta che abbiamo trovato le nostre impostazioni preferite possiamo salvare il tutto e fare in modo che il sistema rc(8) avvii automaticamente le nostre impostazioni preferite:

# mixerctl -a > /etc/mixerctl.conf
# echo "mixerctl=YES" >> /etc/rc.conf

Questo è tutto, buon ascolto con NetBSD!

Voce: Utente:Leot/BlogEntry: 2008 November 12 21:40:10 CET

2008 November 11 23:11:29 CET
Postato da: Leot
Il blog di Leot
Discussione

Meno di una settimana fa ho ricevuto un Eee PC 900.

Una volta scartato dalla scatola l'ho acceso ed ho provato il GNU/Linux preinstallato.

Insoddisfatto del GNU/Linux (piuttosto restrittivo secondo me) ho installato NetBSD su questo netbook direttamente nel disco SSD, in modo da essere a mio agio ovunque (o quasi). :-)

Il primo problema che è subito venuto alla luce è stato: come installerò NetBSD? (l'Eee PC non ha un lettore CD o DVD).

Nell'ottima pagina relativa a NetBSD sui netbook ho letto che uno tra i possibili metodi era quello di fare il boot tramite scheda di rete. Questo metodo mi è sembrato a prima vista un po' troppo invasivo e quindi ho optato per altri metodi.

Questo netbook ha infatti 3 porte USB 2.0 e uno lettore di card SD, e dando un occhiata veloce al BIOS ho subito visto che il boot da questi dispositivi era supportato.

Ho quindi preso una chiavetta USB (dovrebbe bastare una da qualche decina di MB, perché tanto la scheda lii(4) è supportata anche dal kernel di installazione, nel mio caso era da 1GB) dove ho estratto l'immagine ISO di NetBSD 5.0_BETA seguendo questa utilissima guida.

L'installazione è stata molto veloce ed al primo boot ho subito messo a posto rc.conf(5) e tramite pkg_add(1) ho installato i vari pacchetti di cui ho bisogno (generati tramite pkgtools/pkg_tarup ed il target package di pkgsrc sulla mia workstation principale con NetBSD 4.0.1), per quanto riguarda i driver per X.org modulare la scheda dell'Eee PC è una scheda che ha bisogno dei driver x11/xf86-video-intel.

La scheda wireless sull'Eee PC è una ath(4), tuttavia per farla funzionare correttamente necessita di questa patch, per applicarla:

$ cd /usr/src/
$ ftp http://ftp.netbsd.org/pub/NetBSD/misc/jmcneill/atheee.patch
$ patch < atheee.patch

L'Eee PC 900 ha anche la funzionalità di poter attaccare e staccare a caldo la scheda wireless semplicemente premendo il tasto Fn ed F2 (risulta particolarmente utile disabilitare la scheda wireless quando si utilizza la batteria ma non si ha bisogno della scheda wireless). NetBSD supporta questa funzionalità, ma per poterla sfruttare bisogna sfruttare un'altra patch scritta da jmcneill@ e proveniente da OpenBSD:

$ cd /usr/src/sys/dev/pci/
$ ftp http://ftp.netbsd.org/pub/NetBSD/misc/jmcneill/ppb-hotplug.patch
$ patch < ppb-hotplug.patch

Una volta applicate queste due patch ho ricompilato il kernel, adattandolo all'hardware del netbook.

Una volta cp(1)iato il kernel appena compilato su /netbsd, fatto il backup del kernel GENERIC su /onetbsd ed adattato boot.cfg(5) alle modifiche ho riavviato il sistema.

Sia col kernel GENERIC che con il kernel più o meno ottimizzato all'Eee PC 900 il tempo di boot è equivalente (se non inferiore) a quello del GNU/Linux preinstallato (da boot(8) al login 12 secondi circa).

Una volta provata la scheda ath(4), ho iniziato a provare il lettore di card SD. Per abilitarlo basta andare sul BIOS (premendo F2), Advanced, Onboard Devices Configuration, e controllare che sia abilitato Onboard CardReader (di default è abilitato), per uscire e salvare dal BIOS basta premere F10 e confermare, NetBSD rileverà la card SD come sd0, basta quindi utilizzare mount(8) (di solito) su /dev/sd0a o /dev/sd0e per montare le schede SD.

La scheda audio è una scheda azalia(4), e per farla funzionare non necessitiamo di modificare nulla.

Riguardo allo stato della batteria e la temperatura basta utilizzare envstat(8):

$ envstat
                     Current  CritMax  CritMin  CritCap     Unit
[acpiacad0]
       connected:        OFF
[acpibat0]
         present:         ON
      design cap:      5.200                                  Ah
   last full cap:      0.100                                  Ah
      technology:          1
  design voltage:      8.400                                   V
        warn cap:      0.020                                  Ah  (20.00%)
         low cap:      0.010                                  Ah  (10.00%)
         voltage:      7.598                                   V
     charge rate:        N/A
  discharge rate:     -0.001                                   A
          charge:      0.070                                  Ah  (70.00%)
        charging:        OFF
    charge state:     NORMAL
[acpitz0]
     temperature:     52.000                                degC

Per quanto riguarda l'uscita VGA invece potrebbe risultare utile x11(xrandr), per abilitare l'uscita VGA per clonare lo schermo:

$ xrandr --output VGA --auto

Per spegnere il monitor dell'Eee PC ed utilizzare solo quello collegato all'uscita:

$ xrandr --output LVDS --off

Insomma che dire, per qualsiasi utente NetBSD medio che vuole avere NetBSD sempre con se, un Eee PC, dato i prezzi non troppo alti, ed il supporto hardware di NetBSD potrebbe risultare una buona scelta, buon divertimento con NetBSD!

Voce: Utente:Leot/BlogEntry: 2008 November 11 23:11:29 CET

2008 October 27 21:40:04 CET
Postato da: Leot
Il blog di Leot
Discussione

Non troppe settimane fa su #netbsd-it ho chiesto il client sia FTP che SFTP utilizzato e di cui si era soddisfatti per provarlo ed utilizzarlo.

Allora Claudio mi consigliò di provare net/lftp.

È piuttosto buono e mi sono trovato subito bene. Dopo un po' di tempo che lo utilizzo però scopro che net/lftp è un datato, in pkgsrc c'è infatti la versione 3.5.11. pkgsrc/doc/TODO mi conferma ciò e ieri inizio a lavorarci su per aggiornarlo alla versione 3.7.3 (l'ultima stabile).

Mi sono imbattuto in un problema che non mi era mai capitato: le patch. Aggiornare il Makefile ed il distinfo è un bazzecola ma capire le patch ed il perché vengono utilizzate non è sempre semplice.

Allora ho iniziato a capirle (grazie anche a joerg@ su #pkgsrc) e commentarle per poi finire l'aggiornamento con un PR: pkg/39809.

Morale della storia: se le patch non sono chiare, commentatele! :-)

Voce: Utente:Leot/BlogEntry: 2008 October 27 21:40:04 CET

2008 October 27 21:38:37 CET
Postato da: Leot
Il blog di Leot
Discussione

Poche settimane fa e l'altro ieri ho aggiunto wip/dmenu e wip/dwm. Oltre al fatto che i rispettivi x11/dmenu e wm/dwm sono abbastanza datati essi utilizzano delle patch che spingono inevitabilmente il MAINTAINER (o chi per lui) ad ogni nuovo aggiornamento a rigenerare tutte le patch.

Per risolvere questo problema ed eliminare le patch il framework SUBST fa al caso nostro.

Se avete 5 minuti liberi e siete utenti x11/dmenu e/o wm/dwm vi prego di dare un occhiata a wip/dmenu e/o wip/dwm e perché no migliorarli. Grazie.

Voce: Utente:Leot/BlogEntry: 2008 October 27 21:38:37 CET

2008 October 27 21:25:39 CET
Postato da: Leot
Il blog di Leot
Discussione

Il 14 Ottobre 2008 sono stati rilasciati sia NetBSD 4.0.1 che pkgsrc-2008Q3.

NetBSD 4.0.1 come potete immaginare dal .1 finale è un rilascio che corregge problemi più o meno seri riguardo alla sicurezza e funzionalità dell'OS ed ovviamente l'aggiornamento è caldamente consigliato.

Riguardo a pkgsrc-2008Q3 invece ci sono un sacco di pacchetti aggiornati ed anche nuovi pacchetti, da notare anche le migliorie fatte prevalentemente da Jared McNeill (jmcneill@) in ambito multimediale (spinte anche dal recente supporto uvideo(4) per webcam in NetBSD-current) che rende NetBSD ancora più valido nella scelta in ambito desktop.

Nel fine settimana, il 18 e 19 Ottobre, ho aggiornato tutti i pacchetti nella mia workstation. Ed ancora una volta pkgtools/pkg_comp si è rilevata la scelta vincente: non ho mai abbandonato l'utilizzo dei programmi, a parte per 2 minuti dove ho installato tramite pkg_add(1) tutti i pacchetti binari prodotti grazie a pkg_comp.

Dopo l'aggiornamento tutto è andato a buon fine, a parte x11/xf86-video-ati (ma non è un problema di pkgsrc, ma del driver in se): dopo che avvio X11 e poi termino la sessione X11 il terminale diventa molto molto scuro, talmente scuro da non riuscirci a leggere.

Se poi riavvio X11 lo schermo ritorna alla giusta luminosità. Qualche idea di come risolvere il problema? Grazie e buon divertimento con NetBSD 4.0.1 e pkgsrc-2008Q3!

Voce: Utente:Leot/BlogEntry: 2008 October 27 21:25:39 CET

2008 October 03 22:28:16 CEST
Postato da: Leot
Il blog di Leot
Discussione

Amo NetBSD e pkgsrc e li utilizzo per tutte le mie necessità, anche per divertirmi (a dire la verità ogni volta che sto sulla mia workstation con NetBSD subito dopo il login mi diverto fino allo shutdown(8)).

Pochi giorni fa ho notato che games/wesnoth (gioco molto divertente di strategia) presente in pkgsrc non era l'ultima versione stabile... e ieri e l'altro ieri ho lavorato sull'aggiornamento del pacchetto.

Inizialmente ero preoccupato: non avevo mai messo le mani ad un pacchetto con tante dipendenze ed anche piuttosto corposo. Mi sono fatto coraggio ed ho iniziato!

Subito dopo la fase del fetch (più di 100MB) tutto è proseguito con la fase di build, ed ecco il primo ostacolo... ...la patch-aa non è più applicabile perché il file configure è stato modificato. Fortunatamente per superare questo ostacolo è bastato aggiustare i numeri di riga.

Proseguendo ho trovato dei WARNING (riguardo all'hack per evitare lang/python come dipendenza). Ma nulla di difficilmente risolvibile o preoccupante.

In conclusione sono rimasto un po' stupito e felice: anche un software piuttosto complesso come games/wesnoth per un MAINTAINER è semplice da mantenere ed ho concluso il tutto con un PR: pkg/39679.

Buon divertimento con games/wesnoth!

Voce: Utente:Leot/BlogEntry: 2008 October 03 22:28:16 CEST

2008 September 26 23:20:37 CEST
Postato da: Leot
Il blog di Leot
Discussione

Quante volte vi capita, da maintainer, di mantenere dei moduli Perl in pkgsrc e volete sapere se una nuova versione del modulo è disponibile in modo da aggiornare il pacchetto pkgsrc? Abbastanza spesso direi.

Fortunatamente rhaen@ ha recentemente annunciato su pkgsrc-users@ un nuovo progetto che rende la vita più facile a tutti i maintainer di moduli Perl: p2c.

Questo progetto si occupa di comparare le versioni dei pacchetti in pkgsrc con quelle disponibili su CPAN, distribuendo tutte le informazioni tramite file che si possono esaminare con textproc/p5-YAML.

Oltre ai file YAML, Ulrich ha pubblicato due pagine HTML, una contenente tutti i pacchetti da aggiornare, l'altra contenente tutti i pacchetti da aggiornare per maintainer.

Diversi esempi di codice che utilizzano i file YAML sono forniti nelle faq di p2c.

Tuttavia per la curiosità ho voluto scrivere un piccolo script, pptu (Perl Packages To Update), che accetta uno o più argomenti (dove questi argomenti corrispondono al MAINTAINER). Lo script per funzionare ha bisogno di www/p5-libwww e textproc/p5-YAML.

Ecco un esempio:

$ ./pptu.pl leot1990@users.sourceforge.net pkgsrc-users@NetBSD.org
leot1990@users.sourceforge.net
------------------------------------------------------------------------
Package: wip/p5-Config-Simple
pkgsrc version: 4.59
CPAN version: 4.58
Package: wip/p5-MediaWiki-API
pkgsrc version: 0.13
CPAN version: 0.14

pkgsrc-users@NetBSD.org
------------------------------------------------------------------------
Package: chat/p5-Net-ICQ2000
pkgsrc version: 0.2.1
CPAN version: n/a
Package: databases/p5-AddressBook
pkgsrc version: 0.16
CPAN version: 1.00
[...]

Buon aggiornamento di moduli Perl a tutti!

Voce: Utente:Leot/BlogEntry: 2008 September 26 23:20:37 CEST

2008 September 23 22:01:36 CEST
Postato da: Leot
Il blog di Leot
Discussione

Buona sera a tutti!

Pochi giorni fa jschauma@ ha annunciato su netbsd-advocacy@ il 12esimo Hackathon!

Questo hackathon, è programmato per l'11 e 12 Ottobre 2008, come al solito sul canale IRC del server Freenode #netbsd-code, ma anche nella conferenza NYCBSDCon 2008, nella Columbia University (per maggiori dettagli su questa conferenza è consigliato leggere direttamente l'invito di George Rosamond).

Come il precedente Hackathon, l'Hackathon 12 è focalizzato sulla chiusura di PR più o meno importanti in preparazione del rilascio della versione 5.0, potete trovare una lista qui.

Tuttavia Jan fa notare anche che qualsiasi PR corretto è benvenuto (anche riguardanti pkgsrc).

Insomma, che dire, non prendetevi impegni per il fine-settimana dell'11 e 12 Ottobre! Come di consueto oltre a #netbsd-code, anche #netbsd-it sarà un canale apposito per discutere (in italiano) di PR e possibili soluzioni.

Buon hacking a tutti!

Voce: Utente:Leot/BlogEntry: 2008 September 23 22:01:36 CEST

2008 September 19 06:53:20 CEST
Postato da: Leot
Il blog di Leot
Discussione

Forse molti hanno notato che, qualche volta (specialmente in siti pesanti), www/firefox3 mostra il testo in modo molto strano... ...come se non avesse i caratteri del font disponibili.

Fortunatamente Khoa Tran ha recentemente annunciato su pkgsrc-users@ una possibile soluzione. La soluzione consiste nell'aumentare il numero di file descriptor tramite ulimit, comando disponibile in sh(1) e ksh(1), quindi per invocare il browser:

$ ulimit -n 256
$ firefox3

E/o eventualmente scrivere un piccolo script che faccia ciò per noi (utile specialmente se utilizzate applicazioni come x11/dmenu):

#!/bin/sh
ulimit -n 256
/usr/pkg/bin/firefox3 "$@"

Salvandolo ad esempio su ${HOME}/bin ed aggiungendo quest'ultima nella ${PATH}.

Ricordo inoltre che nel thread jmcneil@ aggiunge che il limite di default per i file descriptor aperti (attualmente 64 in 4.0) verrà aumentato sui port i386 e amd64 nella prossima release 5.0.

Voce: Utente:Leot/BlogEntry: 2008 September 19 06:53:20 CEST

2008 September 16 21:26:20 CEST
Postato da: Leot
Il blog di Leot
Discussione

Pochi giorni fa ho reinstallato una snapshot di NetBSD su cappellaiomatto, una macchina NetBSD dedicata al testing delle ultime caratteristiche.

Appena è iniziata l'installazione ho notato una novità molto comoda per chi è un utente del layout Dvorak (come il sottoscritto).

ghen@ infatti un paio di settimane fa ha aggiunto il supporto per il layout di tastiera Colamak e Dvorak in sysinst(8).

Questa aggiunta semplifica moltissimo l'installazione per tutti gli utenti di questi due layout di tastiera.

Prima infatti non era possibile selezionare questi due layout direttamente su sysinst, quindi una possibile soluzione era utilizzare una password debole e facilmente digitabile sia in layout QWERTY che in layout Colemak o Dvorak e poi dopo il primo boot invocare:

# wsconsctl -w encoding=us.dvorak   # o .colemak per il layout Colemak

ed editare /etc/wscons.conf:

[...]
# (choose from user, us, uk, de, dk, it, fr, jp, sv, no, es, pt).
# See wsconsctl(8), pckbd(4), ukbd(4) etc. for more details.
encoding us.dvorak   # o .colemak per il layout Colemak
[...]

Inutile dire che questo miglioramento rende di molto la vita più semplice per gli utenti di questi due layout, fa risparmiare più o meno una diecina di minuti!

Voce: Utente:Leot/BlogEntry: 2008 September 16 21:26:20 CEST

2008 September 16 10:52:16 CEST
Postato da: Leot
Il blog di Leot
Discussione

Primo post, funziona?

Ringrazio di cuore Claudio M. Alessi per aver installato l'estensione MyBlog, in serata scriverò il mio primo vero post qui (ora sto a scuola, navigando grazie ad una VM con NetBSD 4.0 e www/privoxy installata in un paio di minuti).

Grazie Claudio! E buon blogging a tutti!

Voce: Utente:Leot/BlogEntry: 2008 September 16 10:52:16 CEST

Strumenti personali
Strumenti