Der unbekannte Befehl – „pidof“, „pkill“, „pgrep“ die Prozessbeherrscher

Symbolisiertes Terminal

In diesem Teil fasse ich gleich drei Befehle zusammen da sie von der Funktion her sehr verwandt sind. Alle diese Befehle sind für das Verwalten und Kontrolle von Prozessen mit Hilfe des Prozessnamens zuständig. Intern werden Prozesse über die PID (process identifier) verwaltet – eine mehr oder minder vom Betriebssystem zufällige aber zum aktuellen Zeitpunkt einmalig vergebene Prozessnummer. Wenn man sich mit ps die Prozesse anzeigen lässt erhält man neben anderen Informationen auch die Prozessnummer:

$ ps aux | grep sshd
root 974 0.0 0.0 15948 1248 ? Ss Jul09 0:00 /usr/sbin/sshd -D
max 15984 0.0 0.0 6088 892 pts/6 S+ 18:07 0:00 grep sshd

Der Übersichtlichkeit wurde hier im Beispiel nach dem Prozess für den ssh-Daemon (sshd) mit den Optionen für alle Prozesse gesucht. Die PID 974 steht hier für den Daemon und 15984 für den Suchprozess selber. Auch top, htop usw. eignen sich für die Anzeige der PID.

Weiterlesen

Der unbekannte Befehl – „sar“ der Retrosammler

Symbolisiertes Terminal

Ein weiteres Kind aus der Familie der sysstat-Programme ist sar was für „System Activity Report“ steht. sar besteht eigentlich aus folgenden Teilprogrammen:

  • sar – zeigt die aufgezeichneten Daten an.
  • sadc – der „System Activity Data Collector“ zeichnet die Daten zu Systemaktivitäten im binären Format auf.
  • sa1 – ein BASH Skript was sadc im Hintergrund nutzt. Es wird alle zehn Minuten per crond aufgerufen (/etc/cron.d/sysstat).
  • sa2 – ein BASH Skript das zum Schreiben des täglichen Reports verwendet wird. Es wird per crond täglich ein Mal aufgerufen (/etc/cron.d/sysstat).
  • sadf – zeigt die aufgezeichneten Daten an und bietet dabei unterschiedliche Formate wie CSV, XML usw. an.

Weiterlesen

Der unbekannte Befehl – „iostat“ der Gatekeeper

Symbolisiertes Terminal

iostat ist ein Werkzeug zur Überwachung der Geschwindigkeit der Ein/Ausgabe-Geräte (I/O-Devices) und wird normalerweise als Teil einer Performance-Analyse verwendet. In Debian-System ist es Teil des Paketes sysstat und kann mit apt-get install sysstat installiert werden. Alle sysstat-Programme lesen ihre Werte aus dem proc-Dateisystem des Linux-Kernels aus und können daher nicht mehr Daten zur Verfügung stellen als der Kernel nach /proc schreibt.

Ein einfaches Ausrufen von iostat ohne Optionen führt zu einer Ausgabe die so ähnlich aussieht  (Die Ausgabe ist farblich unterlegt aber auf diese Wiedergabe verzichte ich hier):

$ iostat
Linux 4.19.0-8-amd64 (Marvin)           07.07.2020          _x86_64_                (4 CPU)

avg-cpu:           %user            %nice          %system         %iowait          %steal         %idle
                         8,80               0,00              4,06                0,05               0,00            87,09

Device                                      tps                kB_read/s         kB_wrtn/s     kB_read    kB_wrtn
sda                                          4,01                24,31                201,88         8408878    69819736

Weiterlesen

Der unbekannte Befehl – „file“ der Dateikenner

Symbolisiertes Terminal

Der Befehl ist nützlich wenn wir Dateien haben und wissen wollen welchen Zweck diese Datei hat. In der Windows-Welt bestimmt oft die Dateiendung über die potentielle Funktion einer Datei. Windows-Benutzer sehen diese Endung oft überhaupt nicht da sie vom Betriebssystem ausgeblendet wird und es stillschweigend davon ausgeht, dass die Endung korrekt ist – was in den allermeisten Fällen sicher auch zutreffen wird. Jedoch ist es sowohl unter Windows als auch unter Linux möglich einer Datei eine falsche Dateiendung zu geben. Böse Buben machen dies z.B. um bei schädlichen Email-Anhängen die Funktion zu verschleiern. Eine Datei mit dem Namen boese_datei.pdf.exe wird unter Windows oft nur als boese_datei.pdf angezeigt da die Dateiendung verschleiert wird und erscheint dadurch eine harmlose PDF-Datei statt ein ausführbares Programm zu sein.

Weiterlesen

Der unbekannte Befehl – „update-alternatives“ der Alternative

