TUTORIAL: LINUX LEICHT GEMACHT
1. Der Einstieg mit Ubuntu
2. Paketverwaltung, unfreie Software und die Verzeichnisstruktur
3. Rechteverwaltung, Terminal, Spielen und Hilfe
Benutzer, Gruppe und der Rest der Welt: Die Rechteverwaltung unter Linux
In DOS und den früheren Windows-Versionen aus der 9x-Reihe gab es gar keine Rechteverwaltung. Unter Windows XP, dass aus der professionellen NT-Reihe abstammt, natürlich schon, dennoch arbeitete man standardmäßig als Administrator. Erst seit Vista gibt es strengere Richtlinien auch auf den heimischen Computern. Unter Linux gibt es schon seit eh und je ein solches Konzept.
Grundlage ist, dass ein Benutzer nur das machen darf, was er unbedingt machen muss. Linux ist ein Multi-User-Betriebssystem, das heißt, es können mehrere Benutzer mit eigenen Dateien, eigenem Kennwort und vor allem eigenen Rechten erstellt werden.
Als normaler Linux-Benutzer kommt man nur mit zwei Benutzern in Berührung: den, den man bei der Installation angegeben hat und root. root ist der Superuser und darf grundsätzlich alles. Er wird zur Systemadministration benötigt. Für das normale Nutzen meldet man sich mit einen eigenen Benutzer mit eingeschränkten Rechten an. Der darf alle Dateien lesen, aber nur seine eigenen Dateien (/home/Benutzername) bearbeiten. Alle Programme, die ein Benutzer startet, haben die gleichen Rechte wie der Benutzer.
Unter Ubuntu wird der Benutzer root normalerweise nicht benutzt. Stattdessen gibt man mithilfe des sudo-Befehls sich selbst durch Eingabe des eigenen Kennworts für 15 Minuten root-Rechte. Startet man die Paketverwaltung, so wird man auf ein Fenster wie dieses hier treffen:
Danach kann man die gewünschten Programme installieren und anschließend mit normalen Rechten weiter arbeiten. sudo funktioniert natürlich nur, wenn man ein Benutzer ist, der den „Administrator-Status“ hat.
Weiterhin gibt es noch die Möglichkeit, Benutzer zu Gruppen zusammenzufassen. Auch Gruppen können Rechte zugewiesen werden, alle Mitglieder einer Gruppe haben dann auch diese Rechte. Der „Administrator-Status“ ist nichts weiter als die Mitgliedschaft in der Gruppe admin.
Daneben gibt es noch eine Menge Systembenutzer, unter denen einzelne Dienste laufen. Beispielsweise der Benutzer gdm, unter dem ein Programm lauft, das für die Anmeldung am System unter Ubuntu zuständig ist. Hätte er root-Rechte, so könnte man durch einen Bug im Anmeldefenster die Kontrolle über das System übernehmen. Deshalb hat er nur wenige Rechte. Mit Benutzern dieser Art kommt man nur selten in Berührung, sie verrichten still ihren Dienst im Hintergrund.
Jede Datei innerhalb eines Linux-Dateisystems benutzt dieses Rechte-System. So gehört eine Datei grundsätzlich einem Benutzer und einer Gruppe (meist die Hauptgruppe des Benutzers). Man kann jetzt festlegen, was der Besitzer darf, was die Gruppe darf und was alle anderen dürfen. Man könnte zum Beispiel sagen, die Datei Artikel.txt darf vom Besitzer autor1 gelesen und verändert, und von Benutzern der Gruppe autoren nur gelesen werden. Alle anderen sehen die Datei erst gar nicht.
Dieses Sicherheitskonzept macht Linux schon von Anfang an recht sicher. Änderungen am System können nur von root vorgenommen werden, und man kann nur root werden, wenn man das root-Passwort kennt oder in der Gruppe admin ist. Zusätzlich dazu gibt es noch Mechanismen wie AppArmor, welches Anwendungen überwacht und jede unerwartete Aktion unterbindet, oder SELinux, mit der sich Rechte noch feiner definieren lassen. Mit PolicyKit lassen sich zudem auch einzelne Rechte für einzelne Aktionen an unprivilegierte Benutzer übertragen. Mit solchen Sachen hat man als normaler Anwender aber nicht unbedingt was zu tun.
Keine Angst vor dem Terminal
Wenn Windows-Nutzer an Linux denken, dann denken viele an einen schwarzen Hintergrund mit grüner oder weißer Schrift, und einem blickenden Cursor, in denen die Benutzer kryptische Befehle eintippen. Manche lehnen schon deswegen Linux hab, weil zu es als einen Rückschritt zu DOS betrachten. Mal davon abgesehen, dass die Kommandozeile von Linux wesentlich mehr kann als die von DOS, so wird sie im normalen Betrieb überhaupt nicht benötigt. Linux ist vollständig grafisch benutzbar.
Die Kommandozeile (oder auch Shell, Konsole, Terminal) ist aber hilfreich, wenn man etwa das System aus der Ferne administrieren oder Vorgänge automatisieren möchte. Auch zur Systemreparatur ist sie geeignet, selbst wenn überhaupt nichts mehr geht, es ist fast immer möglich, noch eine Kommandozeile zu starten. Selbst unter Windows gibt es mit der Reparaturkonsole so eine Funktion.
Weiterhin ist es einfacher, in Tutorials oder Foren-Postings einfach einen Terminal-Befehl anzugeben, statt umständlich zu beschreiben, worauf der Nutzer klicken soll. Im Grunde sind die grafischen Einstellungsmenüs nur eine Oberfläche für die Konsolen-Programme. Alles, was man unter Linux grafisch machen kann, lässt sich auch im Terminal machen.
Deswegen sollte man sich ein bisschen mit dem Terminal vertraut machen. Im Grunde funktioniert es ganz einfach. Unter Ubuntu öffnet man ein neues Terminal-Fenster über Anwendungen->Zubehör->Terminal.
Dort wird einem dann folgendes angezeigt:
user@computer:~$
Das bedeutet nichts anderes, als dass man momentan als Benutzer „user“ auf dem Computer „computer“ eingeloggt ist. Weiterhin befindet man sich im Verzeichnis „~“, was ein Kürzel für das Heimat-Verzeichnis (in diesem Fall: /home/user) ist. Man kann das Verzeichnis jederzeit mit dem Befehl cd (change directory) wechseln. Beispielsweise führt die Eingabe
cd /var [Enter-Taste drücken]
dazu, dass wir uns nun im Verzeichnis /var befinden:
user@computer:/var$
Das Dollar-Symbol „$“ meint übrigens, dass wir normale Benutzer-Rechte haben. Wollen wir doch einmal zu root werden. Das geht unter Ubuntu mit dem Befehl
sudo -s
Danach müssen wir unser Password eingeben (es werden keine Sternchen angezeigt, das ist normal). Dann sind wir root:
root@computer:/var#
Das „$“ ist zum „#“ geworden, außerdem hat sich der Benutzername von „user“ zu „root“ geändert. Mit exit treten wir unsere Rechte wieder ab. Mit einem weiteren exit beenden wir die Shell.
Dies war nur eine kleine Einführung, wer mehr wissen will, der schaut mal hier im ubuntuusers-Wiki.
Eine Zusammenfassung wichtiger Befehle findet man hier.
Spielen unter Linux
Entgegen der landläufigen Meinung ist das Spielen unter Linux ohne weiteres möglich. Zwar wird man als Hardcore-Gamer mit Linux nicht glücklich werden, da es zu wenige Spiele unter Linux gibt. Dennoch gibt es zum einen viele Open Source Spiele, die nativ wie jede andere Anwendung unter Linux laufen, zum anderen gibt es die Möglichkeit, Windows-Spiele unter Linux laufen zu lassen.
Bevor man überhaupt an Spielen denkt, sollte man überprüfen, ob überhaupt eine funktionierende 3D-Beschleunigung vorhanden ist und funktioniert. Dies erreicht man mit dem Befehl:
glxinfo | grep rendering
Im Falle einer funktionierenden Beschleunigung sollte „direct rendering: Yes“ ausgegeben werden. Ist dies nicht der Fall, so muss meist der proprietäre Grafiktreiber nachinstalliert werden.
Nachdem dies geschafft ist, können die Spiele installiert werden. In den Ubuntu-Paketquellen gibt es bereits eine Auswahl an Spielen. Infos und Beschreibungen gibt es im ubuntuusers-Wiki.
Manche Spiele gibt es nicht oder nur in einer älteren Version in den Paketquellen. Für solche Fälle gibt es die Fremdquelle PlayDeb. PlayDeb ist ein Projekt mit dem Ziel, Ubuntu-Pakete für populäre Linux-Spiele anzubieten um die Installation zu vereinfachen.
Um die PlayDeb-Quelle hinzuzufügen, benutzt man entweder das Terminal oder alternativ die Software-Paketquellen. Da es aber wie bereits gesagt in Tutorials einfacher ist, dass Terminal zu benutzen, hier der Befehl für das hinzufügen der APT-Zeile:
echo ‚deb lucid-getdeb apps games #PlayDeb‘ | sudo tee -a /etc/apt/sources.list
Den GnuPG-Schlüssel importiert man folgendermaßen:
wget -q -O- | sudo apt-key add –
Nun müssen noch die Paketquellen neu eingelesen werden:
sudo apt-get update
Nun kann man über das Software-Center, die Synaptic-Paketverwaltung oder über die PlayDeb-Website selbst die Spiele installieren.
Was ist aber nun mit den Spielen, die es nur für Windows gibt, welche man etwa auf CD erworben hat? Diese lassen sich nicht so einfach über die Paketverwaltung installieren. Das geht deshalb nicht, weil die Spiele bestimmte Funktionen von Windows benutzen, etwa, um auf die Hardware zuzugreifen. Dies funktioniert unter Linux ein bisschen anders und deswegen funktionieren bestimmte Befehle im Windows-Programm nicht unter Linux. Man müsste das Spiel für Linux anpassen („portieren“), damit es ohne weiteres läuft. Manche Spielehersteller, wie beispielsweise id Software, bieten Linux-Versionen ihrer Spiele an.
Für den Fall, dass es keine Linux-Version gibt, haben sich ein paar findige Entwickler etwas ausgedacht: Ein Programm, was die Befehlsaufrufe, die nur Windows versteht, für Linux „übersetzt“. Dieses Programm nennt sich Wine. Damit lassen sich Windows-Programme unter Linux ausführen. Da Microsofts Programmierschnittstellen nicht Open Source sind, können die Wine-Entwickler die Windows-Funktionen nicht 1:1 umsetzen. Deswegen laufen manche Programme nicht, außerdem sind sie langsamer, da das „übersetzen“ natürlich Zeit benötigt.
Wine lässt sich aus den Ubuntu-Paketquellen installieren. Dabei gibt es eine stabile Version 1.0, und eine Entwicklungsversion 1.2, welche aber bald 1.0 ablösen wird. Da das Wine-Projekt viele Fortschritte macht, kann es sinnvoll sein, die neueste Version zu probieren. Dafür muss man die Fremdquelle der Entwickler hinzufügen:
echo ‚deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu lucid main #Wine‘ | sudo tee -a /etc/apt/sources.list
Für den Schlüssel folgenden Befehl benutzen:
sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com F9CB8DB0
Anschließend kann Wine installiert werden:
sudo apt-get update && sudo apt-get install wine1.2
Jetzt muss Wine noch eingerichtet werden über Anwendungen->Wine->Konfiguriere Wine
Möchte man jetzt ein Windows-Programm installieren/starten, so muss man nur einen Rechtsklick auf die .exe-Datei machen und „Mit Wine Windows-Progammstarter öffnen“ auswählen.
Ob ein Programm mit Wine läuft, kann mithilfe der AppDB herausgefunden werden. Den Platin-Status haben im Moment Steam, Counter Strike Source, Sims 3 und Half Life 2 sowie Command & Conquer 3: Tiberium Wars.
Wo bekommen ich Hilfe, wenn es brennt?
Ubuntu hat, gegenüber anderen Betriebssystemen einen großen Vorteil: die Community. Es gibt unzählige Menschen die an Ubuntu, Linux anderen Projekten mitarbeiten. Nur ein Teil sind Programmierer, viele sind Nutzer, die einfach etwas zurückgeben möchten. So gibt es etwa die bereits erwähnte Seite ubuntuusers.de. Dort gibt es ein Wiki, welches sehr umfangreich ist und alle Themen ausführlich behandelt. Natürlich gibt es dort auch das Forum, in dem man, falls man mal nicht weiter weiß die anderen User um Rat fragen kann. Im Gegensatz zu anderen Foren gibt es hier recht wenig bis gar keine Trolle/Flamer, die Einsteiger beleidigen oder einfach auf Google verweisen, stattdessen sind die Nutzer freundlich und helfen auch Einsteigern, die sich noch nicht so gut auskennen, mit ihren Problemen. Damit das Forum gut funktioniert, müssen natürlich die Regeln beachtet werden.
Darüber hinaus hat Ubuntu auch interne Dokumentation. Bei einigen Paketen gibt es auch ein Zusatz Paket, dass auf -doc endet (beispielsweise openshot für das Programm und openshot-doc für die Dokumentation). Diese kann für gewöhnlich über System->Hilfe und Unterstützung betrachtet werden. Für Terminal-Programme verwendet man
man <Kommandoname>
Damit wird eine sogenannte Man-Page geöffnet. Mit den Pfeiltasten kann man sie durch scrollen. Mit dem Druck auf q wird die Hilfeansicht wieder geschlossen. Das ganze geht auch grafisch:
gnome-help man:<Kommandoname>
Wie man genau funktioniert, dafür gibt es natürlich einen Wiki-Eintrag.
Darüber hinaus kann man auf der Launchpad-Seite von Ubuntu den Entwicklern Bugs melden und Fragen stellen. Außerdem gibt es kostenpflichtigen Support von Canonical, eher für Firmen interessant.
Dies ist der dritte Teil der Serie Linux leicht gemacht.
Der erste Teil der Serie ist hier auf JUICED verfügbar,
und der zweite Teil der Serie auf FERNmanns Blog.
SyntaX meint
Danke, war alles in allem ein Super klasse Tutorial :)