Artikel mit Tag programmieren

Die 30 besten VS Code Erweiterungen für Administratoren und DevOps

Wie bereits im letzten Artikel erwähnt, gibt es mit Visual Studio Code einen starken Editor, welcher sich mit Hilfe von Erweiterungen für jeden Einsatzzweck anpassen lässt.

Ich möchte euch einige davon vorstellen, welche sich für den Einsatz im Administrations- oder DevOps Bereich eignen.

Die 30 besten VS Code Erweiterungen

  1. Ansible Language: Zu dieser Erweiterung muss wenig gesagt werden. Ihr erhaltet YAML Support mit Syntax Highlighting, Autovervollständigung und der mitgelieferte YAML bzw. Ansible Linter zeigt euch Fehler adhoc an. ansible

  2. Apache Syntax Support: Der Name ist Programm und eure Apache Config Files erstrahlen beim Editieren in neuem Glanz, dank Syntax Highlighting.

  3. Atom Keymap: Solltet ihr aus der Atom Editor Welt kommen und eure alten Shortcuts vermissen, dann hilft das Plugin ungemein.

  4. Better Jinja: Das Arbeiten mit Jinja Templates kann schnell in die Verzweiflung führen. Durch diese Erweiterung erhaltet ihr neben Jinja auch Support für HTML, Markdown, YAML, CSS, Docker, Python und uvm. in euren Dateien. jinja

  5. Better TomlTom's Obvious, Minimal Language kommt immer mal wieder vor. Einige werden die Dateien von Gitlab kennen. Die Extension sorgt für bessere Lesbarkeit beim Editieren.

  6. Confluence: Atlassians Wiki Lösung findet sich sehr häufig in Unternehmen. Aus diesem Grund kommen einige sicher öfters mit deren Markup in Berührung. Hier gibt es Unterstützung für Confluence® and Jira® Markup.

  7. Debian Package Syntax Highlighting: Nur für diejenigen, die öfters mit DEB Paketen zu tun haben.

  8. Docker: Eigentlich schon essentiell, Docker Unterstützung für VS Code. docker

  9. Git History: Für Git fast unverzichtbar. Bereitet Logs auf, nimmt Grafiken zu Hand, kann vergleichen usw.

  10. Git Lens: Der selbst ernannte Supercharger. Bietet ähnlich wie Git History eine schöne Log Übersicht. Zusätzlich dazu kommen Features wie Revision Navigation, History Anzeige in der Status Bar oder der aktuellen Zeile.

  11. Gremlins Tracker: Wer kenn es nicht, ein unerwünschtes Leerzeichen sorgt im Code für Aufregung. Gremlins werden sie von dieser Erweiterung genannt und als solche auch in der Sidebar sichtbar gemacht. gremlins

  12. Hugo Language Support: NutzerInnen des Frameworks wird mit Syntax Highlighting und Snippets das Webseiten bauen erleichtert.

  13. Indent Rainbow: Einer meiner Favoriten, macht Nichts anderes als Einrückung kolorieren. Das hilft nicht nur bei YAML Dateien ungemein. 

  14. Jinja Syntax Highlighting: Jinja kann durchaus hilfreich sein, leider geht auch schnell die Übersicht im Code verloren. Durch Syntax-Hervorhebung kann dem aber vorgebeugt werden.

  15. Kubernetes: Die Beschreibung im Marketplace sagt eigentlich alles:  Develop, deploy and debug Kubernetes applications

  16. Nginx Configuration Language Support: Autovervollständigung bei der NGINX Konfiguration, nicht mehr und nicht weniger. Allerdings nicht mehr ganz aktuell. nginx

  17. Notepad++ Keymap: Für Umsteiger eignet sich diese Notepad++ Keymap.

  18. OpenSSL Utilities: Auf ITrig hatte ich bereits Anleitungen, wie Private Key, CSR oder self-signed Zertifikate über die Kommandozeile erstellt werden. Die Erweiterung erlaubt euch das Erstellen ohne weitere Kenntnisse der CLI Befehle direkt in Visual Studio Code. privkey

  19. Prettier: Schöner programmieren mit Prettier - Code formatter. Das Tools formatiert euren Code automatisch. Unterstützt werden JavaScript, TypeScript, Flow, JSX, JSON, CSS, SCSS, Less, HTML, Vue, Angular, GraphQL, Markdown, YAML.

  20. Projekt Manager: Wenn an mehreren Projekten gleichzeitig gearbeitet wird, kann es sinnvoll sein die Verwaltung dieser zu verbessern.

  21. Rainbow Brackets: Es wird wieder bunt. Regenbogenfarben für die runden Klammern, die eckigen Klammern und die verschnörkelten Klammern.

  22. Remote SSH: Dateien direkt auf Servern editieren kann durchaus praktisch sein.

  23. Salt-lint. Einfacher Linter für States und Pillars

  24. Saltstack: Analog zum Salt-Linter ist dieser Syntax Highlighter für Saltstack ein Muss. saltstack

  25. Snort:  NIDS/NIPS in Farbe.

  26. Sort: Wörter alphabetisch sortieren, einfach shift+alt+s  drücken

  27. Tomcat for Visual Code: Tomcat Server direkt aus VS Code starten und war Pakete debuggen.

  28. Toml Language Support: Ein weiterer Formater für Toml Dateien.

  29. XML Support: Alles was es für XML braucht in einem Plugin.

  30. YAML: Voller YAML Support mit Kubernetes Unterstützung. yaml

