The Advanced Bash Scripting Guide is both a reference and a tutorial on shell scripting. This comprehensive book, the equivalent of 1,000+ print pages, covers almost every aspect of shell scripting. It contains 382 profusely commented illustrative examples, a number of tables, and a cross-linked index/glossary. Not just a shell scripting tutorial, this book also provides an introduction to basic programming techniques, such as sorting and recursion. Included scripts are the Game of Life, a Perquackey variant, a Morse code trainer, and an implementation of the Gronsfeld Cipher. This book is suited for both individual study and classroom use. It covers Bash, up to and including version 4.2. Note that users of miniaturized single-board computers running Linux, such as the Raspberry Pi and the Beagle Bone, would find this Guide useful for learning and running Bash scripts to explore and expand the capabilities of these small, but powerful machines.
Moose File System (MooseFS / MFS) is a fault tolerant, network distributed file system. It spreads data over several physical servers, which are visible to the user as one resource. For standard file operations MooseFS mounted with FUSE acts like other Unix-alike file systems: it has a hierarchical structure; it stores POSIX file attributes; and it supports special files, symbolic links, and hard links. Access to the file system can be limited based on IP address and/or password. It offers high reliability, since several copies of the data can be stored across separate computers. Capacity is dynamically expandable by attaching new computers or disks. Deleted files are retained for a configurable period of time (with a file system level "trash bin"). MooseFS supports coherent snapshots of files, even while the file is being written or accessed.
chrony is a client and server for the Network Time Protocol (NTP). This program keeps your computer's clock accurate. It was specially designed to support systems with intermittent Internet connections, but it also works well in permanently connected environments. It can also use hardware reference clocks, the system real-time clock, or manual input as time references.