Showing posts with label Open Source. Show all posts
Showing posts with label Open Source. Show all posts

Monday, November 14, 2011

A Practical Guide to Linux Commands, Editors and Shell programming






Praise for the First Edition of A Practical Guide to Linux Commands, Editors, and Shell Programming

“First Sobell taught people how to use Linux…now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.”
—Jon “maddog” Hall, Executive Director, Linux International

“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-tounderstand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straight-forward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”
—Ray Bartlett, Travel Writer

“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux—the command line and its utilities—and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”
—Dan Clough, Electronics Engineer and Slackware Linux user

“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”
—Bjorn Tipling, Software Engineer, ask.com

“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”
—Chad Perrin, Writer, TechRepublic

Praise for Other Books by Mark G. Sobell

“I keep searching for books that collect everything you want to know about a subject in one place, and keep getting disappointed. Usually the books leave out some important topic, while others go too deep in some areas and must skim lightly over the others. A Practical Guide to Red Hat® Linux® is one of those rare books that actually pulls it off. Mark G. Sobell has created a single reference for Red Hat Linux that can’t be beat! This marvelous text (with a 4-CD set of Linux Fedora Core 2 included) is well worth the price. This is as close to an ‘everything you ever needed to know’ book that I’ve seen. It’s just that good and rates 5 out of 5.”
—Ray Lodato, Slashdot contributor

“Mark Sobell has written a book as approachable as it is authoritative.”
—Jeffrey Bianchine, Advocate, Author, Journalist

“Excellent reference book, well suited for the sysadmin of a Linux cluster, or the owner of a PC contemplating installing a recent stable Linux. Don’t be put off by the daunting heft of the book. Sobell has strived to be as inclusive as possible, in trying to anticipate your system administration needs.”
—Wes Boudville, Inventor

“A Practical Guide to Red Hat® Linux® is a brilliant book. Thank you Mark Sobell.”
—C. Pozrikidis, University of California at San Diego

“This book presents the best overview of the Linux operating system that I have found. . . . [It] should be very helpful and understandable no matter what the reader’s background: traditional UNIX user, new Linux devotee, or even Windows user. Each topic is presented in a clear, complete fashion, and very few assumptions are made about what the reader knows. . . . The book is extremely useful as a reference, as it contains a 70-page glossary of terms and is very well indexed. It is organized in such a way that the reader can focus on simple tasks without having to wade through more advanced topics until they are ready.”
—Cam Marshall, Marshall Information Service LLC, Member of Front Range UNIX Users Group [FRUUG], Boulder, Colorado

“Conclusively, this is THE book to get if you are a new Linux user and you just got into the RH/Fedora world. There’s no other book that discusses so many different topics and in such depth.”
—Eugenia Loli-Queru, Editor in Chief, OSNews.com


Another OpenSource Books
Another Linux Books
Download

Wednesday, September 28, 2011

MMURTL V1.0






MMURTL-V1.0 - is a book that is very popular among computer programmers interested in the internal workings of a computer operating system. Cover from previous printing (SAMS/MacMillan)Shown to the left as originally printed, it was previously titled "Developing Your own 32 Bit Operating System" (ISBN 0-672-30655-7) and was published by SAMS/MacMillan. We have renamed the book MMURTL-V1.0 (ISBN 1-58853-000-0) and the printed version is a "Perfect Bind" soft cover (see the additional picture at very bottom of page). It was renamed because this is the name that the author had originally intended. MMURTL is a bad acronym for Message based MUltitasking Real Time kerneL (to quote the author: "Hey.. all the good acronyms were taken!").

This is literally a "how to book" on writing a computer operating system, and includes the assembler and C language code to build one. In fact, it contains the complete operating system source code, an assembler and C compiler, along with their source code, on the accompanying CD! This is the exact text of the original book except where the author has made very minor corrections where the original text was incorrect (editing mistakes, typos, etc.). You may view the first chapter which is an overview of the book, and the author's goals with the link in the table below


The PDF ebook is approximately 2.7 Mb. Total size of all files to download is approximately 8.5 Mb. The printed version is approximately 604 pages, while the PDF version is 667 pages. The printed version also contains a complete index generated by the author.


Cover from new printed versionThis is the cover of the second printing by Sensory Publishing, Inc.
Ordering the book here on our servers (and after a successful credit card purchase on the secure servers) takes you to a page with all the files that can be downloaded which includes the PDF ebook, and the code package which contains all the source code for MMURTL, the assembler and C compiler. The download page will exist for your convenience for 36 to 48 hours to allow you to download all the available files. Ordering the printed version also gives you immediate access to the download files. Complete downloads are logged and checked against all orders. PLEASE NOTE: This book may not be returned as it contains valuable software that we have no way to track. This book is intended for intermediate to advanced programmers.


Another Open Source Books

Download

Thursday, July 7, 2011

Eclipse Step-by-Step






by Joe Pluta ISBN:1583470441
MC Press © 2003
Written for beginners with no knowledge of Java, this tutorial walks through the process of creating graphical business applications with Java development tooling (JDT) feature and the software widget toolkit (SWT) in the Eclipse open source framework.





Table of Contents
Eclipse―Step by Step
Foreword
Step 1 - Welcome to Eclipse!
Step 2 - Installing Eclipse
Step 3 - Introducing the Workbench
Step 4 - The Resource Perspective
Step 5 - The Java Perspective
Step 6 - The Debug Perspective
Step 7 - A Simple Program
Step 8 - Running and Debugging
Step 9 - The User Interface
Step 10 - Adding the Database
SideStep 1 - Install a Java Runtime
SideStep 2 - Install WinZip
SideStep 3 - Download Eclipse
SideStep 4 - On Things GUI
SideStep 5 - Start Your SQL Engines
Index
List of Figures
List of Sidebars

Another Open Source Books
Another Software Engineering Books
Another Programming Language Books
Download

Thursday, June 16, 2011

Teach Yourself SQL in 21 Days Second Edition






Table of Contents:

Introduction

Week 1 at a Glance

Day 1 Introduction to SQL
Day 2 Introduction to the Query: The SELECT Statement
Day 3 Expressions, Conditions, and Operators
Day 4 Functions: Molding the Data You Retrieve
Day 5 Clauses in SQL
Day 6 Joining Tables
Day 7 Subqueries: The Embedded SELECT Statement

Week 1 in Review
Week 2 at a Glance

Day 8 Manipulating Data
Day 9 Creating and Maintaining Tables
Day 10 Creating Views and Indexes
Day 11 Controlling Transactions
Day 12 Database Security
Day 13 Advanced SQL Topics
Day 14 Dynamic Uses of SQL

Week 2 in Review
Week 3 at a Glance

Day 15 Streamlining SQL Statements for Improved Performance
Day 16 Using Views to Retrieve Useful Information from the Data Dictionary
Day 17 Using SQL to Generate SQL Statements
Day 18 PL/SQL: An Introduction
Day 19 Transact-SQL: An Introduction
Day 20 SQL*Plus
Day 21 Common SQL Mistakes/Errors and Resolutions

Week 3 in Review
Appendixes

A Glossary of Common SQL Statements
B Source Code Listings for the C++ Program Used on Day 14
C Source Code Listings for the Delphi Program Used on Day 14
D Resources
E ASCII Table
F Answers to Quizzes and Excercises


Another Open Source Books
Another Data Base Books
Download

Thursday, April 7, 2011

Interprocess Communications in Linux







Interprocess Communications in Linux®: The Nooks & Crannies
By John Shapley Gray

Publisher : Prentice Hall PTR
Pub Date : January 13, 2003
ISBN : 0-13-046042-7



Copyright
Introduction
Acknowledgments
Chapter 1. Programs and Processes
Section 1.1. Introduction
Section 1.2. Library Functions
Section 1.3. System Calls
Section 1.4. Linking Object Code
Section 1.5. Managing Failures
Section 1.6. Executable File Format
Section 1.7. System Memory
Section 1.8. Process Memory
Section 1.9. The u Area
Section 1.10. Process Memory Addresses
Section 1.11. Creating a Process
Section 1.12. Summary
Section 1.13. Key Terms and Concepts

Section 2.1. Introduction
Section 2.2. Process ID
Section 2.3. Parent Process ID
Section 2.4. Process Group ID
Section 2.5. Permissions
Section 2.6. Real and Effective User and Group IDs
Section 2.7. File System Information
Section 2.8. File Information
Section 2.9. Process Resource Limits
Section 2.10. Signaling Processes
Section 2.11. Command-Line Values
Section 2.12. Environment Variables
Section 2.13. The /proc Filesystem
Section 2.14. Summary
Section 2.15. Key Terms and Concepts

Chapter 3. Using Processes
Section 3.1. Introduction
Section 3.2. The fork System Call Revisited
Section 3.3. exec's Minions
Section 3.4. Using fork and exec Together
Section 3.5. Ending a Process
Section 3.6. Waiting on Processes
Section 3.7. Summary
Section 3.8. Key Terms and Concepts

Chapter 4. Primitive Communications
Section 4.1. Introduction
Section 4.2. Lock Files
Section 4.3. Locking Files
Section 4.4. More About Signals
Section 4.5. Signal and Signal Management Calls
Section 4.6. Summary
Section 4.7. Key Terms and Concepts

Chapter 5. Pipes
Section 5.1. Introduction
Section 5.2. Unnamed Pipes
Section 5.3. Named Pipes
Section 5.4. Summary
Section 5.5. Key Terms and Concepts

Chapter 6. Message Queues
Section 6.1. Introduction
Section 6.2. IPC System Calls: A Synopsis
Section 6.3. Creating a Message Queue
Section 6.4. Message Queue Control
Section 6.5. Message Queue Operations
Section 6.6. A Client–Server Message Queue Example
Section 6.7. Message Queue Class
Section 6.8. Summary
Section 6.9. Key Terms and Concepts

Chapter 7. Semaphores
Section 7.1. Introduction
Section 7.2. Creating and Accessing Semaphore Sets
Section 7.3. Semaphore Control
Section 7.4. Semaphore Operations
Section 7.5. Semaphore Class
Section 7.6. Summary
Section 7.7. Key Terms and Concepts

Chapter 8. Shared Memory
Section 8.1. Introduction
Section 8.2. Creating a Shared Memory Segment
Section 8.3. Shared Memory Control
Section 8.4. Shared Memory Operations
Section 8.5. Using a File as Shared Memory
Section 8.6. Shared Memory Class
Section 8.7. Summary
Section 8.8. Key Terms and Concepts

Chapter 9. Remote Procedure Calls
Section 9.1. Introduction
Section 9.2. Executing Remote Commands at a System Level
Section 9.3. Executing Remote Commands in a Program
Section 9.4. Transforming a Local Function Call into a Remote Procedure
Section 9.5. Debugging RPC Applications
Section 9.6. Using RPCGEN to Generate Templates and a MAKEFILE
Section 9.7. Encoding and Decoding Arbitrary Data Types
Section 9.8. Using Broadcasting to Search for an RPC Service
Section 9.9. Summary
Section 9.10. Key Terms and Concepts

Chapter 10. Sockets
Section 10.1. Introduction
Section 10.2. Communication Basics
Section 10.3. IPC Using Socketpair
Section 10.4. Sockets: The Connection-Oriented Paradigm
Section 10.5. Sockets: The Connectionless Paradigm
Section 10.6. Multiplexing I/O with select
Section 10.7. Peeking at Data
Section 10.8. Out of Band Messages
Section 10.9. Summary
Section 10.10. Key Terms and Concepts

Chapter 11. Threads
Section 11.1. Introduction
Section 11.2. Creating a Thread
Section 11.3. Exiting a Thread
Section 11.4. Basic Thread Management
Section 11.5. Thread Attributes
Section 11.6. Scheduling Threads
Section 11.7. Using Signals in Threads
Section 11.8. Thread Synchronization
Section 11.9. Thread-Specific Data
Section 11.10. Debugging Multithreaded Programs
Section 11.11. Summary
Section 11.12. Nomenclature and Key Concepts

Appendix A. Using Linux Manual Pages
Section A.1. Manual Page Sections
Section A.2. Manual Page Format
Section A.3. Standard Linux System Calls

Appendix B. UNIX Error Messages
Appendix C. RPC Syntax Diagrams
Section C.1. Introduction
Section C.2. RPC Definitions
Section C.3. RPC Keywords
Section C.4. Some RPC Examples

Appendix D. Profiling Programs
Section D.1. Introduction
Section D.2. Sample Program for Profiling
Section D.3. Generating Profile Data
Section D.4. Viewing and Interpreting Profile Data

Appendix E. Bibliography

Another Linux Books
Another Open Source Books
Another Parallel Programming Books
Download

Thursday, March 3, 2011

A Practical Guide To Ubuntu Linux






Contents
Preface xxxvi
Chapter 1: Welcome to Linux 1
The GNU–Linux Connection 2
The History of GNU–Linux 2
The Code Is Free 4
Have Fun! 5
The Linux 2.6 Kernel 5
The Heritage of Linux: UNIX 5
What Is So Good About Linux? 6
Why Linux Is Popular with Hardware Companies and Developers 7
Linux Is Portable 8
Standards 9
The C Programming Language 9
Ubuntu Linux 10
Overview of Linux 10
Linux Has a Kernel Programming Interface 10
Linux Can Support Many Users 11
Linux Can Run Many Tasks 11
Linux Provides a Secure Hierarchical Filesystem 12
The Shell: Command Interpreter and Programming Language
A Large Collection of Useful Utilities 14
Interprocess Communication 14
System Administration 15
Additional Features of Linux 15
GUIs: Graphical User Interfaces 15
(Inter)Networking Utilities 16
Software Development 17
Conventions Used in This Book 17
Chapter Summary 20
Exercises 20
PART I Installing Ubuntu Linux 21
Chapter 2: Installation Overview 23
The Live/Install Desktop CD/DVD 24
More Information 24
Planning the Installation 25
Considerations 25
Requirements 25
Processor Architecture 26
Interfaces: Installer and Installed System 27
Ubuntu Releases 28
Ubuntu Editions 28
Installing a Fresh Copy or Upgrading an Existing Ubuntu System? 29
Setting Up the Hard Disk 30
RAID 34
LVM: Logical Volume Manager 35
The Installation Process 36
Downloading and Burning a CD/DVD 37
The Easy Way to Download a CD ISO Image File 37
Other Ways to Download a CD/DVD ISO Image File 37
Verifying an ISO Image File 40
Burning the CD/DVD 40
Gathering Information About the System 41
Chapter Summary 42
Exercises 43
Advanced Exercises 43
Chapter 3: Step-by-Step Installation 45
Basic Installation from the Live/Install Desktop CD/DVD 46
Booting the System 46
Checking the CD/DVD for Defects 47
Live Session 47
Graphical Partitioners 53
gparted: the GNOME Partition Editor 53
ubiquity: Setting Up Partitions 56
Upgrading to a New Release 59
Installing KDE 60
Setting Up a Dual-Boot System 61
Creating Free Space on a Windows System 61
Installing Ubuntu Linux as the Second Operating System 61
Advanced Installation 62
The Live/Install Desktop CD: The Initial Install Screen 62
The Alternate CD Initial Install Screen Menu 65
The Server CD Initial Install Screen Menu 66
The DVD 67
The Ubuntu Textual Installer 67
The X Window System 74
displayconfig-gtk: Configures the Display 75
The xorg.conf File 77
gdm: Displays a Graphical Login 82
Chapter Summary 83
Exercises 83
Advanced Exercises 84
PART II Getting Started with Ubuntu Linux 85
Chapter 4: Introduction to Ubuntu Linux 87
Curbing Your Power: root Privileges/sudo 88
A Tour of the Ubuntu Linux Desktop 89
Logging In on the System 89
Introduction 90
Launching Programs from the Desktop 91
Switching Workspaces 93
Setting Personal Preferences 94
Mouse Preferences 95
Working with Windows 96
Using Nautilus to Work with Files 96
The Update Notifier 100
Changing Appearances (Themes) 102
Session Management 104
Getting Help 104
Feel Free to Experiment 105
Logging Out 105
Getting the Most out of the Desktop 105
GNOME Desktop Terminology 105
Opening Files 106
Panels 107
The Main Menu 110
Windows 111
The Object Context Menu 115
Updating, Installing, and Removing Software Packages 119
Software Sources Window 119
Add/Remove Applications 120
Synaptic: Finds, Installs, and Removes Software 121
Where to Find Documentation 124
Ubuntu Help Center 124
man: Displays the System Manual 124
info: Displays Information About Utilities 126
The ––help Option 129
HOWTOs: Finding Out How Things Work 129
Getting Help with the System 130
More About Logging In 132
The Login Screen 132
What to Do if You Cannot Log In 133
Logging In Remotely: Terminal Emulators, ssh, and Dial-Up Connections 133
Logging In from a Terminal (Emulator) 134
Changing Your Password 135
Using Virtual Consoles 136
Working from the Command Line 136
Correcting Mistakes 137
Repeating/Editing Command Lines 139
Controlling Windows: Advanced Operations 139
Changing the Input Focus 139
Changing the Resolution of the Display 140
The Window Manager 141
Chapter Summary 142
Exercises 143
Advanced Exercises 144
Chapter 5: The Linux Utilities 145
Special Characters 146
Basic Utilities 147
ls: Lists the Names of Files 147
cat: Displays a Text File 147
rm: Deletes a File 148
less Is more: Display a Text File One Screen at a Time 148
hostname: Displays the System Name 149
Working with Files 149
cp: Copies a File 149
mv: Changes the Name of a File 150
lpr: Prints a File 151
grep: Searches for a String 151
head: Displays the Beginning of a File 152
tail: Displays the End of a File 152
sort: Displays a File in Order 153
uniq: Removes Duplicate Lines from a File 154
diff: Compares Two Files 154
file: Tests the Contents of a File 155
| (Pipe): Communicates Between Processes 156
Four More Utilities 157
echo: Displays Text 157
date: Displays the Time and Date 157
script: Records a Shell Session 158
unix2dos: Converts Linux and Macintosh Files to Windows Format
Compressing and Archiving Files 159
bzip2: Compresses a File 160
bunzip2 and bzcat: Decompress a File 160
gzip: Compresses a File 161
tar: Packs and Unpacks Archives 161
Locating Commands 164
which and whereis: Locate a Utility 164
apropos: Searches for a Keyword 165
slocate: Searches for a File 166
Obtaining User and System Information 166
who: Lists Users on the System 167
finger: Lists Users on the System 167
w: Lists Users on the System 169
Communicating with Other Users 170
write: Sends a Message 170
mesg: Denies or Accepts Messages 171
Email 171
Tutorial: Creating and Editing a File with vim 172
Starting vim 172
Command and Input Modes 174
Entering Text 175
Getting Help 176
Ending the Editing Session 178
The compatible Parameter 179
Chapter Summary 179
Exercises 181
Advanced Exercises 182
Chapter 6: The Linux Filesystem 183
The Hierarchical Filesystem 184
Directory Files and Ordinary Files 184
Filenames 185
The Working Directory 188
Your Home Directory 188
Pathnames 189
Absolute Pathnames 189
Relative Pathnames 190
Directory Commands 191
mkdir: Creates a Directory 191
Imprtant Standard Directories and Files 194
Working with Directories 196
rmdir: Deletes a Directory 196
Using Pathnames 197
mv, cp: Move or Copy Files 197
mv: Moves a Directory 198
Access Permissions 199
ls –l: Displays Permissions 199
chmod: Changes Access Permissions 200
Setuid and Setgid Permissions 201
Directory Access Permissions 202
ACLs: Access Control Lists 203
Enabling ACLs 204
Working with Access Rules 204
Setting Default Rules for a Directory 207
Links 209
Hard Links 210
Symbolic Links 212
rm: Removes a Link 214
Chapter Summary 214
Exercises 216
Advanced Exercises 218
Chapter 7: The Shell 219
The Command Line 220
Syntax 220
Processing the Command Line 223
Executing the Command Line 225
Editing the Command Line 225
Standard Input and Standard Output 226
The Screen as a File 226
The Keyboard and Screen as Standard Input and Standard Output
Redirection 228
Pipes 234
Running a Program in the Background 237
Filename Generation/Pathname Expansion 239
The ? Special Character 239
* Special Character 240
The
The [ ] Special Characters 241
Builtins 243
Chapter Summary 244
Utilities and Builtins Introduced in This Chapter 245
Exercises 245
Advanced Exercises 247
PART III Digging into Ubuntu Linux 249
Chapter 8: Linux GUIs: X and GNOME 251
X Window System 252
Using X 254
Window Managers 259
The Nautilus File Browser Window 260
The View Pane 261
The Side Pane 261
Control Bars 262
Menubar 263
GNOME Utilities 266
Deskbar Applet 266
Font Preferences 267
Pick a Font Window 268
Pick a Color Window 268
Run Application Window 269
Searching for Files 269
GNOME Terminal Emulator/Shell 270
Chapter Summary 271
Exercises 272
Advanced Exercises 272
Chapter 9: The Bourne Again Shell 275
Background 276
Shell Basics 277
Startup Files 277
Commands That Are Symbols 280
Redirecting Standard Error 280
Writing a Simple Shell Script 282
Separating and Grouping Commands 286
Job Control 290
Manipulating the Directory Stack 292
Parameters and Variables 295
User-Created Variables 296
Variable Attributes 299
Keyword Variables 301
Special Characters 309
Processes 310
Process Structure 310
Process Identification 310
Executing a Command 312
History 312
Variables That Control History 312
Reexecuting and Editing Commands 314
The Readline Library 322
Aliases 328
Single Versus Double Quotation Marks in Aliases 329
Examples of Aliases 330
Functions 331
Controlling bash Features and Options 334
Command Line Options 334
Shell Features 334
Processing the Command Line 338
History Expansion 338
Alias Substitution 338
Parsing and Scanning the Command Line 338
Command Line Expansion 339
Chapter Summary 347
Exercises 349
Advanced Exercises 351
Chapter 10: Networking and the Internet 353
Types of Networks and How They Work 355
Broadcast Networks 356
Point-to-Point Networks 356
Switched Networks 356
LAN: Local Area Network 357
WAN: Wide Area Network 358
Internetworking Through Gateways and Routers 358
Network Protocols 361
Host Address 363
CIDR: Classless Inter-Domain Routing 367
Hostnames 368
Communicate Over a Network 370
finger: Displays Information About Remote Users 370
Sending Mail to a Remote User 371
Mailing List Servers 372
Network Utilities 372
Trusted Hosts 372
OpenSSH Tools 373
telnet: Logs In on a Remote System 373
ftp: Transfers Files Over a Network 375
ping: Tests a Network Connection 375
traceroute: Traces a Route Over the Internet 376
host and dig: Query Internet Nameservers 378
jwhois: Looks Up Information About an Internet Site 378
Distributed Computing 379
The Client/Server Model 380
DNS: Domain Name Service 381
Ports 383
NIS: Network Information Service 383
NFS: Network Filesystem 383
Internet Services 384
Proxy Servers 387
RPC Network Services 387
Usenet 388
WWW: World Wide Web 390
URL: Uniform Resource Locator 391
Browsers 392
Search Engines 392
Chapter Summary 392
Exercises 393
Advanced Exercises 394
Chapter 11: Programming the Bourne Again Shell 395
Control Structures 396
if...then 396
if...then...else 400
if...then...elif 403
for...in 409
for 410
while 412
until 416
break and continue 418
case 419
select 425
Here Document 427
File Descriptors 429
Parameters and Variables 432
Array Variables 432
Locality of Variables 434
Special Parameters 436
Positional Parameters 438
Expanding Null and Unset Variables 443
Builtin Commands 444
type: Displays Information About a Command 445
read: Accepts User Input 445
exec: Executes a Command 448
trap: Catches a Signal 451
kill: Aborts a Process 454
getopts: Parses Options 454
A Partial List of Builtins 457
Expressions 458
Arithmetic Evaluation 458
Logical Evaluation (Conditional Expressions) 459
String Pattern Matching 460
Operators 461
Shell Programs 466
A Recursive Shell Script 467
The quiz Shell Script 470
Chapter Summary 476
Exercises 478
Advanced Exercises 480
PART IV System Administration 483
Chapter 12: System Administration:
Core Concepts 485
Running Commands with root Privileges 487
sudo: Running a Command with root Privileges 490
sudoers: Configuring sudo 494
Unlocking the root Account (Assigning a Password to root)
su: Gives You Another User’s Privileges 499
The Upstart Event-Based init Daemon 500
Software Packages 501
Definitions 501
Jobs 503
SysVinit (rc) Scripts: Start and Stop System Services 507
System Operation 510
Runlevels 510
Booting the System 511
Recovery (Single-User) Mode 512
Going to Multiuser Mode 515
Logging In 516
Logging Out 517
Bringing the System Down 518
Crash 519
Avoiding a Trojan Horse 520
Getting Help 522
Textual System Administration Utilities 522
kill: Sends a Signal to a Process 522
Other Textual Utilities 525
Setting Up a Server 527
Standard Rules in Configuration Files 528
rpcinfo: Displays Information About portmap 530
The inetd and xinetd Superservers 531
Securing a Server 532
DHCP: Configures Network Interfaces 538
nsswitch.conf: Which Service to Look at First 542
How nsswitch.conf Works 542
PAM 545
More Information 546
Configuration Files, Module Types, and Control Flags 546
Example 548
Modifying the PAM Configuration 549
Chapter Summary 550
Exercises 551
Advanced Exercises 551
Chapter 13: Files, Directories, and Filesystems 553
Imprtant Files and Directories 554
File Types 566
Ordinary Files, Directories, Links, and Inodes 566
Special Files 567
Filesystems 570
mount: Mounts a Filesystem 572
umount: Unmounts a Filesystem 575
fstab: Keeps Track of Filesystems 576
fsck: Checks Filesystem Integrity 577
tune2fs: Changes Filesystem Parameters 578
RAID Filesystem 580
Chapter Summary 580
Exercises 580
Advanced Exercises 581
Chapter 14: Downloading and Installing Software 583
JumpStart: Installing and Removing Packages Using aptitude 585
Finding the Package That Holds a File You Need 587
APT: Keeps the System Up-to-Date 588
Repositories 588
sources.list: Specifies Repositories for APT to Search 589
The APT Local Package Indexes and the APT Cache 590
The apt cron Script and APT Configuration Files 590
aptitude: Works with Packages and the Local Package Index 592
apt-cache: Displays Package Information 596
apt-get source: Downloads Source Files 598
dpkg: The Debian Package Management System 598
deb Files 599
dpkg: The Foundation of the Debian Package Management System 600
BitTorrent 604
Installing Non-dpkg Software 607
The /opt and /usr/local Directories 607
GNU Configure and Build System 607
wget: Downloads Files Noninteractively 609
Chapter Summary 610
Exercises 610
Advanced Exercises 610
Chapter 15: Printing with CUPS 611
Introduction 612
Prerequisites 612
More Information 613
Notes 613
JumpStart I: Configuring a Local Printer 614
system-config-printer: Configuring a Printer 614
Configuration Tabs 614
Setting Up a Remote Printer 616
JumpStart II: Configuring a Remote Printer Using the CUPS Web Interface
Traditional UNIX Printing 622
Configuring Printers 624
The CUPS Web Interface 624
CUPS on the Command Line 626
Sharing CUPS Printers 629
Printing from Windows 630
Printing Using CUPS 631
Printing Using Samba 631
Printing to Windows 632
Chapter Summary 633
Exercises 633
Advanced Exercises 633
Chapter 16: Building a Linux Kernel 635
Prerequisites 636
Downloading the Kernel Source Code 637
aptitude: Downloading and Installing the Kernel Source Code 637
git: Obtaining the Latest Kernel Source Code 637
Read the Documentation 638
Configuring and Compiling the Linux Kernel 639
.config: Configures the Kernel 639
Customizing a Kernel 640
Cleaning the Source Tree 642
Compiling a Kernel Image File and Loadable Modules 643
Using Loadable Kernel Modules 643
Installing the Kernel, Modules, and Associated Files 646
Rebooting 647
grub: The Linux Boot Loader 647
menu.lst: Configures grub 648
update-grub: Updates the menu.lst file 651
grub-install: Installs the MBR and grub Files 653
dmesg: Displays Kernel Messages 654
Chapter Summary 655
Exercises 656
Advanced Exercises 656
Chapter 17: Administration Tasks 657
Configuring User and Group Accounts 658
users-admin: Manages User Accounts 658
useradd: Adds a User Account 660
userdel: Removes a User Account 661
usermod: Modifies a User Account 661
groupadd: Adds a Group 661
groupdel: Removes a Group 661
Backing Up Files 662
Choosing a Backup Medium 663
Backup Utilities 663
Performing a Simple Backup 665
dump , restore: Back Up and Restore Filesystems 666
Scheduling Tasks 668
cron and anacron: Schedule Routine Tasks 668
at: Runs Occasional Tasks 671
System Reports 671
vmstat: Reports Virtual Memory Statistics 671
top: Lists Processes Using the Most Resources 672
parted: Reports on and Partitions a Hard Disk 673
Keeping Users Informed 677
Creating Problems 678
Solving Problems 679
Helping When a User Cannot Log In 679
Speeding Up the System 680
lsof: Finds Open Files 681
Keeping a Machine Log 681
Keeping the System Secure 682
Log Files and Mail for root 683
Monitoring Disk Usage 683
logrotate: Manages Log Files 684
Removing Unused Space from Directories 686
Disk Quota System 687
syslogd: Logs System Messages 688
Chapter Summary 690
Exercises 690
Advanced Exercises 691
Chapter 18: Configuring a LAN 693
Setting Up the Hardware 694
Connecting the Computers 694
Routers 695
NIC: Network Interface Card 695
Tools 695
Configuring the Systems 697
network-admin: Configures Network Connections 698
nm-applet: Configures Network Connections Automatically 700
iwconfig: Configures a Wireless NIC 700
Setting Up Servers 702
More Information 703
Chapter Summary 703
Exercises 704
Advanced Exercises 704
PART V Using Clients and Setting Up Servers 705
Chapter 19: OpenSSH: Secure Network
Communication 707
Introduction 708
About OpenSSH 708
Files 708
How OpenSSH Works 710
More Information 711
OpenSSH Clients 711
Prerequisites 711
JumpStart: Using ssh and scp 711
Setup 712
ssh: Connects to or Executes Commands on a Remote System 714
scp: Copies Files to and from a Remote System 716
sftp: A Secure FTP Client 718
~/.ssh/config and /etc/ssh/ssh_config Configuration Files 718
sshd: OpenSSH Server 720
Prerequisites 720
Note 720
JumpStart: Starting the sshd Daemon 720
Authorized Keys: Automatic Login 721
Command Line Options 722
/etc/ssh/sshd_config Configuration File 722
Troubleshooting 724
Tunneling/Port Forwarding 725
Chapter Summary 727
Exercises 728
Advanced Exercises 728
Chapter 20: FTP: Transferring Files Across a Network 729
Introduction 730
More Information 731
FTP Client 731
Prerequisites 731
JumpStart I: Downloading Files Using ftp 732
Notes 735
Anonymous FTP 735
Automatic Login 735
Binary Versus ASCII Transfer Mode 736
ftp Specifics 736
FTP Server (vsftpd) 740
Prerequisites 740
Notes 740
JumpStart II: Starting a vsftpd Server 741
Testing the Setup 741
vsftpd.conf: The vsftpd Configuration File 742
Chapter Summary 753
Exercises 753
Advanced Exercises 754
Chapter 21: exim4: Setting Up Mail Servers,
Clients, and More 755
Introduction to exim4 756
Prerequisites 757
Notes 757
More Information 758
JumpStart I: Configuring exim4 to Use a Smarthost 758
JumpStart II: Configuring exim4 to Send and Receive Email 760
How exim4 Works 761
Mail Logs 762
Working with Messages 763
Aliases and Forwarding 763
Related Programs 765
Configuring exim4 765
Using a Text Editor to Configure exim4 766
The update-exim4.conf.conf Configuration File 766
dpkg-reconfigure: Configures exim4 768
SpamAssassin 768
Prerequisites 769
How SpamAssassin Works 769
Testing SpamAssassin 770
Configuring SpamAssassin 771
Additional Email Tools 772
Webmail 772
Mailing Lists 774
Setting Up an IMAP or POP3 Server 776
Authenticated Relaying 777
Alternatives to exim4 779
Chapter Summary 779
Exercises 780
Advanced Exercises 780
Chapter 22: NIS: Network Information Service 781
Introduction to NIS 782
How NIS Works 782
More Information 784
Setting Up an NIS Client 784
Prerequisites 785
Notes 785
Step-by-Step Setup 786
Testing the Setup 787
yppasswd: Changes NIS Passwords 788
Setting Up an NIS Server 790
Prerequisites 790
Notes 791
Step-by-Step Setup 791
Testing 796
yppasswdd: The NIS Password Update Daemon 797
Chapter Summary 798
Exercises 798
Advanced Exercises 798
Chapter 23: NFS: Sharing Filesystems 799
Introduction 800
More Information 802
Setting Up an NFS Client 802
Prerequisites 802
JumpStart I: Mounting a Remote Directory Hierarchy 803
mount: Mounts a Directory Hierarchy 804
Improving Performance 806
/etc/fstab: Mounts Directory Hierarchies Automatically 807
Setting Up an NFS Server 808
Prerequisites 808
Notes 808
JumpStart II: Configuring an NFS Server Using shares-admin 809
Manually Exporting a Directory Hierarchy 811
Where the System Keeps NFS Mount Information 815
exportfs: Maintains the List of Exported Directory Hierarchies 817
Testing the Server Setup 818
automount: Mounts Directory Hierarchies on Demand 818
Chapter Summary 821
Exercises 822
Advanced Exercises 822
Chapter 24: Samba: Linux and Windows File
and Printer Sharing 823
Introduction 824
About Samba 825
Prerequisites 825
More Information 825
Notes 825
Samba Users, User Maps, and Passwords 826
JumpStart: Configuring a Samba Server Using shares-admin 826
swat: Configures a Samba Server 828
smb.conf: Manually Configuring a Samba Server 832
Parameters in the smbd.conf File 832
The [homes] Share: Sharing Users’ Home Directories 838
Accessing Linux Shares from Windows 838
Browsing Shares 838
Mapping a Share 839
Accessing Windows Shares from Linux 839
smbtree: Displays Windows Shares 839
smbclient: Connects to Windows Shares 840
Browsing Windows Networks 840
Mounting Windows Shares 841
Troubleshooting 841
Chapter Summary 844
Exercises 844
Advanced Exercises 844
Chapter 25: DNS/BIND: Tracking Domain Names
and Addresses 845
Introduction to DNS 846
Nodes, Domains, and Subdomains 846
Zones 848
Queries 849
Servers 850
Resource Records 851
DNS Query and Response 854
Reverse Name Resolution 855
About DNS 857
How DNS Works 857
Prerequisites 857
More Information 858
Notes 858
JumpStart I: Setting Up a DNS Cache 858
Setting Up BIND 860
named.conf: The named Configuration File 860
Zone Files 863
A DNS Cache 864
DNS Glue Records 868
TSIGs: Transaction Signatures 868
Running BIND in a chroot Jail 870
Troubleshooting 872
A Full-Functioned Nameserver 873
A Slave Server 877
A Split Horizon Server 878
Chapter Summary 883
Exercises 883
Advanced Exercises 884
Chapter 26: firestarter and iptables: Setting
Up a Firewall 885
About firestarter 886
Prerequisites 886
Notes 887
More Information 888
JumpStart: Building a Firewall Using the firestarter Firewall Wizard 888
firestarter: Maintains a Firewall 890
The Status Tab 890
The Events Tab 892
The Policy Tab 894
How iptables Works 896
About iptables 899
More Information 899
Prerequisites 899
Notes 899
Anatomy of an iptables Command 900
Building a Set of Rules 901
Commands 901
Packet Match Criteria 903
Display Criteria 903
Match Extensions 903
Targets 906
Copying Rules to and from the Kernel 907
Sharing an Internet Connection Using NAT 908
Connecting Several Clients to a Single Internet Connection 910
Connecting Several Servers to a Single Internet Connection 912
Chapter Summary 912
Exercises 913
Advanced Exercises 913
Chapter 27: Apache: Setting Up a Web Server 915
Introduction 916
About Apache 917
Prerequisites 917
More Information 918
Notes 918
JumpStart: Getting Apache Up and Running 919
Modifying the Configuration Files 919
Testing Apache 920
Putting Your Content in Place 920
Configuring Apache 921
Configuration Tools 921
Include Directives 922
Filesystem Layout 923
Configuration Directives 925
Directives I: Directives You May Want to Modify as You Get Started 926
Contexts and Containers 931
Directives II: Advanced Directives 935
The Ubuntu apache2.conf File 948
The Ubuntu default Configuration File 950
Redirects 951
Content Negotiation 951
Type Maps 951
MultiViews 952
Server-Generated Directory Listings (Indexing) 953
Virtual Hosts 953
Setting Up a Virtual Host 954
Types of Virtual Hosts 954
The default Virtual Host 954
Examples 954
Troubleshooting 956
Modules 957
mod_cgi and CGI Scripts 958
mod_ssl 959
Authentication Modules and .htaccess 961
Scripting Modules 962
Multiprocessing Modules (MPMs) 963
webalizer: Analyzes Web Traffic 964
MRTG: Monitors Traffic Loads 964
Error Codes 964
Chapter Summary 965
Exercises 966
Advanced Exercises 966
PART VI Appendixes 969
Appendix A: Regular Expressions 971
Characters 972
Delimiters 972
Simple Strings 972
Special Characters 972
Periods 973
Brackets 973
Asterisks 974
Carets and Dollar Signs 974
Quoting Special Characters 975
Rules 975
Longest Match Possible 975
Empty Regular Expressions 976
Bracketing Expressions 976
The Replacement String 976
Ampersand 977
Quoted Digit 977
Extended Regular Expressions 977
Appendix Summary 979
Appendix B: Help 981
Solving a Problem 982
Finding Linux-Related Information 983
Documentation 983
Useful Linux Sites 984
Linux Newsgroups 985
Mailing Lists 985
Words 986
Software 986
Office Suites and Word Processors 988
Specifying a Terminal 988
Appendix C: Security 991
Encryption 992
Public Key Encryption 993
Symmetric Key Encryption 994
Encryption Implementation 995
GnuPG/PGP 995
File Security 997
Email Security 997
MTAs (Mail Transfer Agents) 997
MUAs (Mail User Agents) 998
Network Security 998
Network Security Solutions 999
Network Security Guidelines 999
Host Security 1001
Login Security 1002
Remote Access Security 1003
Viruses and Worms 1004
Physical Security 1004
Security Resources 1006
Appendix Summary 1009
Appendix D: The Free Software Definition 1011
Appendix E: The Linux 2.6 Kernel 1015
Native Posix Thread Library (NPTL) 1016
IPSecurity (IPSec) 1016
Asynchronous I/O (AIO) 1016
O(1) Scheduler 1017
OProfile 1017
kksymoops 1017
Reverse Map Virtual Memory (rmap VM) 1017
HugeTLBFS: Translation Look-Aside Buffer Filesystem 1018
remap_file_pages 1018
2.6 Network Stack Features (IGMPv3, IPv6, and Others) 1018
Internet Protocol Virtual Server (IPVS) 1019
Access Control Lists (ACLs) 1019
4GB-4GB Memory Split: Physical Address Extension (PAE) 1019
Scheduler Support for HyperThreaded CPUs 1019
Block I/O (BIO) Block Layer 1019
Support for Filesystems Larger Than 2 Terabytes 1020
New I/O Elevators 1020
Interactive Scheduler Response Tuning 1020
Glossary 1021
Index 1071


