Skip to content

Neues Notebook ...

gedanken

Nicht zuletzt, weil die VGA-Schnittstelle insbesondere auf Veranstaltungen ausstirbt und mein Notebook doch ziemlich "in die Jahre" gekommen ist, habe ich mich auf die Suche nach etwas Neuem gemacht und festgestellt, dass das gar nicht so einfach ist.

Dabei dachte ich das meine Anforderungen nicht so wahnsinnig hoch sind.

  • Weniger als zwei Kilo
  • 12" bis maximal 14" (kleiner ist besser)
  • Full HD Auflösung (mehr ist besser)
  • HDMI (gerne auch mit Adapter)
  • 16 GB RAM (zur Not auch 8 GB)
  • 256 GB SSD (mehr ist besser)
  • Dockingstation (!) oder Portreplikator
  • Möglichkeit, Netzwerk via Kabel zu verwenden (würde auch mit Adapter gehen, so häufig brauche ich das ausserhalb der Dockingstation nicht, eigentlich nur bei Vorträgen)
  • Englisches oder Schweizerdeutsches Tastaturlayout
  • kein optisches Laufwerk nötig
  • Muss mit Linux laufen, kein Windows nötig
  • Preisobergrenze 2000 CHF, es darf aber auch weniger sein

Für mich spannend ist, dass gerade das "Musskriterium" Dockingstation (oder Portreplikator) die Auswahl auf ein Minimum reduziert hat.

Mit dem Dell XPS 13 Developer Edition (wird mit Ubuntu ausgeliefert) hatte ich gehofft, fündig geworden zu sein. Der Support hat leider auf meine Anfragen nicht geantwortet, aber dankenswerter Weise hat mir ein lieber Bekannter einen Kontakt vermittelt, bei dem ich alle Fragen loswerden konnte.

Linux unterstützt leider die Dockingstation nicht und nach Erfahrung des Kontaktes - hier noch einmal in aller Form DANKE! - ist die HiDPI-Unterstützung bei Linux noch (sagen wir einmal) ausbaufähig.

Für mobile E-Mail und vieles andere reicht sicher mein Tablet inklusive Tastatur. Um "richtig" arbeiten zu können, braucht es aber etwas mehr. Gerade die Arbeiten an der vierten Auflage unseres Buchs (geplanter Erscheinungstermin viertes Quartal 2016, um der Frage vorzubeugen) möchte ich nicht mit dem Tablet erledigen.

Tatsächlich sind nach dem Reinfall nur drei Hersteller übrig geblieben. Wobei das so nicht richtig ist, es sind zwei plus ein Hersteller. Lenovo (ein Thinkpad, so wie immer), Dell (Latitude, warum nicht mal was anderes?) und Apple (leider - oh - ohne Dockingstation). Interessant ist, dass Apples Notebook günstiger sind als die von Lenovo im gleichen Leistungssegment.

Als alter Sack hätte ich auch gerne etwas wertiges und nicht unbedingt ein Gerät, das komplett aus Plastik besteht.

Ich habe mich jetzt für ein Dell Latitude E7450 entschieden. Ausschlaggebend war zum Einen, dass es komplett durch Linux unterstützt wird (Chipsatz ist Broadwell und nicht Skylake) und zum Anderen, dass ich es durch Lösen von zwei Schrauben erweitern kann.

Eckdaten:

  • Core i7 Prozessor
  • 8 GB RAM (werde noch einmal 8 GB separat bestellen)
  • 256 GB SSD
  • Gigabit Netzwerkschnittstelle
  • HDMI
  • E-Dock
  • 1,5 Kilogramm
  • 3 Jahre Vor-Ort-Support

Neben dem, dass Dell anscheinend Platz machen möchte für die nächste Generation scheint es die Geräte bereits am Lager zu haben. Konfigurationsänderungen speziell dieses Modells waren nur in sehr geringem Umfang möglich (ich benötige aber auch nichts anderes), gibt es reichlich Rabatte.

  • Kostenloser Versand
  • 35% Rabatt
  • Sie bekommen eine Docking-Station für den halben Preis ausgewählten Dell Latitude
  • ProSupport Plus zum Preis von ProSupport

