|
Artikel Optionen
Kleiner Linuxkurs Teil 2Kleiner Linuxkurs Teil 2
Im Grunde ist Linux nur ein Kernel. Ein Kernel ist der Kern eines jeden Betriebssystems, er verwaltet die Prozesse, macht Zugriff auf die Hardware möglich usw. Jedoch gehören keine Programme zum Kernel, die sind Teil des Os. Die Ursprünge von Linux liegen allerdings viel früher als 1991 als Linus Torvalds anfing den Linuxkernel zu schreiben. Denn schon 1984 wurde das Gnu-Projekt (steht für GNU's not Unix) gegründet, mit dem Ziel ein freies Betriebssystem zu schreiben. Die Arbeiten an diesem gingen gut voran, bis 1990 war ein fast fertiges System vorhanden, jedoch fehlte noch eine wichtige Sache: Der Kernel. Es wurde zwar schon seit einiger Zeit an einem eigenen GNU-Kernel, Hurd, gearbeitet, aber wegen dem Perfektionismus ist dieser bis heute noch nicht fertig. Seit einiger Zeit läuft zwar schon ein xserver und auch Qt und Gnome, aber da der Microkernel, auf dem große Teile von Hurd laufen veraltet ist, wurde wieder vieles neu geschrieben, und es ist gerade mal möglich, sehr kleine Textprogramme auszuführen. Hurd wird also wahrscheinlich erst kurz nach Duke Nukem Forever fertig Aber es war mehr oder weniger Zufall, dass Linux der Kernel des von Gnu wurde. Es hätte leicht auch ein anderer sein können. Das ist übrigens auch der Grund, warum es so schnell kein Linux 9.3 geben wird. Linux ist nur der Kernel, das System heißt eigentlich Gnu. Gnu läuft auch nicht nur mit Linux, so gibt es noch Gnu/Hurd und auch Gnu/kFreeBSD, das vom Debianprojekt entwickelt wird, also ein Gnu mit dem FreeBsd kernel. Da Linux mittlerweile Version 2.6 erreicht hat, dauert es bis 9.3 noch ein wenig, da es immerhin stolze 14 Jahre gebraucht hat, um bis 2.6 zu kommen. In diesem Zusammenhang ganz passend: Die Versionierung ist bei Linux so: die erste Zahl wird nur bei wirklich großen Änderungen angepasst. Die zweite, gerade bei 6 erhöht sich auch nur bei wirklich großen Änderungen, und gerade Zahlen sind immer stabile versionen, ungerade unstable. So ist Kernel 2.6 der Nachfolger von 2.4, 2.5 war die Entwicklerversion von 2.6. Allerdings ändert sich dieses System zur Zeit, da der jetzige 2.6er Kernel immer mehr zum Entwicklerkernel wird. Die nächste Zahl wird recht häufig erhöht, bei jedem Release einer offiziellen neuen Version. So ist 2.4, der immernoch weiterentwickelt wird, um kritische Sicherheitslücken zu beseitigen schon bei 2.4.31. Neuerdings gibt es aber noch Unterversionen von den Releases, wie z.B. kernel 2.6.11.7. Diese enthalten keine neuen Features, sondern nur Bug und Sicherheitsfixes. Wenn Linux aber eigentlich nur der Kernel ist, stellt sich die Frage "was ist dann das, was normalerweise als Linux bezeichnet wird?" Das ist normalerweise eine Distribution. Eine Distribution ist eine Zusammenstellung von Software. Suse z.b. ist eine Distribution, gentoo, Debian, Mandrake, RedHat und viele andere bieten so eine Zusammenstellung von Software an, eigentlich immer mit Installer, um das System zu installieren, Paketmanager, um Software zu installieren und oft auch mit Konfigurationstools. Wofür zahlt man nun aber z.B. bei Suse 80€? Nun, das ist erstmal der Support. Es sind schließlich alle Daten auf Cds, gute Handbücher dabei und es gibt Telefonsupport. Weiterhin wird auch ein wenig für die Zusammenstellung der Software genommen. Allerdings gibt es auch von Suse kostenlose Versionen, die man auch unbegrenzt verviefältigen darf. Das geht mit der Professional Verson leider nicht, nicht wegen Suse, sondern den Lizenzen einiger Software, die bei der Professional dabei ist und in der Downloadversion nicht. Sonst sind diese Versionen gleich, und per Webupdate gibt es fast alle Software auch für die Downloadversion. Ein weiterer wichtiger Teil des Gnusystems ist die Gnu Gpl(General Public License): Sehr viel Software für Linux steht unter dieser Lizenz, so z.B. der Kernel, die Gnutools usw. Im Grunde hat die Gpl nur wenige Aussagen: -Die Software darf unbegrenzt kopiert und weiterverteilt werden, es darf sogar Geld dafür verlangt werden, allerdings nur für die Weitergabe, nicht für die Software selbst. Jedoch muss immer der Quelltext mitgeliefert werden, oder mindestens auf Anfrage bereitgestellt werden. -Jeder darf die Software nach seinem Belieben verändern, nur müssen die Änderungen dann auch wieder der Öffentlichkeit unter der GPL zu Verfügung gestellt werden. -Wenn Software Teile einer unter der GPL lizensierten Software enthält, fällt diese automatisch auch unter die GPL. (näheres ist nachzulesen unter http://de.wikipedia.org/wiki/GNU_General_Public_License... Frei bedeutet also nicht unbedingt frei wie in Freibier, auch wenn dies auch oft zutrifft, sondern dass die Software "free as in freedom" ist. Man kann mit ihr machen, was man will, sie verändern, weitergeben usw. solang die Bedingungen der GPL eingehalten werden. 6. locate und die Pipes So, nach ner Menge Theorie noch ein wenig praktisches zum Dateimangement: Nach Dateien suchen funktioniert auch ein wenig anders als unter Windows, die Gängige Methode ist die Suche mittels locate. Mittels updatedb wird eine Datenbank über alle Dateien auf dem System erstellt (wird bei den meißten Distributionen automatisch ca. einmal pro Tag ausgeführt). Mit locate kann man darin suchen. Mit einem "locate Aufsatz" werden alle Dateien mit einem "Aufsatz" im Namen oder im Pfad ausgegeben. Hier kommt nun etwas sehr wichtiges ins Spiel: die Pipe "|", bisher wahrscheinlich von fast allen nur als Teil eines 1337en Nicks benutzt, hat sie bei der Benutzung eines Unixsystems eine viel wichtigere Funktion: mit der Pipe kann der Output eines Programmes auf der Konsole (stdout: normale Ausgabe, stderr: Fehlerausgabe) an andere Programme weitergeleitet. So leitet ein "locate Aufsatz | grep /home/sid" die Ausgabe von "locate Aufsatz" an grep weiter. Mit grep kann man in der Ausgabe nach bestimmten Wörtern suchen, hier nach "/home/sid". Dadurch werden nur die Zeilen der Ausgabe von "locate Aufsatz" angezeigt, die "/home/sid" enthalten. Ein "locate Aufsatz | less" würde die Ausgabe an das Programm less weiterleiten. less ist ein sog. Pager, der Dateien und Text der Ausgabe von Programmen anzeigt, und mit dem man dann in diesem Text navigieren kann. (Übrigens ist more auch ein solcher Pager, nur ist less besser als more Man kann die Ausgabe aber nicht nur zu anderen Programmen weiterleiten, sondern auch in Dateien. "programm > log.txt" leitet die Standardausgabe von programm in die Datei log.txt um. Hier wird es wichtig, dass es zwei Ausgabestreams gibt: stdout, die Ausgabe von normalen Meldungen und stderr für die Ausgabe von Fehlern. Da mit > aber nur die stdout in die Datei log.txt weitergeleitet wird, erscheinen alle Fehler, die programm meldet trotzdem am Bildschirm. Diese lassen sich mit 2>fehler.txt auch in eine Datei weiterleiten (Achtung: Das hier ist Bash-Syntax, mit anderen Shells kann es sein, dass es nicht so funktioniert). So leitet "programm >log.txt 2>fehler.txt" die Ausgaben in diese zwei Dateien um. Um beide Ausgaben in eine Datei zu bekommen, wird "programm >log.txt 2>&1" verwendet, was die Errorausgabe in die Standardausgabe umleitet. Jetzt aber wieder zu den Dateien, man kann also mit locate suchen (und dieses mit grep und less benutzerfreundlicher machen), aber auch mit find. Find ist so ähnlich wie locate, nur dass dabei stat einer Datenbank das Dateisystem durchsucht wird, und man nicht direkt nach Dateien sucht, sondern sich nur Verzeichnisse inklusive aller ihrer Unterverzeichnisse ausgeben lässt. (syntax: find <directory>, näheres in der Manpage) Mittels "locate . | grep bla" sucht man also im aktuellen Verzeichnis und aller Unterverzeichnisse nach bla. Nur im aktuellen Verzeichnis wäre dann "ls | grep bla". Desweiteren gibts noch zwei Tools, die oft verwendet werden, cat und echo. Cat gibt Dateien, genau so wie sie sind auf der Standardausgabe aus. In Verbindung mit grep lässt sich also gut darin suchen. (bei grep kann man mit -A <nummer> und -B <nummer> die Anzahl der Zeilen, die nach und vor der Fundstelle sind und ausgegeben werden sollen angeben. Echo gibt einfach einen Text auf der Standardausgabe aus. (echo "hallo du da" So, schon wieder ein Teil fertig, Teil 3 folgt bald. Kleiner Linuxkurs Teil 1 Kleiner Linuxkurs Teil 2 Dazu im Postpla.net : Kein Thema angegeben Geschrieben von Sidolin am 20.07.05 16:04 (seit dem 2196 mal gelesen) Ähnliche Artikel zu Kleiner Linuxkurs Teil 2
Aktuelle Kommentare zu Kleiner Linuxkurs Teil 2 |
Artikel Autor |