Editorial Reviews. About the Author. Michael Kerrisk has been using and programming UNIX eBook features: Highlight, take notes, and search in the book; In this edition, page numbers are just like the physical edition; Length: pages; Enhanced. “Michael Kerrisk has not only written a great book about Linux programming topics in The Linux Programming Interface makes it a must-have reference. The Linux Programming Interface is a comprehensive reference to the Linux API for experienced system programmers, Print Book and FREE Ebook, $
|Language:||English, Indonesian, Portuguese|
|ePub File Size:||23.72 MB|
|PDF File Size:||20.18 MB|
|Distribution:||Free* [*Registration Required]|
The Linux Programming Interface describes the Linux API (application programming interface)—the system calls, library functions, and other low-level interfaces. Read "The Linux Programming Interface A Linux and UNIX System Programming Handbook" by Michael Kerrisk available from Rakuten Kobo. Sign up today. Sign up today and get $5 off your first eBook. The Linux Programming Interface ( TLPI) is the definitive guide to the Linux and UNIX programming interface—the.
Unfortunately it sounds like I need the Kerrisk book too: sigh. Then this happened. I can only say that we were quite glad not to be dependent on that revenue stream Or Flattr buttons, maybe?
Easy for me to propose a whole list of improvements for other to implement, as always! I bought the Kerrisk book last night and another at the same time and am sorry LWN doesn't get a cent. This is a criminally underdocumented and seemingly little known feature Unix domain sockets within the filesystem are just ugly clutter, and serve no useful purpose The abstract namespace is a brilliant concept, which I wish all other Unices would steal For example, real filesystems allow me to use "lsof" to check the list of socket's clients.
Or to use common Unix permissions to control access. But, that's more a shortcoming of lsof than of abstract Unix domain sockets And, using filesystem permissions to control access of Unix domain sockets is highly unportable Many systems totally ignore perms on Unix domain sockets, making them effectively always , like symlinks That's not a shortcoming of lsof, but a shortcoming of having a separate namespace.
It goes against all the Unix traditions. Well, personally I don't care about other Unixes. However, ability to use AppArmor to restrict access to sockets somehow makes me feel more secure. Not when it comes to sockets, it doesn't How do you think lsof deals with those? Right, it has to deal with a separate namespace Just like it should be taught how to do with Linux's abstract Unix domain namespace What, aside from lsof, actually needs to ever reference a Unix domain socket by pathname as if it were a file, anyway?
It's not like you can just pass one to an arbitrary app which is expecting a file, and expect it to do anything sensible Like, for instance, you can do with a named pipe That's a case where existing in the filesystem is actually useful They're just special creatures that happen to be identified via a pathname You can't do that on a socket "file" I'm all in favor of "everything as a file", having used Unix-like systems for well over 20 years now But, I'm not in favor of leaving tons of file-like tokens scattered all over the filesystem, which can't actually be used like files for anything, and which only exist there for the sole purpose of having a unique name to identify them by Which is a shortcoming of Unix design which was fixed in 9p, btw.
How about security with AppArmor?
Review: The Linux Programming Interface
Does your namespace work with chroot? Also, unix sockets have a creation time which helped me once. Not really. How does Plan9 deal with this? Can you just open up a TCP socket, and somehow specify a host and port to connect to, or one to listen on? Once you do, does this process-specific socket exist as a separate file for others to see and interact with? I'm not sure I see how it makes much sense, in general Maybe, I know nothing about AppArmor My namespace?
Thanks for the credit, but I didn't invent it; I'm just a very big fan of it who regularly uses it I'm not sure I can really conceive of a real-world use for such a thing, however Well, not really; like any other file, they've got modify and change times But, yeah, both will generally reflect creation time I'm not really sure how that'd be of much help in general, though? Like which? For reasons other than permissions?
Not talking about directories or symlinks to them , I assume? Those you can at least readlink like a real symlink Is it really a lot? Even if so, at least you can open them If they had their own directory to live in which everyone used by convention, I wouldn't mind them nearly as much One huge benefit of abstract Unix domain sockets is no need to worry about unlink 'ing them when you're done, and dealing with the race conditions inherent in that They just go away when you exit or close the listening socket Daniel J.
Doug Tidwell. Hands-on Guide to the Red Hat Exams. Damian Tommasino. Clement Nedelcu.
William Maning. Sander van Vugt. Richard Stevens.
Squid Proxy Server 3. Beginner's Guide. Kulbir Saini. Mike Hotek. Mike Volodarsky. Understanding and Using C Pointers. Richard M Reese.
Bradley L. Duane Wessels. Brian Knight. Dimitri Aivaliotis.
Bill Calkins. The Complete Reference, 4th Edition. Herbert Schildt. Apache Security. Ivan Ristic.
Ross Mistry. Learning Nagios 3. Wojciech Kocjan. Oracle Database 10g Linux Administration. Edward Whalen. XSLT 2.
Michael Kay. Inside Windows Debugging.
Tarik Soulami. Wee-Hyong Tok. Developing Drivers with the Windows Driver Foundation.
Penny Orwick. Steven Pritchard. Certification Study Guide. Susan Lawson. Jon Mountjoy. C in a Nutshell.
Peter Prinz. Linux iptables Pocket Reference. Gregor N. Windows 7 Device Driver. Ronald D. Reeves Ph. Eric S. Alex Davies. Ed Burnette. NFS Illustrated. Brent Callaghan.
Oracle Identity and Access Manager 11g for Administrators. Atul Kumar. Learning the bash Shell. The timerfd API Introduction Thread Synchronization Mutexes Condition Variables Thread Safety and Per-Thread Storage Thread Cancellation Further Details Transferring Data via Shared Memory Unix Domain Remove FREE.
It is, in short, an excellent reference that will likely find its way onto the bookshelves of user-space developers and kernel hackers—including some who aren't necessarily primarily focused on Linux. The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.
The Linux Programming Interface: A Linux and Unix System Programming Handbook
In this authoritative work, Linux programming expert Michael Kerrisk provides detailed descriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs. Chapter 1 History and Standards 1. If you're new to Linux system programming, if you're a UNIX veteran focused on portability while interested in learning the Linux way, or if you're simply looking for an excellent reference about the Linux programming interface, then Michael Kerrisk's book is definitely the companion you want on your bookshelf.