Über die Linux Foundation hätte ich 10% Rabatt auf Hardware und 20% Rabatt auf Peripherie bekommen, aber das war gar nicht nötig.

Windows mit Linux-Kernel?

linux

Mit der letzten Ankündigung bin ich tatsächlich der Meinung, dass wir den Beginn der Umstellung von Windows auf einen Linuxkernel sehen. Es mehren sich die Zeichen, dass die Integration von Windows und Linux - durch Microsoft getrieben - immer stärker wird.

Dem vorangegangen sind eine Reihe von anderen Meldungen.

Windows Containers mit Docker.

Der Datenbankserver MS SQL wird auf Linux portiert.

OpenSSH wird in Windows Server 2016 enthalten sein.

Nebenbei: Wer es schafft das Takswarrior-Kommando "task color" im Linux-Subsystem von Windows 10 zu zeigen, bekommt ein Taskwarrior-T-Shirt und einen Sticker (Twitter) ;-)

openSUSE Leap 42.1 ...

linux

Da kann man mal sehen, wie viel Zeit es braucht bis ein Artikel fertig wird ...

Wer einen Distributionstest sucht, sollte meiner Ansicht nach lieber bei Pro-Linux oder Michael Kofler nachlesen.

Meine Anmerkung ist eher "philosophischer Natur" ;-)

Zum Einen finde ich es klasse, dass sich bei OpenSUSE endlich wieder etwas getan hat. Tot gesagte leben bekanntlicherweise länger. SUSE war "meine Einstiegsdroge" in die Linuxwelt und ich hätte es sehr schade gefunden, wenn diese Distribution einfach sang- und klanglos verschwunden wäre.

Zum Anderen gefällt mir das Konzept sehr (keine Angst, ich denke derzeit nicht darüber nach, zu wechseln). Es bietet eine sehr gute Alternative zu bestehenden Distributionen, die sich (bis jetzt) bezogen auf Softwareversionen ganz grob in drei Lager einteilen liessen:

  1. Abgehangen (ich möchte nicht veraltet sagen, weil es nicht passt), stabile Software, die lange unterstützt wird. Vertreter dieser Gattung finden sich besonders bei den Server-Systemen, seltener auf dem Desktop.
    • CentOS
    • Debian
    • Ubuntu LTS

  2. Schnell drehend, relativ viele Updates, aktuelle Software, kurze Support-Zeiträume. Typische Verwendung als Desktopsystem für (ambitionierte) Endbenutzer.
    • Fedora
    • Ubuntu (ohne LTS)

  3. Ständig aktualisierend ("rolling release"), meist topaktuelle Software häufig zu Lasten der Stabilität. Wer nicht regelmässig mitspielt ("aktualisiert") manövriert sich in Schwierigkeiten.
    • ArchLinux
    • Sabayon
    • Gentoo
    • OpenSUSE Tumbleweed

Klar, dass noch wesentlich mehr Distributionen gibt, die obigen seien nur als Beispiele genannt.

Es gibt natürlich Zwitter, so lassen sich die abgehangenen Systeme durch zusätzliche (nicht vom Hauptrojekt unterstützte) Paketquellen mit aktuellerer Software bestücken.

Und diesen "Zwitter-Weg" geht jetzt auch OpenSUSE Leap. Sie bauen auf der stabilen Basis von SUSE Enterprise Linux auf und portieren aktuelle Applikationen aus Tumbleweed zurück in die Distribution und unterstützen sie auch offiziell.

In der Summe ist das eine Mischung aus der ersten und der dritten gerade genannten Kategorie. Für mich ist dieser Weg das Beste aus allen Welten für Endanwender und ich hoffe, dass einige weitere Distributionen dem Beispiel folgen werden. Allerdings, das darf man nicht vergessen, kann der hohe Takt auch zu Problemen führen.

