Archive

Archive for the ‘Solaris’ Category

In Place Editing mit Perl

May 14th, 2009 No comments

Wer kennt das nicht, in diversen Dateien muss ein String geändert werden, weil sich bspw. IP-Adressen, Hostnamen, Pfade oder sonstiges geändert haben. Der UNIX-Altmeister arbeitet in diesem Fall mit sed, aber das mochte ich noch nie. Einer der Gründe dafür ist, das Solaris mal wieder sein eigenes, BSD-lastiges, sed hat, während Linux mit der GNU-Variante arbeitet. So kann man einfach nicht arbeiten…

Aber es gibt ja Hilfe: PERL. Perl ist nämlich Perl, auf Linux und Solaris. Daher macht man einfach folgendes:

perl -pi -e s/alter String/neuer String/ DATEI

Perl, your swiss army chainsaw, yeah!

Categories: Linux, Mac, Solaris Tags:

df gegen du

March 18th, 2009 1 comment

Mal wieder etwas aus dem UNIX/Linux-Alltag:

df meldet, das ein Dateisystem zu bspw. 95% voll ist. Zählt man nun mit du den verbrauchten Platz, kommt man aber nicht auf diesen Wert. Was ist also los ?

df und du zählen schlicht unterschiedlich.

df betrachtet ein Dateisystem anhand seiner Blöcke (die Blockgröße kann dabei abhängig von Dateisystem und -größe sein) während du stumpf die Größe einzelner Dateien und Verzeichnisse ermittelt. Gründe für Diskrepanzen können dann sein:

– Eine Datei wurde gelöscht, wird jedoch von einem noch laufenden Prozess verwendet. In diesem Fall “sieht” du diese Datei nicht mehr, ihr Platz im Dateisystem bleibt jedoch belegt, bis der zugehörige Prozess beendet wird.
– Eine Datei ist 100 Bytes groß, die Blockgröße ist jedoch 4096 (das ist, glaube ich, der Default bei ext3). In diesem Fall zählt du sie als 100 Bytes, für df belegt sie jedoch einen Block und damit, in diesem Beispiel, 4096 Bytes.

Categories: Linux, Solaris Tags:

Prozessen unter die Haube geschaut

February 20th, 2009 No comments

Man lernt doch einfach nie aus. Zumindest kannte ich bis heute das Tool ‘pargs’ unter Solaris noch nicht. Dies ermöglicht es einem, sich das Environment und andere Informationen über laufende Prozesse zu holen. Sehr praktisch.

Ausführliche Informationen und ein paar Beispiele gibt es in folgendem Artikel: http://www.c0t0d0s0.org/archives/4779-Less-known-Solaris-Features-Getting-the-command-line-and-environment-of-running-processes.html

Categories: Solaris Tags:

Leere Zeilen entfernen mit grep

January 28th, 2009 No comments

Ich wollte schon immer mal die vielen kleinen Shell-Tricks aufschreiben, die man sich Tag für Tag so einfallen lässt. Heute beginne ich mal mit: “Wie entferne ich Leerzeilen z.B. aus einer Datei ?

grep -v ^$ [DATEI]

Das Suchmuster ist eine leere Zeile (^ = Zeilenanfang, $ = Zeichenende, nichts dazwischen) und der Parameter -v sorgt dafür, das die Suche invertiert wird, also alle Zeilen, die nicht leer sind. Voila!

Categories: Linux, Mac, Solaris Tags:

Shell-Programming FAIL

January 19th, 2009 No comments

So macht man es nicht:

PID=`ps -eaf|grep 'irgendeindaemon'|grep -v grep|awk '{ print $2; }'`

Spätestens bei ‘grep -v grep’ sollte einem eigentlich klar sein, das das nicht der richtige Weg ist. Viel einfacher (und auch eleganter) löst man das z.B. so:

PID=`pgrep irgendeindaemon`

Categories: Linux, Solaris Tags: