Mac OS X Tiger for Unix Geeks. 3rd Edition - Helion
ISBN: 978-05-965-5274-9
stron: 416, Format: ebook
Data wydania: 2005-06-01
Księgarnia: Helion
Cena książki: 101,15 zł (poprzednio: 117,62 zł)
Oszczędzasz: 14% (-16,47 zł)
If you're one of the many Unix developers drawn to Mac OS X for its Unix core, you'll find yourself in surprisingly unfamiliar territory. Unix and Mac OS X are kissing cousins, but there are enough pitfalls and minefields in going from one to another that even a Unix guru can stumble, and most guides to Mac OS X are written for Mac aficionados. For a Unix developer, approaching Tiger from the Mac side is a bit like learning Russian by reading the Russian side of a Russian-English dictionary. Fortunately, O'Reilly has been the Unix authority for over 25 years, and in Mac OS X Tiger for Unix Geeks, that depth of understanding shows.This is the book for Mac command-line fans. Completely revised and updated to cover Mac OS X Tiger, this new edition helps you quickly and painlessly get acclimated with Tiger's familiar-yet foreign-Unix environment. Topics include:
- Using the Terminal and understanding how it differs from an xterm
- Using Directory Services, Open Directory (LDAP), and NetInfo
- Compiling code with GCC 3
- Library linking and porting Unix software
- Creating and installing packages with Fink
- Using DarwinPorts
- Search through metadata with Spotlight's command-line utilities
- Building the Darwin kernel
- Running X Windows on top of Mac OS X, or better yet, run Mac OS X on a Windows machine with PearPC!
Osoby które kupowały "Mac OS X Tiger for Unix Geeks. 3rd Edition", wybierały także:
- Zen Steve'a Jobsa 29,67 zł, (8,90 zł -70%)
- Gray Hat C#. Język C# w kontroli i łamaniu zabezpieczeń 57,74 zł, (17,90 zł -69%)
- Mac OS X Leopard. Ćwiczenia praktyczne 18,44 zł, (5,90 zł -68%)
- Mac OS X Tiger. Ćwiczenia praktyczne 18,44 zł, (5,90 zł -68%)
- Swift 4. Koduj jak mistrz. Wydanie IV 67,00 zł, (33,50 zł -50%)
Spis treści
Mac OS X Tiger for Unix Geeks. 3rd Edition eBook -- spis treści
- Mac OS X Tiger for Unix Geeks
- Preface
- Audience for This Book
- Organization of This Book
- Xcode Tools
- Where to Go for More Information
- Conventions Used in This Book
- Comments and Questions
- Safari Enabled
- Acknowledgments from the Previous Editions
- Acknowledgments from Brian Jepson
- Acknowledgments from Ernest E. Rothman
- I. Getting Around
- 1. Inside the Terminal
- 1.1. Mac OS X Shells
- 1.2. The Terminal and xterm Compared
- 1.3. Using the Terminal
- 1.3.1. Launching Terminals
- 1.3.1.1. .term files
- 1.3.1.2. .command files
- 1.3.2. Split Screen Terminal Feature
- 1.3.3. Contextual Menu
- 1.3.1. Launching Terminals
- 1.4. Customizing the Terminal
- 1.4.1. Customizing the Terminal on the Fly
- 1.4.2. Working with File and Directory Names
- 1.4.2.1. Tab completion
- 1.4.3. Changing Your Shell
- 1.5. The Services Menu
- 1.6. Bonjour
- 1.7. Alternative Terminal Applications
- 1.8. The open Command
- 2. Searching and Metadata
- 2.1. Spotlight
- 2.1.1. Performing Spotlight Searches
- 2.1.2. Inspecting a Files Attributes
- 2.1.3. Managing Spotlight
- 2.2. Resource Forks and HFS+ Metadata
- 2.2.1. UFS
- 2.2.2. Preserving Metadata
- 2.1. Spotlight
- 3. The Mac OS X Filesystem
- 3.1. Working with Foreign Filesystems
- 3.2. Files and Directories
- 3.2.1. The /etc Directory
- 3.2.2. The /System/Library Directory
- 3.2.3. The /Library Directory
- 3.2.4. The /var Directory
- 3.2.5. The /dev Directory
- 4. Startup
- 4.1. Booting Mac OS X
- 4.1.1. The BootX Loader
- 4.1.2. Initialization
- 4.1.3. The /etc/rc Script
- 4.1.4. Mach Bootstrap Services
- 4.1.5. launchd
- 4.1.6. SystemStarter
- 4.1.7. The Login Window
- 4.2. Adding Startup Items
- 4.2.1. Login Preferences
- 4.2.2. Startup Items
- 4.2.2.1. The startup script
- 4.2.2.2. The property list
- 4.3. Scheduling Tasks
- 4.3.1. Periodic Jobs
- 4.1. Booting Mac OS X
- 5. Directory Services
- 5.1. Understanding Directory Services
- 5.2. Programming with Directory Services
- 5.2.1. Working with Passwords
- 5.3. Configuring Directory Services
- 5.4. NetInfo Manager
- 5.5. Directory Services Utilities
- 5.6. Managing Groups
- 5.6.1. Creating a Group with niload
- 5.6.2. Creating a Group with dscl
- 5.6.3. Adding Users to a Group
- 5.6.4. Listing Groups with nidump
- 5.6.5. Deleting a Group
- 5.7. Managing Users and Passwords
- 5.7.1. Creating a User with niload
- 5.7.2. Creating a User with dscl
- 5.7.3. Creating a User's Home Directory
- 5.7.4. Granting Administrative Privileges
- 5.7.5. Modifying a User
- 5.7.6. Listing Users with nidump
- 5.7.7. Deleting a User
- 5.8. Managing Hostnames and IP Addresses
- 5.8.1. Creating a Host with niload
- 5.9. Exporting Directories with NFS
- 5.10. Flat Files and Their Directory Services Counterparts
- 5.11. Restoring the Directory Services Database
- 6. Printing
- 6.1. Printer Setup Utility
- 6.1.1. Adding an IP Printer
- 6.1.2. Modifying a Printer's Settings
- 6.1.3. Creating a Desktop Icon for a Printer
- 6.1.4. Printer Sharing
- 6.2. Common Unix Printing System (CUPS)
- 6.2.1. Printing from Remote Systems
- 6.2.1.1. GNOME
- 6.2.1.2. KDE
- 6.2.1.3. Manual printer configuration (Linux and Unix)
- 6.2.1.4. Printing from Linux
- 6.2.1. Printing from Remote Systems
- 6.3. Gimp-Print
- 6.3.1. HP InkJet Server (HPIJS) Project
- 6.1. Printer Setup Utility
- 7. The X Window System
- 7.1. Installing X11
- 7.2. Running X11
- 7.3. Customizing X11
- 7.3.1. Dot-files, Desktops, and Window Managers
- 7.3.2. X11 Preferences, Application Menu, and Dock Menu
- 7.3.2.1. Input
- 7.3.2.2. Output
- 7.3.2.3. Customizing X11's Applications menu
- 7.4. X11-based Applications and Libraries
- 7.4.1. Aqua-X11 Interactions
- 7.4.2. TKAqua
- 7.5. Connecting to Other X Window Systems
- 7.5.1. OSX2X
- 7.6. Virtual Network Computing
- 7.6.1. Launching VNC
- 7.6.1.1. VNC and SSH
- 7.6.2. Connecting to the Mac OS X VNC Server
- 7.6.1. Launching VNC
- 8. Multimedia
- 8.1. Burning CDs
- 8.2. Video
- 8.2.1. Open Source Video Players
- 8.3. Image Editing
- 8.4. 3D Modeling
- 9. Third-Party Tools and Applications
- 9.1. Virtual Desktops and Screens
- 9.2. The Application Menu
- 9.3. Exposé
- 9.4. Virtual Desktops
- 9.4.1. VirtualDesktop
- 9.4.2. Virtual Screens
- 9.5. SSH GUIs
- 9.5.1. LaTeX
- 9.5.2. Installing TeX Live-teTeX
- 9.5.3. TeXShop
- 9.5.4. iTeXMac
- 9.5.5. LaTeX Services
- 9.6. R with an Aqua GUI
- 9.7. NeoOffice/J and OpenOffice
- 10. Dual-Boot and Beyond
- 10.1. Why Bother?
- 10.2. Linux on Mac Hardware
- 10.2.1. Picking a Linux Distribution
- 10.2.2. Compatibility Details
- 10.2.3. Partitioning for Linux
- 10.2.4. Booting into Linux
- 10.2.5. Mac-on-Linux
- 10.3. Emulators on Mac OS X
- 10.3.1. Virtual PC
- 10.3.1.1. Linux doesn't find the network adapter
- 10.3.1.2. Linux can't configure TCP/IP
- 10.3.1.3. Launching X11 displays garbage on the screen
- 10.3.2. QEMU
- 10.3.2.1. Installing an operating system
- 10.3.2.2. Suspending and resuming
- 10.3.2.3. Networking
- 10.3.1. Virtual PC
- 10.4. Emulating the Mac
- 10.4.1. PearPC
- 1. Inside the Terminal
- II. Building Applications
- 11. Compiling Source Code
- 11.1. Compiler Differences
- 11.2. Compiling Unix Source Code
- 11.2.1. The First Line of Defense
- 11.2.2. Host Type
- 11.2.2.1. Macros
- 11.2.3. Supported Languages
- 11.2.4. Preprocessing
- 11.2.5. Frameworks
- 11.2.5.1. Framework structure
- 11.2.5.2. Including a framework in your application
- 11.2.6. Compiler Flags
- 11.3. Architectural Issues
- 11.3.1. AltiVec
- 11.3.2. 64-bit Computing
- 11.3.3. Endian-ness
- 11.3.4. Inline Assembly
- 11.4. X11-based Applications and Libraries
- 11.4.1. Building X11-based Applications and Libraries
- 11.4.2. AquaTerm
- 11.5. Xgrid
- 12. Libraries, Headers, and Frameworks
- 12.1. Header Files
- 12.1.1. Precompiled Header Files
- 12.1.2. malloc.h
- 12.1.3. poll.h
- 12.1.4. wchar.h and iconv.h
- 12.1.5. dlfcn.h
- 12.1.6. alloc.h
- 12.1.7. lcyrpt.h
- 12.1.8. values.h
- 12.2. The System Library: libSystem
- 12.3. libstdc++
- 12.4. Shared Libraries Versus Loadable Modules
- 12.4.1. Building a Shared Library
- 12.4.2. Dynamically Loading Libraries
- 12.4.3. Two-Level Namespaces
- 12.5. Library Versions
- 12.6. Creating and Linking Static Libraries
- 12.7. Creating Frameworks
- 12.8. The Dynamic Linker dyld: Prebinding, the Pre-Tiger Way
- 12.8.1. Launching an Application Built Without Prebinding
- 12.8.2. Tiger's dyld Renders Prebinding Unnecessary
- 12.8.3. Some New Features of dyld
- 12.9. Performance Tools and Debugging Tools
- 12.10. CHUD Tools
- 12.11. Interesting and Important Libraries
- 12.12. Numerical Libraries
- 12.1. Header Files
- 11. Compiling Source Code
- III. Working with Packages
- 13. Fink
- 13.1. Installing Fink
- 13.1.1. Installing Fink from a Disk Image
- 13.1.2. Installing Fink from Source
- 13.1.3. Installing Fink from CVS
- 13.1.4. Post-Installation Setup
- 13.2. Using Fink
- 13.3. FinkCommander
- 13.4. Installing Binaries
- 13.1. Installing Fink
- 14. DarwinPorts
- 14.1. Installing DarwinPorts
- 14.1.1. Installing DarwinPorts from CVS
- 14.2. Using DarwinPorts
- 14.2.1. Creating and Installing Packages in pkg Format
- 14.2.2. Creating and Installing Packages in RPM Format
- 14.3. DarwinPorts Maintenance
- 14.4. Installing Binaries
- 14.5. DPGUI
- 14.1. Installing DarwinPorts
- 15. Creating and Installing Packages
- 15.1. Using PackageMaker
- 15.1.1. Setting up the Directory
- 15.1.2. Creating the Package
- 15.2. Using GNU tar
- 15.3. Disk Images
- 15.3.1. Creating a Disk Image with Disk Utility
- 15.3.2. Creating a Disk Image from the Command Line
- 15.3.3. Distributing Your Image
- 15.3.3.1. Internet-enabled disk images
- 15.4. Creating Fink Packages
- 15.4.1. Creating and Publishing the Tarball
- 15.4.2. Creating the .info File
- 15.4.3. Installing the Package
- 15.5. Creating DarwinPorts Packages
- 15.5.1. Creating and Publishing the Tarball
- 15.5.2. Creating the Portfile File
- 15.5.3. Building and Installing a Port
- 15.1. Using PackageMaker
- 13. Fink
- IV. Serving and System Management
- 16. Using Mac OS X as a Server
- 16.1. Getting Connected
- 16.1.1. Dynamic DNS
- 16.1.2. Serving from Behind a Firewall
- 16.1.2.1. Port mapping with an AirPort Base Station
- 16.2. Built-in Services: The Sharing Panel
- 16.2.1. Personal File Sharing
- 16.2.2. Windows File Sharing
- 16.2.3. Personal Web Sharing
- 16.2.3.1. dav_module (mod_dav)
- 16.2.3.2. perl_module (mod_perl)
- 16.2.3.3. ssl_module (mod_ssl)
- 16.2.3.4. php4_module (mod_php4)
- 16.2.3.5. hfs_apple_module (mod_hfs_apple)
- 16.2.3.6. bonjour_module (mod_bonjour)
- 16.2.4. Remote Login
- 16.2.5. FTP Access
- 16.2.6. Printer Sharing
- 16.3. Email
- 16.3.1. Configuring Postfix to Send Email
- 16.3.2. Configuring Postfix to Receive Email
- 16.4. The Mac OS X Firewall
- 16.4.1. Internet Sharing
- 16.4.1.1. ifconfig
- 16.4.1.2. ipfw/natd
- 16.4.1.3. bootpd
- 16.4.1.4. named
- 16.4.2. The Mac OS X Firewall
- 16.4.2.1. Enable Firewall Logging
- 16.4.2.2. Block UDP Traffic
- 16.4.2.3. Enable Stealth Mode
- 16.4.3. Add Your Own Rules
- 16.4.1. Internet Sharing
- 16.1. Getting Connected
- 17. System Management Tools
- 17.1. Diagnostic Utilities
- 17.1.1. top
- 17.1.2. fs_usage
- 17.1.3. latency
- 17.1.4. sc_usage
- 17.1.5. vm_stat
- 17.2. Kernel Utilities
- 17.2.1. ddb
- 17.2.2. ktrace
- 17.2.3. Kernel Module Utilities
- 17.2.4. sysctl
- 17.3. System Configuration
- 17.3.1. scutil
- 17.3.2. defaults
- 17.3.3. nvram
- 17.4. Third-Party Applications
- 17.1. Diagnostic Utilities
- 18. Free Databases
- 18.1. SQLite
- 18.1.1. Where to Find SQLite
- 18.1.2. Using SQLite
- 18.2. MySQL
- 18.2.1. Compiling MySQL
- 18.2.2. Installing MySQL
- 18.2.3. Configuring MySQL
- 18.2.4. Using MySQL
- 18.3. PostgreSQL
- 18.3.1. Compiling PostgreSQL
- 18.3.2. Installing PostgreSQL
- 18.3.3. Adding the Startup Item
- 18.3.4. Configuring PostgreSQL
- 18.3.5. Using PostgreSQL
- 18.4. PHP and Perl
- 18.1. SQLite
- 19. Perl and Python
- 19.1. Perl for Mac OS X Geeks
- 19.1.1. Mac::Carbon
- 19.1.2. PerlObjCBridge.pm
- 19.1.3. Mac::Glue
- 19.2. Python for Mac OS X Geeks
- 19.2.1. Carbon
- 19.2.2. Apple Events
- 19.2.3. PyObjC
- 19.1. Perl for Mac OS X Geeks
- 16. Using Mac OS X as a Server
- V. Appendixes
- A. Mac OS X GUI Primer
- B. Mac OS X's Unix Development Tools
- B.1. Standard Unix Development Tools
- B.2. Apple's Command-Line Developer Tools
- B.3. Macintosh Tools
- B.4. Java Development Tools
- B.5. Text Editing and Processing
- B.6. Scripting and Shell Programming
- B.7. Working with Files and Directories
- B.8. File Compression and Storage
- B.9. Searching and Sorting
- B.10. Miscellaneous Tools
- About the Authors
- Index
- About the Authors
- Colophon
- Copyright