Cambio distro… o meglio torno alle origini.

Dopo lungo peregrinare… penso tornerò a montare Debian.

La prima distro non si scorda mai, anche se a dire il vero i primi passi li ho mossi con Suse e Fedora. Ma con Debian mi son trovato bene dal primo utilizzo, perché è facile da usare, da capire, da implementare, soprattutto se si è alle prime armi… poi è stabile, sicura che vuoi di più? Un kernel più recente per il portatile nuovo, ovvio.

Il passo successivo, quasi naturale, è stato cercare una Debian più aggiornata, così da finire a forza nel mondo blasonato di Ubuntu… anzi Xubuntu, perché Xfce è l’unica costante in questi 13 anni di pinguino. Solo che col passar del tempo Canonical ha cominciato ad imporre sempre di più il suo pensiero, e se lei decide che quest’anno va l’arancio, hai poco da fissarti a mantenere tutto azzurro, perché ogni 6 mesi ti piazzano qualcosa sotto ai piedi scelto da loro, e così ad un certo punto mi son stufato di dover ogni volta smontare e rimontare tutta la mia vita informatica per tornare a quel che avevo scelto di usare fin dall’inizio.

Al che ho pensato ad una distro sempre aggiornata ma senza salti di versione, una rolling release appunto, dove magari potessi scegliere di persona cosa installare. Su tutte ho scelto Arch perché in effetti se ne parla un gran bene… ed infatti, ottima distro davvero, almeno come base. Però ha un problema di fondo: la maggior parte di quel che ti serve sta nei pacchetti mantenuti dagli utenti, e la cosa purtroppo fa emergere grossi problemi di funzionalità. Hai sempre qualcosa che non va, qualcosa che non si compila, qualcosa che non si integra col sistema perché lo sviluppatore s’è rotto le balle di mantenere gli aggiornamenti, ed alla fine hai mezza roba che zoppica! Perciò vien da chiedersi: dove dove sono andati a finire tutti i pro?

Da qui una piccola parentesi su Sabayon, perché volevo provare Gentoo in quanto notoriamente è molto aggiornata e personalizzabile, ma al contempo bella tosta! Quindi meglio far fare il lavoro sporco a chi ne capisce una spanna più di me… oddio, Saba in effetti fa tutto da sola, pure troppo, tipo disinstallare mezzo sistema in aggiornamento perché a cascata la rimozione di un pacchetto faceva crollare tutto l’albero delle dipendenze… AAAARGH FOLLIA! Troppo potere nelle mie mani, ed a non saperlo gestire è finita che ho fatto colossali disastri.

C’è poco da fare, mi tocca raccogliere la sfida e provare Gentoo… così mi arrangio da solo, vuoi che sia proprio così ostica? Si, lo è… dopo 2 giorni di prove in una macchina virtuale ancora Xfce non riuscivo ad installarlo, e già per arrivare alla console ho dovuto crearmi mezzo /etc a mano. Ok personalizzare ma almeno l’fstab poteva scriverselo con quel che trovava in /dev no? No… tutto a mano e non romper le balle! (Sgrunt).

Alla fine della storia mi guardo indietro e dico: “ma chi me l’ha fatto fare di complicarmi così tanto la vita?” e un po’ come quello che se ne va di casa per vedere il mondo, torno all’ovile con Debian… che tra l’altro in questi anni s’è evoluta parecchio rispetto a quel che mi ricordavo. Così rieccomi qui, a guardare come installare Xfce senza doversi portar dietro mezza Gnome… qualcuno ha detto Mint Debian Based? No dai… non vorrei finire nuovamente in un gorgo ubuntoso, vi prego!

Ah dimenticavo… ed il portatile nuovo? Come gira col vecchio kernel ultrastabile di Debian? Male (lol)… ma a tutto c’è una soluzione, almeno qui, ed anzi, per quanto mi riguarda han davvero trovato un modo davvero funzionale di gestire le cose (“capirai”, direte, “è Debian, che t’aspettavi?” lol). Comunque, l’uovo di Colombo consta nel tenere tutta la distro in testing ferma ad una stabilità ineccepibile, e passare kernel, firmware e poc’altro ad un experimental fresco fresco di ieri mattina. In questo modo aggiorno solo quel che voglio, e lo faccio con il contagocce 😉

Morale, in tutto questo ci guadagnano i miei server, che da sempre sono debianizzati e per pigrizia o stabilità, non li ho mai cambiati ^_^

Registrare il desktop

Tra i vari programmi esistenti per registrare quel che succede sul desktop, una soluzione semplice ed efficace è fornita da ffmpeg. Basta usare il comando:

ffmpeg -f x11grab -s 640x480 -r 25 -i :1.0+320,272 -an out.mkv

In questo caso:

-f x11grab

registra l’output video di X11

-s 640x480

seleziona solo una porzione di video di 640×480

-r 25

imposta i fotogrammi al secondo

-i :1.0+320,272

cattura la sessione :1 con un offset di 320×272

-an

disabilità l’audio

out.mkv

sarà il file di uscita.

Inviare mail da console con Mutt

Di vari client di posta disponibili per console, Mutt è senza dubbio uno dei più completi.
Nel caso in cui si voglia usare questo programma al solo fine di spedire mail da console, ad esempio per notificare un evento tramite uno script, la configurazione da inserire è molto semplice.
Innanzitutto editare il file di configurazione con:

nano .muttrc

quindi inserire quanto segue:

set realname="Mittente"
set from="mittente@azienda.it"
set use_from=yes
set smtp_url="smtp://server_smtp.it"

A questo punto per mandare una mail basta usare il comando:

echo "Test" | mutt -s "Titolo" destinatario@azienda.it

oppure:

mutt -s "Titolo" destinatario@azienda.it < /percorso/file.txt

Tener traccia dei pacchetti installati

Strumenti per tener traccia delle variazioni di pacchetti presenti nel sistema ce ne sono molti. Si può consultare il file di log di pacman (cosa decisamente poco pratica), oppure lanciare ogni tanto yaourt –stats per vedere se ci sono pacchetti non utilizzati.
Questi metodi però non permettono di capire cosa in effetti sia variato a distanza di tempo nel sistema, quindi una soluzione semplice e veloce a quest’esigenza potrebbe essere il seguente script:

#!/bin/bash
new_file=tracepkg_$(hostname)_$(date +%F_%H-%M-%S).log
if [ $1 = ]
then
	last_file=$(ls -t -1 *.log 2> /dev/null | head -n1 2> /dev/null)
else
	last_file=$1
	echo "1"
fi
pacman -Qqes > $new_file
echo ""
if [ $last_file ]
then
	changed=$(diff -q $last_file $new_file)
	if [ "$changed" ]
	then
		diff -y $last_file $new_file
		echo ""
		echo -n "Changed: "
		diff -y --suppress-common-lines $last_file $new_file | wc -l
	else
		echo "Nothing has changed."
		rm $new_file
	fi
	echo ""
	echo "Column1: $last_file"
	echo "Column2: $new_file"
else
	echo "Nothing to compare."
fi
echo ""

Crea una lista dei pacchetti installati e la salva in un file. All’esecuzione successiva compara la lista creata in precedenza, con quella attualmente presente, e ne notifica le eventuali differenze.
Nel caso in cui si specifichi un file come opzione, lo script lo utilizzerà per il confronto con la lista attuale.

Disabilitare wrap in xfce4-terminal

Editare il file .bashrc ed aggiungere la seguente linea:

shopt -s checkwinsize