Original: Initial impressions of Red Hat Enterprise Linux 7 "Workstation"
Author: Jesse Smith
Date of publication: May 12, 2014
Translation: A. Krivoshey
Transfer date: June 2014

It's not very often that I test beta versions or release candidates. I usually like to experiment with releases. Red Hat is one of the biggest fish in the open-source pond. It has always been very successful (and profitable), and their dedication to development is in line software with open source code made the company one of the key players in the field of operating systems. Feeling somewhat excited about the release, I broke my own rules and downloaded the Red Hat Enterprise Linux 7 release candidate. Below are some of my first impressions and opinions about it. This is less of a formal review and more of a reflection on things that caught my attention.

There are currently at least three branches of Red Hat Enterprise Linux (RHEL), which include Server, Workstation, and Client versions. The fourth edition - Atomic Host, is under development. I decided to try the Workstation edition, which is intended for developers. The installation image is 3.9 GB in size and supports GNOME 3 and KDE 4 graphical environments. Since the download takes certain time, I spent it studying the release notes. Red Hat is paying a lot of attention to marketing these days, so the announcement includes phrases like “the only operating system built for the open hybrid cloud” and the gems of this plan: “we are on the verge of an exciting new release that will completely redefine the industrial operating system.” In addition to such comments, you can find some interesting new features. Among them:
- enhanced Windows compatibility, including integration with Microsoft domains Active Directory;
- enable XFS as the default file system with support for file system sizes up to 500 TB;
- migration of a virtual machine from a Red Hat Enterprise Linux 6 host to Red Hat Enterprise Linux 7 without downtime or modification of the virtual machine;
- Docker containers.

When booting from the RHEL installation media, we see a graphical installer. RHEL uses the same new Anaconda installer used in recent Fedora releases. The installer uses a hub-based navigation system that will guide us through the steps of setting up the system, partitioning the disk, and creating a user account. Personally, I think the new installer is a step back from the one in RHEL 6. Partly because I don't really like its interface, partly because hub-based navigation makes sense when you don't need to visit every page . With this installer, some features are unlocked on one page and then used on another. For example, the time zone selection screen allows you to activate network time synchronization. However, if you try to enable the Network Time service, you will receive an error message saying that no time servers are configured (a quick check will show that the default servers are configured). The network time service cannot be activated without visiting the installer's network settings node and entering your network settings. Then you need to go back and activate the network time synchronization service.

The default RHEL installer uses a disk partitioning scheme using LVM and the XFS file system. You can also choose to use traditional partitions and file Btrfs systems. You can also choose a graphical environment (KDE 4 or GNOME 3), although for some reason you can't choose to install both of them. While the installer copies files to HDD, you can watch a slideshow about the benefits of Red Hat products. Once the copying is complete, the system reboots and we are asked to confirm our acceptance of the license terms. After this, we can activate the kdump service and we will be asked to register our copy of RHEL in order to be able to receive updates. Then the system reboots again and we see graphic screen login.

I decided to install KDE 4.10, and found the usual set of pre-installed applications. Available in LibreOffice, Firefox, Dragon Player and Empathy. Right here text editors, archive manager and other standard utilities, as well as a tool for setting up printers and a system firewall. I especially liked how Red Hat has improved its firewall configuration utility to make it very administrator-friendly. Network Manager is used to configure the network. RHEL runs a secure shell service in the background that allows you to log in remotely as root. I'm not a fan of having remote access enabled by default with admin privileges myself, but it can be convenient for admins setting up new installed systems. RHEL uses kernel version 3.10. As usual, Red Hat does not support popular multimedia formats by default, but support for them can be added later.

