home über marty Party's Linux OpenBSD CDVerwaltung Greetz wieso marty44?? Links

Tips für Linux

joe den Zeilenumbrauch ausreden und Umlaute beibringen
Hierzu muß die Konfigurationsdatei bearbeitet werden. Bei Debian ist es /etc/joe/joerc . Dies ist aber nicht der Standart, also mittels locate nach joerc suchen.
Diese Konfigurationsdatei weicht vom üblichen Schema ab. Wenn man eine Option aktivieren will, darf kein Leerzeichen vor ihr stehen. Wenn sie deaktiviert sein soll, muß ein Leerzeichen vor ihr vorhanden sein. Alles andere wird ignoriert.

Umlaute:
-asis        Option ohne Leerzeichen davor!!

keinen automatischen Zeilenumbruch:
 -wordwrap   Option mit Leerzeichen davor!!


Wer war wann zuletzt eingeloggt?
Dies läßt sich ganz einfach mit dem Befehl lastlog feststellen.


Wer war wann eingeloggt?
Auch für das gibt es einen Befehl: last . Je länger das System schon läuft, desto länger dauert die Ausgabe! Mittels dem Pipesysmbol läßt es sich auch nach bestimmten Begriffen suchen:
www:# last | grep root   Zeigt alle Logins vom root an


Uhrzeit stellen
Bei Linux gibt es zwei Uhrzeiten: eine vom BIOS und die Linux eigene Zeit.
Anzeigen der BIOS Uhr:

# hwclock
Anzeigen der Linux Uhr:
# date
Setzen der BIOS Uhr auf den 4.6.2002 16:45:05 Uhr:
# hwclock --set --date="6/4/2002 16:45:05"
Setzen der Linuxzeit durch die BIOS Uhr:
# hwclock --hctosys

Bash Prompt anpassen
Ray hat sich mal etwas schlau gemacht und herausgefunden, wie man den Prompt der Bash ändert. Diese Änderung muß entweder in die /etc/profile, ~/.bashrc oder ~/.profile eingetragen werden, damit das Prompt bei jeden Login gesetzt wird. /etc/profile ist für das ganze System zuständig, allerdings kann dort ein gesetztes Prompt von einen userdefinierten Prompt in ~/.bashrc oder ~/.profile überschrieben werden.

\u zeigt der Username an
\h zeigt den Hostnamen an
\w zeigt das aktuelle Verzeichnis an

export PS1="\u@\h:\w # "
läßt das Prompt so aussehen:
root@www:/usr/src #

ftp in Scripten verwenden
Manchmal kann es hilfreich sein, das ftp Programm in eigene Scripte einzubinden, um zum Beispiel den Upload für die Homepage zu automatisieren. Ein einfaches Script wäre dieses:
#! /bin/sh
ftp -i -n host.sonstwo.marty44.net << "EOF"
user testuser geheim
cd html
mput *.html
bye
EOF
Der Parameter "-i" gibt an, das ftp nicht nachfragen soll, ob es eine Datei bei multiplen Up/Downloads empfangen/senden soll (mput/mget). Um zu verhindern, das ftp nach einen Usernamen und Passwort fragt, ist der Parameter "-n" da. Allerdings sollte dann danach die erste Anweisung gleich das ftp Kommando USER sein. Ftp kennt ziemlich viele Kommando's (grüne Schrift), siehe dazu auch "man ftp".


nervendes Piepsen der Bash abschalten
Wer viel mit der Tabtaste zur Autovervollständigung von Pfadnamen arbeitet, kennt das nervtötende Piepsen. Mit folgenden Eintrag in der Datei ~/.bashrc oder ~/.profile läßt es sich ausschalten:

setterm -blength 0
Natürlich kann der Befehl auch so eingegeben werden, dann gilt er nur für die aktuelle Sitzung.


LILO entfernen
Falls es mal von Not sein sollte den LILO zu entfernen, geht dies einfach mit dem Befehl:

lilo -u /dev/geraet


Welchen Dateien öffnet ein Programm?
Jeder kennt bestimmt die Fehlermeldung von irgendwelchen Programmen, das irgendwo eine Datei nicht gefunden wurde. Mit strace kann man nachvollziehen, welche Dateien ein Programm öffnen will:

strace -e trace=file PROGRAMM
Mit strace kann man auch nach Netzwerkaufrufen und so weiter suchen, siehe dazu man strace.


ein Patchset erstellen
Um ein Patchset von zwei Versionen eines Programmes zu erstellen empfiehlt sich diff. Hier als Beispiel an einen Linux Kernel:

root:~# cd /usr/src
root:/usr/src# ls -l
drwxr-xr-x   14 573      573          4096 Dec 24 11:20 linux-2.4.20
drwxr-xr-x   14 573      573          4096 Dec 24 11:16 linux-2.4.20working
root:/usr/src# diff -Naur linux-2.4.20 linux-2.4.20working > patch-2.4.21pre2-mips-silly-console_setup
Intern hat so ein Patch eine auf den ersten Blick chaotische Struktur: patch-2.4.21pre2-mips-silly-console_setup


ein Patchset einspielen
Meistens klappt das Einspielen eines Patches mit dem nachfolgeden Befehl. Allerdings haben patch und diff so viele Optionen, so das dies hier keine Allgemeinlösung ist. Zuerst muß man in das Hauptverzeichnis wechseln von dem Programm, was man patchen will und danach den patch Befehl ausführen.

root:~# cd /usr/src/linux-2.4.20
root:/usr/src/linux-2.4.20# patch -Np1 -i /von/wo/auch/immer/patch-2.4.21pre2-mips-silly-console_setup

Pine meldet Mailbox is open by another process, access is readonly
Erst mal sollte man mit ps ax prüfen, ob nicht noch irgendein pine/elm/anderes Mailprogramm läuft. Wenn dies nicht der Fall ist, sollte man die Berechtigung vom Verzeichnis /tmp checken. Dieses muß für alle User beschreibar sein und sollte die Rechte 1777 haben.


Logeinträge über den syslog unter der Shell
Wenn man zum Beispiel in einen Shellscript einen Logeintrag erstellen will, kann man dazu das Programm logger verwenden:

root:~# logger -p local7.info Dies ist ein Test
Die Option -p gibt an, wo der syslog den Eintrag hinschreibt (hier in dem Beispiel ist es local7). Der Zusatz .info gibt den Loglevel an, alle möglichen Werte sind in der Manpage zu logger aufgelistet. Wie der Eintrag dann im Log erscheint, hängt natürlich auch von der Konfiguration des syslogd ab.

zurück zur Linux-Übersicht
Letzte Aktualisierung dieser Seite: 10. Juni 2005