chown/chgrp bei symbolischen Link

Nachdem ich jedes mal wieder selbst darauf hereinfalle wird das jetzt aufgeschrieben! Will man mit chgrp bzw. chown den Owner bzw. die Gruppe des symbolischen Links ändern, so geht das wie folgt:

chown -h root:root /vmlinuz

Entscheidend ist das -h. Ansonsten wird das Ziel des Links geändert.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

bash-tipp: pushd / popd

Nein pushd und popd sind keine Daemons. Das d steht für directory und nicht für daemon. Mit den beiden Kommandos navigiert man schnell durch Verzeichnisse. Beide Kommandos sind die Fortsetzung von

cd -

. Im Detail:

  • pushd ist ein cd, das sich zusätzlich die History auf einem Stack merkt.
  • popd holt sich das jeweils letzte Verzeichnis vom Stack und wechselt dort hin.

Idealerweise legt man sich noch 2 Alias in .bashrc an:

alias cd="pushd"
alias cb="popd"

Damit kann man cd - jetzt mit cb ersetzen und das sogar mehrfach.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Tags: . 1 Kommentar »

tcp keepalives und timeouts

Nachdem ich mit einer kommerziellen bei Idle-Verbindungen immer rausgeflogen bin habe ich mir das Thema mal auf Linux Büchsen genauer angesehen. Es gibt zwei wichtige Schrauben:

  1. /proc/sys/net/ipv4/tcp_keepalive*
    Über die 3 Kernel Parameter tcp_keepalive_time, tcp_keepalive_intvl, tcp_keepalive_probes kann man dem Kernel mit geben wie häufig er Keepalive Pakete verschickt. Das hilft, wenn man zwischen Client und Server eben solch kommerziellen Firewalls hat, die eine idlen Verbindung sehr schnell trennen. Details dazu hier.
  2. /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_*
    Über diese Kernel Parameter regelt man auf Linux Firewalls selbst wie hoch die entsprechenden Timeouts sind. Am wichtigsten ist hier wohl der Parameter ip_conntrack_tcp_timeout_establishe, welcher per Default auf 432000 Sekunden (=5 Tage) steht. D.h. Linux-Firewalls würden per Default erst nach 5 Tagen idle Verbindungen trennen. Speziell auf Firewalls mit viel Traffic kann es schon mal vernünftig sein, den Wert zu verkleinern. Bei der kommerziellen Firewall, die mich genervt hatte, waren 30 Minuten eingestellt. Ein zu hoher Wert kann im schlimmsten Fall dafür sorgen, dass die Conntrack Tabelle voll läuft und man eine Meldung wie diese bekommt:

    Nov 20 12:43:24 hostname kernel: ip_conntrack: table full, dropping packet.
    

    Nicht schön!

    Die Anzahl der aktuell aktiven und inaktiven TCP Verbindungen kann man übrigens ganz leicht per snmp abfragen. Die beiden OIDs sind .1.3.6.1.2.1.6.5.0 für aktive und .1.3.6.1.2.1.6.6.0 für passive (das kann OpenNMS von Haus auf). Direkt am System geht es gesamt mit:

    [root@host]# cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count
    10333

    Bei der Unterscheidung zwischen den einzelnen Stati hilft grep, awk, sort … :)

PS: Wie die Parameter über den Reboot hin rettet erklärt man sysctl bzw. man sysctl.conf

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

Blockdevice entsorgen

Bei meinem iSCSI Spielereien habe ich mir ein Block Device eingefangen. D.h. ich hatte beim rumspielen mit iSCSI alles sauber angelegt und anschließend das iSCSI Device auf der iSCSI Seite entsorgt. Blöd, denn der Server hat immer noch nach dem Device gesucht. Ständig kamen folgende Fehler:
sd 8:0:0:0: Device not ready: <6>: Current: sense key: Not Ready
Add. Sense: Logical unit not ready, manual intervention required
end_request: I/O error, dev sdb, sector 0

Los geworden bin ich die Meldungen und das Device über das sysfs:
echo 1 > /sys/block/sdb/device/delete

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Keine Kommentare »

UUID von Partitionen ermitteln

Mittlerweile ist es gängige Praxis nicht mehr das Device in die fstab einzutragen sondern besser die UUID der Partition. Nachdem ich nicht ständig neue Partitionen anlege habe ich mir bis jetzt nie gemerkt, wie ich die UUID einer Partition heraus suche. Daher hier der Merker:

ls -l /dev/disk/by-uuid/

Das liefert sowas wie:

# ls -l /dev/disk/by-uuid/ 
insgesamt 0
lrwxrwxrwx 1 root root 10 2009-11-24 10:50 d321dda3-bc1f-4d24-a56f-a86d66002b1c -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-11-24 10:50 e916f1d1-44fe-4def-8bf6-5b9eacbe13a6 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-11-24 10:50 FAFC5F30FC5EE703 -> ../../sda3

Dann trägt man einfach die entsprechenden UUID in fstab wie folgt ein:

UUID=d321dda3-bc1f-4d24-a56f-a86d66002b1c /wohin-auch-immer               ext3    defaults  0       0

Und hängt die neue Partition ein:

mount -a
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Tags: , . Keine Kommentare »

fuser

Eben habe ich mal wieder versucht rauszufinden welches Programm einen bestimmten Port benutzt. Für den Zweck kenne ich 3 gängige Methoden:

  1. lsof -i -P| grep :[Portnummer]
  2. netstat -tlpn | grep :[Portnummer]
  3. fuser [Portnummer]/Protokoll

Weil fuser wirklich oft ziemlich wertvoll ist schreibe ich mir das Tool hier mal zum Merken auf. fuser kann nämlich wirklich viel mehr. man fuser ist lesenswert ;-) . Praktisch finde ich unter anderem

 fuser -m [gemountetes Filesystem]

