Learning Computer – A list of Free Application Software for your development use

Distributed under the GNU Free Software Foundation, Free softwares posted here for your continuous computer learning experience! 
Alexis FTP (aftp)
aftp is an FTP library and a background FTP tool. The aftp tool is a good example on how to use the library. You need FTP functionality in your software? Use the aftp library!


‘alien’ converts between the rpm, deb, Stampede slp, and Slackware tgz file formats. If you want to use a package from a distribution different from the one installed on your system, ‘alien’ will convert it to your preferred package format and install it. However, ‘alien’ should not be used to replace important system packages, like sysvinit, shared libraries, or other things that are essential for the functioning of your system. Many of these packages are set up differently by Debian and Red Hat, and packages from the different distributions cannot be used interchangably.


Alist is a program that collects hardware and software information about systems and stores it in a database for users to browse and search via a Web interface. The program consists of three parts: a client portion that collects the information, a daemon that receives data sent from clients, and a CGI that displays and lets you search for information.


The Berkeley Automounter, Amd, maintains a cache of mounted file systems, and lets users dynamically control which file system to mount with selectors. Selectors, which may be combined, allow decisions of the form “hostname is this,” or “architecture is not that.” Amd also supports numerous file system types, including NFS, UFS and the novel program file system. The combination of selectors and multiple file system types means that identical configuration files can be used on all machines. Amd will not hang if a remote server goes down, and can determine when a remote server has become inaccessible and mount replacement file systems when they become available.


AMANDA, the Advanced Maryland Automatic Network Disk Archiver, is a backup system that allows the administrator of a LAN to set up a single master backup server to back up multiple hosts to a single large capacity tape drive. AMANDA uses native dump and/or GNU tar facilities and can back up a large number of workstations running multiple versions of Unix. Recent versions also support SAMBA.


It is fast, easy to install and run, very flexible, features multi-language support, produces attractive output, can be run directly or from a form interface, understands any logfile format, and works on any operating system. It can report in 36 languages.


‘andatool’ displays in real time how often regular expressions match with the lines written to a logfile. This shows (for example) which firewall rules get triggered the most.


AntiDialer is a QT-based broadband dialer for Sify Broadband users in India. It has features comparable to the Sify Windows dialer, such as password saving and autologin. Now Sify users no longer have to depend upon the old default dialer provided by Sify.


Antidote is an open source implementation of the IEEE 11073-20601 standard. It also contains the implementation of a D-Bus based 11073 manager service.


‘apt-torrent’ contains an apt to the BitTorrent gateway. It lets you fetch packages through the BitTorrent protocol
‘apvsys’ is a wrapper designed to manage different versions of applications (engineering tools, compilers, debuggers, etc.). It is not a source-code version control system like CVS or RCS. Users need only one path to access all versions of all tools; they can access a default version without any setting. The application settings needed to start a tool properly are centralized by the ApVSys administrator, so there is NO setting needed for the users. Hence, all the users share exactly the same environment, which greatly reduces the support needed.


Archive is a fully drag-and-drop multi-format archiver. Drag a directory onto it to create an archive; drag an archive onto it to extract to a directory. It can also compress and decompress streams (for example, you could drag a .gz file onto Archive and from Archive into your text editor). Archive can create .tgz, .tar.bz2, .zip, .jar and .tar archives and can extract all the above as well as .rar, .rpm, .cpio and .deb formats. It can compress and decompress files to and from .gz, .uue and .bz2 formats.


‘Archmbox’ parses regular BSD mailbox files and archives all messages older than a specified date. The date to identify if a message is old or not is specified with either a standard iso format date (yyy-mm-dd) or an offset in days. The program supports regular expression based archiving rules as well as recursion. Archmbox can also be used on a whole tree of mailboxes.


‘arpalert’ listens on a network interface, catches all conversations of MAC address to IP request, and compares the MAc addresses it detected with a pre-configured list of authorized addresses. If the address is not on this list, arpalert launches an alert script with the MAC address and IP address as parameters. ‘arpalert’ can run in daemon mode and is very fast (low CPU and memory consumption). It responds at signal SIGHUP (configuration reload) and at signals SIGTERM, SIGINT, SIGQUIT and SIGABRT (Kwhere it stops itself).


Arping is an ARP level ping utility. It’s good for finding out if an IP is taken before you have routing to that subnet. It can also ping MAC addresses directly.


‘ascpu’ is an X windows applet with AfterStep look which displays the current CPU load (user/system/nice) and calculates the average load. It features multiple options for customization.


Asmem is a a memory utilization monitor. It shows the current amount of memory and swap space, and the free amounts of those. Bars represent graphically the different types of memory. It has an AfterStep look and feel. The current version compiles on the Hurd.


When the atchange program is running, it watches one or more files. When any of those files changes, the program will wake up and do any actions you want. Tasks such as modifying and compiling a program, modifying a data file and using it, or editing atext and typresetting it can be automated with a single typed command such as: atchange myprogram “compile program” By setting up ‘atchange’ once before starting a repetitive task, one can avoid hundreds of mouse movements.


‘atkins’ examines variables, tables, and linked lists in the running kernel. Subcommands can be entered to show formatted kernel administration of processes, open files, incore inodes, page cache buffers, sockets, etc. Memory dumps can be shown using virtual or physical addresses, or using addresses within user space of a particular process. Furthermore stack backtraces can be printed e.g. to determine the reason why a particular process is currently in a wait-state. Note that atkins requires a certain level of knowledge about the Linux kernel.


atool manages file archives (tar, tar+gzip, zip, etc). ‘aunpack’ extracts files from an archive, andt overcomes the dreaded “multiple files in archive root” problem by first extracting to a unique subdirectory, and then moving back the files if possible. aunpack also prevents local files from being overwritten by mistake. Other commands provided are apack (for creating archives), als (for listing files in archives), and acat (for extracting files to stdout).


Atop is an ASCII full-screen performance monitor similar to the ‘top’ command. For a given interval, it shows system-level activity related to the CPU, memory, swap, disks and network layers, and for every active process it shows the CPU utilization in system and user mode, the virtual and resident memory growth, priority, username, state, and exit code. It also shows process level activity for processes which finished during the last interval. Atop shows only the active system-resources and processes, and only the deviations since the previous interval. Unfortunately, the standard kernel does not maintain counters about the number of disk and network accesses issued per process. Kernel patches will be made available to add these counters; the current version of atop can already display them.


‘atsar’ detects performance bottlenecks on GNU/Linux systems. It is similar to ‘sar’ on other *NIX platforms. Atsar shows what is happening on the system at a given moment by supplying an interval as command-line argument; however, it also keeps track of the past system load by maintaining history files from which users can extract information. The package gathers statistics about CPU utilization, disks and disk partitions, memory and swap, tty’s, TCP/IP (v4/v6), NFS, and FTP/HTTP traffic.


The audit program recursively searches through directories looking for files that may not be needed by checking permissions, names, sizes, types, ownership, links, and timestamps.


‘authfail’ is a tool for adding IP addresses to an ACL when entities from those addresses attempt to log into a system, but cause authentication failures in auth.log. It reads data from auth.log in real time and adds the IP into netfilter with a DROP/REJECT policy.


Auto nice daemon
The auto nice daemon (AND) periodically activates itself and renices jobs according to priority and CPU usage. Jobs owned by root are left alone. Jobs are never increased in their priority. The renice intervals, the default nice level, and the activation intervals can all be adjusted. A priority database stores user/group/job tuples along with their renice values for three CPU usage time ranges. Negative nice levels are interpreted as signals to be sent to a process, triggered by CPU usage; in this way, browser sessions running amok can be killed automatically. The strategy for searching the priority database can be configured.


‘auto-autofs’ searches block devices (via /proc) and disk partitions (via fdisk) and generates an automounter map. It can also work as an automounter program. It also generates an HTML file for easy access to the devices, so users can mount (and umount) partitions by clicking on a link.


AutoCodeGenerator is a tool which is able to generate other programs that insert, delete, or update database records for a number of different database programs. Programs can be generated in Python, bash, ksh, Java, C, or other languages; the package also generates code for various database servers via a plain text file.


‘AutoScan’ is an application designed to explore and manage your network. Entire subnets can be scanned simultaneously without human intervention. It features OS detection, automatic network discovery, a port scanner, a Samba share browser, and the ability to save the network state.


AutoUpdate is a simple Perl script which performs a task similar to Red Hat’s up2date or autorpm. It can be used to automatically download and upgrade RPMs from different FTP sites. Moreover, it can also be used to keep a server with a customized (Red Hat) distribution plus all clients up to date. The program should work with any rpm based distribution. It’s designed to run from a cron job and keep output to a minimum. It will try to resolve dependencies and pick the right architecture.


‘Autodist’ is a source distribution management system that lets users define what is included in and excluded from a distribution and what license is used. It is especially targeted at large software projects that create multiple distributions from a source tree. Autodist supports distribution management in directory, file, and file content level, and automatic relicensing of a distribution. Please note that Autodist is not a binary packaging system. It is specifically used to create source distributions. A binary packaging system, however can be hooked to the distribution creation process, if needed.


Autopoweroff is a script that shuts down a computer at a set time if set conditions are met. It works well on home router/firewalls where the machine can be switched off every night and powered back up in the morning, and can be configured to not shut down until all other computers on the network fail to respond to pings.


Autossh is a program to monitor and automatically reestablish SSH connections. It is similar to rstunnel (Reliable SSH Tunnel), but is easier to set up and use, especially for connections to multiple hosts. The program monitors connections by using a loop of port forwardings, and will back off on the rate of connection attempts when experiencing rapid failures (such as connection refused).


‘Autothrottle’ is a daemon that throttles your CPU according to the system load. It can be used with both ACPI and CPUfreq throttling. You can also specify different profiles for battery and AC power. When the daemon receives SIGHUP, it checks for AC power and alters the profile. This can be used e.g. from acpid when receiving AC events.


‘BBclone’ is a PHP Web counter which displays both individual logs and aggregated data. It is a clone of Big Brother webstats, except that it is written in PHP and it relies only on flat files (no database needed). BBclone lets Web site administrators have a precise view of who visit the website: OS, browser, date, referring page etc. Main features include reload resistance, hostname resolution, proxy workaround, and blacklist. It has been translated into 22 languages.


‘Backroute’ is a lightweight shell script, that monitors a primary router, and switches to a backup router and back as the primary router comes back online. Backroute is useful if you want to have automatic router failover to a backup router, but want to avoid the complexities of dynamic routing daemons.


Backup Manager
Backup Manager is a small and basic tool for generating archives. It is designed for those who don’t want an obfuscated tool for making tarballs. It can make tar, tar.gz, tar.bz, and zip archives. It can be run in a parallel mode with different configuration files. Archives are kept for a given number of days. Its upload system can use ftp or scp to transfer the generated archives to a list of remote hosts. The configuration file is very simple and basic.


Backup Shell
‘bksh’ is a simple program designed to be a shell for SSH. It copies its input to a given backup file. Its goal is to allow administrators to create backup-only accounts. It works for either tape only or file & tape backups, and works as a shell so clients have very limited server access.


‘backup2l’ generates, maintains, and restores backups on a mountable file system. The main design goals are low maintenance effort, efficiency, transparency, and robustness. In a default installation, backups are created autonomously by a cron script. It supports hierarchical differential backups with a user- specified number of levels and backups per level. This means the number of archives that must be stored only increases logarithmically with the number of differential backups since the last full backup. Hence, small incremental backups can be generated at short intervals while time- and space-heavy full backups are only run as needed.


‘Backuper’ makes backups on CD-R or DVD-R media. It uses cdrtools or dvd +rw-tools and some standard *nix utilities and detects most failures and abnormal situations.


Backupninja allows you to coordinate system backup by dropping a few simple configuration files into /etc/backup.d/. Most programs you might use for making backups don’t have their own configuration file format. Backupninja provides a centralized way to configure and schedule many different backup utilities. It allows for secure, remote, incremental filesytem backup (via rdiff-backup), compressed incremental data, backup system and hardware info, encrypted remote backups (via duplicity), safe backup of MySQL/PostgreSQL databases, subversion or trac repositories, burn CD/DVDs or create ISOs, incremental rsync with hardlinking.


BackupPC is a high-performance, enterprise-grade system for backing up GNU/Linux machines and laptops to a server’s disk. Its features include clever pooling of identical files, no client-side software, optional compression for using even less storage, support for a full set of restore options, and a powerful Apache/CGI user interface.


Bacula is a set of programs that allow you to manage the backup, recovery, and verification of computer data across a network of different computers. It is based on a client/server architecture and is efficient and relatively easy to use, while offering many advanced storage management features that make it easy to find and recover lost or damaged files.


‘bandwidthd’ tracks usage of TCP/IP network subnets and builds HTML files with graphs to display network utilization. Charts are built by individual IP. It color codes HTTP, TCP, UDP, ICMP, VPN, and P2P traffic. Unlike MRTG, it tracks each individual IP address, not the status of any particular link.


bar stands for Backup And Restore. This programme has been designed for a user who desires to backup his Home folder each week or day using cron or a similar programme and transferring those backups at the end each month to another medium for safer storage.


‘barcat’ is just like ‘cat’ but displays an ASCII progress bar.


Bash Heckert gnu.small.png
Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use; these include command line editing, unlimited size command history, job control, shell functions and aliases, indexed arrays of unlimited size, and integer arithmetic in any base from two to sixty-four. Bash can run most sh scripts without modification.


BatRen is an automatic file rename tool. The main goal is to provide a simple way to batch rename collections of files, such as photo collections. It accepts prefixing and suffixing, a starting index value, and counter padding formats. If the output file already exists, the counter is increased until an unused filename is found.


‘Batchput’ transfers files from a local directory, matching a specified regex, to an FTP server. It is mainly for transfering “incoming” files continually to another host by being called regularly from crontab or similar. It does this safely and efficiently by using per-directory locking to avoid collisions between different batchput processes, allowing configuration of notification in case of error, and moving transferred files to a local backup location where they can be archived or deleted.


Battstat is a battery status applet that monitors the battery charge level on a laptop. It displays different icons depending on the state of the power subsystem, and will warn if the power drops below a user configurable level. It uses the standard GNOME event system to play user configurable samples at certain events. It’s available in binary form for Red Hat (.rpm), Debian (.deb) and FreeBSD (.tgz). You can also compile it yourself by downloading the source tarball (.tar.gz).


Bcfg2 allows you to describe and deploy complex configurations across pools of GNU/Linux and Unix systems, leading to a consistent, reproducible, and verifiable description of your environment. Bcfg2′s visualization and reporting tools aid in your day-to-day administrative tasks. Its unique analysis features help you cope with the ever-increasing complexity of your networks.


Beep lets you control pitch, duration, and repetitions unlike printf(“\a”). It lives inside shell/Perl scripts and allow more granularity than you would have otherwise. It is controlled completely through command line options. It’s not complex, but it makes system monitoring (or whatever else it gets hacked onto) that much more informative.


The Benchmark::Timer class allows you to time portions of code conveniently, as well as benchmark code by allowing timings of repeated trials. It is perfect for when you need more precise information about the running time of portions of your code than the Benchmark module will give you, but don’t want to go all out and profile your code.


‘bfr’ maintains a buffer of data collected from stdin, emitting the data to stdout. It will both read and write at the speed each stream can handle, and allows you to set thresholds of when to start outputting and inputting again (after reaching a full buffer), the size of the buffer, as well as monitor content/throughput with an optional progress-bar. It also includes bfp, a variant especially written to play audio data using /dev/dsp.


Binkd is a Fidonet mailer designed to operate via TCP/IP networks. As a FTN-compatible internet daemon, it makes possible efficient utilization of TCP/IP protocol suite as a transport layer in FTN-based (Fido Technology Network) networks.


‘Bloat’ is a Perl script which analyses an archive’s filename, and extracts it using a suitable extractor. It also supports several other features, such as “subdirectory detection”, MIME-type checking (via ‘file’), and extraction of non-trivial archive types.


BlockIt monitors the Snort alert file and creates either IPTables, IPChains, IPFWADM, or Checkpoint Firewall rules. This version is only for GNU/Linux. BlockIt has built-in CIDR support for multiple target IPs and whitelist support. Additional features include MySQL logging and email logging.


Boot-Up Manager
Boot-Up Manager (bum) is designed to help the user to handle init sripts on Debian-based distributions. The using of the application is easy because of the simple graphical interface (GTK2 based).


The bootstrapper program creates a customized bootstrap script by scanning the autoconf macros in a project’s configure.in file and using them to determine which programs need to be used to create a usable configure script. It then creates a bootstrap script which is custom tailored to your project’s configuration. The resulting bootstrap script is useful for rebuilding the configure script and Makefile.in files, particularly for a project which may be downloaded off of a cvs server. By including a bootstrap script in a cvs repository, all auto generated files related to configure can be excluded from the cvs repository. It is also useful for a developer importing a new project onto a cvs repository. Running `make distclean’ then `./bootstrap –clean’ removes all auto-generated files, instead of removing them by hand.


Bras is a rules-based command execution system, a la ‘make’. It helps to keep targets (usually, but not neccessarily, files) , up-to-date with respect to a set of dependencies. For every target, a (freely definable) rule describes what it means for the target to be out-of-date and what has to be done to refresh it. Bras can follow targets into other directories. It acts there according to the local brasfile to update the target and then reports the result back. Because no recursive execution of bras is necessary, the result of the reasoning for that other directory is not lost. Bras is implemented in Tcl. Rules can be mixed with procedural parts. In particular control structures can be used to automatically collect lists of targets, find out platform specifics or selectively activate rules. ‘Bras’ normally runs from the command line, but its rule eveluation functionality is available as a TCL module and can be used in a GUI application implemented in Tcl/tk.


Bubblegum is a daemon which watches a files access, modification and inode change times and MD5 checksums, and logs and/or executes a command (with file information expansions) when detecting a change
Bubbling Load Monitor Applet
The Bubbling Load Monitor is a system CPU and memory load monitor for the GNOME panel. It looks like a vial containing water. The water level indicates how much (electronic) memory is in use. The color of the liquid indicates how much swap space is used. The amount of bubbles reflects the system CPU load.


‘BulkWatch’ monitors sendmail’s logs and takes specified action when an IP has exceeded your configured maximum settings. You can specify that users may send X messages in X number of seconds. Email in excess of that triggers an action; it will display an alert to the screen in foreground mode; log an alert to syslog; email an alert to a predefined email address; or run an external command with the IP and number of messages as arguments.


‘busynode’ is a simple host reservation system, primarily designed for cluster installations. It lets users communicate with others on what hosts they currently use, or plan to use in the near future. Reservation information is stored as text files on a shared filesystem (such as an NFS mount). When executed without any options, busynode behaves as an enhanced ruptime tool.


This application runs as a daemon until you’ll stop it by CTRL+C or kill. It collects the actual bandwidth of a given device to a logfile to generate the diagram (flow chart) from this logfile then. It is highly configurable by commandline arguments. Try `bwstats -h` to get information on how to use this application.


ByteHoard is a remote file storage system that provides a Web-based interface for users to upload, download, edit, delete, and share their files. It uses a database for user details, registrations, etc., and needs PHP 4 or higher. It has a fully-featured admin interface, along with moderated registrations, automatic email notification, and template-based layouts.

More Free Software below for your learning computer experience

GNU-Linux free software - computer learning for you


CI Joe
CI Joe is a Continuous Integration server that’ll run your tests on demand and report their pass/fail status. Because knowing is half the battle.


a Ruby network manager.


CacheIt is a PHP class to facilitate caching. You subclass Cachable and implement the get method of Cachable, and you instantiate it as well as instantiate CacheIt with arguments of the instance of your subclass of Cachable. Then both the path (ending in a trailing slash) to the directory that cached data will be kept, and the number of seconds that a cached entry can be kept before expiring. Then, just call the get method of the instance of CacheIt and caching happens automatically. CacheIt doesn’t do LRU–if you’re concerned about the cache directory getting too large, have a cron job scan it occasionally and delete the oldest files.


‘Cacti’ is a frontend to RRDTool. It stores all of the necessary information to create graphs and populate them with data in a MySQL database. The frontend is completely PHP driven. Along with being able to maintain graphs, data sources, and round robin archives in a database, Cacti also handles the data gathering. There is SNMP support for those used to creating traffic graphs with MRTG.


Calamaris parses the logfiles of a variety of Web proxy servers (see the program’s home page for a list of supported servers) and generates reports about peak-usage, request-methods, status-report of incoming and outgoing requests, second and top-level destinations, content-types, and performance.
‘Caspar’ offers Makefile snippets for tasks like installing files maintained using a version control system, or typesetting documents in certain markup languages. If you need to maintain and distribute lots of files, you will probably find ‘Caspar’ useful. It can also automate typesetting if you write documents in a markup language like LaTeX, DocBook XML, DocBook SGML or POD.


ccollect does (pseudo) incremental full backups with different exclude lists, using hard links and rsync.


Cedar Backup
‘Cedar Backup’ supports backups of files on local and remote hosts to CD-R or CD-RW media over a secure network connection. It also includes extensions that understand how to back up MySQL databases and Subversion repositories, and can be easily extended to support other data sources. It is focused around weekly backups to a single disc, with the expectation that the disc will be changed or overwritten at the beginning of each week. With appropriate hardware, Cedar Backup can also write multisession discs.


Cfengine Heckert gnu.small.png
Intended for sys admins, cfengine is a tool for setting up and maintaining BSD and System 5-like operating systems optionally attached to a TCP/IP network. The program focuses on a few key areas that scripts tend to mishandle. From a single configuration files (or set of files) you specify, using classes, your network configuration; cfengine then parses the file and carries out the instructions, warning you about errors (or fixing them) as it goes. You can think of cfengine as a very high level language, higher than Perl or shell: a single command can result in many hundreds of operations being performed on multiple hosts. You can also use it as a net-wide front end for ‘cron.’


Change Suffix
‘chsuf’ changes the suffix of file and/or directory names. It also can be used to add or remove a suffix to/from a list of files. chsuf can be useful for changing DOS-style three character extensions to more readable variations (e.g. from .htm to .html), or for adding an extension to filenames for use on platforms which depend on filename extensions.


‘changedfiles’ is a framework for filesystem replication, security monitoring, and/or automatic file transformations–anything where you’d poll files or directories and then do something to them or send them somewhere else (or both). The difference is, the kernel tells you when they change, instead of you having to poll. It is also an easy real time FTP push mirror to one or multiple sites. ‘changedfiles’ has a kernel module (works with Linux kernel version 2.4) which reports to a device whenever a file on the filesystem changes, and a daemon which runs in user space and can be configured to do almost anything when a change to a file matching one of the patterns it looks for is reported.


Changetrack is a program to monitor changes to system files. If files are modified one day, and the system starts working incorrectly a few days later, changetrack can provide information on which files were modified and help locate the problem. Changetrack will also allow recovery of the files at any stage. Changes to each file can be mailed to a list of email addresses or presented in a Web-based form or as a text file. The program makes human-readable output, and uses RCS to allow recovery of the files from any stage.


‘CheckInstall’ keeps track of all files installed by a “make install” or equivalent, creates a Slackware, RPM, or Debian package with those files, and adds it to the installed packages database, allowing for easy package removal or distribution.


‘CheckWebsite’ is a performance monitoring and uptime notification tool. It checks if a Website is up and the response time of the site. The administrator can receive an email notification if the site is down, or if the response time is too slow. It also writes the results to a daily log file.


‘checksuite’ is a suite of programs that provide notification and assistance with day-to-day system administration tasks. These programs monitor system resources as well as some security aspects on a system. There are several options that can be passed to the command line, and a full listing can be shown by passing a -h to each program.
Chestnut FTP Search
A Web application to search for files on FTP servers. Users can query files by part of the file name, the entire file name, a regular expression, or a shell pattern. To store file indexes, PostgreSQL or MySQL is used.


‘chpox’ provides transparent checkpointing and restarting of processes on Linux clusters. It was originally designed for recovery of jobs with a long execution time in case of system crashes, power failures, etc. It works with openMosix, is SMP safe, works as a kernel module, does not require kernel patches or program recompiling/relinking, and supports virtual memory, regular open files, pipes, *nix domain sockets, current directory, termios, and child processes.


The cleanlinks program searches the directory tree descended from the current directory for symbolic links whose targets do not exist, and removes them. It then removes all empty directories in that directory tree. It is useful for cleaning up a shadow link tree created with ‘lndir’ after files have been removed from the real directory.


Clunix tools
The clunix tools are a free set of utilities to easily manage a GNU/Linux cluster. They include a very simple but powerful load-balancing system called clrun, a PHP-based Web utility to display the status of the cluster, and a daemon called cldaemon.


‘ClusterIt’ is a suite of software to allow easy maintenance of large groups of machines. It does not provide a parallel programing environment, but is used to managing one, or to manage massive server farms. Its features include parallel rsh, parallel copy, parallel virtual xterminals (xterms), and job scheduling facilities for performing parallel compiling. It also has programs to allow barrier syncing in shell scripts.


Cluster SSH opens xterm windows with connections to specified hosts and an administration console. Any text typed into the administration console is replicated to all other connected and active windows. It is intended for, but not limited to, cluster administration where the same configuration or commands must be run on each node within the cluster. Performing these commands all at once with ClusterSSH keeps all nodes in sync.


‘cmdftp’ is a command line FTP client with shell-like functions which uses passive mode only, works in local and remote mode transparently, tries to keep the connection alive, and supports multiple and recursive file transfers.


The Caldera Open Administration System project is designed to improve the way users administer their GNU/Linux systems. It will be a collection of tools, each of which will include multiple user interfaces. The system will also let users choose the tools they want to use.


‘collectd’ is a small daemon which collects system information every 10 seconds and writes the results in an RRD-file. The statistics gathered include: CPU and memory usage, system load, network latency (ping), network interface traffic, and system temperatures (using lm-sensors), and disk usage. ‘collectd’ is not a script; it is written in C for performance and portability. It stays in the memory so there is no need to start up a heavy interpreter every time new values should be logged.


