Unterschiede zwischen den Revisionen 1 und 16 (über 15 Versionen hinweg)
Revision 1 vom 2003-03-11 09:38:43
Größe: 1178
Autor: micropolis
Kommentar: finger @ftp.kernel.org
Revision 16 vom 2003-04-05 13:24:39
Größe: 9038
Kommentar: Ergänzungen: Commandline
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
= Linux-Tips =
== Kernel-Tips ==
=== Wie finde ich heraus, welche Kernel-Versionen gerade aktuell sind? ===
[[TableOfContents()]]

= Userspace-Tips =
== Die gängigen Kommandozeilen-Programme ==

'' Zu den meisten Kommandos gibt es auch Optionen (Schalter), die mit einem Minuszeichen eingeleitet werden. Der Schalter {{{-h}}} gibt oft einen Hilfetext aus, ausführlicher ist ein Blick in die Man[ual] Pages (vgl. {{{man}}}).''

 || {{{ls}}} || Zeigt Dateien an, entspricht {{{dir}}} unter DOS. {{{ls -al}}} gibt alle Dateien im Langformat aus.||
 || {{{cd}}} || Wechselt das Verzeichnis, entspricht {{{cd}}} unter DOS, mit der Ausnahme, daß, wenn man nichts angibt, man in das HomeDir verfrachtet wird (unter DOS wurde der Name des aktuellen Verzeichnisses angezeigt) ||
 || {{{cp}}} || Kopiert Dateien, entspricht {{{copy}}} ||
 || {{{mv}}} || Verschiebt Dateien, entspricht {{{move}}} ||
 || {{{rm}}} || Löscht Dateien, entspricht {{{del}}} unter DOS ||
 || {{{mount}}} || Hängt Dateisysteme ein. Anders als unter DOS sind Datenträger nicht automatisch unter einem Laufwerksbuchstaben verfügbar, sondern müssen erst mittels {{{mount}}} zugänglich gemacht werden ||
 || {{{cat}}} || {{{cat}}} gibt den Inhalt von Dateien aus, entspricht {{{type}}} ||
 || {{{pwd}}} || Gibt den aktuellen Verzeichnisnamen aus, entspricht {{{cd}}} unter DOS, wenn kein Verzeichnisname angegeben wurde ||
 || {{{man}}} || Zeigt die Hilfe-Seite von Programmen an (Beispiel: {{{man ls}}}) ||
 || {{{ssh}}} || Mit {{{ssh}}} kann man sich auf fremden Rechnern einloggen und dort arbeiten und fernwarten ||
 || {{{scp}}} || Damit lassen sich Dateien auf einen anderen Rechner kopieren ||
 || {{{more}}} || Zeigt Dateiinhalt seitenweise an, Abbruch mit Q||
 || {{{less}}} || Zeigt Dateiinhalt ebenfalls seitenweise an, ist manchmal etwas flexibler als {{{more}}}||
 || {{{find}}} || Sucht Dateien ||
 || {{{file}}} || Zeigt den Dateityp einer Datei an ||

== Was kann man damit machen? ==
Prinzipiell können all die Befehle einfach eingegeben werden. Nachdem man <Return> gedrückt hat,
wird dieser Befehl ausgeführt,bis er sich beendet hat.

Aber mit der Shell (dem Kommandointerpreter) von Unix-artigen Systemen kann man viel mehr machen,
als nur einfach der Reihe nach Befehle auszuführen. Wenn man an die Befehlszeile "&" anhängt,
so wird der Befehl im Hintergrund ausgeführt, sodaß man sofort weitere Befehle eingeben kann.
Das hilft vor allem, wenn man Programme mit langer Laufzeit ausführen möchte.

Natürlich kann man die Ausgabe eines Programmes auch in eine Datei umleiten (geht inzwischen auch unter DOS):
{{{
$ ls > ausgabedatei
}}}
oder an eine Datei anhängen:
{{{
$ ls >> ausgabedatei
}}}
oder per "Pipe" an ein Programm zur weiteren Bearbeitung weiter reichen:
{{{
$ ls || more
}}}

