Netzwerk: IP-Ranges-Präfixe und private IP-Ranges

Präfix Hosts Maske
----------------------------
32       1   255.255.255.255
31       2   255.255.255.254
30       4   255.255.255.252
29       8   255.255.255.248
28      16   255.255.255.240
27      32   255.255.255.224
26      64   255.255.255.192
25     128   255.255.255.128
24     256   255.255.255.000

Private IP-Ranges:
– 10.x.x.x/8 (Subnet-Mask: 255.0.0.0)
– 172.16.x.x/12 (Subnet-Mask: 255.240.0.0)
– 192.168.x.x/16 (Subnet-Mask: 255.255.0.0)

„x“ steht für 0-255

Shell: Festplatte mit dd klonen ohne Softwareinstallation

Eine ältere Festplatte macht Geräusche: Zeit, das Laufwerk auf eine neue HDD/SSD zu ziehen. Für Windows gibt es zahlreiche Programme.

CloneZilla ist eine freies Tool für Linux setzt aber die Erstellung einer Boot-CD/USB-Stick voraus. Wer einfach nur eine Platte kopieren möchte, der kann das auch mit den Linux Bordmitteln „dd“ erledigen. Ausgangs- und Zielplatte müssen dazu unmountet sein.

Dazu im Dateimanager auf der Auswurf-Icon klicken oder via unmount /dev/xxx die Platte aus dem Filesystem nehmen.

Wer die Bezeichnung der Festplatten nicht kennt, kann sich via cat /dev/partitions eine Übersicht ausgeben lassen:

major minor #blocks name
(...)
8     32    117220824 sdc
8     33    116219904 sdc1
8     34    1 sdc2
8     37    998400 sdc5
8     48    244198584 sdd
8     49    244195008 sdd1

Physikalische Platten haben den „major-Type“=8 (loop-Partitions=7, DVD-LW=11, …), an der Größe (blocks) kann man sich orientieren, um ein Laufwerk zu identifizieren.

Im Beispiel soll das Laufwerk /dev/sdc auf /dev/sdd kopiert werden (Daten auf /dev/sdd gehen verloren)

sudo dd bs=4M conv=sync,noerror status=progress if=/dev/sdc of=/dev/sdd
  • if = Inputfile (Laufwerk, das kopiert werden soll)
  • of=Outputfile (Laufwerk, auf das kopiert wird – Daten gehen verloren)
  • status=progress zeigt den Fortschritt an, hilfreich, weil das Kommando eine längere zeit laufen kann
  • bs = Blocksize (hier 4 Megabyte)

Shell: Touch rekursiv

„touch“ ist ein Shell-Programm, dass den Zeitstempel von Dateien ändern kann. Im Normalfall wird der aktuelle Zeitstempel gesetzt. Leider gibt es keine Parameter für rekursive Bearbeitung (über mehrere Verzeichnisebenen).

Abhilfe:

find . -exec touch {} \;

Hier erledigt „find“ das filtern aller Dateien aus den Unterverzeichnissen und über den exec-Parameter wird dann „touch“ aufgerufen.

Postgresql: Prüfen, ob Replikation läuft

Als postgres-User in der psql-Console folgende Befehle eingeben:

SELECT pg_is_in_recovery();
-> muss „true“ sein

SELECT pg_last_xlog_receive_location();
-> zeigt letztes erhaltenes xlog file an

SELECT pg_last_xlog_replay_location();
-> zeigt letztes eingespielte xlog file an

SELECT pg_last_xact_replay_timestamp();
-> zeigt Timestamp der letzten Einspielung an, sollte etwa die aktuelle Uhrzeit sein

Git: Stashes löschen und alle löschen

Änderungen, die später aufgegriffen werden sollen, aber noch nicht in einen Commit wandern, die kann man mit „git stash“ erst einmal zwischenspeichern. Oft wird danach ein „git pull“ ausgeführt und vielleicht die Änderung mit „git stash apply“ wieder zurückgeholt.

Will man den stash löschen, geht das via „git stash drop“. Will man alle Stash-Einträge löschen: „git stash clear“.