Ersties Linux Unix

Aus FS-MNI-Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Linux allgemein

73af51d43b7c04a2ebcb4f7a9d0a3bdb.png
(Quelle: Wikipedia (http://de.wikipedia.org/wiki/Linux_Distributionen )

Verzeichnisse

Name Beschreibung
. aktuelles Verzeichnis
.. übergeordnetes Verzeichnis
/bin Anwendungen
/boot Wichtige Dateien zum booten (Kernel, Bootmanager)
/dev Gerätedateien
/etc Konfigurationsdateien (Einstellungen für das System)
/home Home-Verzeichnisse der Benutzer
/lib library
/mnt In manchen Distributionen der Ordner, wo Laufwerke gemountet werden (siehe /media)
/media In manchen Distributionen der Ordner, wo Laufwerke gemountet werden (siehe /mnt)
/opt - Optionale Programme
/proc Verzeichnis für das laufende System (Kernel). Dieses Verzeichnis ist sehr Interessant für die Betriebssystem-Vorlesung.
/root Homeverzeichniss vom Benutzer root
/sbin Systemtools (für den root vorbehalten)
/tmp Temporärer ordner
/usr unix system resources
/var Variable - Veränderliche Daten z.B. log-dateien

Shell

Ohne die Shell (Konsole) geht unter Linux gar nix!! Es gibt mehrere möglichkeiten, mit der Shell zu arbeiten: z.B.:

  • xterm
  • gnome-terminal (unter Gnome)
  • konsole (unter KDE)
  • Virtual Terminals (erreichbar mit [Strg]+[Alt]+[F1-F6])

Im Prinzip stellen sie alle die gleichen Funktionen zur Verfügung, aber die Anwendungen sind Geschmackssache.

ACHTUNG: Bei älteren ATI-Treibern kann es zu einem Absturz des Treibers kommen, wenn man auf die konsole wechselt.


Befehle

Einige Befehle unter der Konsole. Um die eingabe zu verkürzen, oder um Befehle ähnlichen Namens anzuzeigen drückt man die [Tab]-Taste. Also z.B. lsu [Tab] => lsusb; ls [Tab] => Listet alle befehle auf, die mit ls anfangen.

  • cd
'cd [Pfad]' wechselt das Verzeichniss zu [Pfad]
  • ls
Listet den Inhalt des Ordners auf
'ls [Pfad]' listet den inhalt von [Pfad] auf
  • ps aux
Listet alle momentanen Prozesse auf. Mit der erweiterung '| grep [Programm]' kann man auch nach einem bestimmten Programm und muster suchen. z.B.: 'ps aux | grep kde'
  • kill [-9] [PID]
Killt den durch die Prozesskennung (PID) angegebenen Prozess. Lässt er sich nicht abschiessen hilft unter Umständen "kill -9 pid".
  • sudo [Befehl]
Führt den [Befehl] nach eingabe des Passworts als root aus.
  • reboot/halt
Startet den Rechner neu / fährt den rechner runter

Die Optionen '-h' oder '--help' zeigen kurze Infos zu dem Befehl. Mit 'man [Befehl]' erhält man die Man-Page zu [Befehl] z.B. 'man ls' (verlassen von man mit q)

Nützliche Programme

  • mc
Midnight Commander - Ein Konsolenexplorer mit zwei Spaltenansicht
  • nano
Einfacher Editor für die Konsole
  • wpa_supplicant
WLAN unter der Konsole
  • lynx
Web-Browser

Programmierung

Das folgende Skript führt in allen Verzeichnissen (die in ~/Daten/SVN/ liegen) ein svn update aus.

#!/bin/bash

# Ort der SVN-Verzeichnisse
SVN_PATH="$HOME/Daten/SVN"

# Speichert die Ausgabe vom Programm pwd
# also: das aktuelle Verzeichnis
WORKINGDIR=`pwd`

# Funktion die ein svn update ausführt.
do_update() {
        svn update .
}


# Schleife aller Dateien.
# x ist pro Schleifendurchgang eine
# andere Datei.

for x in `ls $SVN_PATH`
do
 # Prüfe, ob es ein Verzeichnis ist.
 if [ -d ${SVN_PATH}/${x} ]
 then
   # Wenn es ein Verzeichnis ist,
   # gehe in das Verzeichnis
   cd ${SVN_PATH}/${x}
   # Zeige Verzeichnisname an
   pwd 
   # Macht ein Funktionsaufuf
   do_update
 fi
done

# Gehe in das alte Verzeichnis
cd $WORKINGDIR

Programm auführen:

username@pc:~$ sh bin/svn-update.sh
/home/username/Daten/SVN/FH-DB2
Revision 72.
/home/username/Daten/SVN/FH-NPP
Revision 32.
/home/username/Daten/SVN/FH-SPP
Revision 109.

.bashrc - die BASH anpassen

Gerade für Windows-Umsteiger ist es oft lästig, Befehle in ihrer kompletten Form eingeben zu müssen. Prominentestes Beispiel hierfür das etwas unhandliche "cd .." mit Leerzeichen. Um sich seine eigenen Befehle festzulegen gibt es die Datei .bashrc im home-Directory. Folgende Zeile ersetzt das "cd .." automatisch durch das gewohnte "cd..":

alias cd..="cd .."

Einige weitere Bespiele:

alias ll="ls -l"  #Abkürzung für ListLong, also eine ausfühliche auflistung
alias la="ls -a"  #Abkürzung für ListAll, es werden also alle Dateien angezeigt
alias cls="clear" #Clear Screen für mehr übersicht

Ein wichtiger Bestandteil der Konsolenumgebung ist die $PATH Variable, in ihr wird gespeichert, welche Ordner nach ausführbaren Dateien durchsucht werden sollen. Fügt man den Befehl "export $"PATH"="pfad":$"PATH" in der .bashrc ein kann man z.B. Userscripte im Homeverzeichnis leicht verfügbar machen. Dabei kann man natürlich auch auf andere Variablen zurückgreifen, hier z.B. $HOME:

export PATH="$HOME/.lokaleSoftware:$HOME/.lokaleSoftware/bin:$HOME/script:$PATH"

Die Auto-Vervollständigung von Befehlen lässt sich über die Tab-Taste nutzen, zum Beispiel um einen langen Pfad- oder Dateinamen nicht komplett eintippen zu müssen. Es wird immer so weit vervollständigt, wie sicher ist, dass die Zeichenfolge gemeint ist. Enthält ein Ordner nur einen Unterordner bringt die Tab-Taste sofort den kompletten Namen. Unterscheiden sich die Namen zweier Ordner nur im Letzten Zeichen wird bis zum vorletzten Zeichen vervollständigt usw. Das etwas lästige Piepen lässt sich über folgenden Eintrag in der .bashrc deaktivieren:

set 'bind bell-style none'

Installation

Packages

Ist abhängig von der Distribution.

Source-Code (tar.gz)

Das installieren geht prinzipiell immer nach dem gleichen schema. Voraussetzung ist immer, das gcc, make etc. vorhanden sind, sonst kann ein Programm nicht kompiliert werden. Wenn es keine Abweichungen gibt, gilt immer dieser Dreisatz:

  • ./configure
  • make
  • sudo make install

Bei abweichungen bitte in der README oder INSTALL Datei im selben ordner nachlesen. Manche Programme werden z.B. mit gmake und gmake install kompiliert, oder es gibt ein install-skript.

Konfiguration

Mounten

- um FAT32 Dateisysteme zu mounten muss das Dateisystem vfat angegeben werden Wenn Dateisysteme im Kernel nur als Module vorhanden sind, müssen diese vorher geladen werden, da das system das jeweilige Dateisystem noch nicht unterstützt.

Manuelles Mounten

Mounten kann nur der Benutzer root, es sei denn, die rechte werden in der fstab geändert.

mount [dev] [ordner] 

Bsp:

mount /dev/hda5 /media/myfiles -t vfat

weitere Hilfe:

man mount

Automatisches Mounten

Laufwerke, die beim automatisch gemountet werden sollen, stehen in der datei /etc/fstab

#dev-Pfad  Ordner        Filesystem  Optionen    ??  reihenfolge von fsck beim booten
/dev/hda5 /media/myfiles vfat        uid=1000    0   2
/dev/hda3 /home          ext3        defaults    0   2
/dev/hdb  /media/cdrom0  udf,iso9660 user,noauto 0   0

die Option noauto besagt, dass das device nicht beim booten gemountet wird. Wenn man aber, wie in diesem falle eine CD einlegt kann man als normal-User dieses Device mounten. weitere hilfe:

man fstab

X11

X ist die Grafische Schnittstelle in Linux zwischen dem eigentlichen System und dem Fenstermanager. X ist über Konfigurationsdateien frei Konfigurierbar und (wie ich letztens feststellen musste :D) "Netzwerktransparent". Das bedeutet, das du dich über ssh auf einem remote Rechner ein Programm startest, dieses aber auf deinem Rechner dargestellt wird. Weiter unter HOWTO SSH-Tunnel

KDE

Die KDE (K Desktop Environment) ist eine von mehreren Grafischen Oberflächen unter Linux

Weitere INFOS: http://de.wikipedia.org/wiki/Kde

Den ausführen-Dialog erhält man nach drücken der Tastenkombination [Alt]+[F2]. Hier eine Liste nützlicher Programme:

  • kdcop
Öffnet ein Fenster, wo zu den meisten Optionen eines Programms die Aktionen stehen, welche man z.B. einer Tastenkombination zuweisen kann.
  • kcontrol
Öffnet das Kontrollzentrum von KDE
  • konsole
Öffnet die konsole
  • knetworkmanager
Ein Netzwerkmanager für KDE zum Verwalten von Drahtlosen netzen und

Konqueror: (In der Adresszeile)

  • smb:/
Zeigt die Arbeitsgruppen im Netzwerk an (Windows-Netzwerk und Samba)
  • man:/
Zeigt die manpage von Befehlen im Konqueror an z.B. man:/ls

Beryl

Beryl ist eine weiterentwicklung von Compiz. Compiz wurde ursprünglich für Gnome entwickelt. Mit Beryl, welches auf AIGLX, bzw. XGL bassiert, ermöglicht visuelle effekte und "Echte" Tranzparentz der Fenster. So kann man z.B. Fenster Transparent machen, so das man die Fenster dahinter sehen kann. Beryl ist KEINE eigenständige Oberfläche, sondern nur ein Fenstermanager, der die Fenster zeichnet.

Wer glücklicher besitzer einer NVidia grfaikkarte ist, brauch in der xorg.conf nur noch den 'composite' auf enable stellen. Bei ATI Grafikkarten muss man zusätzlich den Xgl-Server installieren, um Beryl laufen zu lassen. Ich habe mal ein HOWTO für ATI Grafikkarten geschrieben.

Netzwerk

SSH

SSH (Secure Shell) ist eine sichere methode eine Verschlüsselte verbindung zu einem anderen Rechner aufzubauen.

Ausführliche Infos: http://de.wikipedia.org/wiki/Ssh

Seite aus dieser WIKI: HOWTO SSH-Tunnel

VNC über SSH-Tunnel

ssh -C -N -L [NeuerPort]:localhost:[VNC-Port] [IP oder dns nach host]
krdc vnc:/localhost:[neuerport]

Bsp:

ssh -C -N -L 10100:localhost:4500 user@XXX.dyndns.org
krdc vnc:/localhost:10100

Jetzt das ganze in einem Befehl, um z.B. ein Shortcut im KMenu oder ähnlich zu erstellen:

xterm -e ssh -f -C -N -L 10100:localhost:4500 user@XXX.dyndns.org && krdc -s -m vnc:/localhost:10100

Samba

Samba verwaltet unter Linux den Zugriff auf ein Windows Netzwerk.

Die Konfiguration lässt sich über die verschiedenen Kontrollzentren machen, z.B. kcontrol bei KDE, oder es lässt sich mannuell über die smb.conf einrichten, was effektiver aber auch schwerer ist.

Hier eine Beispieldatei:

[global]
workgroup = ARBEITSGRUPPE
server string = RECHNER-BESCHREIBUNG
net biosname = RECHNER-NAME

log file = /var/log/samba/log.%m

guest account = gast
invalid users = root

[netzordner]
path = /home/net
comment = Tauschen
browseable = yes
writeable = yes
guest ok = yes

Mit Samba ist es auch möglich, einen PDC (Primary Domain Controller) für Windows aufzusetzen.

Siehe auch:

  • man smb.conf
  • man samba

Externe Links

Linux: Foren:
http://www.kernel.org http://www.linuxforen.de
http://www.samba.org
http://www.kde.org
http://www.kde-apps.org
http://www.lugg.de

Hier könnt Ihr aktuelle Dokumentationen und Tips finden, wie Ihr euch im Raum von Linux und Unix zurechtfinden könnt.

HOWTOS

externe Dokumentationen

Tips für SuSE-User

Packman als Installationsquelle in Yast

SuSE verzichtet bei Installation von CD und DVD wegen rechtlicher Bedenken auf ein paar interessante Sachen aus dem Multimedia-Bereich. Die Version 10.0 hat zum Glück wieder etwas weniger Beschränkungen als die 9.3, aber auch hier fehlen Pakete.

Um die Multimedia-Fähigkeiten von SuSE richtig nutzen zu können, sollte man bei der Version 9.3 zunächst ein online-update durchführen und die Multimedia-Packs 1 und 2 (nach Belieben auch noch 3 und 4) installieren. Auf jeden Fall sollte man wie unter http://linux-club.de/viewtopic.php?t=9039 beschrieben den PACKMAN als Installationsquelle hinzufügen. Das geht so:

  1. "YaST" Starten
  2. "Software" > "Installationquelle wechseln" auswählen
  3. "Hinzufügen" > "HTTP..." Auswählen
  4. Bei "Servername" tragt ihr bitte "packman.iu-bremen.de" ein
  5. Bei "Verzeichnis" bitte "suse/9.3" oder "suse/10.0" eintragen.

Und schon könnt ihr z.B. eine unbeschränkte Version der libxine oder die win32 codecs nachinstallieren. Damit laufen dann auch so ziemlich alle aktuellen Videos.