Themes

Damit die Arbeit noch mehr Spaß macht, gibt es ebenfalls viele Themes, sowie Icon Sets.

Hier eine kleine Auswahl an Themes, welche ich gerne einsetze.

  1. SynthWave 84 (die 80er sind zurück)
  2. Dracula Theme (schönes ausgewogenes Theme)
  3. Material Icons (Icons für die Ordner und Dateistruktur)
  4. Solarized Dark (Blau und Grüntöne, ist bei VSCode dabei)
  5. Monokai Pro (Theme und Icon Set zusammen)

synthwave

Eine schöne Übersicht mit Vorschauen vieler Themes bietet vscodethemes.com

Download

Schlussendlich fehlt wohl noch ein Link zu Visual Studio Code. Denn was helfen Erweiterungen, wenn der Editor fehlt.

Download VSCode

VS Code: Swissknife - konvertieren und generieren direkt im Editor

Cyberchef (The Cyber Swiss Army Knife) hatte ich vor fast 4 Jahren auf ITrig erwähnt. Das Tool sagte mir damals wegen seiner praktischen Encoding beziehungsweise Decoding Funktionen zu.

Seitdem ist einige Zeit vergangen und Arbeitsweisen haben sich geändert. So verwende ich inzwischen unter anderem Visual Studio Code fürs tägliche Editieren. Durch die vielen Plugins ist der Editor sehr gut erweiterbar.

Genau hier kommt die Erweiterung Swiss Knife ins Spiel

 

VS Code – Swissknife

swissknife

Die Visual Studio Code Erweiterung von Luis Fontes beherrscht eine Menge an Funktionen, vom Hashes generieren, über Hex oder Base64 bis Markdown.

Das heißt eurer Editor wird mit wenigen Klicks um viele Alltagsanwendungen erweitert.

