Note: this wiki is no longer maintained. If you have any questions related to this wiki, please post them on the CrunchBang forums.

Übersetzungen dieser Seite?:

WIKI-DE VARIOUS Kurze Einführung in Linux

Dieser Artikel zeigt nicht Linux in seiner ganzen Tiefe, sondern soll eine schnelle und einfach zu verstehende Einführung in Linux sein. Es sollen Hauptunterschiede zu anderen Systemen und daraus resultierende Stolpersteine aufgezeigt werden.

Benutzerrechte

Linux ist im Gegensatz zu Windows als Mehrbenutzersystem konzipiert, d.h. Benutzer müssen von einander geschützt werden. Lisa möchte sicherlich nicht, dass Thomas ihre Dateien löschen kann und der Besitzer des Systems schläft sicher ruhiger, wenn er weiß, dass nicht jeder Benutzer nach Lust und Laune Software installieren kann, z.B. Viren. Dieser Schutz wird durch so genannte Benutzerrechte gewährleistet. Jede Datei hat 3 Sätze zu 3 Rechten: Lesen, Schreiben und Ausführen für den Besitzer, dessen Benutzergruppe und für jedermann. Wenn man also der einzige sein möchte, der eine Datei bearbeiten kann, aber alle sollen sie lesen können, dann ist das möglich.

Was bedeutet das in der Praxis?

Manchmal wird man nach einem Passwort gefragt, z.B. bei der Installation von Software. Denn als normaler Benutzer hat man für gewöhnlich nur Rechte, um Dateien im eigenen Home-Ordner zu ändern und Software wird meistens in einem anderen Teil des Systems installiert, für das man keine Schreibrechte hat. Die Lösung für dieses Problem besteht darin, sich zeitweilig entsprechende Rechte anzueignen - man ist dann als 'Root' (Besitzer des Systems) oder 'Super User' („Überbenutzer“) auf dem System unterwegs und ist in der Lage alles mit dem System zu tun. Diese Allmächtigkeit ist jedoch auch der Grund, weshalb man nicht ständig als Root unterwegs sein soll und bringt einiges an Verantwortung mit sich.

Super User Rechte erlangen / Als Root unterwegs sein

Man benötigt Super User Rechte hauptsächlich im Terminal. Um nicht ständig zwischen dem normalen Benutzerkonto und Root wechseln zu müssen, gibt es den Befehl 'sudo' (leicht zu merken als „Super User DO“). Dieser ermöglicht es einen einzelnen Befehl mit Root-Rechten ausführen zu lassen, z.B.:

sudo apt-get install firefox 

Dieser Befehl installiert Firefox mittels Paketverwaltungsanwendung apt-get.

Ein sehr ähnlicher Befehl ist 'gksu', welcher das gleiche tut, nur dass das Passwort nicht im Terminal, sondern mittels einer GUI-Anwendung abgefragt wird. Er wird häufig benutzt, um Programme mit grafischer Benutzeroberfläche (GUI) zu starten, z.B.:

gksu synaptic

Wenn man versucht ein Programm, welches Root-Rechte benötigt, als normaler Benutzer zu starten, wird man wahrscheinlich eine Fehlermeldung wie die folgende bekommen:

E: Could not open lock file /var/lib/dpkg/lock - open (13 Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

(Fehlermeldung von 'apt-get install')

Command 'synaptic' is available in '/usr/sbin/synaptic'
The command could not be located because '/usr/sbin' is not included in the PATH environment variable.
This is most likely caused by the lack of administrative priviledges associated with your user account.
bash: synaptic: command not found

(Fehlermeldung von Synaptic)

Wenn man 'sudo' benutzt, wird man um Passworteingabe gebeten. Während man nun das Passwort eingibt, bekommt man jedoch keine visuelle Rückmeldung - keine Sternchen oder Punkte, die eingegebene Zeichen darstellen sollen. Keine Sorge, das ist kein Fehler, sondern genau so beabsichtigt! Einfach das Passwort eingeben und mit Enter bestätigen. Wenn die Eingabe falsch war, bekommt man schon einen Hinweis.

Mit 'gksu' hingegen öffnet sich zum einen ein Dialogfenster für die Passwortabfrage und zu Anderen stellt es die einzelnen eingegebenen Zeichen verschleiert dar.

Manche Programme, die man aus dem Menü, mittels Tastenkürzel oder Autostart aufruft, benötigen ebenfalls Root-Rechte und müssen mittels vorangestelltem gksu aufgerufen werden. (NICHT sudo verwenden, da man damit kein Pop-Up zur Passworteingabe aufruft!)

Sudo oder Gksu?

Oft wird empfohlen immer 'sudo' zu verwenden, wenn ein Befehl Root-Rechte benötigt. Das ist im Allgemeinen ok, aber kann in bestimmten Fällen bei GUI-Anwendungen zu Problemen führen. Daher ist es ratsam einfach immer 'gksu' zu nutzen, wenn man einer Anwendung mit grafischer Oberfläche Root-Rechte verleihen möchte. Einzelheiten dazu kann man in diesem Artikel nachlesen: https://de.wikipedia.org/wiki/Sudo.

Paketverwaltung

Wenn man unter Windows Software installieren möchte, ist der gängige Weg meist dieser: man sucht im Internet nach der Software, lädt sich ein Installationspaket runter, führt dieses aus und folgt dem Installationsdialog. Unter Linux werden zentrale Softwarepaketquellen genutzt, in denen viele oft verwendete und beliebte Programme enthalten sind. Der Vorteil dieser Vorgehensweise ist, dass die Software getestet und an die jeweilige Linuxdistribution angepasst werden kann, um eine stabile und sichere Verwendung zu gewährleisten. Die Verbreitung von Viren ist auf diese Weise stark eingeschränkt. Außerdem können so eventuelle Abhängigkeiten eines Programms (andere Programme und Programmbibliotheken, auf die ein Programm aufbaut) automatisch mit bereitgestellt werden. Somit können auch Aktualisierungen für alle installierten Programme automatisch eingespielt werden, ohne für jedes einzelne Programm selbst nach neueren Versionen schauen zu müssen. Mittels einer Paketverwaltungsanwendung kann man in den Paketquellen nach Software suchen und diese installieren. Crunchbang nutzt dafür 'apt-get' und als grafische Oberfläche dafür 'synaptic'. Diese Werkzeuge sollte man als erstes nutzen, wenn man nach Software sucht, denn in den meisten Fällen wird man in den Quellen fündig und kann Software schnell und sicher installieren.

Installation mittels Synaptic

Synaptic findet man im Menü unter System → Synaptic Package Manager. Nachdem man sein Passwort eingegeben hat, öffnet sich das Hauptfenster. Im oberen Teil befindet sich ein Suchfeld, mit dem man nach bestimmten Paketen oder allgemeinen Beschreibungen wie „web browser“ suchen kann. Wenn man gefunden hat, was man braucht, klickt man mit der rechten Maustaste auf das entsprechende Paket und markiert „Zum Installieren vormerken“ („mark for installation“). Gegebenenfalls werden nun Abhängigkeiten angezeigt und automatisch zur Installation vorgemerkt. Nun kann man mit einem Klick auf „Anwenden“ („Apply“) die Installation einfach starten.

Installation mittels apt-get

Die Installation mittels apt-get im Terminal ist ebenso einfach:

sudo apt-get install firefox

Um nach einem Paket zu suchen, nutzt man folgenden Befehl:

apt-cache search web browser

Mehr zur Benutzung von apt-get folgt weiter unten.

Das System aktuell halten

Es ist äußerst ratsam, sein System aktuell zu halten. Damit schützt man sich nicht nur vor Sicherheitslücken, sondern kommt auch in den Genuss neuer Features. Alle Anwendungen, die über die Paketverwaltung installiert wurden, kann man darüber auch aktualisieren lassen, ohne sich über über jedes Programm einzeln informieren zu müssen.

Aktualisierung mittels Synaptic

Um das System über Synaptic zu aktualisieren startet man Synaptic und klickt im Hauptfenster als Erstes auf „Neu Laden“ („Reload“). Dadurch werden die neuesten Paketlisten heruntergeladen. Anschließend klickt man auf „Aktualisierungen vormerken“ („mark all upgrades“) und zum Schluss auf „Anwenden“ („Apply“).

Aktualisierung mittels apt-get

Um die Paketlisten zu aktualisieren nutzt man folgenden Befehl:

sudo apt-get update

Anschließend startet man das Update mit:

sudo apt-get upgrade

Das Terminal

Das Terminal (auch bekannt als „Shell“) kann man auf zwei Wege erreichen. Zum einen mittels eines Terminalemulators, welchen man aus dem Menü starten kann. Unter Crunchbang ist das standardmäßig Terminator. Der andere Weg ist der Wechsel in eine virtuelle Konsole mittels der Tastenkombination STRG+ALT+F1-F6. Mit STRG+ALT+F7 kann man wieder auf die grafische Oberfläche wechseln.

Unter Linux wird das Terminal bedeutend intensiver genutzt, als unter Windows. Das liegt daran, dass das Linux Terminal sehr mächtig ist und u. A. Anleitungen mit Terminalbefehlen eindeutig geschrieben werden können - unabhängig davon welche grafischen Programme auf dem System installiert sind. Auch in diesem Wiki findet man die meisten Anweisungen als Terminalbefehle. Folgendes Beispiel verdeutlicht den Zusammenhang: Vergleiche

sudo apt-get install firefox

mit

Öffne das Menü -> System -> Synaptic Package Manager, klicke auf die Suche, gib ein: "firefox", wähle "firefox" aus und klicke mit der rechten Maustaste darauf, dann wähle "Zur Installation vormerken" und klicke auf "Anwenden"

Mit beiden Anweisungen kann man Firefox installieren. Doch welche von beiden ist eindeutiger und lässt weniger Spielraum für Missverständnisse? Außerdem haben viele Systeme zwar apt-get installiert, aber nicht Synaptic (die grafische Paketverwaltung).

Das Terminal in fünf Minuten

Um es noch einmal zu sagen: Dieser Artikel ist nicht dafür gedacht Linux-Gurus hervorzubringen, sondern soll ein paar Grundlagen für den Umgang mit Linux vermitteln.

Zuerst ein kurzer Hinweis: '~' meint das Home-Verzeichnis des angemeldeten Benutzers - es ist eine Abkürzung für '/home/DEINBENUTZERNAME/'. Der Ordner ist dafür gedacht seine persönlichen Daten zu speichern. Außerdem legen Programme in diesem Ordner benutzerspezifische Konfigurationsdateien ab.

Die folgenden Befehle versteht man am besten, wenn man sie selbst ausprobiert.

cd und ls

Die beiden grundlegenden Befehle sind wahrscheinlich 'cd' und 'ls'. 'cd' bedeutet „change directory“ - „Wechsle das Verzeichnis“ und 'ls' steht für „LiSt“ und listet alle Dateien und Ordner im aktuellen Verzeichnis auf. Wenn man ein Terminal öffnet und 'ls' ausführt, sollte man den Inhalt seines Home-Verzeichnisses angezeigt bekommen.

>ls
>backup  Desktop  documents  downloads  images  music  PDF  tmp  videos

Verzeichnisse werden blau angezeigt, Dateien weiß und ausführbare Dateien grün.

Um mehr Informationen über den Inhalt des Verzeichnisses zu bekommen, nutzt man 'ls -l':

>ls -l
>drwxr--r--  3 user user 4.0K 29-10-2009 22:16 images
......

Man bekommt eine Menge Informationen:

drwxr--r--  3 user user 4.0K 29-10-2009 22:16 images

Als erstes kann man erkennen, dass es sich um ein Verzeichnis handelt („d“ für „directory“). Dann werden die Benutzerrechte angezeigt. Jeder kann das Verzeichnis lesen, aber nur der Besitzer kann es schreiben und ausführen (rwx → Read Write eXecute). Die Zahl danach gibt die Anzahl der Verweise auf das Verzeichnis an. Dann folgt der Besitzer und die Gruppe. 4.0K steht für die Größe des Objekts und zuletzt steht vor dem Namen der Zeitpunkt der letzten Änderung.

Eine weitere nützliche Option ist 'ls -a'. Hierbei erscheinen nun möglicherweise mehr Dateien, da mit dieser Option auch versteckte Dateien angezeigt werden. Dies sind Dateien, die mit einem Punkt '.' beginnen und standardmäßig ausgeblendet werden. Meistens sind das Konfigurationsdateien im Home-Ordner, z.B. “.conkyrc“. Außerdem werden eventuell Dateien angezeigt, die mit '~' enden. Diese haben nichts mit dem Home-Ordner zu tun, sondern folgen einer Namenskonvention, nach der ein Backup der alten Version einer Datei mit '~' am Ende angelegt wird, wenn diese Datei geändert und gespeichert wird. Man kann Optionen auch kombinieren, z.B. 'ls -la'.

Zurück zu 'cd'.

>cd ~/images

Dies bewirkt das gleiche wie 'cd images', wenn man sich im Home-Ordner befindet, und hier ein Verzeichnis namens „images“ existiert. Merke: '~' ist eine Abkürzung für das eigene Home-Verzeichnis und somit bedeutet obiger Befehl dasselbe wie 'cd /home/DEINBENUTZERNAME/images'. Wenn man anschließend 'ls' ausführt, sollte man den Inhalt des Ordners „images“ angezeigt bekommen, da man sich in diesem nun befindet. Nach einer frischen Installation sollte hier nur ein Ordner namens „wallpapers“ zu finden sein. Dies ist eine gute Gelegenheit, um die Autovervollständigung der bash zu demonstrieren. Wenn man 'cd'<Leertaste><Tabulator> tippt, sollte der Befehl nun automatisch mit der einzig möglichen Option ('cd wallpapers') vervollständigt werden.

Um aus einem Ordner wieder zur nächsthöheren Verzeichnisebene zu wechseln, tippt man

>cd ..

'..' bezieht sich immer auf das übergeordnete Verzeichnis. Wenn man 'cd ..' mehrfach nacheinander ausführt, landet man früher oder später im Root-Verzeichnis des Dateisystems, welches auch einfach nur mit '/' bezeichnet wird. Führt man 'cd' aus, landet man wieder in seinem Home-Verzeichnis. 'cd ~' ist also unnötig lang, wenn man in sein Home-Verzeichnis wechseln will.

cp

Ein weiterer wichtiger Befehl ist 'cp'. Damit kann man Dateien kopieren.

>cp ~/Datei.txt ~/Documents/Datei.txt

kopiert die Datei aus dem Home-Verzeichnis in das Verzeichnis „Documents“ im Home-Verzeichnis. Eng verbunden mit diesem Befehl ist 'mv', womit man Dateien verschiebt, anstatt sie zu kopieren. Außerdem kann man damit Dateien umbenennen:

>mv Datei.txt Datei1.txt

benennt Datei.txt um in Datei1.txt.

apt-get

Ein Befehl, den man oft sieht, ist:

>sudo apt-get install program

Genau genommen sind es 2 Befehle. 'sudo' erlaubt es einem Dinge zu tun, die nur einem Administrator erlaubt sind (siehe Benutzerrechte) und deshalb wird man nach einem Passwort gefragt. 'apt-get' ist eine Paketverwaltungsanwendung (siehe Paketverwaltung) und dient der Verwaltung von Anwendungen - in diesem Fall wird der Befehl 'install' genutzt, da neue Software installiert werden soll. Andere Befehle für apt-get sind

apt-get remove program

um ein Paket zu entfernen, aber dessen Einstellungen zu behalten,

apt-get purge program

um ein Paket und alle seine Einstellungen zu entfernen,

apt-cache search program

um nach einem Programm zu suchen. 'apt-cache search web browser' durchsucht die Datenbank nach Web-Browsern und gibt eine Liste aus.

apt-cache show program

zeigt mehr Informationen zu einem bestimmten Paket an. Falls die vorherige Suche zum Beispiel „elinks“ gefunden hat, aber man keinen Schimmer hat was „elinks“ ist, kann man sich mit 'apt-cache show elinks' darüber informieren.

man und apropos

Ein nützlicher Befehl, um sich über die Anwendungsmöglichkeiten eines installierten Programms zu informieren, ist 'man'. Es zeigt die “manual pages“, also das Handbuch zu einem bestimmten Programm an, z.B. 'man ls' zeigt das Handbuch für 'ls'

'apropos' ist ein Befehl, um die installierten Programme nach einem bestimmten Suchbegriff zu durchsuchen. So zeigt einem der Befehl 'apropos calculator' eine Liste der installierten Taschenrechner an. Nützlich also, wenn man ein Programm mit einer bestimmten Funktion sucht, aber vergessen hat, wie es heißt.

Möglicherweise gefährliche Befehle

eider bekommt man in Foren oder Chaträumen nicht immer nur hilfreiche Hinweise. Daher sollte man einen Befehl auch nur nutzen, wenn man ungefähr weiß, was er bewirkt.

Ein Befehl, bei dem am besten ganz genau weiß, was er bewirkt (besonders wenn er mit Root-Rechten genutzt wird), ist 'rm', der Löschbefehl („ReMove“). Man braucht nicht viel Fantasie, um sich vorzustellen, wieviel Schaden man damit auf seinem System anrichten kann.

rm Datei.txt

löscht die Datei „Datei.txt“.

Bitte alle folgenden Befehle NICHT ausprobieren!

Ein Befehl, den man kennen, aber NIE auf ausführen sollte, ist 'sudo rm -rf /', denn dieser Befehl bewirkt, dass mit Root-Rechten (sudo) alle Dateien, Verzeichnisse und deren Unterverzeichnisse, usw. (-r → rekursiv) des Root-Verzeichnisses ('/', also der höchsten Verzeichnisebene) ohne nachzufragen (-f → force) gelöscht werden. Auch selten hilfreich ist der Befehl 'rm -rf ~', wobei „nur“ das Home-Verzeichnis gelöscht wird und damit alle persönlichen Daten. Man sollte aber beachten, dass diese Befehle nicht nur durch Bösartigkeit, sondern auch versehentlich ausgeführt werden können. Möchte man zum Beispiel ein altes Verzeichnis in seinem Home-Verzeichnis löschen und tippt 'rm -rf ~ /altes_Verzeichnis' ein, wird man sein blaues Wunder erleben, wenn auf einmal das ganze Home-Verzeichnis fehlt. Der Fehler liegt hierbei in dem Leerzeichen zwischen '~' und '/altes_Verzeichnis'. Dieses bewirkt, dass die Anweisung nicht lautet: „Lösche ~/altes_Verzeichnis“, sondern „Lösche ~ und /altes_Verzeichnis“. Es ist daher immer äußerste Vorsicht bei der Verwendung der Optionen '-rf' geboten. Die Option '-i' (interactive) kann einem vor bösen Überraschungen bewahren, denn damit wird vor dem Löschen jeder einzelnen Datei um Bestätigung gefragt.

Ein weiterer Befehl, welcher an sich nichts gefährliches bewirkt, aber in Kombination mit anderen sehr mächtig ist und daher ebenso mit Vorsicht genutzt werden sollte, ist 'sudo'. Mit diesem Zusatz kann jeder Befehl mit Root-Rechten ausgeführt werden und hat somit alle Möglichkeiten auf dem System, sei es Installation von (bösartiger) Software oder Löschen von (wichtigen) Dateien. Dementsprechend sollte auch 'gksu', die grafische Alternative, nicht leichtsinnig genutzt werden.

Weiterführendes
 
de/explanation_of_linux.txt · Zuletzt geändert: 2012/05/24 06:30 von machinebacon
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht:CC Attribution-Share Alike 3.0 Unported

Powered by DokuWiki. Hosted by Linode.
Copyright © 2010 CrunchBang Linux.
Proudly powered by Debian GNU/Linux.
Debian is a registered trademark of Software in the Public Interest, Inc.