[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ weiter ]


Debian-Referenz
Kapitel 4 - Debian-Tutorials


Dieser Abschnitt bietet eine grobe Orientierung zur Linuxwelt für den Neueinsteiger. Sollten Sie Linux schon eine Weile nutzen, so können Sie Ihr Wissen testen.


4.1 Informationsquellen

Die ultimativen Referenzen für Debian sind im Debian-Dokumentations-Projekt (DDP) zu finden. Viele dieser Dokumente werden in /usr/share/doc/ installiert. Man sollte auch in /usr/share/doc-base/ schauen, dies enthält Verweise auf die Dokumentation auf dem System. Man kann export CDPATH=.:/usr/share/doc:/usr/src/local zu ~/.bash_profile hinzufügen, um einfacher auf die Dokumentationsverzeichnisse zuzugreifen.

Das Linux-Dokumentations-Projekt (LDP) hat die maßgeblichsten allgemeinen Linux-Referenzen. Der LDP-Inhalt wird gewöhnlich in /usr/share/doc/HOWTO/ installiert.

Man kann durch Dokumente auf lokalen und entfernten FTP-Servern mittels F9 im Midnight Commander (vergleiche Midnight Commander (MC), Abschnitt 4.3) navigieren.


4.2 Die Linux-Konsole


4.2.1 Login

In einem gewöhnlichen Linux-System gibt es sechs unabhängige Pseudo-Terminals. Man kann zwischen diesen durch gleichzeitiges Drücken von Alt und F1–F6 wechseln. Jedes Pseudo-Terminal erlaubt ein unabhängiges Einloggen. Das Mehrbenutzersystem ist eine großartige Unix-Eigenschaft und sehr suchterzeugend.

Es ist unter Unix eine gute Angewohnheit, sich für die meisten Arbeiten als normaler Nutzer anzumelden. Ich muss zugeben, dass ich den Administrationszugang (root) öfters als nötig der Einfachheit halber und aus Schlamperei verwendete.

Nun verwende ich regelmäßig einen gewöhnlichen Zugang mit den Kommandos sudo, super oder su -c um begrenzten root-Zugang zu erhalten.


4.2.2 Hinzufügen eines neuen Nutzers

Nach der Systeminstallation richte ich gewöhnlich einen normalen Nutzerzugang ein. Ist der Nutzername "pinguin", so wird

     # adduser pinguin

ihn erzeugen.

Ich nutze das vigr-Kommando, um /etc/group wie folgt zu editieren:

     adm:x:4:admin
     src:x:40:admin, debian, ...
     ...

Im standardmäßig installierten System, können Mitglieder der adm-Gruppe viele Logdateien in /var/log/ lesen und xconsole nutzen. Der staff-Gruppe gehört /home an, was den Mitgliedern das Verwalten von Nutzerzugängen erlaubt. Der src-Gruppe gehört /usr/src/ an, was zur Kernelkompilation, etc. genutzt wird. Für die offizielle Bedeutung von Nutzern und Gruppen vergleichen Sie Nutzer und Gruppen.

Ich persönlich verwende die adm-Gruppe für Nutzer, die administrative Aufgaben erfüllen und das exklusive su-Privileg haben (vergleichen Sie "Warum GNU su nicht die wheel Gruppe unterstützt", Abschnitt 9.2.2) und src für CVS (siehe Concurrent Versions System (CVS) – System für simultane Versionen, Abschnitt 12.1).

Überprüfen Sie adduser, addgroup, vipw, vipw -s, vigr und vigr -s für die korrekte Konfiguration von Nutzern und Gruppen.


4.2.3 Wie man den Rechner herunterfährt

Wie nahezu jedes moderne Betriebssystem, das Dateien im Speicher zwischenspeichert, muss Linux richtig heruntergefahren werden, bevor der Rechner ausgeschaltet werden kann. Das entsprechende Kommando im Mehrbenutzerbetrieb ist:

     # shutdown -h now

Im Einzelnutzermodus ist

     # poweroff -i -f

zu verwenden. Warten Sie bis das System "System halted" ausgibt und schalten Sie danach aus. Wenn APM im BIOS und Linux aktiviert ist, schaltet sich der Rechner selbstständig aus. Man vergleiche Großer Speicher und automatisches Abschalten, Abschnitt 3.8.4 für Details.