CAs hinzufügen ...

linux

Für den Fall, dass das noch jemand anderes benötigt.

Um andere Certificate Authorities (CAs) zu Linux hinzuzufügen, sind nur kleine Schritte nötig. Hier einmal am Beispiel CAcert.

Debian:

curl http://www.cacert.org/certs/root.crt -o /usr/local/share/ca-certificates/cacert_root.crt
curl http://www.cacert.org/certs/class3.crt -o /usr/local/share/ca-certificates/cacert_class3.crt
update-ca-certificates

CentOS:

update-ca-trust enable
curl http://www.cacert.org/certs/root.crt -o /etc/pki/ca-trust/source/anchors/cacert_root.crt
curl http://www.cacert.org/certs/class3.crt -o /etc/pki/ca-trust/source/anchors/cacert_class3.crt
update-ca-trust extract

ACHTUNG: In jedem Fall sollte vor dem Ausführen von update-ca-certificates bzw. update-ca-trust extract die Fingerprints der Zertifikate überprüft werden.

Schaltsekunde ...

linux

So soll es sein:

05:06:02 [dirk@moas:~] $ sudo grep -i leap /var/log/messages
Jul 1 01:59:59 moas kernel: Clock: inserting leap second 23:59:60 UTC
Jul 1 02:00:00 moas ntpd[24383]: 0.0.0.0 061b 0b leap_event

nice und ionice ...

linux

Ein kleiner Shorty für alle, die Last intensive Dinge mit ihren Linux-Maschinen anstellen müssen und den eigentlichen Betrieb so wenig wie möglich einschränken wollen.

Mit nice bzw. renice kann man die Priorität eines Prozesses bezogen auf die CPU beeinflussen und mit ionice kann man das gleiche auch in Bezug auf I/O tun.

Wenn man die folgenden Befehle in ein Skript schreibt, werden alle Kommandos und Kindprozesse des Skriptes mit niedrigst möglicher Priorität ausgeführt.

renice -n 19 -p $$
ionice -c 2 -n 7 -p $$

(ionice -c 3 -p $$ gibt dem Prozess nur dann I/O, wenn kein anderer Prozess I/O anfordert).

Die beiden obigen Befehle kann man natürlich auch in der aktuellen Shell (interaktiv) ausführen.

Restart check ...

linux

Wenn auf einem Linux-System Updates eingespielt werden, beispielsweise von Bilbiotheken, die von vielen Programmen benutzt werden, dann werden die neu installierten Libraries erst benutzt, wenn ein neues Programm gestartet wird. Alle bereits laufenden Programme nutzen noch die Bibliothek, die vor dem Update vorhanden war.

Um festzustellen, welche Programme das sind, gibt es unter CentOS das Skript needs-restarting, es ist im Paket yum-utils zu finden. Unter Debian und Ubuntu heisst das Skript checkrestart und ist im Paket debian-goodies zu finden.

Es lohnt sich, diese Skripte direkt nach einem Update auszuführen, um sich nicht in falscher Sicherheit zu wiegen.

Benchmarking ...

Man kann viel über Tools lernen, wenn man nachvollziehbare Messungen macht.

Für mich hat sich als sinnvoll erwiesen, fünf Mal zu messen. Die beste und die schlechteste Messung wird gelöscht ("Ausreisser") und aus den verbleibenden drei Messungen nehme ich den Mittelwert.

Die Messungen für den Artikel dd vs. fallocate vs. truncate ... habe ich mit diesem Skript gemacht:

#!/bin/bash
set -o errexit

# echo 'sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)'
# echo 'sync ; time (fallocate -l 10G 10gig.fallocate ; sync)'
echo 'sync ; time (truncate -s 10G 10gig.truncate ; sync)'
for i in $(seq 1 5); do
        sync ; time (truncate -s 10G 10gig.truncate ; sync)
        rm 10gig.truncate
done

Dabei habe ich das Kommando eingesetzt, was ich gerade getestet habe.

