well-adjusted

It is no measure of health to be well adjusted to a profoundly sick society. [Jiddu Krishnamurti]

Brief an MdB Ernst Dieter Rossmann, SPD

Hallo Herr Rossmann,

wie man hört, hat Ihr Parteivorsitzender ein Machtwort bezüglich eines neuen Anlaufs zur Vorratsdatenspeicherung gesprochen und Herr Maas muss jetzt liefern. Auf der anderen Seite haben verschiedene Mitglieder der Schleswig-Holsteinischen Landesregierung ihre deutliche Ablehnung ausgedrückt, unter Anderem auch Ministerpräsident Albig, ebenfalls SPD.

Ich erinnere mich noch gut an die Erklärung einiger SPD-Abgeordneter aus dem Jahre 2007, darunter auch Sie selbst, in der der damalige Gesetzesvorschlag als "unerträglich" und "möglicherweise verfassungswidrig" bezeichnet wurde -- und doch haben sie zugestimmt.

Nun ist seit dem einige Zeit vergangen. Wir wissen zumindest zum Teil, wie befreundete Geheimdienste arbeiten und wir wissen auch, dass unsere eigenen Geheimdienste dabei kooperieren und diese Möglichkeiten ebenfalls anstreben. Wir wissen, dass im "Kampf gegen den Terror" Menschen mit Hilfe von Metadaten getötet werden. Und wir erfahren "Chilling Effects" immer häufiger auch am eigenen Leib.

Ich hoffe, Sie lassen sich nicht durch das aktuelle "Entgegenkommen" blenden. Berufsgeheimnisträger können nicht wirksam von der Überwachung ausgenommen werden, genau so wie der BND nicht in der Lage ist, E-Mails von deutschen Staatsbürgern auszufiltern. Der Richtervorbehalt funktioniert in der Praxis schon bei Hausdurchsuchungen nicht. Und die Beschränkung auf "schwere Straftaten" wird von den Proponenten selbst ad absurdum geführt, wenn argumentiert wird, die Vorratsdatenspeicherung würde gegen unberechtigte Abmahnungen oder Betrug auf ebay helfen.

Davon abgesehen dürfte Ihnen bekannt sein, dass die Vorratsdatenspeicherung keinen messbaren Effekt bei der Verbrechensbekämpfung gezeigt hat. Was bleibt, ist ein nicht wieder gut zu machender Vertrauensschaden in der Bevölkerung. Einer von vielen, könnte man sagen, aber das macht die Sache ja nicht besser.

Um es ganz klar zu formulieren: ich möchte nicht in einem Staat leben, in dem Widerstand sich faktisch nicht artikulieren oder organisieren kann. Ich möchte keinen Staat, der seinen Bürgern keine Rückzugsmöglichkeiten mehr lässt und allmächtig für seine Definition von Gerechtigkeit sorgt. Die Vorratsdatenspeicherung ist ein Schritt hin zu einem totalitären System, das keiner wirksamen demokratischen Kontrolle mehr untersteht.

Bitte helfen Sie mit, das zu verhindern und stimmen Sie nicht erneut einem Gesetz zu, das verfassungswidrig, gefährlich und seinem Sinne nach unwirksam ist.

Viele Grüße, Jochen Spieker.

Thinkpad X240

Der Vorgänger X200 hat über fünf Jahre gehalten, trotz gewisser Schwierigkeiten.

Als Nachfolger kam lange nichts in Frage, weil ich nicht bereit war, den empfundenen Rückschritt von 1280x800 auf 1376x768 zu machen. Es sollte möglichst ein IPS-Panel mit Full HD oder besser sein, wieder 12-13 Zoll. Das X240 ist schon eine ganze Weile verfügbar, hat aber so seine Problemchen. Ganz vorne dabei das Touchpad. Deswegen habe ich mir sehr viel Zeit mit der Entscheidung genommen. Insgesamt bin ich jetzt aber nach fünf Tagen ziemlich zufrieden.