Another Open Source Books
Another Linux Books
Download

Tuesday, February 15, 2011

OpenSocial Network Programming






OpenSocial Network Programming
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Chapter 1: Social Network Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 2: Introduction to OpenSocial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Chapter 3: Gadget XML and Gadget API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Chapter 4: JavaScript API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Chapter 5: OpenSocial RESTful API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Chapter 6: Programming Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Chapter 7: Sample Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Chapter 8: Performance, Scalability, and Monetization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Chapter 9: OpenSocial Templates, Markup, and Emerging Technologies . . . . . . . . . . . . . . . . 325
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375


Another Open Source Books
Another Social Network Books
Download

Monday, February 14, 2011

MySQL Enterprise Solutions







Acknowledgments ix
About the Author xi
Introduction xiii
Part I Bringing MySQL into Your Enterprise
Chapter 1 Overview of MySQL 1
How Is MySQL Most Commonly Used in the Enterprise? 2
Database Backend for a Web Site 2
Usage Logger 3
Data Warehousing 3
Integrated Database 3
Embedded Database 4
Strengths and Weakness of MySQL 4
Strengths 5
Weaknesses 9
MySQL from the Application Developer’s Perspective 12
Overview of MySQL Integration with Other Industry-Standard Software 13
Getting Help with MySQL 14
Online Documentation 14
Mailing List 15
Local Linux User Groups 16
Commercial Support from MySQL AB 16
Chapter 2 Selecting a Platform for MySQL Server 19
Platform Criteria 19
Size of the User Base 20
Amount of Usage under High Load on Mission-Critical Servers 20
Maturity of the C/C++ Compiler 20
Number of MySQL AB Developers Regularly Using the Platform 20
Degree of Standard Compliance in the System Libraries 20
Maturity of the Thread Library Available on the System 21
Platform Comparison 21
Linux 21
Windows 22
Solaris 23
FreeBSD 24
Other Systems 24
Operating System Tuning Tips 25
Hardware Tips 26
Chapter 3 Installing MySQL 27
Method of Installation 27
The Need for Transactional Table Support 28
Version Issue 29
Installation Process 31
Binary Installation 31
Source Installation 35
Basic Post-Installation Checks 37
Post-Installation Setup 38
Proxy Database Access 39
Hosting Provider 40
Single User 40
Direct Multiple-User Database Access 41
Troubleshooting 42
mysqld ended 43
Installation of grant tables failed! 43
ERROR 1045: Access denied 44
ERROR 2002: Can’t connect to local MySQL server through socket
'/tmp/mysql.sock' (111) 45
Other Problems 46
Chapter 4 Testing Your MySQL Installation 49
The Standard MySQL Test Suite (mysql-test-run) 49
The Server Limit Test (crash-me) 55
The One-Threaded Standard MySQL Benchmark 68
The Basic Multithreaded Benchmark (mysqlsyseval) 74
Your Own Tests 78
Chapter 5 Access Control and Security 83
MySQL Access Privilege System 83
Granting Privileges 85
Revoking Privileges 86
Removing Users 86
System Security 87
Check Setuid Binaries 87
Run Only Necessary Services 88
Set Up a Firewall 89
Monitor the System Daily 89
Database Application Security 89
Server Configuration Security 90
Data Transfer Security 91
Dealing with Especially Sensitive Data 92
Conclusion 92
Part II Developing MySQL Applications
Chapter 6 Choosing the Client Language and Client-Server
Network Architecture 93
Choosing a Client Language 93
Performance 93
Development Time 94
Code Integration 94
Portability 95
Developer Skills and Preferences 95
Client Language Performance Comparison 96
Network Architecture 99
Client and Server on the Same Host 99
One Server Host and One Remote Client Host 100
One Server Host and Many Remote Client Hosts 100
Data Distributed Across Several Server Hosts and Queried by One
Client Host 101
Data Distributed across Several Server Hosts and Queried by Several
Client Hosts 101
Estimating Load from Clients 101
Client Programming Principles 102
Chapter 7 MySQL Client in a Web Environment 105
Choosing a Web Server 105
Server-Application Integration Methods 106
Web Optimization Techniques 107
Avoiding Long Queries 107
Avoiding Unnecessary Queries 108
Avoiding Unnecessary Dynamic Execution 109
Using Persistent Connections 109
Stress-Testing a Web Application 110
Using ApacheBench 111
Other Approaches 112
Chapter 8 C/C++ Client Basics 115
Preparing Your System 115
Structures and Functions of the API 116
API Overview 122
A Sample Application 124
Tips and Tricks 138
Chapter 9 PHP Client Basics 139
Preparing Your System 140
API Functions 141
API Overview 146
Sample Code 148
Tips and Tricks 162
Chapter 10 Perl API Basics 165
System Preparation 166
DBI Methods and Attributes 167
API Overview 169
Sample Code 170
Tips and Tricks 178
Chapter 11 Java Client Basics 181
System Configuration 182
JDBC Classes and Methods 182
API Overview 189
Sample Code 192
Chapter 12 Writing the Client for Optimal Performance 203
Query Caching 203
Replication-Aware Code 204
Improving Write-Dominant Applications 205
Reducing Network I/O 206
Understanding the Optimizer 207
Part III Maintaining and Optimization
Chapter 13 Table Design 223
Column Types and Disk Space Requirements 223
Variable-Length versus Fixed-Length Records 226
Normalization 227
The Need for Proper Keys 230
Data Wisdom 233
The Proper Table Type 234
Chapter 14 Configuring the Server for Optimal Performance 237
Optimizing the Schema 237
Optimizing Server Variables 238
Variable Descriptions 242
Additional Variables for MySQL 4.0 257
Verifying Support for Variables 258
Operating System Adjustments 263
Hardware Upgrades 264
Chapter 15 Analyzing and Improving Server Performance 265
Staying Out of Trouble 265
Dealing with Slow Performance 267
Using the EXPLAIN Command 270
Using the mysqldumpslow Script 275
Monitoring Server Activity Patterns with SHOW STATUS 277
Chapter 16 Replication 293
Replication Overview 293
Uses of Replication 294
Setting Up Replication 296
Configuring the Master 296
Configuring the Slave 299
Replication Maintenance 302
Measuring How Far the Slave Is Behind the Master 303
Replication Errors 304
Stopping Replication 304
Replication Caveats 304
Improperly Replicated Queries 305
Replication of Temporary Table Activity 305
Replication of LOAD DATA INFILE 305
Bidirectional Replication 306
Replication Internals 306
Masters and Slaves 307
Server IDs 307
Binary Logs 307
Conclusion 309
Chapter 17 Backup and Table Maintenance 311
Physical Backup 311
Logical Backup 313
Incremental Backup 316
Backup through Replication 316
Table Maintenance 317
Chapter 18 Exploring MySQL Server Internals 323
Getting Started 323
Tour of the Source 327
Execution Flow 328
General Guidelines for Extending the Source 340
Adding a New Native SQL Function 341
Adding a UDF 350
Adding a New Table Handler 353
Maintaining Your Code Modifications 360
Conclusion 362
Part IV Appendices
Appendix A Migration Notes 363
Appendix B Troubleshooting Notes 367
Functionality 367
Stability 368
Performance 369
Appendix C SQL Problem Solving Notes 371
Problem 1 373
Problem 2 374
Problem 3 374
Problem 4 374
Problem 5 375
Problem 6 376
Problem 7 376
Problem 8 377
Problem 9 377
Problem 10 378
Appendix D Online Resources 379
Index 381

