The book details the major subsystems and features of the Linux kernel, including its design, implementation, and interfaces. It covers the Linux kernel with both a practical and theoretical eye, which should appeal to readers with a variety of interests and needs.
The author, a core kernel developer, shares valuable knowledge and experience on the 2.6 Linux kernel. Specific topics covered include process management, scheduling, time management and timers, the system call interface, memory addressing, memory management, the page cache, the VFS, kernel synchronization, portability concerns, and debugging techniques. This book covers the most interesting features of the Linux 2.6 kernel, including the CFS scheduler, preemptive kernel, block I/O layer, and I/O schedulers.
The third edition of Linux Kernel Development includes new and updated material throughout the book:An all-new chapter on kernel data structures Details on interrupt handlers and bottom halves Extended coverage of virtual memory and memory allocation Tips on debugging the Linux kernel In-depth coverage of kernel synchronization and locking Useful insight into submitting kernel patches and working with the Linux kernel community
Linux Bible, 9th Edition is the ultimate hands-on Linux user guide, whether you're a true beginner or a more advanced user navigating recent changes. This updated ninth edition covers the latest versions of Red Hat Enterprise Linux 7 (RHEL 7), Fedora 21, and Ubuntu 14.04 LTS, and includes new information on cloud computing and development with guidance on Openstack and Cloudforms. With a focus on RHEL 7, this practical guide gets you up to speed quickly on the new enhancements for enterprise-quality file systems, the new boot process and services management, firewalld, and the GNOME 3 desktop. Written by a Red Hat expert, this book provides the clear explanations and step-by-step instructions that demystify Linux and bring the new features seamlessly into your workflow.
This useful guide assumes a base of little or no Linux knowledge, and takes you step by step through what you need to know to get the job done.Get Linux up and running quickly Master basic operations and tackle more advanced tasks Get up to date on the recent changes to Linux server system management Bring Linux to the cloud using Openstack and Cloudforms
Linux Bible, 9th Edition is the one resource you need, and provides the hands-on training that gets you on track in a flash.
Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel’s current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down–from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking.
This Second Edition
• Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization
• Describes new security features such as Capsicum sandboxing and GELI cryptographic disk protection
• Fully covers NFSv4 and Open Solaris ZFS support
• Introduces FreeBSD’s enhanced volume management and new journaled soft updates
• Explains DTrace’s fine-grained process debugging/profiling
• Reflects major improvements to networking, wireless, and USB support
Readers can use this guide as both a working reference and an in-depth study of a leading contemporary, portable, open source operating system. Technical and sales support professionals will discover both FreeBSD’s capabilities and its limitations. Applications developers will learn how to effectively and efficiently interface with it; system administrators will learn how to maintain, tune, and configure it; and systems programmers will learn how to extend, enhance, and interface with it.
Marshall Kirk McKusick writes, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California, Berkeley, he implemented the 4.2BSD fast filesystem. He was research computer scientist at the Berkeley Computer Systems Research Group (CSRG), overseeing development and release of 4.3BSD and 4.4BSD. He is a FreeBSD Foundation board member and a long-time FreeBSD committer. Twice president of the Usenix Association, he is also a member of ACM, IEEE, and AAAS.
George V. Neville-Neil hacks, writes, teaches, and consults on security, networking, and operating systems. A FreeBSD Foundation board member, he served on the FreeBSD Core Team for four years. Since 2004, he has written the “Kode Vicious” column for Queue and Communications of the ACM. He is vice chair of ACM’s Practitioner Board and a member of Usenix Association, ACM, IEEE, and AAAS.
Robert N.M. Watson is a University Lecturer in systems, security, and architecture in the Security Research Group at the University of Cambridge Computer Laboratory. He supervises advanced research in computer architecture, compilers, program analysis, operating systems, networking, and security. A FreeBSD Foundation board member, he served on the Core Team for ten years and has been a committer for fifteen years. He is a member of Usenix Association and ACM.
Steve carefully retains the spirit and approach that have made this book so valuable. Building on Rich’s pioneering work, he begins with files, directories, and processes, carefully laying the groundwork for more advanced techniques, such as signal handling and terminal I/O. He also thoroughly covers threads and multithreaded programming, and socket-based IPC.
This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores. Most obsolete interfaces have been removed, except for a few that are ubiquitous. Nearly all examples have been tested on four modern platforms: Solaris 10, Mac OS X version 10.6.8 (Darwin 10.8.0), FreeBSD 8.0, and Ubuntu version 12.04 (based on Linux 3.2).
As in previous editions, you’ll learn through examples, including more than ten thousand lines of downloadable, ISO C source code. More than four hundred system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you’ve learned, the book presents several chapter-length case studies, each reflecting contemporary environments.
Advanced Programming in the UNIX® Environment has helped generations of programmers write code with exceptional power, performance, and reliability. Now updated for today’s systems, this third edition will be even more valuable.
vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi.
However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too.
With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic.
Learning the vi and vim Editors includes:
A complete introduction to text editing with vi:How to move around vi in a hurryBeyond the basics, such as using buffersvi's global search and replacementAdvanced editing, including customizing vi and executing Unix commands
How to make full use of vim:Extended text objects and more powerful regular expressionsMulti-window editing and powerful vim scriptsHow to make full use of the GUI version of vim, called gvimvim's enhancements for programmers, such as syntax highlighting, folding and extended tags
Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet.
Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.
Linux Pocket Guide provides an organized learning path to help you gain mastery of the most useful and important commands. Whether you’re a novice who needs to get up to speed on Linux or an experienced user who wants a concise and functional reference, this guide provides quick answers.
Selected topics include:The filesystem and shellFile creation and editingText manipulation and pipelinesBackups and remote storageViewing and controlling processesUser account managementBecoming the superuserNetwork connectionsAudio and videoInstalling softwareProgramming with shell scripts
As more corporations adopt Linux as the networking backbone for theirIT systems, the demand for certified technicians will becomeeven greater. Passing the LPI exams will broaden your career optionsbecause the LPICis the most widely known and respected Linux certification program intheworld. Linux Journal recognized the LPI as the bestTraining andCertification Program. The exams were developed by the LinuxProfessional Institute,an international, volunteer-driven organization with affiliates in adozen countries.
The core LPI exams cover two levels. Level 1 tests a basic knowledge ofLinux installation, configuration, and command-lineskills. Level 2 goes into much more depth regarding systemtroubleshooting andnetwork services such as email and the Web. The second edition of LPILinuxCertification in a Nutshell is a thoroughly researchedreference to these exams. The book is divided into four parts, one foreach of theLPI exams. Each part features not only a summary of the core skills youneed, but sample exercises and test questions, along with helpful hintsto letyou focus your energies.
Major topics include:GNU and Unix commandsLinux installation and package managementDevices, filesystems, and kernel configurationText editing, processing, and printingThe X Window SystemNetworking fundamentals and troubleshootingSecurity, including intrusion detection, SSH, Kerberos, andmoreDNS, DHCP, file sharing, and other networking infrastructureEmail, FTP, and Web services
Praise for the first edition:
"Although O'Reilly's Nutshell series are intended as 'DesktopReference' manuals, I have to recommend this one as a goodall-round read; not only as a primer for LPI certification, but as anexcellent introductory text on GNU/Linux. In all, this is a valuableaddition toO'Reilly's already packed stable of Linux titles and I look forward tomore from the author."--First Monday
The Most Useful Linux Tutorial and Reference, with Hundreds of High-Quality Examples for Every Distribution–Now Covers OS X and Perl, Too!
To be truly productive with Linux, you need to thoroughly master shells and the command line. Until now, you had to buy two books to gain that mastery: a tutorial on fundamental Linux concepts and techniques, plus a separate reference. Now, there’s a far better solution. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools system administrators, developers, and power users need most, and an outstanding day-to-day reference, both in the same book.
This book is 100 percent distribution and release agnostic: You can use it with any Linux system, now and for years to come. Use Macs, too? This new edition adds comprehensive coverage of the Mac OS X command line, including essential OS X-only tools and utilities other Linux/UNIX books ignore.
Packed with hundreds of high-quality, realistic examples, this book gives you Linux from the ground up: the clearest explanations and most useful knowledge about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions. Sobell has also added an outstanding new primer on Perl, the most important programming tool for Linux admins seeking to automate complex, time-consuming tasks.
A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition, is the only book to deliverBetter, more realistic examples covering tasks you’ll actually need to perform Deeper insight, based on Sobell’s immense knowledge of every Linux and OS X nook and cranny A start-to-finish primer on Perl for every system administrator In-depth coverage of basic and advanced Linux shell programming with bash and tcsh Practical explanations of 100 core utilities, from aspell to xargs–including Mac OS X specific utilities from ditto to SetFile All-new coverage of automating remote backups with rsync Dozens of system security tips, including step-by-step walkthroughs of implementing secure communications using ssh and scp Tips and tricks for customizing the shell and using it interactively from the command line Complete guides to high-productivity editing with both vim and emacs A comprehensive, 286-page command reference section–now with revised and expanded indexes for faster access to the information you need Instructions for updating systems automatically with apt-get and yum Dozens of exercises to help you practice and gain confidence And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
Like the popular O'Reilly book, Understanding the Linux Kernel, this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn a great deal from this text about the protocols themselves and their uses. And if you already have a base knowledge of C, you can use the book's code walkthroughs to figure out exactly what this sophisticated part of the Linux kernel is doing.
Part of the difficulty in understanding networks -- and implementing them -- is that the tasks are broken up and performed at many different times by different pieces of code. One of the strengths of this book is to integrate the pieces and reveal the relationships between far-flung functions and data structures. Understanding Linux Network Internals is both a big-picture discussion and a no-nonsense guide to the details of Linux networking. Topics include:Key problems with networkingNetwork interface card (NIC) device driversSystem initializationLayer 2 (link-layer) tasks and implementationLayer 3 (IPv4) tasks and implementationNeighbor infrastructure and protocols (ARP)BridgingRoutingICMP
Author Christian Benvenuti, an operating system designer specializing in networking, explains much more than how Linux code works. He shows the purposes of major networking features and the trade-offs involved in choosing one solution over another. A large number of flowcharts and other diagrams enhance the book's understandability.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Linux has emerged as today’s #1 operating system for embedded products. Christopher Hallinan’s Embedded Linux Primer has proven itself as the definitive real-world guide to building efficient, high-value, embedded systems with Linux. Now, Hallinan has thoroughly updated this highly praised book for the newest Linux kernels, capabilities, tools, and hardware support, including advanced multicore processors.
Drawing on more than a decade of embedded Linux experience, Hallinan helps you rapidly climb the learning curve, whether you’re moving from legacy environments or you’re new to embedded programming. Hallinan addresses today’s most important development challenges and demonstrates how to solve the problems you’re most likely to encounter.
You’ll learn how to build a modern, efficient embedded Linux development environment, and then utilize it as productively as possible. Hallinan offers up-to-date guidance on everything from kernel configuration and initialization to bootloaders, device drivers to file systems, and BusyBox utilities to real-time configuration and system analysis. This edition adds entirely new chapters on UDEV, USB, and open source build systems.Tour the typical embedded system and development environment and understand its concepts and components. Understand the Linux kernel and userspace initialization processes. Preview bootloaders, with specific emphasis on U-Boot. Configure the Memory Technology Devices (MTD) subsystem to interface with flash (and other) memory devices. Make the most of BusyBox and latest open source development tools. Learn from expanded and updated coverage of kernel debugging. Build and analyze real-time systems with Linux. Learn to configure device files and driver loading with UDEV. Walk through detailed coverage of the USB subsystem. Introduces the latest open source embedded Linux build systems. Reference appendices include U-Boot and BusyBox commands.
Running a network doesn't mean you have all the answers. Networking is a complex subject with reams of reference material that's difficult to keep straight, much less remember. If you want a book that lays out the steps for specific tasks, that clearly explains the commands and configurations, and does not tax your patience with endless ramblings and meanderings into theory and obscure RFCs, this is the book for you.
You will find recipes for:Building a gateway, firewall, and wireless access point on a Linux networkBuilding a VoIP server with AsteriskSecure remote administration with SSHBuilding secure VPNs with OpenVPN, and a Linux PPTP VPN serverSingle sign-on with Samba for mixed Linux/Windows LANsCentralized network directory with OpenLDAPNetwork monitoring with Nagios or MRTGGetting acquainted with IPv6Setting up hands-free networks installations of new systemsLinux system administration via serial consoleAnd a lot more. Each recipe includes a clear, hands-on solution with tested code, plus a discussion on why it works. When you need to solve a network problem without delay, and don't have the time or patience to comb through reference books or the Web for answers, Linux Networking Cookbook gives you exactly what you need.
The Linux Programmer's Toolbox helps you tap into the vast collection of open source tools available for GNU/Linux. Author John Fusco systematically describes the most useful tools available on most GNU/Linux distributions using concise examples that you can easily modify to meet your needs.
You'll start by learning the basics of downloading, building, and installing open source projects. You'll then learn how open source tools are distributed, and what to look for to avoid wasting time on projects that aren't ready for you. Next, you'll learn the ins and outs of building your own projects. Fusco also demonstrates what to look for in a text editor, and may even show you a few new tricks in your favorite text editor.
You'll enhance your knowledge of the Linux kernel by learning how it interacts with your software. Fusco walks you through the fundamentals of the Linux kernel with simple, thought-provoking examples that illustrate the principles behind the operating system. Then he shows you how to put this knowledge to use with more advanced tools. He focuses on how to interpret output from tools like sar, vmstat, valgrind, strace, and apply it to your application; how to take advantage of various programming APIs to develop your own tools; and how to write code that monitors itself.
Next, Fusco covers tools that help you enhance the performance of your software. He explains the principles behind today's multicore CPUs and demonstrates how to squeeze the most performance from these systems. Finally, you'll learn tools and techniques to debug your code under any circumstances.
Coverage includesMaximizing productivity with editors, revision control tools, source code browsers, and "beautifiers" Interpreting the kernel: what your tools are telling you Understanding processes–and the tools available for managing them Tracing and resolving application bottlenecks with gprof and valgrind Streamlining and automating the documentation process Rapidly finding help, solutions, and workarounds when you need them Optimizing program code with sar, vmstat, iostat, and other tools Debugging IPC with shell commands: signals, pipes, sockets, files, and IPC objects Using printf, gdb, and other essential debugging tools
About the Author
Chapter 1 Downloading and Installing Open Source Tools
Chapter 2 Building from Source
Chapter 3 Finding Help
Chapter 4 Editing and Maintaining Source Files
Chapter 5 What Every Developer Should Know about the Kernel
Chapter 6 Understanding Processes
Chapter 7 Communication between Processes
Chapter 8 Debugging IPC with Shell Commands
Chapter 9 Performance Tuning
Chapter 10 Debugging
Serving as a low-cost, secure alternative to expensive operating systems, Linux is a UNIX-based, open source operating system. Full-color and concise, this beginner's guide takes a learning-by-doing approach to understanding the essentials of Linux. Each chapter begins by clearly identifying what you will learn in the chapter, followed by a straightforward discussion of concepts that leads you right into hands-on tutorials. Chapters conclude with additional exercises and review questions, allowing you to reinforce and measure your understanding.Offers a hands-on approach to acquiring a foundation of Linux skills, aiming to ensure Linux beginners gain a solid understanding Uses the leading Linux distribution Fedora to demonstrate tutorials and examples Addresses Linux installation, desktop configuration, management of files and filesystems, remote administration, security, and more
This book is essential reading for anyone entering the world of Linux!
No distribution can provide a Linux kernel that meets all users'needs. Computers big and small have special requirements that requirereconfiguring and rebuilding the kernel. Whether you are trying toget sound, wireless support, and power management working on a laptopor incorporating enterprise features such as logical volume managementon a large server, you can benefit from the insights in this book.
Linux Kernel in a Nutshell covers the entirerange of kernel tasks, starting with downloading the source and makingsure that the kernel is in sync with the versions of the tools youneed. In addition to configuration and installation steps, the bookoffers reference material and discussions of related topics such ascontrol of kernel options at runtime.
A key benefit of the book is a chapter on determining exactly what drivers are needed for your hardware. Also included are recipes thatlist what you need to do to accomplish a wide range of popular tasks.
--Alan Cox, Linux Guru and Key Kernel Developer
“Very comprehensive and detailed, covering almost every single Linux device driver type.”
--Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation
The Most Practical Guide to Writing Linux Device Drivers
Linux now offers an exceptionally robust environment for driver development: with today’s kernels, what once required years of development time can be accomplished in days. In this practical, example-driven book, one of the world’s most experienced Linux driver developers systematically demonstrates how to develop reliable Linux drivers for virtually any device. Essential Linux Device Drivers is for any programmer with a working knowledge of operating systems and C, including programmers who have never written drivers before. Sreekrishnan Venkateswaran focuses on the essentials, bringing together all the concepts and techniques you need, while avoiding topics that only matter in highly specialized situations. Venkateswaran begins by reviewing the Linux 2.6 kernel capabilities that are most relevant to driver developers. He introduces simple device classes; then turns to serial buses such as I2C and SPI; external buses such as PCMCIA, PCI, and USB; video, audio, block, network, and wireless device drivers; user-space drivers; and drivers for embedded Linux–one of today’s fastest growing areas of Linux development. For each, Venkateswaran explains the technology, inspects relevant kernel source files, and walks through developing a complete example.
• Addresses drivers discussed in no other book, including drivers for I2C, video, sound, PCMCIA, and different types of flash memory
• Demystifies essential kernel services and facilities, including kernel threads and helper interfaces
• Teaches polling, asynchronous notification, and I/O control
• Introduces the Inter-Integrated Circuit Protocol for embedded Linux drivers
• Covers multimedia device drivers using the Linux-Video subsystem and Linux-Audio framework
• Shows how Linux implements support for wireless technologies such as Bluetooth, Infrared, WiFi, and cellular networking
• Describes the entire driver development lifecycle, through debugging and maintenance
• Includes reference appendixes covering Linux assembly, BIOS calls, and Seq files
Advanced Linux Programming is divided into two parts. The first covers generic UNIX system services, but with a particular eye towards Linux specific information. This portion of the book will be of use even to advanced programmers who have worked with other Linux systems since it will cover Linux specific details and differences. For programmers without UNIX experience, it will be even more valuable. The second section covers material that is entirely Linux specific. These are truly advanced topics, and are the techniques that the gurus use to build great applications. While this book will focus mostly on the Application Programming Interface (API) provided by the Linux kernel and the C library, a preliminary introduction to the development tools available will allow all who purchase the book to make immediate use of Linux.
The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O.
This book offers an in-depth description of the IEEE operating system interface standard, POSIXAE (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset.
Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.
The latest edition of this bestselling reference brings Unix into the 21st century. It's been reworked to keep current with the broader state of Unix in today's world and highlight the strengths of this operating system in all its various flavors.
Detailing all Unix commands and options, the informative guide provides generous descriptions and examples that put those commands in context. Here are some of the new features you'll find in Unix in a Nutshell, Fourth Edition:Solaris 10, the latest version of the SVR4-based operating system, GNU/Linux, and Mac OS XBash shell (along with the 1988 and 1993 versions of ksh)tsch shell (instead of the original Berkeley csh)Package management programs, used for program installation on popular GNU/Linux systems, Solaris and Mac OS XGNU Emacs Version 21Introduction to source code management systemsConcurrent versions systemSubversion version control systemGDB debugger
As Unix has progressed, certain commands that were once critical have fallen into disuse. To that end, the book has also dropped material that is no longer relevant, keeping it taut and current.
If you're a Unix user or programmer, you'll recognize the value of this complete, up-to-date Unix reference. With chapter overviews, specific examples, and detailed command.
Mark Sobell’s A Practical Guide to Ubuntu Linux®, Third Edition, is the most thorough and up-to-date reference to installing, configuring, and working with Ubuntu, and also offers comprehensive coverage of servers—critical for anybody interested in unleashing the full power of Ubuntu.
This edition has been fully updated for Ubuntu 10.04 (Lucid Lynx), a milestone Long Term Support (LTS) release, which Canonical will support on desktops until 2013 and on servers until 2015.
Sobell walks you through every essential feature and technique, from installing Ubuntu to working with GNOME, Samba, exim4, Apache, DNS, NIS, LDAP, g ufw, firestarter, iptables, even Perl scripting. His exceptionally clear explanations demystify everything from networking to security.
You’ll find full chapters on running Ubuntu from the command line and desktop (GUI), administrating systems, setting up networks and Internet servers, and much more. Fully updated JumpStart sections help you get complex servers running—often in as little as five minutes.
Sobell draws on his immense Linux knowledge to explain both the “hows” and the “whys” of Ubuntu. He’s taught hundreds of thousands of readers and never forgets what it’s like to be new to Linux. Whether you’re a user, administrator, or programmer, you’ll find everything you need here—now, and for many years to come.
The world’s most practical Ubuntu Linux book is now even more useful!
This book deliversHundreds of easy-to-use Ubuntu examples Important networking coverage, including DNS, NFS, and Cacti Coverage of crucial Ubuntu topics such as sudo and the Upstart init daemon More detailed, usable coverage of Internet server configuration, including Apache (Web) and exim4 (email) servers State-of-the-art security techniques, including up-to-date firewall setup techniques using gufw and iptables, and a full chapter on OpenSSH A complete introduction to Perl scripting for automated administration Deeper coverage of essential admin tasks–from managing users to CUPS printing, configuring LANs to building a kernel Complete instructions on keeping Ubuntu systems up-to-date using aptitude, Synaptic, and the Software Sources window And much more...including a 500+ term glossary
The vast majority of Unix users utilize the Korn shell or some variant of the Bourne shell, such as bash. Three are covered in the third edition of Unix Shell Programming. It begins with a generalized tutorial of Unix and tools and then moves into detailed coverage of shell programming.
Topics covered include: regular expressions, the kernel and the utilities, command files, parameters, manipulating text filters, understanding and debugging shell scripts, creating and utilizing variables, tools, processes, and customizing the shell.
This book not only teaches you how to troubleshoot Linux, it shows you how the system works–so you can attack any problem at its root. Should you reinstall if Linux does not boot? Or can you save time by troubleshooting the problem? Can you enhance performance when Linux hangs or runs slowly? Can you overcome problems with printing or accessing a network? This book provides easy-to-follow examples and an extensive look at the tools, commands, and scripts that make Linux run properly.A troubleshooting guide for all Linux users: Focuses on common problems with start-up, printing, login, the network, security, and more Restore Linux when boot, startup, or shutdown fails–and reinstall Linux properly when all troubleshooting fails Explains how to use some of the most popular Linux performance tools, including top, sar, vmstat, iostat, and free Handle storage problems and CPU slamming to ensure high Linux performance Solve hardware device problems by deciphering error messages and using the lspci tool Use backup/recover commands and tape libraries to create proper backups Identify and correct remote and network printing problems using spooler commands
Gone are the days of searching online for solutions that are out of date and unreliable. Whether you are a system admin, developer, or user, this book is an invaluable resource for ensuring that Linux runs smoothly, efficiently, and securely.
SELinux: Bring World-Class Security to Any Linux Environment!
SELinux offers Linux/UNIX integrators, administrators, and developers a state-of-the-art platform for building and maintaining highly secure solutions. Now that SELinux is included in the Linux 2.6 kernel—and delivered by default in Fedora Core, Red Hat Enterprise Linux, and other major distributions—it’s easier than ever to take advantage
of its benefits.
SELinux by Example is the first complete, hands-on guide to using SELinux in production environments. Authored by three leading SELinux researchers and developers, it illuminates every facet of working with SELinux, from its architecture and security object model to its policy language. The book thoroughly explains SELinux sample policies— including the powerful new Reference Policy—showing how to quickly adapt them to your unique environment. It also contains a comprehensive SELinux policy language reference and covers exciting new features in Fedora Core 5 and the upcoming Red Hat Enterprise Linux version 5.
• Thoroughly understand SELinux’s access control and security mechanisms
• Use SELinux to construct secure systems from the ground up
• Gain fine-grained control over kernel resources
• Write policy statements for type enforcement, roles, users, and constraints
• Use optional multilevel security to enforce information classification and manage users with diverse clearances
• Create conditional policies that can be changed on-the-fly
• Define, manage, and maintain SELinux security policies
• Develop and write new SELinux security policy modules
• Leverage emerging SELinux technologies to gain even greater flexibility
• Effectively administer any SELinux system
Linux All-in-One For Dummies explains everything you need to get up and running with the popular Linux operating system. Written in the friendly and accessible For Dummies style, the book ideal for new and intermediate Linux users, as well as anyone studying for level-1 Linux certification. The eight minibooks inside cover the basics of Linux, interacting with it, networking issues, Internet services, administration, security, scripting, and level-1 certification.Covers every major topic for anyone just getting familiar with Linux Includes a test-prep section for passing the level-1 Linux certification exam Written by the expert author of more than thirty books, including CompTIA Security+ Study Guide, 3rd Edition
Including everything beginners need to know to get started with Linux, Linux All-in-One For Dummies, 5th Edition is the ultimate resource and reference for aspiring professionals.
Written by the leading authority on CompTIA A+ certification and training, this self-study set has been thoroughly updated to cover 100% of the topics covered on the latest edition of the exam. New topics include managing and maintaining cellular devices, including tablets; configuring operating systems, including Windows 8, Android, and iOS; and enhanced, mobile-centered security and troubleshooting procedures. The All-in-One Exam Guide enables you to take the test with complete confidence. It also serves as a practical reference for IT support and technical personnel.
Bonus electronic content includes:Practice exams with hundreds of accurate questions More than an hour of video training featuring Mike Meyers Performance-based simulations that prepare you for the performance-based questions on the exam A collection of Mike's favorite free PC tools
Key Features include:Written with the “in the trenches” voice and clarity Mike Meyers is known for Features pre-assessment tests, exam tips, and “Try This!” sections to reinforce difficult topics Includes a coupon for 10% off of the exam fee, a $37 value
In the Guide, you'll learn how to:
-Copy, move, and delete files and directories.
-Create, delete, and manage users.
-Create, delete, and manage groups.
-Use virtual terminals.
-Use the bash shell.
-Safely use the root account with su and sudo.
-Change permissions and ownership of files and directories.
-Create and edit text files from the command line, without using a graphical editor.
-Diagnose network connectivity problems.
-And many other topics.
Home automation used to be limited to turning on lights and appliances, and maybe controlling your thermostat and lawn sprinkler, from your computer. While you still might not be able to create all the Jetsons’ toys, today you can alsoBuild a wireless network Create and set up a weather station Automate your TV and sound system Spy on your pets when you’re not home Set up an answering system that knows what to do with calls Increase your home’s security
If you know how to use Linux and a few basic development tools — Perl, the BASH shell, development libraries, and the GNU C compiler—Linux Smart Homes For Dummies will help you do all these tricks and more. For example, you canDiscover the best sources for Linux-based home automation devices Set up a wireless network, create a wireless access point, build a bridge between wired and wireless networks, and route your own network traffic Build a personal video recorder with MythTV that will record to DVD, or set up a wireless streaming music system Create a smart phone system that takes messages and forwards them to your fax, modem, or answering machine Build a weather station that notifies you of severe weather alerts Control and secure your home automation network, and even check on your house when you’re away
The bonus CD-ROM includes all kinds of cool open source software for your home automation projects. Linux Smart Homes For Dummies even includes lists of cool gadgets to check out and great ways to automate those boring household chores. A smart home’s a happy home!
The book's four major sections build your knowledge with the foundational elements of system administration. These sections guide you through better techniques for upgrades and change management, catalog best practices for IT services, and explore various management topics. Chapters are divided into The Basics and The Icing. When you get the Basics right it makes every other aspect of the job easier--such as automating the right things first. The Icing sections contain all the powerful things that can be done on top of the basics to wow customers and managers.
Inside, you'll find advice on topics such asThe key elements your networks and systems need in order to make all other services run better Building and running reliable, scalable services, including web, storage, email, printing, and remote access Creating and enforcing security policies Upgrading multiple hosts at one time without creating havoc Planning for and performing flawless scheduled maintenance windows Managing superior helpdesks and customer care Avoiding the "temporary fix" trap Building data centers that improve server uptime Designing networks for speed and reliability Web scaling and security issues Why building a backup system isn't about backups Monitoring what you have and predicting what you will need How technically oriented workers can maintain their job's technical focus (and avoid an unwanted management role) Technical management issues, including morale, organization building, coaching, and maintaining positive visibility Personal skill techniques, including secrets for getting more done each day, ethical dilemmas, managing your boss, and loving your job System administration salary negotiation
It's no wonder the first edition received Usenix SAGE's 2005 Outstanding Achievement Award!
This eagerly anticipated second edition updates this time-proven classic:Chapters reordered for easier navigation Thousands of updates and clarifications based on reader feedback Plus three entirely new chapters: Web Services, Data Storage, and Documentation
We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. Who are these people, what motivates them, and why should you care?
Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.
Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls "an intellectual Wild West."
The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.
This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.
Get the Linux commands for system administration and network managementUse hundreds of the most important shell commands available on LinuxUnderstand the Bash shell command-line interpreterSearch and process text with regular expressionsManage your servers via virtualization with Xen and VMwareUse the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation toolsProcess text files with the sed editor and the gawk programming languageManage source code with Subversion and git
The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Popular Linux Distribution
Linux is today’s dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference.
This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.
Use a Mac? You’ll find coverage of the Mac OS X command line, including OS X-only tools and utilities other Linux/UNIX titles ignore. Sobell presents a new MySQL chapter. There’s even an expert introduction to Python–today’s most valuable tool for automating complex, time-consuming administration tasks.
This book takes you step-by-step through many fun and educational possibilities. Take advantage of several preloaded programming languages. Use the Raspberry Pi with Arduino. Create Internet-connected projects. Play with multimedia. With Raspberry Pi, you can do all of this and more.Get acquainted with hardware features on the Pi’s board Learn enough Linux to move around the operating system Pick up the basics of Python and Scratch—and start programming Draw graphics, play sounds, and handle mouse events with the Pygame framework Use the Pi’s input and output pins to do some hardware hacking Discover how Arduino and the Raspberry Pi complement each other Integrate USB webcams and other peripherals into your projects Create your own Pi-based web server with Python
Using Trolltech's Qt you can build industrial-strength C++ applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux without source code changes. Now, two Trolltech insiders have written a start-to-finish guide to getting outstanding results with the latest version of Qt: Qt 4.3.
Packed with realistic examples and in-depth advice, this is the book Trolltech uses to teach Qt to its own new hires. Extensively revised and expanded, it reveals today's best Qt programming patterns for everything from implementing model/view architecture to using Qt 4.3's improved graphics support. You'll find proven solutions for virtually every GUI development task, as well as sophisticated techniques for providing database access, integrating XML, using subclassing, composition, and more. Whether you're new to Qt or upgrading from an older version, this book can help you accomplish everything that Qt 4.3 makes possible.Completely updated throughout, with significant new coverage of databases, XML, and Qtopia embedded programming Covers all Qt 4.2/4.3 changes, including Windows Vista support, native CSS support for widget styling, and SVG file generation Contains separate 2D and 3D chapters, coverage of Qt 4.3's new graphics view classes, and an introduction to QPainter's OpenGL back-end Includes new chapters on look-and-feel customization and application scripting Illustrates Qt 4's model/view architecture, plugin support, layout management, event processing, container classes, and much more Presents advanced techniques covered in no other book—from creating plugins to interfacing with native APIs Includes a new appendix on Qt Jambi, the new Java version of Qt
Master Red Hat RHCSA (EX200) and RHCE (EX300) exam topicsAssess your knowledge with chapter-opening quizzes Review key concepts with exam preparation tasks Test yourself with 4 practice exams (2 RHCSA and 2 RHCE) Gain expertise and knowledge using the companion website, which contains over 40 interactive exercises, 4 advanced CLI simulations, 40 interactive quizzes and glossary quizzes (one for each chapter), 3 virtual machines and more.
Red Hat RHCSA/RHCE 7 Cert Guide presents you with an organized test preparation routine through the use of proven series elements and techniques. “Do I Know This Already?” quizzes open each chapter and allow you to decide how much time you need to spend on each section. Exam topic lists make referencing easy. Chapter-ending labs help you drill on key concepts you must know thoroughly.
Red Hat RHCSA/RHCE 7, Premium Edition eBook and Practice Test focuses specifically on the objectives for the newest Red Hat RHCSA (EX200) and RHCE (EX300) exams reflecting Red Hat Enterprise Linux 7. Expert Linux trainer and consultant Sander van Vugt shares preparation hints and test-taking tips, helping you identify areas of weakness and improve both your conceptual knowledge and hands-on skills. Material is presented in a concise manner, focusing on increasing your understanding and retention of exam topics.
Well-regarded for its level of detail, assessment features, comprehensive design scenarios, and challenging review questions and exercises, this study guide helps you master the concepts and techniques that will allow you to succeed on the exam the first time.
This study guide helps you master all the topics on the new RHCSA (EX200) and RHCE (EX300) exams, including
Part 1: RHCSABasic System Management: Installation, tools, text files, server connections; user, group, and permissions management; network configuration Operating Running Systems: Process management, VMs, package installation, task scheduling, logging, managing partitions and LVM logical volumes Advanced System Administration: Basic kernel management, basic Apache server configuration, boot procedures/troubleshooting Managing Network Services: Using Kickstart; managing SELinux; configuring firewalls, remote mounts, FTP, and time services
Part 2: RHCESystem Configuration/Management: External authentication/authorization, iSCSI SANs, performance reporting, optimization, logging, routing/advanced networking, Bash scripting System Security: Configuring firewalls, advanced Apache services, DNS, MariaDB, NFS, Samba, SMTP, SSH, and time synchronization
The third edition of this book is a meticulously researched reference to these exams, written by trainers who work closely with LPI. You'll find an overview of each exam, a summary of the core skills you need, review questions and exercises, as well as a study guide, a practice test, and hints to help you focus.
Major topics include:Critical GNU and Unix commandsLinux installation and package managementDevices and filesystemsText editing, processing, and printingThe X Window SystemNetworking and securityMail transfer agentsEmail, FTP, and web services
These exams are for junior to mid-level Linux administrators with about two years of practical system administration experience. You should be comfortable with Linux at the command line and capable of performing simple tasks, including system installation and troubleshooting.
Written by the winner of the 2013 LISA Award for Outstanding Achievement in System Administration
Large-scale enterprise, cloud, and virtualized computing systems have introduced serious performance challenges. Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux® and Unix® performance, while illuminating performance issues that are relevant to all operating systems. You’ll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu®, Fedora®, CentOS, and the illumos-based Joyent® SmartOS™ and OmniTI OmniOS®. He systematically covers modern systems performance, including the “traditional” analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the “unknown unknowns” of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish.
• Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques
• Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf
• Kernel internals: uncovering what the OS is doing
• Using system observability tools, interfaces, and frameworks
• Understanding and monitoring application performance
• Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling
• Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators
• File system I/O, including caching
• Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O
• Network-related performance issues: protocols, sockets, interfaces, and physical connections
• Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing
• Benchmarking: getting accurate results and avoiding common mistakes
This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg’s extensive instructional experience.