Hardwarekonfiguration:

  • Core i5 4200U
  • 8GB RAM
  • Full HD IPS Display
  • 500GB HD
  • 16GB m.2 Flashdisk
  • Intel 7260 acgn
  • 72Wh Akku

Aber gut, meine Notizen zum Setup. Ich wollte möglichst meine alte 128GB Samsung 840 Pro SSD weiterverwenden und die 500GB-Platte einer Zweitverwertung zuführen.

Installation

Zuerst habe ich das vorinstallierte Windows 8 gebootet und das BIOS aktualisiert. Für Windows gab es natürlich auch eine halbe Tonne Updates zu installieren, zusätzlich das Update auf 8.1. Da ich die m.2-Karte für die Linuxinstallation verwenden wollte, habe ich das Caching entsprechend abgeschaltet.

Anschließend habe ich Debian von einem USB-Stick (testing d-i mit Firmware für die WLAN-Karte) auf die m.2-Karte installiert. die 16GB reichen dafür locker. Auf dem Weg habe ich die Windows-Partition verkleinert um Platz für (temporäres) /home zu schaffen. Insgesamt belegt Windows bei mir nur ca. 25GB, die Partition habe ich auf 40GB verkleinert. Mit /home und den ganzen Recovery- und EFI-Partitionen bin ich unter 100GB geblieben, damit der Umzug auf die alte SSD klappt.

Mit gparted habe ich dann alle Partitionen möglichst weit nach "links" verschoben. Die ersten Partitionen bis einschließlich Windows habe ich dort gelassen, wo sie waren. Ich las irgendwo davon, dass es sonst Bootprobleme geben könnte. Übrigens sollte alles im UEFI-Modus klappen, natürlich mit deaktiviertem Secure Boot.

Für die Migration auf SSD habe ich leider zwei zeitraubende Anläufe gebraucht. Erfolgreich war letztendlich, einfach den Platteninhalt bis zum ENOSPACE per dd auf die SSD zu kopieren und danach mit gdisk im Expertenmodus das fehlende GPT-Backup am Ende der Disk wiederherzustellen (gdisk /dev/sdX, x, e, w). Danach haben Windows und Debian ohne Probleme gebootet. (Der erste Anlauf war eine Kopie der GPT mit sgdisks -R und anschließendem Umkopieren aller einzelnen Partitionen mit dd. Das Ergebnis ließ sich aber nicht booten. Windows-Meldung: 0x0000225, Grub hat sich gar nicht (sichtbar) geäußert.)

Der Austausch der Platte gehört übrigens doch eher zu den Lowlights. Statt einer Schraube wie beim X200 musste ich beim X240 acht lösen und die Bodenplatte auch noch aus den Klauen unzähliger Plastikclips befreien. Das will man nicht unnötig oft machen.

Mit Debian unstable funktioniert übrigens "im Prinzip" alles out-of-the-box. Sondertasten für Lautstärke, Bildschirmhelligkeit, WLAN, Tastaturbeleuchtung, Standby (mangels Swap kein Hibernate probiert). Ich habe allerdings nach einem Hinweis auf planet.debian.org xserver-xorg-video-intel (Version 2:2.99.912-1~exp1) und xserver-xorg-input-synaptics (Version 1.8.0-1~exp) aus experimental installiert.

Tweaks

Touchpad

Das ist noch nicht fertig, bisher komme ich aber mit dem hier in der ~/.xsession ganz gut klar:

synclient LockedDrags=1
synclient LockedDragTimeout=750
synclient TapButton1=1
synclient TapButton2=2
synclient TapButton3=3
synclient PamlDetect=1
synclient AreaTopEdge=2000
synclient MiddleButtonAreaLeft=3000
synclient MiddleButtonAreaRight=4049
synclient MiddleButtonAreaTop=0
synclient MiddleButtonAreaBottom=2000
synclient RightButtonAreaLeft=4050
synclient RightButtonAreaRight=0
synclient RightButtonAreaTop=0
synclient RightButtonAreaBottom=2000

