Trasformare un comando in una immagine

 

 

 

Ultimamente ho scritto qualcosa su imagemagick e nell'utilizzo di convert. Aggiungo anche, la possibilità di trasformare velocemente l'output di un comando in un'immagine:

 

sfondo bianco:

 

$ df -h | convert -resize 400 label:@- immagine.jpg

 

sfondo nero:

 

$ df -h | convert -resize 400 -background black -fill white label:@- immagine.jpg

 

 

enjoy 😉

 


Update-grub da chroot

 

Installando Debian quasi sempre da chroot, ho bisogno di fare un update-grub dalla partizione /dev/sda1 dove è installata Debian Squeeze con Grub (MBR). Chiaramente se sono su Squeeze non c'è nessun problema, ma se invece sono su un'altra partizione, ho bisogno di chroottarmi in Squeeze e dare un update-grub. Per non avere errori bisogna prima montare /dev /sys /proc: Quindi, montare la partizione principale, nel mio caso /dev/sda1, e poi procedere con il mount:

 

# mount /dev/sda1 /mnt/debian
# mount -o bind /dev /mnt/debian/dev
# mount -o bind /sys /mnt/debian/sys
# mount -o bind /proc /mnt/debian/proc
# chroot /mnt/debian /bin/bash
# update-grub
# grub-mkconfig

 

 

enjoy 😉

Concatenare immagini differenti con Convert

 

 

 

 

Per concatenare immagini con risoluzione diverse, si può usare convert. Quello a cui bisogna stare attenti, sono l'altezza e la larghezza, questo a secondo se l'immagine si vuole unire in maniera orizzontale o in maniera verticale.Quindi i passi saranno due:

 

  1. dare all'immagine la stessa altezza o larghezza
  2. unire i file

 

ipotizzando di avere 3 file in una cartella:

 

Concatenare orizzontalmente:

 

$ convert *.jpg -resize x400 image.jpg && convert +append *.jpg finale.jpg

 


Concatenare verticalmente:

 

 

$ convert *.jpg -resize 400 image.jpg && convert -append *.jpg finale.jpg

 

 

 

 

chiaramente il risultato finale avrà come risoluzione la somma dei tre file, quindi conviene scalarlo:

 

 

$ convert -scale 50% finale.jpg scalato.jpg

 

 

 

enjoy 😉

Installare Debian Sid (unstable) da Chroot

 

Questa guida mostra come installare Debian Sid (unstable) velocemente da chroot, ed allo stesso tempo continuare ad usare il nostro pc. Tempo fa avevo fatto una guida simile, diciamo che questa è d’integrazione. I requisiti sono:

  1. chiaramente una distribuzione Linux
  2. avere una partizione già disponibile o crearla al volo
  3. debootstrap installato

 

adesso ipotizzando che la partizione dove installare Debian Sid sia in /dev/sda8, iniziamo con il formattarla in ext4:

 

# mkfs.ext4 /dev/sda8

# mkdir /mnt/debian

# mount /dev/sda8 /mnt/debian

# /usr/sbin/debootstrap --arch i386 unstable /mnt/debian https://ftp.it.debian.org/debian

# mount -o bind /dev /mnt/debian/dev

# mount -o bind /proc /mnt/debian/proc

# cp /etc/mtab /mnt/debian/etc/mtab

# cp /etc/network/interfaces /mnt/debian/etc/network/interfaces

# chroot /mnt/debian /bin/bash

# echo '/dev/sda8 / ext4 defaults 0 0' >> /etc/fstab

# apt-get update

# apt-cache search linux-image

 

appariranno una serie di kernel, scegliere quello adatto per il prorio pc, al momento ci sono questi:

 

