btop – die moderne Alternative zu htop für dein Terminal

Btop Screenshot

Wer regelmäßig auf Servern oder Linux-Systemen unterwegs ist, kennt htop – schnell, funktional, aber optisch eher zweckmäßig. Wenn du Lust auf etwas mehr Übersicht, bessere Visualisierung und ein moderneres Bediengefühl hast, solltest du dir btop anschauen.


Was ist btop?

btop ist ein interaktiver System-Monitor für das Terminal. Er zeigt dir in Echtzeit:

  • CPU-Auslastung (pro Core)
  • RAM- und Swap-Nutzung
  • Netzwerktraffic
  • Festplatten-I/O
  • laufende Prozesse

Das Besondere:
Alles wird in übersichtlichen, farbigen Diagrammen dargestellt – inklusive Verlaufsgrafen. Dadurch erkennst du Lastspitzen oder ungewöhnliches Verhalten deutlich schneller als mit klassischen Tools.


Installation und Start

Die Installation ist unkompliziert und funktioniert auf den meisten Systemen direkt über den Paketmanager:

Ubuntu / Debian:

sudo apt install btop

Alternativ (falls nicht im Repo):

snap install btop

Starten kannst du das Tool einfach mit:

btop


Tipps & Tricks zur Bedienung

btop ist nicht nur hübsch, sondern auch überraschend komfortabel zu bedienen:

1. Navigation & Einstellungen

  • F2 öffnet das Einstellungsmenü
  • ESC bringt dich zurück
  • Maus wird unterstützt (z. B. zum Sortieren)

2. Prozesse im Griff behalten

  • Prozesse lassen sich direkt sortieren (CPU, RAM, etc.)
  • Mit wenigen Klicks kannst du Prozesse beenden oder priorisieren

3. Netzwerk im Blick

  • Besonders praktisch: Live-Anzeige von Up-/Download
  • Ideal, um z. B. laufende Backups oder ungewöhnlichen Traffic zu erkennen

4. Layout anpassen

  • Panels (CPU, Netzwerk, Prozesse etc.) lassen sich individuell konfigurieren
  • Farben und Update-Intervalle können angepasst werden

Fazit

btop ist mehr als nur ein Ersatz für htop – es ist ein echtes Upgrade.
Gerade wenn du häufiger mit Servern, Docker-Containern oder NAS-Systemen arbeitest, bekommst du hier deutlich mehr Transparenz bei gleichzeitig besserer Bedienbarkeit.

Einmal ausprobiert, will man meist nicht mehr zurück 😉

Maven Dependencies und Plugins aktuell halten – der pragmatische Guide

 

Regelmäßige Dependency-Pflege ist keine Kür, sondern ein fester Teil stabiler Softwareentwicklung.


Warum das überhaupt wichtig ist

Veraltete Dependencies sind nicht nur unschön, sondern konkret riskant:

  • Sicherheitslücken in Bibliotheken wie Jackson oder Log4j
  • Inkompatibilitäten mit neueren JDK-Versionen
  • Build-Probleme durch veraltete Maven-Plugins
  • technische Schulden, die spätere Upgrades unnötig teuer machen

Regelmäßige Updates sorgen deshalb nicht nur für Sicherheit, sondern auch für planbare Wartung.


Kurzfassung für Eilige

Wenn Du nur einen alltagstauglichen Standardprozess willst, reicht oft schon das hier:

mvn versions:display-property-updates
mvn versions:display-plugin-updates
mvn versions:display-dependency-updates
mvn versions:update-properties -DallowMajorUpdates=false
mvn clean test

Das wichtigste Tool: versions-maven-plugin

Das zentrale Werkzeug für diesen Workflow ist das Versions Plugin:

mvn versions:display-dependency-updates

Du musst es in der Regel nicht separat installieren – Maven lädt es automatisch nach.

  • zeigt verfügbare Updates an
  • hebt Versionen automatisch an
  • aktualisiert Properties
  • beschränkt Updates auf Minor oder Patch

1. Veraltete Versionen erkennen

Dependencies prüfen

mvn versions:display-dependency-updates

Beispielausgabe:

commons-lang3 ............ 3.12.0 -> 3.20.0
jackson-databind ........ 2.13.4 -> 2.20.0

Plugins prüfen

mvn versions:display-plugin-updates

Gerade alte Plugins sind oft eine unterschätzte Ursache für Build-Probleme.

Properties prüfen

Wenn Du Versionen zentral über Properties pflegst, bekommst Du die sauberste Update-Strategie:

<junit.version>3.11.0</junit.version>

Dazu passt dieser Befehl:

mvn versions:display-property-updates

Effektives POM verstehen

mvn help:effective-pom

Damit erkennst Du geerbte Versionen, Parent-POM-Einflüsse und aktive Profile – also genau die Stellen, an denen Versionskonflikte oft entstehen.


2. Updates durchführen

Variante A: direkt gesetzte Versionen

mvn versions:use-latest-releases

Variante B: Properties aktualisieren

mvn versions:update-properties

Beispielsweise von:

<junit.version>3.3.2</junit.version>

auf:

<junit.version>3.5.0</junit.version>

Parent-POM aktualisieren

mvn versions:update-parent

3. Nur sichere Updates ohne Major-Sprünge

Hier liegt der eigentliche Hebel für einen stabilen Alltag.

Nur Minor- und Patch-Updates zulassen

mvn versions:update-properties -DallowMajorUpdates=false
  • 5.1 → 5.9 erlaubt
  • 5.x → 6.x blockiert

Nur Patch-Updates zulassen

mvn versions:update-properties \
-DallowMajorUpdates=false \
-DallowMinorUpdates=false
  • 5.1.1 → 5.1.9 erlaubt
  • 5.1 → 5.2 blockiert

4. Sicherer Workflow für den Alltag

Ein bewährter Ablauf sieht so aus:

mvn versions:display-property-updates
mvn versions:display-plugin-updates
mvn versions:display-dependency-updates

Danach entscheidest Du Dich für eine Strategie:

Konservativ

mvn versions:update-properties -DallowMajorUpdates=false

Aggressiv

mvn versions:update-properties

Danach immer testen:

mvn clean test

5. Änderungen rückgängig machen

mvn versions:revert

Oder Änderungen dauerhaft übernehmen:

mvn versions:commit

6. Best Practices aus der Praxis

Versionen zentral über Properties steuern

<junit.version>3.5.4</junit.version>

Plugins konsistent referenzieren

<maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>

Verwendung dann über:

${maven-surefire-plugin.version}

Regelmäßige Updates einplanen

  • monatlich prüfen
  • quartalsweise Major-Upgrades evaluieren

Fazit

Maven bringt alles mit, was Du für saubere Dependency-Pflege brauchst. Entscheidend ist nicht nur das Update selbst, sondern die Strategie dahinter: Properties nutzen, Major-Updates bewusst steuern und lieber regelmäßig prüfen als selten mit einem großen Big-Bang-Upgrade reagieren.

  • mehr Transparenz über veraltete Komponenten
  • automatisierte und steuerbare Updates
  • bessere Kontrolle über Stabilität und Risiko

CTOP: Eine schlanke GUI für die Konsole – und zwei Wege, sie als Docker‑Container zu starten

Wer viel mit Docker arbeitet, kennt das Problem: Man möchte schnell einen Überblick über laufende Container, deren Ressourcenverbrauch und Logs bekommen – ohne gleich Portainer zu öffnen oder lange docker ps‑Listen zu durchforsten. Genau hier glänzt CTOP: ein leichtgewichtiges, terminalbasiertes Monitoring‑Tool, das sich wie ein „htop für Docker“ anfühlt.

CTOP zeigt CPU‑Last, RAM‑Verbrauch, Netzwerk‑I/O, Block‑I/O und Container‑Status in einer übersichtlichen TUI‑Oberfläche. Perfekt für alle, die auf der Konsole arbeiten, aber trotzdem eine visuelle Darstellung bevorzugen.

Da die ursprünglichen Binary‑Releases nicht mehr zuverlässig verfügbar sind, bietet sich heute vor allem eine Nutzung als Docker‑Container an. Und dafür gibt es zwei elegante Varianten.

Variante 1: CTOP mit festem Container‑Namen (empfohlen)

Diese Variante sorgt dafür, dass CTOP immer unter dem gleichen Containernamen läuft. Das ist besonders praktisch, wenn man regelmäßig mit dem Tool arbeitet oder automatisierte Skripte nutzt.

Der Alias wird einmalig in die ~/.bashrc eingetragen:

echo 'alias ctop="docker run --rm -ti --name ctop -v /var/run/docker.sock:/var/run/docker.sock quay.io/vektorlab/ctop:latest"' >> ~/.bashrc source ~/.bashrc 

Ab sofort genügt ein einfacher Befehl:

ctop

Der Container heißt dabei immer ctop, wird nach dem Beenden automatisch entfernt und hinterlässt keine Rückstände.

Variante 2: CTOP direkt per Docker‑Befehl starten

Wer keinen Alias setzen möchte oder CTOP nur gelegentlich nutzt, kann es jederzeit direkt starten:

docker run --rm -ti --name ctop \ -v /var/run/docker.sock:/var/run/docker.sock \ quay.io/vektorlab/ctop:latest

Auch hier gilt:

  • --rm entfernt den Container nach dem Beenden
  • --name ctop sorgt für einen festen Namen
  • Die Docker‑Socket‑Bindung ermöglicht CTOP den Zugriff auf die Container‑Daten

Warum CTOP eine Empfehlung wert ist

CTOP ist ein hervorragender Mittelweg zwischen klassischer CLI und vollwertigen Web‑GUIs wie Portainer. Es ist:

  • leichtgewichtig
  • übersichtlich
  • sofort einsatzbereit
  • ideal für schnelle Checks direkt auf dem Server

Gerade auf Headless‑Systemen oder in SSH‑Sessions ist CTOP ein echter Produktivitätsgewinn.