Archiv der Kategorie: Computing

Erlebnisse aus der Welt der IT

Schickes KiTTY – mit PuTTY Themes

Seit rund 8 Jahren setze ich auf den PuTTY Fork KiTTY, der die gewohnten Funktionalitäten von PuTTY mit einigen weiteren sinnvollen ergänzt. Auch heute wird KiTTY noch aktiv weiterentwickelt und ist eines Blickes wert.

Das Farbschema des Terminals kann sowohl in PuTTY als auch in KiTTY flexibel pro Session angepasst werden. Wer hier aber nicht selbst Hand anlegen möchte, kann beispielsweise auf das iTerm2 Color Schemes Repository von mbadolato auf GitHub zurückgreifen. Dort finden sich in einem separaten Ordner auch passende Registry Keys für PuTTY.
Um diese Funktionsfähig für KiTTY zu machen, muss in den Registrydateien lediglich der Pfad von

[HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\<SessionName>]

auf

[HKEY_CURRENT_USER\Software\9bis.com\KiTTY\Sessions\<SessionName>]

abgeändert werden.

Zum Schluss noch ein Tipp für die passende Schriftart: Anonymous Pro stellt in meinen Augen eine schicke Ergänzung zu den Themes dar.

KiTTY mit dem Cobalt2 Theme und Anonymous Pro
KiTTY mit dem Cobalt2 Theme und Anonymous Pro

Do it yourself – Nexus 5 Reparatur

Meistens geschiet es plötzlich und unvorbereitet. Am vergangenen Abend begann es damit, dass mein Nexus 5 erst sporadisch und dann immer häufiger nur noch einen bunten und statischen Pixelteppich anzeigte. Ein Softwarebug ließ sich schnell ausschließen, sodass nach der ersten Google Recherche leider nur der Schluss übrig blieb, dass es sich um einen Hardwaredefekt handeln muss. Eine mögliche Lösung in Form des Austauschs des Nexus 5 Flexboards hat sich auch schnell ergeben, allerdings möchte dieser Austausch erst einmal durchgeführt werden 😀
In der Hinterhand hatte ich noch mein altes und defektes Nexus 5, das vor fast genau einem Jahr (wiederkehrendes Schicksal? :-D) bei einem Sturz seine Anzeigefähigkeit verlor. Dessen Flexboard war allerdings noch intakt.
Also ging der Blick weiter auf ein Do-it-yourself-YouTube-Video, dass den Austausch Schritt für Schritt erklärte. Für flinke Menschen dürfte das keine große Aufgabe darstellen, aber als Mann mit zwei linken Händen (früher hat man mich nicht zu unrecht eher den Software-Typen genannt :-D) blieb es ein Wagnis. Da das Risiko bei einem alten Gerät allerdings abwägbar ist, habe ich es dann doch versucht.

Die Nexus 5 Operation
Die Nexus 5 Operation

Im ersten Versuch habe ich lediglich den LCD- und Boardkonnektor nochmal festgedrückt, was sich aber als nicht ausreichend darstellte. Im folgenden zweiten habe ich schließlich das komplette Flexboard des alten Nexus 5 in mein aktuelles Nexus 5 eingebaut. Nach einem ersten gespannten und zögerlichen Versuch hat es den ganzen Abend und auch heutigen Tag überstanden, die Operation scheint geglückt und die Ursache behoben zu sein. Ich muss zugeben, gestern Abend war ich ziemlich stolz auf mich! 😀
Ja, es hätte auch direkt ein Neugerät sein können. Aber ich liebe das Nexus 5 und seine LineageOS-Kompatibilität immer noch sehr. Irgendwann wird sicherlich ein neues Gerät anstehen, aber die gemeinsame Zeit scheint noch kein Ende gefunden zu haben. Schicksal und Glück im Unglück – welcome back, Nexus 5!

Upgrade auf MySQL 8.0 abgeschlossen

