Linux

From Wiki RB4
Revision as of 22:01, 25 September 2007 by UweHeuer (talk | contribs) (New page: ==Programme und Prozesse== Bei einem Programm bzw. Kommando handelt es sich um eine ausführbare Datei. Prozesse laufen entweder im Vorder- oder Hintergrund. Durch den Parameter '''&''' w...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Programme und Prozesse

Bei einem Programm bzw. Kommando handelt es sich um eine ausführbare Datei. Prozesse laufen entweder im Vorder- oder Hintergrund. Durch den Parameter & werden sie im Hintergrund ausgeführt. Durch CTRL + Z wird ein Programm angehalten. Jeder Prozess hat eine eindeutige Nummer, die PID und eine Eltern PID. init ist das erste Programm, das nach dem Laden des Kernels ausgeführt wird. Prozesse haben einen Status: R Running S Sleeping T Stopped


Dämonen

Als Dämonen werden Hintergrundprozesse zur Systemverwaltung bezeichnet. Sie werden bereits während des Hochfahrens des Rechners im Rahmen des Init-V-Prozesses gestartet.


Cron

Cron ist ein Dämon zum automatischen Programmstart. Cron prüft jede Minute die crontab-Dateien und startet die dort angegebenen Programme. Die globale Konfiguration erfolgt über /etc/crontab. Bei fast allen gängigen Linux-Distributionen man die persönliche crontab verändern, indem man den Befehl crontab -e eingibt. Dann erscheint ein voreingestellter Editor (z.B vim) und zeigt u.U eine leere Datei, wenn noch keine crontab vorhanden ist. Die Datei einhält folgende Einträge in einer Zeile

Minute 0-59
Stunde 0-23
Tag 1-12
Wochentag 0-6, wobei 0 Sonntag ist
Befehl <Befehl> <Argument>

Mehrere Einträge werden durch ein Komma getrennt, * bedeutet egal

Hardware und Devices

Besondere Hardware wird ebenfalls als File behandelt und liegen unter /dev:

/cdrom CD-ROM-Laufwerk
/dsp* Digital Sampling Device (Soundkarte)
/fd* Floppy Disk
/hd<DiskLetter><PartitionNumber> IDE Hard Disk
/sd<DiskLetter><PartitionNumber> SCSI Hard Disk
/usb/* USB Geräte

Dateien und Verzeichnisse

Dateisysteme

NTFS

Die NTFS-Unterstützung ist bei den meisten Distributionen inkl. Suse mit dabei. Folgende Aktionen werden unterstützt:

  • lesen

Folgende Aktionen werden nicht unterstützt:

  • erzeugen
  • löschen
  • umbenennen


Dateinamen

Regeln zu Dateinamen:

  • Unter Linux dürfen Dateinnamen maximal 255 Zeichen lang sein.
  • Dateinamen sind case-sensitiv.
  • Am besten beschränkt man sich auf ASCII-Zeichen, weil Umlaute, etc. vom aktiven Zeichensatz abhängen.
  • Dateien, die mit einem Punkt beginnen, gelten als versteckte Dateien. Ansonsten hat der Punkt keine besondere Funktion.
  • Dateinamen mit Leerzeichen müssen mit Hochkommatas eingegeben werden

Wildcards bzw. Jokerzeichen

Für die Auswertung der Jokerzeichen ist die verwendetet Shell zuständig.

? ein belieges Zeichen
* beliebig viele beliebige Zeichen
[abc] genau eines der angegebenen Zeichen
[a-f] genau ein Zeichen aus dem Bereich
[

====abc]\\[^abc]|keines der angegebenen Zeichen===={| border=1 cellpadding=2 cellspacing=0 |-

|~ |Home-Verzeichnis |-

|. |aktuelles Verzeichnis |}

Zugriffsrechte

Mit jeder Datei bzw. jedem Verzeichnis werden folgende Informationen gespeichert:

  • Besitzer
  • Gruppe
  • neun Zugriffsbit (rwxrwxrwx für Read/Write/(Execute|Wechselerlaubnis) des Besitzer, aller Gruppenmitglieder, und den Rest der Welt)
  • einige Zusatzbits für Spezialfunktionen


Dateitypen und Extensionen

*.a static library
*.so shared library

Verzeichnisse

Linux unterstützt verschiedene verschiedene Dateisysteme, insbesondere ext2. Der Verzeichnisbaum beginnt im Wurzelverzeichnis /. Das aktuelle Verzeichnis wird mit . bezeichnet. Das HOME-Verzeichnis mit ~.


Links

Links sind Verweise auf Dateien. Durch Links kann von verschiedenen Orten in der Verzeichnisstruktur auf dieselbe Datei zugegriffen werden, ohne dass die Datei physisch mehrfach vorliegen muss. Links werden am einfachsten über ls –l angezeigt. Intern verweisen sie auf einen sogenannten I-Node. Symbolische Links könne über Grenzen physikalischer Platten verweisen. Oft werden Programme über unterschiedliche Links gestartet, die dann unterschiedlich reagieren. Innerhalb des Programms wird der Aufrufname überprüft, und die Funktionalität davon abhängig gemacht.


Verzeichnisstruktur

In der Regel haben Linux-Systeme folgende Struktur (s. 1 S. 223):

/bin enthält alle Linux-Kommandos zur Systemverwaltung, die von allen Benutzern ausgeführt werden können (s. auch /usr/bin).
/boot enthält alle Dateien, die zum booten notwendig sind
/dev enthält alle Device-Dateien
/etc enthält Konfigurationsdateiene für das ganze System. Die Dateien steuern das Hochfahren, die Tastaturbelegung…
/home enthält die Heimatverzeichnisse aller Linux-Anwender. root hat sein Heimatverzeichnis in /root.
/lib enthält einige gemeinsame Bibliotheken
/lost+found ist normalerweise leer. Enthält es Dateien, dann handelt es sich um Fragmente, die beim Versuch, das Dateisystem zu reparieren nicht mehr zugeordnet werden konnten.
/media Suse verwendet seit 7.2 media statt mnt. USB-Festplatten werden hier (zumindest wenn Sie nachträglich angeschaltet werden) gemountet.
/mnt enthält alle Unterverzeichnisse wie cdrom oder floppy. In manchen System erfolgt die Einbindung auch direkt unter root.
/opt enthält Zusatzpakete, die nachträglich installiert werden können.
/proc enthält Unterverzeichnisse für alle laufenden Prozesse.
/root enthält Dateien des Users root.
/sbin enthält Kommandos zur Systemverwaltung
/share enthält manchmal Dateien, die unabhängig vom Prozessor sind
/tmp temporäre Dateien
/usr es enthält alle Anwendungsprogramme, das X-System, die Quellocdes zu Linux, etc.. Alle Dateien sollten eigentlich read-only sein. Die Variablen Dateien sollten unter /var liegen.
/var enthält veränderliche Dateien.

Shells

Umgebungsvariablen werden mit einem $ präfixed. Ausgaben werden mit > umgeleitet. /dev/null stellt die Ausgabe im Nirwarna dar. Piping erfolgt durch |.


Shell Scripts

Ein Shell-Script ist also nichts anderes als eine Textdatei, in der Anweisungen für ein Programm, den Interpreter (bzw. die Shell) stehen. Die Script-Files müssen als executable (z.B. chmod 755) attribuiert sein.

Kommandos

Software-Installation

RPM

Software wird oft in Form von sogenannten Paketen zur Verfügung gestellt. Es gibt drei gängige Formate: das populärste von Red Hat entwickelte RPM-Format, das DEB-Format (Debian, etc.) und das TGZ-Format (Slackware). Zur Software-(De-)Installation kann man das Kommando rpm oder aber die Paketmanager der Distributionen (Red Hat: gnorpm, Mandrake: rpmdrake, SuSe: yast2) verwenden. Ein Linux Programm besteht aus einer Reihen von Dateien, die an den richtigen Ort kopiert werden müssen. Die erforderlichen Verwaltungsinformationen befinden sich im RPM-Paket. Sie helfen:

  • automatisch Veränderungen in bestehenden Files vorzunehmen.
  • alte Versionen zu ersetzen
  • Prüfung, ob alle Voraussetzungen erfüllt sind.

Bei der Installation werden dies Informationen in eine Datenbank eingetragen (/var/lib/rpm). Die meisten Paketen bestehen aus zwei Dateien: binäre Dateien im Verzeichnis RPMS und die Quellen im Verzeichnis SRPMS. Die Filenames haben in der Regel folgende Konvention: <packagename>-<version>-<rpm release>.src.rpm


rpm <Options> <Packagename> | <Filename> | ftp://<FTPServer>/<Filename>

RPM Options

entfernt ein Paket
s. –e
installiert das Paket am vorgegebenen Ort
s. –i
query
a [<Packagename>] listet alle Pakete oder testet, ob das Paket installiert ist
f <Filename> gibt das Paket zu der Datei aus
i <Packagename> genaue Beschreibung des Pakets
l <Packagename> listet alle Dateien zum Paket
p --requires <Packagename> listet alle Pakete und Bibliotheken, die für ein Paket liefert
p --requires <Packagename> listet alle Pakete und Bibliotheken, die für ein Paket notwendig sind
Installationsort
aktualisiert das Paket
s. –U
überprüft, ob irgendwelche Dateien der Originatinstallation verändert wurden

TAR

tar komprimiert nicht, sondern packt nur zusammen. tar <Options> <Archivname> TAR Options:

Inhalt des Archivs anzeigen
alle Dateien relativ zum aktuellen Verzeichnis installieren
in ein bestimmtes Verzeichnis installieren

SAMBA

Samba Client

/etc/samba/smbclient //<IP-Adresse>/<ShareName> -U <User> fragt nach dem Passwort und öffnet quasi eine shell, z.B. smbclient //192.10.10.10/C$ -U pe10a/opda /etc/samba/smbclient -U <User> -L <IP-Adresse> fragt nach dem Passwort und zeigt alle Devices an.


Benutzer- und Gruppenverwaltung

Linux verwaltet Benutzer bzw. User. Es gibt drei Typen von Usern:

  • Super-User alias Systemadministrator alias root (UID=0)
  • normale User (1 < UID < 500>
  • User für Domänen und Server-Dienste (499 < UID)

Die Liste aller User wird in der Datei /etc/passwd im Format login:password:UID:GID initial group:vollständigem Namen:Home-Verzeichnis:Shell gespeichert. Die UID dient zur Indentifizierung des Benutzers. Jeder User ist mindestens einer (initial bzw. primary group), möglicherweise aber mehreren Gruppen zugeordnet (supplement groups). Die Datei /etc/group enthält die Liste aller Gruppen im Format groupname:password:GID:user list. Die Angabe von usern in der user list ist nur dann notwendig, wenn die Zuordnung sich nicht aus /etc/passwd ergibt. Die Passwörter werden in der Datei /etc/shadow gespeichert.


Tools

Texteditor VIM

Vim entspricht dem VI. Texteingabe ist nur im Insert-Modus möglich. Die Eingabe der meisten Kommandos erfolgt im Complex-Command Modus, der mit : aktiviert wird.

a Insert-Modus nach dem Cursor
i Insert-Modus vor dem Cursor
u undo
ESC Insert-Modus verlassen
:w <Name> speichert den Text unter einem neuen Namen
:wq speichert und beendet den vim
:q

====|beendet den vim ohne zu speichern===={| border=1 cellpadding=2 cellspacing=0 |-

|:help |startet die Hilfe |-

|? oder / |Text rückwarts oder vorwärts suchen |-

|n |find again |}

lynx

Textbasierter Browser


W3M

w3m <URL>

Kommandos

H Hilfe Aufruf
rechte Maus Kontext Menü

WGET

Wget is a network utility to retrieve files from the Web using http and ftp, the two most widely used Internet protocols. It works non-interactively, so it will work in the background, after having logged off. The program supports recursive retrieval of web-authoring pages as well as ftp sites -- you can use wget to make mirrors of archives and home pages or to travel the Web like a WWW robot.

KDE

Bedienung

ALT + F2 Programm durch Eingabe eines Namens starten
CTRL + ALT + F1 Wechsel in die erste Textkonsole
CTRL + ALT + F7 Wechsel zu KDE-Desktop

Programme

kate

Editor


kedit

Editor


konquerer

Konsole

KDE-Variante von xterm


ksysguard

stellt die Systemleistungen grafisch dar


kwrite

Editor


Tips und Tricks

Rename Files

mv <OldName> <NewName>


Distribution und Version/Release ermitteln

s. files /etc/issue oder /etc/*release


Kernelversion ermitteln

s. file /proc/version


Literatur

  • Linux. Installation, Konfiguration, Anwendung; Michael Kofler;
  • SuSE Linux. System und Anwendungen im Überblick; Karl Deutsch;