Another Database Books
Another Open Source Books
Download

Sunday, February 13, 2011

MySQL and Java Developer's Guide






Acknowledgments xi
About the Authors xiii
Introduction xv
Chapter 1 An Overview of MySQL 1
Why Use an RDBMS? 2
Multiuser Access 2
Storage Transparency 2
Transactions 3
Searching, Modifying, and Analyzing Data 4
Ad Hoc Queries 5
Why Choose MySQL? 5
MySQL and JDBC 7
What’s Next 8
Chapter 2 JDBC and Connector/J 9
What Is JDBC? 9
What about ODBC? 10
Modeling Database Applications with JDBC 11
JDBC Versions 13
JDBC Driver Types 13
SQL Standards 14
Examining the JDBC Interface 15
The java.sql Package 15
The javax.sql Package 18
Understanding Connector/J 21
JDBC Support within 3.0.1 22
Obtaining JDBC Drivers 24
What’s Next 24
Chapter 3 Working with MySQL SQL 25
What Is a Database? 25
Database Models 27
Data Types 29
Designing a Database 29
Introducing MySQL SQL 32
Overview of MySQL 33
Creating Databases 34
Creating Tables 35
Inserts 39
Selects 40
SELECT Statement Extensions 42
Updates 47
Deletes 50
Using SHOW 51
More on Tables 53
Transactions 55
Functions/Operators 56
Joins 56
NULL 59
What’s Next 59
Chapter 4 Installing MySQL, Java, and Connector/J 61
Installing MySQL 61
Linux Installation 62
Windows Installation 63
All Other Installations 63
Installing Java 64
Testing the Java Installation 64
Installing Connector/J 65
Testing the Connector/J Installation 66
What’s Next 66
Chapter 5 Using JDBC with Java Applications and Applets 67
Hello World 67
Loading the Connector/J Driver 69
Using DriverManager to Connect to a Database 69
Executing Queries Through Statement Objects 75
Using the ResultSet Object 78
Determining the Cursor Position 79
Moving the Cursor 79
Getter Methods 80
Primitive Getters 82
Closing the Objects 85
Making It Real 85
Our Main Function 88
The init() Method 89
The buildGUI() Method 89
Executing a Query with No Results 91
Deleting Database Rows 97
Updating Database Rows 99
CREATE TABLE 101
DROP TABLE 101
Disconnecting from the Database 103
Advanced ResultSet Manipulation 104
One Step Forward 113
One Step Back 114
Fast-Forward to the End 114
Rewind to the Beginning 114
Goto Record 114
Freehand Query 115
Batches 115
Limiting Results 116
Database Warnings and Exceptions 117
What’s Next 118
Chapter 6 Achieving Advanced Connector/J Functionality with Servlets 119
Servlets 119
DataSource Connections 122
Execution Environment 123
Databases 123
PreparedStatements 124
Connecting to the Database 129
Determining the Submit Type 129
Displaying Data 130
Updating Data 132
Using Placeholders in a Loop 133
Using Placeholders in PreparedStatement 134
Using setObject/setBytes 136
Getting BLOBs 139
Joins 141
Updatable ResultSets 142
The Update Button Code 149
The Insert Button Code 150
Update Methods 152
Manipulating Date/Time Types 154
Methods for Retrieving a Value as a Date Type 155
Methods for Retrieving a Value as a Time Type 155
Methods for Retrieving a Value as a Timestamp Type 155
Handling BLOB and CLOB 156
Using Streams to Pull Data 158
Handling ENUM 159
Using Connector/J with JavaScript 161
What’s Next 163
Chapter 7 MySQL Type Mapping 165
Character Column Types 166
CHAR 166
VARCHAR 167
TINYTEXT 167
TEXT 167
MEDIUMTEXT 167
LONGTEXT 168
TINYBLOB 168
BLOB 168
MEDIUMBLOB 168
LONGBLOB 169
SET 169
ENUM 169
Using Character Types 169
Date and Time Column Types 171
DATE 172
TIME 172
DATETIME 172
YEAR 173
TIMESTAMP 173
Using Date and Time Types 173
Numeric Column Types 175
TINYINT 176
SMALLINT 176
MEDIUMINT 176
INT 177
BIGINT 177
FLOAT 177
DOUBLE 177
DECIMAL 178
Using Numeric Types 178
What’s Next 180
Chapter 8 Transactions and Table Locking with Connector/J 181
Understanding the Problem 181
MySQL's Transaction Table Types 182
The InnoDB Table Type 182
The BDB Table Type 184
Converting to Transactional from Nontransactional 184
Performing Transactions in MySQL 185
Using the autocommit Variable 185
Update Transactions 187
The SELECT/INSERT Transaction 190
Multiple Table Transactions 191
Foreign Key Integrity on Deletes 192
Ending a Transaction 192
Transaction Isolation 192
Dirty Reads 193
Phantom Reads 194
Nonrepeatable Reads 194
Table Locking 195
What’s Next 196
Chapter 9 Using Metadata 197
Using Database Metadata 197
Getting the Object 200
General Source Information 202
Feature Support 203
Data Source Limits 204
SQL Object Available 204
Transaction Support 204
The ResultSet Metadata 205
Getting Column Information 205
Other ResultSet Metadata 208
What’s Next 210
Chapter 10 Connection Pooling with Connector/J 211
What Is a Connection Pool? 212
Pooling with DataSource 213
Pooling with the DriverManager 218
DDConnectionBroker 219
What’s Next 221
Chapter 11 EJBs with MySQL 223
Multi-tier Architecture 223
Using Beans 225
EJB Types 225
The EJB Environment 226
Application Server Configuration 229
The Role of the Servlet 230
Entity Beans 230
Session Beans 234
Using the Beans 236
Adding a Query 238
Bean-Managed Persistence 240
ejbCreate() 241
ejbLoad() 242
ejbStore() 243
ejbRemove() 243
ejbFindByPrimaryKey() 244
Setter/Getter Methods 245
What’s Next 245
Chapter 12 Building a General Interface for MySQL 247
Tasks 248
SQL Exceptions 252
MySQL Connections 253
The Task Delegate 255
The Task Manager 255
Task Results 264
The Database Information Task 268
User Input for Tasks 270
The SQL Query Task 272
The Show Columns Task 275
The Insert Row Task 280
What’s Next 286
Chapter 13 Database Administration 287
Using the mysql Administration Application 287
Managing Users and Permissions 289
Changing Root 289
Adding Users 290
Limiting Resources 292
Configuring the Query Cache 293
Forcing a Cache 294
Understanding Log Files 294
Error Logs 295
General Logs 295
Binary Logs 296
Slow Query Logs 296
Maintaining Your Tables 296
Repairing Tables 297
Backing Up and Restoring Your Database 298
Restoring Data 301
InnoDB Table Types 302
DBD Table Types 302
What’s Next 303
Chapter 14 Performance and Tuning 305
Connector/J 3.0 Performance 305
Database Tuning 308
Server Options 308
Using RAID 309
Optimizing Tables 309
The MySQL Query Optimizer 310
Table Indexes 312
JDBC Tuning 313
Minimizing Data Requests 313
Keeping Consistent Connections 314
Handling Statements 315
Batching 316
Using Transactions and Locking 316
Defining the Architecture 317
Getting Data 317
Conclusion 318
Appendix A MySQL Development and Test Environments 319
Test Architecture #1 319
Test Architecture #2 320
Servlet Architecture 321
The EJB Architecture 323
Appendix B Databases and Tables 325
The accounts Database and Tables 325
The identification Database and Tables 326
Test Databases 327
Database Products 327
The Database Test 327
Appendix C The JDBC API and Connector/J 329
The java.sql Package 330
Array 331
BatchUpdateException 332
Blob 332
CallableStatement 333
Clob 335
Connection 335
DataTruncation 337
DatabaseMetaData 337
Date 343
Driver 343
DriverManager 343
DriverPropertyInfo 344
ParameterMetaData 344
PreparedStatement 345
Ref 346
ResultSet 347
ResultSetMetaData 350
Savepoint 351
SQLData 351
SQLException 352
SQLInput 352
SQLOutput 353
SQLPermission 353
SQLWarning 354
Statement 354
Struct 355
Time 356
Timestamp 356
Types 357
The javax.sql Package 358
ConnectionEvent 359
ConnectionEventListener 359
ConnectionPoolDataSource 359
DataSource 360
PooledConnection 360
RowSet 360
RowSetEvent 362
RowSetInternal 362
RowSetListener 363
RowSetMetaData 363
RowSetReader 363
RowSetWriter 364
XAConnection 364
XADataSource 364
Appendix D MySQL Functions and Operators 367
Arithmetic Functions/Operators 369
Comparison Functions/Operators 372
Logical Operators 375
Control Functions 377
String Functions/Operators 379
Grouping Functions 384
Date and Time Functions 386
Other Functions 394
Appendix E Connector/J Late-Breaking Additions 397
Failover Support 397
Windows Named Pipes 398
Batch Processing Error Continuation 398
Strict Updates 399
Profile SQL 399
SSL 399
Index 401

