Archive for the ‘Debian’ Category

iseriesAccess per LINUX (Debian-Ubuntu)

lunedì, febbraio 16th, 2009

Per fare un po’ di ordine riprendendo il vecchio post..

Della serie come connettersi ad un sistema AS400/iSeries con linux (Debian based) e vivere felici.

ATTENZIONE Rilasciata la versione 6.1.0-2
Grazie al solito Muflone di Ubuntu Trucchi, i segreti e gli accorgimenti per far girare su macchine linux il client per connettersi a un sistema AS400.

Installare i pacchetti necessari:

sudo apt-get install unixodbc libstdc++5 libmotif3

Scaricare dal sito ibm la versione di iSeriesAccess (iSeriesAccess-versioneXXX.i386.rpm) per linux; essendoci soltanto il pacchetto .rpm bisogna scaricare il pacchetto alien per convertirlo in .deb

sudo apt-get install alien

Una volta convertito il pacchetto tramite il comando:

sudo alien -d -k iSeriesAccess-versioneXXX.i386.rpm

si può procedere all’installazione:

sudo dpkg -i iSeriesAccess-versioneXXX.i386.deb

Per includere le librerie del pacchetto appena installato è necessario informare il sistema creando un nuovo file:

sudo gedit /etc/ld.so.conf.d/iseriesaccess.conf

e inserire la seguente riga (percorso)

/opt/ibm/iSeriesAccess/lib

Aggiorniamo le librerie con il comando:

sudo ldconfig

Per lanciare correttamente il file di configurazione (setup5250) e l’emulatore del terminale (ibm5250) è consigliabile creare 2 files scripts:

sudo gedit /usr/local/bin/setup5250

e scrivere

#!/bin/sh
export LANG=it_IT.ISO-8859-1
/opt/ibm/iSeriesAccess/bin/setup5250 $@

Analogamente per ibm5250

sudo gedit /usr/local/bin/ibm5250

e scrivere

#!/bin/sh
export LANG=it_IT.ISO-8859-1
/opt/ibm/iSeriesAccess/bin/ibm5250 $@

Infine renderli eseguibili con il comando:

sudo chmod a+x /usr/local/bin/setup5250 /usr/local/bin/ibm5250

Ultimo passo è localizzare in lingua italiana il pacchetto installato:

cd /opt/ibm/iSeriesAccess/mri
sudo ln -s /opt/ibm/iSeriesAccess/mri/it/ it_IT

Aggiungere il supporto iso8859-1 al seguente file:

sudo gedit /var/lib/locales/supported.d/it

e aggungere la seguente riga:

it_IT.ISO-8859-1 ISO-8859-1

Eseguire infine il comando per ricaricare i files di localizzazione:

sudo locale-gen

Un breve accenno alla presenza di altre utilit� nel pacchetto iSeries Access per Linux, presenti nella cartella /opt/ibm/iSeries/Access/bin utili per molteplici finalit� :

    cwbcopr: Consente di regolare numerose propriet� avanzate della connessione, non modificabili mediante interfaccia grafica
    cwbnltbl: Scarica le tabelle di conversione dal sistema
    cwbping: Effettua una serie di test di connessione e funzionamento dei sistemi iSeries, utile per diagnosticare problemi di connessione
    cwbrunsql: Esegue uno script SQL
    cwbtrc: Configura il sistema di registrazione dei messaggi (trace)
    rmtcmd: Esegue un comando remoto non interattivo sul server
    rmtodbc: Esegue un comando remoto sul server attraverso il driver ODBC

Ulteriori informazioni sull’utilizzo di questi comandi possono trovarsi qui e all’interno della cartella
/opt/ibm/iSeriesAccess/doc.
Al suo interno vi è anche una configurazione di stunnel per la connessione all’iSeries tramite crittografia SSL.

Per eseguire interrogazioni sql direttamente da riga di comando (isql) è necessario configurare il file /etc/odbcinst.ini
editando le seguenti righe:

[iSeries Access ODBC Driver]
Description = iSeries Access for Linux ODBC Driver
Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Threading = 2
[ODBC]
Trace = No
Trace File = /tmp/sql.log
Pooling = Yes

e configurare adeguatamente il file /etc/odbc.ini

[as400]
Description = iseries os400
DRIVER = iSeries Access ODBC Driver
SYSTEM = [indirizzo ip del server]
ConnectionType = 1
DefaultLibraries = qgpl< ,altre librerie,...>
Naming = 1
Decimal = 1
LANGUAGEID = “ITA”*

Per collegarsi via sql basta eseguire da terminale:

isql -v as400 [nomeutente] [password]

that’s all folks!

connessione eth0 ubuntu

mercoledì, ottobre 22nd, 2008

mi è capitato che da un momento all’altro il mio ubuntu box non si riuscisse più a connetere alla rete cablata
ecco i comandi che mi hanno aiutato a ripristinare la connessione:

ifconfig -a

per vedere l’interfaccia di rete

poi

sudo iwlist scan

ma non è servito a niente

e infine

sudo lshw -C network

e come per magia è ripartito
🙂
comunque questo post sul forum di ubuntu mi ha dato una mano

tributo al Software Libero

giovedì, luglio 31st, 2008

open source philosophy

martedì, luglio 1st, 2008

INFORMATION IS FREE – U have to Know

PEOPLE ARE NOT – U have to Pay

CONTRIBUTORS ARE PRICELESS – U have to Be

Sincronizzazione ora

domenica, ottobre 28th, 2007

Sotto il sistema operativo Linux è possibile sincronizzare l’orologio del proprio computer con quella di un orologio atomico ad altissima precisione.

E’ sufficiente eseguire il seguente comando come amministratore (root):

ntpdate time.nist.gov && hwclock –systohc

oppure se vogliamo sincronizzarlo con il server italiano

ntpdate ntp.ien.it && hwclock –systohc

Il comando può essere impartito dall’interfaccia grafica aprendo il menù di avvio e scegliendo la voce “Esegui comando…”, oppure aprendo una console. E’ importante eseguire il comando come amministratore, e quindi come root.

In un attimo avremo un orologio preciso al centesimo di secondo!

I caratteri speciali nella bash

domenica, ottobre 21st, 2007

allora è molto semplice…

tasto ALTGR + altro tasto

tasto ALTGR + SHIFT + altro tasto

le lettere particolari si possono fare maiuscole attivando BLOCK-MAIUSC ( es: ŋ e Ŋ )

🙂 vi consiglio di provare un po’ le varie combinazioni… 🙂 scoprirete di poter fare un sacco di simboli

io ne riporto qualcuno 🙂 (suppongo cambino in base al layout della tastiera, il mio è un layout italiano)

[ ALTGR + è oppure ALTGR + 8 (aperta quadra)

] ALTGR + + oppure ALTGR + 9 (chiusa quadra)

{ ALTGR + SHIFT + è oppure ALTGR + 7 (aperta graffa)

} ALTGR + SHIFT + + oppure ALTGR + 0 (chiusa graffa)

~ ALTGR + ì (tilde)

€ ALTGR + e (euro)

¹ / ² / ³ ALTGR + 1 / 2 / 3