Interessant ist, wie sich die Blocksizes bei dd auf die wirkliche Schreibperformance auswirken ... nämlich minimal. Hier kommen nur die mittleren der fünf Werte, die komplette Liste der Messwerte lässt sich hier sehen.

sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 36.6231 s, 293 MB/s

real    2m2.442s
user    0m2.772s
sys     0m33.771s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.5773 s, 522 MB/s

real    1m55.923s
user    0m0.974s
sys     0m19.529s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)
1048576+0 records in
1048576+0 records out
10737418240 bytes (11 GB) copied, 7.79126 s, 1.4 GB/s

real    1m53.523s
user    0m0.123s
sys     0m7.667s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)
524288+0 records in
524288+0 records out
10737418240 bytes (11 GB) copied, 6.87154 s, 1.6 GB/s

real    2m8.122s
user    0m0.068s
sys     0m6.808s

dd vs. fallocate vs. truncate ...

linux

Gerade bei Virtualisierung kommt man nicht darum herum, Filesystem-Container in einer bestimmten Grösse anzulegen, wenn man nicht komplette Devices übergeben kann oder möchte.

Der Standardweg war bisher, einen solchen Container bzw. eine solche Datei mit dem Kommando dd zu erzeugen. Das kann zuweilen schon einmal einige Zeit benötigen, wie hier auf einem Testserver zu sehen ist:

dirk@testserver:~$ sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.7891 s, 516 MB/s

real    1m42.645s
user    0m0.942s
sys     0m19.807s

Die Dauer resultiert daher, dass dd jeden einzelnen Block schreibt (bzw. kopiert) und 10 GiB schreiben, dauert ein wenig ...

Insbesondere ist spannend zu sehen, dass das dd-Kommando bereits nach etwa 21 Sekunden fertig ist, es aber weitere 80 Sekunden dauert bis alles auf der Festplatte ist.

Ein Arbeitskollege wies mich jetzt auf fallocate hin, was ich bisher noch nicht kannte.

dirk@testserver:~$ sync ; time (fallocate -l 10G 10gig.fallocate ; sync)

real    0m0.165s
user    0m0.000s
sys     0m0.013s

Das Programm ist so schnell, weil nicht 10 GiB an Daten geschrieben werden, sondern nur der Platz für die Datei reserviert wird. Das ist völlig ausreichend für nahezu alle Anwendungsfälle.

Die Filesysteme, die fallocate unterstützt sind btrfs, ext4, ocfs2 und xfs.

Das dritte Programm im Bund ist truncate.

dirk@testserver:~$ sync ; time (truncate -s 10G 10gig.truncate ; sync)

real    0m0.087s
user    0m0.000s
sys     0m0.007s

Es ist noch ein wenig schneller als fallocate, weil es mogelt. Es erzeugt ein "sparse file" und gaukelt dem Betriebssystem vor, dass dort eine Datei mit lauter Nullen zu finden ist. Spätestens wenn man eine bestimmte Position in der Datei springen oder etwas verändern will, werden die I/O-Operationen durchgeführt, die man anfänglich vermieden hat.

Aus Sicht des Nutzers sehen alle drei Dateien gleich aus.

dirk@testserver:~$ ls -lah 10gig.*
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:46 10gig.dd
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:48 10gig.fallocate
-rw-r--r--. 1 dirk dirk 10G Jan 10 15:50 10gig.truncate

Die Empfehlung ist aber, in jedem Fall fallocate zu nutzen und nicht dd oder truncate oder anders ausgedrückt, Ihr solltet wissen, was die drei Programme tun und dann das passende für Euren Zweck auswählen.

Bloonix wird Open-Source-Software ...

Der Monitoring-Dienst Bloonix von Jonny Schulz wird Open-Source-Software. Über den Dienst habe ich hier im Blog schon einmal berichtet.

Ich freue mich sehr darüber, da ich das für eine ausgereifte Lösung halte, die von Jonny mit viel Liebe gepflegt wird. Ausserdem ist es an der Zeit, dass es eine weitere Alternative zu den derzeitigen Platzhirschen gibt.

