Skip to main content

Debian

Common tools

Some common components of clusters have already been mentioned, such as the OpenMPI libraries. Aside from the meta-packages already mentioned, the redhat-cluster suite of tools is available in Debian, as well as many useful libraries, scheduling tools, and failover tools such as booth. All of these can be found using apt-cache or Synaptic by searching for "cluster".

Selecting Debian packages

Once you have the repositories that you want configured, you need to retrieve information about what is in the repositories. This includes not only package lists, but package descriptions, contents, and dependencies. This is done by updating your package cache, after which you can browse, select, install, upgrade, and delete packages.

File Monitors in Debian

The second level of intrusion detection involves monitoring the files on the system. There are several good monitors that will alert you to new, deleted, or modified files, usually filtering the reports so they include only changes that indicate a potential compromise. The most commonly used File Monitor is Tripwire and that is what is installed by the harden-environment package. However, Tripwire is now owned by a commercial enterprise that sells proprietary versions. While open source tripwire is still available, many administrators are switching to AIDE (Advanced Intrusion Detection Environment) or Samhain as alternatives.

Configure your file monitors carefully to catch important changes and filter out as many false positives as possible without filtering out the true positives.

The importance of filtering your results can't be overemphasized. An alert or report with too many false positives will frequently be skimmed at best or ignored at worst, and can result in missing a true positive indication of compromised files.

Encryption in Debian

The final choice to be made prior to installation is whether to encrypt the disk contents. There are two main options, disk encryption and directory encryption.

In some countries, encryption is subject to legal restrictions. Know the laws in your jurisdiction!

Summary of Debian System Management

The tasks of an administrator are many and include the responsibility for what services the system provides (especially how they are started and shut down), network configuration, system backup, filesystem space management, system operation (system logs), and providing the face the system shows to the world. We've covered some of the issues in each of these areas, although comprehensive coverage of any of the subjects could take several books. One subject not covered here that must be covered in depth is basic system security. We will cover this in the next chapter.

ext2, ext3, and ext4

The ext filesystem was originally developed to overcome the limitations of the MINIX filesystem..

MINIX was linus Torvalds' inspiration for linux.

The second extended filesystem (ext2) improved upon it, while the third extended filesystem (ext3) added joumaling, as well as performance improvements. The fourth extended filesystem (exl4) added additional features and performance improvements.

• The ability to disable joumaling is one reason ext2 was sometimes used over ext3 for flash drives in order to reduce the write cycles.

Policies of Debian

In addition to the organization, there are very comprehensive policy manuals that guide everything about development and release, including the structure of the repositories and archives, as well as a number of related standards documents. Information on all of this is available at http://www.debian.org/devel/.

One of the most important effects of these policies and the organization behind them is the stability of the Debian distribution. At any one time, there are three main versions of Debian available: stable, testing, and unstable. There are also experimental and backports versions, but they are not complete distributions. The experimental version contains packages that are incomplete and not ready to be included in the unstable release. Backports contain newer packages compiled especially for the current Debian stable release.

The unstable version is where active development takes place. Once a package has no "release critical" bugs and works on all supported architectures, it is moved to testing, where it gets additional testing. At some point, the testing contents are frozen in preparation for a new stable release. After stability is verified and all packages satisfy Debian requirements for release, testing becomes the new stable release, and the cycle continues.

Requirements for the stable release are quite stringent. In fact, requirements for testing are strict enough as some have commented that the testing version is more stable than many companies' stable releases. Thus, in DeWan, stable means just that. A stable release of Debian is extremely dependable, with a system for releasing security and emergency updates that keep it so. It provides mission-critical, production quality software for servers and development systems. This is one of the main reasons Debian is used on more production web servers than any other Linux distribution (according to W3Tech, as of January 2012).

As with any advantage, there is a corresponding disadvantage. Debian stable does not always contain the latest, leading-edge software. This is done to ensure the distribution is as mature and crash-free as possible. Of course, it is possible to install newer software under Debian with its required dependencies. In fact, the backports set of repositories contains just such software, pre-compiled especially for use on the Debian stable release. Such packages, however, are not guaranteed to be as stable as those that comprise the official stable release.

Configuration files

The basic configuration file layout is as follows and is also documented in the /etc/apache2/apache2.conf:

/etc/apache21 1--apache2 .conf

1 ' --ports .conf 1--mods-enabled 1 1--'.load

1 ' --". conf 1--conf .d

! . sites-enabled

The files shown are the only ones that are considered part of the actual apache2 configuration by virtue of being included by commands in the main configuration file or one of the files it includes. Note that there is also a sites-available and a mods-available directory that are not automatically included in the configuration. The files in these latter two directories are included by virtue of links pointing to them from the mods-enabled and sites-enabled directories, which we will cover shortly.

In general, configuration changes will be limited to the ports.conf file, adding or modifying files in conf.d, and the links in mods-enabled and sites-enabled directories (and the files they point to). Any files you modify that are provided as part of one of the Debian packages will, of course, be checked during upgrades and you will be prompted for the proper action. Such files are generally only:

  • envvars: This is the file containing environment variables used by Apache and the apache2ctl utility
  • ports.conf: This is the file that controls which ports and IP addresses Apache listens on
  • conf extension files in mods-available directory: These are the files which control the configuration of a module when loaded
  • default and default-ssl in sites-available directory: These are the files which control the behavior of the default web service
  • files in the conf.d directory: These are the files that are part of add-on packages, such as phpmyadmin

Modifications to these files should, of course, be kept to a minimum, but sometimes they are necessary. Most local configuration will be done by adding files to the conf.d directory, or to the sites-available directory (along with appropriate links in the sites-enabled directory), where virtual hosts are configured.

In Debian 7, the files are only included if they begin with a letter or number. It does not include .dpkg and do not contain anything other than letters, numbers, and underscores. In Debian 8, only files that end in .conf or .load will be included.

Summary of Debian Operating System Package Management

The package managers in Debian make it easy to upgrade software packages, and even upgrade to a new, major release level. Upgrades don't require major server downtime, although if they involve major software changes that modify how the software is configured or behaves, additional work may be required after the upgrade to return service to normal. Non-Debian repositories can be added so that the package managers can update non-Debian software just as easily as official Debian packages. Ifsoftware isn't available in Debian format, it can be packaged using the same tools Debian developers use, so that Debian package managers will handle it as well.

Usually after an installation or upgrade, there are additional steps that must be taken. The major one is package configuration, which we will cover in the next chapter.