root@Squeezebox:/# apt-cache search linux-image
alsa-base - ALSA driver configuration files
linux-headers-3.0.0-1-486 - Header files for Linux 3.0.0-1-486
linux-headers-3.0.0-1-686-pae - Header files for Linux 3.0.0-1-686-pae
linux-headers-3.0.0-1-amd64 - Header files for Linux 3.0.0-1-amd64
linux-image-3.0.0-1-486 - Linux 3.0.0 for older PCs
linux-image-3.0.0-1-686-pae - Linux 3.0.0 for modern PCs
linux-image-3.0.0-1-686-pae-dbg - Debugging infos for Linux 3.0.0-1-686-pae
linux-image-3.0.0-1-amd64 - Linux 3.0.0 for 64-bit PCs
linux-image-2.6-486 - Linux for older PCs (dummy package)
linux-image-2.6-686 - Linux for modern PCs (dummy package)
linux-image-2.6-686-bigmem - Linux for PCs with 4GB+ RAM (dummy package)
linux-image-2.6-686-pae - Linux for modern PCs (dummy package)
linux-image-2.6-amd64 - Linux for 64-bit PCs (dummy package)
linux-image-486 - Linux for older PCs (meta-package)
linux-image-686 - Linux for modern PCs (dummy package)
linux-image-686-bigmem - Linux for PCs with 4GB+ RAM (dummy package)
linux-image-686-pae - Linux for modern PCs (meta-package)
linux-image-amd64 - Linux for 64-bit PCs (meta-package)

 

quindi, continuare installando le cose essenziali:

 

# apt-get install linux-image-3.0.0-1-686-pae linux-headers-3.0.0-1-686-pae grub-pc
gnome-desktop-environment network-manager iceweasel

# echo Debianbox > /etc/hostname

# adduser nome_utente

# passwd

# exit

 

prima di riavviare, dalla nostra distribuzione principale, ricordarsi di aggiornare grub:

 

# update-grub

# grub-mkconfig

# reboot

 

a questo punto Debian Sid è installata e funzionante, mancano solo alcuni semplici ritocchi che si possono fare in seguito 🙂

 

 

enjoy 😉

Trasformare tutte le foto in bianco/nero velocemente

 

 

Un modo veloce per trasformare una cartella piena di foto in Bianco/Nero è quello di usare mogrify, avendo cura di lasciare le originali inalterate, quindi:

 

$ mkdir bianco_nero && mogrify -colorspace GRAY -path bianco_nero/ *.jpg

 

 

enjoy 😉

(Errori) ldconfig e start-stop-daemon non sono nella variabile PATH

 

Dopo gli ultimi aggiornamenti su Debian Sid, mi sono ritrovato con questo errore di dpkg:

 

dpkg: attenzione: "ldconfig" non è stato trovato nella variabile PATH o non è un eseguibile.
dpkg: attenzione: "start-stop-daemon" non è stato trovato nella variabile PATH o non è un eseguibile.
dpkg: error: 2 expected programs not found in PATH or not executable.
Note: root's PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin.
E: Sub-process /usr/bin/dpkg returned an error code (2)

 

ho risolto il problema con:

 

# visudo

 

e modificando il file in questo modo:

 

Defaults        env_reset
Defaults   secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

 

enjoy 😉
 

Network-Manager VS Chattr 1 a 0

 

 

Sulla mia Debian ho voluto rimettere i dns di Opendns, e quindi sono andato a modificare direttamente /etc/resolv.conf, subito dopo mi sono accorto che le nuove impostazioni venivano perse. Allora mi sono detto, provo a bloccare la modifica del file usando chattr:

 

# chattr +i /etc/resolv.conf

# /etc/init.d/network-manager restart

 

a questo punto mi sentivo sicuro che il file non sarebbe stato modificato, ed invece mi sbagliavo, Network-Manager lo modifica ugualmente, e questo mi ha lasciato un'attimino spiazzato. Quindi il metodo più semplice per cambiare i dns, è quello grafico, come si vede nell'immagine, Network-Manager 1 Chattr 0 🙂

 

enjoy 😉

Creare immagini semitrasparenti velocemente

 

 

 

Se serve creare un immagine semitrasparente in maniera veloce, senza andare ad aprire programmi di grafica, si può usare convert:

 

$ convert immagine.png -alpha set -channel A -fx 0.4 output.png

 

 

 

per altre opzioni consultare il man.

 

 

enjoy 😉