Rimuovere i file di configurazione dei pacchetti già disinstallati

 

Per eliminare tutti i file di configurazione dei programmi che non sono più installati, quindi, di tutti quelli disinstallati senza il remove –purge, si può utilizzare il comando sotto.

 

# dpkg --get-selections|grep deinstall|cut -f 1|xargs dpkg -P

 

enjoy 😉

 

ps: Buone Feste a Tutti i Pinguini,. …….per tutti gli altri "schermate blu" 🙂

Conoscere la versione dei pacchetti installati

 

Può risultare utile conoscere la versione  dei pacchetti installati, specialmente quando si fanno dei mix con i vari repository. Un esempio può essere la mia Debian Sid, che qualche tempo fa per poter passare a Gnome 3.2, ho dovuto installare un po di pacchetti dai repo experimental. A questo proposito, mi pare che oggi Gnome 3.2, sia ufficialmente in Sid. Comunque ad oggi è rimasto ben poco di experimental, come si può vedere di seguito:

 

# apt-get install apt-show-versions

# apt-show-versions |grep experimental

 

solo due pacchetti (per il momento):

 

root@Debianbox:/home/edmond# apt-show-versions |grep experimental
gnome-shell-extensions/experimental uptodate 3.2.0-1
libgl1-mesa-dri-experimental/sid uptodate 7.11.2-1

 

enjoy 😉

Downgrade da Debian Sid a Debian Squeeze No Problem

 

Ecco, oggi mi sono reso conto che un downgrade da Debian Unstable (Sid) a Debian Stable (Squeeze) si può fare. Detta così sembra come aver scoperto l'acqua calda, ma IO ero convinto che ciò potesse portare dei grossissimi problemi, e quindi era da considerarsi quasi una leggenda metropolitana. Siccome solo gli stolti non cambiano idea, oggi ho deciso di togliermi questa curiosità, ed anticipo di essere stato incredibilmente sorpreso da mamma Debian 🙂 . Sono partito da una Debian Sid aggiornata fino a stamattina 21/12/2011, l'obiettivo da raggiungere quindi non era semplice, dato che si trattava di fare un downgrade da Gnome 3.2 a Gnome 2.30, quindi con dei cambiamenti "epocali". Premetto che su Debian Sid, addirittura avevo un solo kernel, per chi ha due kernel, si troverà qualche problema in meno.

 

Start:

 

# echo 'deb https://ftp.it.debian.org/debian/ squeeze main' >> /etc/apt/sources.list

# nano /etc/apt/preferences

 

ed incollare:

Package: *
Pin: release a=stable
Pin-Priority: 1001

quindi:

# apt-get update && apt-get dist-upgrade -u

 

ad un certo punto ho avuto questi errori:

 

I seguenti pacchetti hanno dipendenze non soddisfatte:
 gnome-core : Dipende: dmz-cursor-theme ma non è installato
              Dipende: evolution (>= 2.30) ma non è installato
              Dipende: file-roller (>= 2.30) ma non è installato
              Dipende: gnome-about (>= 2.30) ma non è installato
              Dipende: gnome-themes (>= 2.30) ma non è installato
              Dipende: gstreamer0.10-alsa (>= 0.10.29) ma non è installato
 libnet-ssleay-perl : Dipende: libssl0.9.8 (>= 0.9.8m-1) ma non è installato
 wget : Dipende: libssl0.9.8 (>= 0.9.8m-1) ma non è installato
E: Dipendenze non trovate. Riprovare usando -f.

 

si risolve come suggerito con:

 

# apt-get update && apt-get dist-upgrade -u -f

# apt-get update && apt-get dist-upgrade -u -f

 

a questo punto mi ha avvertito che stavo eliminando il mio unico kernel, quindi mi sono parato il culo ed ho detto di NO.

 

# apt-get install -f

# apt-get update && apt-get install linux-image-2.6.32-5-amd64 linux-headers-2.6.32-5-amd64

# update grub

 

se tutto è andato bene, riavviare ed accedere in modalità ripristino, e ricordarsi di rimuovere i repo di Sid, quindi:


# apt-get update

# apt-get upgrade

 

ed inizierà di nuovo con il downgrade di un bel po di pacchetti, quindi, ancora una volta:

 

# apt-get update && apt-get dist-upgrade -u -f

 

che rimuoverà gli ultimi dieci pacchetti rimasti.

 

# apt-get install gnome-desktop-environment

# init 6

 

