Zwei ausgesprochene Wälzer bieten einen umfassenden Überblick über ihre jeweiligen Themen: Server unter Linux und systemnahes Programmieren mit dem freien Betriebssystem.
C unter Linux
“Systemnahe Programmierung mit C und Linux” ist ein Schwergewicht schon im Wortsinn: Fast zweieinhalb Kilogramm bringen die knapp 1390 Seiten des nunmehr in fünfter Auflage erschienenen voluminösen Werks von Jürgen Wolf und René Krooß auf die Waage. Allerdings ist der behandelte Stoff auch äußerst umfangreich, obwohl die Autoren ein großes und wichtiges Kapitel komplett aussparen: die Kernel-Programmierung.
Stattdessen geht es “nur” um das systemnahe Programmieren von Anwendungen. Nach einer kurzen Einführung in die GNU Compiler Collection und die Unix-Standards geht es mit einem E/A-Kapitel los, das Dateideskriptoren und ihre Verwendung, Standard-E/A-Funktionen und das Arbeiten mit Verzeichnissen umfasst. Eine Einführung in C/C++ gibt es nicht, entsprechendes Vorwissen setzen die Autoren schlicht voraus – die Grenzen des buchbinderisch Machbaren erreicht das Werk auch so.
Es folgt ein kurzes Kapitel über die Datei- und Verzeichnis-Attribute, bevor ein ausführlicher Abschnitt den Zugriff auf Systeminformationen via »/proc«-Verzeichnis behandelt. Anschließend stehen Gerätedateien im Fokus, danach die Verzeichnisse für Benutzerdaten in »/etc«: »passwd«, »shadow« und »group«. Es schließt sich ein umfangreiches Kapitel über Prozesse an, gefolgt vom verwandten Thema Threads. Danach widmen sich die Autoren ausführlich der Netzwerkprogrammierung mit TCP/IP, UDP, Sockets und Streams, IPv6 inklusive. Im Anschluss geht es um die Integration von Datenbanken am Beispiel von MySQL und seiner API. Es folgen Ausführungen zur Benutzerschnittstelle, zuerst in Form des Terminals, anschließend in Gestalt einer GUI am Beispiel GTK+. Ein Folgekapitel geht noch kurz auf die Alternativen Gtkmm, wxWidgets, FLTK und Qt ein. Das letzte Kapitel behandelt ausführlich die Werkzeuge des Programmierers: GCC, Make, Paketierung, einfache Versionsverwaltung mit RCS und CVS, Debugging und Tuning.
Wer mit C/C++ Anwendungen programmieren will, die unter Linux laufen, bekommt hier ein sehr umfangreiches, immer verständlich geschriebenes Werk an die Hand. Die eingängigen Erklärungen der Linux-Interna werden aber auch systemnahen Programmierern von Nutzen sein, die sich etwa für Python als Sprache der Wahl entscheiden.
Infos
Jürgen Wolf, René Krooß
Systemnahe Programmierung mit**C und Linux
Rheinwerk, 2024
1390 Seiten, 60 Euro
ISBN *978-3-8362-9748-6
Linux-Server
Weder mit Blick auf den Umfang noch auf die Anzahl der Auflagen muss sich der Wälzer “Linux-Server” hinter dem zuerst vorgestellten Titel verstecken. Verantwortlich ist ein Autorenkollektiv, bestehend aus Dirk Deimeke, Daniel van Soest, Stefan Kania, Peer Heinlein und Axel Miesen. Sie stellen ihrem Werk ein Kapitel über den Beruf des Administrators voran, bevor es dann von Grund auf mit einer Erklärung des Bootvorgangs zur Sache geht. Die nachfolgenden Kapitel beschäftigen sich mit Festplatten und anderen Geräten, Dateisystemen, Berechtigungen und dem Paketmanagement (DEB und RPM). Es folgt ein Abschnitt über eine sehr wichtige Aufgabe des Admins, Backup und Recovery.
Danach geht es um konkrete Server-Typen. Hier starten die Autoren mit den Webservern Apache und Nginx sowie dem verwandten PHP-Server. Es folgt ein Relikt aus der Internet-Anfangszeit, der FTP-Server, dann der Mailserver. Hier kommen Postfix und Dovecot inklusive Anti-Spam- und Anti-Virus-Maßnahmen zur Sprache. Anschließend geht es um Datenbanken am Beispiel von MariaDB. Auf den folgenden Seiten werden das Logging (Syslog/Syslog-ng/Rsyslog) erklärt, dann Sinn und Zweck von Proxy-Servern und der Authentifizierungsdienst Kerberos. Um Fileserver drehen sich die folgenden beiden Kapitel zu Samba 4 und NFS, denen sich ausführliche Erklärungen zu LDAP und dem Druckserver CUPS anschließen.
Ein nächster, mit “Infrastruktur” überschriebener Buchteil behandelt die Themen Hochverfügbarkeit, Virtualisierung und Container. Weiter geht es mit der Netzwerkadministration, DNS und OpenSSH, gefolgt von einer Vorstellung kleinerer, aber nützlicher Tools und der Versionskontrolle mit CVS und Git. Der vorletzte Buchteil wendet sich der Automatisierung via Ansible sowie dem Monitoring mit Checkmk zu. Abschließend werden die Themen Sicherheit, Verschlüsselung und Zertifikate beleuchtet.
Alles in allem legt das Autorenkollektiv ein überaus umfangreiches, aber gut leserliches Werk vor, das sich dem Admin auch hervorragend zum Nachschlagen anbietet.