Well done!

In dem Zusammenhang: Mein privater Server wird von Bloonix überwacht.

Privates Migrationsprojekt ...

linux

Bezogen auf Linux denke ich gerade über einen Wechsel im grossen Stil nach. Beruflich habe ich neben kommerziellen Unixen (momentan zu 100% Solaris) nahezu ausschliesslich mit Red Hat Enterprise Linux zu tun.

Dem möchte ich gerne privat Rechnung tragen. Die Server sollen auf das "Community Enterprise Operating System" CentOS migriert werden und der Desktop auf Fedora. Das passiert nicht "von Heute auf Morgen", ich habe vorher noch dringendere Arbeiten zu erledigen.

Axel schrieb ja schon einmal:

Irgendwie werde ich das Gefühl nicht los, dass Dirk nie lange bei einer Distribution bleiben wird. Marcus scheint da ähnlich zu ticken. Wirklich verstanden wieso, habe ich bisher nicht.

Mir wäre es jedenfalls viel zu mühsam, alle paar Monate meine produktiven Kisten neuzuinstallieren und mich wieder an was neues gewöhnen zu müssen, trotz dass ich die meisten Konfigurationdateien für mein $HOME in Git-Repositories habe. (Ein weiter Grund für Debian: Nie Neuinstallieren, nur alle paar Jahre mal Dist-Upgraden. :-)

Ja, ich habe die für mich ideale Distribution noch nicht gefunden. Nachdem letztlich ein Dist-Upgrade von Squeeze auf Wheezy mal so richtig viel Nacharbeit erfordert hat, hat das Ansehen von Debian bei mir eine deutliche Macke bekommen. Um eventuellen Nachfragen und dummen Kommentaren vorzubeugen: Es kamen keine Fremdrepositories zum Einsatz. Im "Normalbetrieb" kann ich mich nicht beklagen, da tut Debian seinen Dienst sehr gut.

Der Grund, der Axel bewegt bei Debian (für immer) zu bleiben, ist bei mir der Grund zu wechseln, ich möchte mich auch nicht immer an etwas Neues gewöhnen müssen. Der Unterschied ist, dass ich beruflich und privat zwei Welten bediene. Aber letzten Endes ist die Wahl der Distribution zweitrangig und fast nur Geschmackssache. Wie schon häufiger erwähnt, könnte ich meine private und berufliche Arbeit auf nahezu jedem System erledigen.

Eventuell liegt es auch an der Grundeinstellung, ich sehe mich eher als Linuxer als als Vertreter einer bestimmten Distribution. Und das wirklich schöne ist, dass man auch bei einem Distributionswechsel fast alles weiterverwenden kann, die Programme sind ja grösstenteils die gleichen.

Im Job sind die meisten Server nur einer einzigen Aufgabe (oder Webseite) zugeordnet. Privat verwalte ich rund 30 Domains mit entsprechenden Diensten.

Da ich nicht das Debian-Konfigurationsschema auf CentOS portieren möchte, suche ich nach Dokumentation, die gezielt auf Debian-Umsteiger abzielt. Habt Ihr da Tipps?

Bezüglich Fedora brauche ich noch Hinweise auf "non-free" Software, leider für die üblichen Verdächtigen mp3-Support, DVD und Flash. Da scheint RPM Fusion das Mittel der Wahl zu sein. Weitere Tipps nehme ich sehr gerne entgegen.

Bin für jeden Hinweis dankbar.

Linux Überblicksschulung ...

linux

Ich bin mir nicht sicher, ob das für irgendjemanden hilfreich ist.

Die Schulung habe ich vor fast einem Jahr gehalten und ohne meine Erläuterungen helfen die "Folien" vielleicht nicht so viel. Die Firmeninterna, die ich ebenfalls geschult habe, wurden aus der Präsentation entfernt.