« ( » ) ALTGR (+ SHIFT) + < “ / ” ALTGR + v / b ‘ / ’ ALTGR + SHIFT + v / b ™ ALTGR + SHIFT + 8 © ALTGR + SHIFT + c ® ALTGR + SHIFT + r ← / ↓ / → ALTGR + y / u / i per ↑ ALTGR + SHIFT + u ` ALTGR + ‘ Ø ALTGR + SHIFT + o ± ALTGR + SHIFT + 9 ¬ ALTGR + SHIFT + \ È attivare BLOCK-MAIUSC e premere è É attivare BLOCK-MAIUSC e premere SHIFT+è

Non ho paura dei computer, ma della loro eventuale mancanza.

venerdì, settembre 7th, 2007

IA

Non ho paura dei computer, ma della loro eventuale mancanza.

da AS400 a MySql

domenica, giugno 10th, 2007

magari fosse gi risolto… ma incominciamo

I can see three basic ways of doing this:
1) Filebased. In this scenario, you export the data from DB2 in some known format, say CSV, and the schema as a plan text .sql file. Then you have to fix the schema to match what is supported by MySQL and then import the data using, say, LOAD DATA INFILE, mysqlimport. You might have to massage the data a bit before importing it. You don’t say what OS you run MySQL on, so I can’t tell you exactly how to go ahead and do this.

2) ODBC or JDBC based. In this scenario, you use some tool that connects to databases using ODBC or JDBC. You would then connect to both MySQL and DB2 and move the data while being connect to the two of them, or even being connected to one at the time. This will probably not aid you in migrating the schema, but the data should be OK. If you have few tables and only simple data, this could be an option, assuming of course that you have an ODBC driver for DB2. An example of a tool that I have used for this, which should only be used for small amount of data and tables, but which works for testing purposes, is Excel or some other ODBC capable spreadsheet.
—-
beh l’dea potrebbe essere applicata via php…?

3) An integrated full-blown migration tool. There are things like this around, both commercial and open-source. This page on MySQL website shows you many such tools, both commercial and open source:
[solutions.mysql.com]

Debian e AS400

sabato, giugno 9th, 2007

Riporto qui di seguito un post di Dennis Cuccarini (a cui vanno i miei più sentiti ringraziamenti e la mia stima per un post “idiot proof”) che spiega come far diventare amici Debian (sarge distro) e AS400

Ecco come collegarsi ad un server AS/400 tramite php installato su una macchina linux. Il sistema piu’ rapido sembra quello di usare l’odbc, ecco come ho proceduto:

1) Installare lo unix odbc:

[root@localhost]# apt-get install unixodbc

2) Scaricare il driver ibm odbc linux versione del 26 Settembre 2003 da qui. Occorre una registrazione gratuita.

3) Convertiamo il pacchetto per debian (qui il lavoro gia’ fatto):

/* ecco… questo passaggio non è andato a buon fine e perciò ho dovuto scaricare da dennis il pacchetto pronto per debian…. 🙁 */

[root@localhost]# alien -d iSeriesODBC-5.1.0-0.16.i386.rpm

4) Installiamo il pacchetto appena creato (o scaricato :P)

[root@localhost]# dpkg -i iseriesodbc_5.1.0-1.16_i386.deb
*******
nuovo pacchetto
dpkg -i iseriesaccess_5.2.0-2.14_i386.deb
*******************
5) Aggiungere la riga /opt/ibm/iSeriesODBC/lib/ al file /etc/ld.so.conf

**************
new
Aggiungere la riga /opt/ibm/iSeriesAccess/lib/ al file /etc/ld.so.conf
**************

6) Eseguire un ldconfig per aggiornare le librerie

7) Editare il file /etc/odbcinst.ini aggiungendo le seguenti righe:

[iSeries Access ODBC Driver]
Description = iSeries Access for Linux ODBC Driver
Driver = /opt/ibm/iSeriesODBC/lib/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Threading = 2

[ODBC]
Trace = No
Trace File = /tmp/sql.log
Pooling = Yes

8) Aggiungere le seguenti righe al file /etc/odbc.ini :

[as400]
Description = iseries os400
DRIVER = iSeries Access ODBC Driver
SYSTEM = 192.168.50.1
ConnectionType = 2
Naming = 1
DefaultLibraries = QGPL
Decimal = 1
LANGUAGEID = “ITA”*

8) A questo punto verifichiamo che non manchi nessuna libreria con:

[root@localhost]# dltest /opt/ibm/iSeriesODBC/lib/libcwbodbc.so

Personalmente mi dava errore dicendo che non trovava la libstdc++-libc6.2-2.so.3, ma e’ stato sufficiente un

[root@localhost]# apt-get install libstdc++2.10-dbg

per risolvere il problema.

*********************************************************
aggiornamento e variante

dalla versione iseriesaccess_5.2.0-2.14_i386.deb
il programma dltest non viene più usato

Sull’ultima vesrsione di Ubuntu (8.10 Intrepid Ibex) il pacchetto per far girare il tutto è:
libstdc++5
che si può installare tramite il solito e mitico:

sudo apt-get install libstdc++5

**********************************************************

Ora se eseguite nuovamente dltest /opt/ibm/iSeriesODBC/lib/libcwbodbc.so vi rispondera’:

[root@localhost]# dltest /opt/ibm/iSeriesODBC/lib/libcwbodbc.so
SUCCESS: Loaded /opt/ibm/iSeriesODBC/lib/libcwbodbc.so

9) A questo punto testiamo realmente il collegamento all’as400:

[root@localhost]# isql -v as400

se otterrete una tabella come questa come risposta sara’ tutto ok:

[root@localhost]# isql -v as400 username password
+—————————————+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+—————————————+
SQL>

Altrimenti ricontrollate i file sopra.

10) Fine 🙂 A questo punto potrete collegarvi con i vostri script php alla macchina as/400 (usando le istruzioni odbc ovviamente, per le quali vi rimando al manuale).

___________________________________________________

Alcune considerazioni…

La procedura è con Debian Sarge; avendo personalmente aggiornato la versione a Etch ci sono dei problemi nella procedura di installazione dei pacchetti

Con l’aggiornamento a etch, php4-odbc risultava deinstall
dopo aver fatto un apt-get update upgrade (con la /etc/apt/sources.list con ‘etch’ al posto di ‘stable’, la situazione pacchetti è questa:

[root@localhost]#dpkg –get-selections | grep odbc

iseriesodbc deinstall
odbcinst1 deinstall
odbcinst1debian1 install
php4-odbc install
unixodbc install

se installo il vecchio driver per debian iseriesodbc_5.1.0-1.16_i386.deb

[root@localhost]# dpkg -i iseriesodbc_5.1.0-1.16_i386.deb

Spacchetto iseriesodbc (da iseriesodbc_5.1.0-1.16_i386.deb) …
dpkg: problemi con le dipendenze impediscono la configurazione di iseriesodbc:
iseriesodbc dipende da odbcinst1; comunque:
Il pacchetto odbcinst1 non è installato.

Questo perchè Etch ha sostituito il pacchetto odbcinst1 con odbcinst1debian1
Bisogna andare nel file dei pacchetti

[root@localhost]# vi /var/lib/dpkg/status

e editare la parte delle dipendenze di iseriesodbc:

odbcinst1debian1 al posto di odbcinst1

ho notato che in sistemi debian based, che le lib di iSeriesAccess fanno fatica ad essere linkate ( non sono capace io, è troppo disumana quell’accrocchio ) per cui ho semplicemente pensato di linkare le lib presenti in /opt/ibm/iSeriesAccess/lib/ in /usr/lib/

Così:

ln -s /opt/ibm/iSeriesODBC/lib/libcwbodbc.so /usr/lib/libcwbodbc.so
ln -s /opt/ibm/iSeriesODBC/lib/libcwbcore.so /usr/lib/libcwbcore.so

YYYYYYYYYEEEEEEEEEAAAAAAAAAAHHHHHHHHHHHHH

primo crash della creatura

giovedì, maggio 31st, 2007

si potrebbe definire proprio così

alle 23 circa di ieri per creare un pdf da una pagina php….

il problema era dovuto al smbclient che rilevava troppi errori…. 🙂