Ricerca tra la vecchia roba

Quando i kernel fanno Ops

Posted: marzo 15th, 2009 | Author: | Filed under: crash, linux | Commenti disabilitati su Quando i kernel fanno Ops

Succede che stamattina voglio inserire una scheda sonora sullo pseudo-server che ho a casa in modo da poter grabbare l’audio dala scheda TV entrata in mio possesso da un vecchio computer di un mio amico. Succede che la monto e avvio il sistema. Succede che ad un certo punto mi esce un Ops del kernel all’inserimento del modulo e il tutto è bloccato.

Potrei semplicemente togliere la scheda, ma si sa, le sfide ci sfidano e quindi voglio vedere se è proprio il modulo oppure chi lo sa? la digos che cerca di penetrare la mia rete casalinga attraverso il firmware della scheda (devo bere di meno alle cene benefit)…

Primo fatto è che devo conoscere quale modulo è stato in particolare… già di suo il kernel presenta un backtrace del processo che ha fatto il bordello, ma magari vogliamo sapere di più e così usiano la comoda procedura Ctrl-Alt-PrintScreen-<alzare un elefante> che peraltro ci serve anche per riavviare senza usare il tasto reset che fa tanto ficoooo.

Il problema successivo ovviamente è che il sistema si blocca anche in modalità single (voglio la modalità erotomane) e quindi bisogna agire sui parametri dl kernel al boot per evitare che esegua la procedura di init(1) ma che ci lasci con una bella shell.

Quando arriva Grub non bisogna fare altro che impostare una riga del tipo

kernel /boot/vmlinuz-2.6.26-1-686 root=/dev/md0 init=/bin/sh

in modo che il kernel una volta caricato in memoria e impostato quelle 3 o 4 cose fondamentali avvi una shell; nei sistemi UNIX, nelle incarnazioni derivate dalla versione SystemV, il programma che avvia il sistema si chiama proprio init (che ha pid 0) che si preoccupa di avviare tutti gli altri processi (come indicato da inittab(1)) e che di solito sono in directory indicanti il runlevel (tipo rc2.d). Quindi indichiamo la shell sh come programma al posto di init (con il suo path of course) l’unico problema è che il filesystem viene montato read only e siccome è proprio il filesystem di root non è che lo posso smontare… usiamo l’opzione remount nella seguente maniera

mount -o remount,rw /dev/md0 /

(quando compare il prompt di sh of course) così da avere il nostro tree di directory adesso disponibili per un uso completo (nel mio server sto usando un RAID1 software in maniera da non perdere i miei dati all’improvviso, ecco perché quella strana indicazione md0, voi comuni user del desktop avrete qualcosa come sda1 per computer abbastanza moderni oppure hda1 nei casi rimasti al di fuori della casistiche precedenti). 

Adesso posso provare a vedere se il modulo lo carica, cosa che effettivamente avviene senza Ops, ma purtroppo non funge, si pianta al riavvio anche se indico di caricarlo prima (/etc/modules) oppure se lo metto in blacklist (/etc/modprobe.d/blacklist) e quindi come finale della storia ho smontato la scheda…


Doppio scp e caratteri di escape con SSH

Posted: marzo 11th, 2009 | Author: | Filed under: networking, ssh | Commenti disabilitati su Doppio scp e caratteri di escape con SSH

SSH è il programma standard per il collegamento sicuro da remoto con un proprio computer. Supporta l’autenticazione tramite coppia username/password, chiavi pubblica/privata etc… oltre il programma ssh, installa un programma per copiare da remoto dei file, denominato scp e permette in tutta sicurezza appunto di copiare file fra computer collegati in rete in cui almeno uno sia dotato di questo servizio (di solito disponibile alla porta 22); il problema sorge quando il computer da cui vogliamo copiare il file si trova dietro ad gateway, cioè in una rete interna e quindi il servizio in questione non è direttamente raggiungibile dall’esterno. La soluzione banale sarebbe di copiare il file nel gateway e poi copiarla nel computer in cui ci interessa ma questo è problematico siccome il file potrebbe metterci delle ore dopo
le quali sarebbe necessario ripetere il processo e magari abbiamo anche
altro da fare, quindi come fare? Read the rest of this entry »


