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 😉

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.

Wake-on-LAN mit PowerShell: So weckst du deinen Server oder PC auf

Futuristische Darstellung von Wake-on-LAN und PowerShell

In diesem Artikel erkläre ich, wie du ein PowerShell-Skript nutzen kannst, um einen QNAP-Server (oder jedes andere Wake-on-LAN-fähige Gerät) im Netzwerk aufzuwecken. Dabei wird ein sogenanntes Magic Packet gesendet, das den Server aus dem Ruhezustand holt.

Voraussetzungen

  • Wake-on-LAN muss im BIOS/UEFI und in den Netzwerkeinstellungen des Geräts aktiviert sein.
  • Das Gerät und der Rechner, von dem aus das Skript ausgeführt wird, müssen sich im selben Netzwerk befinden.
  • PowerShell (ab Version 3.0) sollte installiert sein.

Das PowerShell-Skript

Das folgende Skript verwendet die MAC-Adresse des QNAP-Servers, um ein Magic Packet an die Broadcast-Adresse des Netzwerks zu senden. Dies ist der entscheidende Schritt, um das Gerät aufzuwecken.

# Variablen für die IP-Adresse, MAC-Adresse und Port
$IpAddress = "192.168.1.10"
$MacAddress = "24:5e:00:01:02:b7"
$BroadcastAddress = "192.168.1.255" # Standard-Broadcast-Adresse im Subnetz
$Port = 9 # Standard-Wake-On-LAN-Port

# Funktion, um das Wake-On-LAN Magic Packet zu senden
function Send-WakeOnLan {
    param (
        [string]$MacAddress,
        [string]$BroadcastAddress,
        [int]$Port
    )

    # MAC-Adresse in ein Byte-Array umwandeln
    $MacBytes = $MacAddress -split "[:-]" | ForEach-Object { [byte]("0x$_") }

    # Magic Packet erstellen (6x 0xFF gefolgt von 16 Wiederholungen der MAC-Adresse)
    $MagicPacket = @([byte]0xFF) * 6 + ($MacBytes * 16)

    # Magic Packet via UDP senden
    $UdpClient = New-Object System.Net.Sockets.UdpClient
    $UdpClient.EnableBroadcast = $true
    $Endpoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Parse($BroadcastAddress), $Port)
    $UdpClient.Send($MagicPacket, $MagicPacket.Length, $Endpoint)
    $UdpClient.Close()

    Write-Output "Wake-On-LAN-Paket wurde an $MacAddress über ${BroadcastAddress}:${Port} gesendet."
}

# Wake-On-LAN senden
Send-WakeOnLan -MacAddress $MacAddress -BroadcastAddress $BroadcastAddress -Port $Port

Wie funktioniert das Skript?

Das Skript besteht aus zwei Teilen: der Definition der Funktion Send-WakeOnLan und dem Aufruf dieser Funktion mit den festgelegten Variablen.

  • MAC-Adresse: Die MAC-Adresse des Zielgeräts wird benötigt, um das Magic Packet korrekt zu adressieren.
  • Broadcast-Adresse: Die Broadcast-Adresse wird verwendet, um sicherzustellen, dass das Magic Packet alle Geräte im Netzwerk erreicht.
  • Port: Standardmäßig wird Port 9 verwendet, aber einige Geräte können auch Port 7 nutzen.
  • Magic Packet: Es handelt sich um eine spezielle Nachricht, die 6-mal 0xFF gefolgt von 16 Wiederholungen der MAC-Adresse enthält.

Nutzung

Speichere das Skript als .ps1-Datei, zum Beispiel WakeOnLan.ps1. Öffne dann PowerShell mit Administratorrechten und führe das Skript mit folgendem Befehl aus:

.\WakeOnLan.ps1

Wenn alles korrekt eingerichtet ist, wird das Magic Packet gesendet, und dein QNAP-Server sollte starten.

Fazit

Mit diesem Skript kannst du deinen QNAP-Server (oder andere Geräte) bequem per PowerShell aufwecken. Wake-on-LAN ist eine praktische Möglichkeit, Geräte effizient zu verwalten, ohne sie ständig laufen lassen zu müssen.

Hast du Fragen oder Anregungen? Schreibe sie gerne in die Kommentare!

Docker Container nach außen sichtbar machen

(Quelle: https://docs.docker.com/network/bridge/)

Nach einer frischen Dockerinstallation sind Docker-Container oft nicht von außen Erreichbar trotz der exposed Ports und der Portfreigabe im RUN-Aufruf.

Standardmäßig wird der Traffic der Default Bridge nicht nach außen weitergeleitet. Aus diesem Grund muss das Forwarding in den Einstellungen gesetzt werden durch zwei Kommandos:
Enable forwarding from Docker containers to the outside world

Konfiguriere den Linux-Kernel zum Erlauben des IP-Forwardings:$ sudo sysctl net.ipv4.conf.all.forwarding=1
Ändere die Richtlinie für iptables Weiterleitungen von Drop to Accept:$ sudo iptables -P FORWARD ACCEPT

AMD Grafiktreiber unter Ubuntu 20.04 installieren

Da ich eine AMD-Grafikkarte mein Eigen nenne, wollte ich diese auch unter Ubuntu installieren.
Der aktuelle Treiber bei AMD ist zum Zeitpunkt der Erstellung des Artikels hier zu finden:

https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-22-10-2

Wichtig: Es wird noch kein Ubuntu 22.04 unterstützt.

Nach der Installation erhielt ich folgende Fehlermeldung:

The following packages have unmet dependencies:
 amdgpu-lib : Depends: libwayland-amdgpu-client0 but it is not going to be installed
              Depends: libwayland-amdgpu-server0 but it is not going to be installed
              Depends: libgbm1-amdgpu but it is not going to be installed
              Depends: libegl1-amdgpu-mesa but it is not going to be installed
              Depends: libegl1-amdgpu-mesa-drivers but it is not going to be installed
              Depends: xserver-xorg-amdgpu-video-amdgpu but it is not going to be installed
 vulkan-amdgpu-pro : Depends: libwayland-amdgpu-client0 but it is not going to be installed

Die Ursache habe ich hier gefunden:
Quelle:https://stackoverflow.com/questions/61875869/ubuntu-20-04-upgrade-python-missing-libffi-so-6

  1. Ubuntu 20.04 upgraded libffi6 to libffi7
  2. Python is still looking for libffi6

Python benötigt die Libffi-Library 6, Ubuntu 20.04 hat aber bereits Version 7.
Um die Fehlermeldung bei der Installation zu umgehen, muss einfach nur die Version 6_3.2.1-8 der Library heruntergeladen und installiert werden:

http://mirrors.edge.kernel.org/ubuntu/pool/main/libf/libffi/libffi6_3.2.1-8_amd64.deb

Anschließend habe ich den Treiber mit

sudo amdgpu-install --opencl=legacy --vulkan=pro --no-32 --accept-eula

erfolgreich installiert.