23.03.11

RAID5: erst zwei dann drei dann vier, dann ist das Raid OK

Aufbau eines RAID5 mit anfangs zwei Platten LVM und Cryptfilesystem.

Tests

Um zu testen kann man sich kleine „virtuelle“ Platten anlegen:

  1.  dd if=/dev/zero of=/opt/platte_1 bs=1024 count=10000
  2.  dd if=/dev/zero of=/opt/platte_2 bs=1024 count=10000
  3.  dd if=/dev/zero of=/opt/platte_3 bs=1024 count=10000
  4.  dd if=/dev/zero of=/opt/platte_4 bs=1024 count=10000

Diese „virtuellen“ Platten kann man mittels loop1..4 einhängen.

  1.  losetup /dev/loop0 /opt/platte_1
  2.  losetup /dev/loop1 /opt/platte_2
  3.  losetup /dev/loop2 /opt/platte_3
  4.  losetup /dev/loop3 /opt/platte_4

Testen wir, ob alles funktioniert hat:
Weiterlesen

VN:F [1.9.22_1171]
Rating: 7.5/10 (2 votes cast)
3.02.11

USB – Festplatten – Fest definierte Namen

Wer kennt es nicht, USB Festplatten unter Linux, mal sda, mal sdb, oder mal sdc.
Je nachdem in welcher Reihenfolge die Festplatten angeschlossen werden haben bekommen die Festplatten unterschiedliche Devicenamen. Um dieses Problem zu lösen kann man eine Datei anlegen in der man eigene udev Regeln definiert.

Hierzu benutzt man z.B. folgende Datei:

  1.  /etc/udev/rules.d/90-storage-custom.rules

Mit folgendem Inhalt:

  1.  KERNEL=="sd?1",ENV{ID_SERIAL}=="ST31500341AS_9VS0PAP7",SYMLINK+="disk_fotos"
  2.  KERNEL=="sd?1",ENV{ID_SERIAL}=="SAMSUNG_HD154UI_S1Y6J1KS904134",SYMLINK+="disk_arbeit"

Stöpselt man nun die Festplatte mit der ID_SERIAL = ST31500341AS_9VS0PAP7 ein, so gibt es auf dieser eine Partition 1 (KERNEL==“sd?1″), so wird für diese Partition Symlink auf die entsprechende Partition unter „/dev/disk_fotos“ (SYMLINK+=“disk_fotos“) angelegt, so dass man nun wenn man diese Festplatte angestöpselt immer /dev/disk_fotos mounten kann, egal ob die eigentliche Partition unter /dev/sda1, /dev/sdb1, dev/sdc1, … existiert, denn es wir nun immer ein Symlink angelegt, wie z.B:

  1.   lrwxrwxrwx 1 root root 4  2. Feb 16:43 /dev/disk_fotos -> sdf1
  2.  lrwxrwxrwx 1 root root 4 2. Feb 16:43 /dev/disk_arbeit -> sdd1

Um die ID_SERIAL für z.B. /dev/sdc auszulesen gibt man folgendes ein:

  1.  udevadm info --query=all  --name /dev/sdc |grep ID_SERIAL

Wobei das Device was hier abgefragt wird „/dev/sdc“ ist. Bei mir sieht das Ergebnis so aus:

  1.  udevadm info --query=all --name /dev/sdc |grep ID_SERIAL
  2.  E: ID_SERIAL=SAMSUNG_HD154UI_S1XWJ1KZ101955
  3.  E: ID_SERIAL_SHORT=S1XWJ1KZ101955

Mit den hier gesammelten Informationen kann man dann sehr einfach eine udev Regel, wie weiter oben im Beispiel, erstellen.

Nach dem editieren der udev Regeln, sollten die udev Regeln neu geladen werden. So wird beim nächsten anstöpseln der Festplatte diese mit dem „richtigen“ Namen (Symlink) angelegt. Ein reload der udev Regeln erfolgt mit dem folgenden Befehl:

  1.  udevadm control --reload-rules
VN:F [1.9.22_1171]
Rating: 7.0/10 (1 vote cast)
5.10.09

gentoo – Portage abspecken für Server

In portage gibt es nette Features, wie auch ein exclude für überflüssige Pakete aus dem portage. Eigentlich braucht man auf einem Server nie etwas wie z.B. games-* 🙂
Da es unter diesem Punkt doch einiges gibt, kann der Portage-Tree durch entfernen der games um ein großes Stück verkleinert werden.

Hierzu benötigt man eine Exclude-Liste (alles was nicht im Portage erscheinen soll). Unter <portage-dir> (z.B. /usr/portage) stört hier u.a. „games-*“
Dazu ist dann folgendes zu tun:

vi /etc/portage/rsync_excludes

Inhalt der Datei dann:

games-*/