‘comfigure’ simplifies the ‘./configure’ing of packages. It remembers the ‘configure’ options for each one, and uses them automatically if called without options. ‘comfigure’ automatically recognizes the package name and version from the directory from which it was called. If the stored version is not equal to the current one, ‘comfigure’ calculates an MD5 digest sum over the output of ‘./configure –help’ to see if the available options have changed. If they have, the program asks the user what to do.
Command Line Progress Bar
Command Line Progress Bar is a simple command line tool to display information about a data transfer stream. It will display the number of bytes transfered, the speed of the transfer, and if the size of the data stream is known it will display the ETA, percent complete, and a progress bar.


Conc is a serial console concentrator package. It features remote maintenance of systems over IP, and concurrent connections to consoles. It can pool serial lines on multiple machines into one system, which lets you manage a virtually unlimited number of consoles- ideal for large server farms, clusters or off-site server rooms.


Config General
With Config::General you can read and write config files and access the parsed contents from a hash structure. The format of config files supported by Config::General is inspired by the Apache config format (and is 100% compatible with Apache configs). It also supports some enhancements such as here-documents, C-style comments, and multiline options.


‘confstore’ is a configuration backup utility. It scans a system for all recognised configuration files and then stores them in a simple archive. It knows what to scan for by reading a definitions file. Confstore can also restore configuration from backup archives it has previously created, upload them to a FTP server, and mail them to an email account.


Connection Monitor is a connection and bandwidth monitoring program with console (ncurses) and X (GTK) based user interfaces. It displays a list of open TCP and UDP connections with transfer rate (in bytes per second) for each connection. ConnMon uses the GNU adns library to make asynchronous DNS lookups.


‘Conserver’ provides remote access to serial port consoles and logs all data to a central host. It supports both local and network serial connections, and can replay the server console history from the console app even if the server is down. Multiple users can connect to a single serial connection.


‘convmv’ converts filenames (not file content), directories, and even whole filesystems to a different encoding. This comes in very handy if, for example, one switches from an 8-bit locale to an UTF-8 locale. It has some smart features: it automagically recognises if a file is already UTF-8 encoded (thus partly converted filesystems can be fully moved to UTF-8) and it also takes care of symlinks. It can also convert from normalization form C (UTF-8 NFC) to NFD and vice-versa.


‘core-restart’ is a process checkpointing and restarting system. It does not require the executables to be linked with a library, so processes can be checkpointed without being changed. Also, the restarted process and the restoration code are in independent address spaces which simplifies the mechanism of restoring the stack and register state of the checkpointed process. The system runs only on user-level code and requires no modifications to the kernel.


This is a Python FUSE module for CouchDB. It allows CouchDB document attachments to be mounted on a virtual filesystem and edited directly. Use Cases

  • This is a great time-saver if you want to edit HTML, JavaScript, CSS or even image files directly using your favourite editor.
  • Uploading large numbers of files repetitively through Futon or even via a Python prompt becomes tedious very quickly: drag’n’drop or cp * is the way forward!
Cpio Heckert gnu.small.png
GNU cpio copies files into or out of a cpio or tar archive. The archive can be another file on the disk, a magnetic tape, or a pipe. GNU cpio supports the following archive formats: binary, old ASCII, new ASCII, crc, HPUX binary, HPUX old ASCII, old tar, and POSIX.1 tar. The tar format is provided for compatibility with the tar program. By default, cpio creates binary format archives for compatibility with older cpio programs. When extracting from archives, cpio automatically recognizes which kind of archive it is reading and can read archives created on machines with a different byte-order.
This is a fairly complete CPU identification utility that executes the CPUID instruction on x86-family CPUs and decodes the results into English descriptions. It has been tested on several Intel, AMD (including Athlon/Duron) and Cyrix CPUs. If the Pentium III serial number misfeature is present and enabled, this program will display it.


Createusers adds users in bulk. It also sets up new users’ home directories for personal Web space with Apache. The companion program, removeusers, eliminates users from the system. The latest release includes a graphical user interface, based on Tcl/tk.


Cricket is a high performance, flexible system for monitoring trends in time-series data. It was developed to help network managers visualize and understand the traffic on their networks, but it can be used for all kinds of other jobs, as well. Cricket has three pieces: the collector, the grapher, and the config tree. The collector runs from cron and fetches data from a number of devices according to the info it finds in the config tree. The grapher is a CGI application that lets users to traverse the config tree from a web browser and see what the collector recorded. The config tree is hierarchical, which avoids duplicate info in the config files.


‘cronolog’ is a filter program that reads log file entries from standard input and writes each entry to the output file specified by a filename template and the current date and time. When the expanded filename changes, the current file closes and a new one opens. ‘cronolog’ is meant to be used in conjunction with a Web server, such as Apache, to split the access log into daily or monthly logs.


Current is a server implementation for Red Hat’s up2date tools. It’s designed for small to medium departments to be able to set up and run their own up2date server, feeding new applications and security patches to workstations/servers. The program is specifically intended for the experienced sysadmin with many machines to deal with.


‘cvsstat’ transforms the ‘cvs status’ output to an ASCII table sorted after the status of files. It can be used for any type of CVS archive, local as well as remote. Note that the program requires fast access to the repository.


‘d’ is an alternative to ‘ls’ and its long format output. It optimizes the output to create more space for the filename and reduce the chance of wrap around. On a system with short user/group names it can save as much as 22 spaces for the filename. It also has a –dirs-first option to always print directories before regular files regardless of the current sort option. It allows for system and user configuration files, which can specify several options that are available on the command line, as well as the ‘color’ option which can completely customize the colorization of output, like ls but in a more convenient configuration file. There is a –tree option to simulate the output of the tree command.


DACT is a compression tool designed to compress a file dynamically, choosing the algorithm that works best per block of input data to produce an overall smaller output file.


DIAP (Distributed Internet Archiving Protocol) is a set of Bash shell scripts to set up a system using three backup nodes either between sites (e.g. between offices and homes) or over WANs. The application provides a decentralized, self-contained and managed storage utility. The emergence of a DVTL (Distributed Virtual Tape Library) is the end result. Nodes can be dedicated to storage or used for existing services over unused bandwidth. The scripts are a toolkit to help users set up their own project, and to help the writer improve the system and work in user space over SSH.


DIBS is a backup system that protects your data by giving your files to peers (and in return, you store their files) so that if a catastrophe strikes your area, you can recover data from surviving peers. This solves the problem of mirroring your data by adding more disks to your own computer only ot have a fire, flood, power surge, etc. wiping out your local data center. Note that DIBS is a backup system, *not* a file sharing system like Napster, Gnutella, Kazaa, etc. In fact, DIBS encrypts all data transmissions so that the peers you trade files with can not access your data.
dkopp is a program used to copy or back-up disk files to DVD. Full or incremental backups can be done, with full or incremental DVD verification. A GUI is used to navigate through directories to select or de-select files or directories at any level. Backup jobs can be saved for later re-use. New, deleted, and updated disk files are handled automatically, without re-editing the backup job. An incremental backup updates the same DVD used for a prior full backup. Files can be restored to the same or another location on disk. Large backup jobs can be done using multiple DVD media.


DMD Heckert gnu.small.png
‘DMD’ is a “Daemon managing Daemons” (or “Daemons-managing Daemon”?), i.e. a service manager that provides a replacement for the service-managing capabilities of SysV-init (or any other init) with a both powerful and beautiful dependency-based system with a convenient interface. It is intended for use on GNU/Hurd, but it is supposed to work on every POSIX-like system where Guile is available. In particular, it has been tested on GNU/Linux.


DULog is a new log notifier and parser that periodically tails system logs, parses the output to present it in an easily readable format (parsing modules currently exist only for GNU/Linux), and mails a final report to the administrator. It can run daily or hourly. DULog is written specifically for large clusters where many systems (50+) log to a single loghost using syslog or syslog-ng. It can be used on standalone systems, but other packages (ie logwatch) are probably more suitable for such purposes. As of May 8, 2003, the DUlog project has been superseded by the ‘epylog’ project. While the information on this website remains current, the maintainers suggest you refer to epylog as it will be an ongoing project.


‘daemon’ turns other processes into daemons. Many tedious tasks are required to set up a daemon process; ‘daemon’ performs these tasks for other processes. This is useful for writing daemons in languages other than C, C++, or Perl (e.g. sh, Java). If you want to write daemons in languages that can link against C functions (e.g. C, C++), see libslack, which contains the core functionality of daemon.


‘dar’ is a shell command that makes backups of a directory tree and files. Its features include splitting archives over several files, CDs, ZIPs, or floppies, compression, full or differential backups, proper saving and restoration of hard links and extended attributes, remote backup using pipes and external command (such as ssh), and rearrangement of the “slices” of an existing archive. It can now run commands between slices, scramble archives, and retrieve individual files from differential and full backups.


Darkstat is an ntop-workalike network statistics gatherer. Built to be faster and smaller than ntop, it uses libpcap to capture network traffic and serves up Web page reports of statistics such as data transferred by host, port, and protocol. It also has a bandwidth usage graph.


DataStatix is a free software for GNU/Linux and Windows useful to manage data of every kind (although it has been written to manage biomedical data), to create descriptive statistics and graphs and to export items easily to R environment or to other statistic softwares. In order to handle properly big amount of data and many concurrent users, DataStatix works with MySql database and it has been developed and tested with MySql community edition 5.5. Some features of the software are: users management (create, delete, modify password) within the software; different users levels of data access (administrator, default, read only); user defined templates (models) of data, to create new databases easily; importation and esportation of data in CSV format (used also by Calc and Excel); updating of existing data from a CSV file created with DataStatix; descriptive statistics from every data (some more kind of statistics to come); graphs from every data.


‘dazuko’ is a device driver that lets 3rd-party applications execute file access control. It was originally developed to allow on-access virus scanning. Other uses include a file-access monitor/logger or external security implementations. It operates by intercepting file access calls and passing the file information to a 3rd-party application. This application then tells the device driver to allow or deny the file access. The application also receives information about the access event, such as accessed file, type of access, process id, and user id.


‘dbench’ is a filesystem benchmark that generates load patterns. It is now considered a de-facto standard for generating load on the GNU/Linux VFS.


DBToy is a FUSE-based filesystem for GNU/Linux that lets you browse the contents of a relational database through a set of directories and XML files. Additional formats can be obtained through XSL stylesheets.
‘ddclient’ updates dynamic DNS entries for accounts on Dynamic DNS Network Services’ free DNS service. It requires only Perl; no additional modules are needed. Its features include: operating as a daemon, manual and automatic updates, static and dynamic updates, optimized updates for multiple addresses, MX, wildcards, abuse avoidance, retrying failed updates, and sending update status to syslog and through e-mail.


‘DebSync’ helps synchronize Debian GNU/Linux machines with respect to the list of packages installed. It retrieves the list of installed packages from a master host, and then installs or removes packages on other hosts to match the master’s package list. It works over either ssh (default) or rsh, and does not have to be installed on any of the machines you want to manage.


Most Debian application packages depend on other packages, containing libraries or other utilities. When the application package is removed, the dependencies are still on the system. Debfoster can detect such “orphaned” dependencies (unlike apt and dpkg) and will clean them up. It can be used as a front-end to apt or standalone.


‘Depot’ is a software management tool kfor maintaining third party and locally developed software in large heterogeneous computing environments. It integrates separately maintained software packages (‘collections’) into a common directory hierarchy (the ‘software environment’) consisting of a union of all the collections. A set of configuration options manages interactions and intersections between collections in the environment. Custom environments and complete test environments can be created for machines or sets of machines. Collections with problems can be removed or replaced with previous versions. Individual collections or files can be moved from remote to local filesystems.


‘detect’ can be used in any program that needs hardware detection features such as configuration tools, installation programs, etc. You can use it to detect sound cards, CPUs, networking devices, webcams, joysticks, etc. It scans the IDE, PCI, ISA, USB, and SCSI busses to find hardware.


‘detox’ is a utility designed to clean up filenames, especially those created on other operating systems. It replaces non-standard characters, such as spaces or Latin-1 characters, with standard equivalents. It also removes or replaces CGI escaped ASCII characters, and trims excessive underscores and hyphens. It will not overwrite to a file that already exists, and does not touch special files normally (although it can be asked to).


The devfsd program is a daemon, run by the system boot, which can provide for intelligent management of device entries in the Device Filesystem (devfs). It is desirable to start the daemon at the beginning of the boot scripts, in particular before filesystem checks.


‘Devlabel’ dynamically creates symbolic links to disk/partition names. It uses the disk’s and/or partition’s unique identifiers to keep the symlink pointed to the correct location even if the underlying partition’s name has changed. So, regardless of whether /dev/sdb6 becomes /dev/sdc6, devlabel points the symlink to the correct data.


‘di’ is a disk information utility, displaying everything that df does and more. It features the ability to display your disk usage in whatever format you desire/prefer/are used to. It is designed to be highly portable across many platforms.


DirList is a user directory system that runs as a CGI to serve up user lists, search for various user attributes, view their web sites, define personalised user attributes, and keep it all synchronized automatically with the underlying operating system’s user database on periodic intervals with cron.
‘ddclient’ updates dynamic DNS entries for accounts on Dynamic DNS Network Services’ free DNS service. It requires only Perl; no additional modules are needed. Its features include: operating as a daemon, manual and automatic updates, static and dynamic updates, optimized updates for multiple addresses, MX, wildcards, abuse avoidance, retrying failed updates, and sending update status to syslog and through e-mail.


‘DebSync’ helps synchronize Debian GNU/Linux machines with respect to the list of packages installed. It retrieves the list of installed packages from a master host, and then installs or removes packages on other hosts to match the master’s package list. It works over either ssh (default) or rsh, and does not have to be installed on any of the machines you want to manage.


Most Debian application packages depend on other packages, containing libraries or other utilities. When the application package is removed, the dependencies are still on the system. Debfoster can detect such “orphaned” dependencies (unlike apt and dpkg) and will clean them up. It can be used as a front-end to apt or standalone.


‘Depot’ is a software management tool kfor maintaining third party and locally developed software in large heterogeneous computing environments. It integrates separately maintained software packages (‘collections’) into a common directory hierarchy (the ‘software environment’) consisting of a union of all the collections. A set of configuration options manages interactions and intersections between collections in the environment. Custom environments and complete test environments can be created for machines or sets of machines. Collections with problems can be removed or replaced with previous versions. Individual collections or files can be moved from remote to local filesystems.


‘detect’ can be used in any program that needs hardware detection features such as configuration tools, installation programs, etc. You can use it to detect sound cards, CPUs, networking devices, webcams, joysticks, etc. It scans the IDE, PCI, ISA, USB, and SCSI busses to find hardware.


‘detox’ is a utility designed to clean up filenames, especially those created on other operating systems. It replaces non-standard characters, such as spaces or Latin-1 characters, with standard equivalents. It also removes or replaces CGI escaped ASCII characters, and trims excessive underscores and hyphens. It will not overwrite to a file that already exists, and does not touch special files normally (although it can be asked to).


The devfsd program is a daemon, run by the system boot, which can provide for intelligent management of device entries in the Device Filesystem (devfs). It is desirable to start the daemon at the beginning of the boot scripts, in particular before filesystem checks.


‘Devlabel’ dynamically creates symbolic links to disk/partition names. It uses the disk’s and/or partition’s unique identifiers to keep the symlink pointed to the correct location even if the underlying partition’s name has changed. So, regardless of whether /dev/sdb6 becomes /dev/sdc6, devlabel points the symlink to the correct data.


‘di’ is a disk information utility, displaying everything that df does and more. It features the ability to display your disk usage in whatever format you desire/prefer/are used to. It is designed to be highly portable across many platforms.


DirList is a user directory system that runs as a CGI to serve up user lists, search for various user attributes, view their web sites, define personalised user attributes, and keep it all synchronized automatically with the underlying operating system’s user database on periodic intervals with cron.


DirSync is a directory synchronizer that takes a source and destination directory as arguments and recursively ensures that the two directories are identical. It can be used to create incremental copies of large chunks of data. For example, if your file server’s contents are in the directory /data, you can make a copy in a directory called /backup with the command “dirsync /data /backup”; The first time you run it, all data will be copied. On subsequent runs, only the changed files are copied.


‘diradm’ is a script for managing POSIX users and groups stored in a LDAP directory, offering the same features as the traditional passwd file utilities useradd/usermod/userdel and groupadd/groupmod/groupdel. It uses the ldapsearch, ldapadd, ldapmodify, and ldapdelete utilities from the OpenLDAP project to perform the needed queries against the LDAP database.


Directory Administrator
Directory administrator is a tool to easily manage UNIX users and groups in an LDAP directory, corporate information, access controls, and LDAP mail routing.


The ‘diligence’ shell (dish) lets you execute commands on several hosts. By using expect to automate interactive remote logins via ssh, rsh or telnet, dish executes commands, sequentially or simultaneously, on all specified hosts. It is a powerful system administration tool for a group (cluster) of heterogeneous hosts allowing remote control from a single point of management. ‘dish’ is very flexible, and has similar functionality to IBM’s dsh (distributed shell) as well as the ability to remotely execute commands which require authentication – ie in case of password change, scp inside ssh, password-protected smbfs mount, su shell, etc.


Diskfree is a shell script that tracks changes in your filesystem and reports on size changes. It can report to STDOUT, or through email. It gives you total disk usage, new directory allocations, removed directory allocations, and changes in the size of current directories. It can be run in any interval (hourly, daily, weekly, etc), configured to generate detailed reports or summaries, and be told to watch only certain directories.


The purpose of disktype is to detect the content format of a disk or disk image. It regonizes 36 different file systems, partition tables, archive and compression formats, and boot codes.


‘displayusers’ generates a user list based on text files in the user’s area. If the data is present, the user is listed in the directory and may optionally display a photo and biography. The program also generates a default email address and home page (which the user may override). The entry in the list disappears if the files are removed, so deleted accounts are automatically removed, thus reducing dead links.


‘Distribulator’ is an SSH-based command execution and file transfer utility that includes support for batch, console, and shell integration modes, multiple server environments, and auditing via syslog.


Dkop 2
dkop is a GNU/Linux utility for copying (backing-up) disk files to DVD media. You may select files using a GUI. Files and directories may be included or excluded at any level. Specifications may be saved in a job file for re-use. Elect full or incremental backup and media verification. Incremental backup updates the same media as full: no separate full and incremental media to save, and file recovery is from one media. Files may be selectively restored to any location. Incremental backup + verify needs less than a minute if the modified files are within 30 MB. Bigger jobs run at DVD speed, typically 200-400 MB per minute.


Dnotify 2
‘dnotify’ is a simple program that makes it possible to execute a command every time the contents of a specific directory change. It is run from the command line and takes two arguments: one or more directories to monitor and a command to execute whenever a directory has changed. Options control what events to trigger on: when a file was read in the directory, when one was created/deleted, etc. ‘dnotify’ uses the linux kernel directory notification feature to monitor directories. As a result, it does not need to poll files every few seconds.


Dnsmasq is a lightweight DNS forwarder designed to provide DNS (domain name) services to a small network where using BIND would be overkill. Its upstream DNS servers can be automatically configured by PPP or DHCP and it can serve the names of local machines which are not in the global DNS. It can integrate with the ISC DHCP daemon to serve the names of local machines which are configured using DHCP. Dnsmasq is ideal for networks behind NAT routers and connected via modem, ISDN, ADSL, or cable-modem connections.


‘dobackup.pl’ is a script to run unattended incremental backups of multiple servers. It handles multiple media sets with automatic media preparation and rotation, configurable ‘what-to-backup’, global per-host exclusion patterns, and user settable ‘don’t-back-this-up’ metafiles. Its design goal is zero-maintenance, ideally leaving the user with nothing to do except change the media when told.


‘drraw’ is a simple Web-based presentation front-end for RRDtool that lets you to interactively build graphs of your own design. A graph definition can be turned into a template which can be applied to many Round Robin Database files. Unlike most other RRDtool front-ends, drraw does not take care of collecting data and updating Round Robin database files. Instead, it provides easy way to display collected data, so it complements other RRDtool front-ends.


‘dtrx’ intelligently extracts many different archive types. It will get the contents from tar, zip, rpm, deb, and cpio archives, as well as compressed files, with one simple command. It helps keep your filesystem sane by putting every file’s contents into a dedicated directory, and making sure the owner can read and write whatever’s extracted. It can even recursively extract archives.To use dtrx you’ll need the usual tools for the archive types you want to extract: for example, if you’re extracting zip files, you’ll need zipinfo and unzip. See the INSTALL file included with dtrx for a complete list.


Dump Restore
This package contains both ‘dump’ and ‘restore’. ‘Dump’ examines files in a filesystem, determines which ones need to be backed up, and copies those files to a specified storage medium. ‘Restore’ performs the inverse function; it can restore a full backup of a filesystem. It can also layer subsequent incremental backups on top of the full backup, and restore single files and directory subtrees from full or partial backups.


‘ DupeFinder’ locates, moves, renames, and deletes duplicate files in a directory structure. It’s good both for users who haven’t kept their hard drives very well organized and need to do some cleaning to free space, and for users who like to keep lots of backup copies of important data “just in case” something bad should happen.


‘duplicity’ is an incremental backup tool that backs up files and directories by building tar-format volumes and uploading them to a file server. By default, these volumes will be GPG encrypted, although simple gzipping is also supported. It supports local, FTP, and ssh/scp back-ends. Because it uses librsync, archives only record the parts of files that have changed since the last backup. It supports deleted files, full Unix permissions, directories, symbolic links, and fifos, but currently not hard links.


‘dupmerge’ reads a list of files from standard input (eg., as produced by “find . -print”) and looks for identical files. When it finds two or more identical files, all but one are unlinked to reclaim the disk space and recreated as hard links to the remaining copy.


Dupseek groups files by size, then reads and compares small chunks of the files of the same size. It creates smaller groups depending on these comparisons. It proceeds with bigger and bigger chunks (of size up to a hard-coded limit). It stops reading from files as soon as they form a single-element group or they are read completely (which only happens when they have a very high probability of having duplicates). The program does remove files, but it asks first. Dupseek aims for maximum efficiency by keeping file reads to a minimum and is much better than other similar programs when dealing with groups of large files of the same size. It can be interrupted at any moment. The user is then presented with partial results and can either intervene manually or go on with the reading and computation, on a group-by-group basis.


‘dvdisaster provides a margin of safety against data loss on CDs and DVDs caused by scratches or aging. It creates error correction codes to compensate read errors which are not correctable in the CD/DVD drive. It also reads as much data as possible from defective media; typically, it handles up to 10% unreadable sectors (relative to the overall medium capacity) using its error correction code. Hardware requirements for running ‘dvdisaster’ include:

-x86 compatible hardware in 32bit mode
-an up-to-date CD or DVD drive with ATAPI or SCSI interface
-at least a P4 at 2Ghz or comparable processor
-file system without the 2GB size limit for handling DVD images
The program e is a command line utility that extracts lots of different archives. It is very simple and can be extended very easily. It is inspired by how firewall use their rulesets, and works like this:

  • For each file that has to be extracted, the rules are matched one after the other.
  • When a rule matches (either by the filetype or filename), the command is executed.
  • If the command does not return an error code the extraction is considered successful, otherwise the next rules are matched.
  • It currently has rules for zip, rar, 7zip, gzip, bzip2, rpm, cab, arj, ace, ppmd, lzo, tar.bz2, tar.gz, ar, cpio, dar, uharc, zzip, and many more.
The Ext2 Filesystem Utilities (e2fsprogs) package contains essential ext2 filesystem utilities which consists of e2fsck, mke2fs, debugfs, dumpe2fs, tune2fs, and most of the other core ext2 filesystem utilities.


ECNCheck is a set of programs used for testing IPv4 and IPv6 hosts for ECN (Explicit Congestion Notification) support and RFC-violating refusal. The programs also provide detailed traceroute information that can be useful in debugging ECN-related problems.


‘EMirror’ is an ftp-mirror script that can produce HTML, PHP, or text logfiles. It supports most kinds of FTP daemons (including EFTP), and re-get. Other features include the ability to download just the latest version of a file, mechanisms that will keep from downloading very old files, support of regular expressions for including/excluding files, special watermarks for deleting files, and multi-threading. This package was formerly known as the ECLiPt Mirroring Tool.


The ESP Package Manager (EPM) is a simple tool that generates software and patch distributions in various formats, including AT&T software packages (“pkg”) used by Solaris, Debian (“dpkg”), HP-UX software packages (“swinstall” or “depot”), IRIX Software Manager (“inst” or “tardist”), portable (installation and removal scripts with tar files), and Red Hat Package Manager (“RPM”).


Easy Backup
Easy Backup is a simple backup utility in Python designed to make backing up the same set of files over and over again fairly easy. To accomplish this, Easy Backup reads a tasks file that can define several backup tasks and what files are part of those tasks. Making a backup is then simply a matter of executing the program from the command line and telling it what task to backup and where to back it up to.


‘Ec’ supports reading, composing, and filtering messages. It can send and receive mail to and from POP3 and SMTP servers, and route mail using sendmail, exim, and qmail. It also supports base-64 MIME attachments and multiple accounts.


‘Echoping’ tests (approximatively) the performance of a remote host by sending it TCP ‘echo’ (or other protocol, such as HTTP) packets. It is useful to test Web or proxy/cache servers.


‘elf’ is a comfortable command-line ELF object file header analyzer. Unlike many other similar projects (readelf), this project is aimed at the analysis of the ELF header. This allows for some more usability, so as a large feature-set as possible is planned.


Empathy is a messaging program which supports text, voice, and video chat and file transfers over many different protocols, including Jabber (xmpp). You can tell it about your accounts on all those services and do all your chatting within one application. Empathy uses Telepathy for protocol support and has a user interface based on Gossip. Empathy is the default chat client in current versions of GNOME, making it easier for other GNOME applications to integrate collaboration functionality using Telepathy.


