mercoledì 30 giugno 2010

L’SNMPD di Debian Squeeze

Perchè Cacti non riesce a fare tutti grafici di una macchina Debian Squeeze nonostante su quest'ultima snmpd sia installato e configurato correttamente?

Perchè dalla versione 5.4.2.1 di net-snmp sono sorti dei conflitti di licenza contro i file MIB di IETF e IANA che fino alla Debian Lenny erano contenuti nel pacchetto libsnmp-base. Ovviamente la rigorosa politica di Debian riguardo alle licenze free ne ha portato all'esclusione.

Niente panico: questi file su Debian esistono ancora, ma stanno nei repository non-free e nel pacchetto snmp-mibs-downloader (che praticamente è uno script che li scarica ed installa).

Prima di tutto bisogna aggiungere 'non-free' ad ogni riga di sources.list... se usate vi/vim e non avete repository di terze parti ve ne uscite con:

vi /etc/apt/sources.list
:%s/main/main non-free/g
:wq!
apt-get update
apt-get install snmp-mibs-downloader

Poi bisogna rettificare la configurazione di snmpd. Se non avete particolari necessità di sicurezza perché siete in una LAN ben protetta dal firewall sicuramente vi basterà configurare snmpd per dare accesso libero in lettura.

(Indico solo le modifiche, non tutto il file di conf!)

/etc/snmp/snmpd.conf:
#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

#rocommunity public  default    -V systemonly
rocommunity public  default

/etc/snmp/snmp.conf:
#mibs :

E si riavvia snmpd con un /etc/init.d/snmpd restart.
A questo punto snmpd sarà in grado, grazie ai preziosi file MIB appena installati, di fornire ai client tutte le informazioni che servono.

credits | rigacci.org

venerdì 25 giugno 2010

Creare un mirror ftp con lftp

Quando serve scaricare tutta una locazione ftp c'è lftp!

sudo apt-get install lftp

Ecco il classico scenario dove serve scaricare diversi file e dirs per preparare un server tftp:

lftp -c "open http://people.debian.org/~joeyh/d-i/images/daily/netboot/debian-installer/i386/; mirror ."

sabato 12 giugno 2010

Compilare Stackless Python su Linux PowerPC (PPC)

IMHO una delle cose più affascinanti del mondo dell'Open Source e del Free Software è che per il 95% delle problematiche c'è già un folle che se ne sta occupando. Per il restante 5% pure, ma è solo questione di tempo... il tempo che i motori di ricerca reindicizzino blog e mailing list.

Io non so quanta gente (in Italia) usi GNU/Linux su processori PowerPC e non so nemmeno quanta gente abbia voglia di smanettare con Netsukuku su processori PowerPC... ma se qualcuno c'è (e mi ci gioco le palle che c'è) e sta sbattendo la testa a cercare di compilare Stackless Python ottenendo solamente un Segmentation Fault... beh forse questo mio post potrebbe essergli utile!

Prima di tutto devo ringraziare Mads Darø Kristensen Aarhus che con il suo post Building Stackless Python on a PS3 (PPC Linux) mi ha dato una direzione sulla quale continuare a smanettare... perchè se lui sulla PS3 ci era riuscito io su un PowerBook G4 no :(

Bene. Non importa se avete scaricato i tarball dei sorgenti o fatto il checkout SVN... spostatevi nella dir dei sorgenti e date un:

./configure --prefix=/test --enable-stacklessfewerregisters

Io ho impostato il prefix in /test per stare tranquillo, di default viene impostato /usr/local ma se avete altra roba installata li forse preferite anche voi installlarlo in una dir separata per non inquinare /usr/local qualora vorreste cancellare del tutto stackless python...

Una volta terminato il ./configure dovete editare il Makefile nella root dei sorgenti (le subdir lo erediteranno) e modificare le var OPT e SLPFLAGS:
  • in OPT cambiare -O2 in -Os
  • in SLPFLAGS modificare -fno-omit-frame-pointer in  -fomit-frame-pointer e -O2 in -Os.

make && sudo make install e poi su /$PREFIX/bin/python avrete il vostro Stackless Python!

Non chiedetemi il perchè... a me ha l'ha compilato solamente così... anzi, se qualche programmatore C passa di qui e me lo spiega gliene sarò grato :)