mit convert alle cores nutzen

Mit convert kann man wie im beispiel Bilder auf eine maximale seitenlögen verkleinern. Da convert aber ein single thread prozess ist, habe ich mit einer while schliefe nachhelfen müssen.

#!/bin/bash

cpu=4
mkdir web
 
ls -1 *.JPG *.jpg | while read file;
do {
        echo $file
        convert $file -resize '800x800>' web/$file &

	#warte bis weniger gleich als $cpu converts laufen
	while true; do 
		if [ "$(ps axf | grep convert | wc -l)" -le "$cpu" ]; then 
			break
		fi
		sleep 0.5
	done
}
done
 
exit 0

CD Laufwerk eingebunden

Heute wollte eine KVM VM nicht startet. Sowohl im virt-managa als auch in der virsh kam folgende Fehlermeldung:

libvirtError: monitor socket did not show up.: Connection refused

Nach dem ich dann einen Burgreport auf bugs.launchpad.net gelesen habe war klar wo das dämliche Problem war.

Ich hatte bei der VM ein CD Laufwerk eingebunden. Doch die ISO Datei habe ich bereits gelöscht.

VMDK 2 RAW

Heute habe ich in der BA den alten VMware Server auf KVM migriert. Dafür musste ich die gesplitteten VMDK Dateien zu einer RAW Datei bzw. ins LV coppiern.

vmdk2raw.sh

#!/bin/sh

for i in `ls *[0-9].vmdk`; do
    echo $i
    qemu-img convert $i -O raw $i.raw
done

cat *.raw > /dev/mapper/vg-mail

Partitionen in einem LV mounten

Heute musst ich eine KVM Image Mounten. Da es raw in einem LV lag musste ich die Partitionen im LV mounten. Dies geht mit einem loop device.

losetup /dev/loop0 /dev/mapper/server
kpartx -a /dev/loop0

Dann stehen einem die Partitonen entweder als:
mount /dev/mapper/loop0p1 /mnt/server

oder wieder rum als lv zur verfügung:
vgscan
mount /dev/vg-server/server /mnt/server

Split Screen

Für das Arbeiten mit einer Screen ist es manchmal hilfreich die mehreren Fenster neben- oder untereinander zusehen.

In einer Screen gibt man die Steuersequenz an STRG + a und zum Splitten entweder mit einem großen S für eine horizontales fenster oder mit einer Pipe | für ein vertikals Fenster:
STRG + a + S
STRG + a + |

Zwichen den Fenster kann man mittels: STRG + a + TAB hin und her Springen.

Wenn man in einem neuen Fenster ist muss man das noch eine Session erstellen.
STRG + a + c

Schließen kann mann die bash mit: STRG + d.
Aus der laufenden Screen Session kommt man mit STRG + a + d kein kommt mann dann wieder mit screen -r