Debian Reference

Osamu Aoki

Abstract

This book is free; you may redistribute it and/or modify it under the terms of the GNU General Public License of any version compliant to the Debian Free Software Guidelines (DFSG).


Table of Contents

Preface
1. Disclaimer
2. What is Debian
3. About this document
3.1. Guiding rules
3.2. Prerequisites
3.3. Conventions
3.4. The popcon
3.5. The package size
3.6. Bug reports on this document
4. Some quotes for new users
1. GNU/Linux tutorials
1.1. Console basics
1.1.1. The shell prompt
1.1.2. The shell prompt under X
1.1.3. The root account
1.1.4. The root shell prompt
1.1.5. GUI system administration tools
1.1.6. Virtual consoles
1.1.7. How to leave the command prompt
1.1.8. How to shutdown the system
1.1.9. Recovering a sane console
1.1.10. Additional package suggestions for the newbie
1.1.11. An extra user account
1.1.12. sudo configuration
1.1.13. Play time
1.2. Unix-like filesystem
1.2.1. Unix file basics
1.2.2. Filesystem internals
1.2.3. Filesystem permissions
1.2.4. Control of permissions for newly created files: umask
1.2.5. Permissions for groups of users (group)
1.2.6. Timestamps
1.2.7. Links
1.2.8. Named pipes (FIFOs)
1.2.9. Sockets
1.2.10. Device files
1.2.11. Special device files
1.2.12. procfs and sysfs
1.2.13. tmpfs
1.3. Midnight Commander (MC)
1.3.1. Customization of MC
1.3.2. Starting MC
1.3.3. File manager in MC
1.3.4. Command-line tricks in MC
1.3.5. The internal editor in MC
1.3.6. The internal viewer in MC
1.3.7. Auto-start features of MC
1.3.8. FTP virtual filesystem of MC
1.4. The basic Unix-like work environment
1.4.1. The login shell
1.4.2. Customizing bash
1.4.3. Special key strokes
1.4.4. Unix style mouse operations
1.4.5. The pager
1.4.6. The text editor
1.4.7. Setting a default text editor
1.4.8. Customizing vim
1.4.9. Recording the shell activities
1.4.10. Basic Unix commands
1.5. The simple shell command
1.5.1. Command execution and environment variable
1.5.2. The "$LANG" variable
1.5.3. The "$PATH" variable
1.5.4. The "$HOME" variable
1.5.5. Command line options
1.5.6. Shell glob
1.5.7. Return value of the command
1.5.8. Typical command sequences and shell redirection
1.5.9. Command alias
1.6. Unix-like text processing
1.6.1. Unix text tools
1.6.2. Regular expressions
1.6.3. Replacement expressions
1.6.4. Global substitution with regular expressions
1.6.5. Extracting data from text file table
1.6.6. Script snippets for piping commands
2. Debian package management
2.1. Debian package management prerequisites
2.1.1. Package configuration
2.1.2. Basic precautions
2.1.3. Life with eternal upgrades
2.1.4. Debian archive basics
2.1.5. Debian is 100% free software
2.1.6. Package dependencies
2.1.7. The event flow of the package management
2.1.8. First response to package management troubles
2.2. Basic package management operations
2.2.1. apt-get / apt-cache vs. aptitude
2.2.2. Basic package management operations with the commandline
2.2.3. Interactive use of aptitude
2.2.4. Key bindings of aptitude
2.2.5. Package views under aptitude
2.2.6. Search method options with aptitude
2.2.7. The aptitude regex formula
2.2.8. Dependency resolution of aptitude
2.2.9. Package activity logs
2.3. Examples of aptitude operations
2.3.1. Listing packages with regex matching on package names
2.3.2. Browsing with the regex matching
2.3.3. Purging removed packages for good
2.3.4. Tidying auto/manual install status
2.3.5. System wide upgrade
2.4. Advanced package management operations
2.4.1. Advanced package management operations with commandline
2.4.2. Verification of installed package files
2.4.3. Safeguarding for package problems
2.4.4. Searching on the package meta data
2.5. Debian package management internals
2.5.1. Archive meta data
2.5.2. Top level "Release" file and authenticity
2.5.3. Archive level "Release" files
2.5.4. Fetching of the meta data for the package
2.5.5. The package state for APT
2.5.6. The package state for aptitude
2.5.7. Local copies of the fetched packages
2.5.8. Debian package file names
2.5.9. The dpkg command
2.5.10. The update-alternatives command
2.5.11. The dpkg-statoverride command
2.5.12. The dpkg-divert command
2.6. Recovery from a broken system
2.6.1. Incompatibility with old user configuration
2.6.2. Different packages with overlapped files
2.6.3. Fixing broken package script
2.6.4. Rescue with the dpkg command
2.6.5. Recovering package selection data
2.7. Tips for the package management
2.7.1. How to pick Debian packages
2.7.2. Packages from mixed source of archives
2.7.3. Tweaking candidate version
2.7.4. Updates and Backports
2.7.5. Blocking packages installed by "Recommends"
2.7.6. Tracking testing with some packages from unstable
2.7.7. Tracking unstable with some packages from experimental
2.7.8. Automatic download and upgrade of packages
2.7.9. Limiting download bandwidth for APT
2.7.10. Emergency downgrading
2.7.11. Who uploaded the package?
2.7.12. The equivs package
2.7.13. Porting a package to the stable system
2.7.14. Proxy server for APT
2.7.15. Small public package archive
2.7.16. Recording and copying system configuration
2.7.17. Converting or installing an alien binary package
2.7.18. Extracting package without dpkg
2.7.19. More readings for the package management
3. The system initialization
3.1. An overview of the boot strap process
3.1.1. Stage 1: the BIOS
3.1.2. Stage 2: the boot loader
3.1.3. Stage 3: the mini-Debian system
3.1.4. Stage 4: the normal Debian system
3.2. SysV-style init
3.2.1. The meaning of the runlevel
3.2.2. The configuration of the runlevel
3.2.3. The runlevel management example
3.2.4. The default parameter for each init script
3.2.5. The hostname
3.2.6. The filesystem
3.2.7. Network interface initialization
3.2.8. Network service initialization
3.2.9. The system message
3.2.10. The kernel message
3.3. The udev system
3.3.1. The kernel module initialization
4. Authentication
4.1. Normal Unix authentication
4.2. Managing account and password information
4.3. Good password
4.4. Creating encrypted password
4.5. PAM and NSS
4.5.1. Configuration files accessed by PAM and NSS
4.5.2. The modern centralized system management
4.5.3. "Why GNU su does not support the wheel group"
4.5.4. Stricter password rule
4.6. Other access controls
4.6.1. sudo
4.6.2. PolicyKit
4.6.3. SELinux
4.6.4. Restricting access to some server services
4.7. Security of authentication
4.7.1. Secure password on the Internet
4.7.2. Secure Shell
4.7.3. Extra security measures for the Internet
4.7.4. Securing the root password
5. Network setup
5.1. The basic network infrastructure
5.1.1. The hostname resolution
5.1.2. The network interface name
5.1.3. The network address range for the LAN
5.1.4. The network device support
5.2. The modern network configuration for desktop
5.2.1. GUI network configuration tools
5.3. The legacy network connection and configuration
5.4. The network connection method (legacy)
5.4.1. The DHCP connection with the Ethernet
5.4.2. The static IP connection with the Ethernet
5.4.3. The PPP connection with pppconfig
5.4.4. The alternative PPP connection with wvdialconf
5.4.5. The PPPoE connection with pppoeconf
5.5. The basic network configuration with ifupdown (legacy)
5.5.1. The command syntax simplified
5.5.2. The basic syntax of "/etc/network/interfaces"
5.5.3. The loopback network interface
5.5.4. The network interface served by the DHCP
5.5.5. The network interface with the static IP
5.5.6. The basics of wireless LAN interface
5.5.7. The wireless LAN interface with WPA/WPA2
5.5.8. The wireless LAN interface with WEP
5.5.9. The PPP connection
5.5.10. The alternative PPP connection
5.5.11. The PPPoE connection
5.5.12. The network configuration state of ifupdown
5.5.13. The basic network reconfiguration
5.5.14. The ifupdown-extra package
5.6. The advanced network configuration with ifupdown (legacy)
5.6.1. The ifplugd package
5.6.2. The ifmetric package
5.6.3. The virtual interface
5.6.4. The advanced command syntax
5.6.5. The mapping stanza
5.6.6. The manually switchable network configuration
5.6.7. Scripting with the ifupdown system
5.6.8. Mapping with guessnet
5.7. The low level network configuration
5.7.1. Iproute2 commands
5.7.2. Safe low level network operations
5.8. Network optimization
5.8.1. Finding optimal MTU
5.8.2. Setting MTU
5.8.3. WAN TCP optimization
5.9. Netfilter infrastructure
6. Network applications
6.1. Web browsers
6.1.1. Browser configuration
6.2. The mail system
6.2.1. Email basics
6.2.2. Modern mail service basics
6.2.3. The mail configuration strategy for workstation
6.3. Mail transport agent (MTA)
6.3.1. The configuration of exim4
6.3.2. The configuration of postfix with SASL
6.3.3. The mail address configuration
6.3.4. Basic MTA operations
6.4. Mail user agent (MUA)
6.4.1. Basic MUA — Mutt
6.5. The remote mail retrieval and forward utility
6.5.1. getmail configuration
6.5.2. fetchmail configuration
6.6. Mail delivery agent (MDA) with filter
6.6.1. maildrop configuration
6.6.2. procmail configuration
6.6.3. Redeliver mbox contents
6.7. POP3/IMAP4 server
6.8. The print server and utility
6.9. The remote access server and utility (SSH)
6.9.1. Basics of SSH
6.9.2. Port forwarding for SMTP/POP3 tunneling
6.9.3. Connecting without remote passwords
6.9.4. Dealing with alien SSH clients
6.9.5. Setting up ssh-agent
6.9.6. How to shutdown the remote system on SSH
6.9.7. Troubleshooting SSH
6.10. Other network application servers
6.11. Other network application clients
6.12. The diagnosis of the system daemons
7. The X Window System
7.1. Key packages
7.2. Setting up desktop environment
7.2.1. Debian menu
7.2.2. Freedesktop.org menu
7.2.3. Debian menu from Freedesktop.org menu
7.3. The server/client relationship
7.4. The X server
7.4.1. The (re)configuration of the X server
7.4.2. The connection methods to the X server
7.5. Starting the X Window System
7.5.1. Starting X session with gdm3
7.5.2. Customizing the X session (classic method)
7.5.3. Customizing the X session (new method)
7.5.4. Connecting a remote X client via SSH
7.5.5. Secure X terminal via the Internet
7.6. Fonts in the X Window
7.6.1. Basic fonts
7.6.2. Additional fonts
7.6.3. CJK fonts
7.7. X applications
7.7.1. X office applications
7.7.2. X utility applications
7.8. The X trivia
7.8.1. Keymaps and pointer button mappings in X
7.8.2. Classic X clients
7.8.3. The X terminal emulator — xterm
7.8.4. Running X clients as root
8. I18N and L10N
8.1. The keyboard input
8.1.1. The input method support with IBus
8.1.2. An example for Japanese
8.1.3. Disabling the input method
8.2. The display output
8.3. The locale
8.3.1. Basics of encoding
8.3.2. Rationale for UTF-8 locale
8.3.3. The reconfiguration of the locale
8.3.4. The value of the "$LANG" environment variable
8.3.5. Specific locale only under X Window
8.3.6. Filename encoding
8.3.7. Localized messages and translated documentation
8.3.8. Effects of the locale
9. System tips
9.1. The screen program
9.1.1. The use scenario for screen(1)
9.1.2. Key bindings for the screen command
9.2. Data recording and presentation
9.2.1. The log daemon
9.2.2. Log analyzer
9.2.3. Recording the shell activities cleanly
9.2.4. Customized display of text data
9.2.5. Customized display of time and date
9.2.6. Colorized shell echo
9.2.7. Colorized commands
9.2.8. Recording the editor activities for complex repeats
9.2.9. Recording the graphic image of an X application
9.2.10. Recording changes in configuration files
9.3. Monitoring, controlling, and starting program activities
9.3.1. Timing a process
9.3.2. The scheduling priority
9.3.3. The ps command
9.3.4. The top command
9.3.5. Listing files opened by a process
9.3.6. Tracing program activities
9.3.7. Identification of processes using files or sockets
9.3.8. Repeating a command with a constant interval
9.3.9. Repeating a command looping over files
9.3.10. Starting a program from GUI
9.3.11. Customizing program to be started
9.3.12. Killing a process
9.3.13. Scheduling tasks once
9.3.14. Scheduling tasks regularly
9.3.15. Alt-SysRq key
9.4. System maintenance tips
9.4.1. Who is on the system?
9.4.2. Warning everyone
9.4.3. Hardware identification
9.4.4. Hardware configuration
9.4.5. System and hardware time
9.4.6. The terminal configuration
9.4.7. The sound infrastructure
9.4.8. Disabling the screen saver
9.4.9. Disabling beep sounds
9.4.10. Memory usage
9.4.11. System security and integrity check
9.5. Data storage tips
9.5.1. Disk space usage
9.5.2. Disk partition configuration
9.5.3. Accessing partition using UUID
9.5.4. LVM2
9.5.5. Filesystem configuration
9.5.6. Filesystem creation and integrity check
9.5.7. Optimization of filesystem by mount options
9.5.8. Optimization of filesystem via superblock
9.5.9. Optimization of hard disk
9.5.10. Optimization of solid state drive
9.5.11. Using SMART to predict hard disk failure
9.5.12. Specify temporary storage directory via $TMPDIR
9.5.13. Expansion of usable storage space via LVM
9.5.14. Expansion of usable storage space by mounting another partition
9.5.15. Expansion of usable storage space by bind-mounting another directory
9.5.16. Expansion of usable storage space using symlink
9.5.17. Expansion of usable storage space using aufs
9.6. The disk image
9.6.1. Making the disk image file
9.6.2. Writing directly to the disk
9.6.3. Mounting the disk image file
9.6.4. Cleaning a disk image file
9.6.5. Making the empty disk image file
9.6.6. Making the ISO9660 image file
9.6.7. Writing directly to the CD/DVD-R/RW
9.6.8. Mounting the ISO9660 image file
9.7. The binary data
9.7.1. Viewing and editing binary data
9.7.2. Manipulating files without mounting disk
9.7.3. Data redundancy
9.7.4. Data file recovery and forensic analysis
9.7.5. Splitting a large file into small files
9.7.6. Clearing file contents
9.7.7. Dummy files
9.7.8. Erasing an entire hard disk
9.7.9. Erasing unused area of an hard disk
9.7.10. Undeleting deleted but still open files
9.7.11. Searching all hardlinks
9.7.12. Invisible disk space consumption
9.8. Data encryption tips
9.8.1. Removable disk encryption with dm-crypt/LUKS
9.8.2. Encrypted swap partition with dm-crypt
9.8.3. Automatically encrypting files with eCryptfs
9.8.4. Automatically mounting eCryptfs
9.9. The kernel
9.9.1. Linux kernel 2.6/3.x
9.9.2. Kernel parameters
9.9.3. Kernel headers
9.9.4. Compiling the kernel and related modules
9.9.5. Compiling the kernel source: Debian Kernel Team recommendation
9.9.6. Hardware drivers and firmware
9.10. Virtualized system
9.10.1. Virtualization tools
9.10.2. Virtualization work flow
9.10.3. Mounting the virtual disk image file
9.10.4. Chroot system
9.10.5. Multiple desktop systems
10. Data management
10.1. Sharing, copying, and archiving
10.1.1. Archive and compression tools
10.1.2. Copy and synchronization tools
10.1.3. Idioms for the archive
10.1.4. Idioms for the copy
10.1.5. Idioms for the selection of files
10.1.6. Archive media
10.1.7. Removable storage device
10.1.8. Filesystem choice for sharing data
10.1.9. Sharing data via network
10.2. Backup and recovery
10.2.1. Backup utility suites
10.2.2. An example script for the system backup
10.2.3. A copy script for the data backup
10.3. Data security infrastructure
10.3.1. Key management for GnuPG
10.3.2. Using GnuPG on files
10.3.3. Using GnuPG with Mutt
10.3.4. Using GnuPG with Vim
10.3.5. The MD5 sum
10.4. Source code merge tools
10.4.1. Extracting differences for source files
10.4.2. Merging updates for source files
10.4.3. Updating via 3-way-merge
10.5. Version control systems
10.5.1. Comparison of VCS commands
10.6. Git
10.6.1. Configuration of Git client
10.6.2. Git references
10.6.3. Git commands
10.6.4. Git for the Subversion repository
10.6.5. Git for recording configuration history
10.7. CVS
10.7.1. Configuration of CVS repository
10.7.2. Local access to CVS
10.7.3. Remote access to CVS with pserver
10.7.4. Remote access to CVS with ssh
10.7.5. Importing a new source to CVS
10.7.6. File permissions in CVS repository
10.7.7. Work flow of CVS
10.7.8. Latest files from CVS
10.7.9. Administration of CVS
10.7.10. Execution bit for CVS checkout
10.8. Subversion
10.8.1. Configuration of Subversion repository
10.8.2. Access to Subversion via Apache2 server
10.8.3. Local access to Subversion by group
10.8.4. Remote access to Subversion via SSH
10.8.5. Subversion directory structure
10.8.6. Importing a new source to Subversion
10.8.7. Work flow of Subversion
11. Data conversion
11.1. Text data conversion tools
11.1.1. Converting a text file with iconv
11.1.2. Checking file to be UTF-8 with iconv
11.1.3. Converting file names with iconv
11.1.4. EOL conversion
11.1.5. TAB conversion
11.1.6. Editors with auto-conversion
11.1.7. Plain text extraction
11.1.8. Highlighting and formatting plain text data
11.2. XML data
11.2.1. Basic hints for XML
11.2.2. XML processing
11.2.3. The XML data extraction
11.3. Type setting
11.3.1. roff typesetting
11.3.2. TeX/LaTeX
11.3.3. Pretty print a manual page
11.3.4. Creating a manual page
11.4. Printable data
11.4.1. Ghostscript
11.4.2. Merge two PS or PDF files
11.4.3. Printable data utilities
11.4.4. Printing with CUPS
11.5. The mail data conversion
11.5.1. Mail data basics
11.6. Graphic data tools
11.7. Miscellaneous data conversion
12. Programming
12.1. The shell script
12.1.1. POSIX shell compatibility
12.1.2. Shell parameters
12.1.3. Shell conditionals
12.1.4. Shell loops
12.1.5. The shell command-line processing sequence
12.1.6. Utility programs for shell script
12.1.7. Shell script dialog
12.1.8. Shell script example with zenity
12.2. Make
12.3. C
12.3.1. Simple C program (gcc)
12.4. Debug
12.4.1. Basic gdb execution
12.4.2. Debugging the Debian package
12.4.3. Obtaining backtrace
12.4.4. Advanced gdb commands
12.4.5. Debugging X Errors
12.4.6. Check dependency on libraries
12.4.7. Memory leak detection tools
12.4.8. Static code analysis tools
12.4.9. Disassemble binary
12.5. Flex — a better Lex
12.6. Bison — a better Yacc
12.7. Autoconf
12.7.1. Compile and install a program
12.7.2. Uninstall program
12.8. Perl short script madness
12.9. Web
12.10. The source code translation
12.11. Making Debian package
A. Appendix
A.1. The Debian maze
A.2. Copyright history
A.3. Document format