‘epkg’ is a package manager which uses the Encap Package Management System, a method for flexibly handling installation and management of third-party software on a Unix system. Encap places each package in its own subdirectory, then automatically manages symlinks to their appropriate places in /usr/local. epkg supports the Encap 2.0 package format, which includes postinstall scripts and prerequisite checking. Other features include builtin tar/gzip extraction, optional builtin FTP support, transaction logging, and the ability to automatically upgrade a package to the latest version.


DULog is a new log notifier and parser that periodically tails system logs, parses the output to present it in an easily readable format (parsing modules currently exist only for GNU/Linux), and mails a final report to the administrator. It can run daily or hourly. Epylog is written specifically for large clusters where many systems (50+) log to a single loghost using syslog or syslog-ng. It can be used on standalone systems, but other packages (ie logwatch) are probably more suitable for such purposes. This project was formerly known as ‘DUlog.’


EtherApe is a network monitor modeled after etherman with ethernet, ip and tcp modes. It displays network activity graphically. Active hosts are shown as circles of varying size, and traffic among them as lines of varying width with per-protocol color coded displays. It supports Ethernet, FDDI, Token Ring, ISDN, PPP and SLIP devices. It can filter traffic to be shown, and can read traffic from a file as well as live from the network.


Etherboot is a free software package for making boot ROMS for booting Linux and other operating systems on x86 PCs over a network using Internet Protocols, i.e. bootp/DHCP and tftp. Etherboot is normally used for for booting PCs diskless, which is particularly usefule with clusters, routers, remote servers, and machines working in environments that are unfriendly to disks. Etherboot usually boots computers faster than from a disk because there are no delays in spinning up disks, etc. It can work with RAM disks, NFS filesystems, or even local disks. Compared to booting from solid-state devices, it has the advantage of centralising maintainance. The tradeoff is dependence on a server, but this can be partly alleviated by having redundant servers. See the home page for a complete list of hardware and configuration needed to run Etherboot.


Ethtool is a GNU/Linux net driver diagnostic and tuning tool for the Linux 2.4.x (or later) series of kernels. It obtains information and diagnostics related to media, link status, driver version, PCI (or other) bus location, and more.


Exim is a message transfer agent (MTA) developed at the University of Cambridge for use on Unix systems connected to the Internet. It was originally based on Smail3, and has a similar configuration style, but has developed a more flexible and extensive set of facilities. The developers warn that v. 4.00 has had many changes, including incompatible changes to the run time configuration file.


‘Eximstate’ is a server/client project for monitoring a number of Exim installations. The clients are installed on each of the mailservers running exim and the server runs on the monitoring server. Each client reads the queue on the mail server and sends the total number of messages, the number of frozen message, and the number of bounce messages to the server. The server stores this data and uses RRDtool to make a graphical representations of the data.


Expect automates interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. It is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs. Expect can make easy all sorts of tasks that are prohibitively difficult with anything else. You will find that Expect is an absolutely invaluable tool – using it, you will be able to automate tasks that you’ve never even thought of before – and you’ll be able to do this automation quickly and easily.


ext2hide allows the user to save and restore an arbitrary number of files to and from the reserved space in an ext2/3 filesystem’s primary and backup superblocks. Using ext2hide, you can use this reserved section to store an arbitrary number of files, where they will be completely invisible to normal filesystem utilities, but still residing in permanent storage on disk. This can be useful for passwords, public keys, anything you like.


Extended Operating System Loader
Extended Operating System Loader is a project to creats a free boot manager with a true GUI interface, where ease of use, usability and user interface are the main concerns. A secondary goal is reuse: where possible, any part of the project should be developed in such a way that it is reusable for other related and unrelated projects. This includes, but is not limited to, the source code for specific and general modules. The package currently contains a kernel, some drivers and a windowing system.


FAI installs a Debian GNU/Linux operating system on a PC cluster. You take one or more virgin PCs, turn on the power, and the program installs, configures and runs GNU/Linux on the whole cluster without any interaction necessary. FAI uses the Debian distribution and a collection of shell- and Perl-scripts for the installation process. Cfengine, shell, and Perl scripts make changes to the configuration files of the operating system. Using FAI, a fully automatic installation of a GNU/Linux cluster which consists of 16 dual Pentium PC’s was performed. FAI’s target group are system administrators who must install Debian onto one or even hundreds of computers. Because it’s a general purpose installation tool, it can be used for installing a beowulf cluster, a rendering farm or a GNU/Linux laboratory or a classroom. Also, large-scale linux networks with different hardware and different installation requirements are easy to establish using FAI.


FAM, the File Alteration Monitor, provides an API which applications can use to be notified when specific files or directories are changed. It comes in two parts: fam, the daemon which listens for requests and delivers notification, and libfam, a library which client applications can use to communicate with fam


FAUS is a Perl CGI script that manages users for both Smaba and *nix systems through a Web interface. It uses sudo to give the rights to the Apache user to run some (limited) scripts as root, features different forms of authentication when using Apache, offers multilanguage support, and has log support.


Fail2Ban monitors log files like /var/log/pwdfail or /var/log/apache/error_log and bans failure-prone addresses. It updates firewall rules to reject the IP address or executes user defined commands. Fail2Ban can read multiple log files such as sshd or Apache web server ones.


‘fallback-reboot’ is a last resort, when you need to remotely reboot a computer. It maximizes its ability to get the job done by completely avoiding touching the hard disk; it does not opens any files, it does not fork or exec, and it locks itself into memory to avoid swapping/paging. It includes optional cryptography.


‘Fcron’ is a periodic command scheduler which aims at replacing vixie cron, so it implements most of its functionality. It does not assume that you run your system either all constantly or regularly: fcron can run jobs every x hours y minutes of uptime or only once in a specified interval. You can also set a nice value to a job, run it (or not) depending on the system load average, mail a user to tell him that a job has not run and why, and run a job at fcron’s startup if it should have been run while the system was down.


‘fdutils’ contains utilities for configuring and debugging the GNU/Linux floppy driver, for formatting extra capacity disks (up to 1992K on a high density disk), and for sending raw commands to the floppy controller. It includes:

# superformat: formats high capacity disks
# fdmount: automatically mounts/unmounts disks when they are
# xdfcopy: formats, reads and writes OS/2's XDF disks.
# MAKEFLOPPIES: creates the floppy devices in /dev
# getfdprm: prints the current disk geometry
# setfdprm: sets the current disk geometry
# fdrawcmd: sends raw commands to the floppy driver
# floppycontrol: configures the floppy driver
Feta is a frontend to the Debian package management system ‘dpkg’, the Debian configuration system ‘debconf’, and the Debian package distribution system ‘apt’. It provides a unified interface to the dozen-plus programs that make up the Debian packaging system and over 30 different commands, plus additional command aliases for compatibility with the original tools. Plugins are available for added functionality, and the man pages include information on official commands, using multiple commands, console use, and search and display features.


‘fget’ is a tool for mirroring remote files via FTP. It was designed as an analog to the GNU wget utility. The fget package includes an FTP client library, so that others can make use of FTP from within their own C programs.


File Integrity Command & Control (FICC) helps system administrators manage multiple Tripwire installations. It maintains MD5 hashes for three key Tripwire files and verifies that the MD5 checksum of these key files against the signatures in its file checksum database. If they match, it then connects to the host via SSH and runs Tripwire. If any signatures do not match, an email is sent to the “FICC administrator” of the system in question.


File Service Protocol
FSP is a UDP-based protocol for transferring files. It has many benefits over FTP, mainly for running anonymous archives. It is usable on lines with high packet loss ratio (70% WiFi), can go behind firewalls and unnoticed by port scans (because of UDP), does not overload networks when hosting ISOs or movies, share files on modem lines without eating all of the bandwidth, and keeps lamers away from your site (they don’t know how to get to it). This project is an active continuation of the FSP code base (abandoned for the last 5 years).


FileRepair compares and, if needed, modifies files across a network so that one file is identical with the other. It is based on the wxWindows toolkit and currently runs on both the GTK GUI and CLI versions of GNU/Linux, though any platforms supported by the toolkit should be possible.


‘Fileprune’ deletes files from a collection, targeting a given distribution of the file timestamps within time as well as size, number, and age constraints. It is meant to keep a set of periodically-created backup files to a manageable size while still providing reasonable access to older versions. The algorithm used for pruning is based on an exponential, Gaussian (normal), or Fibonacci distribution, and provides fine control of the files to delete and allows the retention of recent copies and increasingly aggressive pruning of older files. The retention schedule specifies the age intervals for which files will be retained.


fileschanged is a command line file alteration monitoring tool that monitors sets of files and reports when they have changed. It can be used in shell scripts to take action when certain files have been altered.


‘filewatcher’ maintains a local file archive repository. A configuration file details which files and directories to monitor and to whom reports should be delivered. It is useful in situations where there are multiple sysadmins, each of whom should know as soon as possible what changes the other have made. Correcting or rolling back to the previous version is trivial.


“fireparse” reports on all packets that have been logged by the kernel’s ipchains and iptables packet filtering subsystems. The report can include source and destination IPs, ports and protocols; interface; direction; hit count; iptables rule; resulting action; and fully resolved host name. It can be formatted plain text e-mail or a colored HTML table, and delivered via e-mail or a local file. ‘Fireparse’ also moves all iptables entries from your syslog file into a second message file so that other syslog entries are more easily noticed and recognized.


Firestr in short, is a distributed,  decentralized way to communicate and share through running programs.You don’t send a message to someone, you send an program, which  can have rich content. All programs are wired up together automatically providing distributed communication, either through text, images, videos,  or games.The source code to all applications is available immediately to  instantly clone and modify.


flc lists information about files (in the current directory by default). It shows the FILE_ID.DIZ and ID3 tag of every file (if present). This is very useful for FTP admins or people who have a lot to do with archives that contain FILE_ID.DIZ or MP3 files.


‘flexbackup’ is a configurable and easy to use Perl-based backup tool, that can backup local files as well as remote machines (using ssh). It allows the backup itself to be made with afio, cpio, tar, dump, star, or pax. It can work with tape drives, or can easily archive to on-disk files.


‘flowd’ is a small, fast, secure, and featureful NetFlow collector. It supports NetFlow versions 1, 5, 7, and 9 over IPv4 and IPv6 transports, IPv6 flows (using NetFlow 9), filtering and tagging of received flows using a packet filter-like language, Perl and Python APIs, flexible storage (with run-time selection of which NetFlow fields are stored), and privilege separation for security. A set of supplemental tools analysis and SQL database support is also included.


For Each File
“For each File” allows users to execute an arbitrary set of GNU BASH shell commands upon an arbitrary set of files. It is useful for, but not limited to, performing repetitive filesystem manipulation procedures such as mass file renaming and gathering filesystem statistics.


‘fping’ is a ping-like program which uses the Internet Control Message Protocol (ICMP) echo request to determine if a target host is responding. ‘fping’ differs from ping in that you can specify any number of targets on the command line, or specify a file containing the lists of targets to ping. Instead of sending pings to one target until it times out or replies, fping will send out a ping packet and move on to the next target in a round-robin fashion.


When you move files between systems that have file permissions and those that do not, you end with files in your home folder with all sorts of permissions. fpm stands for File Permission Modifier. This programme has been designed to modify all files to have a uniform permission set based upon their file type.


Free-SA is tool for statistical analysis of daemons’ log files, similar to SARG. Its main advantages over SARG are much better speed (7x-20x), support for more reports, and W3C compliance of generated HTML/CSS reports. It can be used to help control traffic usage, to control Internet access security policies, to investigate security incidents, to evaluate server efficiency, and to detect troubles with configuration.


FreeNATS is a PHP and MySQL based automatic network status testing, alerting and reporting package from PurplePixie Systems and released under the GNU General Public Licence for free use. Current Test Types

  • Ping (ICMP)
  • HTTP/HTTPs (Web)
  • POP3/POP3s
  • MySQL Connection
  • MySQL Queries
  • TCP Port
  • Other Features Include
  • Email Alerting
  • URL Alerting
  • Test Schedules
  • Publishable Views
  • Availability Reports
  • Graph & Table History
  • Live Monitor
‘fsh (fast remote shell)’ is a drop-in rsh-compatible replacement for ssh that automatically reuses ssh tunnels. Also included is fcp, which is a drop-in replacement for scp that uses the same tunnels. Logging in to a remote system with a cryptographic solution such as lsh or ssh takes time. This solves the problem of slow logins due to the computationally expensive key exchanges that occur when you establish a remote connection is established with a machine that has ssh or lsh.


FSlint is a toolkit to find various forms of lint on a filesystem. At the moment it reports duplicate files, bad symbolic links, troublesome file names, empty directories, non stripped executables, temporary files, duplicate/conflicting (binary) names, and unused ext2 directory blocks.


‘ftp-outboxd’ sends files and directories placed in certain folders to other hosts. It can handle any number of spools, and can send to multiple hosts for each spool. It can also recursively handle subdirectories placed in the outgoing “hot folders”. It deletes pending files upon successful transfer, and preserves and retries upon failure.


ftpStats is a comprehensive xferlog analyser that uses a MySQL backend to store the information. If you can figure out how to get the information in an xferlog into MySQL, Perl is not necessary. The program is available in English, Dutch, Spanish, Turkish, and French. HTML is generated live for each request, pulled from MySQL on the fly. Therefore, ftpStats is not suitable for analysing large amounts of data. It can realistically store and display the details of about 100,000 transfers before the pages become too slow to use. On a quiet FTP server, you might get years of analysis. On a busy servers, you might exceed this in a day. In the latter case, please consider using ftpStats as last-day analysis and something like Webalizer for long-term analysis.


ftputil is a high-level FTP client library for the Python programming language. ftputil implements a virtual file system for accessing FTP servers, that is, it can generate file-like objects for remote files. The library supports many functions similar to those in the os, os.path and shutil modules. ftputil has convenience functions for conditional uploads and downloads, and handles FTP clients and servers in different timezones.


‘ftpcopy’ is a small mirror-like utility to copy files or directory trees with FTP. ftpcopy understands EPLF and traditional listing formats.


‘ftp.proxy’ is an application level gateway for FTP. It allows either forwarding to a specific host or optional client side server selection w/o allowed host list, access and command control trough external programs.


‘fuse’ (Filesystem in Userspace) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. It also provides a secure method for non privileged users to create and mount their own filesystem implementations.


FusionDirectory allows you to set and manage the various components of a single operating system’s information system, or the management of multiple workstations and servers. This includes management of:

  • User and group creation and ACL
  • Telephony systems
  • Network service (SMTP / DNS / DHCP / Samba / CUPS)

FusionDirectory is user-friendly and includes a number of features and modes including:

  • A copy and paste system
  • Template mode for account and system
  • Snapshot mode
  • System Dashboard (user, telephone report, installation and deployment)
‘fwanalog’ is a shell script that parses and summarizes firewall logfiles. It understands logs from ipf (xBSD, Solaris), OpenBSD 3.x pf, Linux 2.2 ipchains, Linux 2.4 iptables, and a few types of routers and firewalls.


g4u (“ghost for unix”) is a boot-floppy/CD that lets users clone hard disks by using FTP. This is often done to deploy a common setup on a number of PCs. The floppy/CD uploads the compressed image of a local hard disk to an FTP server, and then retrieves that image via FTP, uncompresses it, and writes it back to disk. Network configuration is fetched via DHCP. The hard disk is processed as an image, so g4u can deploy any filesystem/operating system. Users can clone local disks as well as partitions.


GAG is a Graphical Boot Manager with a lot of features. It doesn’t need a partition, it works with primary and extended partitions in every hard disk, it has a lot of icons, it allows you to put passwords for each operating system, it can swap hard disks and it can be tested from diskette. The SafeBoot feature allows you to boot your hard disk even if GAG is overwritten. It includes extensive support for many languages and keyboard types.


‘GCronTime’ programs planned operations through the ‘cron’ daemon. It shows a calendar view of the operations and lets every user set up individual functions.


The GNU Krell Monitors is a single process stack of system monitors which supports applying themes to match its appearance to your window manager, Gtk, or any other theme.


GMail Archiver
GMail Archiver is a tool for archiving IMAP, mbox files, or Mailman archives to a GMail account.


GNOME Schedule
GNOME Schedule is a system schedule maintenance tool. It has support for the cron and at scheduling systems. It aims to be as HIG compatible as possible. The target is to provide any sane desktop user with a tool to maintain the scheduling of his or her desktop tasks, while not requiring an understanding of the cron or at subsystems.


GNOME Sensors Applet
A GNOME panel applet to display system temperatures, fan speeds and voltage readings from hardware sensors under GNU/Linux.


GNU GRUB Heckert gnu.small.png
GNU GRUB is a Multiboot boot loader. It was derived from GRUB, the GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.Briefly, a boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).


GNU ddrescue Heckert gnu.small.png
GNU ddrescue copies data from one file or block device (hard disc, cdrom, etc) to another, trying hard to rescue data in case of read errors. The basic operation of ddrescue is fully automatic. That is, you don’t have to wait for an error, stop the program, read the log, run it in reverse mode, etc. If you use the logfile feature of ddrescue, the data is rescued very efficiently (only the needed blocks are read). Also you can interrupt the rescue at any time and resume it later at the same point.


GNU fdisk Heckert gnu.small.png
GNU fdisk provides libparted-based alternatives to classic partitioning tools like util-linux, fdisk and cfdisk.


GNU tar Heckert gnu.small.png
GNU tar is an archiver that creates and handles file archives in various formats. You can use tar to create file archives, to extract files from previously created archives, store additional files, or update or list files which were already stored. The program saves many files together into a single tape or disk archive, and can restore individual files from the archive. It includes multivolume support, the ability to archive sparse files, automatic archive compression/decompression, remote archives and special features that allow ‘tar’ to be used for incremental and full backups. The supported archive formats are: V7 tar, GNU, ustar and POSIX (also known as pax interchange format). GNU tar can also read and extract ‘star’ archives. Tar can direct its output to available devices, files, or other programs (using pipes); tar can even access remote devices or files (as archives).


‘GPRename’ is a GUI batch file renamer based on Gtk-Perl. It can rename files numerically, insert/delete characters at/between specified position(s), replace strings (either using regular express or not), and change case.


GSAMBAD is an easy to use GTK+ frontend for the SAMBA file and print server. It features multiple local and remote user and group imports, on the fly share creation and user handling, including randomization of usernames and passwords. PDF printing to shared directories or email etc.


GSRC Heckert gnu.small.png
GSRC is a BSD Ports-like system for easily fetching, building and installing the latest GNU packages from source. Installing a package is as easy as “make -C gnu/<packagename> install” and it can be configured to install to your home directory, bypassing the need for administrator privileges.


GTKPBButtons is a visualisation client for PBButtonsd, the hardware daemon for Apple Powerbooks, that displays messages and events sent by PBButtonsd in nice popup windows. This includes backlight and volume levels, battery warnings, trackpad mode, and some more. The appearance of the popup windows is themable.


GCount is an attempt to make a solid Web-based counter completely in PHP. It uses MySQL as its backend to store counter information, and the GD library to slice up the images on thy fly and display them. It was written to be both functional and quick.


GdMap is a tool which allows you to visualize disk space. To display directory structures, cushion treemaps are used to visualize a complete folder or even the whole hard drive with one picture.


The gems system is a client/server application that allows you to show a single console session in different computers or terminals in real time. It can also be used to transmit any other kind of data to more than one computer at the same time.


Generic NQS
Batch processing systems were traditionally used to share limited computing power between people. Today, batch processing systems are also used to place work on workstations outside office hours, to make the most of an investment in a costly UNIX workstations. Also, with the steady advance of UNIX for PC computers, you can combine Generic NQS and GNU/Linux to build processor farms for just a fraction of the price of commercial systems.


Gevice: GNOME Network Device
The main features gevice includes are:

  • Allows you to draw the net model.
  • Allows you to print the net diagram in png, gif, or jpg formats.
  • Allows you to save your model in a database (Postgresql)
  • Allows you to manage the device, in terminal (telnet, ssh, or local)
  • Allows you to export data to CSV file. Use “

Pipe.png” to separate fields (or other).


‘gfslicer’ slices and then deslices large files, mainly for use with removable storage media. Files can be sliced to any arbitrary size and then transferred using floppies, etc. The sliced files can then be desliced to the original form with the same name and extension. A checking mechanism helps avoid errors. You can tar folders and then slice them within gfslicer and the same in reverse (i.e., deslice and untar not slice and tar). Tar and untar can be used separately. A log file facility is also included to cross-check what happened already. You can also can drag and drop any file into gfs window and get it sliced.


Ghost for Linux
Ghost for Linux is a hard disk and partition imaging and cloning tool similar to Norton Ghost and ™ by Symantec. The created images are optionally compressed, and they can be stored on a local hard drive or transferred to an anonymous FTP server. A drive can be cloned using the Click’n’Clone; function. g4l supports file splitting if the local filesystem does not support writing files 2GB. The included kernel supports ATA, serial-ATA, and SCSI drives. Common network cards are supported. It is packaged as a bootable CD image with an ncurses GUI for easy use.


View real-time data and statistics from any logfile on any server with SSH, in an intuitive and entertaining way. FEATURES

  • Real-Time
  • Multiple logfiles on multiple servers
  • Configurable layout
  • Multiple logfile parsers: (Apache Combined, Rails, IIS, Postfix/spamd/clamd, Nginx, Squid, PostgreSQL, PureFTPD, MySQL, TShark, qmail/vmpop3d)
  • Custom events
  • Show rate, total or average
  • If you can ‘tail’ it, you can visualize it
  • Written in Ruby using net-ssh & ruby-opengl
The poor man’s daily snapshot, ‘glastree’ builds live backup trees, with branches for each day. Users directly browse the past to recover older documents or retrieve lost files. Hard links compress out unchanged files; modified files are copied verbatim. A prune utility effects a constant, sliding window.


Gnetic is a tool for creating and restoring backups. Also lets you clone computers over the network. You can make computer copies using a direct connection between two machines (Point-2-Point), or using the “link mode”, which creates a chain of nodes that sends information like a bus-topology net. With this method, theoretically you can clone up to 64 computers (or as many as you specify) in the same time that 1 or 2 take.


‘GnomeRPM’ is a graphical front end to the Redhat package management system. It is similar to Redhat’s Glint, but doesn’t call the rpm executable for installs, which means that it is faster, and the interface should be more responsive. It also has rpmfind functionality, so you get the RPM best suited to your system as well as all the RPMs it depends on that you don’t have.


Gnochive Heckert gnu.small.png
‘gnochive’ is a GNOME frontend for all common archivers under GNU/Linux. It supports gzip, tar, bzip2, zip, and compress. It is the program formerly known as ‘gnomerar.’


Gnome Netstatus
The Network Monitor is a little applet which sits on your panel flashing away at you so as to give you an idea of whats happening on your network interface. It also has a little dialog to give you more information about the network interface.


Gnuit Heckert gnu.small.png
A set of interactive tools that includes an extensible file system browser, an ASCII/hex file viewer, a process viewer/killer, and other related utilities and shell scripts. It increases the speed and ease of daily tasks like moving files and directories, invoking editors, compressing and uncompressing files, creating and expanding archives, compiling programs, sending mail, etc. It has colors if the standard ANSI color sequences are supported, and is user-friendly.


GParted stands for Gnome Partition Editor. Among other features it supports creating, resizing, moving and copying of partitions.


GProFTPD is a GNOME frontend for the ProFTPD standalone server.


‘grabinfo’ navigates the /proc filesystem and executes commands in order to gather information about the state of your machine. The data is generated in XML, which is easy to parse and extend.


Grafist is a bandwidth utilization viewer. It gets the bandwidth utilization information for eth0 from the /proc/net/dev file in 15-second periods, and stores it in four data files (daily, weekly, monthly, and yearly). When a request is sent to index.php, it executes four programs to create graphics (using the GD library) and a summary for each file. Grafist currently supports 24 different languages


Graft lets users manage multiple packages under a single directory hierarchy. It was inspired by Depot (from Carnegie Mellon University) and Stow (by Bob Glickstein). It installs packages in self-contained directory trees and makes symbolic links from a common area to the package files.


gravityd is a network management tool that allows administrators to see a diagram of monitored hosts on an IP network. This diagram graphically displays the result of various network testing tools with a “dot system” that lets sysadmins notice faulty servers more quickly, thus minimizing downtime. A down server has a red dot, a slow or partially failed node has a yellow dot, and a node that passes all tests is green. Users can configure the tests run on each node by adding new plugins to gravityd. gravityd’s plugin architecture is open, which allows third party developers to write modules for gravityd to extend its functionality.


This package provides a graphical frontend for the remote desktop client (rdesktop).


Gromit is a system configuration tool that is designed to run in the most automated fashion possible. It allows you to place the correct config file in the right place on the right machine. Package and version dependencies allow you to sanely control machines that are not 100% identical. It is usually run thorough a rules file and a cron job. It is intended specifically for experienced system administrators who must deal with many machines.


‘grsecurity’ is a complete security system for Linux 2.4 that implements a detection/prevention/containment strategy. It prevents most forms of address space modification, confines programs with least privilege via its process-based ACL system, hardens syscalls, and provides many of the OpenBSD randomness features. It has auditing capabilities and a netfilter module designed to thwart portscans and OS fingerprinting.


Grsync is a GUI for rsync, the command line directory synchronization tool. While it can work with remote hosts, its focus is to synchronize local directories.


grubconfig is a script that helps you install the GRUB bootloader on your system. It requires bash and dialog. It supports GNU/Linux IDE and SCSI devices; it does not support RAID devices.


GTK+ version of slapt-get, an apt-like system that lets you search slackware mirrors and third party sources for packages, compare them with installed packages, install new packages, or upgrade already installed packages.


