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:
- Manche Paketserver liegen auf Webservern, die sich nicht rekursiv durchsuchen lassen
- 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)
- 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]