Symbolisiertes Terminal

In der Linux-Welt ist man in der glücklichen Lage oft Alternativen für einzelne Aufgaben zu haben. Anders als in der Windows-Welt bringen die meisten Linux-Distributionen einen Paketmanager mit die für eine Aufgabe verschiedene Programme zur Verfügung stellen. So gibt es z.B. viele ASCII-Editoren, Webbrowser oder E-Mail-Clients. In der Debian-Welt gibt es mit update-alternatives ein Tool zur Verwaltung dieser Programme mit konkurrierenden Funktionen. Streng genommen dient das Programm nur dazu symbolische Links auf diese Programme zu setzen.

Weiterlesen

Benchmark von Datenträgern mit Linux-Bordmitteln

Symbolisiertes Terminal

Weil ich es immer wieder mal nachschauen muss hier nur ganz kurz – wie macht man einen Benchmark eines Datenträgers unter Linux. Das ist im Prinzip ganz einfach und dazu kann man hdparm benutzen. hdparm werde ich sicher noch einmal ausführlicher im Rahmen von „Der unbekannte Befehl“ vorstellen und da er hat auch sonst noch viele andere nützliche Optionen hat.

Weiterlesen

glances als Systemmonitor

Symbolisiertes Terminal

glances ist ein nettes Projekt um sich, abgesehen von den Klassikern wie top oder htop, einen Überblick über ein System zu verschaffen. Das Tool glances ist sogar in der Lage das Monitoring über Netzwerk abrufbar zu machen. Bietet, anders wie top, mehr Informationen über das System. glances  ist in den Reporsitorien von Debian und Derivaten und kann daher mit:

apt-get install glances

installiert werden. glances wurde in Python und psutils erstellt und verfügt über eine ncurses-Oberfläche.

Weiterlesen

Geschwindigkeitstest der Internetverbindung

Stilisierte Erde mit verschiedenen Verbindungen

Manchmal möchte man die Geschwindigkeit seiner Internetverbindung testen. Es gibt zwar eine Reihe solcher Webdienste aber oft werden die von Providern betrieben und sind damit nicht unbedingt unabhängig. Ich bevorzuge auch Linux-eigene Funktionen die nicht unbedingt über eine Webanwendung funktionieren. Es gibt ein Projekt das über ein Python-Script diese Funktion zur Verfügung stellt. Das Projekt ist unter Github zu finden. Debian und Derivate stellen es jedoch auch in ihren Repositorien zur Verfügung. Installiert wird es mit:

apt-get install speedtest-cli

Weiterlesen

Der Zeitstempel unter Linux

Männchen mit Uhr

Der oder besser gesagt die Zeitstempel sind eine Eigenschaft von Dateien. Linux kennt vier Zeitstempel von denen drei ausgelesen werden können und für den Benutzer eine gewisse Relevanz haben. Die Zeitstempel einer Datei können mit dem Befehl stat ausgelesen und mit dem Befehl touch manipuliert werden.

Die drei Zeitstempel sind:

  1. Access Time (atime)
  2. Modify Time (mtime)
  3. Change Time (ctime)

Der Befehl stat zeigt die entsprechenden Zeitstempel:

$ stat ipsum.txt 
[…]
Zugriff : 2020-06-11 18:50:30.037729391 +0200
Modifiziert: 2020-06-05 18:18:11.006297528 +0200
Geändert : 2020-06-12 22:11:01.126806416 +0200
[…]

Weiterlesen

Der unbekannte Befehl – „stat“ der Dateistatus

Symbolisiertes Terminal

In einem weiteren Teil der Serie „Der unbekannte Befehl“ soll hier jetzt stat vorgestellt werden. Dieser Befehl wurde zwar bereits im Artikel über touch vorgestellt aber dieser Artikel hier widmet sich exklusiv diesem Befehl. Mit Hilfe von stat können verschiedene Eigenschaften einer Datei oder eines Ordners ausgelesen werden. Dazu gehören die Zeitstempel aber auch die Zugriffsrechte und allgemeine Dateiinformationen. Wird stat ohne Optionen aufgerufen, so erhält man als Beispiel folgende Ausgabe:

$ stat ipsum.txt 
Datei: ipsum.txt
Größe: 146 Blöcke: 8 EA Block: 4096 reguläre Datei
Gerät: 809h/2057d Inode: 7365099 Verknüpfungen: 2
Zugriff: (0644/-rw-r--r--) Uid: ( 1000/ max) Gid: ( 1000/ max)
Zugriff : 2020-06-11 18:50:30.037729391 +0200
Modifiziert: 2020-06-05 18:18:11.006297528 +0200
Geändert : 2020-06-12 22:11:01.126806416 +0200
Geburt : -

Weiterlesen

kais-universum.de