giovedì 22 novembre 2007

Ltsp su architettura X86_64

In alcuni commenti ad un post precedente si era parlato di LTSP server su architettura a 64 bit. Io, non avendolo mai provato e presumendo complicazioni, sconsigliavo di farlo. Avendo adesso a disposizione una macchina a 64bit ho deciso invece di provare.
Ho installato una versione di Ubuntu Gutsy per AMD64, poi ho creato l'ambiente server per ltsp usando i comandi già descritti in questo post. Dal momento che il server dhcp risiedeva su un'altra macchina della rete ho dovuto semplicemente modificare qualche parametro per indirizzare le richieste di tftp al server giusto. L'unica piccola (ma sostanziale) differenza in tutto il processo è stato il comando per creare l'ambiente chroot dei client: ho infatti usato "sudo ltsp-build-client --arch i386".
Con questa opzione attivata viene infatti costruito un ambiente chroot in grado di far partire i pc con architettura uguale o superiore a i386 (cioè tutti i cosiddetti x86). La scelta è logica poichè i thin client per definizione sono macchine poco potenti e difficilmente vengono costruiti su architetture diverse dalla x86, e comunque all'occorrenza anche un pc con processore X86_64 gira tranquillamente con sistema operativo a 32 bit per i386.
Nella pratica succede che i thin client fanno il boot e avviano i processi di sistema di base a 32 bit nell'ambiente chroot, dopodichè in ambiente grafico (e a questo punto siamo sul server) le applicazioni che vengono lanciate sono a 64 bit. I vantaggi sono evidenti: se vogliamo gestire un numero molto elevato di thin client l'architettura X86_64 è in grado di usare in modo molto più efficiente quantità di memoria ram superiore ai 4Gb. Per una esaustiva discussione sulle differenze tra sistemi a 32 e 64 bit suggerisco di dare un'occhiata qua.

martedì 6 novembre 2007

Postfix, Exchange e pipelining

Talvolta da postfix non è possibile inviare posta verso alcuni domini e nei log si trovano dei messaggi abbastanza generici che parlano di "timeout after DATA". In questi casi di solito i problemi vengono attribuiti alla configurazione di alcuni apparati di rete, e come soluzione si suggerisce di agire sulla dimensione degli MTU (Wietse Wenema, creatore di Postfix, in un post su una mailing list suggeriva di usare MTU = 1000, ma ho perso il link) e di disabilitare l'MTU auto discovery (in linux si disabilita con sysctl -w net.ipv4.ip_no_pmtu_disc=1). In altri casi qualcuno suggeriva di agire sui timeout, in postfix ce ne sono parecchi che si possono modificare (per vedere l'attuale configurazione di postfix e avere nel contempo l'elenco dei parametri di configurazione utilizzabili basta digitare "postconf" da linea di comando).

Nel mio caso succedeva che i messaggi solo testo partivano mentre quelli contenenti allegati non ne volevano sapere. Nessuna delle soluzioni suggerite sopra aveva funzionato, il server remoto era un Exchange, si presentava come Microsoft ESMTP Server 6.0.3790.3959. Dopo parecchio tempo speso a cercare la soluzione ho scoperto questo. In pratica alcune versioni di Exchange durante la fase di negoziazione del protocollo millantano di supportare la funzione PIPELINING, mentre invece non è vero: la connessione inizia ma non succede nulla, alla fine del tempo a disposizione la connessione viene chiusa e compare l'errore nei logs.

Occorre quindi dire a postfix di non tenere in considerazione l'opzione pipelining se gli viene proposta da quel particolare server. Ecco come si fa:

Edito il file /etc/postfix/main.cf e aggiungo la riga:

smtp_discard_ehlo_keyword_address_maps = hash:/etc/postfix/ehlo_keywords

Poi edito /etc/postfix/ehlo_keywords in questo modo:

<ip_server_remoto_bacato> pipelining

salvo, chiudo e lancio il comando postmap /etc/postfix/ehlo_keywords

A questo punto "postfix reload" ed il gioco è fatto.

giovedì 18 ottobre 2007

LTSP su Ubuntu Gutsy: sempre più facile

Oggi è il 18 Ottobre, data in cui dovrebbe uscire la release 7.10 di Ubuntu (Gutsy Gibbon). Sul sito di Ubuntu ancora non è comparso nessun annuncio, tuttavia è da parecchie ore che non escono pacchetti aggiornati, quantomeno riguardo al software che uso io, quindi ritengo che i miei pc su cui gira Gutsy possano essere ormai considerati "stabili".

