Linux, informatica

Nel 1982 arrivò lo Spectrum che anticipò di soli 4 anni l'ingresso nel mondo del lavoro come informatico.

Da una lista files estrarne il contenuto via pipe con awk

Il problema è data una lista files estratta da operazioni di piping mostrarne il contenuto in modo da avere una sola riga di pipe.

Una possibile soluzione è utilizzare il comando awk con la sintassi system:

awk '{system("cat " $0)}'

Naturalmente, partendo da questa semplice istruzione, si possono aggiungere features e raffinare l'output.

Un difetto è che il nome del file non deve contenere spazi o separatori, ma si può risolvere usando il potente sed:

sed 's/\\ /\\\\\\ /g' | awk '{system("cat " $0)}'

Copia fisica di un disco rigido su un file

Per creare un file immagine di un disco rigido è sufficiente utilizzare un comando del tipo:

dd if=/dev/sda | gzip -9 -c> immagine.gz

Ma attenzione: se come destinazione si usa un disco formattato con un file system che non supporta file grandi (es. 4GB per l'NTFS o FAT32), bisogna usare il comando split in modo da creare diversi files di dimensione opportuna. Il comando quindi diventa:

dd if=/dev/sda | gzip -9 -c | split -b 3600m /dev/stdin "immagine.gz.part-"

Accessi passwordless in SSH

Per generare accessi ssh passwordless bisogna scegliere l'utente sotto cui ci si collegherà al server, per esempio creandone uno ad-hoc, nel nostro caso "pwless".

Operazioni preventive sul server (i commenti tra parentesi quadre), effettuate come utente root:


user@server:~/sudo -i

[ inserire la propria password ]

root@server:~# useradd pwless -d /home/pwless
root@server:~# passwd pwless

[ inserire la password due volte ]

Reverse tunnel via SSH

A volte ci si imbatte nel problema di dover accedere ad una macchina che non è esposta in rete pubblica ma vi può approdare attraverso un NAT. È il tipico esempio di rete domestica o di piccola azienda o - più in generale - delle normali ADSL.

Avendo a disposizione un'altra macchina raggiungibile in SSH ed esposta in rete pubblica, è possibile "proiettare" su questa una porta TCP del computer interno. Ad esempio questo tipo di configurazione può servire per accedere da remoto ad un calcolatore che altrimenti non sarebbe raggiungibile.

Il procedimento è piuttosto semplice.