Ricerca tra la vecchia roba

Creare una progress bar da un processo già avviato

Posted: marzo 20th, 2011 | Author: | Filed under: firefox, Hack, linux, Tips&Tricks | Commenti disabilitati su Creare una progress bar da un processo già avviato

Stavo ascoltando l’audio di Wu Ming 1 relativamente al 150ennale dell’unità d’italia e avendo cliccato direttamente dal browser mi aveva aperto la risorsa con il plugin di mplayer; l’intervento è abbastanza lungo e succede che magari devo andare a mangiare e voglio capire se bastano due minuti perché finisca oppure meglio cucinare subito però non posso saperlo siccome questo player non ti visualizza il tempo che manca, come fare?

La soluzione è utilizzare il filesystem virtuale /proc: questo sottoinsieme di directory contiene dei file che descrivono lo stato del computer ed in particolare dei processi. Per esempio, io cerco tramite ps quale è il PID del plugin di mplayer

$ ps ax
...
16783 ?        Ssl    0:19 mplayer -wid 0x4000038 -osdlevel 1 -nojoystick -nocon
...

posso andarmi a cercare quali file descriptor ha aperto questo programma (e tra di essi ci sarà il file con l’audio che sto ascoltando)

$ ls -l /proc/16783/fd/*
...
lr-x------ 1 packz packz 64 20 mar 21.17 /proc/16783/fd/5 -> /tmp/mplayZ1FhAY.mp3
...

Per sapere quanto manca devo trovare la posizione in cui il processo sta leggendo il file

$ cat /proc/16783/fdinfo/5 
pos:    33677312
flags:    0100000

e la dimensione totale del file stesso

$ wc -c /tmp/mplayZ1FhAY.mp3
56845588 /tmp/mplayZ1FhAY.mp3

Con un pizzico di magia da shell ottengo la percentuale

$ bc -l
33677312/56845588
.59286725998858521790

Un po’ più di metà, mi tocca cucinare subito!

P.S: Per questo tricks ringraziare questo blog (ha sempre informazioni molto valuable).


Hard disk da 1TB da porre in abominio

Posted: settembre 25th, 2010 | Author: | Filed under: Hack, Installation party, Life, linux, Tips&Tricks | Commenti disabilitati su Hard disk da 1TB da porre in abominio

Nella stesura del Levitico, il nostro signore deve essersi dimenticato di porre in abominio una cosa molto importante: gli HD SATA da 1TB in quanto possono causare peripezie di indicibile sofferenza.

Read the rest of this entry »


Installare MacOSX in virtualbox

Posted: maggio 23rd, 2010 | Author: | Filed under: Hack, Installation party, linux, macosx | 3 Comments »

Dopo aver provato 3 ISO diverse, due versioni di Virtualbox e anche WMWARE sono riuscito nell’impresa di installare MacOSX usando virtualbox.

Gli strumento utilizzati sono stati

  • ISO di Ideneb versione 1.6 (potete scaricarlo via torrent usando questo hash: 8d2749eb760f89e0a361d8c09933ffe119685f5b)
  • Virtualbox v 3.2.0 Read the rest of this entry »

Vuoi liberare spazio ma non si libera

Posted: maggio 20th, 2010 | Author: | Filed under: crash, Life, linux | Commenti disabilitati su Vuoi liberare spazio ma non si libera

Nelle puntate precedenti avevo usato logrotate per liberare del fucking space siccome mi si era riempito il filesystem radice; è successo di nuovo, però nella mia fucking debian dove purtroppo il disco era talmente pieno che logrotate non funzionava (sempre i file di log si riempiono di fottuta merda); preso dallo sconforto e della cattiveria intrinseca dei computer che fanno di tutto per evitare che io non bestemmi, ho dato un bel rm sui file… il problema a questo punto è che in realtà il prode df mi dava sempre 100% di usage, di fucking usage… cancella qualcos’altro, sempre 100%… dio porcooooo

Poi allora uno cerca, fucking google, cose come "linux doesnt’ free space df" (scritto sbagliato perché fa figo) e cosa ottengo, questo:

After some research it turned out that files currently open and are
deleted will not release the free space until the process using it was
stopped.

Ma vaffanculo, usando

 # /etc/init.d/sysklogd restart

la mia giornata (forse) ritorna a brillare…

 

awesome dancing

 


Liberare spazio in gentoo

Posted: aprile 20th, 2010 | Author: | Filed under: Gentoo, linux | Commenti disabilitati su Liberare spazio in gentoo

Mi succede a volte che il mio spazio su disco si riempa, sopratutto sul portatile dove risiede la mia installazione di gentoo; dopo una piccola analisi a colpi di du(1) ho scoperto che la directory /usr/portage/distfiles/ contiene gli archivi dei sorgenti usati per le installazioni tramite emerge(1): per pulire questa roba bisogna usare il comando eclean(1). In particolare bisogna usare l’opzione –destructive in quanto altrimenti mantiene qualunque archivio per cui esiste un ebuild da qualche parte, con questa opzione invece elimina gli archivi dei programmi non più installati (versioni vecchie per esempio).

In questa maniera si liberano almeno qualche GB. 


OAFIID:GNOME_ClockApplet

Posted: marzo 23rd, 2010 | Author: | Filed under: Gentoo, linux | Commenti disabilitati su OAFIID:GNOME_ClockApplet

Ogni tanto mi compaiono errori molto strani sul mio portatile e questa volta è toccato all’orologio nella barra del pannello gnome; quando mi loggavo nel mio account campariva un laconico messaggio

"OAFIID:GNOME_ClockApplet". Do you want to delete the applet from your
configuration?

Siccome l’orologio (in termini tecnici una applet) non è una vera e propria applicazione, ma una specie di plugin che la barra di gnome può caricare all’occorrenza, risulta difficile capire come trovare l’errore (fosse un’applicazione la lanci da terminale e speri in qualche warning sgamo). Grazie a Dyo esiste google ed ho trovato questo: in pratica controllando con ldd si può ottenere l’elenco di librerie che un programma necessita per funzionare; nel mio caso particolare ottengo

packz@godel ~ $  ldd /usr/lib/gnome-panel/libclock-applet.so | grep ‘not found’
    libssl3.so.12 => not found
    libsmime3.so.12 => not found
    libnssutil3.so.12 => not found
    libnss3.so.12 => not found
    libssl3.so.12 => not found
    libsmime3.so.12 => not found
    libnssutil3.so.12 => not found
    libnss3.so.12 => not found

Ohibo, quante librerie mancano? ovviamente devo dirvi che tutto questo avviene su gentoo;-) il programma per il controllo delle dipendenze inverse di hokuto delle librerie della scuola di Nanto esiste revdep-rebuild che però purtroppo in cotale caso non funziona automaticamente ma necessita di un mio aiuto; con l’aiuto della shell vincerò

LIBRARY=$(ldd /usr/lib/gnome-panel/libclock-applet.so | grep ‘not found’ | awk ‘{print "–library "$1}’ ); revdep-rebuild -i -p  $LIBRARY

 L’opzione -p serve a simulare l’azione da intraprendere (revdep-rebuild altrimenti partirebbe ad installare tutto in automatico). Una volta che il programma ha terminato ed emesso la sentenza, è possibile rilanciarlo senza argomenti per fargli eseguire realmente l’aggiornamento.

Prendete una birra e aspettate che finisca, lanciate killall gnome-panel e dopo un po’ di sfarfallio dovrebbe ricomparire la barra con l’orologio.


Come liberare spazio quando /var/log/messages cresce a dismisura

Posted: marzo 10th, 2010 | Author: | Filed under: crash, linux | 2 Comments »

Nei sistemi *nix tutte (o quasi) le operazioni di sistema vengono loggate in appositi files in /var/log/ e può succedere che per problemi a qualche applicazione, quest’ultima riempia qualche file di log del sistema con messaggi che essendo di testo e ripetuti insistentemente, possono portare ad esaurimento del disco. Nel mio caso ho visto che risultava un problema di Full Device ed ho cercato di pulire il disco eliminando eventuali vecchi pacchetti tramite

# eclean distfiles

nella mia gentoo; per chi avesse la fucking Debian può usare

# apt-get clean

Tuttavia il problema persisteva e quindi ho usato la magia della shell per scovare i file con dimensione superiore a 500MB

# find / -size +500M -print0 | xargs –null ls -Ssh | less

e a quel punto è parso evidente quale fosse il problema

# ls -sh /var/log/messages
1,3GB /var/log/messages

Praticamente il sistema pulseaudio (che non mi ha mai funzionato) ha riempito quel file di merda e quindi mi tocca pulirlo; la prima idea sarebbe stata quella di cancellarlo al volo, ma siccome è una soluzione priva di stile, ho pensato che deve esistere un comando adeguato a eseguire la cosiddetta "rotazione" dei file di log ed infatti esiste: logorotate(1).

Eseguendo questo magico comando

# logrotate -f /etc/logrotate.conf

si obbliga il nostro sistema di comprimere e salvare a fianco ai vecchi log quel macigno  che ostruiva il filesystem. I computer sono il male.


Come aggiungere un watermark ad un video

Posted: dicembre 8th, 2009 | Author: | Filed under: Bash, linux, Video | Commenti disabilitati su Come aggiungere un watermark ad un video

La potenzialità della linea di comando unix è altissima anche per le attività di tipo grafico, ovviamente quando queste possono essere automatizzate; mettiamo caso che si voglia aggiungere un proprio logo ad un filmato, proprio come avviene nei maggiori portali e di volerlo fare senza usare programmi con la gui, magari per avere la possibilità di automatizzare il processo. Read the rest of this entry »


Chiavetta Fastweb key su linux

Posted: novembre 12th, 2009 | Author: | Filed under: Hack, Installation party, Life, linux, networking | 1 Comment »

Ultimamente mi ritrovo a dover mettere sempre mani sulle chiavette internet e questa volta è toccato a quella fasweb; pensate che sti pazzi ti fanno l’abbonamento e poi ti danno anche una chiavetta con 100 ore…

Il problema è che come al solito la chiavetta ha la funzionalità di switchare fra storage e modem, ma usb_modeswitch non ha questo device fra quelli funzionali e per questo ci sono io; il procedimento l’ho eseguito su una debian, ma dovrebbe funzionare su qualunque sistema linux.

Prima di tutto dovete avere installato usb_modeswitch ed usare i seguenti parametri

DefaultVendor=  0x1c9e
DefaultProduct= 0xf000

TargetVendor=   0x1c9e
TargetProduct=  0x9603

MessageContent="5553424340bc24828000000080000606f50402527000000000000000000000"

Verificate con lsusb che effettivamente avvenga lo switch. Seguentemente dovete compilare e modificare (in ordine inverso) il modulo option che si trova in drivers/usb/serial/ nel tree dei sorgenti del kernel. Per eventuali ulteriori istruzioni leggetevi la guida definitiva per la chiavetta ONDA dove basta cambiare vendor id e product id in maniera adeguata.


Ubuntu9.10 e chiavetta onda MT505UP

Posted: novembre 3rd, 2009 | Author: | Filed under: Installation party, linux | Commenti disabilitati su Ubuntu9.10 e chiavetta onda MT505UP

Sono venuto a contatto con la nuova versione di ubuntu uscita da una settimana per rendere operante la chiavetta citata nel titolo (anche se il procedimento è estendibile a qualunque altra, ovviamente cambiando opportunamente i parametri che adesso mostrerò) già resa operativa con un metodo molto più hackish qualche post addietro.

Essendo passato un anno la situazione è ovviamente migliorata, non c’è bisogno di compilare driver o scrivere regole di udev in quanto il tutto è ormai pacchettizzato; in poche parole i passi da eseguire sono installare il programma per fare lo switch da chiavetta USB a modem

$ sudo apt-get install usb-modeswitch

poi editare il file /etc/usb_modeswitch.conf e cercare nel file la parte relativa al vostro modello (forse vanno cambiati dei parametri come dal post citato sopra); provare da terminale (con la chiavetta inserita of course)

$ sudo usb_modeswitch

Se non ci sono errori evidenti provate a dare lsusb e notare se adesso il codice USB è diventato 19d2x0002 e se sono comparse le mitiche devices ttyUSB in /dev/. In caso affermativo parrebbe funzionare.

L’ultimo passo è abilitare il riconoscimento automatico dell’azione precedente da parte di udev: editare il file /etc/udev/rules.d/usb_modeswitch.rules e cercare i parametri della chiavetta e decommentare. Per controllo togliete e rinserite la chiavetta tenendo sotto controllo quello che succede in kernel space usando

$ sudo tail -f /var/log/messages

Se vedete che si creano le devices ttyUSB[0-3] (forse ci mette un pochino) allora siete a posto; a quel punto configurate le connessioni (Sistema —> Preferenze —> connessione di rete) e aggiungetene una alla voce "Banda larga mobile" (ad un certo punto non mi faceva modificare la voce per problemi ai permessi ed io ho creato un’altra connessione).

Il pacchetto usb-modeswitch vi installa anche le  rules di udev che servono a fare in maniera che quando voi freakettoni infilate la chiavetta nella porta USB, udev riconosca che azione compiere su di essa (se è una macchina fotografica, scaricare le foto, una motosega tagliarvi un braccio, una vagina USB godere…); il problema è che le regole preimpostare possono mandare in palla usb_modeswitch. In tal caso (cioé, se dopo il riavvio, il comando usb_modecisiamocapiti rimane appeso al terminale) cercate in /etc/udev/rules.d/ una regola che faccia riferimento a usb_modesuicidi e commentate la riga che pare inopportuna. Un /etc/init.d/udev restart farà rileggere tale file dal programma in questione e risolvere il problema.

Ultima nota: a me succede che i DNS non vengano configurati correttamente per cui un workaround può essere aggiungere per esempio quelli di OpenDNS.

Ultimissima nota: Ubuntu9.10 pare veramente fica; dai tempi in cui installavo la red hat su un pentium 1 mettendoci una settimana a renderlo completamente operativo (senza aver neanche schede wifi di mezzo) sembra sia passata una eternità (e forse in tempi informatici lo è veramente); certo le cose che fanno colpo magari sono le cazzatine tipo le finestrelle di notifica traslucenti e finestre che compaiono con fading ed effetti vari che lo fanno sembrare un Mac, però se il tutto risulta usabile senza side effects come mi è parso ieri, allora si può ammettere che il prodotto è valevole (poi io non lo uso perché ho gentoo sul portatile e debian sul fisso:-P). Solo i colori standard sul marrone non li digerirò mai…