Ho provato a ricreare l'ambiente LTSP server + thin client per verificare eventuali differenze rispetto alla release precedente e, ovviamente, eventuali miglioramenti. Sulla macchina destinata a fare da server (in realtà il mio desktop in ufficio) ho lanciato il comando:

aptitude install ltsp-server ltspfs

e ho accettato di installare le relative dipendenze.

Non ho assolutamente preso in considerazione questo messaggio:

NOTE: you will probably want to add to /etc/exports:
/opt/ltsp *(ro,no_root_squash,async)
and then run:
invoke-rc.d nfs-kernel-server reload


perchè il pacchetto nfs-kernel-server non è installato e non è stato richiesto durante la fase di installazione, si tratta probabilmente di un refuso. Finita l'installazione ho semplicemente lanciato il comando:

ltsp-build-client

e ho aspettato la fine del processo.

venerdì 12 ottobre 2007

Backup su server FTP

Segnalo un utile strumento che serve a mantenere sincronizzati una directory locale e una remota su un server ftp.
Si tratta di FTPSync.pl che, come si intuisce dal nome, è uno script in Perl.

Traduco parte di quanto scritto nel file README,:

"Ftpsync.pl mantiene sincronizzata una gerarchia di directory locali con una gerarchia di directory remote su un server ftp. E' stato inizialmente scritto per automatizzare operazioni di web publishing ma può risultare utile per numerose altre operazioni, come fare un mirror di siti pubblici non troppo grossi, replicare dati e molto altro.

Perchè usare ftpsync.pl invece di mirror, sitecopy ....?

E' vero, ci sono altri progetti simili, alcuni commenti su questi:

rispetto a mirror, ftpsync.pl è in grado di fare anche PUT, non solo GET (se mirror è in grado di fare anche PUT non prendetevela con me, io non ci sono riuscito). Rispetto a sitecopy, ftpsync.pl non ha alcun problema se il sito remoto dopo l'ultima sincronizzazione viene modificato da altri tool o processi. Ftpsync.pl, a meno di problemi di connettività o di bachi, fornisce sempre una sincronizzazione affidabile. Rispetto a tutti e due ftpsync.pl è estremamente leggero."

mercoledì 10 ottobre 2007

Aggiornamento a WP 2.3

Lo sapevo che sarebbe potuto succedere. Aggiornando il blog a Wordpress 2.3 mi si è pesantemente sbelinato il tutto. Il tema che avevo faticosamente modificato e adattato non funziona più. Non vengono più riconosciuti i tags e ci sono tutta una serie di altre fastidiose anomalie.

Sono costretto a tornare temporaneamente al tema di default di WP, nel frattempo vedrò di sistemare il vecchio tema oppure, perchè no, metterne uno nuovo.

venerdì 5 ottobre 2007

Ubuntu LTSP - Thin client per piccola azienda (3)

In questo terzo e ultimo post sui thin client cerco di spiegare alcuni dettagli di messa a punto e gestione della rete basata su server LTSP e thin client. La documentazione ufficiale su questi argomenti si trova invece qua.

Preparazione dei dischi per il boot dalla rete

Non tutti i pc sono in grado di fare il boot direttamente dalla scheda di rete. Anzi, normalmente solo macchine relativamente recenti, diciamo costruite grossomodo dal 2003 in avanti, sono in grado di farlo. Dal momento che uno dei vantaggi dei thin client è proprio quello di poter riciclare pc molti vecchi è assai probabile che sarà necessario preparare un cd o un floppy di avvio che permetta al pc di caricare il sistema operativo dal server ltsp.
Fortunatamente la procedura è molto semplice: grazie a rom-o-matic è possibile "fabbricarsi" una immagine di avvio per ogni scheda di rete. Per fare questo bisogna innanzitutto conoscere il tipo di scheda di rete presente nel thin client, e questo in qualche caso potrebbe non essere semplicissimo. In generale, su pc in grado di avviarsi da cd-rom è sufficiente avviare la macchina con una qualunque distribuzione linux live (io mi porto sempre dietro una Knoppix per ogni evenienza) e usare il comando

lspci

per identificare in maniera corretta la scheda presente sotto la voce "Ethernet controller". Una volta identificata la scheda, se non si conosce il nome del relativo modulo da caricare è sufficiente fare una rapida ricerca su google mettendo il nome e il modello della scheda trovata assieme alla stringa "linux module" ed in genere tra i primi risultati viene riportato il nome del modulo corretto. Mi sono anche capitati pc ancora più vecchi, dotati solo di unità floppy da 3.5", ma in quel caso erano dotati di una vecchia scheda a 10 Mbit, non idonea per un thin client, e ho quindi dovuto sostituirle con schede a 100Mbit che già conoscevo.
Una volta identificata la scheda e il relativo modulo su rom-o-matic si sceglie dal menu a tendina la voce corretta, il tipo di immagine ("Floppy bootable ROM image" per i floppy o "ISO bootable image without floppy legacy emulation" per i cdrom) e si scarica il file che viene prodotto. Per creare un floppy di avvio si può usare semplicemente il comando:

cat <nome_immagine_scaricata>.zdsk > /dev/fd0

mentre per il cd-rom basta masterizzare il file .iso.
Un'opzione interessante del rom-o-matic è che molti parametri di rete possono essere predefiniti nell'immagine che si sta creando. Posso per esempio fissare già un indirizzo ip, un gateway di default e parecchi altri parametri. In teoria tutto questo dovrebbe permettere l'avvio e l'utilizzo di un thin client senza aver bisogno di configurare un server dhcp nella rete.

martedì 2 ottobre 2007

Samba, Active Directory e permessi

Debian 4.0 etch, samba 3.0.24-6etch4 attaccato ad un Domain Controller Win2000 con Active Directory (http://www.debian-administration.org/articles/340).

Era una situazione di semi emergenza, dovevo sostituire al volo un fileserver Win2K deceduto mettendo tutti gli share da un'altra parte, e cosa meglio di una macchina Linux già pronta, sottoutilizzata e con dello spazio libero? Installo samba e gli altri pacchetti necessari, faccio tutta la procedura per attaccarmi a Active Directory, sistemo le configurazioni. Tutto ok tranne una cosa: non c'è verso di fargli riconoscere a dovere i permessi relativi ai gruppi (non gli utenti, solo i gruppi). Di conseguenza non è possibile dare l'accesso agli utenti, se non facendo una sorta di "liberi tutti" o mettendo esplicitamente il nome di ogni singolo utente nella configurazione: ambedue soluzioni improponibili.

martedì 7 agosto 2007

Apt: gpg error NO_PUBKEY

Ogni volta che aggiungo o modifico un repository di pacchetti deb su Debian o Ubuntu compare regolarmente un avviso del genere:

W: GPG error: http://apt.schmidtke-hb.de feisty Release: Le seguenti firme non sono state verificate perchè la chiave pubblica non è disponibile: NO_PUBKEY 5B638EFECEAE2DE7
W: È consigliabile eseguire apt-get update per correggere questi problemi


E ogni volta mi devo andare a ricercare i comandi per importare la chiave pubblica. Basta. Qua ho trovato una semplice e funzionale soluzione. Basta creare uno script fatto in questo modo:

#!/bin/bash
until [ -z "$1" ]
do
gpg --keyserver pgpkeys.mit.edu --recv-key $1
gpg --keyserver wwwkeys.eu.pgp.net --recv-key $1
gpg -a --export $1 | sudo apt-key add -
shift
done


salvarlo con un nome appropriato (es. get_keys.sh), dargli i permessi di esecuzione (chmod +x get_keys.sh) e lanciarlo (come root o con sudo) in questo modo:

./get_geys.sh 5B638EFECEAE2DE7

e si otterrà:

gpg: richiesta della chiave CEAE2DE7 dal server hkp pgpkeys.mit.edu
gpg: chiave CEAE2DE7: chiave pubblica «Oliver Schmidtke Apt-Repository (Repository Signing Key) » importata
gpg: Numero totale esaminato: 1
gpg: importate: 1
OK


Finito, semplice e funzionale.

lunedì 30 luglio 2007

QoS e openvpn su Debian

Un nostro cliente ha diverse sedi collegate fra loro in vpn. Il software utilizzato per questo scopo è Openvpn su piattaforma linux (Debian, per la precisione). Le vpn realizzate con questo software sono sicure, stabili, efficienti e, last but not least, semplici da configurare e da gestire. Non a caso dopo che, qualche anno fa, avevo provato vari tipi di vpn per linux (tra cui l'ingestibile e complicatissimo FreeSwan) la scelta era caduta proprio su openvpn. E sinceramente non ho mai avuto modo di pentirmi di questa scelta. Per meglio comprendere il prosieguo di questo articolo suggerisco di dare un'occhiata a grandi linee a come funziona un tunnel con Openvpn.

Recentemente ho avuto bisogno di implementare un servizio di QoS (Quality of Service) tra le due sedi principali per permettere a due apparecchi per videoconferenza di comunicare al meglio fra loro: andava garantita una disponibilità minima di banda alle comunicazioni tra le due due macchine per permettere alla videoconferenza di svolgersi in maniera fluida senza scatti e/o altri disturbi.

lunedì 25 giugno 2007

Belkin F8T012 bluetooth adapter su Kubuntu Feisty

Il Belkin F8T012 è un adattore bluetooth usb dalle buone prestazioni che, a differenza di altri simili prodotti, non viene automaticamente riconosciuto da Feisty. Viene anzi riconosciuto come un'altra periferica (Pegasus II USB Ethernet) e non funziona. Bisogna quindi ricorrere a qualche aggiustamento manuale. Non essendo un patito di piccoli gadget come cellulari e palmari, non avevo mai installato dei dispositivi bluetooth su Linux. Ho comprato questo aggeggio (17 € su eprice) più che altro per curiosità e ci sono rimasto un po' male quando ho scoperto che non funzionava "out of the box" con Kubuntu Feisty. Per farlo funzionare e comunicare col mio Nokia 6230i ci ho perso un bel po' di tempo cercando documentazione in rete, che per la verità ho trovato frammentata e tutto sommato incompleta. Scrivo qua come ho fatto un po' come promemoria è un po' perchè magari farà risparmiare un po' di tempo e incazzature ad altri.

lunedì 18 giugno 2007

Ristorante Cappotto

Si trova a Frisolino di Ne, nell'entroterra ligure a una decina di Km da Lavagna. Qui trovate la descrizione "ufficiale". Io posso solamente aggiungere che ho mangiato (e bevuto) veramente bene, per un prezzo equo. Ottimo il fritto misto all'italiana, ma anche altri piatti che ho visto passare mi hanno fatto venire voglia di tornare, cosa che spero di poter fare in tempi ragionevoli. Non capita spesso di finire una cena veramente soddisfatti, questa volta è successo.

giovedì 7 giugno 2007

Ubuntu LTSP - Thin client per piccola azienda (2)

Installare un server LTSP per thin client con le ultime release di Ubuntu è diventato veramente semplice. In particolare l'immagine iso di Edubuntu denominata "Edubuntu 7.04 Classroom Server CD" prevede già l'installazione di default di tutto ciò che serve a far partire i thin client. Chi decide di effettuare una installazione pulita partendo da questa iso può tranquillamente passare alla descrizione dell'impostazione del server dhcp.
Se invece si vuole installare LTSP partendo da una versione Ubuntu normale o aggiungerla ad un sistema già funzionante è sufficiente digitare:

sudo apt-get install ltsp-server ltspfs

Automaticamente verranno risolte tutte le dipendenze e verrà proposta l'installazione di una serie di pacchetti, questo, ad esempio, è quello che è stato installato automaticamente sul pc che uso normalmente come workstation:

I seguenti pacchetti verranno inoltre installati:
debconf-utils debootstrap libevent1 libgssapi2 librpcsecgss3 nbd-server
nfs-common nfs-kernel-server openbsd-inetd tftpd-hpa


Vengono inoltre suggeriti alcuni pacchetti da installare

Pacchetti suggeriti:
dhcp3-server sdm audiooss


ma in questo momento, come si vedrà in seguito, è meglio non farlo.

Microsoft e la zappa sui piedi

In questi giorni ricevo in continuazione richieste di assistenza da parte di utenti alle prese con Office 2007. Si sono trovati il suddetto prodotto preinstallato su dei pc nuovi acquistati recentemente. La prima lamentela riguarda il formato .docx di word, che è il predefinito. Ovviamente gli utenti scrivono il loro bel documento in word, lo salvano, e spesso lo inviano a altre persone . La maggior parte degli altri utenti però usano ancora Office XP/2003, quindi non riescono a leggere questi documenti. Questa è facile da risolvere (penso io): basta suggerire agli utenti di salvare in formato word 97/2003. Era tanto che non se ne vedevano ma ci siamo già passati dai cambi di formato. Peccato però che il pulsante "Salva con nome" non sia visibile, e nemmeno facilmente rintracciabile, insomma non sanno come fare. Allora intervengo da remoto e scopro che, alla faccia delle promesse, l'interfaccia di word 2007 non è per nulla facile nè intuitiva, i menù sono difficili da trovare e organizzati in maniera quantomeno bizzarra. E' vero però che è esteticamente carina, niente da dire su questo. Pazienza, con un po' di ricerca si trova tutto.

giovedì 31 maggio 2007

Ubuntu LTSP - Thin client per piccola azienda (1)

Per chi non lo sapesse i thin client sono dei terminali stupidi non dotati di sistema operativo. Il sistema operativo e tutti gli applicativi che servono al loro funzionamento gli vengono passati da un terminal server tramite rete. In pratica lavorando su un thin client si sta lavorando direttamente sul server. Qualunque computer, anche obsoleto, in grado di avviarsi da rete, da floppy o da cdrom può diventare un thin client. Non c'è nemmeno bisogno di avere un hard disk. E' sufficiente che abbia una piccola quantità di memoria (32 Mb in genere sono più che sufficienti), una scheda di rete a 100Mbit, un mouse e una tastiera. I vantaggi di una soluzione di questo genere sono molti. I più rilevanti sono la possibilità di riutilizzare hardware vecchio e la centralizzazione della manutenzione sul solo server. Ovviamente non mancano gli svantaggi: ad esempio è possibile collegare solo alcuni tipi di periferiche direttamente ai thin client, scordatevi l'ultimo palmare-navigatore-che-fa-anche-il-caffè attaccato ad un thin client. Come in tutte le cose l'opportunità di passare a questo tipo di tecnologia va valutata soppesando attentamente i pro e i contro anche se, come opinione personale, i thin client sarebbero adatti alla maggior parte degli utilizzi lavorativi.

mercoledì 30 maggio 2007

Sapori forti

Fisherman’s Friend Extra StrongSaila Liquirizia Purissima Extra FortePer chi ama i sapori forti: una caramella Fisherman's Friend extra strong (quelle bianche), in bocca assieme ad una Saila Liquirizia Purissima extra forte.
Spettacolare!!!

martedì 29 maggio 2007

Backup incrementale con tar

Una funzionalità di tar non molto usata è quella degli archivi incrementali. E' invece una funzionalità che può risultare molto utile in alcune strategie di backup, quando, ad esempio, si esegue un ciclo di backup su base settimanale ma non si vuole o non si può fare un backup completo ogni giorno.
Supponiamo ad esempio di voler fare il backup della directory /home/documenti salvando l'archivio in /var/backup. Il comando da dare è:

tar zcvf /var/backup/documenti-`date +%s`.tgz --listed-incremental=/var/log/documenti.tarlog /home/documenti

Viene cioè creato un'archivio dal nome documenti-<data in formato unix>.tgz (per esempio: documenti-1180427502.tgz), che contiene tutto quello che c'è in /home/documenti. La scelta di aggiungere la data in formato unix è totalmente arbitraria e serve solo come promemoria. Può essere usata al suo posto la data in formato normale usando +%F al posto di +%s.
Viene inoltre creato un file di log (/var/log/documenti.tarlog) che servirà a tar nei successivi backup per capire cosa è cambiato in /home/documenti e cosa va quindi inserito nei successivi backup.
Nei successivi archivi creati con lo stesso comando verranno inseriti solo i file nuovi o modificati e verrà aggiornato il file di log.
Cancellando il file di log e rilanciando il comando viene ricreato un archivio completo. Tutti gli archivi creati, quelli completi e quelli incrementali, hanno il grosso vantaggio di poter essere trattati individualmente, cioè non c'è bisogno della presenza del file di log per poter estrarre i files e le directory in essi contenuti.

lunedì 28 maggio 2007

Un server di cd e dvd

Un cliente dell'azienda per cui lavoro utilizzava un CD-Tower, uno di quegli apparecchi in cui sono impilati uno sopra l'altro numerosi lettori cd/dvd, nel caso specifico erano 8, e che servono a mettere in rete cd e dvd (in questo caso banche dati) a disposizione degli utenti, i quali lavorano tutti su postazioni windows. L'apparecchio inoltre era dotato di un disco da 30Gb, per archiviare le immagini dei cd.
Un bel giorno ha smesso di funzionare, nel senso che andava in crash dopo pochi minuti dall'accensione. Ho tentato (non che ci credessi molto) un aggiornamento firmware ma niente da fare. Una rapida ricerca online ha rivelato come il modello in questione fosse "discontinued" già da tempo e come nessuno fornisse più assistenza. Apparecchi nuovi con le stesse funzionalità hanno dei costi superiori ai 2000€, secondo me decisamente troppo per le funzioni che servivano al cliente.
Ho quindi suggerito di rimpiazzare l'apparecchio con un normalissimo pc, sul quale avrei installato un linux, e col quale avrei messo a disposizione degli utenti le immagini di cd e dvd.
Mi hanno messo a disposizione un buon pc desktop, un P4 a 3 Ghz, con 1Gb di ram, un disco SATA da 75Gb e, ovviamente, un lettore dvd. In realtà basta (e avanza) molto meno, ma per una volta che non si è andato al risparmio non mi sono certo lamentato.