Another component that is missing in the system is graphic manager packages. I found that RHEL still uses the YUM console package manager, which is a great tool, but I couldn't find any graphical frontend to run the programs. In general, when it comes to working with packages, receiving updates and installing new packages requires a Red Hat subscription. When I tried to access the repositories, I received a message that I first needed to register my computer using a program called Subscription Manager. Trying to launch it from the application menu did not lead to anything. After several unsuccessful attempts, I went to the console and started the service. From command line Subscription Manager launched without any problems, but it told me that I couldn't register an account with it and would have to visit the Red Hat website to do so. I did it, I created it new account, verified it and tried to register my computer again. Again nothing worked, Subscription Manager this time did not provide any clear explanations, it simply could not connect my computer with the account. As of this writing, the problem is still not resolved.

Another problem that bothered me is that when logging into KDE, I received an alert about the crash of GNOME Shell with an offer to submit a bug report. This puzzled me a little, since the installer allows you to install either GNOME or KDE, but not both. Also, why does GNOME Shell launch when I log into KDE? When I tried to file a bug report, I ended up getting a message that I could only do this if I had access to Red Hat support. I don't know why they require this when other distros like Ubuntu just accept all bug reports.

Overall during my RHEL test. Although loading times were, in my opinion, longer than the current average, the desktop remained responsive and there were no stability issues. Pre-installed programs worked fine (except for the problems described above), and although RHEL uses more random access memory Compared to other desktop distributions (about 560 MB at login), it quickly handled all tasks.

conclusions

At first glance, this version of RHEL doesn't have many improvements over the previous release. In particular, the utility for configuring the firewall stands out, which has become much more powerful. Performance is good for this release, and I appreciated that the KDE file indexing service is disabled by default. Preference is given to productivity rather than desktop decoration. First of all, I was glad to see support for the Btrfs file system in this release. Although this advanced file system is not used by default, it is good to see that it is available. Docker, a program for managing containers on Linux, is also a good innovation. I think that in a few years most developers and system administrators will be using Docker to deploy and test software, so it's nice to see that Red Hat has already included it in their seventh release.

Other aspects of RHEL remain virtually unchanged. Most system settings utilities, YUM package manager and structure operating system in general it seems to have remained the same. Red Hat is focused on the enterprise market and, for obvious reasons, does not want to rock the boat, so the features used every day do not change from release to release. The systemd initialization service was included in this release, but I did not notice any significant changes in performance.

Unfortunately, some aspects of the system have become worse compared to RHEL 6. One example is the installer. Although Anaconda works, it's slower and just plain more inconvenient previous version. My experience with Subscription Manager was also disappointing. I remember the process of creating an account in RHEL 6, it was completely painless. This time trying to access the repositories was quite tedious. Further, this version of RHEL consumes approximately three times more memory than the previous one. I've never met before Linux distribution, which would consume 500 MB of RAM immediately after logging in, so I hope this is due to debugging symbols remaining in the release candidate. And, although this is not a problem in the full sense of the word, it seemed strange to me that the version, which is positioned as a workstation for developers, does not include compilers or utilities for source code version control.

I believe RHEL 7 should be compared to other stability-oriented distros such as SUSE, Debian and Ubuntu LTS. I don't want to sound alarmist, but I'm afraid Red Hat is lagging behind its competitors in terms of compelling features. Although it is still the leader when it comes to duration and quality of support, I'm afraid RHEL is losing out in other areas. In particular, SUSE has fantastic administration tools and is a leader in providing Btrfs support. Ubuntu has excellent utilities for deploying an operating system with services enabled, plus Ubuntu already supports Docker. Debian has good stability and performance, and a recent release with long-term support. Experience with this release candidate shows that RHEL is putting everything on quality support, I don't know if that's a good idea.

Seven years ago, everyone I knew in the "real world" was using Red Hat Enterprise Linux or another distribution in its family, such as Fedora or CentOS, whether desktop or server. Today, almost everyone I know has switched to the Ubuntu family. I know one admin who is still on CentOS, but everyone else has moved or is in the process of switching. Red Hat is a highly profitable company, they are doing good things in the enterprise market and are a powerful force in the open source software market. But this RHEL release resembles not so much a “re-evaluation of the enterprise operating system” as a release to support conservative business clients, in demand only in the corporate market.