Folgende Funktionen beherrscht das Schweizer Messer für Visual Studio momentan:

  • Base64 decode

  • Base64 encode

  • Binary To Text

  • Bip39 Mnemonic

  • CSV to Markdown

  • Count characters

  • Count words

  • Crypto currency value

  • Date to Timestamp

  • Eliptic Curve Key Pair

  • Generate Password

  • HTML Encode (AlL)

  • Hex decode

  • Hex encode

  • Hex to RGB

  • Identify hash

  • JWT Decode

  • Join lines

  • Lorem Ipsum

  • Markdown to HTML

  • Md5 hash

  • New Swissknife Script (JS)

  • New Swissknife Script (TS)

  • Password strength

  • RGB To Hex

  • RSA Key pair

  • Random String

  • Request to fetch

  • SHA1 hash

  • SHA256 hash

  • SHA512 hash

  • Self Signed Certificate

  • Start Local HTTP Server

  • Start Local HTTPS Server

  • Stop HTTP Server

  • Text To Binary

  • Text to String

  • Timestamp to Date

  • To Camel Case

  • To Lower Case

  • To Morse code

  • To Upper Case

  • UUIDv4

  • Unicode decode

  • Unicode encode (js format)

  • Unix/Linux Permission To Human Readable

  • Url Decode

  • Url Encode

  • Url Encode (All Characters)

  • Url Shorten

  • Url Unshorten (url expand)

Die Funktionen lassen sich mit swissknife.show oder Strg+Shift+9 beziehungsweise cmd+shift+9 im Terminal aufrufen. (Text markieren vorher nicht vergessen).

Hat man die Tastenkombination einmal im Kopf, erleichtert die Erweiterung das Arbeiten an vielen Stellen sehr, vorrausgesetzt die Anwendungsfälle kommen öfters vor.

Download swissknife

 

Ubuntu 18.04 - Command not found - Unterschied zwischen tailf und tail -f

Unter Ubuntu gab es bis zur Version 16.04 LTS die Möglichkeit tailf und tail -f zu verwenden. Dies ist mit der neuesten LTS Version nicht mehr der Fall. Nur noch die zweite Möglichkeit wird erkannt, ansonsten wird eine Fehler geworfen.

Wo liegen die Unterschiede dieser zwei Kommandos und warum gibt es eines nicht mehr?

Unterschied tailf und tail -f

tailf

Laut Befehlsdefinition verfolgt tailf das Wachstum einer Logdatei. tailf gibt die letzten 10 Zeilen der angegebenen Datei aus und wartet dann darauf, dass diese Datei wächst. Es ist ähnlich wie tail -f, greift aber nicht auf die Datei zu, wenn sie nicht wächst.

Dies hat den Nebeneffekt, dass die Zugriffszeit für die Datei nicht aktualisiert wird, so dass ein Flush des Dateisystems nicht periodisch stattfindet, wenn keine Protokollaktivität stattfindet.

tailf ist äußerst nützlich für die Überwachung von Protokolldateien auf einem Laptop, wenn die Protokollierung selten ist und der Benutzer möchte, dass sich die Festplatte herunterdreht, um die Akkulaufzeit zu verlängern. (Übersetzt mit www.DeepL.com/Translator)

tail

Für tail lautet die Definition wie folgt:

Das Tail-Utility muss seine Eingabedatei in die Standardausgabe kopieren, beginnend mit einem festgelegtem Ortes.

Das Kopieren beginnt an der Stelle in der Datei, die durch die -c-Nummer oder -n-Nummer gekennzeichnet ist.

Optionen: Die Nummer des Optionsarguments wird in Zeilen- oder Byteseinheiten gezählt, entsprechend der zu den Optionen -n und -c.  Sowohl die Zeilen- als auch die Byteanzahl beginnen bei 1.

Tails in Bezug auf das Ende der Datei können in einem internen Puffer gespeichert werden und sind somit möglich.

Der Originaltext ist hier zu finden.

Tail ist auf allen Ubuntu Varianten installiert, was sich auch überprüfen lässt

dpkg -S $(which tail)

oder

dpkg -L coreutils | grep tail

tail-f

tailf wurde nicht mit den coreutils ausgeliefert, sondern mit util-linux und genau dieses Paket ist seit Version 18.04 nicht mehr dabei.

dpkg -L util-linux |grep tail