Die ButtonAreas tun aber noch nicht komplett, was sie sollen. Wenn ich es richtig verstehe, wird das auch mit Kernel 3.15 (sid hat bisher nur 3.14) erst alles so richtig toll™ unterstützt. Der Trackpoint fühlt sich per default extrem "schwer" an. Dagegen habe ich das hier in /etc/rc.local:

echo 240 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
echo 250 > /sys/devices/platform/i8042/serio1/serio2/speed

Damit ist der Trackpoint deutlich schneller, aber auch etwas unpräzise. Und leider fehlt mir noch der Linksklick mit der Ecke links oben auf dem Touchpad und das Scrolling mit Trackpoint+MiddleButton funktioniert leider auch nicht. Das wollte ich mit dieser vom X200 übernommenen xorg.conf wiederherstellen, hat aber nicht geholfen:

$ cat /etc/X11/xorg.conf.d/20-trackpoint.conf 
Section "InputClass"
    Identifier "Trackpoint Wheel Emulation"
    MatchProduct "TPPS/2 IBM TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Option "EmulateWheel" "true"
    Option "EmulateWheelButton" "2"
    Option "Emulate3Buttons" "false"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Display / Auflösung

Das Display hat eine Auflösung von ziemlich genau 175 DPI und macht einen sehr guten Eindruck. Anwendungen, die von 96 DPI ausgehen, sind damit aber für meine Augen deutlich zu klein. In der xorg.conf musste ich die Grüße des Displays angeben, damit X.org die Pixeldichte korrekt berechnet:

$ cat /etc/X11/xorg.conf.d/90-displaydimension.conf
Section "Monitor"
    Identifier "<default monitor>"
    DisplaySize 275 155 # mm
EndSection

Zusätzlich habe ich in der ~/.Xresources (die ich in der ~/.xsession per xrdb einlese) stehen:

Xft.antialias: 1
Xft.dpi: 175
Xft.hinting: 1
Xft.hintstyle: hintmedium

Firefox/Iceweasel braucht eine Extra-Einladung über die Einstellung layout.css.devPixelsPerPx. Ich habe das auf 1.3 gesetzt und bin mit dem Ergebnis leidlich zufrieden. Gruselig sehen damit natürlich Pixelgrafiken wie die von Munin aus. Da kann Firefox aber nichts für. Munin sollte vielleicht mal auf SVG umstellen. Ach Mensch, da gibt es sogar ein Ticket zu.

So sehen Gtk/Gnome-Anwendungen schon mal ganz ok aus.

Awesome WM

Nach dem Setzen des korrekten DPI-Werts sind auch die Textelemente von awesome groß genug, um lesbar zu sein. Ich musste allerdings ein paar meiner Widgets anpassen.

Batterie-Info

Da tp-smapi mit aktuellen Thinkpads nichts mehr anfangen kann, musste ich die Batterie-Infos anders einlesen und berechnen. Ich benutze jetzt diese Funktion um je eine Textbox für BAT0 und BAT1 zu füllen:

function batteryInfo(adapter, widget)
    local fcur = io.open("/sys/class/power_supply/"..adapter.."/energy_now")
    local fcap = io.open("/sys/class/power_supply/"..adapter.."/energy_full")
    local fdes = io.open("/sys/class/power_supply/"..adapter.."/energy_full_design")
    local fsta = io.open("/sys/class/power_supply/"..adapter.."/status")
    local fpow = io.open("/sys/class/power_supply/"..adapter.."/power_now")
    local cur = fcur:read()
    local cap = fcap:read()
    local des = fdes:read()
    local sta = fsta:read()
    local pow = fpow:read()
    fcur:close()
    fcap:close()
    fdes:close()
    fsta:close()
    fpow:close()
    local arrow = "→"
    local hours = "--"
    local minutes = "--"
    local percentage = math.floor(cur * 100 / des)
    if sta:match("^Discharging$") then
        minutes = string.format("%02i", math.floor(60*cur/pow % 60))
        hours = string.format("%02i", math.floor(cur/pow))
        arrow = "↘"
    elseif sta:match("^Charging$") then
        minutes = string.format( "%02i", math.floor(60*(cap-cur)/pow % 60) )
        hours = string.format( "%02i", math.floor((cap-cur)/pow) )
        arrow = "↗"
    end
    widget.text = adapter..": "..arrow.." "..percentage.."% ("..hours..":"..minutes..")"
end

Dabei kommt dann sowas raus:

BAT1: ↘ 19% (01:48) BAT0: → 101% (--:--)

Ja, die Kapazätit beider Akkus ist größer als deren "Design Capacity". Der Interne hat 23,7 Wh statt 23,2 und der große Externe hat sogar 75,8 Wh statt der versprochenen 71,1.

CPU-Frequenz

Mit dem X200 hatte ich auch in einem kleinen Graphen eine Kurve für die CPU-Frequenz. Die konnte man mit ondemand-Governor noch gut aus /sys auslesen. Haswell-CPUs benutzen aber das neue intel_pstates und die relevante Datei scaling_cur_freq ist nicht mehr world-readable Eine Alternative habe ich bisher nicht gefunden. Externe Programme will ich für das Malen einer Kurve nicht jede Sekunde aufrufen.

Munin

Für das alte Geräte hatte ich leider zu spät beschlossen, den Akkuzustand per Munin zu überwachen. Das Plugin dazu musste ich aus obigen Gründen leicht anpassen und sollte jetzt relativ universell sein:

#!/bin/sh

config() {
        echo "graph_title Battery Status $battery"
        echo "graph_vlabel battery capacity (mAh)"
        echo "energy_now.label remaining"
        echo "energy_full.label last full"
        echo "energy_full_design.label design"
        echo "graph_category system"
        echo "graph_args --base 1000 -l 0"
        echo "graph_scale yes"
        echo "graph_printf %6.0lf"
}

run() { 
        base="/sys/class/power_supply/$battery"
        if [ ! -d "$base" ]; then
                echo "Cannot read battery base directory: ${base}" >&2
                exit 1
        fi
        echo "energy_now.value $(cat ${base}/energy_now)"
        echo "energy_full_design.value $(cat ${base}/energy_full_design)"
        echo "energy_full.value $(cat ${base}/energy_full)"
}

battery=${0#*battery_}
if [ -z "$battery" ]; then
        battery="BAT0"
fi

case $1 in config)
        config
        exit 0;;
*)
        run
esac

Einfach als battery_BAT0 und battery_BAT1 in /etc/munin/plugins verlinken oder kopieren.

Sonstiges

Mit der gedankenlosen Installation von Gnome habe ich mir systemd-sysv und NetworkManager eingetreten. Ich habe das mal akzeptiert und erstmal keine Probleme. Wichtig ist mir nur diese Einstellung in der /etc/systemd/logind.conf:

HandleLidSwitch=ignore

Sowas stelle ich bevorzugt mit xfce4-power-manager ein.

Wpa_gui habe ich gegen nm-applet eingetauscht. Mal schauen, wie bequem das in Zukunft ist.

Fazit

Ich habe mich doch erstaunlich schnell mit der Kist angefreundet. Wahrscheinlich schneller, als sich $SWMBO nun an mein abgelegtes X200 gewöhnen wird. (Die hat noch einen EeePC benutzt, den sie heiß und innig liebt, der aber doch ein ganz klein wenig zu langsam ist …)