Install modern Linux system needed only once, both for a single physical server and for deploying an entire virtual farm. Why not spend a little more time on this and immediately do everything exactly as needed, rather than finishing off what came from the installer along its rails. In addition, the amount of software that is installed in the “minimal” mode of the standard installer does not correspond to the truly minimal one.
To someone manual installation may seem like a waste of time, but every Linux user must do this at least once in order to better understand how it works. If the words fdisk, grub and chroot do not scare you, read on.

Installing the operating system can be divided into 4 separate stages.

  1. Preparing the system storage
  2. Installing and configuring system components
  3. Preparing the system for self-boot
  4. Setting up the system for work tasks
On most modern systems, tasks 1-3 are performed by installers. In semi-automated installers, steps 1-3 are carried out in question-answer mode. In most automated ones, it’s similar, it’s just possible to specify a pre-prepared response file.

Writing an installer is not a trivial task. The guys from the project always knew this Gentoo, in which he never existed, but in Arch Linux community, recently decided to abandon installer support in favor of more pressing tasks. Even Microsoft understood this - the second stage in the Windows installer, starting with Vista, comes down to rolling a pre-assembled image. However, we are not talking about windows; that is the topic of another article.

By installing the OS manually, we have complete freedom of action at all stages. This article, of course, is not the only correct instruction; it is a scenario for installing a “spherical server in a vacuum.” Specific tasks and conditions can significantly influence any of the steps. As an example we will set Oracle Enterprise Linux 6 to a virtual machine running Microsoft Hyper-V. Not the best free a combination of course, but that’s not the point. By the way, this installation method does not require registration with Oracle. And for purists and adherents of Comrade Stallman, I suggest using KVM and installing CentOS or Scientific, which are almost 1:1 clones of RHEL so there is practically no difference in installation for them. OEL doesn’t have many unique nuances either. In addition to his kernel-uek Oracle Linux also offers the kernel of its Jango Fett, which has paravirtual drivers for Hyper-V devices and PnP disk forwarding.

In principle, any Linux or LiveCD is suitable for installation; rpm and yum are available for many platforms. But since we will have RHEL, it is most convenient to use a fresh LiveCD of a RHEL-like distro of the same major version. It will definitely have rpm and yum compatible versions, which makes the task much easier. I chose CentOS LiveCD, which can be downloaded from the nearest mirror.

1. Preparing the system storage

IN in this example will serve as system storage virtual disk V 10 Gb connected to the VM. All space, except for a small partition for the bootloader, will be given to management LVM, which I consider the most stable volume management system on the Linux platform

We boot from our LiveCD and go into the terminal. If we plan to work from the virtual machine itself, it is convenient to use graphic mode LiveCD downloads. There is even Firefox, of course not the latest.
But if we are already in the mood for minimalism, or the machine doesn’t have a lot of RAM, we boot into text mode, which can be selected in the bootloader. We set up an ssh server so that we can work in the terminal from our own machine. To gain access, you will need to change the root password and disable or configure the firewall.

$sudo su
# service sshd start
# passwd root
# service iptables stop

We partition our disk using fdisk, (parted, Red Hat Disk utility, hex editor, as you like :) to the required sections. Personally, I like the time-tested fdisk. RHEL is a conservative system, fdisk by default works in compatibility mode with the PRE-Historical Heritage, so we launch it with special flags.
We create a 500M partition for the bootloader. This is a huge size for a boot partition, but we don’t mind.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-20971519, default 2048):
Using default value 2048
Last sector, +sectors or +size(K,M,G) (2048-20971519, default 20971519): +500M

We set a “bootable” flag for it so that the first stage of the bootloader knows exactly where to boot.
Command (m for help): a
Partition number (1-4): 1

We give the rest of the space to the second part,
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First sector (1026048-20971519, default 1026048):
Using default value 1026048
Last sector, +sectors or +size(K,M,G) (1026048-20971519, default 20971519):
Using default value 20971519

which, to simplify the definition of LVM groups at the boot stage, we will set the type to 8e (Linux LVM)
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list): 8e