4.2.4 Kommandozeilenbasiertes Editieren

Die Standard-Shell bash besitzt einige Fähigkeiten zur Bearbeitung von alten Eingaben (der History). Benutzen Sie einfach die Cursor-auf Taste um alte Eingaben zurückzuholen und danach wie üblich die Cursor-Tasten. Andere wichtige Tastenkombinationen sind:

     Strg-U:             Lösche die Zeile bis vor den Cursor
     Strg-D:             Beende die Eingabe
     markieren mit linker Maustaste:
                         Auswahl in die Zwischenablage kopieren (gpm)
     mittlere Maustaste: Einfügen der Zwischenablage an der
                         Cursorposition (gpm)
     Strg-V TAB:         Eingabe eines Tabulators ohne Expandierung.

In einer normalen Linux Konsole funktioniert nur die linke Strg-Taste wie erwartet.


4.2.5 Kommandoausführung

Ein typisches Kommando wird durch die folgende Shell-Zeile ausgeführt:

     $ LC_ALL=de ls -la

Hier wird das Programm ls im Vordergrund ausgeführt, mit der für Deutsch auf de gesetzten Umgebungsvariablen LC_ALL. -la ist das Kommandozeilen-Argument und bewirkt eine detaillierte Ausgabe. Wird die Kommandozeile mit dem &-Zeichen abgeschlossen, so wird das Kommando im Hintergrund ausgeführt. Dies ermöglicht es Nutzern, mehrere Programme in einer einzigen Shell zu starten.

Die Ausführung des Kommandos kann durch folgende Tastenkombinationen beeinflusst werden.

     Strg-C:          Beenden des Programms
     Strg-Z:          Temporäres Unterbrechen des Programms
     Strg-S:          Unterbrechen der Bildschirmausgabe
     Strg-Q:          Ausgabe wieder aktivieren
     Strg-Alt-Entf:   Neustarten/Beenden des Systems (siehe /etc/inittab)

Für das Management der Programmausführung vergleiche bash(1) für jobs, fg, bg und kill.


4.2.6 Die grundlegensten Kommandos zur Erinnerung

Die folgenden Kommandos sind für Unix-Systeme fundamental:

     ls, ls -al, ls -d, pwd, cd, cd ~Benutzer, cd -, 
     cat /etc/passwd, less, bg, fg, kill, killall, 
     uname -a, type Kommandoname, sync, netstat,
     ping, traceroute, top, vi, ps aux, tar, zcat, 
     grep, ifconfig, ...

Sie können mehr über diese Kommandos herausfinden, indem Sie sie in der Kommandozeile oder nach man bzw. info eingeben. Viele Linux Kommandos geben eine kurze Meldung zur Benutzung aus, wenn sie mit einer der folgenden Methoden gestartet werden:

     $ Kommandoname --help
     $ Kommandoname -h

whatis Kommandoname gibt eine einzeilige Zusammenfassung zu jedem Kommando mit einer Handbuchseite auf dem System aus.


4.2.7 Das X-Window-System

Das X-Window-System lässt sich von der Konsole mit

     # exec startx

starten. Ein Rechtsklick auf den Hintergrund bringt eine Menüauswahl zum Vorschein.


4.2.8 Wichtige Tastaturkommandos

Einige bedeutende Tastenkombinationen für die Linux-Konsole sind ("Plus", "Minus" beziehen sich auf den numerischen Ziffernblock):

     Alt-F1 bis F6:       Wechsel auf anderes Pseudo-Terminal
     Strg-Alt-F1 bis F6:  Wechsel auf anderes Pseudo-Terminal
                          (aus X-Windows, DOSEMU, etc.)
     Alt-F7:              Wechsel zu X-Windows
     Strg-Alt-Minus:      Ändern der Auflösung in X-Windows
     Strg-Alt-Plus:       Ändern der Auflösung in X-Windows (umgekehrte
                          Reihenfolge)
     Strg-Alt-Rücktaste:  Beenden des X11-Server-Programms
     Alt-X, Alt-C, Alt-V: In üblichen Windows/Mac-Tastenkombinationen
                          zum Ausschneiden, Kopieren und Einfügen wird
                          die Strg-Taste durch Alt in einigen
                          Programmen wie Netscape Composer ersetzt.

4.3 Midnight Commander (MC)

Der Midnight Commander (MC) ist ein GNU "Schweizer Armeemesser" für die Linux-Konsole und andere textbasierte Umgebungen.


4.3.1 Installation von MC

     # apt-get install mc

Danach sollten Sie ~/.bashrc (oder /etc/bash.bashrc, was von .bashrc verwendet wird) entsprechend der Handbuchseite mc(1) unter -P ändern. Dies bewirkt eine Änderung des Arbeitsverzeichnisses von MC beim Beenden.

Befindet man sich in einem Terminal wie z.B. kon oder Kterm für japanische Unterstützung, das verschiedene graphische Zeichen unterstützt, so hilft eventuell das Hinzufügen von -a zu MCs Kommandozeile bei Problemen.


4.3.2 Starten von MC

     $ mc

MC bietet für alle Dateioperationen Menüpunkte an, so dass nur minimaler Aufwand nötig ist.


4.3.3 Dateimanager

Standardmäßig gibt es zwei Verzeichnisansichten mit Dateilisten. Ein anderer nützlicher Modus ist das Setzen des rechten Fensters auf "Info", um Dateizugriffsrechte und andere Informationen zu sehen. Es folgen einige wichtige Tastenkombinationen. Mit einem laufenden gpm-Daemon kann man auch die Maus nutzen. (Stellen Sie sicher, dass Sie die Shift-Taste drücken, um das normale Verhalten von Entfernen und Einfügen im MC zu erhalten.)


4.3.4 Kommandozeilen-Tricks


4.3.5 Editor

Der interne Editor besitzt ein interessantes Entfernen-und-Einfügen-Schema. Drücken von F3 markiert den Start einer Auswahl, ein zweites F3 markiert das Ende der Auswahl und hebt diese hervor. Danach kann man den Cursor bewegen. Beim Betätigen von F6 wird der hervorgehobene Bereich an die Cursorposition verschoben. Drückt man F5, so wird der ausgewählte Bereich an die aktuelle Cursorposition kopiert und eingefügt. F2 sichert die Datei und F10 beendet den Editor. Die meisten Cursortasten funktionieren wie üblich.

Dieser Editor kann direkt mit einer Datei aufgerufen werden:

     $ mc -e Datei
     $ mcedit Datei

Es handelt sich nicht um einen Mehr-Fenster-Editor, aber man kann mehrere Linux-Konsolen nutzen, um den selben Effekt zu erreichen. Um zwischen Fenstern zu kopieren, sind die Alt-Fn Tasten zum Wechseln der virtuellen Konsole und "Datei->Datei einfügen" oder "Datei->In Datei kopieren" zum Verschieben eines Teils einer Datei in eine andere zu verwenden.

Dieser interne Editor kann durch einen beliebig anderen externen Editor ersetzt werden.

Viele Programme nutzen die Umgebungsvariable EDITOR oder VISUAL um zu bestimmen, welcher Editor zu verwenden ist. Sollten Sie mit vim nicht vertraut sein, setzen Sie diese auf mcedit, indem Sie folgende Zeilen zu ~/.bashrc hinzufügen:

     ...
     export EDITOR=mcedit
     export VISUAL=mcedit
     ...

Ich empfehle, diese wenn möglich auf vim zu setzen. Die Verwendung der vi(m)-Kommandos ist das richtige Vorgehen, da sie stets in einer Linux/Unix-Umgebung zu finden sind.


4.3.6 Dateibetrachter

Dies ist ein guter Viewer und prima dazu geeignet, Wörter in Dokumenten zu suchen. Ich nutze dies immer für Dateien im /usr/share/doc-Verzeichnis. Dies ist der schnellste Weg, um sich einen Überblick über die mehr als umfangreiche Linux-Dokumentation zu verschaffen. Der Dateibetrachter kann direkt mittels

     $ mc -v Datei

gestartet werden. (Es ist zu beachten, dass einige Pakete die Regeln verletzen und ihre Dokumentation noch unter /usr/doc/ ablegen.)


4.3.7 Auto-Start-Eigenschaften