List of Tables

1.1. List of interesting text-mode program packages
1.2. List of informative documentation packages
1.3. List of usage of key directories
1.4. List of the first character of "ls -l" output
1.5. The numeric mode for file permissions in chmod(1) commands
1.6. The umask value examples
1.7. List of notable system-provided groups for file access
1.8. List of notable system provided groups for particular command executions
1.9. List of types of timestamps
1.10. List of special device files
1.11. The key bindings of MC
1.12. The reaction to the enter key in MC
1.13. List of shell programs
1.14. List of key bindings for bash
1.15. List of Unix style mouse operations
1.16. List of basic Unix commands
1.17. The 3 parts of locale value
1.18. List of locale recommendations
1.19. List of "$HOME" values
1.20. Shell glob patterns
1.21. Command exit codes
1.22. Shell command idioms
1.23. Predefined file descriptors
1.24. Metacharacters for BRE and ERE
1.25. The replacement expression
1.26. List of script snippets for piping commands
2.1. List of Debian package management tools
2.2. List of Debian archive sites
2.3. List of Debian archive area
2.4. The relationship between suite and codename
2.5. List of key web site to resolving problems with a specific package
2.6. Basic package management operations with the commandline using aptitude(8) and apt-get(8) /apt-cache(8)
2.7. Notable command options for aptitude(8)
2.8. List of key bindings for aptitude
2.9. List of views for aptitude
2.10. The categorization of standard package views
2.11. List of the aptitude regex formula
2.12. The log files for package activities
2.13. List of advanced package management operations
2.14. The content of the Debian archive meta data
2.15. The name structure of Debian packages
2.16. The usable characters for each component in the Debian package names
2.17. The notable files created by dpkg
2.18. List of notable Pin-Priority values for apt-pinning technique.
2.19. List of the proxy tools specially for Debian archive
3.1. List of boot loaders
3.2. The meaning of GRUB parameters
3.3. List of boot utilities for the Debian system
3.4. List of runlevels and description of their usage
3.5. List of kernel error levels
4.1. 3 important configuration files for pam_unix(8)
4.2. The second entry content of "/etc/passwd"
4.3. List of commands to manage account information
4.4. List of tools to generate password
4.5. List of notable PAM and NSS systems
4.6. List of configuration files accessed by PAM and NSS
4.7. List of insecure and secure services and ports
4.8. List of tools to provide extra security measures
5.1. List of network configuration tools
5.2. List of network address ranges
5.3. List of network connection methods and connection paths
5.4. List of network connection configurations
5.5. List of network connection acronyms
5.6. List of configuration files for the PPP connection with pppconfig
5.7. List of configuration files for the PPP connection with wvdialconf
5.8. List of configuration files for the PPPoE connection with pppoeconf
5.9. List of basic network configuration commands with ifupdown
5.10. List of stanzas in "/etc/network/interfaces"
5.11. List of acronyms for WLAN
5.12. List of terminology for network devices
5.13. List of advanced network configuration commands with ifupdown
5.14. List of environment variables passed by the ifupdown system
5.15. Translation table from obsolete net-tools commands to new iproute2 commands
5.16. List of low level network commands
5.17. List of network optimization tools
5.18. Basic guide lines of the optimal MTU value
5.19. List of firewall tools
6.1. List of web browsers
6.2. List of browser plugin packages
6.3. List of basic mail transport agent related packages for workstation
6.4. List of choices for mail transport agent (MTA) packages in Debian archive
6.5. List of important postfix manual pages
6.6. List of mail address related configuration files
6.7. List of basic MTA operation
6.8. List of mail user agent (MUA)
6.9. List of remote mail retrieval and forward utilities
6.10. List of MDA with filter
6.11. List of POP3/IMAP4 servers
6.12. List of print servers and utilities
6.13. List of remote access server and utilities
6.14. List of SSH authentication protocols and methods
6.15. List of SSH configuration files
6.16. List of SSH client startup examples
6.17. List of free SSH clients for other platforms
6.18. List of other network application servers
6.19. List of network application clients
6.20. List of popular RFCs
7.1. List of key (meta)packages for X Window
7.2. List of server/client terminology
7.3. List of connection methods to the X server
7.4. Table of packages to support X Window font systems
7.5. Table of corresponding PostScript Type 1 fonts
7.6. Table of corresponding TrueType fonts
7.7. Table of key words used in CJK font names to indicate font types
7.8. List of basic X office applications
7.9. List of basic X utility applications
8.1. List of keyboard reconfiguration methods
8.2. List of input method supports with IBus
9.1. List of programs to support interrupted network connections
9.2. List of key bindings for screen
9.3. List of system log analyzers
9.4. Display examples of time and date for the "ls -l" command for wheezy
9.5. List of graphic image manipulation tools
9.6. List of packages to record configuration history in VCS
9.7. List of tools for monitoring and controlling program activities
9.8. List of nice values for the scheduling priority
9.9. List of ps command styles
9.10. List of commands for top
9.11. List of frequently used signals for kill command
9.12. List of SAK command keys
9.13. List of hardware identification tools
9.14. List of hardware configuration tools
9.15. List of sound packages
9.16. List of commands for disabling the screen saver
9.17. List of memory sizes reported
9.18. List of tools for system security and integrity check
9.19. List of disk partition management packages
9.20. List of filesystem management packages
9.21. List of packages which view and edit binary data
9.22. List of packages to manipulate files without mounting disk
9.23. List of tools to add data redundancy to files
9.24. List of packages for data file recovery and forensic analysis
9.25. List of data encryption utilities
9.26. List of key packages to be installed for the kernel recompilation on the Debian system
9.27. List of virtualization tools
10.1. List of archive and compression tools
10.2. List of copy and synchronization tools
10.3. List of filesystem choices for removable storage devices with typical usage scenarios
10.4. List of the network service to chose with the typical usage scenario
10.5. List of backup suite utilities
10.6. List of data security infrastructure tools
10.7. List of GNU Privacy Guard commands for the key management
10.8. List of the meaning of the trust code
10.9. List of GNU Privacy Guard commands on files
10.10. List of source code merge tools
10.11. List of version control system tools
10.12. Comparison of native VCS commands
10.13. List of git related packages and commands
10.14. Notable options for CVS commands (use as first argument(s) to cvs(1))
10.15. Notable options for Subversion commands (use as first argument(s) to svn(1))
11.1. List of text data conversion tools
11.2. List of encoding values and their usage
11.3. List of EOL styles for different platforms
11.4. List of TAB conversion commands from bsdmainutils and coreutils packages
11.5. List of tools to extract plain text data
11.6. List of tools to highlight plain text data
11.7. List of predefined entities for XML
11.8. List of XML tools
11.9. List of DSSL tools
11.10. List of XML data extraction tools
11.11. List of XML pretty print tools
11.12. List of type setting tools
11.13. List of packages to help creating the manpage
11.14. List of Ghostscript PostScript interpreters
11.15. List of printable data utilities
11.16. List of packages to help mail data conversion
11.17. List of graphic data tools
11.18. List of miscellaneous data conversion tools
12.1. List of packages to help programing
12.2. List of typical bashisms
12.3. List of shell parameters
12.4. List of shell parameter expansions
12.5. List of key shell parameter substitutions
12.6. List of file comparison operators in the conditional expression
12.7. List of string comparison operators in the conditional expression
12.8. List of packages containing small utility programs for shell scripts
12.9. List of user interface programs
12.10. List of make automatic variables
12.11. List of make variable expansions
12.12. List of advanced gdb commands
12.13. List of memory leak detection tools
12.14. List of tools for static code analysis
12.15. List of Yacc-compatible LALR parser generators
12.16. List of source code translation tools