Create a file system for /boot. There are many fs from which GRUB, standard for an army of RHEL clones, can boot. Even an old lady is enough ext2, the log on the boot partition is not particularly needed - writing to it occurs only when installing new kernels and changing the bootloader configuration. I chose ext4. Additionally, we will indicate a label for the new fs, which can then be used in mount And fstab.

# mkfs.ext4 /dev/sda1
# e2label /dev/sda1 boot

We are preparing LVM on which our system will live
# pvcreate /dev/sda2
# vgcreate system /dev/sda2

In the created group, select the root partition in 4G. This is more than enough for a minimal system, we will give 1G to swap, which we will mount together with the new partitions to Live system. The remaining space gives you the freedom to create additional fs for /opt or /var, and you can also leave a reserve, which will allow you to use LVM snapshots

# lvcreate -n root -L 4G system
# mkfs.ext4 /dev/system/root
# e2label root !$
# lvcreate -n swap –L 1G system
# mkswap -f /dev/system/swap
# swapon !$
# mkdir -p /mnt/system/boot
# mount LABEL=root /mnt/system
# mount LABEL=boot /mnt/system/boot

2. Installation and configuration of system components

Information about all installed rpm packages is stored in a special database. As for rpm so for yum you can specify an alternative root fs, which gives us the opportunity to install RHEL in any directory with a minimum number of commands. RPMDB- RHEL spine, let's create it for the new system.
# rpm --root=/mnt/system –initdb

The sources of installation packages for yum are package repositories, links to which are in the /etc/yum.repos.d/ configs. If there is a connection, this can be any public repository accessible via the Internet, your own, mounted from a network storage, or, if installation disk images are available to you, you can use them. Like this:

# yum install createrepo
# mkdir -p /mnt/iso/(1,2,3)
# mount -o loop /mnt/nas/install/oel-6.4-cd(1,2,3).iso /mnt/iso/(1,2,3)
# createrepo /mnt/iso

If we want to install CentOS, it is enough to explicitly specify $releasever in the existing .repo files. These variables are taken from the distribution's release package, which is new system not yet, so you'll have to sed it a little

# sed -i.orig "s/$releasever/6/g" /etc/yum.repos.d/*.repo

I need OEL so that yum will be configured to the Oracle corporation public repository

# mv /etc/yum.repos.d(,.orig)
# mkdir /etc/yum.repos.d
#cd !$
# wget public-yum.oracle.com/public-yum-ol6.repo

You can begin installing the system. Let's start with a very “rudimentary” set of packages: the release package, glibc, bash and their dependencies:

# yum --installroot=/mnt/system install oraclelinux-release glibc bash

Such a system is already ready to be launched as a chroot from any Linux. But we have other plans, so we put rpm and yum there with all the dependencies:

# yum --installroot=/mnt/system install rpm yum

We will install the remaining packages on the new system. Let's copy dns settings, yum repositories. Let's bind the virtual files of our Live environment to similar paths of the system and enter it.

# cd /mnt/system
# cp /etc/resolv.conf ./etc/
# cp /etc/yum.repos.d/*.repo ./etc/yum.repos.d/

# mount -o bind /dev ./dev
# mount -o bind /sys ./sys
# mount -o bind /proc ./proc

# chroot ./

The first thing we see is the standard bash invitation. To bring it to the usual RHEL form, copy the bash settings from /etc/skel.

bash-4.1# cp /etc/skel/.bash* /root/
bash-4.1# source /root/.bashrc

Let's install some basic software:

  • dhclient, among whose dependencies (in addition to the OS logos in OEL:) there is also udev, an initialization system and even a firewall, which will bring our system closer to independence in one fell swoop
  • cronie scheduler, which carries postfix as an MTA and rsyslog logger
  • less, which, passwd, nc, telnet, which, man
  • favorite shell, editor, other software at your discretion
The range of software in the basic RHEL repositories is very limited, but fortunately there is EPEL, which is designed to solve this problem:
rpm -i www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum install passwd dhclient openssh cronie vim-minimal netcat telnet less which htop tmux less zsh figlet