= USB mit "speziellen" Geräten =
Einige USB-Geräte brauchen nach dem Einstecken noch etwas Feinschliff, oder gar sich ändernde Modul-Parameter.
Leider ist das noch nicht so dolle dokumentiert. Ich habe hier z.B. einen Drucker, der sich als serielle
Schnittstelle am US-Bus anmeldet. Leider braucht das usbserial.o-Modul aber Vendor- und Product-ID. Voraussetzung
ist, daß {{{hotplug}}} installiert ist. Danach kommt die Speziel-Behandlung:
{{{
$ cat /usr/lib/hotplug/special-local-config/usb.usermap
usbgenericserial 0x03 0x04b8 0x0202 0 0 0 0 0 0 0 0 0
}}}
Das Verzeichnis special-local-config muß einfach nur ein Unterverzeichnis (frei wählbar) sein. update-usb.usermap
(gehört zu dem Debian'schen {{{hotplug}}}-Paket liest alle Dateien mit dem Namen {{{usb.usermap}}} aus all den
Unterverzeichnissen von {{{/usr/lib/hotplug/}}} und generiert daraus die {{{/etc/hotplug/usb.usermap}}}. Wenn man
kein Debian hat, kann man die Zeile(n) da also auch direkt eintragen.

Als erstes kommt ein Script-Name (dieses Script muß dann in {{{/etc/hotplug/usb/}}} liegen). Danach kommt ein
Bezeichner, der angibt, was für ein Vergleich mit den hinten angegebenen Zahlen (und den Angaben, die das USB-Gerät
mit sich bringt) gemacht werden soll. 0x03 ist anscheinend Vergleich von Vendor- und ProductID (das haben zumindest
viele andere Einträge so...). Danach kommen besagte Vendor- und ProductID sowie einige nullen (da kommen
sonst noch weitere USB-Merkmale hin, aber da wir die ja nicht brauchen...)

Nun sollte man also einmal
{{{
# update-usb.usermap
}}}

aufrufen, um die {{{/etc/hotplug/usb.usermap}}} zu erzeugen (falls man die Daten da nicht direkt hineingeschrieben hat).

Als nächstes gilt es, das Script {{{/etc/hotplug/usb/usbgenericserial}}} zu erzeugen. Ich habe darin folgendes stehen:
{{{
$ cat /etc/hotplug/usb/usbgenericserial
#!/bin/sh

echo "${PRODUCT}" | tr '/' ' ' | while read VENDOR_ID DEVICE_ID REVISION_ID; do
        modprobe usbserial vendor=0x${VENDOR_ID} product=0x${DEVICE_ID}
done
}}}

In der Variable {{{$PRODUCT}}} sind Vendor-, Product- und Revision-ID gespeichert, getrennt durch
"/". Ich brauchte für das {{{usbserial.o}}}-Modul Vendor- und ProductID (da das Modul leider keine
2MB-Tabelle von 10000 unterstützten seriellen USB-Geräten beinhaltet...) und lade dann das Modul.

= CDs brennen =
== Brennprogramme auf der Kommandozeile ==
Im wesentlichen gibt es [http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html cdrecord] und [http://cdrdao.sourceforge.net/ cdrdao].

cdrecord erwartet als Input .iso, .raw oder .wav. Ein typischer Aufruf wäre z.B.
{{{ cdrecord dev=1,0,0 speed=32 -data -eject -data -v testimage.iso }}}

cdrdao nimmt eine .bin und .cue als Input.
{{{ cdrdao write --driver generic-mmc --device 1,0,0 testimage.cue }}}

Was ist mit "Overburn"? Auch recht einfach: cdrecord gibt man die Parameter {{{ -dao --overburn }}} mit und cdrdao nur ein {{{ --overburn }}}. Natürlich muß der CD Brenner das ganze noch mitmachen.

Neuere CD-Brenner haben Funktionen, die vor Buffer-Underruns schützen sollen. Diese Funktionen gibt es inzwischen unter einer Vielzahl von Namen: BURN-Free, Freeburn, BURN&#8208;Proof, Just-Link, Lossless-Link, etc. cdrdao benutzt diese direkt, während cdrecord diese standartmäßig abschaltet (Beim Samsung SM-348B allerdings z.B. behauptet cdrecord es abzuschalten, aber funktioniert weiter). cdrecord kann man mit dem Parameter {{{ driveropts=burnfree }}} aber dazu bringen, dieses Feature doch zu benutzen.

== Erzeugen eines Images auf der Konsole ==

Mit [http://www.andante.org/mkisofs.html mkisofs] erzeugt man einfach CD-Images.

{{{ mkisofs -j -r -l -V "Titel" -o /tmp/imagefile.iso /pfad/zu/meinen/daten/* }}}

|| {{{-j}}} || erzeuge ein Dateisystem nach dem Joilet System. Dieser "Standart" wird von Windows benutzt und entspricht nicht ganz dem iso9660 Standart. Ich bevorzuge deshalb diesen Parameter wegzulassen. Wer sein System auf UTF-8 umgestellt hat darf unter Windows statt der erwarteten Umlaute einen netten ix erwarten. ||
|| {{{-r}}} || erzeuge ein Dateisystem nach dem relaxten Rock-Ridge Verfahren. Dateirechte und lange Dateinamen werden unterstützt. Das relaxt bedeutet, daß die Dateirechte sinnig gesetzt sind, daß jeder Benutzer darauf zugreifen kann. ||
|| {{{-l}}} || erzeuge ein Dateisystem mit langen Dateinamen. Dateinamen können maximal 32 Zeichen lang sein. Umlaute werden durch Unterstriche ersetzt ||
|| {{{-V "Titel"}}} || Gib der CD-ROM den Titel "Titel" ||
|| {{{-o imagefile.iso}}} || Name der Imagedatei. ||

== Intressante Utilities für die Konsole ==
[http://hes.iki.fi/bchunk/ bchunk] erzeugt aus der .bin/.cue Kombination einzelne .iso's und .wav's.

== Seltsame CD-Images ==

Bisher gibt es unter Linux keine Möglichkeit propritäre CD-Image Formate von Windows Programmen zu brennen. Dazu gehören u.a. cdi (DiscJuggler), nrg (Ahead Nero) und .ccd (CloneCD).
----
= Kernel-Tips =
== Wie finde ich heraus, welche Kernel-Versionen gerade aktuell sind? ==
Zeile 10: Zeile 128:
$ finger @ftp.kernel.org $ finger @finger.kernel.org
Zeile 22: Zeile 140:
$ date
Tue Mar 11 10:39:06 CET 2003

TableOfContents()

Userspace-Tips

Die gängigen Kommandozeilen-Programme

Zu den meisten Kommandos gibt es auch Optionen (Schalter), die mit einem Minuszeichen eingeleitet werden. Der Schalter -h gibt oft einen Hilfetext aus, ausführlicher ist ein Blick in die Man[ual] Pages (vgl. man).

  • ls

    Zeigt Dateien an, entspricht dir unter DOS. ls -al gibt alle Dateien im Langformat aus.

    cd

    Wechselt das Verzeichnis, entspricht cd unter DOS, mit der Ausnahme, daß, wenn man nichts angibt, man in das HomeDir verfrachtet wird (unter DOS wurde der Name des aktuellen Verzeichnisses angezeigt)

    cp

    Kopiert Dateien, entspricht copy

    mv

    Verschiebt Dateien, entspricht move

    rm

    Löscht Dateien, entspricht del unter DOS

    mount

    Hängt Dateisysteme ein. Anders als unter DOS sind Datenträger nicht automatisch unter einem Laufwerksbuchstaben verfügbar, sondern müssen erst mittels mount zugänglich gemacht werden

    cat

    cat gibt den Inhalt von Dateien aus, entspricht type

    pwd

    Gibt den aktuellen Verzeichnisnamen aus, entspricht cd unter DOS, wenn kein Verzeichnisname angegeben wurde

    man

    Zeigt die Hilfe-Seite von Programmen an (Beispiel: man ls)

    ssh

    Mit ssh kann man sich auf fremden Rechnern einloggen und dort arbeiten und fernwarten

    scp

    Damit lassen sich Dateien auf einen anderen Rechner kopieren

    more

    Zeigt Dateiinhalt seitenweise an, Abbruch mit Q

    less

    Zeigt Dateiinhalt ebenfalls seitenweise an, ist manchmal etwas flexibler als more

    find

    Sucht Dateien

    file

    Zeigt den Dateityp einer Datei an

Was kann man damit machen?

Prinzipiell können all die Befehle einfach eingegeben werden. Nachdem man <Return> gedrückt hat, wird dieser Befehl ausgeführt,bis er sich beendet hat.

Aber mit der Shell (dem Kommandointerpreter) von Unix-artigen Systemen kann man viel mehr machen, als nur einfach der Reihe nach Befehle auszuführen. Wenn man an die Befehlszeile "&" anhängt, so wird der Befehl im Hintergrund ausgeführt, sodaß man sofort weitere Befehle eingeben kann. Das hilft vor allem, wenn man Programme mit langer Laufzeit ausführen möchte.

Natürlich kann man die Ausgabe eines Programmes auch in eine Datei umleiten (geht inzwischen auch unter DOS):

$ ls > ausgabedatei

oder an eine Datei anhängen:

$ ls >> ausgabedatei

oder per "Pipe" an ein Programm zur weiteren Bearbeitung weiter reichen:

$ ls || more

USB mit "speziellen" Geräten

Einige USB-Geräte brauchen nach dem Einstecken noch etwas Feinschliff, oder gar sich ändernde Modul-Parameter. Leider ist das noch nicht so dolle dokumentiert. Ich habe hier z.B. einen Drucker, der sich als serielle Schnittstelle am US-Bus anmeldet. Leider braucht das usbserial.o-Modul aber Vendor- und Product-ID. Voraussetzung ist, daß hotplug installiert ist. Danach kommt die Speziel-Behandlung:

$ cat /usr/lib/hotplug/special-local-config/usb.usermap
usbgenericserial 0x03 0x04b8 0x0202 0 0 0 0 0 0 0 0 0

Das Verzeichnis special-local-config muß einfach nur ein Unterverzeichnis (frei wählbar) sein. update-usb.usermap (gehört zu dem Debian'schen hotplug-Paket liest alle Dateien mit dem Namen usb.usermap aus all den Unterverzeichnissen von /usr/lib/hotplug/ und generiert daraus die /etc/hotplug/usb.usermap. Wenn man kein Debian hat, kann man die Zeile(n) da also auch direkt eintragen.

Als erstes kommt ein Script-Name (dieses Script muß dann in /etc/hotplug/usb/ liegen). Danach kommt ein Bezeichner, der angibt, was für ein Vergleich mit den hinten angegebenen Zahlen (und den Angaben, die das USB-Gerät mit sich bringt) gemacht werden soll. 0x03 ist anscheinend Vergleich von Vendor- und ProductID (das haben zumindest viele andere Einträge so...). Danach kommen besagte Vendor- und ProductID sowie einige nullen (da kommen sonst noch weitere USB-Merkmale hin, aber da wir die ja nicht brauchen...)

Nun sollte man also einmal

# update-usb.usermap

aufrufen, um die /etc/hotplug/usb.usermap zu erzeugen (falls man die Daten da nicht direkt hineingeschrieben hat).

Als nächstes gilt es, das Script /etc/hotplug/usb/usbgenericserial zu erzeugen. Ich habe darin folgendes stehen:

$ cat /etc/hotplug/usb/usbgenericserial
#!/bin/sh

echo "${PRODUCT}" | tr '/' ' ' | while read VENDOR_ID DEVICE_ID REVISION_ID; do
        modprobe usbserial vendor=0x${VENDOR_ID} product=0x${DEVICE_ID}
done

In der Variable $PRODUCT sind Vendor-, Product- und Revision-ID gespeichert, getrennt durch "/". Ich brauchte für das usbserial.o-Modul Vendor- und ProductID (da das Modul leider keine 2MB-Tabelle von 10000 unterstützten seriellen USB-Geräten beinhaltet...) und lade dann das Modul.

CDs brennen

Brennprogramme auf der Kommandozeile

Im wesentlichen gibt es [http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html cdrecord] und [http://cdrdao.sourceforge.net/ cdrdao].

cdrecord erwartet als Input .iso, .raw oder .wav. Ein typischer Aufruf wäre z.B.  cdrecord dev=1,0,0 speed=32 -data -eject -data -v testimage.iso 

cdrdao nimmt eine .bin und .cue als Input.  cdrdao write --driver generic-mmc --device 1,0,0 testimage.cue 

Was ist mit "Overburn"? Auch recht einfach: cdrecord gibt man die Parameter  -dao --overburn  mit und cdrdao nur ein  --overburn . Natürlich muß der CD Brenner das ganze noch mitmachen.

Neuere CD-Brenner haben Funktionen, die vor Buffer-Underruns schützen sollen. Diese Funktionen gibt es inzwischen unter einer Vielzahl von Namen: BURN-Free, Freeburn, BURN‐Proof, Just-Link, Lossless-Link, etc. cdrdao benutzt diese direkt, während cdrecord diese standartmäßig abschaltet (Beim Samsung SM-348B allerdings z.B. behauptet cdrecord es abzuschalten, aber funktioniert weiter). cdrecord kann man mit dem Parameter  driveropts=burnfree  aber dazu bringen, dieses Feature doch zu benutzen.

Erzeugen eines Images auf der Konsole

Mit [http://www.andante.org/mkisofs.html mkisofs] erzeugt man einfach CD-Images.

 mkisofs -j -r -l -V "Titel" -o /tmp/imagefile.iso /pfad/zu/meinen/daten/* 

-j

erzeuge ein Dateisystem nach dem Joilet System. Dieser "Standart" wird von Windows benutzt und entspricht nicht ganz dem iso9660 Standart. Ich bevorzuge deshalb diesen Parameter wegzulassen. Wer sein System auf UTF-8 umgestellt hat darf unter Windows statt der erwarteten Umlaute einen netten ix erwarten.

-r

erzeuge ein Dateisystem nach dem relaxten Rock-Ridge Verfahren. Dateirechte und lange Dateinamen werden unterstützt. Das relaxt bedeutet, daß die Dateirechte sinnig gesetzt sind, daß jeder Benutzer darauf zugreifen kann.

-l

erzeuge ein Dateisystem mit langen Dateinamen. Dateinamen können maximal 32 Zeichen lang sein. Umlaute werden durch Unterstriche ersetzt

-V "Titel"

Gib der CD-ROM den Titel "Titel"

-o imagefile.iso

Name der Imagedatei.

Intressante Utilities für die Konsole

[http://hes.iki.fi/bchunk/ bchunk] erzeugt aus der .bin/.cue Kombination einzelne .iso's und .wav's.

Seltsame CD-Images

Bisher gibt es unter Linux keine Möglichkeit propritäre CD-Image Formate von Windows Programmen zu brennen. Dazu gehören u.a. cdi (DiscJuggler), nrg (Ahead Nero) und .ccd (CloneCD).


Kernel-Tips

Wie finde ich heraus, welche Kernel-Versionen gerade aktuell sind?

Es gibt einen alten Dienst namens ["Finger"], mit dem man früher herausfinden konnte, ob ein User eingeloggt ist, was er so vor hat, wann er zuletzt Mails gelesen hat etc. Dieser Dienst wird auf dem Rechner finger.kernel.org mißbraucht, um die aktuellen Kernel-Versionen von sich zu geben:

$ finger @finger.kernel.org
[zeus-pub.kernel.org]
The latest stable version of the Linux kernel is:           2.4.20
The latest prepatch for the stable Linux kernel tree is:    2.4.21-pre5
The latest beta version of the Linux kernel is:             2.5.64
The latest snapshot for the beta Linux kernel tree is:      2.5.64-bk5
The latest 2.2 version of the Linux kernel is:              2.2.24
The latest 2.0 version of the Linux kernel is:              2.0.39
The latest prepatch for the 2.0 Linux kernel tree is:       2.0.40-rc6
The latest -ac patch to the stable Linux kernels is:        2.4.21-pre5-ac2
The latest -ac patch to the beta Linux kernels is:          2.5.64-ac3
The latest -dj patch to the beta Linux kernels is:          2.5.60-dj2
$ date
Tue Mar 11 10:39:06 CET 2003

LugOwlWiki: LinuxTips (zuletzt geändert am 2019-08-16 08:59:12 durch LinuxWeb)

Impressum Datenschutz