Conoscere quante volte si è usato un comando

Per conoscere quali sono i comandi usati più frequentemente ed in quale numero, bisogna andare a spulciare in bash_history, ma se vogliamo velocizzare il tutto basta questo comando:

$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head

nel mio caso il risultato è questo:

edmond@debianbox:~$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
58 mencoder
56 ffmpeg
49 cd
43 swfc
43 sudo
41 su
30 swfextract
26 cat
24 ls
10 phoronix-test-suite
 

in bash_history si trovano numerose  informazioni su quello che si è fatto, e per chi volesse disabilitare lo storico per una maggiore sicurezza:

$ rm -f ~/.bash_history

$ nano ~/.bashrc

ed inserire in fondo queste righe:

export HISTFILESIZE=4
unset HISTFILE
export HISTSIZE=2
export HISTCONTROL=ignoredups

Debian GNU/kFreeBSD compilare il kernel

 

Come compilare il kernel in Debian GNU/kFreeBSD?, col metodo Debian o con quello FreeBsd? Diciamo che per quelli come me che usano prevalentemente Debian, all'inizio si trovano un pò spaesati, forse per la troppa facilità 🙂 ,ma questo è normale quando ci si avvicina ad un qualcosa che non conosci bene e devi imparare. Comunque il mio sistema è:

edmond@GnuKfreeBsd:~$ uname -a
GNU/kFreeBSD GnuKfreeBsd 8.1-1-686-smp #0 Tue Aug 17 23:24:32 CEST 2010 i686 i386 Intel(R) Core(TM)2 CPU          6600  @ 2.40GHz GNU/kFreeBSD

per iniziare la compilazione dobbiamo avere un pò di strumenti quindi:

# apt-get build-dep kfreebsd-8

poi:

# apt-get source kfreebsd-8

# cd kfreebsd-8-8.1

andare nel percorso del file .config della nostra architettura:

esempio:

/home/edmond/kfreebsd-8-8.1/debian/arch/i386/686-smp.config

ed effettuare i cambiamenti.

step finale:

# dpkg-buildpackage opzione_di_compilazione

esempio:

# dpkg-buildpackage -B -uc

fare riferimento al man dpkg-buildpackage

Orologio di sistema sempre inesatto

 

 

Da qualche tempo sulla mia Debian Squeeze l'ora sulla barra delle applicazioni è sbagliata, praticamente è sempre 2 ore indietro, un paio di volte nei giorni scorsi sono andato a modificarla dalla barra stessa, ma puntualmente al riavvio successivo tutto tornava come prima. La soluzione è abbastanza semplice, basta effettuare la sincronizzazione con il server NTP:

# apt-get install ntpdate

ed al prossimo riavvio la sincronizzazione avverrà in automatico. Parlando di ora non possiamo che parlare anche della data, quindi ecco alcuni comandi:

edmond@debianbox:~$ date
ven 17 set 2010, 20.54.00, CEST
 

edmond@debianbox:~$ cat /etc/timezone
Europe/Rome
 

root@debianbox:/home/edmond# dpkg-reconfigure tzdata

Current default time zone: 'Europe/Rome'
Local time is now:      Fri Sep 17 20:54:54 CEST 2010.
Universal Time is now:  Fri Sep 17 18:54:54 UTC 2010.

Converseen-convertire 100+ formati

 

 

Ho scoperto da poco Converseen, e devo dire che è un ottimo programma, anche se, come dice lo stesso autore italiano, c'è ancora qualche bug da sistemare. Comunque può risultare molto utile nell'ottimizzazione, conversione ( oltre 100 formati) e ridimensione di un gruppo di immagini. Io l'ho installato su Debian Squeeze/Sid con:

# apt-get install qt4-qmake imagemagick libmagick++3 libmagick++-dev

$ wget https://sourceforge.net/projects/converseen/files/Converseen/Converseen%200.3/converseen_0.3.tar.bz2/download

$ tar -xvf converseen_0.3.tar.bz2

$ cd converseen_0.3

$ qmake && make

# make install

Conoscere chi usa la memoria con lo script ps_mem.py

 

 

 

 

 

 

Questo script in pyton, ps_mem.py, può risultare molto utile ogni qual volta si ha bisogno di sapere quanta memoria ogni singolo programma occupa. Per chi volesse provarlo:

$ wget https://www.pixelbeat.org/scripts/ps_mem.py

# mv ps_mem.py /usr/local/sbin/

# chmod 755 /usr/local/sbin/ps_mem.py

lo lanciamo con:

# ps_mem.py

il risultato è una lista minuziosa.