Since we use LVM, at any time during installation (for example now) we can take a snapshot of our fs - which will be a block snapshot of the base RHEL, or stage3 in Gentoo terminology. It can be dumped to another storage. Or create an FS snapshot archive by mounting it. Based on such a snapshot, you can create templates for OpenVZ and similar systems with minimal effort. It's best to do all this outside of chroot:

(livecd) # lvcreate -L1G -s -nstage3 system/root

(livecd) # xz /dev/system/stage3 > /mnt/nas/templates/OEL6.4-minimal.bin.xz

(livecd) # mkdir /mnt/stage3
(livecd) # mount /dev/system/stage3 !$
(livecd) # cd !$
(livecd) # tar -zvpf /mnt/nas/templates/OEL6.4-minimal.tar.gz ./

Let's prepare a table of file systems. For the root path, it is most reliable to specify it in the form of an LVM virtual device, since it solves potential problems with naming when changing the configuration of the machine’s disk system “by design”.

# vi /etc/fstab
LABEL=boot /boot ext4 noauto 1 1
/dev/mapper/system-root ext4 defaults 1 2

Let's set up the network by creating configuration files, as the anaconda installer usually does.
# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=spoon.matrix.local

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes


Let's create a new user with sudo rights and specify a password for it.
useradd -u1337 -m -s /bin/zsh -G wheel morpheus
# echo "morpheus ALL=(ALL) ALL" >> /etc/sudoers.d/morpheus
#passwdmorpheus

Let's set up a local time zone.
# ln -sf /usr/share/zoneinfo/Europe/Riga /etc/localtime

Let's put a greeting in motd.

Next, we can, in principle, configure the machine for work task at my discretion, but I prefer to boot from it first:

3. Preparing the system for self-boot

Let's mount the boot partition and install the bootloader, its configuration manager, LVM management tools and the kernel
#mount/boot
# yum install grub grubby lvm2 kernel

So that grubby can register kernels in the bootloader config itself, a little work needs to be done. In addition to the symlink to the GRUB config, it needs at least one working entry in the config, which is used as a template. In the installed system in a standard way, the initial template is generated by anaconda. We will have to prepare the config manually, indicating the newly installed kernel and the necessary parameters for it. For example, quiet will remove the excessive verbosity of the kernel, and rhgb will launch a fake progress bar.
# cd /etc
# ln -sf ../boot/grub/grub.conf
# cd /boot
# ln -sf grub.conf menu.lst
# vi grub.conf
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Linux
root(hd0,0)
kernel /vmlinuz-2.6.32-358.6.2.el6.x86_64 ro lvm root=/dev/mapper/system-root LANG=en_US.UTF-8
initrd /initramfs-2.6.32-358.6.2.el6.x86_64.img

Let's reinstall the kernel to make sure that grubby is working and kernel updates will be correctly added to the config in the future. After this, we can remove the entry with our example from the config:
# yum reinstall kernel
# vi grub.conf

Install the bootloader on our disk
# grub-install /dev/sda --no-floppy

If for some reason the installation script did not work, grub can be installed to the disk manually
#grub
grub> root (hd0,0)
grub> setup (hd0)

Reboot into our system and start 4.Adjusting the system for work tasks. Their.

This is how fine-tuned templates for servers are created. Both universal, suitable for automation systems, and targeted, ready for deployment with minimal configuration.

A setup suitable for installing an Oracle DBMS is described (with a bunch of reservations, of course, see further in the text). Acts as an experimental server virtual machine VMware.

Native OS installation documentation is Red Hat Enterprise Linux 6 Installation Guide.

So, let's go...

1) Choose " Install or upgrade an existing system". If later during the installation process there are problems with the video card, you can try to repeat the installation and select “ Install system with basic video driver". In this case, the standard VGA driver will be installed.

2) When installing from a DVD, you are prompted to check it (in case the DVD is damaged). I choose " Skip“so as not to waste time.

