Maximum vSphere is the comprehensive, up-to-the-minute, working reference for everyone who plans, implements, or administers VMware virtual infrastructure. Authored by top VMware consultants, it brings together proven best practices, tips, and solutions for achieving outstanding performance and reliability in your production environment.
This book brings together crucial knowledge you won’t find anywhere else, including powerful new vSphere 4 techniques drawn from the experiences of dozens of advanced practitioners. You’ll find sophisticated, expert coverage of virtual machines, vCenter Server, networking, storage, backups, vMotion, fault tolerance, vSphere management, installation, upgrades, security, and much more.
Author Eric Siebert takes the same hands-on approach that made his VMware® VI3 Implementation and Administration so popular with working professionals. Whether you’re implementing or managing vSphere 4, upgrading from older virtualization technologies, or taking new responsibilities in any VMware environment, you’ll find this bookindispensable.
Understanding how key vSphere 4 changes affect production environments Working with ESX and ESXi hosts and host profiles Getting “under the hood” with vSphere 4 virtual machines Making the most of vCenter Server and plug-ins Choosing and configuring storage for maximum efficiency vSphere Networking: physical/virtual NICs, standard/distributed vSwitches, Cisco Nexus 1000V, and more Monitoring and troubleshooting vSphere performance: CPU, memory, disk/storage, and other issues Backing up and recovering VMware environments Using advanced features, including High Availability (HA), Distributed Resource, Distributed Power Management (DPM) and Vmotion Managing vSphere through the client, Web access, command line, Management Assistant, Powershell, ESX Service Console, and third-party tools Building your own vSphere 4 lab Performing more efficient installations and upgrades
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
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!
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
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.
The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended FilesystemsProcess creation and schedulingSignals, interrupts, and the essential interfaces to device driversTimingSynchronization within the kernelInterprocess Communication (IPC) Program execution
Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
This practical pocket guide gets you up to speed quickly with Eclipse. It covers basic concepts, including Views and editors, as well as features that are not commonly understood, such as Perspectives and Launch Configurations. You'll learn how to write and debug your Java code--and how to integrate that code with tools such as Ant and JUnit. You'll also get a toolbox full of tips and tricks to handle common--and sometimes unexpected--tasks that you'll run across in your Java development cycle.
Additionally, the Eclipse IDE Pocket Guide has a thorough appendix detailing all of Eclipse's important views, menus, and commands.
The Eclipse IDE Pocket Guide is just the resource you need for using Eclipse, whether it's on a daily, weekly, or monthly basis. Put it in your back pocket, or just throw it in your backpack. With this guide in hand, you're ready to tackle the Eclipse programming environment.
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.
Whether you use Linux, Unix, or Windows, this new edition describes the essential practices previously handed down only from mentor to protégé. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even experts through difficult projects.
Other books tell you what commands to type. This book teaches you the cross-platform strategies that are timeless!
Have you ever had any of these problems?Have you been surprised to discover your backup tapes are blank? Ever spent a year launching a new service only to be told the users hate it? Do you have more incoming support requests than you can handle? Do you spend more time fixing problems than building the next awesome thing? Have you suffered from a botched migration of thousands of users to a new service? Does your company rely on a computer that, if it died, can’t be rebuilt? Is your network a fragile mess that breaks any time you try to improve it? Is there a periodic “hell month” that happens twice a year? Twelve times a year? Do you find out about problems when your users call you to complain? Does your corporate “Change Review Board” terrify you? Does each division of your company have their own broken way of doing things? Do you fear that automation will replace you, or break more than it fixes? Are you underpaid and overworked?
No vague “management speak” or empty platitudes. This comprehensive guide provides real solutions that prevent these problems and more!
flex & bison covers the same core functionality vital to Linux and Unix program development, along with several important new topics. You'll find revised tutorials for novices and references for advanced users, as well as an explanation of each utility's basic usage and simple, standalone applications you can create with them. With flex & bison, you'll discover the wide range of uses these flexible tools offer.
Address syntax crunching that regular expressions tools can't handleBuild compilers and interpreters, and handle a wide range of text processing functionsInterpret code, configuration files, or any other structured formatLearn key programming techniques, including abstract syntax trees and symbol tablesImplement a full SQL grammar-with complete sample codeUse new features such as pure (reentrant) lexers and parsers, powerful GLR parsers, and interfaces to C++
Version Control with Subversion is useful for people from a wide variety of backgrounds, from those with no previous version control experience to experienced system administrators.
Subversion is the perfect tool to track individual changes when several people collaborate on documentation or, particularly, software development projects. As a more powerful and flexible successor to the CVS revision control system, Subversion makes life so much simpler, allowing each team member to work separately and then merge source code changes into a single repository that keeps a record of each separate version.
Inside the updated edition Version Control with Subversion, you'll find:An introduction to Subversion and basic concepts behind version controlA guided tour of the capabilities and structure of Subversion 1.5Guidelines for installing and configuring Subversion to manage programming, documentation, or any other team-based projectDetailed coverage of complex topics such as branching and repository administrationAdvanced features such as properties, externals, and access controlA guide to best practicesComplete Subversion reference and troubleshooting guideIf you've never used version control, you'll find everything you need to get started. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.
bash Cookbook teaches shell scripting the way Unix masters practice the craft. It presents a variety of recipes and tricks for all levels of shell programmers so that anyone can become a proficient user of the most common Unix shell -- the bash shell -- and cygwin or other popular Unix emulation packages. Packed full of useful scripts, along with examples that explain how to create better scripts, this new cookbook gives professionals and power users everything they need to automate routine tasks and enable them to truly manage their systems -- rather than have their systems manage them.
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 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.
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
But if you're serious about your profession, intuition isn't enough. Perl Best Practices author Damian Conway explains that rules, conventions, standards, and practices not only help programmers communicate and coordinate with one another, they also provide a reliable framework for thinking about problems, and a common language for expressing solutions. This is especially critical in Perl, because the language is designed to offer many ways to accomplish the same task, and consequently it supports many incompatible dialects.
With a good dose of Aussie humor, Dr. Conway (familiar to many in the Perl community) offers 256 guidelines on the art of coding to help you write better Perl code--in fact, the best Perl code you possibly can. The guidelines cover code layout, naming conventions, choice of data and control structures, program decomposition, interface design and implementation, modularity, object orientation, error handling, testing, and debugging.
They're designed to work together to produce code that is clear, robust, efficient, maintainable, and concise, but Dr. Conway doesn't pretend that this is the one true universal and unequivocal set of best practices. Instead, Perl Best Practices offers coherent and widely applicable suggestions based on real-world experience of how code is actually written, rather than on someone's ivory-tower theories on howsoftware ought to be created.
Most of all, Perl Best Practices offers guidelines that actually work, and that many developers around the world are already using. Much like Perl itself, these guidelines are about helping you to get your job done, without getting in the way.
Praise for Perl Best Practices from Perl community members:
"As a manager of a large Perl project, I'd ensure that every member of my team has a copy of Perl Best Practices on their desk, and use it as the basis for an in-house style guide."-- Randal Schwartz
"There are no more excuses for writing bad Perl programs. All levels of Perl programmer will be more productive after reading this book."-- Peter Scott
"Perl Best Practices will be the next big important book in the evolution of Perl. The ideas and practices Damian lays down will help bring Perl out from under the embarrassing heading of "scripting languages". Many of us have known Perl is a real programming language, worthy of all the tasks normally delegated to Java and C++. With Perl Best Practices, Damian shows specifically how and why, so everyone else can see, too."-- Andy Lester
"Damian's done what many thought impossible: show how to build large, maintainable Perl applications, while still letting Perl be the powerful, expressive language that programmers have loved for years."-- Bill Odom
"Finally, a means to bring lasting order to the process and product of real Perl development teams."-- Andrew Sundstrom"Perl Best Practices provides a valuable education in how to write robust, maintainable Perl, and is a definitive citation source when coaching other programmers."-- Bennett Todd"I've been teaching Perl for years, and find the same question keeps being asked: Where can I find a reference for writing reusable, maintainable Perl code? Finally I have a decent answer."-- Paul Fenwick"At last a well researched, well thought-out, comprehensive guide to Perl style. Instead of each of us developing our own, we can learn good practices from one of Perl's most prolific and experienced authors. I recommend this book to anyone who prefers getting on with the job rather than going back and fixing errors caused by syntax and poor style issues."-- Jacinta Richardson"If you care about programming in any language read this book. Even if you don't intend to follow all of the practices, thinking through your style will improve it."-- Steven Lembark"The Perl community's best author is back with another outstanding book. There has never been a comprehensive reference on high quality Perl coding and style until Perl Best Practices. This book fills a large gap in every Perl bookshelf."-- Uri Guttman
UNIX application programming requires a mastery of system-level services. Making sense of the many functions-more than 1,100 functions in the current UNIX specification-is a daunting task, so for years programmers have turned to Advanced UNIX Programming for its clear, expert advice on how to use the key functions reliably.
An enormous number of changes have taken place in the UNIX environment since the landmark first edition. In Advanced UNIX Programming, Second Edition, UNIX pioneer Marc J. Rochkind brings the book fully up to date, with all-new, comprehensive coverage including:POSIX Solaris™ Linux® FreeBSD Darwin, the Mac™ OS X kernel And more than 200 new system calls
Rochkind's fully updated classic explains all the UNIX system calls you're likely to need, all in a single volume!Interprocess communication, networking (sockets), pseudo terminals, asynchronous I/O, advanced signals, realtime, and threads Covers the system calls you'll actually use-no need to plow through hundreds of improperly implemented, obsolete, and otherwise unnecessary system calls! Thousands of lines of example code include a Web browser and server, a keystroke recorder/player, and a shell complete with pipelines, redirection, and background processes Emphasis on the practical-ensuring portability, avoiding pitfalls, and much more!
Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming. Now completely updated, the second edition remains the choice for up-to-the-minute, in-depth coverage of the essential system-level services of the UNIX family of operating systems.
This book will show you how to use the BASH command-line interface and how to employ BASH's powerful programming abilities. Complete examples illustrate each aspect with colourised source code and full-colour screenshots depict the actual output.
Unix in easy steps begins by demonstrating BASH commands for system navigation and file manipulation so you will quickly become familiar with the command-line interface. It explains all the BASH basics before moving on to describe advanced features such as:command historycommand-line editingenvironment customisation.
This book then introduces BASH programming with examples of flow control, command switches, input/output, job control, and program debugging - allowing you to create your own executable programs by copying the book's examples.
Unix in easy steps has an easy-to-follow style that will appeal to:users who are completely new to Unix-based operating systemscasual users who wish to expand their knowledge of their computer system.those who would like to learn programming skills by writing useful shell scriptsthe student who is studying programming at school or collegethose seeking a career in computing and need a fundamental understanding of the BASH interpreter on Unix-based operating systems.
Wireless technology changes not only the way we talk to our devices, but also what we ask them to do. With greater flexibility, broader range, and increased mobility, wireless networks let us live, work, and think differently. Wireless networks also open up a vast range of tasty new hack possibilities, from fine-tuning network frequencies to hot-rodding handhelds.
The second edition of Wireless Hacks, co-authored by Rob Flickenger and Roger Weeks, brings readers more of the practical tips and tricks that made the first edition a runaway hit, selling nearly 30,000 copies. Completely revised and updated, this version includes over 30 brand new hacks, major overhauls of over 30 more, and timely adjustments and touchups to dozens of other hacks introduced in the first edition. From passive network scanning to aligning long-distance antennas, beefing up wireless network security, and beyond, Wireless Hacks answers real-life networking needs with direct solutions.
Flickenger and Weeks both have extensive experience in systems and network administration, and share a passion for making wireless more broadly available. The authors include detailed coverage for important new changes in specifications and in hardware and software, and they delve deep into cellular and Bluetooth technologies.
Whether you need your wireless network to extend to the edge of your desk, fit into your backpack, or cross county lines, the proven techniques in Wireless Hacks will show you how to get the coverage and functionality you're looking for.
–All about Newbus, the infrastructure used by FreeBSD to manage the hardware devices on your system
–How to work with ISA, PCI, USB, and other buses
–The best ways to control and communicate with the hardware devices from user space
–How to use Direct Memory Access (DMA) for maximum system performance
–The inner workings of the virtual null modem terminal driver, the USB printer driver, the Intel PCI Gigabit Ethernet adapter driver, and other important drivers
–How to use Common Access Method (CAM) to manage host bus adapters (HBAs)
Concise descriptions and extensive annotations walk you through the many code examples. Don't waste time searching man pages or digging through the kernel sources to figure out how to make that arcane bit of hardware work with your system. FreeBSD Device Drivers gives you the framework that you need to write any driver you want, now.
Greasemonkey has achieved a cult-like following in its short lifespan, but its uses are just beginning to be explored. Let's say you're shopping on an e-commerce site. You can create a script that will automatically display competitive prices for that particular product from other web sites. The possibilities are limited only by your imagination and your Greasemonkey expertise. Greasemonkey Hacks can't help you with the imagination part, but it can provide the expert hacks-complete with the sample code-you need to turn your brainstorms into reality.
More than just an essential collection of made-to-order Greasemonkey solutions, Greasemonkey Hacks is crammed with sample code, a Greasemonkey API reference, and a comprehensive list of resources, to ensure that every resource you need is available between its covers.
Some people are content to receive information from websites passively; some people want to control it. If you are one of the latter, Greasemonkey Hacks provides all the clever customizations and cutting-edge tips and tools you need to take command of any web page you view.
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.
Which is why we created Linux Server Hacks, Volume Two, a second collection of incredibly useful tips and tricks for finding and using dozens of open source tools you can apply to solve your sys admin problems. The power and flexibility of Linux and Open Source means that there is an astounding amount of great software out there waiting to be applied to your sys admin problems -- if only you knew about it and had enough information to get started. Hence, Linux Server Hacks, Volume Two.
This handy reference offers 100 completely new server management tips and techniques designed to improve your productivity and sharpen your administrative skills. Each hack represents a clever way to accomplish a specific task, saving you countless hours of searching for the right answer. No more sifting through man pages, HOWTO websites, or source code comments -- the only resource you need is right here. And you don't have to be a system administrator with hundreds of boxen to get something useful from this book as many of the hacks apply equally well to a single system or a home network.
Compiled by experts, these hacks not only give you the step-by-step instructions necessary to implement the software, but they also provide the context to truly enable you to learn the technology. Topics include:AuthenticationRemote GUI connectivityStorage managementFile sharing and synchronizing resourcesSecurity/lockdown instructionLog files and monitoringTroubleshootingSystem rescue, recovery, and repair
Whether they help you recover lost data, collect information from distributed clients, or synchronize administrative environments, the solutions found in Linux Server Hacks, Volume Two will simplify your life as a system administrator.
You'll learn how to perform common Unix tasks in Mac OS X, such as using Directory Services instead of the standard Unix /etc/passwd and /etc/group, and you'll be able to compile code, link to libraries, and port Unix software using either Leopard and Tiger. This book teaches you to:
Navigate the Terminal and understand how it differs from an xtermUse Open Directory (LDAP) and NetInfo as well as Directory ServicesCompile your code with GCC 4Port Unix programs to Mac OS X with FinkUse MacPorts to install free/open source softwareSearch through metadata with Spotlight's command-line utilitiesBuild the Darwin kernel
And there's much more. Mac OS X for Unix Geeks is the ideal survival guide to tame the Unix side of Leopard and Tiger. If you're a Unix geek with an interest in Mac OS X, you'll soon find that this book is invaluable.
A unique approach to running and administering Linux systems, Linux Annoyances for Geeks addresses the many poorly documented and under-appreciated topics that make the difference between a system you struggle with and a system you really enjoy. This book is for power users and system administrators who want to clear away barriers to using Linux for themselves and for less-trained users in their organizations.
This book meticulously tells you how to get a stubborn wireless card to work under Linux, and reveals little-known sources for wireless driversand information. It tells you how to add extra security to your systems, such as boot passwords, and how to use tools such as rescue disks to overcome overly zealous security measures in a pinch. In everyarea of desktop and server use, the book is chock full of advice based on hard-earned experience.
Author Michael Jang has spent many hours trying out software in a wide range of environments and carefully documenting solutions for the most popular Linux distributions. (The book focuses on Red Hat/Fedora, SUSE, and Debian.) Many of the topics presented here are previously undocumented or are discussed only in obscure email archives.
One of the valuable features of this book for system administrators and Linux proponents in general is the organization of step-by-step procedures that they can customize for naive end-users at their sites. Jang has taken into account not only the needs of a sophisticated readership, but the needs of other people those readers may serve.
Sometimes, a small thing for a user (such as being able to play a CD) or for an administrator (such as updating an organizations' systems from a central server) can make or break the adoption of Linux. This book helps you overcome the most common annoyances in deploying Linux, and trains you in the techniques that will help you overcome other problems you find along the way.
In keeping with the spirit of the Annoyances series, the book adopts a sympathetic tone that will quickly win you over. Rather than blaming you for possessing limited Linux savvy, Linux Annoyances for Geeks takes you along for a fun-filled ride as you master the system together.
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
Mac OS X: The Missing Manual, Leopard Edition is the authoritative book for Mac users of all technical levels and experience. If you're new to the Mac, this book gives you a crystal-clear, jargon-free introduction to the Dock, the Mac OS X folder structure, and the Mail application. There are also mini-manuals on iLife applications such as iMovie, iDVD, and iPhoto, and a tutorial for Safari, Mac's web browser.
This Missing Manual is amusing and fun to read, but Pogue doesn't take his subject lightly. Which new Leopard features work well and which do not? What should you look for? What should you avoid? Mac OS X: The Missing Manual, Leopard Edition offers an objective and straightforward instruction for using:Leopard's totally revamped FinderSpaces to group your windows and organize your Mac tasksQuick Look to view files before you open themThe Time Machine, Leopard's new backup featureSpotlight to search for and find anything in your MacFront Row, a new way to enjoy music, photos, and videosEnhanced Parental Controls that come with LeopardQuick tips for setting up and configuring your Mac to make it your ownThere's something new on practically every page of this new edition, and David Pogue brings his celebrated wit and expertise to every one of them. Mac's brought a new cat to town and Mac OS X: The Missing Manual, Leopard Edition is a great new way to tame it.
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.
Ubuntu Hacks is your one-stop source for all of the community knowledge you need to get the most out of Ubuntu: a collection of 100 tips and tools to help new and experienced Linux users install, configure, and customize Ubuntu. With this set of hacks, you can get Ubuntu Linux working exactly the way you need it to. Learn how to:Install and test-drive Ubuntu Linux.Keep your system running smoothlyTurn Ubuntu into a multimedia powerhouse: rip and burn discs, watch videos, listen to music, and moreTake Ubuntu on the road with Wi-Fi wireless networking, Bluetooth, etc.Hook up multiple displays and enable your video card's 3-D accelerationRun Ubuntu with virtualization technology such as Xen and VMwareTighten your system's securitySet up an Ubuntu-powered server
Ubuntu Hacks will not only show you how to get everything working just right, you will also have a great time doing it as you explore the powerful features lurking within Ubuntu.
"Put in a nutshell, this book is a collection of around 100 tips and tricks which the authors choose to call hacks, which explain how to accomplish various tasks in Ubuntu Linux. The so called hacks range from down right ordinary to the other end of the spectrum of doing specialised things...More over, each and every tip in this book has been tested by the authors on the latest version of Ubuntu (Dapper Drake) and is guaranteed to work. In writing this book, it is clear that the authors have put in a lot of hard work in covering all facets of configuring this popular Linux distribution which makes this book a worth while buy."
-- Ravi Kumar, Slashdot.org
In this book, you'll learn how to:
-Master the Dash and the Launcher.
-Get the most out of the desktop environment.
-Use the power of Nautilus
-Connect Ubuntu to networks.
-Create and eliminate user accounts.
-Back up your files.
-Install powerful apps from the Ubuntu Software Center.
-Employ System Monitor to tame your Ubuntu PC.
-Use the Terminal command line to perform advanced and powerful tasks.
-And many other tips.
Love clearly distinguishes between POSIX standard functions and special services offered only by Linux. With a new chapter on multithreading, this updated and expanded edition provides an in-depth look at Linux from both a theoretical and applied perspective over a wide range of programming topics, including:A Linux kernel, C library, and C compiler overviewBasic I/O operations, such as reading from and writing to filesAdvanced I/O interfaces, memory mappings, and optimization techniquesThe family of system calls for basic process managementAdvanced process management, including real-time processesThread concepts, multithreaded programming, and PthreadsFile and directory managementInterfaces for allocating memory and optimizing memory accessBasic and advanced signal interfaces, and their role on the systemClock management, including POSIX clocks and high-resolution timers