Gujin is a PC boot loader that can analyze your partitions and filesystems on hard disks, USB disks and CD/DVDs. It finds the Linux kernel images available, as well as other bootable partitions (for *BSD, MS-DOS, Windows, etc.), files (*.kgz) and bootable disk images (*.iso, *.bin, *.img, *.bdi), and displays a graphical menu for selecting which system to boot. It boots the Linux kernel using the documented interface, like LILO and GRUB, so it doesn’t need any other pre-installed bootloader. It can also directly load gzipped ELF32 or ELF64 files, with a simple interface to collect real-mode BIOS data, and can relocate those executable with the right link options. There is no need to execute anything after making a new kernel: just copy the kernel image file into the “/boot” directory, with a standard name. Gujin is written almost entirely in C with GCC, and it fully executes in real mode to be as compatible as possible.


Gzip Heckert gnu.small.png
A compression utility designed to replace ‘compress’. Much better compression and freedom from patented algorithms are its main advantages over compress. Gzip decompresses files created by gzip, compress, or pack; it detects the input format automatically.


Gzip x86
‘gzip_x86′ is a distribution of gzip tuned for faster decompressing when running on Linux/x86.


Hardware Lister (lshw)
lshw can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC machines (PowerMac G4 is known to work). Information can be output in plain text, XML or HTML. It currently supports DMI (x86 and EFI only), OpenFirmware device tree (PowerPC only), PCI/AGP, ISA PnP (x86), CPUID (x86), IDE/ATA/ATAPI, PCMCIA (only tested on x86), USB and SCSI.


hdparm is a GNU/Linux shell utility for viewing and manipulating various IDE drive and driver parameters. Most drives can benefit from improved performance using a command similar to “hdparm -qm8 -qu1 -qc1 -qW1 -qd1 /dev/hda”


‘hdup’ backs up filesystems. Features include archive encryption via mcrypt, archive compression (bzip/gzip/none), the ability to transfer the archive to a remote host (via scp), and no obscure archive format (it is a normal compressed tar file)


HeapDraw HeapTracer
HeapDraw was originally created as a postmortem analisys tool to see how the heap evolved during the life of a process. The idea is that although we may be used to textual output, like that of ltrace or a malloc/free hooking library, it’s much better to see it graphically. HeapTracer is the new name, after it became a runtime analisys tool.


‘heartbeat’ monitors hosts and informs the cluster when one of them dies. It includes code from “fake” for IP address takeover. It currently works for 2-node clusters and supports multiple interfaces per node.


‘heh’ associates file extensions/types and URLs with applications (or shell scripts) and opens/handles them from a command line. It has user-specific preferences and is written in Perl.


Hocuspocus is a small and extensible webserver for controlling key Linux apps remotely via a web server. This means you can adjust things like system volume from any browser, including a wifi enabled PDA such as the Iphone. Hocuspocus is written in Python using Greg Stein’s EZT templating system. Support Apps:

  • Audacious
  • VLC
  • Alsa sound system
  • Playlists
‘Honeyd’ is a small daemon that creates virtual hosts on a network. The hosts can be configured to run arbitrary services, and their TCP personality can be adapted so that they appear to be running certain versions of operating systems. ‘Honeyd’ lets a single host claim multiple addresses on a LAN for network simulation. Users can ping and/or traceroute the virtual machines. Any type of service on the virtual machine can be simulated or proxied to another machine according to a simple configuration file.


htop is an interactive process viewer for GNU/Linux. It aims to be a ‘better top’: you can scroll the process list vertically and horizontally, and select a process to be killed with the arrow keys instead of by typing its process id. It requires ncurses, and was tested with Linux 2.4 and 2.6.


httpdstats is a perl script that generates a statistical summary of the contents of an Apache access log and either prints the summary or sends it, via mail, to somebody. This program is intended for use on small, low-traffic web servers, where the full power of a larger more complex program represents overkill. The main intended use for httpdstats is as a cron job, so that the web administrator can receive a daily report on server usage just before the logs are rotated; an anacron script and configuration file are installed for that purpose. The results can either printed directly or mailed to an interested party as text or HTML. Configuration files can be used to set the various options available. Certain file suffixes, for file types such as JPEG, PNG or GIF images, can be collapsed into grouped entries, to avoid cluttering up the report with labels, logos and other meaningless data.


‘httplog’ is a replacement for Apache’s ‘rotatelogs’ and Andrew Ford’s ‘chronolog’. It lets you specify a logfile using strftime parameters in the filename to act as a template. This means that the logs in your logfiles will also be sorted according to the filename, instead of as one huge file. For example, if you specify a logfile of /var/log/http%Y%m%d.log, a new log file would be generated each day, with content for only that one day. It also supports compression of logfiles using gzip.


‘ibackup’ lets you automate (with cron) the backup of system configurations. It is easy to extend it for your systems and adapt to your needs. It supports exclude lists, upload, and encryption of your backups.


IP Accounter
IP Accounter is an IP accounting package that collects, summarizes, and displays IP accounting data. Its output can be a simple ASCII table, or graph images. The program supports both ipchains and iptables, stores logs in files, gdbm, or a PostgreSQL database.


IP Sorcery
IP Sorcery is a TCP/IP packet generator. It can send IP, TCP, UDP, ICMP, and IGMP packets from the console or with a GTK+ interface.


IP Traf
IPTraf is an ncurses-based IP LAN monitor that generates various network statistics including TCP info, UDP counts, ICMP and OSPF information, Ethernet load info, node stats, IP checksum errors, and others.


‘ISP-Check’ tests the connectivity of your ISP via the Net::Ping utility and presents information about downtime for your server or Web site on a static Web page. It lets users track downtime on a hourly, daily, monthly, and yearly basis. It can also to rotate and archive log data and view bar graphs showing statistical downtime data.


iWatch is a real-time filesystem monitoring program. It is a tool for detecting any changes on your filesystem and reporting it to the system administrator immediately. It uses a simple configuration file in XML format and is based on inotify, a file change notification system in the Linux kernel.


‘ImageBackup’ is an automatic incremental backup system for digital pictures. It creates backup CDs, one at a time, until all images have been backed up. You run the program regularly; it will gather images until another disc is full. Once a disc is full, it can use AutoScrapbook to create Web-based index files, automatically generate an ISO image, and reset the staging area. Once an image has been stored in a backup ISO image, it will not be backed up again. Any new images, regardless of where they are mixed into your directory structure, will be added to backups when necessary.


‘incident’.pl is a small script that, when given syslogs generated by snort or other tools, can generate an incident report for events that appear to be attempted security attacks, gather information on the remote host, and report the attack to the appropriate administrators.


Info-ZIP- UnZip branch
Info-ZIP is a collection of high quality, standards compliant archiving and compression tools.


The Zero Install Injector lets users install software easily and without needing root privileges. It takes the URL of a program’s interface description and chooses suitable versions of the program and its dependencies (also identified by URLs) according to the user’s policy settings (eg. “stable”, “testing”, “minimal network use”, etc). It then loads and chaches the chosen versions and runs the program, using environment variables to let it find the components.


Simply run install-log immediately after doing a make install, and it’ll update its database of which files on your system belong to which packages. The lists it produces are handy for simple package management, including uninstallation and upgrading. The resultant plain text files are stored in /var/install-logs With few exceptions, they are simply lists of /path/filename delimited by newlines and therefore can be fed through xargs in order to, for instance, uninstall a package. The exceptions come from running install-log more than once for a single package after, for instance, installing a newer version on top of the old one. The resultant list will once again contain all the files updated recently, but it will also specially list every file not updated that was previously listed. It also lists everything that has been deleted since the last time install-log ran.


‘Install Kernel’ (ik) is a script that installs the Linux kernel and automatically sets up LILO or GRUB. It also saves your kernel configuration each time you do an install, so you can restore the newest configuration file when you make a new kernel. This script is intended for people new to compiling kernels, and people who are tired of moving files around and editing their bootloader configurations every time they install a new kernel.


Installdb records any kind of install and stores all the information of the package in the database. It works regardless of packages type (ie tarball, rpm, debian, etc). Packages can be installed, queried, uninstalled, and verified. A package consists of a list of files, description, name, version, size, and other information.


Intrepid is a simple load balancing system, which can be used on a network of computers to determine the least loaded machine, and then spawn new processes on it as required. This can be used in a network scenario to allow low end machine to take advantage of high end machines when running intensive software. Please note that this uses the X-Windows system for remote task execution, and will not work without this.


Linux Inventory Aggregator is designed to be a simple, self-contained (as much as possible) script for gathering hardware information.


iplog is a TCP/IP traffic logger. Currently, it is capable of logging TCP, UDP, and ICMP traffic. iplog is able to detect TCP port scans, TCP null scans, FIN scans, UDP and ICMP “smurf” attacks, bogus TCP flags, TCP SYN scans, TCP “Xmas” scans, ICMP ping floods, UDP scans, and IP fragment attacks. iplog is able to run in promiscuous mode and monitor traffic to all hosts on a network. iplog uses libpcap to read data from the network and can be ported to any system that supports pthreads and on which libpcap will function.


‘ircGraph’ gets statistics from an IRC server via the /lusers command. It then puts the stats in an RRD (Round Robin Database) file and generates graphics about the server and the IRC network using RRDTool. It was created to help ircadmins visualize and understand the traffic on their ircservers and in the IRC network. ‘ircGraph’ depends on the server ping. It is usually a 600 second period Higher son some networks, lower on others). When the program receives a ping from the server it is connected, the databases will be updated and a pong response will be sent.


IsoQlog is a qmail log analysis program written in Perl. It is designed to scan qmail logfiles and produce usage statistics in HTML format for viewing through a Web browser. It produces top domains output according to incoming, outgoing, and total emails. It maintains your main domain mail statistics per day, per month, and per year, as webalizer does.


‘isync’ synchronizes a local maildir-style mailbox with a remote IMAP4 mailbox, suitable for use in IMAP-disconnected mode. Multiple copies of the remote IMAP4 mailbox can be maintained, and all flags are synchronized. TLS/SSL is supported via imaps: or STARTTLS.


‘Jailkit’ is a set of utilities to allow quick creation of limited user accounts in a chroot jail. It contains a safe logging daemon, shells that can restrict users, utilities to start daemons in a chroot jail, and utilities for easy setup of chroot jails. Programs in the package are: jk_check (security test for a jail), jk_chrootlaunch (chroots another daemon in a jail), jk_chrootsh (chroot shell), jk_cp (copies files and dependencies into a jail), jk_init (initialises a jail), jk_lsh (limited shell), jk_socketd (secure logging), jk_procmailwrapper (denies procmail execution for jailed users), jk_addjailuser (adds a jailed users account)


justniffer is a tcp packet sniffer. It captures reassembles and reorders TCP packets, performs IP packet defragmentation and displays the tcp flow and trace timings. It is useful for logging network traffic in a ‘standard’ (web server like) or in a customized way. It can log http response time, useful for tracking network services performances (e.g. web server, application server, etc.).


K Load Applet
K Load Appplet is the KDE load average panel applet, showing a system load average graph. You can customize its colours and refresh rate. It also lets you execute various commands with the mouse. After the program starts it puts itself in the docking area on the panel. If session support is enabled, it will restart itself next time the user logs in.


kBag synchronizes your documents between one computer and another.


KDirStat (KDE Directory Statistics) sums up disk usage for directory trees, much like the Unix ‘du’ command. It displays both numerically and graphically the disk space used up by a directory tree. It is network transparent, and comes with predefined and user configurable cleanup actions. You can directly open a directory branch in Konqueror or the shell of your choice, compress it to a .tar.bz2 archive, or define your own cleanup actions.


‘Kslackcheck’ keeps in sync changelogs and shows updates in a graphical popup in KDE. It tells users what packages in need to be upgraded for major releases, and helps download them to a particular directory ready for manual upgrading.


Ka2dyn presents the following characteristics :

  • can display extended debugging infos when asked for,
  • can log via syslog when asked for,
  • can run in dummy mode when asked for,
  • can handle more than one service at a time,
  • each service is assured by a dynamically loaded library.
‘kArchiver’ is a utility for working with compressed files. Users can create tar.gz, tar.bz2, .zip, and other files, as well as add, remove, or view files with a multiselection window. Its interface merges with konqueror, so users can view and extract all archives within the file manager. Right-clicking on an archive allows you to extract archives in background. The program also converts files between .tar.gz and .tar.bz2, provides an automatic splitter/unsplitter to fit a file onto a set of floppies, and includes wizards that help users compile and install software through kArchiver’s interface. Please note that there are separate versions of kArchiver for KDE 1.x and 2.x, and they are *not* compatible.


Kernin is a menu-driven script to help the user install a Linux kernel. It does everything from extracting the kernel from its tarball through automatically changing the LILO configuration. Kernin is mainly aimed at inexperienced users that have no prior knowledge of kernel installation, but it can also help experienced Linux users save time when installing a kernel. Note that kernin is only compatible with LILO at the moment. As of July 18, 2005, this program is no longer under active development.


Ketchup is a tool for updating or switching between versions of the Linux kernel source. It can find the latest versions of numerous kernel trees, calculate which patches are needed to move to that version, download any patches or tarballs that aren’t cached, check GPG signatures where available, and apply and unapply patches to get the desired result.


Kickstart tools
Kickstart Tools is a collection of scripts that can be used to build and maintain your own distribution. You can control what packages make up your distribution, and automate installation and configuration.


Kleandisk helps remove those files from your hard disk you can probably live without. It searches your hard disk for certain types of files and then gives you a list of files to be deleted, archives, or saved. It can also easily be used to do backups, and supports scheduling (automatic cleanup and backup of files) and the rotation of log files.


‘konserve’ is a small backup application for KDE 3. It lives in the system tray and can periodically create backups of several directories or files. Konserve uses standard KDE network transparency to upload your backups to wherever you want. You can also restore a incidentally-deleted file or directory from a backup file with just one mouse click.


‘Konstruct’ is a build system for installing KDE releases and applications on your system. It downloads defined source tarballs, checks their integrity, decompresses, patches, configures, builds, and installs them. A complete KDE installation should be as easy as “cd meta/kde; make install”. Optionally, you can install additional applications like KOffice or KDevelop (for example, “cd apps/office/koffice; make install”).


kperfmeter is a simple performance statistics monitor for KDE in the style of perfmeter. The development is completely object-oriented in C++.


LBackup is a backup system, aimed at systems administrators who demand reliable backups.


‘LCD4Linux’ is a small program that grabs information from the kernel and some subsystems and displays it on an external liquid crystal display. It supports about 15 different types of displays.


LCDNetstat is a program which displays the TCP/IP connections of a computer on a external LCD screen. It shows the IP of the remote computer, and the port it uses on your computer. If there’s no current conection, it shows the most recent one with a timestamp. It use /proc/net/tcp and parses the results to an LCD screen.


The Linux Terminal Server Project (LTSP) is designed to make it easier to setup diskless workstations (Thin Clients) in a GNU/Linux environment.


Lets users configure network servers and/or services centrally The traditonal way to manage UN*X boxes is doing configuring work on a per host basis. While this works quite well on single host setups, it quickly becomes a nightmare when it comes to clustered systems, load balancing systems or server farms, where configurations have to be shared/spread/replicated between several more or less independant machines. The LUCAS project aims at creating a framework, where configuration data may be conviniently kept in an central LDAP database and is automatically send to the desired destination from there.


‘LZO’ is a portable lossless data compression library. It offers pretty fast compression and very fast decompression. Decompression requires no memory. In addition there are slower compression levels achieving a quite competitive compression ratio while still decompressing at this very high speed.


LZPX is a fast and powerful file compressor. The main features of this program are:

  • Good compression ratio
  • Fast compression and decompression speed
  • Small size
Launch.app is a small program for executing applications, based on the WINGs library (a part of WindowMaker). It features a command history, executing applications as different users (e.g. root), tab completion, and URL recognition.


‘launchtool’ runs a user-supplied command that supervises the execution of an application by controlling its environment, blocking signals, logging its output, changing user and group permissions, limiting resource usage, restarting it if it fails, running it continuously, turning it into a daemon, and more.


‘LavaPS’ is an interactive process-tracking program that presents a small amount of important information in a graphical analog form (as opposed to lots of information presented digitally). It runs in the background and quickly and simply gives you a rough idea of what’s happening. Each blob represents a process. Blob size is proportional to memory usage, and movement is proportional to CPU usage. Color is a combination of program name (which decided the hue) and time since the program last ran (which decides saturation): things that haven’t run in a while are stationary and dark, while things that run a lot are bright and moving. A popup box gives more information about a process. Clicking the left button brings up the popup, the right button brings up a control menu.


LazyFTP is a PHP script that keeps remote files in sync with local files via FTP. It does this by monitoring the local directory tree for additions, changes, and deletions, and uploading or deleting files on the FTP server when necessary.


Lbench can make the following measurements

  • integer-32 and floating-64 arithmetic performance
  • performance of a few engineering functions (sqrt, sin, etc.)
  • memory performance for cache memory and main memory
  • time overhead to acquire and release a mutex lock
  • time overhead to start and complete a process thread
  • time overhead to start and complete a sub-process
  • time overhead to call and return from a function
  • disk I/O throughput for various record and file sizes
  • All of these functions can be run with 1-9 parallel threads.
lcdtest is a utility to display monitor test patterns. It was originally written for use with LCD monitors, and may be useful in finding pixels that are stuck on or off as well as for adjustment (automatic or manual). However, it can be useful for CRT monitors as well. lcdtest uses the SDL library, and has been used on GNU/Linux with X.


‘Ldapdiff’ compares ldif files with a running LDAP server and does an appropriate add/delete/update for every different entry/attribute. Essentially, it combines “diff” and “patch” in one application (although it is designed for “patching” ldap directories using ldif files, not for use on flat ascii files). ldap based directories often have problems with automatic updates, because the only offline interface between a company database and the ldap directory are ldif files, and the company’s data is stored in a relational database, since it can be hard to keep an ldap database current. It is time consuming and difficult to create “ldif formatted deltas” for every database change. It is much easier to dump the whole data pool into a ldif formatted file and run ldapdiff. With ldapdiff it is possible to check every entry/attribute of an ldif file against a running ldap directory. ldapdiff can produce ldif delta files in ldap version 3 format, which can be fed, into tools like “ldapmodify”, “ldapdelete” etc. ldapdiff is also able to modify, delete and add entries/attributes online.


leafget is a network files downloader and manager for gnome with libgtkmm.


LibSysCTr intercepts system call functions on a GNU/Linux system. Process monitoring and sandboxing are just two of its potential uses. LibSysCTr uses the ptrace(2) functionalities by monitoring and reporting events to the library caller. LibSysCTr is callback driven, which means the user initializes the library with systr_init_library(), registers the system calls he wants to monitor with systr_trace_syscall(), and calls systr_run() to start receiving events in the form of callback invocation. For each intercepted system call, two calls to the registered callback function are performed: one during the system call entry, before the system call iteself will be executed by the kernel, and one after the kernel has processed the system call (right before returning the userspace). Utility functions are supplied to, retrieve information about the process, get/set the system call parameters, and read/write the monitored process address space.


‘libcisco’ provides an API for accessing and configuring Cisco network equipment over a telnet session. kIt works making changes through the CLI of the target system (e.g. a privileged EXEC session under IOS). These library routines greatly simplify the process of writing scripts to make configuration changes and perform common tasks.


A CPython extension module wrapping the libevent library.


Libgtop is a library used by gnome-system-monitor and the system monitor applet to get various bits of information about usage of system resources, processes, etc.


‘Libopennet’ lets developers open_net() files or URLs and get a file descriptor back that they can use to read data from. It supports HTTP (read-only) and FTP (read or write). It also comes with read_net() to do a forceful read(), and lseek_net() for calling lseek on the socket/file.


Library which provides a packet filtering mechanism based on the BSD packet filter (BPF). Most notably, tcpdump needs this to work, and there is also a perl module (still in beta) which can use this as well. In plain english, if you want to write your own network traffic analyzer, this is the place to start.


‘Libsocketcpp’ provides a easy-to-use C++ class allowing easy implementation of both UDP and TCP by calling a few simple methods.


‘libzip’ is a library for reading, creating, and modifying zip archives. Users can add files from data buffers, files, or compressed data copied directly from other zip archives, and can revert changes made without closing the archive.


LineControl Server
LineControl remotely controls the connection of a Linux masquerading server using multiple clients. It takes care with the number of clients using the connection and decides, based upon this number, whether the connection should be up or down. The clients show connection time and throughput statistics. The package supports different connection types, such as analog modems, ISDN, or even cable modems and ADSL devices.


Linux Live is a set of bash scripts which allows users to create their own live CD from any distribution. It boots by using initrd, then mounts the whole packed filesystem from the CD. Next, it inserts ovlfs modules into kernel to emulate “pseudo-writing” to the CD and links all directories together in /mnt (tmpfs). Last, /mnt is chrooted and ramdisk is freed.


Lire is a pluggable log analyzer. It has analyzers for over 25 log file formats, ranging from Apache WWW log files to iptables firewall logs and CUPS printing logs. Reports are generated in 9 different output formats, optionally with included graphs.


‘litetrash’ is a shared library which, when preloaded, implements a trash can. Itworks in the same way as libtrash (by intercepting function calls which might lead to accidental data loss), however it has virtually no configuration options and will hopefully compile on any *NIX system.


Lm sensors
lm_sensors provides essential drivers for monitoring the temperatures, voltages, and fans of Linux systems containing devices such as the LM78 and LM75. It contains drivers for sensor chips and I2C and SMBus masters. It also contains text-based tools for sensor reporting, and a library for sensors access called ‘libsensors’. It also contains tools for sensor hardware identification and I2C bus probing. There is a list of supported drivers on the Web site.


Ln local
‘ln_local’ is a shell script for managing the installation of software packages (typically in /usr/local). It’s a program between stow and lndir/cleanlinks. The package (in an approach based on Stow) installs each package into its own tree, then uses symbolic links to make it appear as though the files are installed in the common tree.


‘lndir’ makes a shadow copy (todir) of a directory tree (fromdir). The shadow is populated with symbolic links pointing at the real files in the fromdir directory tree, not with real files. This is useful for maintaining source code for different machine architectures. You create a shadow directory containing links to the real source (usually mounted from a remote machine). You can build in the shadow tree, and the object files will be in the shadow directory, while the source files in the shadow directory are just symlinks to the real files. If you update the source, you need not propagate the change to the other architectures by hand, since all source in all shadow directories are symlinks to the real thing: just cd to the shadow directory and recompile.


‘LoGS’ is a log analysis engine that addresses many of the issues with maintaining larger networks or cluster style machines. It has a dynamic ruleset, can look for messages before triggering an action, and has a powerful programming language used for configuration and extension. With proper rule226set construction, LoGS is a very efficient analysis engine.


‘log4cxx’ is a port to C++ of the log4j project. It has the basically same functionaloty as log4j.


‘log4sh’ is a logging framework for shell scripts. It makes the task of adding advanced logging to shell scripts easier, and has much more power than just using simple “echo” commands throughout. It can also be configured from a properties file so that scripts in a production environment do not need to be altered to change the amount of logging they produce.


logalert is a log file monitor tool which executes a specific action whenever it matches a string (pattern) occurrence. It reads an entire file (or starts at the end, just like tail -f) and keeps track of any changes, waiting for a specific pattern (a syslog process error, a user login, etc.) and starting an action you define when it finds it. It uses regular expressions to match the pattern occurrence and executes commands via shell interaction. It deals with the log rotation and temporary removals normally used by sysadmins.


‘logcheck’ automatically monitors your system logs and periodically mails security violations and other strange events to you. It can process logfiles from Psionic’s PortSentry and HostSentry, system daemons, Wietse Venema’s TCP Wrapper and Log Daemon packages, and the Firewall Toolkit by Trusted Information Systems Inc.(TIS). This product was formerly known as ‘LogSentry.’


Loggerithim is a monitoring package. It allows you to monitor your systems graphically, proactively spot problems, perform postmortems, throw alerts when bad things happen, predict future needs, and automate routine administration tasks.


LoginTop10 creates several “Top 10″ lists from wtmp (usally in /var/log/) statistics. Lists include login frequency, login duration, busiest day of the week, busiest day of the month, and busiest month, and per-user statistics. It outputs a formatted HTML file. Output can also be translated to a language other than the default (English) through locale-files.


‘Logrep’ is a secure multi-platform framework for the collection, extraction, and presentation of information from various log files. It features HTML reports, multi-dimensional analysis, overview pages, SSH communication, and graphs, and supports more than 15 popular systems including Snort, Squid, Postfix, Apache, syslog, iptables/ipchains, Firewall-1, and wtmp.


Logwatch analyzes and reports on system logs. It is a customizable and pluggable log-monitoring system that will go through your system logs for a given period of time and report on given areas in set detail. It normally sends you an email every night.


LooperNG is an intelligent event routing daemon. Primarily used for Network Management, this application can be used to accomplish a variety of tasks related to logging and alerting such as trap forwarding/exploding, event enrichment, converting event formats (syslog->SNMP, SNMP->flatfile, syslog->Netcool), etc. It uses a system of input and output modules to interface with the event sources/sinks and a “rules file” to control the flow of the events.


Lzip is a lossless data compressor based on the LZMA (Lempel-Ziv-Markov chain-Algorithm) algorithm designed by Igor Pavlov. The high compression of LZMA comes from combining two basic, well-proven compression ideas: sliding dictionaries (i.e. LZ77/78), and markov models (i.e. the thing used by every compression algorithm that uses a range encoder or similar order-0 entropy coder as its last stage) with segregation of contexts according to what the bits are used for. Lzip is not a replacement for gzip or bzip2, but a complement; which one is best to use depends on user’s needs.Related subprojects include:

A C implementation of lzip for systems lacking a C++ compiler.
A multi-threaded compressor using the lzip file format.
A compression library for the lzip file format.
A small decompressor for lzip files.
A data recovery tool and decompressor for lzip files.
A limited, “public domain” implementation of the lzip data compressor,

intended for those who can’t distribute GPL licensed Free Software. Pdlzip is also able to decompress legacy lzma-alone (.lzma) files.