3) Start of installation. Click " Next«.

4) Select a language during installation (it will be displayed in the installer screens). I choose " English", because This doesn’t bother me at all, but if installation problems arise, find information on the problem on the Internet at English language much more likely than in Russian.

Switching between languages ​​in the installer = Shift - Shift.

5) Select the default keyboard layout. I select “English” (I usually add the Russian layout after installing the OS, if necessary).

6) Installation on regular server with one SCSI disk (virtual Vmware machine), so I choose " Basic Storage Devices". Note: Installation on RAID array, if it is the only one in the system and has one logical drive, it is no different from installing it on a single drive.

If you have a production server, then the hardware configuration can be very different, so for each specific case, read the native documentation.

7) A warning that the installer did not find a partition table or any file system on the disk, but nevertheless, this device(disk) may contain data. Therefore, it is suggested that you either continue with the installation and delete the data, or the installation will not be performed on this disk.

I choose installation with removal - “ Yes, discard any data«.

Tick ​​below " Apply my choice to all devices with undetected partitions or filesystems» allows you to extend your solution to other drives too. If you remove it, you can make a separate decision for each disk.

8) Network settings. Here you need to enter the computer name (hostname). Because I leave the network settings to be automatically obtained using DHCP, then I can simply click “ Next". Otherwise, any network settings can be changed on this screen.

ATTENTION: The picture shows that the computer name (hostname) is entered with a period - do not do this! The dot in hostname can lead to various problems installing and operating Oracle and Oracle RAC. It is best if the hostname is no longer than eight characters, starts with a letter and contains only English letters and numbers.

9) Select the desired time zone.

10) Root user password. Root is the super user of the computer, so its password must be super, especially on industrial servers. And one more thing - remember it :)

11) It offers options for dividing the disk into disk groups and partitions. I choose " Use All Space", i.e. the entire disk will be completely repartitioned, everything that was on it will be destroyed. In this case, automatic partitioning of the disk into partitions will be applied.

You can choose other options, or do your own (manual) disk partitioning if you select “ Create Custom Layout«.

If you select the checkbox at the bottom " Review and modify partitioning layout“, then the screen described in step 12 will be shown where you can change the automatic disk partition (correct it).

12) The disk partition map is shown. You can make adjustments. For example, separate individual file systems or mount points into separate partitions, such as tmp or swap. You can allocate separate partitions for separate database table spaces.

I leave everything as it is.

13) Another warning, now formatting, that the data may be destroyed. I choose " Format«.

14) Final warning 🙂 I choose “ Write changes to disk«.

15) OS boot loader settings window. I'm not changing anything.

16) Selecting the installation type. For an Oracle server, it is better to select " Basic Server“—everything you need will be installed and nothing unnecessary.

Be sure to select the checkbox " Customize now“to be able to install graphics immediately during OS installation, because Then you will need to tinker with this, and graphics are needed to install Oracle.

Note: It is possible to install Oracle on Linux without graphics, for example silent, but this is a separate story. And no matter what command line apologists say, it’s somehow more comfortable to administer a server in a graphical setting.

Note2: If you select the “Database Server” installation type, then MySQL and PostgreSQL will be additionally installed - this has nothing to do with Oracle, so there is no point in choosing this type.

17) If in the previous paragraph 16 the checkbox “ Customize now" - we get this screen. Here you need to select “ Desktops» and select all the checkboxes as shown in the figure. This is necessary for the OS graphics subsystem and default shell to be installed. Gnome.

The figure shows that the graphical shell KDE not installed. Personally, I think it's heavier than Gnome and it is of no use on the server. A gnome will be enough :)

18) Installation process. We wait.

19) All! The installation has been successfully completed - after a reboot, the server is in full combat readiness.

Copyright © 2005 Red Hat, Inc.
Translation © 2005 Inventa

Introduction