root@debianbox:/home/edmond# ps_mem.py
 Private  +   Shared  =  RAM used    Program

112.0 KiB +  30.5 KiB = 142.5 KiB    portmap
128.0 KiB +  22.5 KiB = 150.5 KiB    gnome-pty-helper
140.0 KiB +  12.0 KiB = 152.0 KiB    sh
144.0 KiB +  22.0 KiB = 166.0 KiB    atd
144.0 KiB +  23.0 KiB = 167.0 KiB    acpid
164.0 KiB +  19.5 KiB = 183.5 KiB    init
160.0 KiB +  33.5 KiB = 193.5 KiB    hald-addon-rfkill-killswitch
164.0 KiB +  33.5 KiB = 197.5 KiB    hald-addon-leds
164.0 KiB +  34.5 KiB = 198.5 KiB    hald-addon-input
168.0 KiB +  35.5 KiB = 203.5 KiB    hald-addon-acpi
192.0 KiB +  53.5 KiB = 245.5 KiB    rpc.statd
256.0 KiB +  14.0 KiB = 270.0 KiB    ssh-agent
220.0 KiB +  50.5 KiB = 270.5 KiB    cron
240.0 KiB +  44.5 KiB = 284.5 KiB    hald-addon-usb-csr
268.0 KiB +  30.5 KiB = 298.5 KiB    hald-runner
272.0 KiB +  29.5 KiB = 301.5 KiB    dbus-launch
332.0 KiB +  14.0 KiB = 346.0 KiB    hddtemp
332.0 KiB +  48.5 KiB = 380.5 KiB    kerneloops
364.0 KiB +  48.0 KiB = 412.0 KiB    usbmuxd
336.0 KiB + 103.0 KiB = 439.0 KiB    gvfsd-burn
352.0 KiB + 119.5 KiB = 471.5 KiB    su
448.0 KiB +  43.0 KiB = 491.0 KiB    exim4
444.0 KiB +  65.5 KiB = 509.5 KiB    gvfsd-metadata
516.0 KiB +  17.0 KiB = 533.0 KiB    dhclient
460.0 KiB +  89.0 KiB = 549.0 KiB    gvfs-gphoto2-volume-monitor
468.0 KiB + 108.0 KiB = 576.0 KiB    getty (6)
480.0 KiB + 105.5 KiB = 585.5 KiB    gdm3
472.0 KiB + 126.5 KiB = 598.5 KiB    bluetoothd
464.0 KiB + 156.0 KiB = 620.0 KiB    gvfs-afc-volume-monitor
664.0 KiB +  71.5 KiB = 735.5 KiB    modem-manager
504.0 KiB + 252.0 KiB = 756.0 KiB    avahi-daemon (2)
592.0 KiB + 186.0 KiB = 778.0 KiB    gdm-session-worker
676.0 KiB + 236.0 KiB = 912.0 KiB    wpa_supplicant
792.0 KiB + 156.5 KiB = 948.5 KiB    bonobo-activation-server
820.0 KiB + 169.0 KiB = 989.0 KiB    gvfs-gdu-volume-monitor
968.0 KiB +  52.5 KiB =   1.0 MiB    rsyslogd
868.0 KiB + 206.0 KiB =   1.0 MiB    gdm-simple-slave
352.0 KiB + 741.0 KiB =   1.1 MiB    udevd (3)
904.0 KiB + 225.0 KiB =   1.1 MiB    hald-addon-storage (6)
  1.0 MiB +  94.0 KiB =   1.1 MiB    gvfsd
980.0 KiB + 176.5 KiB =   1.1 MiB    console-kit-daemon
728.0 KiB + 436.5 KiB =   1.1 MiB    upowerd
  1.1 MiB + 105.0 KiB =   1.2 MiB    gnome-keyring-daemon
  1.0 MiB + 203.0 KiB =   1.2 MiB    gvfsd-trash
  1.0 MiB + 162.5 KiB =   1.2 MiB    polkitd