Another Database Books
Another Open Source Books
Download

Teach Yourself LINUX in 24 Hours






Overview
Introduction xxvi
Part I Installation and Configuration 1
Hour 1 Preparing to Install Linux 3
2 Installing Linux 11
3 Configuring the X Window System 31
Part II Learning Linux Basics 41
Hour 4 Reading and Navigation Commands 43
5 Manipulation and Searching Commands 63
6 Using the Shell 83
7 Using the X Window System 103
8 Exploring Other X11 Window Managers 127
Part III Connecting to the Outside World 139
Hour 9 Using Communications Programs 141
10 Connecting to the Internet 161
11 Configuring Internet Email 173
12 Configuring Internet News 185
13 Internet Downloading and Browsing 193
Part IV Using Linux Productively 211
Hour 14 Text Processing 213
15 Preparing Documents 229
16 Graphics Tools 243
17 Learning Math and Financial Tools 259
18 Personal Productivity Tools 271
19 Playing Linux Games 281
Part V Administering Your System 291
Hour 20 Basic System Administration 293
21 Handling Files 313
22 Red Hat Tools 329
23 Archiving 339
24 Scheduling 347
Index 353

Another Open Source Book
Another Linux Books
Download

Saturday, February 5, 2011

SQL Bible







by Alex Kriegel and Boris M. Trukhnov ISBN:0764525840
John Wiley & Sons © 2003 (831 pages)
This definitive volume contains all the information you need to understand and use SQL and its implementations in accordance with the established SQL99 standard.

