TS: Literatur zu Linux

Hallo und guten Morgen,

ich habe mir vor längerer Zeit mal das Linux-Kernel-Handbuch
http://www.gbv.de/dms/ilmenau/toc/49580794X.PDF
angesehen und fand das ganz gut, um sich mal näher mit den Interna von Linux zu beschäftigen. Leider gehört es mir nicht.

Nun wollte ich mir eine entsprechende deutschsprachige Literatur anschaffen. Da aber Kernel 2.6 schon nicht mehr Stand der Dinge ist, frage ich mal nach, was Ihr empfehlen könntet.

Ich habe zu DOS-Zeiten zwei der Tischer-Bücher "PC intern" von Data Becker durchgeackert und viel daraus gelernt. Auch aus den vielen Fehlern im Buch konnte man lernen. Ist bei über 1.000 vollgepackten Seiten mit eher kleiner Schrift wohl auch kein Wunder, wenn sich da mal Fehler einschleichen.

Da Linux (intern) aber eher neu ist für mich, wäre ein gutes Buch mit möglichst wenig Fehlern selbstverständlich die bessere Wahl.

PS: "nachgelesen" ist leider nur fast richtig. "Literatur" oder "nachlesen" wäre als Tag besser, aber den gibt es nicht.

--
Grüße
TS
  1. Moin!

    ich habe mir vor längerer Zeit mal das Linux-Kernel-Handbuch
    http://www.gbv.de/dms/ilmenau/toc/49580794X.PDF

    Nun ja. Ein Kernelhandbuch hilft zwar durchaus beim Verständnis von Linux, aber es bringt Dich bei der Nutzung nicht weiter.

    Neben dem manual ( ~$ man man ) und der mitgelieferten Dokumentation ( ~$ info info ), konkret also ~$ man 1 cp bzw. ~$ info cp kann ich als Openbooks folgende empfehlen:

    Falls Du dann was kaufen willst:

    Noch ein Tip:

    ~$ sudo apt-get install manpages-de
    

    Dann kann Dein man auch deutsch …

    Jörg Reinholz

  2. Tach,

    Nun wollte ich mir eine entsprechende deutschsprachige Literatur anschaffen. Da aber Kernel 2.6 schon nicht mehr Stand der Dinge ist, frage ich mal nach, was Ihr empfehlen könntet.

    ich befürchte der Markt für deutschsprachige Bücher zu dem Thema ist zu klein. Selbst englischsprachige Literatur zu dem Thema ist nicht unbedingt aktuell; allerdings sollte das für einen Einstieg nicht weiter schlimm sein, die Entwicklung seit 2.6 war ja nicht revolutionär und die Versionssprünge auf 3.0 und 4.0 eher aus historischen und ästetischen Gründen.

    mfg
    Woodfighter

    1. Hallo und guten Morgen,

      Nun wollte ich mir eine entsprechende deutschsprachige Literatur anschaffen. Da aber Kernel 2.6 schon nicht mehr Stand der Dinge ist, frage ich mal nach, was Ihr empfehlen könntet.

      ich befürchte der Markt für deutschsprachige Bücher zu dem Thema ist zu klein. Selbst englischsprachige Literatur zu dem Thema ist nicht unbedingt aktuell; allerdings sollte das für einen Einstieg nicht weiter schlimm sein, die Entwicklung seit 2.6 war ja nicht revolutionär und die Versionssprünge auf 3.0 und 4.0 eher aus historischen und ästetischen Gründen.

      Also meinst Du, dass ich ruhig mit dem Durchackern des Buches zur Version 2.6 anfangen könnte? Es geht mir in erster Linie doch auch um das Verstehen der Konzepte. Bis dann die Kernelversion 4.0 kommt, habe ich dann vielleicht schon welche verstanden davon ;-)

      @Jörg:
      Ich glaube nicht, dass man ein OS vom bloßen Erlernen der Shellbefehle usw. wirklich kennenlernen kann. Das war schon bei DOS nicht so und es wird vermutlich bei Linux nicht anders sein. Anders herum halte ich es für wahrscheinlicher. Wenn man die Interna kennt, kann man sich vieles in der Shell schon eher selber zusammenreimen.

      Grüße
      TS

      1. Moin!

        Ich glaube nicht, dass man ein OS vom bloßen Erlernen der Shellbefehle usw. wirklich kennenlernen kann.

        Nun, die Bücher behandeln längst nicht nur Shell-Befehle sondern vermitteln auch sonst Einblicke darin, wie man Linux als Router/Firewall/Server/Desktop betreibt. Und was die Shell-Befehle betrifft: hattest Du nicht ein Problem mit dem Kopieren von Dateien?

        Jörg Reinholz

        1. Hallo und guten Morgen,

          Ich glaube nicht, dass man ein OS vom bloßen Erlernen der Shellbefehle usw. wirklich kennenlernen kann.

          Nun, die Bücher behandeln längst nicht nur Shell-Befehle sondern vermitteln auch sonst Einblicke darin, wie man Linux als Router/Firewall/Server/Desktop betreibt. Und was die Shell-Befehle betrifft: hattest Du nicht ein Problem mit dem Kopieren von Dateien?

          Und Du meinst, dass der Tipp mit den Shell-Options oder Schalter t (steht noch nicht einmal im LPIC-1) in den Büchern erwähnt wird, oder warum meine Version auch funktioniert (ohne Shell-Options)? Und ob da bei meiner Variante etwas Schmuddeliges im Hintergrund passiert und ich vielleicht nur einen Seiteneffekt genutzt habe damit, kann ich aus Anwendungsliteratur i.d.R. nicht erlesen. Das soll gar nicht heißen, dass es nicht klug ist, die Anwendung zu beherrschen.

          Grüße
          TS

          1. Moin!

            Und Du meinst, dass der Tipp mit den Shell-Options oder Schalter t (steht noch nicht einmal im LPIC-1)

            Im angesprochenen manual aber wohl. Bücher bezüglich Linux sind Sekundärliteratur und geben nur einen Ausschnitt der Optionen wieder, vertiefen den manchmal, manchmal eben auch nicht.

            man 1 cp liefert z.B.

            …
            -t, --target-directory=VERZEICHNIS
                          Alle QUELLE‐Argumente in VERZEICHNIS kopieren
            …
            

            Jörg Reinholz

            1. Hallo und guten Morgen,

              Und Du meinst, dass der Tipp mit den Shell-Options oder Schalter t (steht noch nicht einmal im LPIC-1)

              Im angesprochenen manual aber wohl. Bücher bezüglich Linux sind Sekundärliteratur und geben nur einen Ausschnitt der Optionen wieder, vertiefen den manchmal, manchmal eben auch nicht.

              man 1 cp liefert z.B.

              …
              -t, --target-directory=VERZEICHNIS
                            Alle QUELLE‐Argumente in VERZEICHNIS kopieren
              …
              

              Ach, so eine Übergeraschung! Was meinst Du, woher ich meine Weisheit hatte? :-D

              Grüße
              TS

      2. Tach,

        Also meinst Du, dass ich ruhig mit dem Durchackern des Buches zur Version 2.6 anfangen könnte? Es geht mir in erster Linie doch auch um das Verstehen der Konzepte. Bis dann die Kernelversion 4.0 kommt, habe ich dann vielleicht schon welche verstanden davon ;-)

        wenn du etwas über Kernelentwicklung lernen willst, ja.

        Ich glaube nicht, dass man ein OS vom bloßen Erlernen der Shellbefehle usw. wirklich kennenlernen kann. Das war schon bei DOS nicht so und es wird vermutlich bei Linux nicht anders sein. Anders herum halte ich es für wahrscheinlicher.

        Du musst allerdings daran denken, dass der Kernel nur ein sowohl kleiner als auch gewaltiger Teil des Betriebssystems GNU/Linux darstellt; die Dinge mit denen man im Alltag in Kontakt kommt, hängen selten davon ab, welcher Kernel da verwendet wird. Da sind Dinge wie POSIX, die LSB oder das verwendete Userland eher interessant.

        Wenn man die Interna kennt, kann man sich vieles in der Shell schon eher selber zusammenreimen.

        Das würde mich für die meisten Dinge wundern, die Shells sind unabhängig vom Kernel und im Alltag wird der Unterschied zwischen tcsh und bash größer sein als zwischen FreeBSD und Linux.

        mfg
        Woodfighter

        1. Hallo und guten Abend,

          Also meinst Du, dass ich ruhig mit dem Durchackern des Buches zur Version 2.6 anfangen könnte? Es geht mir in erster Linie doch auch um das Verstehen der Konzepte. Bis dann die Kernelversion 4.0 kommt, habe ich dann vielleicht schon welche verstanden davon ;-)

          wenn du etwas über Kernelentwicklung lernen willst, ja.

          Schaden kann es nicht. Es sind ja "nur" 480 Seiten.

          Aber vielleicht hast Du Recht, wenn ein Buch/Tutorial über solide Treiber- und Anwendungsprogrammierung gut aufgebaut ist, wird man dadurch auch genug über die Grundlagen mitbekommen.

          Bevor ich ein neues kaufe, steige ich nochmal durch unsere Bücherberge. Irgendwo stand hier noch ein älteres Werk "Linux - Unix, Systemprogrammierung" herum. Das ist aber, sehe ich gerade, von 1999. Könnte also etwas rudimentär sein bezüglich der beschriebenen Tools.

          Grüße
          TS

          1. Moin!

            Irgendwo stand hier noch ein älteres Werk "Linux - Unix, Systemprogrammierung" herum. Das ist aber, sehe ich gerade, von 1999. Könnte also etwas rudimentär sein bezüglich der beschriebenen Tools.

            Nicht unbedingt. Fast alles, was z.B. an Tools für Dateioperationen e.t.c. wichtig ist, stammt sogar von BSD ab. BSD war mal "Berkeley Software Distribution" hat Unix erweitert und die Tools wurden nach der AT & T -Unix-Vorlage erst für BSD, dann für Linux teils 1:1 nachprogrammiert und es wurden damals "neue" geschaffen, wie z.B. rcp (in Linux in scp aufgegangen) - das Manual des Tools war das Pflichtenheft des Nachprogrammierers. Seit 1976 sind fast vierzig Jahre vergangen und die Tools sind, auch was den Leistungsumfang betrifft, in den letzten 16 Jahren sehr stabil geblieben ... im Gegensatz zum Kernel :)

            Jörg Reinholz

            1. Hallo und guten Abend,

              Irgendwo stand hier noch ein älteres Werk "Linux - Unix, Systemprogrammierung" herum. Das ist aber, sehe ich gerade, von 1999. Könnte also etwas rudimentär sein bezüglich der beschriebenen Tools.

              Nicht unbedingt.

              [...]

              Ich meinte eigentlich die Programmiertools, also IDEs usw. Da gibt es inzwischen doch eine ganze Reihe neue gegenüber 1999. Welche sollte man denn benutzen, wenn es über "Hallo Welt" auf der Konsole hinaus gehen soll?

              Tipps?

              Aber bitte nicht gleich die Atombomben, kleinere Granaten (mit denen man auch bunte Bilder erzeugen kann) reichen mir für's erste.

              Grüße
              TS

              1. Moin!

                Ich meinte eigentlich die Programmiertools, also IDEs usw. Da gibt es inzwischen doch eine ganze Reihe neue gegenüber 1999. Welche sollte man denn benutzen, wenn es über "Hallo Welt" auf der Konsole hinaus gehen soll?

                Ach ja. Alles klar. Systemprogrammierung ist das von mir übersehene Stichwort. Und IDE's...

                Tja. C, CPP, Python, Perl, ein wenig mono sind die, ich sags mal so dreist, die meist verwendeten Programmiersprachen. Und Programme mussten eigentlich kaum umgeschrieben werden, weil die API von zahlreichen libs bereit gestellt werden (die dann die höheren Programmiersprachen auch linken).

                Bringen wir es auf den Punkt: Auch hier hat sich seit 1999 - relativ zur Gesamtmasse - wenig verändert (abgesehen von 2^6 Bit), und was sich verändert hat findet sich im Web. Neues Buch? Das alte erst mal durchackern.

                Jörg Reinholz

                1. Hallo und gute Nacht,

                  Ich meinte eigentlich die Programmiertools, also IDEs usw. Da gibt es inzwischen doch eine ganze Reihe neue gegenüber 1999. Welche sollte man denn benutzen, wenn es über "Hallo Welt" auf der Konsole hinaus gehen soll?

                  Ach ja. Alles klar. Systemprogrammierung ist das von mir übersehene Stichwort. Und IDE's...

                  Tja. C, CPP, Python, Perl, ein wenig mono sind die, ich sags mal so dreist, die meist verwendeten Programmiersprachen. Und Programme mussten eigentlich kaum umgeschrieben werden, weil die API von zahlreichen libs bereit gestellt werden (die dann die höheren Programmiersprachen auch linken).

                  Bringen wir es auf den Punkt: Auch hier hat sich seit 1999 - relativ zur Gesamtmasse - wenig verändert, und was sich verändert hat findet sich im Web. Neues Buch? Das alte erst mal durchackern.

                  Na, dann tschüß bis in ungefähr 300 Tagen. :-O

                  Drei Seiten am Tag mit Übungen und Querlitaratur kann ich vielleicht im Mittel schaffen

                  Leider ist die Originalseite mit den Beispielen nicht mehr im Netz, dafür aber scheinbar die von einer späteren Auflage... addison-wesley.de/service/herold/sysprog3.tgz

                  Ich muss erst mal schnell reinschauen :-)

                  Grüße
                  TS

              2. Tach,

                Ich meinte eigentlich die Programmiertools, also IDEs usw. Da gibt es inzwischen doch eine ganze Reihe neue gegenüber 1999. Welche sollte man denn benutzen, wenn es über "Hallo Welt" auf der Konsole hinaus gehen soll?

                Tipps?

                Aber bitte nicht gleich die Atombomben, kleinere Granaten (mit denen man auch bunte Bilder erzeugen kann) reichen mir für's erste.

                ich gehe mal am Beispiel C(++): Viele Menschen, die für Linux Programme entwickeln oder sogar am Kernel arbeiten, nutzen ihren bevorzugten Editor (was dann häufig emacs oder vim sind), gcc, make, gdb und so weiter; andere nutzen IDEs wie Eclipse, Netbeans oder Code::Blocks. Wenn du dich in dem Bereich einarbeiten willst, würde ich dir empfehlen, dich erst mit den kleinen Tools auseinanderzusetzen, bevor du eine IDE nutzt.

                mfg
                Woodfighter

                1. Hallo und gute Nacht,

                  Ich meinte eigentlich die Programmiertools, also IDEs usw. Da gibt es inzwischen doch eine ganze Reihe neue gegenüber 1999. Welche sollte man denn benutzen, wenn es über "Hallo Welt" auf der Konsole hinaus gehen soll?

                  Tipps?

                  Aber bitte nicht gleich die Atombomben, kleinere Granaten (mit denen man auch bunte Bilder erzeugen kann) reichen mir für's erste.

                  ich gehe mal am Beispiel C(++): Viele Menschen, die für Linux Programme entwickeln oder sogar am Kernel arbeiten, nutzen ihren bevorzugten Editor (was dann häufig emacs oder vim sind), gcc, make, gdb und so weiter; andere nutzen IDEs wie Eclipse, Netbeans oder Code::Blocks. Wenn du dich in dem Bereich einarbeiten willst, würde ich dir empfehlen, dich erst mit den kleinen Tools auseinanderzusetzen, bevor du eine IDE nutzt.

                  Ja, genauso meinte ich das. Erst einmal klein anfangen. "Hello World" habe ich allerdings schon vor längerer Zeit erledigt. Allerdings schadet es nichts, auch das zu wiederholen. Editor, Compiler, Linker, Libs, usw. Alleine die Einstellungen werden mich zur Verzweiflung bringen :-O

                  Grüße
                  TS

        2. Tach,

          Du musst allerdings daran denken, dass der Kernel nur ein sowohl kleiner als auch gewaltiger Teil des Betriebssystems GNU/Linux darstellt; die Dinge mit denen man im Alltag in Kontakt kommt, hängen selten davon ab, welcher Kernel da verwendet wird. Da sind Dinge wie POSIX, die LSB oder das verwendete Userland eher interessant.

          ich wollte eigentlich noch auf Linux From Scratch hinweisen. Vermutlich das beste „Buch“, um zu lernen was alles zu einem Linux-Desktop dazu gehört.

          mfg
          Woodfighter