1. Changes to this guide 2. Architectural information 3. Document conventions 4. Subscription activation 4.1. Entering Red Hat account information 4.2. Entering a subscription number 4.3. Connecting the system 5. Using the mouse 6. Copying and pasting text in the X environment 7. Future changes 7.1. We need your feedback!

I. Installation Issues

1. Installation using Kickstart 1.1. What is a Kickstart installation? 1.2. How to perform a Kickstart installation? 1.3. Creating a Kickstart 1.4 file. Kickstart 1.5 parameters. Selecting packages 1.6. Pre-installation script 1.7. Post-installation script 1.8. Making the Kickstart 1.9 file available. Ensuring accessibility of the installation directory tree 1.10. Start installation using Kickstart 2. Kickstart setup 2.1. Basic configuration 2.2. Installation method 2.3. Bootloader parameters 2.4. Information about sections 2.5. Network setup 2.6. Authentication 2.7. Setting up a firewall 2.8. Display settings 2.9. Selecting packages 2.10. Pre-installation script 2.11. Post-installation script 2.12. Saving a file 3. Installation over a network using PXE 3.1. Setting up a network server 3.2. Setting up PXE boot 3.3. Adding PXE nodes 3.4. Starting tftp server 3.5. Setting up a DHCP server 3.6. Adding your own loading message 3.7. Performing a PXE installation 4. Diskless environments 4.1. Starting a tftp server 4.2. Setting up a DHCP server 4.3. Setting up an NFS server 4.4. Completing the setup of a diskless environment 4.5. Adding nodes 4.6. Loading nodes 5. System recovery basics 5.1. Common problems 5.2. Booting in recovery mode 5.3. Loading in exclusive mode 5.4. Emergency boot

II. File systems

6. File system ext3 6.1. Features of ext3 6.2. Creating an ext3 file system 6.3. Transition to ext3 file system 6.4. Return to ext2 file system 7. Logical Volume Manager (LVM) 7.1. What is LVM? 7.2. What is LVM2? 7.3. Additional resources 8. Configuring LVM 8.1. Automatic disk partitioning 8.2. Manually partitioning LVM 9. Redundant Array of Independent Disks (RAID) 9.1. What is RAID? 9.2. Who should use RAID? 9.3. Comparison of hardware and software RAID arrays 9.4. Levels of RAID arrays and linear RAID 10. Setting up a software RAID array 10.1. Creating RAID partitions 10.2. Creating RAID Devices and Mount Points 11. Swap Space 11.1. What is swap space? 11.2. Adding Swap Space Recipe 11.3. Removing Swap Space Recipe 11.4. Moving swap space 12. Managing disk storage 12.1. Standard partitions in parted 12.2. Managing LVM partitions 13. Implementing disk quotas 13.1. Setting up disk quotas 13.2. Managing disk quotas 13.3. Additional Resources 14. Access Control Lists 14.1. Mounting file systems 14.2. Assigning an ACL for access 14.3. Default ACL assignment 14.4. Obtaining an ACL 14.5. Archiving file systems with ACLs 14.6. Compatible with earlier 14.7 systems. Additional Resources

III. Package Management

15. Managing Packages Using RPM 15.1. RPM Development Goals 15.2. Using RPM 15.3. Verifying the package signature 15.4. Amaze your friends with the capabilities of RPM 15.5. Additional Resources 16. Package Management Tool 16.1. Installing packages 16.2. Removing packages 17. Red Hat Network

IV. Network configuration

