Skip to topic | Skip to bottom
Linux.ScriptsFbr1.4 - 14 Aug 2006 - 07:28 - FrankBurkhardt [Zum Ende]

Start of topic | Direkt zum Menü

Skripts for the masses: scripts-fb

scripts-fb enthält Skripte, für die sich jeweils eigene Pakete nicht lohnen würden.

adminatwork

Dieses Skript zeigt einem lokalen Benutzer grafisch an, dass gerade ein Administrator an dem Rechner arbeitet. Primärer Ziel ist, zu verhindern, dass der lokale Benutzer während der Wartungsarbeiten irgendwelche störende Prozesse anwirft.

bodycut

Dieses Skript kopiert ein Stück aus einer Datei herraus, das durch Start- und End-Position definiert ist.

cutlastarg

Führt ein Programm aus, wobei das letzte Argument abgeschnitten wird. Das Sinn dieses Kommandos ist, einen Xvnc -Server Version 4 per kdm zu starten. Da kdm jedoch die unangenehme Angewohnheit hat, ans Ende der Kommandozeile gestarteter X-Server den Namen eines Terminals zu setzen (z.B. tty7 ), muß man in solchen Fällen dieses Skript benutzen.

debd

Dieses Script wechselt in ein Directory, das ein weiteres Root-Filesystem enthält. Es führt einen chroot-Aufruf durch und und mountet einige wichtige Verzeichnis ber --bind .

epochtime

... zeigt die Zeit im Klartext zu einer Epoch-Sekundenangabe an.

fdeb

Dieses Skript kann Debian-Pakete schnell zerlegen und wieder zusammensetzen. Sinn dieses Kommandos ist, kleine Änderungen an .deb -Files schnell durchführen zu können, ohne sie neu bauen zu müssen.

fusers

Dieses Skript funktioniert so ähnlich wie fuser , bietet jedoch etwas mehr an Komfort.

Sinn dieses Skriptes ist es, die benutzenden Prozesse von bestimmten Dateien/Verzeichnissen herrauszufinden. Zusätzliche Optionen erlauben es, jeweils noch anzuzeigen, auf welche Weise der jeweilige Prozess auf die angegebene Datei/das angegebene Verzeichnis zugreift. Ausserdem kann der Name des Prozesses und der Besitzer ausgegeben werden.

Beispiel:

user@host > fusers -ruc ~user
2871 (user) [/bin/bash ] {cwd:/home/user}
user@host > kill -HUP `fusers -ruc ~user`

l

Ein Skript, um schnell Konfigurationsdateien anzuzeigen. z.B. zeigt l s die Datei /var/log/syslog mit Hilfe von less an.

Beispiel:

user@host > l s

ist dasselbe wie:

user@host > less /var/log/syslog

mirror

Dieses Programm ist für das organisierte Spiegeln von verschiedenen Dateibäumen aus dem Internet hilfreich. Die zu spiegelden URLs werden zentral in einer Konfigurationsdatei abgelegt, beim Start des Spiegelvorganges gibt man dann nur noch die Kürzel der zu spiegelnden Quellen an. Per default wird die Liste der Spiegelquellen aus

/afs/cbs.mpg.de/admin/etc/mirror.list

gelesen, wobei dann für jeden Vorgang einzelne Spiegelvorgänge gezielt ausgewählt und durchgeführt werden können. Damit hat man eine zentrale Konfigurationsdatei für sämmtliche Spiegelvorgänge im Netzwerk, die dazu auch noch verschiedene Protokolle umfassen können:

  • rsync - Das allseits beliebte High-Performance-Spiegelprotokoll
  • mirrordir (ftp) - Zum Spiegeln von FTP-Servern
  • wgetd (http) - eine Eigenentwicklung zum Spiegeln von HTTP-Debian-Paketquellen

Anwendungsbeispiel:

user@host > cat /a/admin/etc/mirror.list
"cygwin-mirror","rsync","cygwin-path","rsync://ftp.inf.tu-dresden.de/cygwin"
user@host > mirror cygwin-mirror

Hinweise:

  • Das Cygwin-Archiv auf dem rsync-Server der TU-Chemnitz würde jetzt nach /a/mirror/cygwin-path kopiert werden.
  • Mit -v wird mirror noch auskunftfreudiger. Wird es nicht an einem Terminal ausgeführt (z.B. als cron -Skript), schaltet es automatisch alle unnötigen Meldungen ab.
  • Der Pfad /a/admin/etc/mirror.list ist Default für die Konfigurationsdatei, kann jedoch genau, wie das lokale Ziel der Spiegelung (Default: /a/mirror ) geändert werden (siehe mirror --help ). Die Standard-Pfade ergaben sich aus der Benutzung von InstantAFS.

ofscan

Dieses Skript erstellt ein Textfile, dass für alle Dateien innerhalb eines anzugebenden Verzeichnisbaumes folgende Informationen enthält:

  • Name
  • Größe in Bytes
  • MD5-Prüfsumme (wie von md5sum zurückgeliefert)

Das Skript war ursprünglich dazu gedacht, CDs einzuscannen, um später nachprüfen zu können, ob sich die darauf befindlichen Dateien verändert haben. Es kann jedoch für alle Arten von Dateibäumen benutzt werden.

qthelper

Damit wird die programmierung von QT-Programmen in Perl stark vereinfacht. Mehr zu diesem Skript gibt's unter LibQtPerl .

select-sources2 (Alias: ss2 )

Dieses Skript erstellt bei Aufruf eine maßgeschneiderte /etc/apt/sources.list . Es verwendet dazu Regeln aus /etc/apt/sources.template2 . Auch ist ein Update-Mechanismus integriert, der bei Bedarf ( einfach -u anfügen) die Datei sources.template2 über das Internet auf den neuesten Stand bringt, wobei die in /etc/apt/select-sources2.conf angegebene URL benutzt wird, deren Default http://fbo.no-ip.org/etc/sources.template2 ist.

stanl

Dieses Programm zeigt den Output von strace ein wenig anschaulich an. Der strace -Output muss mit der -f -Option ( follow forks ) erzeugt worden sein.

Beispiel:

user@host > strace -o /tmp/st -f mein_programm
user@host > stanl /tmp/st

wgetd

Dieses Skript ist zum spiegeln von Debian-Paketquellen (derzeitig nur für http ) gedacht. Die Idee ist folgende:

  1. Manche Paketserver liegen auf Webservern, die sich nicht rekursiv durchsuchen lassen
  2. Ein debian-Server läßt sich durch die Dateien Packages und Sources komplett erfassen (d.h. man kann die Liste der URLs aller enthaltenen Dateien daraus errechnen)
  3. Diese Liste arbeitet man einfach per LWP::Perl ab und erhält dadurch eine vollständige Kopie des Paketservers.

More to be written ...

#####
[Zurück zum Start]


Aktuelle Wiki-Seite: Linux > DebianProjekte > ScriptsFb

[Zurück zum Start]