CD Content



Table of Contents
SQL Bible
Preface
Part I - SQL Basic Concepts and Principles
Chapter 1 - SQL and Relational Database Management Systems (RDBMS)
Chapter 2 - Fundamental SQL Concepts and Principles
Chapter 3 - SQL Data Types
Part II - Creating and Modifying Database Objects
Chapter 4 - Creating RDBMS Objects
Chapter 5 - Altering and Destroying RDBMS Objects
Part III - Data Manipulation and Transaction Control
Chapter 6 - Data Manipulation Language (DML)
Chapter 7 - Sessions, Transactions, and Locks
Part IV - Retrieving and Transforming Data
Chapter 8 - Understanding SELECT Statement
Chapter 9 - Multitable Queries
Chapter 10 - SQL Functions
Chapter 11 - SQL Operators
Part V - Implementing Security Using System Catalogs
Chapter 12 - SQL and RDBMS Security
Chapter 13 - The System Catalog and INFORMATION_SCHEMA
Part VI - Beyond SQL—Procedural Programming and Database Access Mechanisms
Chapter 14 - Stored Procedures, Triggers, and User-Defined Functions
Chapter 15 - Dynamic and Embedded SQL Overview
Chapter 16 - SQL API
Chapter 17 - New Developments—XML, OLAP, and Objects
Part VII - Appendix
Appendix A - What's on the CD-ROM
Appendix B - The ACME Sample Database
Appendix C - Basics of Relational Database Design
Appendix D - Installing RDBMS Software
Appendix E - Accessing RDBMS
Appendix F - Installing the ACME Database
Appendix G - SQL Functions
Appendix H - SQL Syntax Reference
Appendix I - SQL-Reserved Keywords
Appendix J - SQL99 Major Features Compliance Across Different RDBMS
Appendix K - The Other RDBMS
Appendix L - A Brief Introduction to the Number Systems, Boolean Algebra, and Set Theory
Index
List of Figures
List of Tables
List of Code Examples
List of Sidebars


Another Database Books
Another Open Source Books
Download

Friday, February 4, 2011

Linux The Complete Reference, Sixth Edition







Contents at a Glance
Part I Introduction
1 Introduction to Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Part II The Linux Shell and File Structure
3 The Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 The Shell Scripts and Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5 Shell Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6 Linux Files, Directories, and Archives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Part III Desktop
7 The X Window System, Xorg, and Display Managers . . . . . . . . . . . . . . . . . 145
8 GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
9 KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Part IV Linux Software
10 Software Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
11 Office and Database Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
12 Graphics Tools and Multimedia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
13 Mail and News Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
14 Web, FTP, and Java Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
15 Network Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Part V Security
16 Encryption, Integrity Checks, and Signatures . . . . . . . . . . . . . . . . . . . . . . . . 313
17 Security-Enhanced Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
18 IPsec and Virtual Private Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
19 Secure Shell and Kerberos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
20 Firewalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Part VI Internet and Network Services
21 Managing Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
22 FTP Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
23 Web Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
24 Proxy Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
25 Mail Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
26 Print, News, Search, and Database Servers . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Part VII System Administration
27 Basic System Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
28 Managing Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
29 File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
30 RAID and LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
31 Devices and Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
32 Kernel Administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
33 Backup Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
Part VIII Network Administration Services
34 Administering TCP/IP Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
35 Network Autoconfiguration with IPv6, DHCPv6, and DHCP . . . . . . . . . . 745
36 NFS and NIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
37 Distributed Network File Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
A Where to Obtain Linux Distributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Index ............................................................... 787


Another Linux Books
Another Open Source Books
Download

Tuesday, February 1, 2011

The Linux Development Platform