adesso abbiamo a tutti gli effetti una Debian Squeeze quasi perfetta, dico quasi perchè, molto sicuramente mancheranno i due pannelli, quindi vedremo solo il desktop senza poter accedere al Menu, ma fortunatamente col tasto destro del mouse, abbiamo la possibilità di aprire il terminale, quindi per riavere i due pannelli, eseguire:

 

# debconf gnome-panel

 

Finito, ed è proprio qui che mi sono meravigliato, perchè ho una Debian Squeeze originale funzionante al 100%, e considerando che da Sid a Stable di differenze attualmente ce ne sono molte, ho avuto per l'ennessima volta la riprova di quanto è "potente sicuro e flessibile" un sistema Debian (niente flame 🙂 ) quindi invito qualcuno a provare, ed a smentirmi, facendo la stessa cosa con un'altra distro, con un downgrade simile (niente flame ancora 🙂 )

 

ATTENZIONE:

il risultato che ho avuto funziona al 100%, ma chi si cimenta a fare una cosa del genere deve sapere come risolvere alcuni problemi, che io do per scontato. Un esempio pratico è che bisogna reinstallare i driver Nvidia, e nel caso non dovessero funzionare provare ad eliminare xorg.conf e poi riprovare, oppure passare provvisoriamente ai nouveau ecc. ecc.. Chi da Nvidia passa ai nouveau, deve ricordarsi di eliminare il file in blacklist dei nouveau che si trova in /etc/modprobe.d , lanciare X -configure, controllare xorg.conf che abbia i "nouveau" e non gli "nv" ecc. ecc. Nel caso (sicuramente) la connessione non va quando si cerca di aggiornare i repo dalla modalità di ripristino, bisogna inserire manualmente i parametri, tipo, ifconfig eth0 192.168.1.5 e poi anche dhclient, ecc. ecc. Se grub da errore, fare un apt-get install grub  In parole povere ognuno è responsabile delle proprie ca$$ate, e deve saper porvi rimedio. Credo di aver detto tutto…. quindi io non ho colpe 🙂

 

ps: il comando doppio in cima non è un errore.

 

enjoy 😉

Building pacchetto Debian da sorgenti

 

Questo è uno dei modi per costruire un pacchetto debian, partendo dai sorgenti.

 

# apt-get install dpkg-dev build-essential devscripts dh-make debhelper dpatch

$ apt-get source PACCHETTO

$ cd PACCHETTO-X.X.X

# apt-get build-dep PACCHETTO

# dpkg-buildpackage -us -uc

# cd ..

$ dpkg -i PACCHETTO.deb


 

enjoy 😉

Rimuovere dipendenze dopo apt-get buil-dep

 

Quando si ha bisogno di compilare un programma da sorgenti, si usa il comando apt-get buil-dep, che si occuperà d'installare le dipendenze necessarie. Una volta compilato ed installato il programma, abbiamo ancora tutte le dipendenze installate, se si volessero disinstallare, di seguito farò un esempio con il programma Pino:

 

 

root@Debianbox:/home/edmond# apt-get build-dep pino
Lettura elenco dei pacchetti… Fatto
Generazione albero delle dipendenze      
Lettura informazioni sullo stato… Fatto
I seguenti pacchetti NUOVI saranno installati:
  gir1.2-gtk-2.0 gir1.2-javascriptcoregtk-1.0 gir1.2-notify-0.7
  gir1.2-webkit-1.0 libdbus-glib-1-dev libdbusmenu-glib-dev libdbusmenu-glib3
  libenchant-dev libgee-dev libgtkspell-dev libgtkspell0 libindicate-dev
  libindicate5 libjavascriptcoregtk-1.0-dev libnotify-dev libunique-dev
  libvala-0.10-0 libwebkitgtk-dev valac-0.10
0 aggiornati, 19 installati, 0 da rimuovere e 1 non aggiornati.
È necessario scaricare 3380 kB/3811 kB di archivi.
Dopo quest'operazione, verranno occupati 15,8 MB di spazio su disco.
Continuare [S/n]?

 

sopra vengono mostrate le dipendenze necessarie per Pino.

 

root@Debianbox:/home/edmond# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')
I seguenti pacchetti saranno RIMOSSI:                
  cmake{u} cmake-data{u} gir1.2-gtk-2.0{u} gir1.2-javascriptcoregtk-1.0{u}
  gir1.2-notify-0.7{u} gir1.2-webkit-1.0{u} libdbus-glib-1-dev{u}
  libdbusmenu-glib-dev{u} libdbusmenu-glib3{u} libenchant-dev{u}
  libgee-dev{u} libgtkspell-dev{u} libgtkspell0{u} libindicate-dev{u}
  libindicate5{u} libjavascriptcoregtk-1.0-dev{u} libnotify-dev{u}
  libunique-dev{u} libvala-0.10-0{u} libwebkitgtk-dev{u}
  libxmlrpc-core-c3{u} valac-0.10{u}