Vorgestern ist rund drei Jahre nach dem letzten Release MySQL 8.0 offiziell von Oracle freigegeben worden. Vor dem Upgrade sollte man unbedingt die Upgrade Guides durchgehen, denn mit dem neuen Release hat sich einiges getan – das Upgrade fällt diesmal etwas größer aus.
Die neue MySQL Shell bietet ein kleines Werkzeug, mit dem vorab einige Knackpunkte erkannt werden können. Bei mir hat sie glücklicherweise nur einige Warnungen ausgespuckt, die keine kritische Wirkung auf das Upgrade hatten.
Für das Upgrade habe ich die In-Place Variante gewählt, d.h. die neuen MySQL 8.0 Binaries werden mit einem vorhandenen Datadir gestartet. Beim ersten Start nimmt MySQL 8.0 dann notwendige Änderungen vor, die u.a. auch in der Erstellung des neuen Data Dictionary enden. Dieser Vorgang hat selbst bei meiner nicht gerade üppigen Installation einige Minuten verschlungen. Ein gewohntes anschließendes mysql_upgrade bringt schließlich auch die restlichen Bereiche auf den aktuellsten Stand.
Eine der kritischeren Änderungen ist die Umstellung des Preferred Authentication Plugins von mysql_native_password auf caching_sha2_password. Diese Änderung erfordert auch die Aktualisierung der MySQL Client Bibliotheken. Glücklicherweise bleiben bereits bestehende MySQL Benutzeraccounts hiervon aber unberührt, sodass bestehende Anwendungen erst einmal auch ohne neue Libs auskommen. Die Aktualisierung kann hier zu einem späteren Zeitpunkt vorgenommen werden.
Nach dem Upgrade hat bei mir lediglich der XMPP/Jabber Server Openfire gestreikt. Dieser bringt noch einen älteren MySQL Java Connector mit, der scheinbar auf eine MySQL Query Cache Variable zugreift, die in MySQL 8.0 (dort wurde der Query Cache komplett entfernt) nicht mehr existiert. Ein manuelles Upgrade des dort verwendeten MySQL Connectors hat aber auch hier Abhilfe geschaffen.

Hallo, MySQL 8.0.11!
Hallo, MySQL 8.0.11!

Unter dem Strich ist das Upgrade auf MySQL 8.0 trotz der zahlreichen Änderungen ausgesprochen problemlos vonstattengegangen. Die lange Testphase scheint MySQL 8.0 gut getan zu haben 🙂

LineageOS Aprilscherz ’18

Die Aprilscherze in LineageOS halten traditionell im ersten April-Build eines jeden Geräts Einzug in das Custom ROM. Dadurch trudeln sie etwas später ein, der „Oha!“ Moment dürfte dafür umso größer sein.
Auch dieses Jahr hat man sich mit den LOSCoins wieder viel Mühe gegeben. Nach dem Start erscheint direkt eine Benachrichtigung über das Vorhandensein einer möglichen Softwarefälschung. Um Missbrauch zu vermeiden, werden fortan angeblich LOSCoins generiert. Ha! 😀

Notepad++ Easter Egg: Space Invaders

Schon in der Vergangenheit gab es im freien Editor Notepad++ das ein oder andere Easter Egg. Mit der gestern veröffentlichten Version 7.5.6 kam ein ganz offizielles hinzu – der Hinweis befand sich sogar in der Veröffentlichungsnachricht: „And help us to relay a message from outer space: type „Space Invaders“, select it, then hit F1.“

Der bitte um Weiterverbeitung komme ich natürlich gerne nach 😉 So sieht die Nachricht aus dem Weltraum aus:

Notepad++ We come in peace

 

Bash: History mit Zeitpunkten und unbegrenzter Größe & .bashrc vs. .bash_profile

Auch wenn es einige Alternativen zur gewöhnlichen Bash unter Linux gibt, zählt sie auch heute noch zu den beliebtesten Shells. Auch ich selbst nutze sie auf meinem Server noch rege. Die Z shell (zsh) sieht zwar ebenso vielversprechend aus, aber das ist ein Thema für ein anderes mal.

Unbegrenzte History
Kommen wir zurück zur Bash: etwas, dass ich lange vermisst habe, war die Größe der History so festzulegen, dass diese nicht begrenzt ist. Oftmals gibt es dann doch den einen Befehl, der nützlicherweise noch in der History schlummern könnte, wenn er nicht schon dem Größenlimit zum Opfer gefallen wäre. Festlegen lässt sich die Historygröße grundsätzlich über die beiden Variablen HISTSIZE sowie HISTFILESIZE. HISTSIZE legt dabei die maximale Anzahl von Befehlen bzw. Zeilen fest, die in der History im Hauptspeicher während einer Sitzung festgehalten bleiben. HISTFILESIZE legt dagegen die maximale Anzahl von Befehlen bzw. Zeilen in der Historydatei fest, die gespeichert bzw. beim Start der Bash geladen werden. Wichtig ist also, beide Werte entsprechend anzupassen. Bis zur Bash Version 4.3 gab es AFAIK keine Möglichkeit, beide Werte auf „unlimitiert“ zu setzen, sodass lediglich ein möglichst hoher Wert eine Alternative darstellte. Seit Version 4.3 führt ein Wert kleiner 0 zu einer unbegrenzten Größenfestlegung. Dazu sind folgende beiden Einträge in die Bashkonfiguration aufzunehmen:

HISTFILESIZE=-1
HISTSIZE=-1

History mit Zeitangaben
Doch auch wenn nun verwendete Befehle weit in der Vergangenheit nachgeschlagen werden können, bleibt manchmal die Frage offen, zu welchem Zeitpunkt ein Befehl ausgeführt wurde. Über HISTTIMEFORMAT lässt sich das Historyformat entsprechend anpassen, sodass die History künftig um eine Zeitangabe erweitert wird.  Ein mögliches Format kann beispielsweise so aussehen:

HISTTIMEFORMAT=“[%d.%m.%y] %T „

Dies resultiert in Historyeinträgen im folgenden Schema:
536 [12.02.18] 00:13:56 ls -lha

.bashrc vs .bash_profile
Bleibt noch die Frage offen, in welche der beiden Dateien die neuen Kofigurationszeilen aufzunehmen sind. Grundsätzlich lassen sich die Einträge in beide Dateien eintragen, sie werden allerdings zu unterschiedlichen Zeitpunkten Verwendung finden. Die .bashrc wird bei jedem Öffnen eines interaktiven Terminals automatisch geladen, während die .bash_profile beim Öffnen einer Login-Shell geladen wird. Um auf der sicheren Seite zu sein, müssten die Einträge also in beiden Dateien vorgenommen werden. Bei einem Server, der ohnehin grundsätzlich über SSH angesteuert wird, lässt sich die .bashrc aber auch automatisch mit der .bash_profile ausführen. Dazu ist lediglich folgendes kleine Snippet in die .bash_profile einzutragen:

if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi

 

 

Microsoft Office Update: Windows und Mac Version im Vergleich

Mit dem vor wenigen Tagen veröffentlichten Office Update für Mac werden nach 20 Jahren erstmals wieder alle Plattformen aus einer gemeinsamen Codebasis bedient. Dadurch lassen sich künftig Features, die zuerst in einer Plattform integriert werden, zeitnaher auf anderen Plattformen ausbreiten. Um dies zu bewerkstelligen, besitzt jede Plattform entsprechende Updatemechanismen. Diese unterscheiden sich sich grundsätzlich – so auch bei der Windows und Mac Variante.

Microsoft Office für Windows hält zwei verschiedene Wege für die Installation und Updates parat. Zum einen existiert der Weg über die MSI-basierte Installation. Diese stellte bis Office 2010 die gängige Methode zur Installation von Office dar. Auf diesem Weg werden die Office Updates über Windows Updates eingespielt – also ganz klassisch.
Seit Office 2013 gibt es mit Click-to-Run (Klick-und-Los) eine neue standardmäßige Variante. Hierbei wird die Office Installation auf den Computer gestreamt, sodass die Anwendungen bereits während der Installation genutzt werden können. Dabei wird die Office Installation über App-V virtualisiert und die einzelnen Office Anwendungen in verschiedene Module aufgeteilt. Die Office Updates werden hier über einen eigenen Mechanismus direkt aus Office heraus vorgenommen. Dadurch, dass nur veränderte Module einer Anwendung ausgetauscht werden müssen, ist ein Update in der Click-to-Run Variante deutlich schneller als über die MSI-basierte Installation via Windows Update.

Microsoft Office für Mac nutzt mit Microsoft AutoUpdate (MAU) einen eigenen Mechanismus für Updates. Die Updategröße richtet sich dabei nach dem Alter der zu aktualisierenden Office-Instanz. Liegt diese schon einige Versionen zurück, kommt ein Komplettupgrade zum Tragen, das vom Umfang einer Neuinstallation gleicht. Liegt die Office-Instanz eine oder mehrere, aber noch nicht deutlich mehr Versionen zurück, kann auf Delta-Updates zurückgegriffen werden. Diese enthalten nur die Änderungen für einige wenige zurückliegende Versionen. Sie fällt im Vergleich zum Komplettupgrade deutlich kleiner aus und spart etwa 77 Prozent der Größe ein. Mit der nächsten Microsoft AutoUpdate Version (MAU 4.0, noch nicht veröffentlicht) werden zudem Ultrathin Updates (Binary-based Updates) Einzug halten. Diese sparen nochmals deutlich an Umfang ein: der Unterschied zu einem Delta Update beträgt in einem Beispiel mehr als 90% – sie dürften aber vermutlich nur von der letzten Version aus möglich sein. Wer also öfter aktualisiert, profitiert von kleineren Updategrößen – bislang und auch künftig.