C O N T E N T S
Acknowledgments xvii
Chapter 1 Introduction to Software Development 1
1.1 Life Cycle of a Software Development Project 2
1.1.1 Requirement Gathering 2
1.1.2 Writing Functional Specifications 4
1.1.3 Creating Architecture and Design Documents 4
1.1.4 Implementation and Coding 5
1.1.5 Testing 6
1.1.6 Software Releases 8
1.1.7 Documentation 8
1.1.8 Support and New Features 9
1.2 Components of a Development System 10
1.2.1 Hardware Platform 10
1.2.2 Operating System 11
1.2.3 Editors 11
1.2.4 Compilers and Assemblers 12
1.2.5 Debuggers 12
1.2.6 Version Control Systems 12
1.2.7 E-mail and Collaboration 13
1.2.8 X-Windows 13
1.3 Selection Criteria for Hardware Platform 13
1.4 Selection Criteria for Software Development Tools 14
1.5 Managing Development Process 14
1.5.1 Creating Deadlines 14
1.5.2 Managing the Development Team 15
1.5.3 Resolving Dependencies 15
1.6 Linux Development Platform Specifications (LDPS) and Linux
Standard Base (LSB) 15
1.6.1 Libraries 15
1.6.2 Current Contributors to LSB 16
1.7 References 16
Chapter 2 Working With Editors 17
2.1 What to Look for in an Editor 17
2.1.1 Extensibility 17
2.1.2 Understanding Syntax 18
2.1.3 Tag Support 18
2.1.4 Folding Code 18
2.2 Emacs 18
2.2.1 Using Emacs 19
2.2.2 Basic Emacs Concepts 20
2.2.3 Using Buffers and Windows 24
2.2.4 Language Modes 26
2.2.5 Using Tags 27
2.2.6 Compiling 30
2.2.7 Xemacs 32
2.3 Jed 32
2.3.1 Configuring Jed 33
2.3.2 Using Jed 34
2.3.3 Folding Code 35
2.4 VIM 37
2.4.1 VIM Concepts 38
2.4.2 Basic Editing 38
2.4.3 Using Tags with VIM 41
2.4.4 Folding Code 42
2.5 References and Resources 42
Chapter 3 Compilers and Assemblers 43
3.1 Introduction to GNU C and C++ Compilers 44
3.1.1 Languages Supported by GCC 44
3.1.2 New Features in GCC 3.x 46
3.2 Installing GNU Compiler 48
3.2.1 Downloading 48
3.2.2 Building and Installing GCC 48
3.2.3 Environment Variables 54
3.2.4 Post-Installation Tasks 56
3.2.5 What Not to Do when Installing Development Tools 58
3.3 Compiling a Program 58
3.3.1 Simple Compilation 59
3.3.2 Default File Types 60
3.3.3 Compiling to Intermediate Levels 61
3.3.4 Compilation with Debug Support 63
3.3.5 Compilation with Optimization 64
3.3.6 Static and Dynamic Linking 65
3.3.7 Compiling Source Code for Other Languages 66
3.3.8 Summary of gcc Options 70
3.4 Linking a program 91
3.5 Assembling a Program 91
3.6 Handling Warning and Error messages 92
3.7 Include files 92
3.8 Creating Libraries 92
3.9 Standard Libraries 93
3.10 Compiling Pascal Programs 94
3.10.1 Using Free Pascal (fpc) 95
3.10.2 Using GNU Pascal 96
3.11 Compiling Fortran Programs 96
3.12 Other Compilers 98
3.12.1 Smalltalk 98
3.12.2 Oberon 98
3.12.3 Ruby 98
3.13 References and Resources 98
Chapter 4 Using GNU make 101
4.1 Introduction to GNU make 102
4.1.1 Basic Terminology 103
4.1.2 Input Files 105
4.1.3 Typical Contents of a Makefile 106
4.1.4 Running make 108
4.1.5 Shell to Execute Commands 109
4.1.6 Include Files 109
4.2 The make Rules 110
4.2.1 Anatomy of a Rule 110
4.2.2 A Basic Makefile 111
4.2.3 Another Example of Makefile 113
4.2.4 Explicit Rules 118
4.2.5 Implicit Rules 118
4.3 Using Variables 119
4.3.1 Defining Variables 120
4.3.2 Types of Variables 120
4.3.3 Pre-Defined Variables 121
4.3.4 Automatic Variables 121
4.4 Working with Multiple Makefiles and Directories 122
4.4.1 Makefile in The Top Directory 123
4.4.2 Makefile in common-dir Directory 125
4.4.3 Makefile in the ftp-dir Directory 126
4.4.4 Makefile in the tftp-dir Directory 127
4.4.5 Makefile in the dns-dir Directory 127
4.4.6 Building Everything 128
4.4.7 Cleaning Everything 129
4.4.8 Making Individual Targets 129
4.5 Special Features of make 130
4.5.1 Running Commands in Parallel 130
4.5.2 Non-Stop Execution 130
4.6 Control Structures and Directives 131
4.6.1 The ifeq Directive 132
4.6.2 The ifneq Directive 132
4.6.3 The ifdef Directive 132
4.6.4 The ifndef Directive 133
4.6.5 The for Control Structure 133
4.7 Getting the Latest Version and Installation 133
4.7.1 Compilation 133
4.7.2 Installation 134
4.8 References and Resources 134
Chapter 5 Working with GNU Debugger 135
5.1 Introduction to GDB 136
5.2 Getting Started with GDB 136
5.2.1 Most Commonly Used gdb Commands 137
5.2.2 A Sample Session with gdb 138
5.2.3 Passing Command Line Arguments to the Program
Being Debugged 141
5.3 Controlling Execution 144
5.3.1 The step and finish Commands 144
5.4 Working with the Stack 146
5.5 Displaying Variables 151
5.5.1 Displaying Program Variables 151
5.5.2 Automatic Displaying Variables with Each Command 153
5.5.3 Displaying Environment Variables 154
5.5.4 Modifying Variables 155
5.6 Adding Break Points 156
5.6.1 Continuing from Break Point 158
5.6.2 Disabling Break Points 159
5.6.3 Enabling Break Points 159
5.6.4 Deleting Break Points 160
5.7 Debugging Optimized Code 160
5.8 Files and Shared Libraries 163
5.9 Using gdb With GNU Emacs 164
5.10 Debugging Running Processes 165
5.11 Installing GDB 168
5.11.1 Downloading and Building 168
5.11.2 Final Installation 168
5.12 Other Open Source Debuggers 169
5.12.1 The kdbg Debugger 169
5.12.2 The ddd Debugger 172
5.12.3 The xxgdb Debugger 173
5.13 References and Resources 174
Chapter 6 Introduction to CVS 175
6.1 CVS Policies 176
6.2 Project Management and Communication 176
6.3 Installing and Managing CVS 176
6.3.1 Configuring CVS 177
6.3.2 Impoting a Project into the Repository 179
6.4 Using the CVS Client 180
6.4.1 Local Repositories 181
6.4.2 Remote Repositories 182
6.4.3 Checking out a Project 182
6.4.4 Finding the Status of a Project 183
6.4.5 Finding Differences 184
6.4.6 Resolving Conflicts 185
6.4.7 Checking the Project Back In 186
6.4.8 Adding Files to a Project 186
6.4.9 Removing Files from a Project 187
6.4.10 Renaming Files within a Project 188
6.4.11 Removing your Working Copy 188
6.4.12 Tags and Releases 189
6.5 Introduction to jCVS 190
6.5.1 System Requirements 190
6.5.2 Installation Instructions 190
6.5.3 Using jCVS 191
6.6 Using Emacs with CVS 196
6.6.1 Installing pcl-cvs 197
6.6.2 Using pcl-cvs 197
6.7 Secure remote access with CVS 199
6.7.1 Secure Shell Access 199
6.8 References and Resources 201
Chapter 7 Miscellaneous Tools 203
7.1 Using indent Utility 204
7.1.1 Getting Started with Indent 205
7.1.2 Selecting Coding Styles 206
7.1.3 Blank Lines and Comments 209
7.1.4 Formatting Braces 210
7.1.5 Formatting Declarations 211
7.1.6 Breaking Long Lines 212
7.1.7 Summary of Options 213
7.2 Using sed Utility 215
7.3 Using diff Utility 215
7.3.1 Other Forms of diff Utility 218
7.4 Using cscope and cbrowser 219
7.5 Generating C Function Prototypes from C Source Code
Using cproto 222
7.6 Using ltrace and strace Utilities 223
7.7 Using GNU Binary Utilities 226
7.7.1 Using the ar Utility 226
7.7.2 Using the ranlib Utility 228
7.7.3 Using the nm Utility 228
7.7.4 Using the strip Utility 231
7.7.5 Using the objcopy Utility 231
7.7.6 Using the objdump Utility 232
7.7.7 Using the size Utility 236
7.7.8 Using the strings Utility 237
7.7.9 Using the addr2line Utility 237
7.8 Using the ldd Utility 238
7.9 References and Resources 238
Chapter 8 Cross-Platform and Embedded Systems Development 239
8.1 Introduction to the Cross-Platform Development Process 240
8.1.1 Host Machine 240
8.1.2 Target Machine 240
8.1.3 Native and Cross Compilers 241
8.1.4 Cross Platform Development Cycle 241
8.2 What are Embedded Systems? 243
8.2.1 Embedded Systems and Moving Parts 244
8.2.2 Embedded Systems and Power Consumption 245
8.2.3 Embedded Operating Systems 245
8.2.4 Software Applications for Embedded Systems 246
8.3 How Development Systems Differ for Embedded Systems 246
8.3.1 Knowledge of Target System Hardware 246
8.3.2 Is the Target System Real-Time? 247
8.3.3 Testing Methodology 247
8.4 Cross Compilations 247
8.4.1 Software Emulators 248
8.4.2 In-circuit emulators 249
8.4.3 Introduction to JTAG and BDM 249
8.5 Connecting to Target 250
8.5.1 Using gdbserver with GNU Debugger 250
8.5.2 Attaching to a Running Process Using gdbserver 255
8.5.3 Using Stubs with GNU Debugger 256
8.5.4 Debugging the Debug Session 256
8.6 Hardware Used for Cross Platform and Embedded Systems
Development 258
8.6.1 Arcom SBC-GX1 Board 258
8.6.2 Artesyn PM/PPC Mezzanine Card 260
8.7 References 261
Chapter 9 Platform Independent Development with Java 263
9.1 How Java Applications Work 264
9.1.1 Java Compiler 264
9.1.2 Java Virtual Machine 264
9.2 Kaffe 264
9.3 The Jboss Java Development System 266
9.4 Java 2 SDK 267
9.4.1 Java 2 SDK Standard Edition 267
9.4.2 Getting and Installing Java SDK from Sun 269
9.4.3 Creating jar Files 269
9.5 Building Java Applications 270
9.5.1 Creating Source Code File 270
9.5.2 Compiling Java Code 270
9.5.3 Running Java Applications 271
9.5.4 Using gcj to Build Java Applications 271
9.6 Building Applets 271
9.7 Testing Applets with Netscape 272
9.8 Jikes for Java 272
9.9 Miscellaneous 274
9.9.1 Embedded Java 274
9.9.2 Real Time Java 274
9.9.3 Wireless Applications 275
9.10 References 275
Appendix A Typical Hardware Requirements for a Linux
Development Workstation 277
Index 283

Another Open Source Books
Another Linux Books
Download
Related Posts with Thumbnails

Put Your Ads Here!