. Damit findet man ganz schnell raus wer einen Mountpoint busy hält :)

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Tags: , , , . Keine Kommentare »

Abkürzungen in der Bash

Wieder mal so ein Spikzettel, der bewirken soll, dass ich mir das endlich merke:

  1. cd -
    Damit kommt man ins letzte Verzeichnis zurück. Beispiel:

    /var/www$ cd /var/log
    /var/log$ cd -
    /var/www
    /var/www$
  2. !!
    Führt das letzte Kommando nochmal aus. Beispiel:

    /var$ ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www
    /var$ !!
    ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www

    Das ist besonders interessant, da man auch ein Prefix mitschicken kann. Beispiel:

    /var$ time !!
    time ls
    backups  cache  cfs  crash  games  lib  local  lock  log  mail  opt  run  spool  tmp  www
     
    real	0m0.007s
    user	0m0.000s
    sys	0m0.004s
  3. ^foo^bar
    Wiederholt das letzte Kommando und dersetzt foo mit bar. Beispiel:

    /var$ ls -ald /var/lok
    ls: Zugriff auf /var/lok nicht möglich: No such file or directory
    /var$ ^lok^log
    ls -ald /var/log
    drwxr-xr-x 31 root root 28672 2009-11-23 07:51 /var/log
  4. !foo
    Wiederholt das letzte Kommando was mit “foo” beginnt. Beispiel:

    /var$ ls -al /var/log/messages
    -rw-r----- 1 syslog adm 7136 2009-11-23 11:00 /var/log/messages
    /var$ !ls
    ls -al /var/log/messages
    -rw-r----- 1 syslog adm 7136 2009-11-23 11:00 /var/log/messages
  5. !* !$, !:n
    Wiederholt den entpsrechenden Parameter. !* wiederholt alle Parameter, !$ nur den letzten und !:n den entsprechenden. Beispiel:

    /var$ ls /tmp/foo 
    /tmp/foo
    /var$ rm !*
    rm /tmp/foo
    /var$ ls /tmp/foo
    ls: Zugriff auf /tmp/foo nicht möglich: No such file or directory

Für Kommentare mit mehr Bash Tipps bin ich immer offen :-)

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Tags: . Keine Kommentare »

Gähn, mein USB-Stick ist zu langsam

Die Sicherung der Warenwirtschaft im Betrieb meines Bruders braucht weniger als 200MB. Damit ist neben der Sicherung übers Netzwerk auch eine Sicherung auf einen USB-Stick kein Problem. Der USB-Stick ist eigentlich das ideale Sicherungsmedium für den Zweck. Transportabel, Stoß unempfindlich, … Was will man mehr. Wäre da nur nicht das Problem, dass die Sicherung per USB trotz USB 2.0 ewig dauert. Die Ursache ist schnell gefunden. Das Debian auf dem Server mountet den Stick mit der “Sync” Option. Das soll verhindern, dass beim Entfernen des Sticks ohne unmount, Datenverloren gehen. Gleichzeitig verhindert es aber auch, dass der Kernel die Schreibzugriffe optimiert. Also dauert die Sicherung ewig. :( Die Lösung ist einfach:
in /etc/usbmount/usbmount.conf die Zeile:

MOUNTOPTIONS="sync,noexec,nodev,noatime"

in

MOUNTOPTIONS="noexec,nodev,noatime"

ändern.

Aber Vorsicht! In Zukunft vor dem Abziehen immer unmounten bzw. sync eingeben!

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. 1 Kommentar »

Bitte melde Dich!

Ich kümmere mich um relativ viele Linux Computer remote. Ab und an müssen Dinge jedoch vor Ort erledigt werden (z.B. Patchkabel stecken,…). Dann bediene ich mir Remotehands. Das ganze hat ein kleines Problem. Meistens war ich noch kein einziges mal vor Ort und weiß so natürlich nicht wie die Hardware dort aussieht bzw. wo sie steckt. Damit die Menschen auf der anderen Seite nicht versehentlich die falschen Kisten booten oder umpatchen bediene ich mich immer folgender Hilfsmittel:

  1. Die Server lass ich sich melden mit:
    • CD/DVD-Laufwerk öffnen mit eject
    • Identled auf der Frontseite anmachen mit ipmitool chassis identify
  2. Die richtige Netzwerkschnittstelle markiere ich mit ethtool -p eth0. Das vergesse ich immer wieder. Daher schreib ich mir das jetzt mal auf.
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.

Neues LVM anlegen

Alle paar Wochen lege ich ein neues LVM an. Dank meines Kurzzeitgedächtnis muss ich jedes mal das HowTo aufmachen und durchblättern. Daher schreibe ich mir das hier in einem Artikel mal auf. Bei VMs lege ich das LVM in einer Partition an, da ich damit dann das logische Laufwerk der VM gegebenenfalls vergrößern oder verkleinern kann. Bei physikalischen Platten würde ich es direkt auf der Platte anlegen.

  1. Partition vom Typ 8e anlegen.
  2. LVM erzeugen (bei den Punkten entsprechende Werte eintragen):
    /usr/sbin/lvm
    pvcreate /dev/sd..
    vgcreate VolGroup0. /dev/sd..
    pvdisplay /dev/sd..
     /usr/sbin/lvcreate -l [Wert "Free PE" aus pvdisplay] VolGroup0- -n LogVol0.
    exit
  3. Filesystem anlegen:
    /sbin/mkfs.ext3 /dev/VolGroup0./LogVol0.
  4. Mounten, fstab eintragen… alles wie normal
VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.13_1145]
Rating: 0 (from 0 votes)
Artikel als PDF exportieren.
Posted in Allgemein. Keine Kommentare »
show
 
close