Bleibt festzustellen, dass trotz der gemeinsamen Codebasis weiterhin unterschiedliche Updatemechanismen zum Tragen kommen, die jeweilige Plattformeigenheiten berücksichtigen.

Winfsp & sshfs-win als Dokan & win-sshfs Ersatz

Es existieren verschiedene Möglichkeiten, externe Linux Netzwerklaufwerke unter Windows einzubinden. Zuhause im LAN hat sich Samba, das auf SMB/CIFS setzt, bewährt. Auch über LAN-Grenzen hinweg lässt sich Samba nutzen, allerdings möchte ich Samba ungerne auf einer dedizierten Maschine – die für andere Dienste genutzt wird – rein für diesen Zweck betreiben. Aus diesem Grund habe ich in der Vergangenheit nach passenden Tools gesucht, die eine Einbindung über das SSHFS erlauben. Neben einigen kostenpflichtigen Lösungen (Mountain Duck, ExpanDrive, NetDrive, u.a.) bin ich damals auch auf Dokan und win-sshfs gestoßen. Die Dokan Library stellt dabei den Unterbau bereit, der die Einbindung von virtuellen Dateisystemen unter Windows ermöglicht. Über win-sshfs lässt sich dann das SSHFS über eine GUI einbinden. Beide Tools sind Open Source und auf GitHub zuhause. Dokan wird sehr aktiv weiterentwickelt, dies trifft auf win-sshfs leider – trotz Forks – nicht mehr zu. Die aktuelle Version ist dabei leider nicht mehr mit Dokan kompatibel, auch ein Workaround aus dem Issue Tracker hat bei mir keine Abhilfe gebracht. Also ging die Tage die Suche erneut los. Neben einem Blick auf die kommerziellen Lösungen bin ich durch Zufall auch auf ein noch relativ neues Projekt gestoßen: Winfsp. Winfsp ist dabei quasi das Äquivalent zu Dokan, zur Einbindung des SSHFS existiert mit sshfs-win eine Zusatzlösung vom gleichen Autor. Auch diese beiden Tools sind Open Source. Die Einbindung eines SSHFS nach der Installation beider Tools geschiet direkt über die gewohnte „Netzwerklaufwerk verbinden“ Oberfläche im Windows Explorer. Lediglich der Pfad sieht etwas anders aus:

\\sshfs\<benutzer>@<server>!<port>\\<pfad>
z,B, \\sshfs\root@example.local!22\\/var/www

Momentan werden SSH Keys zur Authentifizierung noch nicht nativ unterstützt, über Umwege scheint dies aber möglich zu sein.
Genauere Erfahrungswerte zu Winfsp/sshfs-win kann ich abschließend ich noch nicht mitteilen, allerdings laufen erste Tests unter Windows 10 x64 1709 bislang vielversprechend.

 

theXME’s Podcast 2017

Spontan, spontaner, Zeit für einen neuen Podcast! 🙂 Nach 10 Jahren ist es heute doch tatsächlich geschehen: es ist noch einmal ein Podcast entstanden. Die Themenliste hat sich ebenso zufällig ergeben. Feedback zum Podcast und den Themen sowie mögliche Themenvorschläge für einen eventuellen nächsten Podcast (wenn es ihn denn geben sollte) sind erwünscht 🙂

Download: https://www.thexme.de/wp-content/uploads/2017/12/theXME_Podcast_2017.mp3

Inhalt:
– 00:09: Einleitung: erster Podcast nach 10 Jahren
– 01:35: Aktuelles zum theXME.de Theme
– 02:43: Gesehene Filme: La La Land & Emoji
– 04:58: Mein Spotify Musikjahr 2017
– 08:02: Alexa (die leider etwas leise ist, sorry!)
– 10:24: Let’s Encrypt
– 11:28: Ende des AOL Instant Messengers
– 13:35: Ausleitende Worte & ein Witz von Alexa