des weiteren ist dann noch die Datei /etc/make.conf zu bearbeiten, so dass portage auch mitbekommt, dass es eine Exclude-Liste gibt:

vi /etc/make.conf

Hier ist folgendes zu ergänzen:

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"

Hierdurch wird nun beim „emerge –sync“ alles was auf /usr/portage/games-*/ matched nicht gesynced.

Da hier vermutlich auch noch alte Dateien liegen kann man diese nun auch direkt löschen:

rm -rf /usr/portage/games-*

Viel Spass damit 😉

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
29.07.09

HOWTO: TomTom Wegaufzeichnung

Es gibt für ein TomTom ein Tool TTTracklog. Mit diesem Tool, ist es möglich den gefahrenen Weg aufzeichnen zu lassen, um z.B. später eine Route auf einer Karte aus diesen Daten zu erstellen.

Hierzu wird einfach das Tool auf dem TomTom installiert und beim starten des TomTom’s kann man den Tracker dann starten, so dass GPS-Daten gesammelt werden. Es wird einfach die ZIP-Datei auf dem TomTom entpackt. Folgende Ordner (d) oder Dateien (-) sollten nach dem entpacken auf dem TomTom vorhanden sein:

d      bin/
d      itn/
-      README
-      RELEASE_NOTES
d      SDKRegistry/
d      statdata/
d      text/

Die Route wird z.B. im GPX Format gesichert.
Derzeit plane ich eine solche Route für den kommenden Urlaub aufzeichnen zu lassen um später dann diese Route über z.B. maps.google.de darstellen zu können.

Update:

Eine solche Route sieht dann z.B. folgendermaßen aus:
Weiterlesen

VN:F [1.9.22_1171]
Rating: 10.0/10 (1 vote cast)
27.07.09

HOWTO: bash history – HISTCONTROL

Die bash besitzt eine Reihe nützlicher Einstellungen:

z.B. kann man mit den Tasten [ctrl]+[r] in der bash-history suchen. Die history protokolliert in der Regel alle commands, die eingegeben werden und mit enter bestätigt werden. Es gibt jedoch dummerweise wie bei jeder Regel Ausnahmen 😉

In der default-Eintellung z.B. werden keine Zeilen protokolliert die mit einem whitespace beginnen. Diese Einstellung kann jedoch mit der Umgebungsvariable HISTCONTROL bearbeitet werden.

Hier der Eintag in der man page der bash:

HISTCONTROL
A colon-separated list of values controlling how commands are saved on the history list.  If  the  list  of  values  includes ignorespace,  lines which begin with a space character are not saved in the history list.  A value of ignoredups causes lines matching the previous history entry to not be saved.  A value of ignoreboth is shorthand for ignorespace and  ignoredups.   A value  of  erasedups causes all previous lines matching the current line to be removed from the history list before that line is saved.  Any value not in the above list is ignored.  If HISTCONTROL is unset, or does not include a valid value, all lines read  by the shell parser are saved on the history list, subject to the value of HISTIGNORE.  The second and subsequent lines of a multi-line compound command are not tested, and are added to the history regardless of the value of HISTCONTROL.

HISTCONTROL
Dieser Parameter erwartet einen der folgenden Strings: „ignorespace„, „ignoredups“ oder „ignoreboth„.

Die erste Option speichert alle Zeilen die mit einem space beginnen nicht in der history.
Der Zweite löscht alle doppelten Zeilen und behält immer die Jüngste.
Naja und „ignoreboth“ steht eben für beide Einstellungen zusammen.
Will man wirklich alles in der history behalten, so ist die die HISTCONTROL=““ zu setzen 😉

Dieser Parameter kann global in z.B. der Datei /etc/bashrc oder /etc/bash/bashrc (je nach Linux Distribution) gesetzt werden, oder Benutzer spezifisch in der Datei ~/.bashrc

Hier kann man z.B. eine der folgenden Zeilen eintragen:
Um sowohl doppelte Eingaben sowie Eingaben die mit einem whitespace beginnen nicht zu protokollieren:

export HISTCONTROL=ignoreboth

Um Eingaben die mit einem whitespace beginnen nicht zu protokollieren:

export HISTCONTROL=ignorespace

Um doppelte Eingaben nicht zu protokollieren:

export HISTCONTROL=ignoredups

Um alles zu protokollieren:

export HISTCONTROL=""

Update: 16.07.2013:
Um alles zu protokolieren, sowie bei der Ausgabe über den folgenden Befehl auch die Zeiten zu sehen, wann der Befehl ausgeführt wurde, kann man folgendes setzen:

export HISTFILESIZE= HISTSIZE=
export HISTTIMEFORMAT="%F %T "
VN:F [1.9.22_1171]
Rating: 8.0/10 (2 votes cast)