Ganz großes Plus ist auf jeden Fall das Display. Das war auch beim X200 (abgesehen von der damals ganz passablen Auflösung) das große Manko. Blinkwinkelstabil, recht satte Farben, ordentliches Schwarz und ausreichend hell/dunkel zu stellen.

Die Tastatur kenne ich von meinem Arbeitsrechner (T420s), finde die vom X240 aber noch angenehmer. Der Trackpoint ist aktuell unbenutzbar und ich habe wenig Hoffnung, dass sich das in der Zukunft noch legt. Das Touchpad ist ganz gut erträglich. Mehr hatte ich auch nicht zu hoffen gewagt.

Die Laufleistung mit 72+21 Wh ist atemberaubend. Ich hatte das Gerät letztens mit im Büro um nebenbei Windows Updates durchzuklicken. Also durchaus einiges zu tun (Downloads über WLAN, Plattengerödel, sicher auch CPU), dafür aber auch mal einige Zeit idle mit abgeschaltetem Bildschirm. Den Arbeitstag bin ich gut mit dem externen Akku ausgekommen. Ich habe vor, zu Hause nur noch auf Akku und mit Standby zu arbeiten. Mal schauen, wieviele Abende ich so durchkomme.

… now seriously

Als ich so 12-14 Jahre alt war, habe ich viel Phil Collins und die damaligen Genesis gehört. Auf Kassette, meist mit ziemlich schlechten Kopfhörern, als Aiwa und Sony noch tolle Marken waren.

Walkmen von Aiwa, Sony und Panasonic

Gott, für den Aiwa habe ich zwei Wochen am Stück in einer Baumschule dornige Pflanzen eingetopft. Haptik, Mechanik und Arbeitsgeräusche haben mich aber fasziniert und in dem Alter hat man ja gern das Bedürfnis, sich ab- und auszugrenzen. Dafür waren die Geräte gut geeignet.

Blick in das geöffnete Kassettenfach eines Aiwa PX557

Langfristig beschädigt hat das mein Gehör nur in dem Sinne, dass für mich der warme, matschige Kassettensound die Referenz war. Der Umstieg auf digitale Medien fiel schwer. Alles zu klar, klirrend und irgendwie leer. Aber zurück ging nicht.

Sorgfältig beschriftete Privatkopien

Also Hochrüstung in Sachen Kopfhörer. In-Ears waren eine Erleuchtung. Halfen aber nicht mehr, als ich weniger mit der Bahn unterwegs war und mehr Auto fuhr. Da habe ich aber auch nicht mehr Phil Collins gehört.

Zwanzig Jahre nach den teuren Walkmen fiel mir nun diese Version von … But Seriously in die Hände. Von einem Steve Hoffman, Sound Engineer mit eigener Fanbase.

Jetzt bin ich auf dem Weg, alt zu werden und höre zum ersten Mal, wie das eigentlich gedacht war. Cool! Hätte nicht gedacht, dass mir das nochmal gefällt.

GPG Key Transition
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256,SHA1


Thu, 2013-07-04

For a number of reasons, i've recently set up a new OpenPGP key, and
will be transitioning away from my old one.

The old key will continue to be valid for some time, but i prefer all
future correspondence to come to the new one.  I would also like this
new key to be re-integrated into the web of trust.  This message is
signed by both keys to certify the transition.

the old key was:

pub   1024D/D58ADB39 2004-10-20 [expires: 2013-11-27]
      Key fingerprint = CE37 FE4D A5EE 969D 5E04  8A9B F807 D9C9 D58A DB39

And the new key is:

pub   4096R/436F8597 2013-07-03 [expires: 2018-07-02]
      Key fingerprint = 4423 67D2 7818 ACE5 06DF  3645 538A EE39 436F 8597

To fetch the full key, you can get it with:

  wget -q -O- http://well-adjusted.de/~jrspieker/436F8597.asc | gpg --import -

Or, to fetch my new key from a public key server, you can simply do:

  gpg --keyserver subkeys.pgp.net --recv-key 436F8597

