unix

Mattepuffo's logo
Introduzione ai SIGNAL in Rust

Introduzione ai SIGNAL in Rust

In general un SIGNAL è un "software interrupt" (scusate ma non saprei come tradurlo in italiano) che viene inviato dal sistema o da un processo per notificare un evento.

Ad esempio quando lanciate un comando nel terminale e poi premte CTRL+C per interromperlo; quello è un SIGNAL.

Mattepuffo's logo
Visualizzare gli inode in Linux

Visualizzare gli inode in Linux

Da Wikipedia:

Nei sistemi Unix, un inode (o i-node, abbreviazione di index node) è una struttura dati sul file system che archivia e descrive attributi base su file, directory o qualsiasi altro oggetto.

Descrizione

Le informazioni includono:

  • la dimensione del file e la sua locazione fisica (se risiede su un dispositivo a blocchi, come ad es. un hard disk);
  • il proprietario e il gruppo di appartenenza;
  • le informazioni temporali di modifica (mtime), ultimo accesso (atime) e di cambio di stato (ctime);
  • il numero di collegamenti fisici che referenziano l'inode;
  • i permessi d'accesso;
  • un puntatore allo spazio del disco che contiene i file veri e propri.

Ovviamente non è detto che ci serva sapere gli inode dei files tutti i giorni; però mi sono imbattutto in vari programmi che, a funzionando a basso livello, preferivano usare gli inode piuttosto che i nomi dei files.

Mattepuffo's logo
Eseguire il chroot su Linux con Groot

Eseguire il chroot su Linux con Groot

Il chroot, nei sistemi UNIX base, è una "procedura" con la quale è possibile cambiare temporaneamente la root directory dei processi correnti.

Su Linux ho usato questa procedura usata per diversi scopi, e non è difficile da eseguire.

Però ci sono diversi comandi da usare.

Ho però scoperto Groot, che in ci permette di eseguire il chroot in maniera molto semplice.

Mattepuffo's logo
Connessione ODBC in Python

Connessione ODBC in Python

La necessità è quella di connettere Python a un database Oracle, su piattaforma Linux.

Avendo già installato unixODBC, ho deciso di usare quella connessione.

Per sapere come installare e configurare unixODBC su Linux per un db Oracle potete vedere qua.

Do quindi per scontato questo passaggio.

Mattepuffo's logo
Connessione ODBC con Node.js

Connessione ODBC con Node.js

Oggi vediamo come poter connettere ad un database un nostro programma scritto in Javascript con Node.js; il tutto usando usando ODBC.

Questo perchè, nel mio caso, avevo bisogno di connettermi ad Oracle, e così mi è risultato più facile.

La prima cosa da considerare è che Node.js e npm devono essere installati (lo do per scontato)

La seconda è che il sistema deve essere predisposto ad usare gli ODBC.

Windows ha già tutto il necessario; quindi, anche se nel caso specifico siamo su Linux, non dovremmo avere problemi su Windows.

Su Linux e macOS, invece, dobbiamo installare unixODBC.

Su Archlinux:

# pacman -Sy unixodbc

Su macOS (non testato):

$ brew install unixodbc

A questo punto ci servono due file:

  • package.json
  • main.js

Mattepuffo's logo
Connessione a Oracle con ODBC su Linux

Connessione a Oracle con ODBC su Linux

Ci ho messo un pò, perchè non easy come su Windows, ma alla fine ce l'ho fatta.

E a questo punto posso connettere la mia macchina Linux direttamente a Oracle senza passare per SQLDeveloper.

Sostanzialmente gli step sono tre:

  • installaazione dell'ODBC (unixodbc nel mio caso)
  • installazione dell'Oracle client
  • creare dei file di configurazione

Cominciamo con il primo punto, considerando che io sto su Archlinux, e quindi su altre distro può essere diverso.