I segreti della linea di comando – Command substitution

Posted: marzo 6th, 2009 | Author: | Filed under: Bash, Hack | 1 Comment »

Esistono dei casi in cui un comando prende come argomento uno o più file, mentre noi necessitiamo di dover passare a questo programma il risultato di un altro comando; la prima cosa che verrebbe in mente è sarebbe quella di usare un file intermedio da usare appositamente, ma la shell bash ha pensato anche a questo, la command substitution!!!

La sintassi generale in questo caso è

<( command )
>( command )

il primo caso è da usare nel caso in cui si vuole l’output di command come contenuto di un file di input, mentre il secondo nel caso ci interessi per un file di output.
Read the rest of this entry »


Roba sparsa

Posted: marzo 5th, 2009 | Author: | Filed under: Video | 1 Comment »

È meglio che tolga qualche tab da firefox che se no mi esplode la RAM

The crisis of credit visualized: video molto carino che spiega come è avvenuta la crisi attuale (sicuramente non rappresenta nella sua interezza i motivi della crisi attuale ma serve…)

Big brother state: un po’ vecchiotto come video ma interessante.

Another world: alzi la mano chi ci ha giocato negli anni ’90!!! io sull’amiga…sul sito c’è una demo che funziona con Wine…

Chi troppo vuole nulla stringe: oh gesù…

Gravity Experiment: Stuff attracts other stuff because it’s stuff. This is called the
gravity of stuff. What you see are the two metal things attracting two
other metal things because the metal stuff in them attracts them to
each other. This type of metal stuff is not attracted to a magnet, so
these are not magnets attracting metal stuff. This is just an example
of gravity between stuff. You can see it happen because the dudes that
set it up are smart, else you couldn’t see it happen.


Collegare Nokia 5200 con cavo USB

Posted: marzo 1st, 2009 | Author: | Filed under: General | 1 Comment »

Siccome il mio cellulare (un nokia 5200) ogni tanto ha il bluetooth non funge, sono costretto a passare i dati attraverso un cavo USB avente le prese come nella foto (non so come si chiami, chi sa delucidi) e che ho scoperto essere denominato DKE-2.

 

Cavo per nokia.

 

Per collegarsi su una debian, bisogna prima di tutto collegare il cavo; il cellulare vi chiederà la modalità di collegamento, scegliete "Nokia" (l’altra è "multimedia stampa" ma non ne conosco il significato) e poi come superuser dateci i comandi

# obexftp -u -l

che dovrebbe darvi come risultato (l’ordine delle opzioni è importante)

Found 3 USB OBEX interfaces
Interface 0:
    Manufacturer: Nokia
    Product: Nokia 5200
    Interface description: (null)
Interface 1:
    Manufacturer: Nokia
    Product: Nokia 5200
    Interface description: (null)
Interface 2:
    Manufacturer: Nokia
    Product: Nokia 5200
    Interface description: (null)
Use ‘-u interface_number’ to connect
Connecting…Segmentation fault

Si avete capito bene, segfaulta… ma a noi interessa solo sapere i canali disponibili. Create una directory ed eseguite

# obexfs -u 1 /path/to/our/dir/

(-u indica il canale, non so se funziona solo così con 1 o no, fatemi sapere ;-)) e in /path/to/our/dir/ troverete i contenuti del vostro cellu di marca finlandese

# ls /path/to/our/dir/
Clip video     File ricevuti  Immagini      Temi
File musicali  Foto           Registraz.     Toni

Infatti tramite FUSE, avrete il vostro cellulare montato in locale: il comando mount(1) mostra

 obexfs on /path/to/our/dir/ type fuse.obexfs (rw,nosuid,nodev)

Il problema è che bisogna fare tutto da superuser che ha superato il limite del supersayan, si può circuire questo aggiungendo il vostro user nel gruppo fuse o qualcos’altro… per tornare alla situa di partenza usate

# umount /path/to/our/dir/

staccate il cavo e andate a ringraziare dio facendo una offerta alla vostra parrocchia…