If you already know my old key, you can now verify that the new key is
signed by the old one:

  gpg --check-sigs 436F8597

If you don't already know my old key, or you just want to be double
extra paranoid, you can check the fingerprint against the one above:

  gpg --fingerprint 436F8597

If you are satisfied that you've got the right key, and the UIDs match
what you expect, I'd appreciate it if you would sign my key:

  gpg --sign-key 436F8597

Lastly, if you could upload these signatures, i would appreciate it.
You can either send me an e-mail with the new signatures (if you have
a functional MTA on your system):

  gpg --armor --export 436F8597 | mail -s 'OpenPGP Signatures' jrspieker@well-adjusted.de

Or you can just upload the signatures to a public keyserver directly:

  gpg --keyserver subkeys.pgp.net --send-key 436F8597

Please let me know if there is any trouble, and sorry for the
inconvenience.

Regards,
Jochen Spieker

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJR1TnMAAoJEFOK7jlDb4WXMvoQANucjATO7VppTDQxa7uUrZLA
tgmLFB9myif9REtf3myTIQQ8dp8vyURjWcQDFL9X1ySSaKCzK5B/XOF3UrOJ7Gqa
feD/g5qoNKFmJJFIpaFmfs1ElmRgLzyl93+mMh0qtkq/95XJ2NOU1AA3gYqJw3+K
u8SFWJE3yu8fjA7ihdat0rNFTlK7jRwDlKaxILHoNzDD1h50t2u9TlY0gURx8rsw
022wJ/W9Qa29Zvfr0n8cQB3i0VIejcwOaxYbUYqz0fPdIjqRq+HulE6IFtdEmkAD
m4dMstooLgj+/HJAoCdqsTWdVCqXJ9FMfRcq63CGgtWhVMC/5gESD8MXuSk9ZAVF
ZrYlj4egzg9jDthymUz+qbd3Pz5qneCQWzWhdv934hALvaxqIZ2AvSEri1dFIRdN
0bXNPytxr6vNobvFkzm2teq68zy7Os3LBvt6/mWTsflaT5yFn7jgm1ozbmCYO9Hc
qPH76kReI06MVpgy5rqlLzYbDGcKX7K4T5rl8FJ5xexaDSEzflMtYidI+19now2y
V0cEaKA7u4dlurAw4ga2f4wgPJCRk+xu8hx8juwpDzG4TSEj18B0Mxin1/gdGXpM
GT0tq2ovMwURdovAbcKrc1pxCgIGHJ+A/B7oTZHDDtIGKFPQCYl9kuLbS0VNnnql
PeXbI2vh3bq8+3N6tycXiEYEARECAAYFAlHVOcwACgkQ+AfZydWK2znqdQCeL+Fo
1x4pVn2Jc7NhxlG3Gmn+SV0AoKT4LJXmgOZlVYMEBbq+09dT3C03
=n1FH
-----END PGP SIGNATURE-----
Warum?
# cat /tmp/dhcp.leases
1362381768 00:11:41:30:a1:fc 172.16.27.156 nas-server 01:00:11:41:30:a1:fc
1362381399 00:22:f7:0d:07:65 172.16.27.179 manowar *
1362381294 00:15:6d:c5:fe:cf 172.16.27.191 paperbag 01:00:15:6d:c5:fe:cf
1362379383 00:15:99:66:1f:76 172.16.27.247 WORRYWORT 01:00:15:99:66:1f:76
1362365416 00:1f:16:10:f6:b9 172.16.27.193 * *
1362383112 00:1a:4d:52:41:09 172.16.27.137 abattoir *
1362366454 00:15:af:e0:1c:91 172.16.7.236 cupcake *
1362374802 00:1d:6a:56:bf:b7 172.16.7.188 * 01:00:1d:6a:56:bf:b7
1362368416 00:0d:4b:20:0b:21 172.16.27.145 tinbox *
1362365154 00:25:90:05:2b:25 172.16.27.138 jigsaw-ipmi 01:00:25:90:05:2b:25

