Werkzeuge

Dieser Bereich ist nützlichen Programmen gewidmet, die ich häufig benutze. Eröffnet wurde er für „screen”, soll aber auf weitere Werkzeuge erweitert werden.

Dedupe

Überblick

Oftmals hat man das Problem, daß mehrere doppelte Dateien auf seiner Festplatte herumliegen und man diese möglichst einfach loswerden will. Dabei ist das Programm fdupes(1) eine große Hilfe. Wenn es dann jedoch Abarbeiten der Funde geht, wird es schnell aufwendig.

Diese Lücke versucht „dedupe” zu schließen, indem es den Lösch- oder wahlweise auch Linkvorgang automatisiert.

Datei

Anmerkungen

Dedupe ist in Perl geschrieben. Die wichtigsten Parameter sind:

--delete
Duplikate löschen
--link
Duplikate durch Hardlinks ersetzen
--symlink
Duplikate durch Symlinks ersetzen

Mit dedupe --help kann man sich die eingebaute Hilfe angucken, die alle Parameter dokumentiert. Dedupe wurde unter der ”Creative Commons Attribution-Share Alike 3.0 Germany„-Lizenz veröffentlicht.

Idle und Isidle

Überblick

Hin und wieder ist die Auslastung eines Rechners interessant. Zumindest unter Linux bieten dabei die beiden kleinen Shellscripte „idle” und „isidle” eine kleine Übersicht. Sie ermitteln, wie ausgelastet das System insgesamt bzw. gerade ist.

Datei

Anmerkungen

Aufgaben der Tools

idle
Idle zeigt prozentuell an, wie stark der Rechner insgesamt (nicht) ausgelastet ist. Dazu prüft es die Werte in /proc/uptime und verrechnet sie mit der Anzahl der Prozessoren (aus /proc/cpuinfo). Ein Wert von 40.0% bedeutet beispielsweise, daß der Rechner 40% freie Rechenkapazität vergeudet.
isidle

Isidle benutzt uptime(1), um die sogenannte „load average” des Systems zu ermitteln. Diese korreliert grob mit der Gesamtauslastung. Liegt sie bei maximal 0.5, wird das System als unausgelastet angesehen. Bei interaktivem Aufruf zeigt das Script einen entsprechenden Text an, ansonsten ist es ruhig. In beiden Fällen kann man aber den Exitstatus auswerten. Beispiel:


    if idle; then
      unwichtiger_aufwendiger_rechenjob
    else
      # Job nicht ausfuehren, um beispielsweise den Nutzer beim
      # Videoschauen nicht zu stoeren
      echo unwichtiger_aufwendiger_rechenjob wurde ausgelassen
    fi
    

Tip: In Kombination mit anacron(FIXME) kann man Cronjobs mit „isidle” verschieben, wenn der Rechner zum Zeitpunkt der geplanten Ausführung gerade ausgelastet ist.

Mit dedupe --help kann man sich die eingebaute Hilfe angucken, die alle Parameter dokumentiert. Dedupe wurde unter der ”Creative Commons Attribution-Share Alike 3.0 Germany„-Lizenz veröffentlicht.

Screen

Überblick

Screen ist ein Programm, mit dem man mehrere Terminals in einem Terminal benutzen kann. Man kann auch einfach „Terminalmultiplexer” sagen. Ich benutze es quasi ständig und habe darin unter anderem mein Mailprogramm laufen. Drei besonders praktische Funktionen sind:

Konfigurationsdateien

Einige Leute, die mich bei der Benutzung von „screen” beobachtet haben, fanden meine Konfiguration interessant. Daher hatte ich sie in die Müllhalde gelegt. Damit die Konfigurationsdateien nicht immer gelöscht werden, habe ich sie samt Anmerkungen hier plaziert.

Dateien

  1. .screenrc
  2. .screenrc-main

Hinweis: Damit die Dateien eine Wirkung haben, müssen sie im Hauptverzeichnis des jeweiligen Benutzers abgelegt werden.

Anmerkungen

Ich starte „screen” meist mit dem Kommando main, das ein Shell-Alias auf screen -xRS main -c ~/.screenrc-main ist. Damit wird eine Sitzung namens „main” entweder angekoppelt (wenn vorhanden) oder neu erzeugt. Dabei wird die Konfigurationsdatei „.screenrc-main” benutzt. Diese benutzt übrigens meine ".screenrc".

Screenrc

Diese Datei wird von allen Instanzen benutzt.

Screenrc-main

Diese Datei wird nur von der Instanz mit dem Namen „main” benutzt. In ihr habe ich zusätzliche Einstellungen vorgenommen, die nur für diese eine Instanz gelten sollen.

Speicherpig

Überblick

Speicherpig wurde geschrieben, um herauszufinden, welche Prozesse gerade besonders viel Speicher verbrauchen. Das allein bekommt man auch leicht per ps(1) heraus, jedoch wollte ich das gern noch anhand des Prozeßnamens aufsummieren. Genau das leistet Speicherpig. Zudem kann es die Prozeßliste auch gleich noch sortieren und optional die Anzahl der zusammengefaßten Prozesse anzeigen.

Datei

Anmerkungen

Speicherpig entstand aus einem nicht richtig funktionierendem awk-Script mit dem Entwicklungsnamen „speicherschwein”. Speicherpig selbst ist in Perl geschrieben. Die Struktur des Programmes hat sich während des Umbaus nicht wesentlich gewandelt. Interessante Aufrufvarianten sind:

speicherpig size
Physikalisch belegter Speicher
speicherpig vsize
Virtueller Speicherverbrauch (mit Swap)
speicherpig rss
auf Basis des „resident set” summieren (physikalisch belegter Speicher)

Mit speicherpig --help kann man sich die eingebaute Hilfe angucken. Speicherpig wurde unter der ”Creative Commons Attribution-Share Alike 3.0 Germany„-Lizenz veröffentlicht.

Christoph Weber, Mail an Webmaster
Jabber: mehdorn@jabber.ccc.de
2010-02-20