Drückt man Enter für eine Datei, so wird ein entsprechendes Programm den Inhalt der Datei verarbeiten. Dies ist eine sehr nützliche Eigenschaft von MC.

     ausführbare Dateien:  Kommando ausführen
     man, html Dateien:    Darstellen des Inhalts mit Dateibetrachter
     tar, gz, rpm Dateien: Inhalt als Unterverzeichnis einblenden

Damit diese Eigenschaften funktionieren, dürfen betrachtbare Dateien nicht ausführbar sein. Ihr Status kann mittels des chmod-Kommandos und dem Dateimenü von MC geändert werden.


4.3.8 Virtuelles FTP-Dateisystem

MC kann zum Zugriff auf Dateien übers Internet mittels FTP genutzt werden. Aktivieren Sie mittels F9 das Menü und drücken Sie dann `p' für das virtuelle FTP-Dateisystem. Eine URL wird in der Form Benutzername:Passwort@hostname.domainname eingegeben und MC stellt daraufhin das entfernte Verzeichnis wie ein lokales dar.


4.4 Grundlagen des GNU/Linux-Dateisystems

Jede Datei und jedes Verzeichnis eines GNU/Linux-Systems ist mit einem Nutzer verknüpft, der sie/es besitzt und einer Gruppe, zu welcher sie/es gehört. Alle Dateiinformationen werden in einem Inode genannten Datensatz gespeichert.


4.4.1 Zugriffsrechte von Dateien und Verzeichnissen

Die Zugriffsrechte von Dateien und Verzeichnissen sind separat für die folgenden drei Nutzerkategorien definiert:

Bei Dateien sind je folgende Rechte möglich:

Für Verzeichnisse sind je folgende Rechte möglich:

Das ausführbar-Recht des Verzeichnisses bezieht sich nicht nur auf das Lesen von Dateien im entsprechenden Verzeichnis, sondern auch auf das Bestimmen der Attribute wie Größe und Modifizierungszeit.

Um diese und einige andere Informationen zu Dateien und Verzeichnissen zu erhalten, kann ls genutzt werden. Vergleiche ls(1). Wird ls mit der -l-Option gestartet, so werden die folgenden Informationen in der folgenden Reihenfolge angezeigt:

Um den Besitzer einer Datei zu ändern, wird chown von root genutzt. Vergleiche chown(1). Zum Ändern der Gruppe einer Datei, wird chgrp vom Besitzer der Datei oder root verwendet. Vergleiche chgrp(1). Das Ändern der Zugriffsrechte von Dateien oder Verzeichnissen erfolgt mit chmod durch den Dateibesitzer oder root. Vergleiche chmod(1).

Um z.B. einen Verzeichnisbaum dem Nutzer nutzer und der Gruppe gruppe zuzuordnen, ist als root Folgendes auszuführen:

     # cd /Pfad/zum/Verzeichnis
     # chown -R nutzer:gruppe .
     # chmod -R ug+rwX,o=rX .

Es gibt drei weitere spezielle Zugriffsbits:

Hier werden in der Ausgabe von ls -l diese Bits großgeschrieben, wenn die ausführbar-Bits, die in der Ausgabe nicht mit dargestellt werden können, nicht gesetzt sind.

Das Setzen der set user ID einer ausführbaren Datei, erlaubt es einem Nutzer, die Datei mit den Rechten und der ID des Besitzers der Datei auszuführen (z.B. root). Ähnlich erlaubt das Setzen des set group ID-Rechts einer ausführbaren Datei, dass diese mit der Gruppen-ID und den Gruppenrechten der Datei (z.B. root) gestartet wird. Dies kann zu Sicherheitsproblemen führen, deshalb erfordert das Setzen dieser Bits spezielle Vorsicht.

Setzen der set group ID eines Verzeichnisses aktiviert das BSD-artige Dateierzeugungs Schema, bei welchem alle im Verzeichnis erstellten Dateien der Gruppe group des Verzeichnisses angehören.

Das Setzen des Sticky Bits eines Verzeichnisses verhindert das Entfernen einer Datei im Verzeichnis durch einen Nutzer, der nicht der Besitzer ist. Um den Inhalt einer Datei in einem für alle oder auch für Gruppenmitglieder schreibbaren Verzeichnis wie /tmp zu sichern, genügt es nicht das schreibbar-Recht der Datei zu entfernen, sondern es muss auch das Sticky Bit des Verzeichnisses gesetzt werden. Andernfalls kann die Datei entfernt werden und eine neue Datei mit gleichem Namen durch andere Nutzer mit Schreibrechten im Verzeichnis angelegt werden.

Es folgen einige interessante Beispiele für Zugriffsrechte von Dateien.

     $ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd
     crw-rw----    1 root    dip   108,   0 Jan 18 13:32 /dev/ppp
     -rw-r--r--    1 root    root      1051 Jan 26 08:29 /etc/passwd
     -rw-r-----    1 root    shadow     746 Jan 26 08:29 /etc/shadow
     -rwsr-xr--    1 root    dip     234504 Nov 24 03:58 /usr/sbin/pppd
     $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src
     drwxrwxrwt    4 root    root      4096 Feb  9 16:35 /tmp
     drwxrwsr-x   10 root    staff     4096 Jan 18 13:31 /usr/local
     drwxrwsr-x    3 root    src       4096 Jan 19 08:36 /usr/src
     drwxrwsr-x    2 root    mail      4096 Feb  2 22:19 /var/mail
     drwxrwxrwt    3 root    root      4096 Jan 25 02:48 /var/tmp

4.4.2 Zeitmarken

Es gibt drei Arten von Zeitmarken für GNU/Linux Dateien:

Es ist zu beachten, dass ctime nicht der Zeitpunkt der Dateierzeugung ist.

Beachten Sie, dass selbst ein einfacher Lesezugriff auf eine Datei in einem GNU/Linux-System normalerweise eine Schreiboperation erfordert, um die atime-Zeit in der Inode anzupassen. Das Mounten eines Dateisystems mit der noatime-Option unterlässt dies und beschleunigt den Dateizugriff beim Lesen. Vergleiche mount(8).


4.4.3 Links

Es gibt zwei Methoden, um eine Datei foo mit einem anderen Dateinamen bar zu verknüpfen.

Man vergleiche das folgende Beispiel für Änderungen der Anzahl der Links und die feinen Unterschiede beim Anwenden des rm-Kommandos.

     $ echo "ursprünglicher Dateiinhalt" > foo
     $ ls -l foo
     -rw-r--r--    1 osamu    osamu           4 Feb  9 22:26 foo
     $ ln foo bar     # hard link
     $ ln -s foo baz  # symlink
     $ ls -l foo bar baz
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 bar
     lrwxrwxrwx    1 osamu    osamu           3 Feb  9 22:28 baz -> foo
     -rw-r--r--    2 osamu    osamu           4 Feb  9 22:26 foo
     $ rm foo
     $ echo "neuer Dateiinhalt" > foo
     $ cat bar
     ursprünglicher Dateiinhalt
     $ cat baz
     neuer Dateiinhalt

Alle symbolischen Links haben die Dateizugriffsrechte "rwxrwxrwx" wie im obigen Beispiel gezeigt und deren Zugriffsrechte werden durch die Datei auf die sie zeigen diktiert.

Das Verzeichnis . verweist auf das Verzeichnis in dem es sich befindet, die Anzahl der Links für ein neues Verzeichnis beginnt bei 2. Das Verzeichnis .. verweist auf das übergeordnete Verzeichnis, die Anzahl der Links eines Verzeichnisses erhöhen sich mit dem Erzeugen neuer Unterverzeichnisse.


4.5 Weiterführende Informationen

Es gibt viele gute Referenzen zum Einstieg in Unix. O'Reilly's Bücher sind gewöhnlich gute Anleitungen für alle Computerthemen. Das LDP-Dokument Linux Tipps HOWTO ist eine andere nützliche Informationsquelle. Man vergleiche Unterstützung für Debian, Kapitel 15 für weitere Ressourcen.


[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ] [ 14 ] [ 15 ] [ A ] [ weiter ]


Debian-Referenz

CVS, Don 18. Jan 2007, 11:52:59 UTC

Osamu Aoki osamu#at#debian.org
Übersetzer: Jens Seidel tux-master#at#web.de
Autoren, Abschnitt A.1