944.0 KiB + 303.5 KiB =   1.2 MiB    udisks-daemon (2)
904.0 KiB + 439.5 KiB =   1.3 MiB    gvfsd-afc
  1.0 MiB + 322.0 KiB =   1.3 MiB    kerneloops-applet
  1.2 MiB + 281.5 KiB =   1.5 MiB    NetworkManager
  1.5 MiB + 210.0 KiB =   1.7 MiB    cupsd
  1.3 MiB + 457.5 KiB =   1.8 MiB    gdu-notification-daemon
  1.4 MiB + 368.0 KiB =   1.8 MiB    seahorse-agent
  1.5 MiB + 324.0 KiB =   1.8 MiB    dbus-daemon (2)
  1.5 MiB + 425.5 KiB =   1.9 MiB    gnome-screensaver
  1.8 MiB + 748.0 KiB =   2.6 MiB    multiload-applet-2
  1.9 MiB + 804.5 KiB =   2.7 MiB    trashapplet
  1.9 MiB + 796.5 KiB =   2.7 MiB    polkit-gnome-authentication-agent-1
  2.3 MiB + 721.0 KiB =   3.0 MiB    nm-applet
  2.2 MiB + 866.0 KiB =   3.0 MiB    update-notifier
  2.3 MiB + 803.5 KiB =   3.0 MiB    gtk-window-decorator
  2.3 MiB + 806.0 KiB =   3.1 MiB    x-session-manag
  3.1 MiB +  65.5 KiB =   3.2 MiB    hald
  3.3 MiB +  96.0 KiB =   3.4 MiB    gconfd-2
  3.0 MiB + 722.0 KiB =   3.7 MiB    bash (2)
  3.3 MiB + 805.0 KiB =   4.1 MiB    gnome-terminal
  3.5 MiB + 936.5 KiB =   4.4 MiB    gnome-settings-daemon
  4.4 MiB +   1.1 MiB =   5.5 MiB    mixer_applet2
 11.9 MiB + 847.0 KiB =  12.7 MiB    coherence
 17.3 MiB +   2.1 MiB =  19.4 MiB    rhythmbox
 17.4 MiB +   2.5 MiB =  19.9 MiB    gnome-panel
 34.2 MiB +   5.5 MiB =  39.7 MiB    nautilus
 47.1 MiB +   2.5 MiB =  49.6 MiB    compiz
 46.3 MiB +   4.8 MiB =  51.0 MiB    Xorg
244.8 MiB +   2.6 MiB = 247.4 MiB    firefox-bin

———————————
                        524.4 MiB
=================================

 Private  +   Shared  =  RAM used    Program

Swftools su Debian Squeeze/Sid

 

 

 

 

 

 

 

Swftools include una serie di strumenti che servono per leggere file.swf  (Adobe Flash), e riesce a creare,  tra l'altro partendo da delle  immagini, o da pdf ,  un file in flash. Comunque qua c'è la documentazione dei vari tools. Io è un pò che lo conosco e se non ricordo male prima si trovava nei repo, ma adesso non so come mai, ma non esiste più…va bè. Comunque ho voluto installarlo e dopo qualche problema di librerie mancanti ed errori vari, sono riuscito a compilarlo.

Requisiti:

apt-get install libgif-dev xpdf libfreetype6 libfreetype6-dev libjpeg62 libjpeg8 libjpeg8-dev

verificare se manca qualcos'altro.

Scaricare compilare installare

$ wget https://www.swftools.org/swftools-0.9.1.tar.gz

$ tar -zvxf swftools-0.9.1.tar.gz

$ cd swftools-0.9.1

$ ./configure --prefix=/usr/local

$ make

se c'è un errore come questo:

jpeg.c:463: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: error: previous declaration of ‘jpeg_load_from_mem’

risolvere editando il file jpeg.c e modificarlo da così:

int jpeg_load_from_mem(unsigned char*_data, int size, unsigned char*dest, int width, int height)

a così:

int jpeg_load_from_mem(unsigned char*_data, int _size, unsigned char**dest, int*width, int*height)

un altro errore che potrebbe verificarsi è il seguente:

make[2]: *** No rule to make target `xpdf-*tar.gz', needed by `xpdf/Gfx.cc'.  Stop.

si risolve con:

$ cd lib/pdf

$ wget

$ perl inject-xpdf.pl xpdf-3.02.tar.gz

se alla fine non ci sono errori siamo pronti per l'installazione, in caso di altri errori postare:

# make install oppure make checkinstall

a questo punto siamo pronti ad ottenere un immagine in flash come sopra ,creando un file.sc ed inserendo all'interno:

.flash filename="file.swf" version=5 fps=25
   
    .jpeg s1 "file.jpeg" quality=80%

    .put s1 x=50 y=50 scalex=110 scaley=110
    .frame 50
    .change s1 x=0 y=0 scalex=210 scaley=210 red=-1+255 green=-1+255 blue=-1+255 #invert
    .frame 100
    .change s1 x=100 y=50 scalex=110 scaley=110 red=0 green=+0 blue=+0 #remove red
    .frame 150
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=2 blue=-1+255 #amplify green, invert blue
    .frame 200
    .change s1 x=50 y=100 scalex=110 scaley=110 red=2-128 green=-2+255 blue=+0.7+40 #alien glow
    .frame 250
    .change s1 x=0 y=0 scalex=210 scaley=210 red=8-1024 green=8-1024 blue=8-1024 #palette reduce
    .frame 300
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=+0 blue=+0 #back to normal
    .frame 350
    .change s1 x=105 y=105 scalex=0 scaley=0 luminance=0 #fadeout