18. Network setup 18.1. Review 18.2. Setting up an Ethernet connection 18.3. Setting up an ISDN connection 18.4. Setting up a modem connection 18.5. Installing an xDSL connection 18.6. Establishing a connection Token Ring 18.7. Installation wireless connection 18.8. Managing DNS Settings 18.9. Managing Nodes 10.18. Working with profiles 11.18. Device aliases 12.18. Setting up an IPsec connection 18.13. Saving and restoring network settings 19. Basic firewall settings 19.1. Security Level Adjuster 19.2. Activating the iptables service 20. Managing access to services 20.1. Execution Levels 20.2. TCP wrappers 20.3. Configure Services Tool 20.4. ntsysv 20.5. chkconfig 20.6. Additional Resources 21. OpenSSH 21.1. Why use OpenSSH? 21.2. Setting up an OpenSSH server 21.3. Setting up the OpenSSH client 21.4. Additional Resources 22. Network File System (NFS) 22.1. Why use NFS? 22.2. Mounting NFS file systems 22.3. Exporting NFS file systems 22.4. Additional Resources 23. Samba 23.1. Why use Samba? 23.2. Setting up a Samba server 23.3. Connecting to a Samba share 23.4. Additional Resources 24. Dynamic Host Configuration Protocol (DHCP) 24.1. Why use DHCP? 24.2. Setting up a DHCP server 24.3. Setting up a DHCP client 24.4. Additional Resources 25. Configuring the Apache HTTP Server 25.1. Main parameters 25.2. Default parameters are 25.3. Virtual node parameters 25.4. Server parameters 25.5. Adjusting performance 25.6. Saving your settings 25.7. Additional Resources 26. Configuring a Secure Apache HTTP Server 26.1. Introduction 26.2. Overview of Security Packages 26.3. Overview of Certificates and Security 26.4. Using existing keys and certificates 26.5. Types of certificates 26.6. Key generation 26.7. Generating a request to a certification authority to obtain a certificate 26.8. Independent generation of a certificate 26.9. Certificate verification 10.26. Contacting the server 26.11. Additional Resources 27. Configuring Authentication 27.1. User information 27.2. Authentication 27.3. Command line version

V. System setup

28. Console access 28.1. Disable shutdown using -- 28.2. Denying access to console programs 28.3. Defining a Console 28.4. Providing access to files from the console 28.5. Allowing console access to other applications 28.6. Floppy group 29. Setting date and time 29.1. Date and Time Properties 29.2. Properties network protocol time (NTP) 29.3. Selecting the time zone 30. Setting up the keyboard 31. Setting up the mouse 32. Setting up the X Window system 32.1. Display settings 32.2. Display Hardware Settings 32.3. Dual Monitor Display Settings 33. Managing Users and Groups 33.1. Creating a new user 33.2. Changing user properties 33.3. Creation new group 33.4. Changing group properties 33.5. Using the Command Line 33.6. Process explanation 33.7. Additional Information 34. Setting up the printer 34.1. Adding a local printer 34.2. Adding an IPP Printer 34.3. Adding a Remote UNIX Printer (LPD) 34.4. Adding a Samba (SMB) Printer 34.5. Adding a Printer Novell NetWare(NCP) 34.6. Adding a JetDirect Printer 34.7. Selecting a printer model and completing setup 34.8. Printing a test page 34.9. Changing parameters of installed printers 34.10. Saving a configuration file 34.11. Using the command line 34.12. Managing print jobs 34.13. Providing public access to printer 34.14. Additional resources 35. Automation of tasks 35.1. Cron 35.2. At and batch tasks 35.3. Additional Resources 36. Log Files 36.1. Location of log files 36.2. Viewing Log Files 36.3. Adding a Log File Recipe 36.4. Analyzing Log Files 37. Updating the Kernel Manually 37.1. Kernel package overview 37.2. Preparing for update 37.3. Downloading the updated kernel 37.4. Performing update 37.5. Checking the initial RAM disk image 37.6. Checking the bootloader 38. Kernel modules 38.1. Managing Kernel Modules 38.2. Static loading of modules 38.3. Additional Resources 39. Configuring a Mail Delivery Agent (MTA)

VI. System monitoring

40. Collection of information about the system 40.1. System processes 40.2. Memory Usage 40.3. File systems 40.4. Equipment 40.5. Additional Resources 41. OProfile 41.1. Tool overview 41.2. Setting up OProfile 41.3. Starting and stopping OProfile 41.4. Saving data 41.5. Data Analysis 41.6. Exploring /dev/oprofile/ 41.7. Example of use 41.8. GUI 41.9. Additional Resources

Subject index

Imprint