Highlights sind vielleicht, die allgemeine Einführung (Seiten 3-10), Überblick Filesysteme (Seiten 29-32), Einführung vi(m) (Seiten 33-43) und Links und Literatur (Seite 92-99).

Euer Feedback ist erwünscht.

linux.pdf (etwa 900 kB, Links sind klickbar)

Spamattacke ...

linux

Gestern gab es eine hässliche Spamattacke auf meinen Hauptserver.

Das schöne ist, das nichts abgestürzt ist, das dumme ist, dass die wichtigen Mails nur mit erheblicher Verzögerung zugestellt wurden.

Es hätte schlimmer kommen können ...

Innerhalb kürzester Zeit sind fast 30'000 Mails auf dem Server aufgeschlagen. Wie man an der Abarbeitungsrate sehen kann, bietet die Antiviren- und Spamerkennung noch Optimierungspotential.

Per-Hour Traffic Summary
------------------------
    time          received  delivered   deferred    bounced     rejected
    --------------------------------------------------------------------
...
    0800-0900          18         20       1528          1          3
    0900-1000        4924       4699       4677        644          6
    1000-1100       19486       3275       3394       3257         29
    1100-1200        4569       3257       3010       3244          7
    1200-1300         965       3292       5970        949          3
...

sysadmin-utils ...

linux

Bei Jochen habe ich das GitHub-Repository sysadmin-util gefunden. Darin enthalten sind einige wirklich interessante Tools.

Neben anderen haben es mir die folgenden besonders angetan:

  • ago: Zeigt in einer menschlich lesbaren Form wie lange die letzte Änderung einer Datei her ist.
  • empty-dir: Gibt zurück, ob ein Verzeichnis leer ist oder nicht.
  • since: Zeigt alle Ausgaben seit dem letzten Lesen einer Datei, sehr hilfreich, um Logs zu verfolgen.
  • timeout: Timeout killt ein Kommando, nach einer bestimmten Laufzeit.
  • with-lock: Startet ein Kommando mit einer Lockdatei und verhindert so, dass es zwei Mal ausgeführt wird.

Natürlich kann man das auch alles selber machen, aber zu verstehen, wie andere das implementieren, erweitert den Horizont.

Einstieg in Linux ...

linux

Weil ich danach gefragt wurde:

Es gibt natürlich unfassbar viele Webseiten zu Linux. Hier sind Bücher, die ich empfehlen würde (es gibt noch viel mehr), ich habe bewusst, deutschsprachige Bücher ausgewählt. Unter der ISBN verbirgt sich ein Affiliate-Link.

Einführung in Linux

Linux 2013; Michael Kofler (DIE Linux-Bibel); ISBN 978-3-8273-3208-0

ACHTUNG: "Der Kofler" kommt vermutlich in den nächsten Wochen in einer aktualisierten Auflage bei Galileo Computing.

Für Basiswissen müssen es nicht die aktuellen Exemplare sein.

Linux 2011

Linux 2012

Einstieg in Linux; Steffen Wendzel, Johannes Plötner; ISBN 978-3-8362-1939-6

Linux, Das umfassende Handbuch; Johannes Plötner, Steffen Wendzel; ISBN 978-3-8362-1822-1

Dummies

Lasst Euch bitte vom Titel nicht beeindrucken, aber die Dummies-Reihe ist immer sehr gut:

Linux für Dummies; Richard Blum; ISBN 978-3-527-70649-5

UNIX für Dummies; John R. Levine, Margaret Levine Young; ISBN 978-3-527-70265-7

Befehle

Es ist leider vergriffen, aber wenn Ihr noch eine Kopie ergattern könntt, lohnt es sich. Enthalten sind fast alle wichtigen Manpages und sie sind übersetzt auf Deutsch.

Linux in a Nutshell; Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, Arnold Robbins & Lars Schulten

Eigenwerbung für Fortgeschrittene

Linux-Server, Das Administrationshandbuch; Dirk Deimeke, Stefan Kania, Charly Kühnast, Stefan Semmelroggen, Daniel van Soest; ISBN 978-3-8362-1879-5