Bei Kopiervorgaengen IO beschraenken

Um bei Kopiervorgaengen den IO zu beschraenken kann man das z.B. machen, indem man rsync nutzt und die Option –bwlimit in KB/s uebergibt, z.B.

rsync -avh --progress -bwlimit=5000 /my/source /my/destination

wobei die Bandwith auf 5MB/s beschraenkt wird.

Eine andere alternative ist mit dem Programm ionice zu arbeiten. Mehr dazu in diesem Blogeintrag:
How To Avoid Sudden Outburst Of Backup Shell Script / Program Disk I/O

SSH ProxyCommand

Mal wieder SSH … Wie nervig ist es immer wegen Firewalls und Serverhopping erst auf den einen Server gehen zu muessen, bevor man sich auf dem gewuenschten einloggen kann. Die Loesung lautet ProxyCommand. Ein Beispiel fuer eine .ssh/config:

Host *
Compression		yes
CompressionLevel	9
 
Host			bar
User			username
Port			22
ProxyCommand 		ssh foo nc %h %p
Ciphers 		arcfour
ClearAllForwardings	yes
 
Host			foo
HostName		192.168.1.1
User			username
Port			22

Wenn man nun noch eine Key-Authentifizierung hat, (und auf foo in der .ssh/config auch bar definiert ist) kann man sich Schwupps mit

ssh bar

auf dem gewuenschten Rechner einloggen ohne laestiges zwischendrin :-) Ciphers und ClearAllForwardings sind Performancesachen, denn die eine Verbindung muss nicht soo stark verschluesselt sein, wenn es der Tunnel bereits ist.

 

Wie finde ich raus ob ich einen 32bit oder 64bit Prozessor habe?

  1. uname -a <- Nein, denn: generelle Systeminformationen u.a. Maschinentyp, z.B. i686; bezieht sich auf das installierte System!
  2. getconf LONG_BIT <- Nein, denn: gibt informationen ueber den Kernel, „32“ fuer 32bit Kernel und „64“ fuer 64bit Kernel
  3. grep lm /proc/cpuinfo <- Ja! LM-Flag vom Prozessor:
/usr/include/asm/cpufeature.h: #define X86_FEATURE_LM (1*32+29) /* Long Mode (x86-64) */

der LM-Flag vom Prozessor ist die einzig sichere Option um herauszufinden, ob der Prozessor 64bit kann oder nicht.

SSH – Keys und Agent

SSH gehoert fuer mich zum taeglich Brot. Gefuehlte 1.000.000 mal taeglich baue ich Verbindungen zu irgendwelchen Servern auf, mache dort etwas, baue die Verbindung wieder ab usw… Etwas was mir mein Leben dabei sehr stark erleichtert ist die ~/.ssh/config in der ich fuer die entsprechenden Server die Voreinstellungen hinterlegt habe. Vor vielen Jahren hatte ich darueber bereits hier auf dem Blog geschrieben.

Authentifizierung ueber Keys ist ein weiteres Thema das das Leben sehr viel erleichtern kann. Deswegen hier kurz was dazu geschrieben. Als erstes benoetigt man einen Key. Der wird mit dem folgenden Befehl erzeugt:

ssh-keygen -t dsa

Dabei wird zur Eingabe eines Passworts aufgefordert, wenn man nicht sehr triftige Gruende dagegen hat sollte man das auch tun. Als zweites muss der public Key auf den betreffenden Server kopiert werden, z.B.:

scp ~/.ssh/id_dsa.pub username@example.net:/home/username/.ssh/authorized_keys2

Nun kann ich mich schon mit

ssh username@example.com

ueber den Key (mit dem Passwort des Keys) authentifizieren. Noch einfacher wird es jedoch, wenn man diese Identity dem SSH-Agent mitteilt. Das passiert mit dem Befehl:

ssh-add

Nach der Eingabe des Passworts fuer den Key uebernimmt der Agent alles weitere fuer einen. Man kann sich nun mit dem Key ohne Angabe des Passworts an dem Server anmelden, bis der Agent neu gestartet wird.

Natuerlich kann man auch mehr als einen Key haben, z.B. um private und dienstliche Sachen voneinander zu trennen:

ssh-keygen -t dsa .ssh/work
ssh-add .ssh/work

Die aktiven Identitys kann man sich uebrigens mit

ssh-add -l

anzeigen lassen