Und die Leute fragen mich, wofür ich das hier brauche:

Patchpanel

vgsplit

Es ist eigentlich schon eine Weile her, dass ich das erste Mal dachte zu wissen, wie geil LVM ist. Ich hab mich aber geirrt, es ist noch geiler.

Die Geschichte: beim Aufsetzen eines Systems konnte ich mich nicht gleich dazu durchringen, /home auf ein LUKS-Device zu legen. Stattdessen habe ich /boot und das root-FS in normale Partitionen gepackt und über den Rest des Platzes ein Physical Volume angelegt, das nie mehr als zur Hälfte belegt war.

Grob rekostruiert:

$ pvs
PV                         VG      Fmt  Attr PSize  PFree
/dev/sda3                  vg0     lvm2 a--  127.99g  75.60g

$ vgs
VG      #PV #LV #SN Attr   VSize  VFree
vg0       1   3   0 wz--n- 127.99g  75.60g

$ lvs
LV    VG      Attr     LSize  Pool Origin Data%  Move Log Copy%  Convert
home  vg0     -wi-ao-- 22.28g
swap  vg0     -wi-ao--  1.91g
usr   vg0     -wi-ao-- 10.24g
var   vg0     -wi-ao-- 10.24g

So, wie kriege ich jetzt die Daten von nur einem Volume in einer VG möglichst live in eine neue VG auf einem LUKS-Volume migriert? -Erstaunlich einfach!

Zuerst musste ich Platz für eine neue Partition schaffen. Dazu habe ich erst das Physical Volume mit pvresize verkleinert und anschließend mit parted die zu große Partition gelöscht und mit dem gleichen Startsektor aber geringerer Größe wieder angelegt. Das ist der heikelste Teil. Um Rechenfehler (MB/MiB etc.) zu umgehen, empfiehlt es sich, die neue Partition größzügig anzulegen und anschließend nochmal pvresize darauf loszulassen.

Danach habe ich im freien Platz eine neue Partition darauf angelegt und per cryptsetup luksFormat den LUKS-container erstellt. Den dann per cryptsetup luksOpen aufgemacht und mit vgextend der existierenden VG hinzugefügt.

Die Situation jetzt also: /home ist immer noch in der gleichen VG, aber zu dieser VG gehört jetzt auch ein, noch ungenutztes, Physical Volume mit LUKS darunter.

Trick 1 (den kannte ich schon länger): mit Hilfe von pvmove kann man LVs von einem PV auf ein anderes verschieben. Ich habe das bisher nur gemacht, um eine komplette VG auf einen anderen Datenträger zu verschieben. Hier habe ich das benutzt, um /home auf den LUKS-Container zu verschieben. Das ist je nach Größe der LV recht zeitintensiv, geht aber schneller, als viele kleine Dateien zu kopieren und vor Allem halt online.

Trick 2: Da nun /home auf einem anderen PV liegt, als alle anderen LVs, kann man mit vgsplit dieses PV samt LV in eine neue VG schieben. Das geht nun leider nicht mehr online, aber immerhin sehr schnell. Also umount /home, vgsplit -n vg0 crypto0, vgchange -ay crypto0 und wieder mount /home.

Voilà:

$ pvs
PV                         VG      Fmt  Attr PSize  PFree
/dev/mapper/home-decrypted crypto0 lvm2 a--  27.94g   4.66g
/dev/sda3                  vg0     lvm2 a--  47.99g  25.60g

$ vgs
VG      #PV #LV #SN Attr   VSize  VFree
crypto0   1   1   0 wz--n- 27.94g   4.66g
vg0       1   3   0 wz--n- 47.99g  25.60g