0 pacchetti aggiornati, 0 installati, 22 da rimuovere e 1 non aggiornati.
È necessario prelevare 0 B di archivi. Dopo l'estrazione, verranno liberati 29,9 MB.

 

invece quà si vedono le dipendenze che non servono più e che quindi verranno disinstallate. Riepilogando quindi i comandi:

 

# apt-get build-dep pino

# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')

 

enjoy 😉

Deb per extensions weather e system-monitor per Gnome 3.2 Debian Sid

 

 

 

 

 

 

 

 

Queste estensioni sul sito ufficiale non ci sono, il system-monitor che è sul sito è diverso, ed io preferisco questo, anche se mi funziona all' 80%. A chi interessano si possono trovare in quella specie di mio repository, chiaramente nella cartella gnome-shell-extensions-3.2 🙂

 

enjoy 😉

Watermark Drag and Drop di una foto usando mogrify

 

 

 

 

Per firmare le proprie immagini si può anche usare mogrify (imagemagick), il problema è, che a secondo della personalizzazione della firma, il comando può diventare lungo, quindi per ovviare a questo, si può creare un lanciatore, dopo di chè non bisogna fare altro che appoggiare sopra le immagini. Il comando usato è il seguente:

 

 $ mogrify -font /usr/share/fonts/truetype/freefont/FreeSerif.ttf -pointsize 28 -verbose -draw "gravity SouthEast fill blue text 0,33 'edmond' fill white text 1,32 'edmond' " *.jpg

 

enjoy 😉

(Errori) Dpkg errore tentata sovrascrittura

 

 

 

 

A volte succede di avere degli errori tipo questo:

 

edmond@Debianbox:~$ sudo dpkg -i gnome-shell-extension-wallpapers_3.0.2.1_all.deb
[sudo] password for edmond:
(Lettura del database… 204089 file e directory attualmente installati.)
Estrazione di gnome-shell-extension-wallpapers (da gnome-shell-extension-wallpapers_3.0.2.1_all.deb)…
dpkg: errore nell'elaborare gnome-shell-extension-wallpapers_3.0.2.1_all.deb (–install):
 tentata sovrascrittura di "/postrm" presente anche nel pacchetto gnome-shell-extensions-dock 3.0.2-2
Si sono verificati degli errori nell'elaborazione:
 gnome-shell-extension-wallpapers_3.0.2.1_all.deb

 

o questo se si usa synaptic:

 

E: /var/cache/apt/archives/gnome-shell-extension-wallpapers_3.0.2.1_all.deb: tentata sovrascrittura di "/postrm" presente anche nel pacchetto gnome-shell-extensions-dock 3.0.2-2

 

la soluzione consiste nel forzare l'installazione del pacchetto con l'opzione –force-overwrite. Quindi nel caso dell'errore sopra, si usa:

 

# dpkg -i --force-overwrite /var/cache/apt/archives/gnome-shell-extension-wallpapers_3.0.2.1_all.deb

 

e poi:

 

# apt-get install -f

 

enjoy 😉

Pacchetto deb per extension weather Gnome 3.0 Debian Sid

 

 

 

 

Aggiunto gnome-shell-extensions-weather per Gnome 3.0. Un applet che mostra le condizioni meteo della nostra zona. I pacchetti da installare sono 2, il secondo installa le lingue, quindi anche l'italiano, che ho inserito io, per accorgermi in un secondo momento che sul sito di riferimento c'era già chi aveva provveduto alla traduzione. Per trovare il numero Woeid della nostra zona andare su questa pagina. Per inserire la città usare:

 

$ gsettings set org.gnome.shell.extensions.weather woeid numero_woeid

 

per posizionare l'applet che di default sarà al centro, usare:

 

$ gsettings set org.gnome.shell.extensions.weather position-in-panel center
$ gsettings set org.gnome.shell.extensions.weather position-in-panel left
$ gsettings set org.gnome.shell.extensions.weather position-in-panel right

 

Verificare se questa estensione va in conflitto con altre abilitate, tipo monitor-applet, forse perchè di default si piazzano tutte e due al centro del pannello.

ps: confermo che per usare insieme monitor-applet e weather, bisogna prima installare weather e piazzarlo sulla destra, quindi successivamente installare monitor-applet.

 

enjoy 😉