Bei 16.04 LTS ist es allerdings noch verfügbar

tailf

Doch wie lässt sich ein alter Befehl weiterhin nutzen?

Tailf unter Ubuntu 18.04 einsetzen


Ein Workaround wäre der Einsatz von alias, damit könnte das alte nicht mehr verfügbare Kommando auf das neue gelegt werden, der Befehl ist einfach gesetzt:

sudo nano ~/.bashrc

alias tailf='tail -f'


Meist wird der tail Befehl für Dateien verwendet, welche erhöhte Rechte benötigen, darum kann es sinnvoll sein, den Alias auch beim root Benutzer zu hinterlegen.

sudo nano /root/.bashrc

alias tailf='tail -f'

Alternativ kann natürlich zusätzlich less eingesetzt werden. tailf selbst ist deprecated und sollte nicht mehr eingesetzt werden..

KeyStore Explorer - Java Keystore und Zertifikate ohne die Kommandozeile verwalten

Zunächst ein gesundes neues Jahr 2019.

Java Keystore Management auf der Konsole empfinde ich als anstrengend. Liegt mit daran, dass ich mir Befehle wie

keytool -import -keystore /opt/data/cacerts -file /home/itrig/url.itrig.de.crt -alias url.itrig.de

einfach nicht merken kann oder zu selten benötige und sie daher nicht mag. Außerdem ist es mit einem Befehl nicht getan, denn nach dem Import, muss das Ganze noch einmal aufgelistet und eventuell ergänzt werden, usw.

keytool -list /opt/data/cacerts

keystore explorer

Eine Auswahl dieser Befehle hatte ich auch schon in einem Artikel - 9 praktische Keytool Befehle zusammengefasst.

KeyStore Explorer

Abhilfe schafft der KeyStoreExplorer, vorausgesetzt ein Verwaltungsgerät mit Oberfläche ist vorhanden.

Das Programm ergänzt quasi Tools wie das erwähnte keytool oder jarsigner mit einem grafischen Userinterface und lässt sich somit relativ leicht bedienen.

Es läuft auf nahezu jedem System, da es auf Java basiert und erlaubt alle Funktionen, die von der Kommandozeile bekannt sind. Dinge wie Import von Zertifikaten, sowie Export oder umbenennen. Passwort ändern oder generieren.  Insgesamt viele praktische Befehle die sich nun via Klick realisieren lassen.

Auch eine Konvertierung der folgenden Formate beherrscht das Tool: JKS, JCEKS, PKCS #12, BKS (V1 and V2) und UBER.

Aktuell ist Version 5.4.1.

KeyStore_Explorer

Fazit

Wer sich auf der Kommandozeile nicht immer wohlfühlt, der hat mit dem KeyStoreExplorer das richtige Werkezug um Java, Zertifikaten und deren Speicherung Herr zu werden. 

PS: Das Standardpasswort für einen Java Keystore ist "changeit"

Download Keystore Explorer

Installation PostgreSQL 10 Beta unter Ubuntu

Seit kurzem ist die erste Beta von PostgreSQL 10 verfügbar.

Das Major Release bringt Neuerungen wie logische Replikation oder führt ein Quorum bei Replikation ein.

Außerdem wurde an der Performance gearbeitet und die mit der Version 9.6 eingeführtem paralleler Queries (Artikel) weiter verbessert.

Weitere geplante Neuerungen können diesem Blog Eintrag entnommen werden

postgres

Im 4. Quartal 2017 ist die Fertigstellung des Datenbanksystems in Version 10 geplant.

Installation PostgreSQL 10 Beta unter Ubuntu 16.04. LTS

Um die Wartezeit etwas zu verkürzen kann die aktuelle Beta bereits via Repository installiert und getestet werden.

wget -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main 10" >> /etc/apt/sources.list.d/postgresql-testing.list'

sudo apt-get update
sudo apt-get install postgresql-10
sudo apt-get install postgresql-client-10