$ lvs
LV    VG      Attr     LSize  Pool Origin Data%  Move Log Copy%  Convert
home  crypto0 -wi-ao-- 23.28g
swap  vg0     -wi-ao--  1.91g
usr   vg0     -wi-ao-- 10.24g
var   vg0     -wi-ao-- 10.24g

Zum Schluss muss man dann nur noch die /etc/{fs,crypt}tab anpassen und bei Bedarf die alte, unverschlüsselte Partition so vergrößern, dass der Verschnitt weg ist.

Upgrade

Ich habe mir endlich mal die Zeit genommen, einen neuen virtuellen Server zu mieten und alle Dienste dahin umzuziehen. Details zu Hard- und Software sind hier nachzulesen.

Ich hätte das viel früher tun sollen. Die neue VM ist spürbar schneller, insbesondere bei allem, was mit I/O zu tun hat. Das, und der viermal so große Arbeitsspeicher, machen „dickere“ Webanwendungen wie tt-rss und Roundcube (Accounts auf Anfrage) erst richtig benutzbar.

Bei der Gelegenheit habe ich auch gleich ein paar Backports mehr installiert. Das Dovecot-Upgrade von 1.2 auf 2.1 war der aufwändigste Teil, hat sich aber gelohnt.

Was nur komisch war: das hat sich so richtig nach Arbeit angefühlt. Setup, Datenmigration, DNS TTL runtersetzen, Tests, User informieren, Downtime, nochmal Daten migrieren, DNS umstellen, nochmal draufgucken.

Brrr. Insgesamt 1,5-2PT, würde ich sagen. Bei einem angemessenen Stundensatz habe ich das aber durch den günstigeren Tarif für den Server in neun bis zehn Jahren wieder raus. :)

Clean IT

Hmm, lecker, Clean IT.

Was ich da am Spannendsten finde: bei allen angedachten Regelungen scheint durch, dass in den Köpfen der Verantwortlichen eine klare Grenze zwischen Anbietern und Konsumenten gezogen werden kann. Zwar ist inzwischen angekommen, dass es "User Generated Content" gibt. Aber die Infrastruktur, die angebotenen Dienste, sind in der Hand vergleichsweise weniger.

Die "Regierungserklärung" von Andy Müller Maguhn ist immer noch aktuell.

Die machen mit ihren Gesetzen genau das kaputt, was das Internet so einzigartig macht. Das Schlimme: die müssen sie nicht mal viel überwachen. Filter, Abhörschnittstellen und Haftungsregeln reichen schon, um "normale" Leute an der aktiven Gestaltung des Netzes zu hindern. Abgesehen von AGB, Kopierschutz, Geräteverdongelung und allgemeiner Unkenntnis über die technischen Vorgänge.

Und deswegen finde ich es wichtig, dass Leute ihre eigene Infrastruktur betreiben. Und deswegen ist Freie Software wichtig. Und deswegen sind offene Standards wichtig. Und Netzneutralität. Dezentral organisierte Plattformen. Vollwertige Netzzügänge. Zugängliche Hardware. Technische Bildung.

Wir müssen Tatsachen schaffen, damit sie es nicht mehr wagen, uns die Werkzeuge aus der Hand zu nehmen. So wie es jetzt, so wird es ja gern hochgehalten, mit "Facebook und Twitter" ist.

Entscheidung

Es gibt Dinge, die ziehen sich über Wochen oder Monate hin, in denen nichts Interessantes passiert. Und dann muss man innerhalb weniger Stunden eine Entscheidung treffen und nur ein paar Tage später ist alles in trockenen Tüchern. Ein Hauskauf kann so laufen.

Wohnzimmer

Es müssen ja einige Dinge zusammenkommen: Nutzwert, Behaglichkeit, Lage, Preis. Und eine „Liebe auf den ersten Blick“ darf es auch sein.

Hat alles geklappt. :)

Page created
Comments? Use or send an e-mail.