Il semino libero #2

Continuo con la seconda puntata del semino libero con alcune piccole chicche:

Modificare etichetta hard disk usb esterno

Quando si acquista un HD usb esterno di solito si ha a che fare con etichette esotiche e ci si ritrova con un mount point davvero fastidioso da trattare. Una delle possibili soluzioni è quella di intervenire sull’etichetta della partizione in questo modo:

$ sudo e2label /dev/sdg1 mia_etichetta

Ovviamente il filesystem sulla partizione deve essere di tipo ext*.

Mentre pensavo di scrivere questo suggerimento sul blog mi sono chiesto in quale pacchetto fosse incluso il binario e2label. Ecco quindi la seconda chicca:

Cercare in quale pacchetto è contenuto un binario eseguibile

$ dpkg -S `which e2label`
$ e2fsprogs: /sbin/e2label

quindi il pacchetto da installare (se già non lo avete fatto) è e2fsprogs. Ma come fare per sapere se è già installato? Ci sono varie soluzioni anche in questo caso, quella che propongo è:

$ dpkg --get-selections | grep e2fsprogs
$ e2fsprogs         install

se vogliamo fare i puntigliosi ed avere la prova del 9 che dpkg non sbagli possiamo verificare tutto con il comando:

$ dpkg -L e2fsprogs | grep e2label
$ /sbin/e2label

il comando elenca i file contenuti nel pacchetto e ne filtra il risultato.

Alla prossima!

Annunci

Il semino libero #1

Apro la rubrica del semino libero, piccole chicche di utilità personale che potrebbero far gola anche ad altri…quindi le condivido.
Perché semino? Perché spero di piantare qualcosa che poi cresca…
Perché libero? Perché tratterà di Software Libero.

Rimuovere fingerprints ssh scaduti

Ogni volta che ci si connette via ssh ad un server viene verificata la copia locale del fingerprint (~/.ssh/known_hosts) con l’originale remoto. Se le due firme non coincidono viene visualizzato un messaggio simile al seguente:

$ ssh secrethost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!        @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
[...]
Offending key in /home/ccm/.ssh/known_hosts:46
[...]
Host key verification failed.

Occorre fare attenzione perché, o il fingerprint è scaduto, oppure è stato violato e manipolato (in realtà c’è un terzo caso e cioè quando si forza sshd a ricreare le chiavi di inizializzazione) . Nel caso in cui il fingerprint sia scaduto o comunque ci siamo accertati che il server non si stato compromesso possiamo utilizzare il comando

$ ssh-keygen -R secrethost

e verrà rimosso dalla copia locale il vecchio fingerprint.

Cambiare l’endianess di un file

Per cambiare l’endianness di un file (es. binario) in Unix ci sono principalmente due modalità una manuale e una automatica. La manuale è swab() che si usa così (man 3 swab):

#include <unistd.h>

void swab(const void *from, void *to, ssize_t n);

L’implementazione che permette di leggere un file e usare swab() è lasciata come esercizio al lettore. 🙂

La modalità automatica invece usa dd in questo modo:

$ dd if=flash.bin of=flashsw.bin conv=swab

Per questa puntata è tutto, alla prossima!