.end

quindi diamo il comando: comando:

$ swfc file.sc

Invece se vogliamo convertire un file.pdf in file .swf utilizziamo l'utility pdf2sw:

$ pdf2swf file.pdf -o file.swf

 

Comunque sul sito si trovano vari esempi di utilizzo per i vari strumenti.

Virtualbox su Debian Squeeze

 

                                                                   

                                                                                    VirtualBox su Debian in 5 passi:

 

# apt-get install virtualbox-ose virtualbox-ose-source module-assistant

# m-a prepare

# m-a a-i virtualbox-ose-source

# modprobe vboxdrv

# sh -c 'echo "vboxdrv" >> /etc/modules'

Debian GNU/kFreeBSD read-only file system error

 

Reinstallando Debian GNU/kFreeBSD mi sono ritrovato con alcuni problemi che prima non ho mai avuto, primo su tutti l'impossibilità di scrivere la partizione ufs da Debian. Ho ricompilato il kernel in Debian Lenny, Squeeze, e Sid ma la partizione contenente Debian GNU/kFreeBSD era sempre in solo lettura. Arrivato a questo punto l'unica certezza che avevo è che  ho, e che il problema risiede in qualche errore nell'installazione di Debian GNU/kFreeBSD e nel filesystem. Raccontata così sembra una cosa stupida, banale, ma quando non capisci dov'è il problema e fai tantissimi tentativi di reinstallazione,  alla fine non hai più idee, però a volte capita che ti si accende una lampadina e fai un tentativo che all'apparenza ti sembra inutile. Il comando che ho sempre dato e che inspiegabilmente non mi funziona più è:

# mount -t ufs -o rw,ufstype=ufs2,nodev,nosuid /dev/sdaX /mnt

quello che funziona adesso è:

# mount -t ufs -o remount,rw,ufstype=ufs2,nodev,nosuid /dev/sdaX /mnt

bisogna anche prestare molta attenzione alla masterizzazione del cd in quanto molte volte ci sono degli errori, che compromettono il buon esito dell'installazione, e con il tempo che ci vuole ed i problemi che si incontrano non è proprio il caso.

ps: ed i problemi continuano 😉

update: confermo che il problema della non scrittura sul filesystem ufs dipende da un qualcosa andato male in fase d'installazione…….cosa… ancora non lo so!

update: il problema riguarda il filesystem che è corrotto.

Scaricare video youtube e convertire in gif con mplayer

 

In passato avevo già accennato alla possibilità di usare mplayer per convertire un video o una porzione di esso in immagine nel formato gif. Adesso lo stesso procedimento viene unito in contemporanea al download di un video su youtube.

Requisiti:

# apt-get install youtube-dl mplayer

Comando: (tutto sulla stessa riga)

$ url=https://www.youtube.com/watch?v=ASxiRtkHA4Y; youtube-dl  $url; mplayer $(ls ${url##*=}*| tail -n1) -nolirc -nojoystick -ss 00:17 -endpos 25 -vo gif89a:fps=5:output=file.gif -vf scale=400:250 -nosound

Pacchetti deb rpm per Firefox 4 Minefield

 

 

Ho pacchettizzato Firefox 4.0b-4pre per chi lo volesse provare, sia in Deb che in Rpm. Li ho testati personalmente su Debian/Ubuntu e su Fedora e sembrerebbero funzionare 🙂 Chiaramente essendo una versione beta bisogna prestare attenzione. L'ideale sarebbe provarla con questo metodo in Debian/Ubuntu, ed in Fedora più o meno con lo stesso metodo, se a qualcuno interessa posso pubblicare il procedimento che ho appena fatto. Nel frattempo:

Pacchetto Deb

# dpkg -i firefox_4-0b4pre_i386.deb

Pacchetto Rpm

# rpm -iv firefox-4-0b4pre.i386.rpm

Una volta installato l'Rpm, se  firefox non si avvia, restituendo un errore con libxul.so, eseguire:

$ sudo chcon -t texrel_shlib_t /usr/local/lib/firefox-4.0b4pre/libxul.so

 

Ps: non so se potete fidarvi ho installato Fedora solo ieri 🙂