The MultiRouter Traffic Grapher uses SNMP to read the traffic counter of your router; it then logs the traffic data and creates graphs (which are then embedded into Web pages) representing the traffic. MRTG creates daily, last seven days, last four weeks, and last twelve months’s views; it can do this because it keeps a log of all the data it has pulled from the router. This log consolidates automatically, so that it doesn’t grow but you still see all the relevant data for all the traffic over the last two years. This is all done efficiently enough to monitor 200 or more network links at once. MRTG can monitor any SNMP variable you choose, not just traffic level. You can even use an external program to gather the data to be monitored. People are using MRTG to monitor System Load, Login Sessions, Modem availability and more. You can even combine two or more data sources into a single graph.


MTX is a set of programs for controlling tape drives and the robotic mechanism of autoloaders and tape libraries.


MacAddressLocator (mal)
This project allows a network administrator to localize mac addresses in a network; the switch must have enabled SNMP protocol.


Magic Rescue scans a block device for file types it knows how to recover and calls an external program to extract them. It looks at “magic bytes” in file contents, so it can be used both as an undelete utility and for recovering a corrupted drive or partition. As long as the file data is there, it will find it. It works on any file system, but on very fragmented file systems it can only recover the first chunk of each file. These chunks can be as big as 50MB, however.


MagicStats is a Web server log analysis tool that aims to be powerful and flexible, while still maintaining high performance. It is customizable on three levels (plugins, themes, and config files). There is substantial documentation for both users and developers.


Make uninstall
‘Make_uninstall’ is used to monitor a command like ‘make install’, so a record of the install can be created, so you can remove the package completely from your system later.


A meta archive or mar file uses a simple binary file format to store both meta and user data together in a single file. This may be suitable in situations where a full-scale database is not. Both the mar library and the accompanying utility are written in C which should make them portable to many platforms.


mar7 is losless compression routine it is based on binary vectors reordering


Mars is a simple services-oriented network status monitor. It works by simulating client connections to Internet services and reporting when those services are not responding as expected. It is quick and easy to install and configure, which distinguishes it from other, more complex, more fully-featured network monitoring tools.


mbuffer is an enhanced version of buffer. It features display of throughput, memory-mapped file I/O for huge buffers, and multithreading.


‘mdadm’ is a tool for creating, maintaining, and monitoring Linux “md” device arrays, also known as Software RAID. As such is provides similar functionality to the raidtools packages. The particular differences to raidtools is that mdadm is a single program, and it can perform (almost) all functions without a configuration file


Memtest86 is thorough, stand alone memory test for x86 architecture computers. BIOS based memory tests are only a quick check and often miss many of the failures that are detected by Memtest86. It can be run from a bootable CD with no operating system needed.


‘memtester’ is a user-space utility for testing the memory subsystem in a computer to determine if it is faulty. It does a good job of finding intermittent faults and non-deterministic faults. It has many tests to help catch borderline memory. ‘memtester’ should compile and run on any 32- or 64-bit *nix system.


midget is a small SMB-share based backup script intended for use in unattended environments where finding a person to create backups is next to impossible. It is designed to allow the deployment of a file server with a built-in DVD-R drive at a client’s site and subsequently perform completely automated backups. The backup server is configured through a CSV file stored on one of the server’s shares.


‘minit’ crossbreeds ‘daemontools’ and ‘init’ while adding dependencies, and maintaining minimal code base. It is possible to start and stop services on the fly. ‘minit’ does not depend on a mounted /proc file system, it does not write to any part of the file system (not even to start and stop services) nor does it use the System V IPC.


Many project are mirrored worldwide. Mirmon helps in monitoring these mirrors. In a concise graphic format, mirmon shows each site’s history of the last two weeks, making it easy to spot stale or dead mirrors. Mirmon quietly probes a subset of the sites in a given list, writes the results in the ‘state’ file, and generates a Web page with the results


mksh is the MirBSD enhanced version of the Public Domain Korn shell (pdksh), a Bourne-compatible shell which is largely similar to the original AT&T Korn shell; mksh is the only pdksh derivate currently being actively developed. It includes bug fixes and feature improvements, in order to produce a modern, robust shell good for interactive and especially script use.


MoSSHe (MOnitoring with SSH Environment) is a simple, lightweight (both in size and system requirements) server monitoring package designed for secure and in-depth monitoring of a number of typical Internet systems. It was developed to keep the impact on network and performance low, and to use a safe, encrypted connection for in-depth inspection of the system checked. It is not possible to remotely run (more or less arbitrary) commands via the monitoring system, nor is unsafe cleartext SNMP messaging necessary (yet possible). A read-only Web interface makes monitoring and status checks simple (and safe) for admins and helpdesk. Checking scripts are included for remote services (DNS, HTTP, IMAP2, IMAP3, POP3, samba, SMTP, and SNMP) and local systems (disk space, load, CPU temperature, fan speed, free memory, print queue size and activity, processes, RAID status, shells, log file events (logins, restarts, and brute force attacks), and mail queue).


The modutils package contains utilities that are intended to make a Linux modular kernel manageable for all users, administrators and distribution maintainers.


‘moftpd’ is a powerful FTP server supporting IPv6, virtual hosts, fine grained permissions, and much more


‘mon’ is a general-purpose scheduler and alert management tool used for monitoring service availability and triggering alerts upon failure detection. It supports arbitrary monitoring facilities and alert methods via a common interface, all of which are easily implemented with programs in C, Perl, shell, etc., SNMP traps, and special mon traps. ‘mon’ views resource monitoring as two separate tasks: the testing of a condition, and triggering an action upon failure. It implements each task as separate, stand-alone programs. mon is fundamentally a scheduler which executes the monitors (each test a specific condition), and calls the appropriate alerts if the monitor fails. The decision to invoke an alert is governed by logic which offers various “squelch” features and dependencies.


‘Mon.cgi’ is a CGI interface for viewing the status of a Mon service. The interface can be customized using CSS and can be configured to each environment’s requirements.


Mondo Health Monitor
Mondo is a system health monitor daemon for GNU/Linux, capable of running specific commands whenever alarm conditions get tripped. Mondo can do things like send e-mails and shut your system down if a fan fails, voltage rails start to go haywire, or your system just seems warmer than it should be. It can actually run any command of your choice to handle an alarm condition


Mondo Rescue
Mondo Rescue archives sytems to CDs, which may be used to restore some or all of the system in the event of catastrophic data loss. The emphasis is on stability and ease of use.


Monfarm is an alarm-enabled monitoring system for server farms. It produces dynamically updated HTML status pages showing the availability of servers. Alarms are generated if servers become unavailable.


‘monit’ monitors daemons or similar programs running on a Unix system. It will start specified programs if they are not running and restart programs not responding. It supports a daemon mode (poll programs at a specified interval, and start, stop, and restart programs), logging (syslog or your own logfile), configuration (with a comprehensive controlfile) runtime and TCP/IP port checking, process status, protocol verification, and timeout and alert notification. It also provdeis a Web interface so users can access results through a browser.


‘mony’ is an ICMP monitoring tool designed to be very flexible, scalable, and fast. It can be used for monitoring thousands of nodes. It can run either as a tool with an interface like fping (in the foreground, dumping stats to stdout) or as a daemon that monitors network devices and dumps stats continously.


Moodss (the Modular Object Oriented Dynamic SpreadSheet) displays data described and updated in modules loaded at startup time or dynamically. Data is displayed in tables, but users can create graphical viewers, summary tables, free text viewers, and threshold entries from table cells. Moodss has full drag’n’drop support in the UI, and comes with numerous modules for system, database, network, and other types of monitoring. New modules can be developed in Tcl, Perl, Python, or C. A monitoring daemon (moomps) for UNIX is included: it activates emails and scripts upon threshold conditions and monitors data over time, via storage in a MySQL or any ODBC compliant database, for post analysis by common software (spreadsheets, for example).


‘mrtg-rrd’ is a CGI/FastCGI script that displays MRTG graphs from data in the RRDtool format. It speeds up your monitoring system by generating graphs on demand, so MRTG does not have to generate the PNG files with graphs every 5 minutes. ‘mrtg-rrd’ is meant to generate output similar to the MRTG native graphs as much as possible, providing a drop-in replacement. It reads the same configuration file that MRTG does, and can understand most of the directive types in this file. It can display single graph pages as well as directory indexes referring to more graphs or subdirectories.


‘msredird’ implements the “Telnet Com Port Control Option” protocol RFC 2217 running in server mode. This protocol makes it possible for networked computers to access central pool of modems.


‘mtr’ combines the functionality of both ‘traceroute’ and ‘ping’. The program investigates the network connection between the host it runs on and a user-specified destination host. After determining the address of each network hop between the machines, it sends a sequence ICMP ECHO requests to each one to determine the quality of the link to each machine. As it does this, it prints running statistics about each machine.


Muddleftpd has been designed from the ground up to be an efficient, configurable FTP server that can be run as root or user. It includes its own list functions and never executes external programs. It is highly portable and secure, and lets users set up a variety of configurations, from traditionally heavy to zero use of the password file. Authentication modules make supporting multiple authentication methods easy and writing methods easier. These modules can even be loaded dynamically into the server as it runs. Commands can be disable on a per group basis. these is PAM and non-system password file support.


multiCD provides an easy way to backup a large number of files to multiple CDs. Give multiCD the files/directories you want backed up and it will create as many CDs as it needs to, and prompt you to put in a new disc when needed. It can be configured to run in a multi-threading mode, where it will burn one image to a disc while copying files to another image. This can be disabled for slower machines.


Multiboot is a specification document which attempts to unify bootloading across Operating System kernels. Its reference implementation, GNU GRUB, is the most widely deployed free software bootloader, as a consequence of this and its clean, legacy-free design, it is a widely adopted specification for new OS kernel projects. Among a number of editorial improvements, this version of Multiboot includes a rewrite of the `multiboot.h’ header, which has been imported from GRUB sources. This header is more complete than the previous version, and is licensed under permissive terms as a compromise to foster the development of Multiboot-compliant kernels. Previous versions of Multiboot were released with the same source tarball as GRUB Legacy. However, as GRUB Legacy is obsolete (we have moved development to GRUB 2 for several years), and no future release is planned, Multiboot is now provided in a separate source tarball.


‘Munin’ gathers and graphs various types of information. You can install a node on the machines in your network, as well as on a central server. The nodes will know how to extract various kinds of information, such as load average and bandwith usage, and will wait for the server to request these values. The output is in HTML. You can be optionally notified if values move outside a specified range.


‘mwcollect’ collects worm-like malware in a non-native environment. The first versions collected binaries for botnet monitoring, and bots are still what it is mostly collecting. Some people consider it a next generation honeypot; however, that comparison often leads to the misunderstanding that computers running mwcollect can actually be infected with the malware, which is not the case.


MyRPM is a simple script allowing you to easily turn software into an RPM package. It can help you generate an RPM package from a binary installation server and redeploy it quickly and easily.


Mynetmonitor is a gtk2 net monitor with system tray support in which you can choose the interface to monitor and set a connect/disconnect command.


‘myrescue’ is a program for rescuing still-readable data from a damaged hard-disk. It is similar to dd_rescue, but tries to quickly get out of damaged areas, handling the non-damaged areas and then returning to the damaged sections later.


‘NNFS’ lets users make symmetric mirrors between a set of disconnected computers, therefore letting users have the same files on multiple computers without needing a server. If the computers are really unconnected a writable medium must be used to move data between computers (ie a floppy disc, usb key, or usb disk).


The NX project provides a suite of libraries and X11 proxying agents implementing efficient compression and optimized transport of X11, HTTP, SMB, and arbitrary protocols, like audio, over low-bandwidth links. By translating and embedding RFB and RDP in X protocol, it is also able to compress VNC and Windows Terminal Service sessions.


nbworks is an implementation of NetBIOS, itself an incarnation of zeroconf networking. NetBIOS is an API that allows applications to find each other over a network and exchange information. nbworks consists of a deamon and a library. The daemon handles the peer discovery and parts of the serverside for information exchange. The library is linked into applications wishing to use NetBIOS and implements the rest of the NetBIOS functionality. The API that nbworks exports is meant to imitate the POSIX socket interface as closely as possible to enable easy usage by both experienced and novice programmers.


NDir is a terminal tool to display the contents of directories. It can both provide a brief overview on the present files and display all interesting information associated with the files. NDir displays its output in a more legible and informative way than ‘ls’. This includes various degrees of verbosity, a statistics line for each directory, coloured output and intelligent handling of long file names.


‘nefu’ (network fidelity utility) monitors services over the network. It uses a “no false alarms” fault verification algorithm, and understands network dependancies. Natively-monitored protocols include ICMP echo (ping), SSH, IPP, DNS, HTTP, POP, NTP, IMAP, SMTP, and LDAP, as well as having facilities to execute external programs. User access status pages via finger or the Web.


‘nepim’ (network pipemeter) is a tool for measuring available bandwidth between hosts. It is also useful for generating network traffic for testing purposes. It operates in client/server mode, can handle multiple parallel traffic streams, reports periodic partial statistics along the testing, and supports IPv6.


Net Telnet Cisco
Net::Telnet::Cisco adds additional functionality to Net::Telnet that helps you automate Cisco router management and statistic gathering.


The net-check package is a pair of scripts that monitor and report on your internet connectivity. They monitor your internet connection (with user defined packet loss threshold), reconnect after 2 failures, log all up and downtimes, and e-mail the user a monthly status report with downtime recorded and adjusted service fee


‘net-snmp’ provides tools and libraries relating to the Simple Network Management Protocol. The package includes an extensible agent, an SNMP library, tools to request or set information from SNMP agents, tools to generate and handle SNMP traps, and more.


‘net2ftp’ is a Web-based FTP client, offering standard FTP client functionality using a browser. Users can also zip files, email them in attachments, and edit or view code with syntax highlighting in their browser. Configuration options include: restricting the access to one FTP server, banning IP addresses or FTP servers, setting a daily consumption limit, and 3 kinds of logging. The package works under PHP’s Safe Mode, and is available in ten languages.


‘NetCPR’ is a tool to get remote network services back online after your machine gets another IP, killing your remote connections. When machine A changes its IP, some services on machine B don’t see the change until restarted. This program has machine B monitor machine A, and gets those programs on machine B to connect to the new IP of machine A (software to be run on machine B).


‘netalert’ checks the availability of network services by initiating cyclic TCP and/or UDP connection attempts. It can also validate received sequences (using extended regular expressions) and even trigger those sequences by sending sequences itself. It will notify the admin by email when a service goes down. The package is easy to setup due to its clean XML-based configuration file.


‘Netprofiler’ saves the settings of network devices into files with appropriate names for each device in a folder whose name is specified by the user. These are called netprofiles. Users can then is then easily change the network settings to those saved in the profiles.


‘netstat-nat’ displays NAT connections, managed by netfilter/iptables which comes with the 2.4.x or later linux kernels. The program reads its information from ‘/proc/net/ip_conntrack’, which is the temporary conntrack-storage of netfilter. (http://netfilter.samba.org/) created by the iptables conntrack module.


Network Monitoring Tool
‘Network Management Tool’ lets you quickly find vital information such as serial numbers and support contact information about your network devices. It keeps a log for each device so that you can enter service information, and has an automatic export feature that creates a spreadsheet or database-ready file. You can eidt each list with a Web interface.


NetworkControl is a utility to control and monitor network interfaces, including wireless ones. It addresses a conspicuous lack in most distributions, which tend to be short on easy-to-use network utilities, even for something as trivial as a robust, informative way to log on and off a dialup connection. It also provides the connection IP, configuration, and statistics (gleaned from “ifconfig” and updated every second), and provides graphical signal levels for wireless interfaces, handy for evaluating a system of wireless devices.


NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.


newrpms scans a directory of packages and finds out which ones are newer than the installed versions. It’s especially useful if you’re tracking the unstable branch of a distribution.


‘nfswatch’ monitors the incoming network traffic on an NFS file server, divides it into several categories, and displays on the screen a continuously updated display of the number and percentage of packets received in each category. It can also monitors the NFS reply traffic from a server in order to measure the response time for each RPC.


‘nmaplr’ is an nmap log reporting tool which prints out a text format report of nmap logs in an XML format. It includes scan start, end, and duration times, the nmap command issued, verbose and debug levels used, scan type(s), listing of each IPs open ports and services, and, if specified, OS fingerprint details and matches. It can also send an demail given the specified ‘to’ and ‘from’ addresses, and the SMTP server to use.


Node runner
Node Runner contacts nodes in a specific order based on the description of the node. If a node does not respond, each dependency is systematically checked until the problem is isolated. Node Runner uses a shell script for its basic network polling, a PHP web interface for node information, reports, etc., and utilizes abstraction layers for database support.


NodeRed is an extensible network service container for Node.js. NodeRed provides plumbing such as a TCP/IP and WebSocket server, a protocol parser, a request dispatcher, inter-node communication via Redis’ PUBSUB features, and extensibility via JavaScript. NodeRed is written for Node.js. Moreover, extensions are simply Node.js modules. These extensions may add new request handlers to the NodeRed client-server protocol; may hook into NodeRed client-handling events (e.g. on client connection); and may emit their own events that yet other extensions may listen for and react to.


‘noflushd’ is a daemon that monitors disk activity, spins down disks whose idle time exceeds a certain timeout, and stops writes to them in order to keep them spun down as long as possible. It’s mainly used on laptops to save power, but can also be useful to desktop users with noisy hard disks. ‘noflushd’ requires the kernel thread ‘kupdate’ found in the Linux kernel v. 2.2.11 and later. For earlier kernels, bdflush version 1.6 provides equal functionality


‘nomarch’ extracts files from the old .arc archive format. It can also list and test such archives. It is primarily intended as a replacement for the non-free `arc’ program. It supports compression methods 5 and 6, and can read self-extracting archives.


NorthStar is a system to track IP (currently v4; v6 is in development) allocations and assign them to specific devices, owners, and locations. NorthStar can nest allocations as deep as you like and also has a user permissions system to control additions, modifications, and deletions of data.


nss-mdns is a plugin for the GNU Name Service Switch (NSS) functionality of the GNU C Library (glibc) which provides host name resolution via Multicast DNS (a.k.a. Zeroconf, a.k.a. Apple Rendezvous, a.k.a Apple Bonjour). This effectively allows name resolution by common Unix/Linux programs in the ad-hoc mDNS domain .local.


‘ntop’ is a network probe that shows network usage in a way similar to what top does for processes. In interactive mode, it displays the network status on the user’s terminal. In Web mode, it acts as a Web server, creating an HTML dump of the network status. It sports a NetFlow/sFlow emitter/collector, and an HTTP-based client interface for creating ntop-centric monitoring applications.


‘offmirror’ is a utility for mirroring a tree of files. Unlike other mirroring tools, it works offline and does not require a network or a direct connect between the source and the destination. ‘offmirror’ makes it possible to place all the data that is needed to synchronize a file tree onto a removable storage medium. Offmirror works with regular files, directories, symbolic links, and special files.


oyepa implements a “fake but working” tagging file system. Users can organize and retrieve documents based on the tags attached to them. No changes to the operating system or applications are ecessary.


Parted And Utilities bootDisk is a Linux utility bootdisk that is particularly useful for partition maintenance. It includes the following commands: busybox (with the full list of internal busybox commands), e2fsck, e2label, hdparm, mc, and parted.


PBButtons is a daemon to handle special hardware on the Apple iBook/PowerBook/TiBook. It controls the display brightness, the sound volume, mutes the sound, changes the trackpad mode, puts the machine to sleep, or ejects the CDROM on command. It also provides basic power management features. An included client gives the user visual feedback about all actions with nice little popup windows.


PCI Utilities
The PCI Utilities package contains various utilities dealing with the PCI bus. It includes `lspci’ for listing all PCI devices (very useful for debugging of both kernel and device drivers) and `setpci’ for manual configuration of PCI devices. The library (and therefore all the utilities) can access PCI registers either via the /proc/bus/pci interface present since Linux kernel 2.1.82 or via direct hardware access (for use with older kernels and for hardware diagnostics). It can also read and interpret register dumps printed by `lspci -x’.


PHP Backup Maker
PHP Backup maker is a small PHP script which reads a given source directory (with its subdirectories) and then creates a set of directories filled with the content of the source directory, arranged in groups to fit a given capacity. It can be used to create CD sets for backups. It also supports ISO image creation, direct CD burning via cdrecord, automatic file index creation, and more.


A PHP library/class to provide direct DNS query capability from PHP and an example client.


The Problem Informant/Killer Tool is a centrally managed multi-functional tool for monitoring systems, reporting and fixing problems, and managing system configurations. The program can also be used as a security management system. PIKT’s primary task is to warn of problems, but also to fix those problems when needed. It excels at handling a diverse collection of machines, saves time and eliminates repetition, and gives you a global view of your site. PIKT includes an embedded scripting language with unique, labor-saving features; a sophisticated script (and system config file) preprocessor, scheduler, and installer, and other useful tools.


‘PMReport’ is a PHP/MySQL report generator. It creates customizable reports and is simple to set up and use. You can select which database, table, and individual fields to use on your report, as well as the order in which the fields should appear on the report, the field you would like to group by, the field you would like to sort by, and whether or not you would like a total for each column. Once the report has been generated, you can highlight individual rows and export the results to CSV.


POPauthd is a Perl-based daemon that uses POP to authorize connecting hosts for SMTP relaying. It is particularly useful to authenticate roaming users with IP addresses that change often. The daemon runs in the background, watching the syslog for successful POP logins. When it sees one, it enters the IP in sendmail’s access database, giving the host authorization to relay through the server. The entries can be expired after a prescribed, configurable period of time with a companion script run via crontab. ‘POPauthd’ is designed to run on a FreeBSD server, but should work properly on any UNIX system. It will work with any POP3 daemon that’s capable of writing successful POP logins to a log file.


POPular is a suite of programs for setting up a large distributed mail cluster. Included are a POP3 server and proxy and several utility programs for delivering mail into mailboxes, listing the current connections, and configuring the servers. POPular supports virtual servers, scales to millions of mailboxes, is completely configurable at runtime and uses a flexible authentication mechanism through shared library modules.


POT (Persisted Object Tree) is a persistency layer that lets you persist almost any thinkable object tree. It logs all the changes made to objects in your tree while they are happening. It supports transactions so that in case of a crash the reloaded data will be in a sane state.


PVM (Parallel Virtual Machine) is a portable message-passing programming system designed to link separate host machines to form a ‘virtual machine’ which is a single, manageable computing resource. The virtual machine is composed of different types of hosts in physically remote locations. PVM applications are composed of any number of separate processes or components. PVM is portable to a wide variety of architectures, including workstations, multiprocessors, supercomputers and PCs.


Pac manager
PAC Manager is a secure connection manager with automatiions, which make it good GNU/Linux and free software replacement for SecureCRT and Putty. Some features include:

  • Simple GUI to manage/launch connections to remote machines.
  • Scripting possibilities, ‘ala’ SecureCRT
  • Configurable Pre
PacketFence is a network access control (NAC) system which provides an impressive list of supported features. Among them, there are: registration, detection of abnormal network activities, proactive vulnerability scans, DHCP fingerprinting, isolation of problematic devices, remediation through a captive portal, 802.1X and integration with wireless networks.


Paludis is a package management library that works with Gentoo style ebuilds, together with a simple console client. It is entirely independent of Portage.


Pancho lets network administrators change the configuration for a single node or group of nodes through SNMP and TFTP. It also provides archiving functionality by allowing you to copy the device configurations to a remote server through a scheduled cron or at job.


Pantheios is a C/C++ logging API library. It offers an optimal combination of complete type-safety, very high efficiency, genericity, and extensibility. It is simple to use and extend, highly portable (platform and compiler independent), and it upholds the C tradition of only paying for what you use. Pantheios supports logging of message statements of arbitrary complexity, consisting of heterogenous types. Pantheios supports filtering of log messages based on severity level.


Parallel Heckert gnu.small.png
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job is can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.For each line of input, GNU Parallel will execute command with the line as arguments. If no command is given, the line of input is executed. Several lines will be run in parallel. GNU Parallel can often be used as a substitute for xargs or catPipe.pngbash.The GNU Parallel distribution also includes an ‘sql’ script which aims to give a simple, unified interface for accessing databases through all the different databases’ command line clients, and a ‘niceload’ script to slow down or suspend a program if system activity is above a given threshold.


Parchive is a tool to apply the data-recovery capability concepts of RAID-like systems to the posting and recovery of multi-part archives on Usenet.


Parted Heckert gnu.small.png
GNU Parted is a program that allows you to create, destroy, resize, move, and copy hard disk partitions. This is useful for creating space for new operating systems, reorganizing disk usage, and copying data to new hard disks. The program currently supports ext2, ext3, and FAT (FAT16 and FAT32) filesystems and Linux swap devices, and MS-DOS disk labels.


Paxutils Heckert gnu.small.png
The `paxutils’ packages is an attempt to merge `cpio’ with `tar’ and add support for the related ‘pax’ commmand and format required by POSIX. It isn’t production quality yet: only test versions are available. The current stable versions of ‘cpio’ and ‘tar’ are separately maintained, but the goal is to integrate them into ‘paxutils.’


Pcapy is a Python extension module that interfaces with the libpcap packet capture library. Pcapy enables python scripts to capture packets on the network. Pcapy is highly effective when used in conjunction with a packet-handling package such as Impacket, which is a collection of Python classes for constructing and dissecting network packets.


‘pcopy’ is intended to be used when doing large disk (partition) to disk (partition) copying where dd is just too slow (and error prone). It also displays a progress counter while doing the copying


This program will read the current directory or the directories listed on the command line and display the contents showing the “files” first then the “directories”. This program can be used instead of “ls”


Package Database View outputs an HTML view of a RPM or dpkg database. Its modular design allows easy addition of others package management database and export format (as xml). it does not require special privileges to access to the output (but access can be restricted by using chmod/chown or .htaccess. It does not require any large libraries, a Web serv, or an X server. The output is generated by a cronjob, so access to the output is as fast as your computer is able to read or serve text files.


‘pdumpfs’ is a simple daily backup system similar to Plan9′s dumpfs which preserves every daily snapshot. You can get past snapshots at any time by retrieving a certain day’s file.


Peep aims to represent network information in real-time (and therefore eliminate searching through large logs of information to find problems) by using sound to represent the vast amount of available information about network status and to help identify network problems and irregularities. Diagnostics are made not only based on single network events but whether the network sounds ‘normal.’ Peep’s primary focus is network monitoring, but its monitoring mechanism is general enough that a Peep system can be adapted to monitor just about anything. Peep includes server software, various client utilities, and a client library which can also be used to create new clients. The latest development release (0.5.0rc1) features a complete rewrite of the Peep software, both server and clients, from the ground up.


Pexec Heckert gnu.small.png
The main purpose of the program pexec is to execute the given command or shell script (e.g. parsed by /bin/sh) in parallel on the local host or on remote hosts. This program is therefore capable to replace the classic shell loop iterators (e.g. for ~ in ~ done, in bash) by executing the body of the loop in parallel.


‘pfflowd’ converts OpenBSD PF status messages (sent via the pfsync interface) to Cisco NetFlowâ datagrams. These datagrams may be sent (via UDP) to a host of one’s choice. Utilising the OpenBSD stateful packet filter infrastructure means that flow tracking is very fast and accurate.x


Php syslog viewer
Good system administrators review the logs from each system they administer. As the number of systems gets bigger, this becomes a more complex and time consuming task. Eventually the system administrator would like a way to combine the log messages from all of the systems into one central location, but that is not enough. Without a good search facility, finding the information the system administrator needs is like finding a needle in a haystack. This is where php syslog viewer comes to the rescue. Using a few common free software tools (syslog-ng, stunnel, MySQL, apache, and php), php syslog viewer provides a total solution for centralized logging and log management. Client systems send their log files to a server which stores them in a database. php syslog viewer provides the system administrator with a view into that database.


‘php-syslog-ng’ is a front end that lets users view syslog-ng messages logged to MySQL in real-time. You can quickly and easily manage logs from many hosts. Its features include customized searches based on host, facility, priority, datetime and the content of the log messages. It also has a tail mode, also with customized filters, that lets you monitor your systems in near real-time.


phpMyBackupPro is a Web-based MySQL backup program. You can schedule backups (without cron jobs), and download, email, or upload backups with FTP. File directories can also be backed up. No compression, zip compression, or gzip compression of the backups is possible. HTTP or HTML authentication is possible. It has an easy user interface and is easy to install. Many languages and online help are available.


‘phpMyVisites’ is a Web traffic analyzer with very detailed reports and advanced graphics. It is not an Apache log analysis tool. ‘phpMyVisites’ creates its own logs and allows access to more complete statistics. It provides information about visitors, page views, visitor follow-ups, countries of origin, software configurations, referrers, and more. It also includes an administration and configuration tool.


‘PhpSiteStats’ is a web based management and monitoring software for webmasters who do not have access to server logs. It can be used on any server; it can be either database driven or logfile driven so it has no fixed requirements. It lets visitors see the site’s live status and lets the administrator perform monitoring tasks for the site. It features GD progress and percentage graphs and statistics for various types of data.


Pidgin (formerly GAIM) is a GTK based messenger. It is actively being developed and supports many common features of other clients, inlcuding many unique features.It also supports multiple protocols, including AIM (Oscar and TOC), Yahoo!, ICQ, MSN Messenger, Jabber (xmpp), Napster, Zephyr and IRC.


The Ping utility is essentially a system administrator’s tool that is used to see if a computer is operating and also to see if network connections are intact. Ping uses the Internet Control Message Protocol (ICMP) Echo function. A small packet is sent through the network to a particular IP address. This packet contains 64 bytes – 56 data bytes and 8 bytes of protocol reader information. The computer that sent the packet then waits (or ‘listens’) for a return packet. If the connections are good and the target computer is up, a good return packet will be received. PING can also tell the user the number of hops that lie between two computers and the amount of time it takes for a packet to make the complete trip. Additionaly, an administrator can use Ping to test out name resolution. If the packet bounces back when sent to the IP address but not when sent to the name, then the system is having a problem matching the name to the IP address.


‘pipemeter’ is a command line utility that displays the speed and, if possible, progress, of data moving from its input to its output. You can tune the block size and display intervals. The package also supports dd style block size specification.


‘pircstats’ is an IRC network statistics bot. It logs its statistics to a MySQL database, and it features a Web interface for these statistics. It also keeps administration to a minimum by automatically adding and purging statistics and users as necessary.


‘pkgutils’ (Package Management Utilities for Linux) is a set of utilities (pkgadd, pkgrm, pkginfo, and pkgmk), which are used for installing, removing, querying, and building software packages.


‘Placid’ is a Web-based frontend for Snort that uses MySQL. It supports searching, sorting, and graphing of events, and was designed for speed and to have little overhead.


plus4emu is a portable emulator of the Commodore Plus/4 computer, written in C++, and supporting Windows and POSIX platforms (32 bit Windows, 32 and 64 bit Linux, and MacOS X have been tested). It implements accurate, high quality hardware emulation, however, the system requirements are higher than that of most other emulators.


‘pmacct’ gathers IP traffic information (bytes counter and number of packets). Aggregation of statistics is done using simple primitives (MAC addresses, IP addresses, ports, and IP protocol) that can be used alone or combined together to form complex aggregation methods. Counters are either global or historical (aggregated and separated at fixed timeslots). Data is stored in an in-memory table or using an SQL database (MySQL or PostgreSQL); recovery actions are available to avoid data loss during DB failures. Gathering packets off the wire is done using the pcap library; promiscuous mode is only set during online operations.


‘poink’ is a TCP/IP-based ping implementation. It does not require special privileges and is designed for multiuser shell systems. It is meant to be a secure replacement for the standard IPv4 network monitoring tool.


Portmon is a daemon that is able to monitor network services and send notification in the event that a server goes down. Portmon was designed to be able to monitor a large number of servers/workstations and give very configurable notification in the event of a network failure.


Power Daemon
Power Daemon (powerd) is a daemon that can monitor a UPS and safely shut down the machine when the power is out. It can also notify other power daemons running on the network that the power is out, so they may also safely shutdown. It can automatically determine the UPS and cable configurations


ProSilla speeds up file transfers over ssh (scp-like) by opening multiple connections (just like typical download accelerators like prozilla). It also supports resuming interrupted proSilla and scp transfers.


‘Procman’ is a process viewer and system monitor for GNOME. Features include a tree view for process dependencies, icons for processes, the ability to hide processes that you don’t want to see, graphical time histories of CPU/memory/swap usage, the ability to kill/renice processes needing root access, as well as the standard features expected from a process viewer.


‘procps’ is a package of utilities which report on the state of the system, including the states of running processes, amount of memory available and currently-logged-in users. Programs included are ps, top, vmstat, sysctl, w, kill, skill, nice, snice, pgrep, free, tload, uptime, watch


Procwatch watches a /proc filesystem for new processes. When a process is created, procwatch reports the time, the username, the PID, and the binary that was run. Its output is suitable for logging to log files and is geared for system administrators who are testing a new but as yet untrusted UNIX system. Although it cannot detect, and is not proof against, hacked loadable kernel modules that have modified /proc, it is useful in watching for possible rogue binaries.


‘ps-watcher’ gets a list of process names via ps, and matches them to a list of Perl regular-expression patterns specified in a configuration file. For each match, a Perl expression specified for that pattern is evaluated. The evaluated expression can refer to variables which are set by ps and pertain to the matched process(es), including the amount memory consumed by the process, or the total elapsed time. If the Perl expression for a matched pattern evaluates true, then an action can be run such as killing the program, restarting it, or mailing an alert.


‘psmon’ is a script which runs as a stand-alone program or a fully functional background daemon, capable of logging to syslog with customizable email notification facilities. The user defines a set of rules in a configuration file. These rules describe what processes should always be running on the system, and any limitations on concurrent instances, TTL, and maximum CPU/memory usage of processes. ‘psmon’ scans the UNIX process table and, using rules defined in the config file, respawns any dead processes, and slays or “deals with” any aggressive or illegal processes.


‘pwdutils’ is a collection of utilities to manage the passwd and shadow user information. The difference from the shadow suite is that the pwdutils programs can also modify the information stored in NIS, NIS+, or LDAP. PAM is used for user authentication and changing the password. The package contains passwd, chage, chfn, chsh, and a daemon for changing the password on a remote machine over a secure SSL connection. The daemon also uses PAM so that it can change passwords independent of where they are stored.


PyEximon is a GNOME monitor/manager for the popular unix Mail Transfer Agent, Exim.


QDU is a Graphical Disk Usage. Its histogram display lets you know very easily which directories and files are using up the disk space. Features include tha ability to delete, rename and move files; unlimited undo and redo; file filters, sorting by name or size; and a context menu (right mouse button). This package was formerly known as ‘xdu.’


Quagga is an implementation of major routing protocols for IPv4 and IPv6, including RIP, OSPF, BGP, RIPng, and OSPFv3. It is a fork of the GNU Zebra project.(Note that this is distinct from the defunct gnulist project, that is sometimes referred to by the same name.


Queue Heckert gnu.small.png
This project has been decomissioned. See Parallel, its replacement.Queue is a load balancing system that lets users control their remote jobs. It does this with local shell job control and signaling and can be used as a local replacement for rsh to hosts within a homogeneous cluster under single administrative control. Queue also supports more traditional email based load-balancing and distributed batch-processing facilities using a number of criteria to decide where to send jobs. No special privileges are required for installation.


Quick and Dirty Sync
Quick and Dirty Sync tries to make two directories the same by comparing files sizes and copying new or changed files across in both directions, meaning you don’t need to supply a “from” and “to” directory. It works for local and (some) FTP directories.


‘Quilt’ is a shell script for managing patches to software.


RFC (Remote Filesystem Checker) is a set of scripts that aims to help system administrators run a filesystem checker (like tripwire, aide, etc.) from a “master-node” to several “slave-nodes” using ssh, scp, sudo, and few other common shell commands.


The ROHC library implements the RObust Header Compression (ROHC) protocol as defined by the IETF. The ROHC protocol define a standardized method for compressing IPv4, IPv6, UDP, UDP-Lite and RTP network packet headers. It performs well over links where the packet loss rate is high, such as wireless links.


RRD Tool
RRD is an acronym for Round Robin Database. RRD is a system to store and display time-series data (i.e. network bandwidth, machine-room temperature, server load average). It stores the data in a very compact way that will not expand over time. It does this by processing the data to enforce a certain data density, and can create graphs based on the stored data. It can be used either via simple wrapper scripts (from a shell or Perl) or via frontends that poll network devices and put a friendly user interface on it.


‘RRDPoller’ lets users poll RRD files and get the current value of a given data source. It also implements advanced checks which use past values to decide if the current one is out of threshold or not. ‘RRDPoller’ is meant to form the interface between an existing monitoring system like and a set of RRD graphs generated by specialized data collectors such. Thus, you can build a very modular monitoring/trend architecture without needing double polling.


Radius Heckert gnu.small.png
Radius is a server for remote user authentication and accounting. Its primary use is for Internet Service Providers, though it may as well be used on any network that needs a centralized authentication and/or accounting service for its workstations. The package includes an authentication and accounting server and administrator tools.


‘radmind’ is a suite of tools and a server for remotely administering file systems of multiple Unix machines. At its core, radmind operates as a tripwire. It detects changes to any managed filesystem object (e.g. files, directories, links); once a change is detected, radmind can optionally reverse it. Each managed machine can have its own loadset composed of multiple, layered overloads. This lets (for example) the operating system be described separately from applications. Loadsets are stored on a remote server. By updating a loadset on the server, changes can be pushed to managed machines.


Rally is a fast GuiLoader-based front end for RPM. It provides RPM package management functionality via an intuitive tree-less graphical interface. Users are able to browse available repositories, search for packages, and perform updates, installations, and removals. Rally employs Parallel Installer, which downloads and updates packages simultaneously, potentially reaching a vast performance boost. Rally is a part of the Crow Designer project, and was started as a sample GuiLoader-based application.


Rate is a traffic analysis tool, designed to help a network administrator to see what is happening at a router at the moment. Rate uses statistical and stream-oriented methods, and will never produce an output stream at a speed beyond human perception. The output is less accurate, however. Rate features four different operating modes, designed to perform the following tasks: estimating overall traffic rates, determining nodes generating the highest traffic, determining connections and flows generating the highest traffic and extracting strings from packets.


‘rdate’ retrieves the date and time from another machine on your network, using the RFC 868 protocol. If you run rdate as root, it will set your machine’s local time to the time of the machine that you queried.


‘rdiff-backup’ combines the features of a mirror and an incremental backup by backing up one directory to another. The target directory ends up a copy of the source directory, but extra reverse diffs are stored in a special directory so you can recover files lost some time ago. ‘rdiff-backup’ operates in a space- and bandwidth- efficient manner over a pipe (like rsync): you can use rdiff-backup and ssh to securely back up to a remote location, and only the differences get transmitted. It also handles symlinks, device files, permissions, ownership, etc., so it can be used on the entire file system.


Recovery Is Possible
Recovery Is Possible (RIP) is a floppy boot/rescue/backup system. It supports many filesystem types (reiserfs, ext2/3, XFS, JFS, UFS, MS DOS, umsdos, and vfat) and contains utilities for system recovery. It might also be possible to install and boot it from a LS-120 floppy drive.


‘reflect’ is a symlink-style package management tool similar to depot, stow, graft, epkg, etc. However, reflect has far fewer prerequisites; it requires only bash and coreutils. Configuration is per-package, and multiple target directories are permitted.


Relax and Recover
Relax and Recover (abbreviated rear) is a highly modular disaster recovery framework for GNU/Linux based systems, but can be easily extended to other Unix-like systems. The disaster recovery information (and maybe the backups) can be stored via the network, or locally on hard disks or USB devices, DVD/CD-R, tape, etc. The result is also a bootable image that is capable of booting via PXE, DVD/CD, and tape (OBDR).


‘remerge’ is a browser-based, multi-distro package management frontend. It provides a simple graphical frontend for Gentoo’s Portage package management system and Ximian/Novell’s Red Carpet package management system. Since it has red Carpet support, ‘remerge’ to be used on many RPM-based Linux distributions, including Fedora Core 2, SuSE 9.1, and Mandrake 9.2.


‘Remosync’ is a network-aware directory synchronization tool. It synchronizes two directory structures either on the same machine or across a network. In network mode, it runs as a client/server application and does not need any external programs. It is configurable from either the commandline or a configuration file and runs either from scripts or a cronjob.


Remote GUD
Remote GUD mode for Emacs is an Emacs Lisp rsh-gud.el that lets you debug a program running on a remote host, with sources on the local host. It works via rsh.


Remote Update
remote_update.pl is a script that uses Expect, PERL, and SSH to perform automated remote administration on a large number of hosts. The script is given a set of passwords, a list of remote hosts, a collection of files to copy over, and a set of scripts to run on the remote hosts. The only thing required to be running on the remote machines is SSH. It tries to copy all of the needed files and scripts to the remote machine via SCP as a non-root user, SSH in as the non-root user, su to root on the remote machine if applicable, and then execute the scripts you provided. This process is cycled for every host given. su’ing to root can be turned off, and also the tasks can be parallelized in multiple processes.


Remstats is a suite of programs which allows you to gather data from servers and routers, store and maintain the data for long periods of time, produce graphs and Web-pages tying them together, and monitor the data for anomalous behavior and issue alerts. It’s based upon RRDtool.


The file renaming utilities (renameutils for short) are a set of programs designed to make renaming of multiple files faster and less cumbersome. It currently consists of two programs: “qmv” and “imv”. qmv allows files to be renamed by editing their names in any text editor. Since the files are listed after each other, this allows common changes to be made more quickly. imv (“interactive mv”) is trivial but useful when you are too lazy to type (or even complete) the name of the file to rename. It allows the filename to be edited in the terminal using the GNU readline library. This is also useful when renaming files in Midnight Commander, where the whole filename has to be entered again.


Reportdhcp.pl is a CGI script written in perl. It displays statistics and lease entries for ISC DHCPD by parsing the dhcpd.conf and dhcpd.leases files. reportdhcp.pl version 2 supports version 3.0p1 and above of the ISC DHCP distribution.


Reverse Shell
Reverse Shell is used along a tunnel created with a Secure/Remote shell program. After a tunnel is created, commands and/or interactive shells can be launched back from the tunnel destination machine to the tunnel originating machine with the tunnel creator’s credentials.


‘ RFind’ indexes the filenames of a given directory, and lets you quickly search this index with regular expressions. Search-on-typing with more than 500,000 indexed filenames is easily possible. This tool attempts to be very configurable so that it can be useful to everyone. It features hierarchically presented search results, search-on-typing, and the ability to define rules to execute on mouse click.


‘rfs’ creates and updates a local spare system disk. The main goal is to “quickly” recover a working system after a crash, “quickly” meaning the time it takes to reboot the machine. rfs stands for “replication of filesystems”. Like rsyncbackup, rfs is built on top of rsync.


‘rh-errata’ is a tool for maintaining the integrity of a Red Hat GNU/Linux system. It builds a respository of RPM files from a designated mirror of the Red Hat updates site. It only downloads RPM files that have not already been downloaded. Optionally, it can produce a report that shows which RPM files in your respository need to be updated and which ones have already been installed.


‘rhup’ checks your Red Hat system configuration against an update mirror, downloads newer packages, and optionally installs them. It is useful for version-checking installed RPMs.


‘rICMP’ is a Linux kernel patch that lets you reboot your machine using a simple ICMP ping. It includes password authentication and an ACL to manage hosts authorized to perform reboot. It allows you to reboot hung machines if the kernel and network are still alive.


‘rlpr’ package makes it possible (or at the very least, easier) to print files on remote sites to your local printer. It includes BSD-compatible replacements for `lpr’, `lpq’, and `lprm’, whose functionality is a superset of their BSD counterparts. The programs are all smaller, cleaner, and more portable than their BSD equivalents, and supported on just about any POSIX.1 system.


Rootkit Hunter scans files and systems for known and unknown rootkits, backdoors, and sniffers. The package contains one shell script, a few text-based databases, and optional Perl modules. It should run on almost every *nix clone.


‘Rootsh’ is a shell wrapper that logs all echoed keystrokes and terminal output to a file and/or to syslog. Its main purpose is to audit users who need a shell with root privileges. These users start rootsh through the sudo mechanism.


Rottlog Heckert gnu.small.png
GNU rottlog is the log management program that rotates, compresses, archives, modifies, and emails system and program logs. It was originally authored in 2000 by Stefano Falsetto and was later added in 2002 to become a GNU Project.


rpm-get is a simple clone of apt-get for RPM. This little application will let you download, install, upgrade, or remove RPM packages/sources as well as upgrade the entire distribution with ease.


‘rpmrebuild’ is a tool to build an RPM file from a package that has already been installed. It can be used to easily build modified packages, and works on any GNU/Linux distribution that uses RPM.


rpmstatus is a Perl script that generates a web-page which shows which RPM packages are installed on client machines. It uses inetd and rpm (Red Hat Package Manager) to generate the list. rpmstatus is also able to report store (NTNU) packages when configured to do so.


‘rrdUtils’ is a set of tools intended to help creation and graphing of RRD files. It is based on plain text configuration files where the RRD files are described (datasources, intervals, etc.) along with the nodes which the RRD applies to. It includes a command to create a set of similar RRDs, and another to graph them in some medium-weight elaborate ways.


‘rrs’ is a reverse (connecting) remote shell. Instead of listening, it connects out to rrs in listen mode. The listener accepts the connection and receives a shell from the remote host. rrs features full pseudo-TTY support, full OpenSSL support, Twofish encryption, a simple XOR cipher, plain-text sessions, peer-side session snooping, a daemon option, and reconnection features.


‘rsnapshot’ is a filesystem snapshot utility based on rsync. It makes it easy to make periodic snapshots of local machines, and remote machines over ssh. It uses hard links whenever possible, to greatly reduce the disk space required.


rsync is a replacement for rcp that has many more features. rsync uses the “rsync algorithm” which provides a very fast method for bringing remote files into sync by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files. A technical report describing the rsync algorithm is included with this package. Features include:

  • Ability to whole directory trees and filesystems
  • Optionally preserves symbolic links, hard links, file ownership,
  • permissions, devices and times
  • Requires no special privilages to install
  • Internal pipelining reduces latency for multiple files
  • Can use rsh, ssh or direct sockets as the transport
  • Supports anonymous rsync which is ideal for mirroring
Rsync Vault Manager
RVM is an archive manager that uses rsync to manage backups of multiple clients across multiple logical partitions (vaults). It has some features that some other rsync-based backup schemes lack, such as being written in C++, needing no scripts or programs other than rsync and any binaries on which rsync depends (such as SSH), the ability to manage multiple instances of rsync connections to separate clients in parallel, the ability to use multiple logical partitions (vaults) in a configurable fashion for purposes of redundancy and added reliability, and the use of hard links for files that have not changed from one archive to the next.


‘rsync-incr’ is a bash shell script around ‘rsync’ that performs automated, unattended, incremental, disk to disk backups and automatically removes old backups to make room for new ones. It produces standard mirror copies that are browsable and restorable without specific tools.


‘rsyncbackup’ is a tool for scheduling backups using rsync. It lets you set up multiple source folders and destinations either locally or at a remote destination using ssh. It has no GUI, but is based on editing configuration files. The script is meant to be run in a crontab, so user interaction is not neccessary. Users must have basic terminal skills to use the program.


Ruby update
‘ruby update’ is a ruby script which helps people who install their packages from source keep their packages up to date. It does not attempt to install anything on its own, but simply scans your file system and lets you know if there is an updated version of a particular program. rupdate can only check the status of those programs for which it has been hard-coded to check.


‘rubyzip’ is a Ruby module for reading and writing zip files.


‘Run’ provides a command line tool (run) and library service (mpadvise) for controlling CPU biasing of processes along with other per-process scheduler environment parameters (policy, priority, time quantum, etc).


‘RunQ’ is a performance data gathering system and analysis tool. It has a collector that collects raw performance data, and an analyzer to analyze the collected data. Currently, it is a very simple text-based interface. It has CSV output, so that users can manipulate the analysis data in spreadsheets.


‘runit’ is a daemontools alike replacement for SysV-init and other init schemes. It currently runs on GNU/Linux, OpenBSD, FreeBSD, and can easily be adapted to other *nix operating systems. ‘runit’ implements a simple three-stage concept. Stage 1 performs the system’s one-time initialization tasks. Stage 2 starts the system’s uptime services (via the runsvdir program). Stage 3 handles the tasks necessary to shutdown and halt or reboot.


‘runmaint’ is a shell script for invoking regular jobs. It delivers the output (if any) via mail with a meaningful subject line, greatly simplifies the crontab entry, and ensures the job runs with a fuller environment than is usual in batch mode. Regular jobs each have their own shell script, readily edited and meaningfully named. It allows for relatively flexible scheduling and cascading of dependent jobs, and lets you amend, add and delete jobs from any machine which can see the maintenance directory instead of having to be on the target machine manually editing the crontab. Runmaint expects to be run out of cron.


S tar
Star is a very fast, POSIX-compliant tar archiver. It saves many files together into a single tape or disk archive, and can restore individual files from the archive. It includes command line interfaces for “tar”, “Sun-Tar”, “cpio”, “pax”, and “gnutar”. It includes a FIFO for speed, a pattern matcher, multi-volume support, the ability to archive sparse files and ACLs, the ability to archive extended file flags, automatic archive format detection, automatic byte order recognition, automatic archive compression/decompression, remote archives, and special features that let it be used for full and incremental backups. It includes the only known platform independent “rmt” server program.


Samba provides a complete replacement for Windows NT, Warp, NFS, or netware servers. Most common uses include:

  • SMB server, to provide Windows NT and LAN Manager-style file and print services to SMB clients such as Windows 95, Warp Server, smbfs and others.
  • NetBIOS (rfc1001/1002) nameserver, which amongst other things gives browsing support. Samba can be the master browser on your LAN if you wish.
  • ftp-like SMB client so you can access PC resources (disks and printers) from unix, Netware and other operating systems
  • tar extension to the client for backing up PCs
  • limited command-line tool that supports some of the NT administrative functionality, which can be used on Samba, NT workstation and NT server.
‘SCPM’ is a tool to manage different configuration profiles on a GNU/Linux system. It supports switching profiles at runtime as well as booting into a profile.


SNMP::Info gives an object oriented interface to information obtained through SNMP. This module is geared towards network devices. Speciality sub-classes exist for a number of network devices and common MIBs such as SNMP::Info::Layer2::Catalyst and SNMP::Info::CDP.


SNMPTT is an SNMP trap handler for use with the NET-SNMP/UCD-SNMP snmptrapd program. It translates received traps into friendly messages using variable substitution. Output is to STDOUT, text log file, syslog, NT Event Log, MySQL, PostgreSQL, or an ODBC database. The software can also execute user defined programs.


SPA (Simple Page Archive) is a mirror and archiving tool to copy Web pages you are interested in. The CGI script downloads all images and CSS files to preserve the mirrored Web page.


Safe-rm prevents the accidental deletion of important files by replacing rm with a wrapper which checks the given arguments against a configurable blacklist of files and directories which should never be removed. Users who attempt to delete one of these protected files or directories will not be able to do so and will be shown a warning message instead. Safe-rm is meant to replace the rm command so you can achieve this by putting a symbolic link with the name “rm” in a directory which sits at the front of your path.


SafetyNet is a small script that makes sure critical processes are continuously running. It can be installed and configured in under five minutes, and puts virtually no load on a system while running transparently in the background. When it finds a problem, it automatically restarts the process and verifies that it is running again. If the process does not start again, the program notifies the sysadmin by email.


samhain is a file system integrity checker that can be used for both single hosts and networks. You can trace what changes have occurred in your system, when they occurred, and who was logged in at the time. The program uses cryptographic checksums to monitor file integrity and detect unauthorized modifications of a file system. It’s designed for tamper resistance, even if an intruder has obtained root privileges. In addition to forwarding reports to the log server via authenticated TCP/IP connections, several other logging facilities (e-mail, console, tamper-resistant log file, and syslog) are available.


Sample load
‘sample_load’ is an extremely flexible load logger. It sets when and how samples of the load are logged as well as the output format. It can also log the memory-in-use (physical/swap). It uses a buffer (of configurable size) to temporarily store samples, which minimizes the overhead of writing to a file. It can also log the process (PID, cmdline, CPU usage percentage) which has used the most CPU time in the last interval.


‘scanlogd’ is a TCP port scan detection tool which attempts to log all portscans of a host to the syslog, in a secure fashion. It was designed to illustrate various attacks an IDS developer has to deal with; thus, unlike some other port scan detection tools, ‘scanlogd’ is designed to be totally safe to use. The current released can be built with support for one of several packet capture interfaces. In addition to the raw socket interface on Gnu/Linux, scanlogd is now aware of libnids and libpcap. The author discourages the use of libpcap. If you’re on a system other than GNU/Linux and/or want to monitor the traffic of an entire network at once, he suggests using libnids in order to handle fragmented IP packets.


‘scdbackup’ is a simplified CD/DVD backup program for GNU/Linux. It backs up large amounts of data with no special tools needed for reading the backup. It supports ISO9660 filesystems and afio archives. Its special features are automatic division of data into multiple volumes, verification of write success, and incremental backups. An information script on each volume tells where a certain file may be found. CDs get written via cdrecord; DVDs get written via growisofs.


‘schedtool’ can be used to alter or query a process’ scheduling policy under the Linux kernel. The O(1)-sched-patch is required to take full advantage of it. All scheduling modes are supported.


‘scponly’ is an alternative “shell” of sorts for system administrators who would like to provide access to remote users to both read and write local files without providing any remote execution priviledges. Functionally, it is a wrapper around the ssh suite of applications. It is typically used by creating a user whose shell is set to scponly. This user cannot login interactively or execute commands remotely, but he can use scp to download and upload files to the computer, governed by the usual Unix file permissions.


‘scsiadd’ lets you insert or remove SCSI devices from the Linux SCSI subsytem on the fly. This is especially useful for external devices like scanners or tapes, which can be powered on after system boot. Devices can be added or removed at any time.


‘Scsiaddgui’ provides a graphical user interface for the Scsiadd utility, which lets you add or remove SCSI devices without rebooting.


The ‘sctplib’ library is a fairly complete prototype implementation of the Stream Control Transmission Protocol (SCTP), a message-oriented transport protocol that supports multi-homing and multiple message streams multiplexed within an SCTP connection. The API of the library was modeled after section 10 of RFC 2960; most parameters and functions should be self-explanatory to the user familiar with this document. The library also provides various helper functions for managing timers and UDP communication.


‘sdd’ is a replacement for a program called ‘dd’. sdd is much faster than dd in cases where input block size (ibs) is not equal to the output block size (obs). Statistics are more easily understoon than those from ‘dd’. Timing available, -time option will print transfer speed Timing & Statistics available at any time with SIGQUIT (^\) Can seek on input and output Fast null input Fast null output. Support for the RMT (Remote Tape Server) protocol makes remote I/O fast and easy.


segatex is a tool to configure SELinux policy with the help of a GUI. At the push of buttons, it can generate a .te file in the /root/segatex directory. You can then edit your .te file, make a module, and install. You can make any module name and also edit present modules. You can install, update, and remove modules. Also, you can semanage list and semanage login, fcontext, and port. You can download SELinux related RPMs, including xguest and sepostgresql.


Sencap is a simple ENCAP software manager. Encapping is a method of installing software from source tarballs into private trees (bin, lib, man, share) and symlinking them to the system tree (e.g. /usr/local). Uninstallation of encapped software is quick, reliable and easy. Encapping is best used to augment the default package manager, not to replace it.


‘Serel’ adds synchronisation and integrity-checking to the operating system “service startup” phase, allowing a computer’s services to start in parallel. Without parallelism, “service startup” is typically the most time-consuming part of the boot process. Serel’s visualisation features let you see inside the boot process. When a computer boots with serel, it generates a log file that includes the services that started, how long each one ran, and how they depend on one another at boot-time. “The software includes dependency information for a wide range of common services.


Serveez Heckert gnu.small.png
Serveez is a server framework. It provides routines and help for implementing IP based servers (currently TCP, UDP and ICMP). It is also possible to use named pipes for all connection oriented protocols. The application demonstrates various aspects of advanced network programming in a portable manner. You can use it for implementing your own servers or for understanding how certain network services and operations work. The package includes a number of servers that work already: a HTTP server, an IRC server, a Gnutella spider and some others. One of the highlights is that you can run all protocols on the same port. The application itself is single threaded but it uses helper processes for concurrent name resolution and ident lookups.


Shared Memory Manager Heckert gnu.small.png
SHMM (for shared memory manager) is a software which permit to control, analyze, modify all shared memory in use on your system. It comes to complete ipcs and ipcrm commands which give you a list of all ipc in use on your system and give you the possibility to destroy them.


Sharutils Heckert gnu.small.png
Sharutils consists of two shell archiving utilities: “shar” and “unshar.” “shar” makes shell archives out of many files and preps them for transmission by email. A shell archive is a collection of files that can be unpacked by /bin/sh. Among other things, the program can compress files, uuencode binary files, split long files and construct multi-part mailings, ensure correct unsharing order, and provide simplistic checksums. “unshar” scans mail archives, looks for the start of shell archives, and automatically strips off headers and other introductory text. The bodies of the messages are then unpacked by a copy of the shell; the program may also process files containing linked shell archives.


The shell utility programs are:

  • basename- removes the path prefix from a given pathname
  • chroot- changes the root directory
  • date- prints the system date and time
  • dirname- removes the last level or filename from a pathname
  • echo- prints a line of text
  • env- displays/modifies the environment
  • expr- evaluates expressions
  • factor- prints prime factor
  • false- returns an unsuccessful exit status
  • groups- prints the groups the user belongs to
  • hostname- prints or sets the machine name
  • id- print real/effective/ uid/gid
  • logname- prints current login name
  • nice- modifies scheduling priority
  • nohup- lets a command keep running after logging out
  • pathchk- checks file name portability
  • pinky- lightweight ‘finger’ program; prints user information
  • printenv- prints environment variables
  • printf- formats and prints data
  • pwd- prints the working (current) directory
  • seq- prints numeric sequences
  • sleep- suspends execution for a specified time
  • stty- prints/changes terminal settings
  • su- lets you adopt the ID of another user or superuser
  • tee- sends output to multiple files
  • test- evaluates an expression
  • true- returns a successful exit status
  • tty- prints terminal name
  • uname- prints system information
  • uptime- tells how long the system has been running
  • users- prints current user names
  • who- prints a list of all users currently logged in
  • whoami- prints effective user ID
  • yes- prints a string indefinitely

This program has been folded into ‘coreutils.’ Please see that entry (http://www.gnu.org/software/coreutils/) for the latest information on this software. This project was a GNU package. It has since been decommissioned and is no longer developed.


Shiela is an access control and logging facility CVS. It hooks into CVS’s processing through the $CVSROOT/CVSROOT/xxxinfo callbacks and provides access control on a path and branch basis to particular repository users and user groups. Also, repository operations are monitored, accumulated, and logged. Logging messages can be configured individually on a module path and branch basis; messages can be saved to files and/or delivered by email.


‘shoutstats’ is a fast, free Shoutcast server statistic analysis program. It produces instant and dynamic usage reports in HTML format, for viewing in a standard browser.


Shuriken is an XML-based tool for system administrators to set up spans of time when the system should be up. Using the RTC daily alarm (requires BIOS, hardware, Linux kernel support), the system will automatically power-on (if it is off) for these intervals. Automatic power-off is supported, but this feature is not recommended if users intend to log in to the system and not have it shut down on them.


‘sign’ is a file signing and signature verification utility. It implements gzip-style command line syntax and OpenSSH-style key-based authentication. It is small, fast, and is meant to facilitate the use of authenticated file hashing for online distributed material. ‘sign’ creates a digital signature of file’s content and appends it to the file. ‘unsign’ verifies and strips the signature.


‘simplebackup’ is a cross-platform backup program that builds simple backups of directories and files. It reads a configuration file, then it builds a compressed file for each backup directories or file, and places the compressed files into another location. This location could be (for example) a network mapped drive in windows, a nfs mounted drive in unix, another hard disk, a ftp server or a tape device (*nix only). This duplicates your information, doing the so called “backup”.


“slapt-get” is an APT like system for Slackware package management. It lets you search slackware mirrors and third party sources for packages, compare them with installed packages, install new packages, or upgrade all installed packages. Great for scripting as well.


Samba Commander is a text mode SMB network commander. With SMBC, you can browse the local network or you can use the search function to find files. You can also download/upload files and directories or create them both locally and remotely. SMBC has a resume function and supports UTF-8 characters.


‘snapshot’ is a set scripts for creating, accessing, and managing a repository of directory snapshots. Multiple snapshots of a directory exist in a repository representing the state of that directory at different times. A repository can be local or remote; remote servers are accessed using SSH.


Snoopy Logger
Snoopy provides a sysadmin with a log of commands executed. Snoopy is completely transparent to the user and applications. It is linked into programs to provide a wrapper around calls to execve(). Logging is done via syslogd and written to authpriv, allowing secure offsite logging of activity.


snort-rep is a Snort reporting tool that can produce text or HTML output from a syslog file. The reports contain a portscan summary, and alert summaries by ID, remote host and ID, and local host and ID, local port and ID. It is designed to be used for daily e-mail reports to the system administrators. All reports contain priority information (if used with Snort 1.8+), and the HTML output contains direct links to the IDS descriptions of whitehats.com.


Snortalog summarizes Snort logs, making it easy to view any network attacks detected by Snort. It can generate charts in HTML and text output. It works with all versions of Snort and all preprocessors (spp_stream4, spp_portscan, spp_decoder, etc.), and can analyze logs in three formats: syslog, fast, and full snort alerts. It can also specify the number of occurences to view, and can resolve IP addresses and domains.


‘Snowlog’ is a Web server access log browser and analyzer that lets you browse through requests in real time. It does not generate static reports. You can apply filters that accept regular expressions. The regular expression library ‘pcre’ provides Perl style regular expressions throughout the program; filtering, matching referer and browser strings are all done via pcre.


‘Socketpipe’ directly connects the input/output of a remote process with local programs over a TCP/IP socket. Although the initial communication setup is performed through client-server intermediaries such as SSH or RSH, the communication channel that socketpipe establishes is a direct socket connection between the local and the remote processes, similar to a local pipe. The use of socketpipe removes the inefficiency of multiple data copies and context switches through RSH/SSH, and can in many cases offer dramatic throughput improvements.


‘socklog’ works with ‘runit’ to create a small and secure replacement for syslogd. It supports system logging through Unix domain sockets (/dev/log) and UDP sockets ( with the help of runit’s runsvdir, runsv, and svlogd. ‘socklog’ provides a different network logging concept, and also does log event notification. It also has built in log file rotation based on file size, so you do not need cron jobs to rotate the logs.


‘softflowd’ is a software flow-based network monitor. It tracks network traffic flows and report aggregate statistics as well as (optionally) export Cisco Netflow compatible datagrams. It can listen on a promiscuous network interface or read store pcap capture files, and includes a sophisticated control interface. It is designed for minimal CPU load on busy networks.


Sourceinstaller Heckert gnu.small.png
‘GNU Source Installer’ offers a graphical interface to source package configuration, installation, tracking and removal. It also performs installed packages consistency checks and uninstallation crosschecks considering simple file dependancy between packages. It is intended for users, not developers: it has nothing to do with package creation. The user installs new source packages by browsing the web, downloading a source package (in .tar.gz or other formats), and then feeding it to the source installer.


Spinner keeps telnet and ssh links from dropping due to inactivity. Many firewalls and some ISPs drop connections when they are perceived as idle. Spinner acts as a keep-alive by constantly sending a tiny amount of data over the link, preserving the connection. It displays a little “spinning” ASCII character in the top left corner of your terminal. It can also be activated with the -n switch so that, instead of displaying a spinner, it simply sends out a periodic null character to the terminal. It supports any terminal capable of handling VT100-style escape codes. It also has a mode called “Ghost in the Machine” mode, which you can use to write the spinner character to ANY tty, not just your own.


‘SplitVT’ takes any VT100 terminal window and splits it vertically into two shell windows. It lets you watch two terminal sessions at once, which is useful when you want more screen real-estate without messing with windows.


‘squidrunner’ gets the latest Squid source and patches, builds and installs the source based on user inputs, generates a configuration, and starts Squid running. It automatically updates new patches, tunes Squid configuration, and system parameters and reports on Squid information. It can support beginners through to enterprise level customers.


Squirrel is a system that gathers files and saves them in a version management system.


Sredird is a serial port redirector that is compliant with the RFC 2217 “Telnet Com Port Control Option” protocol, which lets you share a serial port through the network.


srm (secure rm) is a command-line compatible rm(1) which destroys file contents before unlinking. The goal is to provide drop in security for users who wish to prevent command line recovery of deleted information, even if the machine is compromised.


Sshpass is a tool for non-interactivly performing password authentication with SSH’s so called interactive keyboard password authentication. Most users should use SSH’s more secure public key authentication instead.


SSYNC is a minimalistic filesystem synchronization utility. Its primary goals are reliability, correctness, and speed in syncing extremely large filesystems over fast, local network connections. SSYNC does not implement encryption, compression, differencing algorithms, or remote synchronization over a pipe such as rsh / ssh since those features are already well covered by other utilities such as rsync. It works well on large filesystems and can handle filesystem objects with unusual and non-ASCII characters in their names while correctly preserving all symbolic and hard links and all mode bits. It can be run at increased or decreased niceness and can provide several levels of logging output. Several options allow complete control of synchronization behaviors such as selectively disabling updating of data, ownership, and modes, as well as updating only newer objects or just performing ‘test runs’.


Display all information about a file that the stat() call provides and all information a filesystem that statfs() provides


StatsDawg is a suite that has been designed to be easily usable as well as configurable. It monitors various aspects of a GNU/Linux system such as CPU usage, load average, memory usage, etc. using RRDTool and PHP.


stftp is a “simple” terminal FTP client, using ncurses. It aims to be more user friendly than other interactive terminal clients by presenting a fullscreen representation of the remote directory.


Stitch is a utility for making backups from many computers to a large storage array. It requires SSH and rsync be installed on the clients and does both full and incremental backups.


storebackup is a backup utility that stores files on other disks. It includes several optimizations that reduce the disk space needed and improve performance, and unifies the advantages of traditional full and incremental backups. It includes tools for analyzing backup data and restoring. Once archived, files are accessible by mounting filesystems (locally, or via Samba or NFS).


Stow Heckert gnu.small.png
Manages the installation process by keeping packages separate while making them appear to be installed in the same place. Stow doesn’t store an extra state between runs, so there’s no danger of mangling directories when file hierarchies don’t match the database. Also, stow will never delete any files, directories, or links that appear in a stow directory, so it is always possible to rebuild the target tree.


‘stress’ is a tool to impose certain types of stress, including CPU load, I/O subsystem load, RAM load, and HDD load, on a system. Since benchmarks do not always answer some the questions that a systems programmer or sysadmin needs answered it can be useful to be able to put the system under a specified amount of load and then take a look at how a given subsystem or application program is behaving.


‘Sudo’ (superuser do) lets a system administrator give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments. It operates on a per-command basis, and is not a replacement for the shell.


Sudoscript is a pair of Perl scripts (sudoscriptd/sudoshell) that provide an audited root shell using sudo by logging all terminal output to log files. It lets sysadmins give users an unrestricted root shell yet not lose the audit trail.


‘swapd’ is a dynamic swap creation daemon for the Linux kernel. It monitors the system memory and detects when swap creation will be required. Swap size is determined automatically with respect to the limits set by the sysadmin. It works with Linux kernels version 2.4.23 or higher.


switchTraf is an ncurses-based switch monitor that generates ethernet statistics for load switch interface (using snmp). It is designed for large corporate and university networks.


‘swpkg’ is a collection of tools for building, installing, and maintaining software packages. It is based on a fairly simple philosophy intended to simplify the management of third party software and their inter-dependencies. Each software package is installed in a different directory, and symbolic links are used to populate common directories (typically /usr/local/bin, /usr/local/sbin, ..) which are then referenced by users (in their PATH and so on). The directories where the software actually lives are never referenced directly by users. For most software packages, setup and installation is as straight forward as if you were installing them directly in /usr/local.


‘syrep’ is a generic file repository synchronization tool. It synchronizes large file hierarchies bidirectionally by exchanging patch files. It is peer-to-peer, does not require a central server, and supports synchronization between more than two repositories. Patch files can be transferred via offline media (ie removable hard drives or compact disks). Files are tracked by their message digests, currently MD5. The snapshot files track file creation, deletion, modification, creation of new hard or symbolic links, and renaming (which is merely a new hard link and removal of the old file). syrep doesn’t distuinguish between soft and hard links; even copies of files are treated as the same. Currently, syrep doesn’t synchronize file attributes like access modes or modification times.


‘sysindex’ is a script that provides information about a GNU/Linux system both in human and machine readable formats. It is meant to display the info on your webserver but it can be used as an automatic data grabbing tool for any monitoring purposes. It currently supports XHTML, XML, and CSV output modes, templates, and data processing plugins.


‘syslog-ng’ is a syslogd replacement with new functionality. The original syslogd sorts messages based only on priority/facility pairs; syslog-ng can filter based on message contents using regular expressions. Forwarding logs over TCP and remembering all forwarding hops makes it ideal for firewalled environments.


‘Sysmon’ is a network monitoring tool designed to provide high performance and accurate network monitoring. It currently supports monitoring of SMTP, IMAP, HTTP, TCP, UDP, Radius, NNTP, and POP3 servers. It can also ping hosts and routers, perform SNMP queries and generate alerts based on those results. Sysmon can also understand real network topologies, including the ability to monitor multiple paths and report only the actual device that is down (instead of a router that is down) and all the hosts behind it.


‘sysprof’ is a sampling CPU profiler that uses a kernel module to profile the entire system (not just a single application). It handles shared libraries, and applications do not need to be recompiled. It profiles all running processes, has a GUI, shows the time spent in each branch of the call tree, and can load and save profiles.


The sysstat package contains the sar, mpstat, and iostat commands for Linux. ‘Sar’ collects and reports system activity information; this information can also be saved in a system activity file for future inspection. ‘Iostat’ reports CPU statistics and I/O statistics for tty devices and disks such as I/O transfer rates, paging activity, process-related activites, interrupts, network activity, memory and swap space utilization, CPU utilization, kernel activities, and TTY statistics, among others. Sysstat fully supports both UP and SMP machines.


System Garden Habitat
Habitat is a capacity and performance management system which captures, stores, and visualizes table-based time series data. Monitor probes exist for GNU/Linux and Solaris. It has a command line interface, a fast GUI client for graphical visualization, and a simple format for extending data capture in the agent. It can access data from its peers directly, by file sharing, or with the use of a separate central archiving repository (harvest) to scale to installations of significant size.


System call tracker
The system call tracker is a Linux kernel module and supporting user space applications which allow interception of and possibly taking action upon system calls that match user-defined criteria.


‘SystemImager’ automates the installation of Linux to multiple machines. It can also ensure safe production deployments: by saving your current production image before updating to the new one, you have a contingency mechanism. If the new production enviroment is flawed, a simple update command rolls you back to the last production image. It can also be used for content distribution on Web servers. It is most useful in environments with large numbers of identical machines. Typical environments include Internet server farms, high performance clusters, computer labs, and corporate desktop environments where all workstations have the same configuration.


‘Systraq’ sends you daily emails listing the state of your system. If critical files have changed, you’ll get an email within a shorter time. Systraq consists of few very small shell scripts. It can help you implement a not too strict security policy.


T2 is a system development environment. It provides a self-contained distribution build kit based on sources with an up-to-date tool and development toolchain (gcc, glibc, uclibc, dietlibc, X.org, KDE, GNOME, etc.). Its basis is an automatic build system that makes it possible to either update a running system or create a binary distribution that can later be deployed via network or physical media. The system is extremely versatile and makes it possible to create sets of programs for different kinds of systems, from routers to desktops, including different architectures and platforms.


fast static binary compression method based on translation of input data through numeric sequence order into compressed data


TCP Re-engineering
The TCP Re-engineering Tool monitors and analyzes data transmitted between a client and a server via a TCP connection. It focuses on the data stream (software layer), not on the lower level transmission protocol (as packet sniffers do).


‘Tapeback’ backs up various parts of a GNU/Linux system. It can back up to a single tape or have a backup span multiple tapes. Its backups are fully self-contained; no “database” is needed to restore a backup. Restore point redirection is simple and can be accomplished without complex editing of config files or entering complex commands. The package also includes a small kernel patch to facilitate real-time detection of “drive ready” status. This patch lets ‘tapeback’ autodetect when a tape is switched in the drive (when end of tape is hit during backup/restore).


Taper is an easy to use backup solution. It allows backups to tape drives, filesystems, floppy drives, removable devices or any device that GNU/Linux supports. Incremental backup & selective restores are available, as well as backup verifies.


The tardy program is a tar post-processor. It lets you alter certain characteristics of files after they have been included in the tar file, including changing file owner (by number or name), changing file group (by number or name), adding directory prefix (e.g. dot), and changing file protections (e.g. from 600 to 644).


Tart (Tar Archive and Recovery Tool) is a small and simple backup and recovery utility designed for single-user/small systems. It performs incremental (differential) backups, full backups, and helps restore these files. Tart works on a cyclical incremental backup model: it does a full backup the first time you run it, then does incremental backups for a specified number of cycles, after which it does another full backup.


Tcpdump allows you to dump the traffic on a network. It can be used to print out the headers of packets on a network interface that matches a given expression. You can use this tool to track down network problems, to detect “ping attacks” or to monitor the network activities.


Tcpreplay is a set of Unix tools which allows the replaying of captured network traffic. It can be used to test a variety of network devices including routers, firewalls, and NIDS.


tcpspy is an administrator’s tool that logs information about incoming and outgoing TCP/IP connections including local address, remote address, and the username of the user responsible for the connection. Connections are selected for logging with rules, similar to the filter expressions accepted by tcpdump and other libpcap-based applications (tcpspy does not, however, use libpcap).


‘tcptraceroute’ is a traceroute implementation using TCP packets, instead of the more traditional UDP or ICMP ECHO packets. In doing so, it is able to trace through many common firewall filters.


‘tcpxd’ is a TCP/IP relay or proxy, allowing a connection to a port on a system to be forwarded to another port on any other system. It is useful for firewalls and service relocations, and is small, simple, and fast. It’s also easier to learn than netcat and supports TCP_NODELAY, alternate local ports, partial connection closures, and non-blocking connects.


Termutils Heckert gnu.small.png
There are two separate commands. ‘tput’lets shell scripts do things like clear the screen, underline text, and center text no matter how wide the screen is by translating the terminal-independant name of a terminal capability into its actual value for the terminal type being used. ‘tabs’ sets hardware terminal tab settings.


TestDisk is a tool to check and undelete partitions. It works with the following partitions: FAT12, FAT16, FAT32, Linux (EXT2/EXT3/HFS/JFS/RFS/XFS), LInux Raid, Linux swap, NTFS (Windows), BeFS (BeOS), UFS (BSD), and Netware NSS.


‘Thirdphase’ automatically downloads, installs, backs up, and runs any software downloadable from a static URL, with a couple of other user-provided variables. It is useful for keeping nightly builds of software up-to-date.


Thy is a lightweight HTTP daemon that is designed to be clean and fast, yet powerful enough to serve many hits a day. Despite its small size, it supports CGI, IPv6, SSL/TLS, and on-the-fly compression.


Sysadmins must sort out the interesting (and sometimes alarming) log entries from the pile of standard entries. Tidy distinguishes different services (telnet, finger, etc.) and removes standard entries. It also tries to extract a remote host from the messages; these remote hosts are added to a statistics database. The number of contacts of each service is saved together with the time/date stamp of the last contact. The statistics can be printed out as simple ASCII or HTML.


Time Heckert gnu.small.png
The ‘time’ command runs another program, then displays information about the resources used by that program, collected by the system while the program was running. You can select which information is reported and the format in which it is shown, or have ‘time’ save the information in a file instead of displaying it on the screen.


Tiny Login
TinyLogin is a suite of tiny UNIX utilities for handling logins, user authentication, changing passwords, and otherwise maintaining users and groups on an embedded system. It also provides shadow password support to enhance system security. TinyLogin is, as the name implies, very small, and makes an excellent addition to an embedded system.


‘Tinyproxy’ is a lightweight HTTP proxy designed for networks with a minimum of system resource use, especially small networks in which a larger HTTP proxy such as Squid might be overkill or a security risk. This simplicity also makes it easy to customize and add features, since it takes very little time to read and understand the tinyproxy source.


Tiobench is a file system benchmark especially designed to test I/O performance with multiple running threads.


Tmux allows users to run and control several terminals, each running different programs, from a single window. Detached sessions of tmux may continue working in the background, to be later re-attached at will.


tnftp is a port of the NetBSD FTP client, containing many advanced features, to other systems. tnftp was formerly known as lukemftp, it was renamed in February 2003. Some enhancements over the standard ftp program include: command-line editing within tnftp, command-line fetching of URLs including proxy support and authentication, configurable prompt, tab completion of remote directory and filenames, transfer progress bar, and more.


‘toast’ is a simple package manager for *nix. It automatically locates and downloads source code, determines how to compile it, installs each package in its own directory tree, and makes the resulting binaries available through an encap/GNU stow-like symlink tree. It also supports binary packages. It is often used to install and manage software in a non-root user’s home directory. Since each package’s installed files are stored separately, it’s easy to quickly install, uninstall, upgrade, recompile, or temporarily disable different software packages or different versions of the same packages, even if they conflict with each other.


‘top’ is a CPU usage display program. It shows a rolling display of the processes with the highest CPU usage on a *nix system, and also displays other information about the overall health of the system, including load averages and memory utilization.


‘Traceproto’ is a traceroute replacement (the original traceroute was written before most firewalls and transparent redirection and often fails when tracing today’s networks). that lets users specify the protocol and port to trace to. It currently supports TCP, UDP, and ICMP traces. ‘TraceProto’ sends packets with a modified time-to-live (ttl) field. As the packets move toward the destination, each hop decrements the time-to-live. If the ttl reaches 0 before the packet reaches its destination (in normal network traffic it is unusual for the ttl to reach 0 before the packet reaches it destination), the hop that did the final decrement sends back an icmp packet informing the source that the packet expired before reaching its destination. TraceProto uses a series of packets with smaller ttl values, so that each hop between the source and the destination responds.


This is the traceroute program maintained by Ehud Gavron at aces.com. It’s based on the Van Jacobson/BSD tracesroute and has additional features like AS lookup, TOS support, microsecond timestamps, path MTU discovery, parallel probing, and others.


‘trafflogger’ is a conf-based traffic logger. All the logged data can be displayed (graphed) via the Web. Users can use it to get a global view of network load or to get a closer look at any of the hosts. You can make multiples confs for the same host, (changing only de pcap rule); essentially, taking photos of your network from multiples angles: one conf for web traffic, another for mail traffic, another for kazaa traffic, and finally one that logs all traffic. You can also use the pcap filter to block unwanted traffic for a specific conf.


Tramp Heckert gnu.small.png
Tramp stands for ‘Transparent Remote (file) Access, Multiple Protocol’. It provides remote file editing, similar to Ange-FTP and EFS. The difference is that Ange-FTP uses FTP to transfer files between the local and the remote host, whereas Tramp uses a combination of ‘rsh’ and ‘rcp’ or other work-alike programs, such as ‘ssh’/’scp’. In GNU Emacs, this version of Tramp uses a unified filename syntax for Tramp and Ange-FTP.


Transmission is a lightweight BitTorrent client. It features a simple, intuitive interface on top on an efficient, cross-platform back-end. Transmission runs on Mac OS X with a Cocoa interface, GNU/Linux, NetBSD, FreeBSD, OpenBSD with a GTK+ interface, and BeOS with a native interface.


‘tree’ is a recursive directory listing program that produces a depth indented listing of files. This listing is colorized a la dircolors if the LS_COLORS environment variable is set and output is to tty.


‘trickle’ is a lightweight, portable, per-application bandwidth shaper. It works in collaboration with trickled or in stand alone mode, has peak detection, and does smoothing. It works by taking advantage of the unix loader preloading: it provides, to the application, a new version of the functionality that is required to send and receive data through sockets. It then limits traffic based on delaying the sending and receiving of data over a socket. Trickle works entirely in userland and does not require root to run.


‘tstat’ provides information about classic and novel performance indexes and statistical data about Internet traffic. It collects measurement indexes at both the network (IP) and transport (TCP/UDP) layers. It also analyzes real time protocols (RTP/RTCP), so you can (for example) get statistical measurements on VOIP traffic. ‘Tstat’ analyzes either real-time captured packet traces, or previously recorded packet-level traces in various dump formats.


‘Tupd’ is a trustworthy daemon that reports uptime statistics via HTTP. It is small, simple, and secure, and therefore suitable for use on critical servers and firewalls where a full HTTP server and script installation would pose an unacceptable security risk.


‘uControl’ gives you the ability to take those useless keys, that you’re certain would have been better fashioned as something else, and turn them into something useful. It started out as a simple hack to remap the caps lock key to a control key, but has since evolved into a fairly sophisticated means of not only remapping modifier keys, but giving your trackpad a virtual scroll wheel, or giving lefties a sensible mouse, or giving people with disabilities the ability to type with one hand.


UDPT is a lightweight UDP based BitTorrent tracker written in C/C++.


USBSink is a GNOME program for file synchronization over USB. It is designed for users of removable drives, such as flash drives or external hard disks. The goal is to completly automate data transfers after a task has been defined. With file monitoring and hardware detection features, USBSink is able to respond and act according to relevant events across the desktop.


UDPCast allows for the sending of data simultaneously to many destinations on a local net. This can for instance be used to install an entire classroom’s PCs at once. The advantage over using other methods (nfs, ftp, whatever) is that udpcast uses Ethernet’s multicast abilities: it won’t take longer to install 15 machines than it would to install 2. The tool comes with a busybox bootdisk for easy loading of the tool. However, udpcast can also be started from the command line of an already installed system, and can be used for purposes other than just system installation.


Ukopp – incremental backup
Ukopp is used to copy or back-up disk files to a disk or disk-like device, such as a USB stick. It copies only new or modified files since the last backup, and is therefore quite fast. A GUI is used to navigate the file system to include or exclude files or directories at any level. These choices can be saved in a job file for repeated use. New files appearing within the included directories are handled automatically. Optionally, previous versions of the backup files can be retained instead of being overwritten. Files can be selectively restored using a GUI.


Ulim is a Linux kernel module which enforces resource limits on every process in the system. There are already solutions like pam_limit, but there are some places where the user can execute his programs, but PAM is not used (for example .forward or .procmailrc files, or CGI scripts). Ulim works in the kernel and sets the limits whenever a process changes its real UID, so every process run by a user will have the correct limits.


An FTP server application for Django. Add FTP server capabilities to your Django project easily.


Unison is a multi-platform file-synchronization tool. It stores two replicas of a collection of files and directories on different hosts (or different disks on the same host), can modify them separately, and then updates them by propagating the changes in each replica to the other. NON-conflicting updates are propagated automatically; conflicting updates are detected and displayed. Unison can deal with updates to both replicas of a distributed directory structure. It works across platforms, and is a user-level program- users do not need superuser privileges on either host. It works between any pair of machines connected to the internet, communicating over either a direct socket link or tunneling over an rsh or an encrypted ssh connection. It conserves bandwidth, and runs well over slow links such as PPP connections. Transfers of small updates to large files are optimized using a compression protocol similar to rsync.


‘upgrade.php’ script provides PHP backwards compatiblity by automatically defining workalikes for more recently introduced PHP core functions when run in an older interpreter version. This lets developers use the more advanced features of PHP while still getting most applications to run on outdated servers.
Uranos (formerly unattended-gui) is a system to support unattended installations of GNU/Linux on multiple machines. It is also a collection of scripts for inventory, uninstallation, and other add-ons like dhcp-ldap, php-ssh, samhain, syslog-ng, switch managment, and an LDAP browser.


‘Userinfo’ is a console utility that displays information about a local user. It uses loadable modules to perform different tasks which separate the output with a field deliminator. It is particularly useful in shell scripts for gathering information which would be tedious to obtain by other methods.


‘userneu’ is a Perl script that parses a list of usernames and additional information (such as the real name or other Information to be put in the GECOS field in /etc/passwd) and creates Unix accounts and (if desired) Samba accounts as well. If the script stumbles upon duplicate user names it can append random characters to the username until it fits.


Uucp Heckert gnu.small.png
Uucp copies files to or from another *nix system which also runs uucp. It transfers mail, news, and files between systems which are not connected by more modern means. The connection can be made via modem, a hard-wired serial connnection, or via an IP connection. >P>is package has everything you need to make a UUCP connection, including versions of uucico, uusched, uuxqt, uux, uucp, uustat, uulog, uuname, uuto, uupick, and cu, as well as uuchk (a program to check configuration files), uuconv (a program to convert from one type of configuration file to another) and tstuu (a test harness for the package). package currently supports the f, g (in all window and packet sizes), G, t and e protocols, as well a Zmodem protocol and two new bidirectional protocols. If you have a Berkeley sockets library, it can make TCP connections. If you have TLI libraries, it can make TLI connections.


VNCTracker is a tool to keep track of mostly dynamic hosts on various dial-up accounts. Rather than call each user whenever you need a current IP address for connecting with VNC, you visit the Web page generated by VNCTracker which shows the updated IP address for that host. You can then build .vnc files for easily starting VNC with the settings to connect to the host.


‘vcp’ copies files and directories using a curses or text-only interface. Its options and output are similar to cp. It provides visual information about the files copied and left to copy, the amount of data written and to be written, the amount of data being written every second, and two status bars representing the number of files copied and to copy.


Vertoo lessens the burden of keeping versioning information up-to-date across a project’s files by providing a simple interface to change the version of a project and distribute these changes through the project’s files. A configuration file describes the versions used in a project (each in arbitrary, user-specified scheme) and the formats for each of the occurrences of the version’s data in the project files.


‘viewglob’ is a utility designed to complement the *nix shell in graphical environments. It consists of a tool that sits as a layer between the shell and X terminal, keeping track of the user’s current directory and command-line, and a GUI display which shows the layouts of directories referenced on the command-line. This display also shows the results of file globs and expansions as they are typed, highlighting selected files and potential name completions. ‘viewglob’ works in conjunction with the most popular shells while using any xterm.


‘vlogger’ is a logger daemon for Apache. It will accept piped logfile input, split it according to its corresponding virtual host (using a file cache to avoid resource limitations), and write it to disk. It automatically rotates all files and tracks them using timestamps. It is intended as a replacement for cronolog or httplog.


VNC stands for Virtual Network Computing. It is a remote display system which allows you to view a computing ‘desktop’ environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. VNC runs in a client/server model; the distribution provides an Xserver, to which a VNC viewer can connect. The server does not need or support a display; you need a vncviewer to see something.


‘VNC Snapshot’ is a command line utility for VNC (Virtual Network Computing, which lets you get to your computer from everywhere provided that your computer is connected to the Internet). It lets you take a snapshot of the screen of a VNC server and save it as a JPEG file. Also included with the package is ‘vncpasswd’, which lets you create password files.


‘vsftpd’ is a secure and fast FTP server for *NIX-like systems that is used on many large and critical Internet sites. Despite its small size, it is surprisingly configurable.


‘vthrottle’ is an implementation of an SMTP throttling engine for Sendmail. It lets sysadmins control how much email users and hosts may send, hindering the rapid spread of viruses, worms, and spam. Exceptions can be made via a whitelist mechanism, which can be generated manually or with the included tool ‘vmeasure’. ‘vthrottle’ tells the misbehaving client to hold on to the deferred mail and resend it later. ‘vthrottle’ evaluates mail transactions at the connection, the HELO (or EHLO) statement, and the stated source address of the mail. For each of these, a list is traversed and the observed time interval between observations is evaluated. If the observed interval is shorter than the policy interval, the mail is blocked by sending a failure reply code to the SMTP client; the message is then queued. Because ‘vthrottle’ uses libmilter, it will not work with other MTAs, only with sendmail.


WitchDoctor-WDX is a software product designed to improve distributed applications availability by failure detection and automated application recovery. WitchDoctor-WDX manages several missions simultaneously on several groups composed of 2 to 16 computers. Highlights:

- Unattended failover for large distributed architectures
- User defined recovery strategy through standard scripts
- Interoperates between different operating systems
Wflogs is a firewall log analysis tool that a log summary report in plain text, HTML, and XML, or that can monitor firewalling logs in real-time. It supports netfilter, ipchains, ipfilter, cisco_pix, cisco_ios, and snort input formats. The goal of the WallFire project is to build a very general and modular firewalling application based on Netfilter or any kind of low-level framework. Wflogs is part of the WallFire project, but can be used independently.


‘WPKG’ is a Samba add-on that helps distribute software to many clients. You can deploy software, packages, and changes without doing it manually (going from one workstation to another). You simply configure the software that should be installed on a given machine or a group of machines; next time these workstations are booted, the software you specified is installed automatically.


Watchdog is a daemon that checks if your system is still working. If programs in user space are not longer executed it will hard reset the system. Watchdog itself does several additional tests to check the system status.


Monitor system resources and the processes using those resources.

  • Overhead is low, supporting a sample interval down to 0.1 seconds
  • Overall system and top process resources are shown on one page
  • CPU, memory, disk I/O, network I/O, and page faults are monitored
  • Usage for N CPUs shown on a scale from zero to N x 100%
  • The highest ranked processes fitting in the window are shown, with minimal jumping around between samples (easy to watch one or a few processes)
  • Process rank is a weighted sum of CPU, hard page faults, and disk I/O over the last few samples (the weight of each sample declines over time)
  • Filter processes by user, PID, executable
  • Font can be made large or small (for display in monitor corner)
  • Click on a process to kill the process (after confirmation)
‘wdm’ combines the functions of a graphical display manager identifying and authenticating a user on a system with some of the functions of a session manager in selecting and starting a window manager. It can also optionally shutdown (reboot or halt) the system. Wdm is a modification of the X11 xdm package for graphically handling authentication and system login. Most of xdm has been preserved with the login interface based on a WINGs implementation using Tom Rothamel’s “external greet” interface.


Webdialer configures and starts/stops wvdial, ISDN, or ADSL connections from a Web browser, which is very useful when it runs on a headless gateway. The program includes log functions for IP, time connected, and traffic that was transferred and received. It can be used in English, German, French, Spanish, Italian, Czech, and Turkish.


Webmin is a web-based interface for system administration for Unix. Using any browser that supports tables and forms, you can setup user accounts, internet services, DNS, file sharing, Apache, etc. Webmin modules come in 20 different languages, although not all modules have been translated into all languages. The package consists of a simple Web server and a number of CGI programs which directly update system files. A number of the modules have been Debianized.


Webmin SysInfo is inspired by phpSysInfo. It gives a graphical, realtime display of system usage, monitoring, and load information like CPU, PCI/IDE/SCSI devices, and memory/FS/network/CPU usage. It is available in four languages.


‘webminstats’is a Sysstats module for Webmin that adds a graphical log of historic information. It is modular in design, and can log everything from CPU usage to email box size.


Weex automates the remote maintainance of a Web page or other FTP archive. It will synchronize a set of local files to a remote server by performing uploads and remote deletes as required.


Wheretero determines the country where the local computer is. This allows automatic keyboard layout configuration for live CDs. Network information is collected from DNS, DHCP, traceroute, GeoIpLookup, and Web IP address services. Information is scored and scaled. Wheretero prints its final decission as a two letter ISO country code, such as fi, de, fr, or us. Secondary choices are printed with probability estimations.


Which Heckert gnu.small.png
Which prints out the full path of the executables that bash(1) would execute when the passed program names would have been entered on the shell prompt. It uses the exact same algorithm as bash. Tildes and a dot in the PATH are now expanded to the full path by default. Options allow users to print “~/*” or “./*” and/or to print all executables that match any directory in the PATH.


Recovery of supposedly erased data from magnetic media is easier than commonly believed; Magnetic Force Microscopy (MFM) lets any moderately funded opponent recover the last two or three layers of data written to disk. Wipe attempts to make this more difficult by repeatedly overwriting special patterns to the files to be destroyed, using the fsync() call and/or the O_SYNC bit to ensure that there is a file barrier between passes and that each pass is completely written.


‘wlanmeter’ is a simple C program for monitoring the signal/noise/level on wireless network interfaces. It displays up to three interfaces at the same time.


‘wmfire’ is a dockable application that displays a burning fire depending on the load of the CPU(s), network, or memory. It uses the GDK library to improve its speed – using less than half the cpu of the original program. It can monitor the average cpu load (or individual cpu load on SMP computers) as well as memory, network load, or just be set to show a pretty flame. On entering the dock a burning spot replaces the cursor; after two seconds symbols to represent the current monitor are “burnt” onscreen. The flame colour can also be changed.


‘wmget’ lets you run multiple downloads and monitor or control them from within a dockapp. This makes it easy to see their progress without keeping extra windows open. ‘wmget’ uses the libcurl library to support HTTP and FTP downloads. It will work with any window manager that supports dockapps.


wxSFTP is a simple, easy to use and portable SFTP client. With simple we mean that the program will have only the main features needed. The structure consists of a two panel window, one for the local filesystem and another for the remote filesystem. To be easy to use we are developing a graphical client that will be HIG compliant. Portability is reached with language (python) and graphical library (wxpython).


‘x11vnc’ is a program that allows one to remotely view and interact with real X displays (i.e. a display corresponding to a physical monitor, keyboard, and mouse) with any VNC viewer. It is designed to be compatible with all *nix variants and depend on a very small set of standard libraries. It is part of the LibVNCServer project.


‘x86info’ probes CPU registers to find out more information than other `cpuinfo’ tools which just parse /proc/cpuinfo. It can discover the contents of model-specific registers, discover CPU silicon revisions, and more.


‘XDU’ is a graphical disk usage tool. It lets you know very easily which directories and files are consuming the most disk space. Folders can be opened to get a detailed view, and files can be deleted (they are simply moved to /tmp/xduGarbage). You can apply file filters to focus on specific file types. Other features include restricted display (ie, only large and/or non hidden and/or specific files), infinite undo and redo, and sorting by name or size.


‘XIFMon” (X Interface Monitor, formerly XPPPConsole) can monitor any interface listed in the /proc file system, with compile time support for direct Linux kernel ppp# interface stats fetching. It displays the current traffic load, the history, and load average of any given network interface. It can also call a connect/disconnect script to bring the interface up/down.


XZ Utils consist of several components:liblzma is a compression library with API similar to that of zlib. xz is a command line tool with syntax similar to that of gzip. xzdec is a decompression-only tool smaller than the full-featured xz tool. A set of shell scripts (xzgrep, xzdiff, etc.) have been adapted from gzip to ease viewing, grepping, and comparing compressed files. Emulation of command line tools of LZMA Utils eases transition from LZMA Utils to XZ Utils.While liblzma has a zlib-like API, liblzma doesn’t include any file I/O functions. A separate I/O library is planned, which would abstract handling of .gz, .bz2, and .xz files with an easy to use API.


‘Xautolock’ monitors console activity under the X window system, and fires up a program of your choice if nothing happens during a user configurable period of time. You can use this to automatically start up a screen locker in case you tend to forget to do so manually before leaving the computer.


‘xdiskusage’ is a user-friendly program to show what is using up all your disk space. It is based on the design of Phillip C. Dykstra’s “xdu” program. Changes have been made so it runs “du” for you, displays the free space left on the disk, and produces a PostScript version of the display.


Xen is a virtual machine monitor for x86 that supports execution of multiple guest operating systems in isolated environments.


XenMan is an intuitive, GUI based Xen management tool covering all phases of the operational lifecycle. XenMan should prove valuable to both Xen Administrators and those seeking an introduction to Xen Virtualization management.


Sub-second filesystem recovery after crashes or power failures (never wait for long fscks again). 64-bit scalability: millions of terabytes, millions of files, and a million files per directory (no more 2 GB limits). High reliability and performance from journaling and other advanced algorithms.


‘xhdbench’ is a Qt-based X-program for testing the output speed of several devices (harddisks, CD-ROMs, floppy drives) and how they interact. The program reads directly from the devices independent from any filesystems. The static linked version runs on hosts that don’t have X or X libraries installed, so you only need a remote X-server for showing the window


Xlogmaster Heckert gnu.small.png
Xlogmaster allows easy and customizable monitoring of your system by displaying all the interesting logfiles, devices (especially the /proc structure) and output from programs. You can use filters to modify data for better overview by raising/lowering/hiding/lines or taking actions like uniconify, creating alerts, or starting programs upon detecting certain regular expressions in the monitored data. Xlogmaster is GUI driven; due tothe GTK+ toolkit and its full runtime configurability users can make xlogmaster appear however they want.


Xnee Heckert gnu.small.png
Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. Think of it as a robot that can imitate the job you just did. Xnee can be used to:

  • Automate tests — nightly automatic regression tests
  • Demonstrate programs — record and replay a user interaction with your system
  • Distribute actions — teacher’s actions can be sent to all student’s desktops
  • Record and replay ‘macro’ — Tie a key modifier combination (e.g using xrebind) to replay a recorded session. The macro is WM- and program independent.
  • Retype a file — When testing an editor, Xnee can type in the content of a file. This can be compared with the original.
Xorriso Heckert gnu.small.png
GNU xorriso creates, loads, manipulates, and writes ISO 9660 filesystem images with Rock Ridge extensions. Files can be copied in and out. Optionally it supports hard links, ACLs, xattr, and MD5 checksums. The session results get written to optical media or to filesystem objects.A special property of xorriso is that it needs neither an external ISO 9660 formatter program nor an external burn program for CD, DVD, or BD, but rather incorporates the libraries of libburnia-project.org . Thus GNU xorriso depends only on fundamental operating system facilities.


‘xps’ dynamically displays in an X Window the Unix processes as a tree, the roots on the left and the leaf processes on the right. Within each level, processes are grouped so that those with the same parent process id are grouped together (older processes nearer the top). The overall tree display uses diagonal lines; xps tries to effectively use the full 2-dimensional area of the screen by balancing levels and centering the children of a node between their parent. The status of each process or user can be indicated by a color. Process selection can be made per user, for all users, or through a regular expression pattern. A process can be selected to show ps information or to send the process a signal. users can click on a process to get more information (via ps) about it, send it a a signal, or set its priority.


‘xtail’ is sort of a tail -f for many files. You can specify both filenames and directories on the command line. If you specify a directory, it watches all the files in that directory. It will notice when new files are created (and start watching them) or when old files are deleted (and stop watching them).


Xtraceroute is a graphical version of the traceroute program, which traces the route your IP packets travel to their destination. It displays the routes on a rotating globe (you can also move the globe around) as a series of yellow lines between ‘sites’, shown as small balls of different colors.


Yakup is a tool for managing multi-level backups to fixed disk and removable CD/DVD media. Yakup can also be used for ad-hoc archiving.

  • Full and multi-level differential backups.
  • Backup up and restore from fixed disk or removable CD/DVD media.
  • Media spanning.
  • tar(1) formatted archives.
  • Optional gzip or bzip2 compression.
  • Single bash(1) shell script — trivial installation, runs on any GNU/Linux system.
  • Flexible customizable configuration options.
Yard is a suite of Perl scripts for creating rescue disks for GNU/Linux. A rescue disk is a self-contained kernel and filesystem on a floppy, usually used when you can’t (or don’t want to) boot off your hard disk, that contains utilities for diagnosing and manipulating hard disks and filesystems. Yard itself is not a rescue disk or boot disk; it is a tool for creating one. The user must do a certain amount of file choosing to make it work, but the result is a customized rescue disk that is complete, useful, and up-to-date. Yard does not use special, minimal files to make everything fit in a small filesystem. Instead, it uses standard files from your hard disk installation, so you can use as many diskettes as you need (usually 2-3, since everything is compressed)


Yum Repo Sync
This shell script automatically downloads and synchronizes a Fedora Core repository with a local yum repository. There are already configurations for FC3, FC4, FC5, and FC6 which only need to be activated.


‘Z’ is a simple frontend for the gzip, bzip, tar, compress/uncompress, and zip/unzip utilities for compressing and uncompressing files and directories. The new compressed or uncompressed version will be in the same directory as the original. It processes its arguments according to the type of the file or directory given: If the argument is a plain file, then the file is compressed; if the argument is a compressed file with a name ending in .Z, .gz, .z, .bz2 or .zip, then the file is uncompressed; if the argument is a directory, the directory is archived into one file which is then compressed; if the argument is a compressed tar or zip archive with a name ending in .{tar.,tar,ta,t}{Z,gz,z,bz2} or .zip, then the archive is uncompressed and untarred.


Zdisk lets you have a kernel and a rescue system on one floppy. The programs copies a kernel of your choice to a floppy and then adds a rescue system to the same floppy (the kernel can’t be bigger than 975 Kb on a floppy, although it can be bigger on a CD). Zdisk has almost the same rescue system as ramf-86, except ramf-86 comes with a kernel.


Zebedee establishes an encrypted, compressed tunnel for TCP/IP or UDP data transfer between two systems. This protects telnet, ftp and X traffic from snooping. It has a small footprint, low wire protocol overhead, and gives significant traffic reduction by the use of compression.


Zebra Heckert gnu.small.png
Zebra is a multi-server routing protocol that provides TCP/IP based routing protocols. It’s meant to be used as a route server and router reflector. Not just a toolkit, it provides full routing power under a new architecture. The user can dynamically change configuration and use command line completion and history from the terminal interface. The programs supports:

  • common routing protocols RIPv1, RIPv2, OSPFv2, OSPFv3, and BGP IPv6
  • routing protocols RIPng and BGP-4+
  • IP address based filtering
  • AS path based filtering attribute modification by route map

Zebra offers true modularity: it has a process for each protocol, and each module can be upgraded separately from the others, so you can have quick upgrades as well as protection against a failure in one protocol affecting the entire system.

  • Quagga is a modern fork of Zebra.
The most widely known example of an erasure code is the RAID-5 algorithm which makes it so that in the event of the loss of any one hard drive, the stored data can be completely recovered. The algorithm in the zfec package has a similar effect, but instead of recovering from the loss of only a single element, it can be parameterized to choose in advance the number of elements whose loss it can tolerate. This package is largely based on the old “fec” library by Luigi Rizzo et al., which is a mature and optimized implementation of erasure coding. The zfec package makes several changes from the original “fec” package, including addition of the Python API, refactoring of the C API to support zero-copy operation, a few clean-ups and optimizations of the core code itself, and the addition of a command-line tool named “zfec”.


Zope Watchdog
Zope Memory Watchdog is a Perl script/daemon that watches Zope’s memory usage and restarts it if it is too big. It has command line help and also POD-entries for use with perldoc. It’s quite simple and easy to extend.


ZopeProfiler provides profiling support for Zope. It can derive both high and low level timing statistics. High level means Zope object call level, while low level is the Python function call level. Unlike the standard Zope profiling support, ZopeProfiler does not bring Zope into effective single user mode. Zope continues to work as usual. ZopeProfiler can be dynamically enabled/disabled. When disabled, there is only a negligible runtime penalty. When enabled, profiling slows down Zope considerably. ZopeProfiler installs itself through “monkey patching”. You will then find a ZopeProfiler instance in your “Control_Panel”. Please read the “Info” tab for further information.


More GNU Free software coming your way for your computer  learning experience

Leave a comment

Your email address will not be published. Required fields are marked *