Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Глава 2 Инсталляция Вашего Linux-сервера

В этой главе
Определите ваше аппаратное обеспечение
Создайте загрузочный и корневой диски
Классы и методы инсталляции
Разбиение диска (Disk Druid)
Компоненты инсталляции (Выбор пакетов для инсталляции)
Выбор индивидуальных пакетов
Описания программ, которые должны быть деинсталлированы из соображений безопасности
Как использовать команды RPM
Запуск и остановка демонов
Описание программы, которые должны быть удалены после инсталляции сервера
Программы, которые должны быть установлены после инсталляции сервера
Программы установленные на вашем сервере
Добавьте цветов на ваш терминал
Обновление программ до их последних версий

Я подготовил эту главу следуя за процедурой инсталляции. Каждый раздел ниже будет проводить Вас через различные экраны, которые будут возникать в процессе установки сервера.

Время от времени Red Hat обновляет свою операционную систему на новые версии и добавляет, удаляет и модифицирует некоторые пакеты, изменяет их месторасположения, содержимое и возможности. Недавно Red Hat выпустила версию 6.2 своей операционной системы, которая представляет собой незначительное обновление 6.1. В этой главе мы пытаемся рассмотреть вопросы инсталляции как версии 6.1, так и 6.2. Все разделы в этой секции, которые относятся к Red Hat 6.1, будут обозначаться (6.1), разделы, относящиеся к Red Hat 6.2, помечены (6.2), а общие для обеих версиях будут обозначены (All).

Определите Ваше аппаратное обеспечение.

Понимание того, какое аппаратное обеспечение у Вас установлено является важнейшей составляющей успешной инсталляции Red Hat Linux. Поэтому сейчас Вы должны прекратить чтение и прояснить для себя этот вопрос. Будьте готовы ответить на следующие вопросы:

  1. Сколько установлено жестких дисков?
  2. Каков объем каждого из них?
  3. Если у Вас несколько жестких дисков, то какой из них первичный?
  4. Какого типа диски у Вас установлены (IDE или SCSI)?
  5. Сколько оперативной памяти установлено?
  6. Имеете ли Вы SCSI-адаптеры? Если есть, то кто их производитель, и какой они модели?
  7. Есть ли RAID-система? Если есть, то кто ее производитель, и какой она модели?
  8. Мышь какого типа установлена (Microsoft, Logitech, PS/2 или другая)?
  9. Как много в ней кнопок (2/3)?
  10. Если мышь "серийная", то к какому COM-порту она подключена?
  11. Кто производитель, и какая модель видеоадаптера? Как много в нем видеопамяти?
  12. Какой у Вас монитор (производитель и модель)?
  13. Будете ли Вы подключены к сети. Если да, то выясните следующее:
    1. Ваш IP-адрес.
    2. Какова сетевая маска.
    3. Адрес шлюза по умолчанию.
    4. IP-адрес DNS-сервера.
    5. Ваше доменное имя.
    6. Имя Вашего компьютера.
    7. Какие сетевые карты у Вас установлены (производитель и модель).
Создайте загрузочный и корневой диски

(All) Первое, о чем надо подумать, это создание инсталляционной дискеты, известной также как загрузочная. Если Вы купили официальный Red Hat Linux CD-ROM, то Вы найдете ее в коробке, и Вам не нужно ее создавать. Она называется "Boot Diskette". Время от времени можно столкнуться с проблемой, что Ваша инсталляция, начатая со стандартной дискеты, завершается ошибкой, тогда Вам потребуется специальная загрузочная дискета, образ который можно найти на CD-ROM и на веб-странице Red Hat Linux Errata (http://www.redhat.com/errata).

Шаг 1.

Перед тем как сделать загрузочный диск, вставьте Official Red Hat Linux CD-ROM часть 1 в дисковод. Когда программа спросит имя файла, ответьте boot.img. Чтобы сделать загрузочный диск под MSDOS Вам нужно ввести следующие команды (принимаем, что CD-ROM это диск D:, и в него вставлен Official Red Hat Linux CD-ROM).

C:\> d:
D:\> cd \dosutils
D:\dosutils> rawrite
Enter disk image source file name: ..\images\boot.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and press --ENTER-- :
D:\dosutils>

Программа rawrite.exe запрашивает имя образа. Введите boot.img и вставьте дискету в дисковод. Затем программа спрашивает на какой диск записать образ. Ответьте a:. После завершения процедуры подпишите дискету, например, "Red Hat boot disk".

Шаг 2.

Если мы запускаем инсталляцию не напрямую с CD-ROM, то загружайтесь с дискеты. Вставьте дискету, которую Вы создали, в дисковод A: на компьютере, где собираетесь установить Linux и перезагрузите его. После появления приглашения к загрузке нажмите Enter для продолжения и выполните три следующих действия:

  1. Выберите язык
  2. Выберите тип клавиатуры
  3. Выберите тип мыши
Классы и методы инсталляции
Red Hat Linux 6.1 и 6.2 включает четыре предопределенных типа инсталляции:
  • Рабочая станция с GNOME,
  • Рабочая станция с KDE,
  • Сервер,
  • Пользовательская.
Первые три класса (рабочая станция с GNOME, рабочая станция с KDE и сервер) даны для упрощения процесса установки, но при этом теряется гибкость настройки, которую бы нам хотелось иметь. По этой причине я настоятельно рекомендую использовать опцию Custom, чтобы Вы могли точно знать, какие сервисы установлены и на какие разделы разбиты диски.

Идея состоит в том, чтобы проинсталлировать минимальное количество пакетов. Меньшее количество программного обеспечение, уменьшает количество потенциальных проблем с безопасностью. Выберите "Custom" и нажмите Next.

Разбиение диска (Disk Druid)

(All) Мы принимаем, что Вы устанавливаете Linux на новый диск, на котором нет никаких файловых или операционных систем. Хорошая стратегия разбиения диска, это разделение его на отдельные разделы для каждой важной файловой системы.

Разбиение диска на несколько разделов дает следующие преимущества:

  1. Защита от DoS (Denial of Service) атак
  2. Защита от SUID-программ
  3. Более быстрая загрузка
  4. Облегчение процедуры резервного копирования и обновления
  5. Улучшенный контроль над смонтированными файловыми системами
  6. Ограничение для каждой файловой системы возможности роста

Внимание. Если на Вашем компьютере есть файловые системы, я настоятельно рекомендую сделать резервную копию Вашей системы перед разбиением диска.

Шаг 1.

Исходя из соображений стабильности и безопасности, я рекомендую разбить диск согласно принципам описанным ниже. Я исходил из того, что у Вас есть SCSI-диск объемом 3.2 GB. Конечно, Вы можете изменить размеры разделов, исходя из размеров Вашего диска и личных нужд.

Разделы, которые необходимо создать на Вашем диске.

/boot5 MBОбразы ядер находятся здесь.
/usr512 MBДолжен быть большим. Все двоичные файлы Linux хранятся здесь.
/home1146 MBПропорционально числу пользователей (например, по 10 MB на пользователя * число пользователей 114 = 1140MB).
/chroot256 MBЕсли Вы будете использовать программы с CHROOT (например, DNS).
/cache256 MBКэш-раздел для прокси-сервера (например, для Squid).
/var256 MBСодержит файлы, которые изменяются при нормальной работе системы (например, лог-файлы).
<Swap>128 MBswap-раздел. Виртуальная память Linux.
/tmp256 MBРаздел для временных файлов.
/256 MBКорневой раздел.
Все основные файловые системы на отдельных разделах.

Мы создаем два специальных раздела /chroot и /cache. /chroot нужен для программ умеющих менять корневую файловую систему (chroot). К ним относятся DNS-сервер, веб-сервер Apache и ряд других программ. Раздел /cache предназначен для кэширующего прокси-сервера Squid. Если Вы не хотите использовать Squid, то Вы можете не создавать этот раздел.

Расположите /tmp и /home на отдельных разделах, особенно если пользователи Вашего сервера имеют shell-доступ к нему. Также хорошей идеей будет разместить на независимых разделах /var и /usr. Отделение /var защитит Ваш корневой раздел от переполнения.

В нашей конфигурации мы зарезервировали 256 MB под /chroot. Это связано с тем, что на нем будут располагаться файлы из Apache DocumentRoot и другие исполняемые файлы, связанные с Apache. Заметим, что размер каталога Apache на /chroot зависит от общего объема занимаемого файлами из DocumentRoot. Если Вы не планируете использовать Apache, то можете уменьшить размер этого раздела до 10 MB. Этого должно хватить для DNS-сервера.

Минимальные размеры разделов.

Ниже приведены минимальные размеры разделов при которых система корректно функционирует. Это действительно самые минимальные цифры. Они взяты исходя из размеров старых жестких дисков в 512 MB.

/35MB
/boot5MB
/chroot10MB
/home100MB
/tmp30MB
/usr232MB
/var25MB

Программа Disk Druid.

Disk Druid это утилита, которая облегчает процедуру разбиения диска на разделы. Выберите "Add" для создания нового раздела, "Edit" для редактирования раздела, "Delete" для удаления раздела и "Reset", чтобы сбросить последние изменения в исходное состояние. Когда Вы создаете новый раздел, перед Вами появляется новый экран, в котором Вы должны определить ряд параметров.

Точка монтирования (Mount Point): место в файловой системе, куда будет монтироваться данный раздел.
Size (Megs): размер нового раздела в мегабайтах.
Partition Type: Тип раздела: Linux native для файловой системы Linux и Swap для Linux Swap-раздела.
Если у Вас SCSI-диск, то устройство называется "/dev/sda", а если IDE-диск, то "/dev/hda". Если Вы стремитесь к высокой производительности и стабильности, используйте SCSI-диски.
Для описания дисков в Linux используется комбинация из букв и цифр.
Первые две буквы задают первые две буквы из названия устройства. Например, "hd" (для IDE-дисков) или "sd" (для SCSI-дисков).
Следующая буква показывает порядок подключения устройств к интерфейсу. Например, "/dev/hda" (первый IDE-диск) и "/dev/hdb" (второй IDE-диск).

Swap-раздел

Swap-раздел используется для поддержки виртуальной памяти. Если Ваш компьютер имеет 16 MB памяти или меньше, то swap-раздел просто необходим. Если памяти много больше, то его все равно рекомендуется создавать. Минимальный размер swap-раздела должен быть равен объему RAM, но не меньше 16 MB. Наибольший его размер 1 GB (столько поддерживают ядра серии 2.2). Вы можете создать и использовать более одного swap-раздела. Swap-раздел лучше располагать в начале диска. Физически начало диска находится на внешней части цилиндра, поэтому головка за один оборот охватывает большую поверхность.

Ниже приведен пример разбиения диска при помощи утилиты Disk Druid:

Add
Mount Point: /boot - Ваш /boot каталог.
Size (Megs): 5
Partition Type: Linux Native
Ok
Add
Mount Point: /usr - Ваш /usr каталог.
Size (Megs): 512
Partition Type: Linux Native
Ok
Add
Mount Point: /home - Ваш /home каталог.
Size (Megs): 1146
Partition Type: Linux Native
Ok
Add
Mount Point: /chroot - Ваш /chroot каталог.
Size (Megs): 256
Partition Type: Linux Native
Ok
Add
Mount Point: /cache - Ваш /cache каталог.
Size (Megs): 256
Partition Type: Linux Native
Ok
Add
Mount Point: /var - Ваш /var каталог.
Size (Megs): 256
Partition Type: Linux Native
Ok
Add
Mount Point: - Ваш /Swap-раздел (не имеет точки монтирования на Вашей файловой системе).
Size (Megs): 128
Partition Type: Linux Swap
Ok
Add
Mount Point: /tmp - Ваш /tmp каталог.
Size (Megs): 256
Partition Type: Linux Native
Ok
Add
Mount Point: - Ваш корневой каталог.
Size (Megs): 256
Partition Type: Linux Native
Ok

По окончании процедуры разбиения диска у Вас должно получиться следующее:

Точка монтированияУстройствоОбъем требуемый Объем выделенныйТип файловой системы
/bootSda15M5MLinux Native
/usrSda5512M512MLinux Native
/homeSda61146M1146MLinux Native
/chrootSda7256M256MLinux Native
/cacheSda8256M256MLinux Native
/varSda9256M256MLinux Native
<Swap>Sda10128M128MLinux Swap
/tmpSda11256M256MLinux Native
/Sda12256M256MLinux Native

DriveGeom [C/H/S]Total (M) Free (M)Used (M)Used (%)
sda[3079/64/32]3079M1M 3078M99%

Сейчас, когда Вы разбили диск и определили точки монтирования для разделов, нажмите Next для продолжения. После того, как новые разделы созданы, Вам будет предложено отформатировать их. Выберите раздел для инициализации, поставьте галочку напротив "проверить диски на плохие блоки" и нажмите Next. Раздел будет отформатирован и станет доступен для использования под Linux.

На следующем экране будет предложено выбрать конфигурацию LILO, где Вы сможете выбрать, куда Вы ее хотите проинсталлировать.
  1. В Master Boot Record (MBR)
  2. В первый сектор загрузочного раздела.
Обычно, если Linux будет единственной ОС на Вашей машине, то LILO устанавливают в MBR. После этого будет предложено настроить сеть и часы. Когда часы будут установлены, нужно выбрать пароль пользователя root и определить конфигурацию идентификации. Для нее не забудьте выбрать:
  1. Включить MD5 пароли
  2. Включить теневые пароли

Включать NIS не надо, так как мы не будем настраивать сервис NIS на нашем сервере.

Компоненты инсталляции (Выбор пакетов для инсталляции)
(All) После того, как Вы разбили диск и отформатировали разделы, наступает пора выбирать пакеты для инсталляции. По умолчанию, Linux является полнофункциональной системой с большим количеством запущенных сервисов. Большинство из них не нужны и могут нанести вред безопасности сервера. Идеально, когда каждый из сервисов работает на отдельной машине. Многие дистрибутивы Linux сконфигурированы по умолчанию на обслуживание широкого спектра сервисов, так что Вам надо сконфигурировать сервер так, чтобы отключить лишние службы. Предложение использовать важнейшие сервисы на отдельных компьютерах улучшает сетевую безопасность по следующим причинам:
  1. Нет других служб, которые можно использовать для атаки
  2. Различные сервисы могут обслуживать разные администраторы. Разнесение их по отдельным машинам сократит количество конфликтных ситуаций между администраторами.
  3. Отдельная машина может быть лучше сконфигурирована для выполнения определенных задач. Разные сервисы требуют разное аппаратное обеспечение и программную конфигурацию.
  4. При уменьшении количества сервисов уменьшается количество сообщений в лог-файлах, которые следует исследовать на предмет нестандартных ситуаций.

Правильная инсталляция Linux первый шаг к стабильной и безопасной системе. Сначала выберите, какие компоненты системы хотите проинсталлировать, а затем войдите в каждый из компонентов, чтобы отметить, какие пакеты надо устанавливать, а какие нет (Select individual packages). Так как мы инсталлируем сервер, мы не будем устанавливать графический интерфейс (Xfree86). Он на сервере не нужен, меньше процессов, меньше и загрузка процессора, меньше загрузка памяти, меньше риск нарушить безопасность системы и т. д. Графический интерфейс обычно используется на рабочих станциях. Выберите следующие компоненты для инсталляции.

  • Networked Workstation
  • Network Management Workstation
  • Utilities

Теперь можете выбрать пакеты внутри каждого компонента.

Замечание: Выбрать эту опцию (Select individual packages) очень важно до продолжения процедуры инсталляции.

Выбор индивидуальных пакетов

Инсталляционная программа представит список доступных групп с пакетами, выберите необходимую группу для проверки. Пакеты, перечисленные ниже, должны быть удалены из соображений безопасности, оптимизации и ряда других причин.

(6.1)
Applications/File:git
Applications/Internet finger, ftp, fwhois, ncftp, rsh, rsync, talk, telnet
Applications/Publishing ghostscript, ghostscript-fonts, mpage, rhs-printfilters
Applications/System arpwatch, bind-utils, knfsd-clients, procinfo, rdate, rdist, screen, ucd-snmp-utils
Documentationindexhtml
System Environment/Basechkfontpath, yp-tools
System Environment/Daemons XFree86-xfs, lpr, pidentd, portmap, routed, rusers, rwho, tftp, ucd-snmp, ypbind
System Environment/LibrariesXFree86-libs, libpng
User Interface/XXFree86-75dpi-fonts, urw-fonts
(6.2)
Applications/File:git
Applications/Internetfinger, ftp, fwhois, ncftp, rsh, rsync, talk, telnet
Applications/Publishing ghostscript, ghostscript-fonts, groff-perl, pnm2ppa, mpage, rhs-printfilters
Applications/System arpwatch, bind-utils, rdate, rdist, screen, ucd-snmp-utils
Documentationindexhtml
System Environment/Basechkfontpath, yp-tools
System Environment/Daemons XFree86-xfs, lpr, pidentd, portmap, routed, rusers, rwho, tftp, ucd-snmp, ypbind, finger-server, nfs-utils, pidentd, portmap, rsh-server, rusers-server, rwall-server, talk-server, telnet-server, tftp-server, ypserv
System Environment/Libraries XFree86-libs, libpng
User Interface/Xurw-fonts

Далее мы приведем описание каждой программы, которую мы хотим деинсталлировать. Кто-нибудь может спросить, почему мы удаляем finger, ftp, fwhois и telnet на сервере? Первое, это то, что все эти программы по своей сути небезопасны. Представьте, что хакер имеет доступ на Ваш новый сервер, тогда он сможет использовать finger, ftp, fwhois и telnet для доступа к другим компьютерам в Вашей сети. Если этих программ нет на сервере, то ему придется использовать их в другом месте или попытаться проинсталлировать их у Вас, а вот это-то уже легко можно отследить, например, при помощи Tripwire. Хотя такие сервисы как telnet, finger, talk, rsh, rusers, rwall и tftp в Red Hat 6.2 разделены на серверные и клиентские пакеты, мы все равно рекомендуем деинсталлировать их из соображений повышения безопасности.

Описания программ, которые должны быть деинсталлированы из соображений безопасности

Ниже приводится список программ и краткие описания их использования. Для улучшения безопасности мы должны деинсталлировать их. Для получения большей информации и пояснений об их особенностях и использовании читайте руководство пользователя Red Hat или инсталлировав пакет дайте команду rpm -qi пакет. По ней Вы получите краткое описание пакета. Не забудьте потом деисталлировать этот пакет.

Applications/File:
(All) GIT (GNU Interactive Tools) предоставляет расширяемый браузер файловой системы, с ASCII/hexadecimal программой просмотра, программой просмотра/уничтожения процессов, и другими утилитами и shell-скриптами (ненужный пакет).

Applications/Internet:
(All) Finger это утилита, которая позволяет пользователям получить информацию о пользователях системы (регистрационное имя, домашний каталог, как долго он подключен к системе и т. д. (Риск для безопасности).
(All) В пакет ftp входит стандартный консольный UNIX ftp-клиент. FTP это протокол пересылки файлов, который широко используется в Интернет для пересылки и архивирования файлов. (Риск для безопасности).
(All) Программа whois позволяет пользователям организовывать запросы к базам данных whois. (Риск для безопасности).
(All) Ncftp это улучшенный ftp-клиент. Среди улучшений можно выделить редактирование командной строки, историю команд, рекурсивное закачивание файлов, автоматическое подключение к системе как анонимный пользователь и другое. (Риск для безопасности, ненужный пакет).
(All) Пакет rsh включает комплект программ, которые позволяют пользователям выполнять команды на удаленной машине, присоединяться к удаленным машинам и копировать файлы между компьютерами, (Риск для безопасности).
(All) Пакет ntalk содержит клиентскую программу и демон для организации чатов между пользователями с использованием протокола Internet talk. (Риск для безопасности).
(All) Telnet это популярная программа для подключения к удаленным системам через Интернет. (Риск для безопасности).

Applications/Publishing:
(All) Ghostscript это набор программного обеспечения, которое предоставляет интерпретатор PostScript(TM), набор C-подпрограмм (библиотека Ghostscript, которая обеспечивает графическую совместимость в интерпретаторе PostScript) и интерпретатор файлов Portable Document Format (PDF). (Ненужный пакет).
(All) ghostscript-fonts могут использоваться интерпретатором GhostScript во время визуализации текста. Они идут в дополнение к общим шрифтам GhostScript и X11 (ненужный пакет).
(All) Утилита mpage получает на вход текстовый или PostScript-файл, изменяет размер текста и печатает файл на PostScript-принтере, умещая на одной странице несколько страниц текста. (Ненужный пакет, нет принтеров установленных на сервере).
(All) Пакет rhs-printfilters содержит комплект фильтров печати, которые первоначально предназначались для Red Hat printtool. (Ненужный пакет, нет принтеров установленных на сервере).
(6.2) Пакет groff-perl содержит набор команд и фильтр печати используемого в среде принтера (Ненужный пакет, нет принтеров проинсталлированных на сервере).
(6.2) Пакет pnm2ppa содержит драйвер цветной печати для принтера HP PPA. (Ненужный пакет, нет принтеров установленных на сервере).

Applications/System:
(All) Пакет arpwatch включает две программы arpwatch и arpsnmp. Эти утилиты предназначены для мониторинга сети. Они следят за сетевым трафиком в Ethernet или FDDI-сетях, ведут базу данных участников соединений и могут пересылать отчеты об определенных изменениях по электронной почте. (Ненужный пакет).
(All) Bind-utils это набор утилит, предназначенных для организации запросов к DNS-серверам и поиска информации об Интернет-хостах. (Мы будем компилировать их позже).
(6.1) knfsd-clients пакет содержит программу showmount. Showmount запрашивает демон монтирования на удаленной машине и получает от него информацию о NFS-сервере. (Риск для безопасности).
(6.1) Команда procinfo берет информацию из каталога /proc, форматирует ее и отображает на стандартном устройстве вывода. Вы можете получать информацию о системе. (Ненужный пакет, существуют другие методы получения информации).
(All) Утилита rdate получает информацию о дате и времени от удаленной машины в сети по протоколу описанному в RFC 868. (Риск для безопасности).
(All) Программа rdist управляет идентичностью копий файлов на разных компьютерах. Если возможно, rdist будет хранить данные о владельце файла, группе, правах доступа и времени модификации, и она может обновить программу, если она существует. (Риск для безопасности).
(All) Пакет ucd-snmp содержит различные утилиты, которые можно использовать с проектом сетевого управления UCD-SNMP (Ненужный пакет. Риск для безопасности).
(All) Утилита screen позволяет иметь несколько соединений на одном терминале. Она полезна тем пользователям, которые присоединяются через telnet к удаленной машине или используют "тупой" терминал, но хотят иметь более одного одновременного входа в систему. (Ненужный пакет).

Documentation:
(All) Пакет indexhtml включает HTML-страницы и графические изображения для страниц с приглашениями в Вашем веб-браузере, которые Вы видите после полной инсталляции Red Hat Linux. (Ненужный пакет).

System Environment/Base:
(All) Chkfontpath это простая терминальная программа для добавления, удаления и просмотра каталогов, включенных в поисковые пути для шрифтов X-сервера. (Ненужный пакет).
(All) Network Information Service (NIS) это система, которая предоставляет сетевую информацию (регистрационное имя, пароль, имя домашнего каталога, информацию о группах) всем компьютерам в сети. (Риск для безопасности).

System Environment/Daemons:
(All) XFree86-xfs это сервер шрифтов для Xfree86. Вы можете предоставлять шрифты другим удаленным X-серверам, а они смогут использовать все шрифты, которые есть у Вас на сервере, даже если их нет у них на компьютере. (Ненужный пакет).
(All) Пакет lpr предоставляет базовую системную утилиту для управления сервисом печати (Ненужный пакет).
(All) Пакет pidentd включает демон ident, который реализует сервер идентификации, описанный в RFC 1413. Identd смотрит за определенными TCP/IP-соединениями и возвращает оба имени пользователей и другую информацию о процессах, которые владеют соединением. (Ненужный пакет. Многие машины в сети не имеют подобного демона или выключают его.)
(All) Программа portmapper это защитная утилита, которая предупреждает кражу из NIS (YP) и NFS важной информации через portmapper. Portmapper управляет RPC-соединениями, которые используются такими протоколами как NFS и NIS. (Ненужный пакет. Риск для безопасности).
(6.1) Routed это демон маршрутизации, который обрабатывает входящий RIP-трафик и широковещательный исходящий RIP-трафик о сетевых маршрутах, согласно таблицам маршрутизации. Эти таблицы очень важны для сетевого компьютера, по ним он определяет, куда надо посылать пакеты. (Ненужный пакет. Риск для безопасности).
(All) Программа rusers позволяет пользователям узнавать, кто присоединен к удаленным компьютерам в сети. Она выдает результаты, подобные команде who, но для определенного списка компьютеров или для всех машин в локальной сети (Риск для безопасности).
(All) Программа rwho выводит результаты подобно команде who, но для всех компьютеров в локальной сети, на которых запущен демон rwho. (Риск для безопасности).
(6.1) Trivial File Transfer Protocol (TFTP) обычно используется для загрузки бездисковых рабочих станций. Пакет tftp предоставляет пользовательский интерфейс к TFTP, который позволяет пересылать файлы с или на удаленную машину (Риск для безопасности, ненужный пакет).
(All) SNMP (Simple Network Management Protocol) это протокол, используемый для сетевого управления. (Ненужный пакет, риск для безопасности).
(6.2) Пакет finger-server содержит демон finger, который запускается из файла /etc/inetd.conf и позволяет удаленным пользователям получать информацию о пользователях на сервере. (Риск для безопасности).
(6.2) Пакет nfs-utils предоставляет утилиты и демон для корневого сервера NFS. Он должен быть проинсталлирован, если Вы планируете предоставлять NFS-сервис. (Риск для безопасности, NFS-сервис не инсталлирован на сервере).
(6.2) Пакет rsh-server содержит сервер, нужный для работы rsh, rlogin, rcp, которые предоставляют доступ к командам на удаленной машине. (Риск для безопасности).
(6.2) Пакет rusers-server содержит сервер, который принимает пользовательские запросы и позволяет им узнать, кто подключен к серверу (риск для безопасности).
(6.2) Пакет rwall-server содержит демон, который позволяет принимать сообщения от удаленных пользователей (Риск для безопасности).
(6.2) Пакет talk-server содержит демон, который позволяет беседовать (chat) из терминала с пользователями из удаленных UNIX-систем (риск для безопасности).
(6.2) Пакет telnet-server содержит демон, который реализует telnet протокол на Вашем сервере (риск для безопасности),
(6.2) Пакет tftp-server содержит демон, реализующий TFTP-сервер на Вашем компьютере, который позволяет пересылать файлы на или с удаленных машин (риск для безопасности).
(6.2) Пакет ypserv это NIS (Network Information Service) сервер, который предоставляет сетевую информацию (NIS) всем машинам в сети (риск для безопасности, мы не используем его на нашем сервере).

System Environment/Libraries:
(All) XFree86-libs включает общие библиотеки, которые могут использовать большинство программ, запускаемых под X. (Ненужный пакет).
(All) Пакет libpng включает библиотеку функций для создания и манипулирования изображениями PNG (Portable Network Graphics). PNG это растровый графический формат, значительно превосходящий GIF. (Ненужный пакет).

User Interface/X:
(6.1) XFree86-75dpi-fonts включает 75 dpi шрифты, используемые на большинстве X Window System. (Ненужный пакет).
(All) urw-fonts включает свободные версии 35 PostScript-шрифтов. (Ненужный пакет).

После определения пакетов программа будет форматировать каждый раздел, что может занять до нескольких минут, в зависимости от быстродействия компьютера. После форматирования выбранные пакеты будут установлены.

Как использовать команды RPM.

Эта секция включает обзор основных режимов, используемых в RPM для инсталляции, деинсталляции, обновления, организации запросов, просмотра описаний, проверки и создания RPM-пакетов на Вашей Linux-системе. Вы должны быть с этими командами "на ты" потому, что дальше они будут часто использоваться в этой книге.

Для инсталляции RPM-пакетов используйте команду:
[root@deep]# rpm -ivh foo-1.0-2.i386.rpm
RPM-пакеты имеют имена файлов, подобные foo-1.0-2.i386.rpm, которое включает следующие составляющие: имя пакета (foo), версия (1.0), релиз (2) и архитектура системы назначения (i386).
Для удаления RPM-пакета используйте команду:
[root@deep]# rpm -e foo
Заметим, что мы используем имя пакета "foo", а не оригинальное имя пакета foo-1.0-2.i386.rpm.
Для обновления RPM-пакета, используйте команду:
[root@deep]# rpm -Uvh foo-1.0-2.i386.rpm
RPM автоматически деинсталлирует старую версию пакета foo и инсталлирует новую. Всегда используйте "rpm -Uvh" для инсталляции, так как это работает хорошо, даже когда предыдущая версия пакета не установлена.
Вопрос о RPM-пакете:
[root@deep]# rpm -q foo
Эта команда будет выводить имя пакета, версию и номер релиза установленного пакета. Используйте эту команду для проверки установлен ли у Вас некоторый пакет или нет.
Для получения информации о пакете используйте команду:
[root@deep]# rpm -qi foo
Эта команда выводит информацию о пакете, включая имя, версию и описание установленной программы.
Для получения списка файлов в пакете введите команду:
[root@deep]# rpm -ql foo
Эта команда выдаст список всех файлов в инсталлированном пакете.
Для проверки сигнатуры пакета используйте команду:
[root@deep]# rpm --checksig foo
Эта команды проверяет PGP-сигнатуру пакета foo, сравнивая оригинальную и интегрированную в пакет. Конфигурационная информация PGP читается из конфигурационного файла. Всегда используйте эту команду до инсталляции пакета в Вашей системе. До использования этой команды у Вас должно быть проинсталлирована программное обеспечение GnuPG или Pgp.
Для инсталляции пакета из исходных файлов используйте команду:
[root@deep]# rpm -ivh --rebuild foo.src.rpm
Приведенная выше команда будет конфигурировать и компилировать пакет foo, создавая двоичный RPM-файл в каталоге /usr/src/redhat/RPMS/i386. Затем Вы сможете проинсталлировать пакет так, как Вы это делаете обычно.
Запуск и останов сервисных демонов.

После загрузки, ядро запускает процесс Init, а уже он запускает все остальные процессы, необходимые для работы системы (демон Apache, все сетевые демоны и все то, что Вы хотите запустить).

Как же init запускает и останавливает процессы? Каждый из скриптов, находящихся в каталоге /etc/rc.d/init.d, может принять несколько аргументов, в том числе start и stop. Вы можете запустить эти скрипты и вручную.

Для старта httpd Веб-сервера вручную введите:

[root@deep]# /etc/rc.d/init.d/httpd start
Starting httpd: [ OK ]

Для остановки httpd Веб-сервера вручную введите:

[root@deep]# /etc/rc.d/init.d/httpd stop
Shutting down http: [ OK ]
Для перезагрузки httpd Веб-сервера вручную введите:
[root@deep /]# /etc/rc.d/init.d/httpd restart
Shutting down http: [ OK ]
Starting httpd: [ OK ]

Просмотрите содержимое каталога /etc/rc.d/init.d, чтобы узнать какие сервисы доступны и используйте команды start и stop для работы с ними.

Программное обеспечение, которое должно быть деинсталировано после установки сервера

Red Hat Linux инсталлирует ряд программ в Вашей системе, от которых Вы не сможете отказаться в процессе установки. Из-за этого Вы должны удалить эти программы вручную после инсталляции сервера.

(6.1)(6.2)
pumppump
mt-stmt-st
ejecteject
mailcapmailcap
apmdapmd
kernel-pcmcia-cskernel-pcmcia-cs
linuxconflinuxconf
getty_psgetty_ps
setconsole
isapnptoolsisapnptools
setserialsetserial
kudzukudzu
raidtoolsraidtools
gnupggnupg
redhat-logosredhat-logos
redhat-releaseredhat-release
gdgd
pciutilspciutils
rmtrmt
Используйте следующие команды RPM для удаления этих программ
rpm -e softwarenames
где softwarenames задает имя программы для деинсталляции, например foo. Программы подобные apmd, kudzu и sendmail являются демонами, которые запускаются как процессы. Лучше остановить эти процессы прежде, чем удалять их.

Для остановки этих процессов используйте следующие команды:

[root@deep]# /etc/rc.d/init.d/apmd stop
[root@deep]# /etc/rc.d/init.d/sendmail stop
[root@deep]# /etc/rc.d/init.d/kudzu stop

Сейчас Вы сможете спокойно деисталлировать их и другие программы как описано ниже:

Шаг 1

(6.1) Удаление определенных программ.

[root@deep /]# rpm -e --nodeps pump mt-st eject mailcap apmd \
                   kernel-pcmcia-cs linuxconf getty_ps setconsole \
                   isapnptools setserial kudzu raidtools gnupg \
                   redhat-logos redhat-release gd pciutils rmt

(6.2) Удаление определенных программ.

[root@deep /]# rpm -e --nodeps pump mt-st eject mailcap apmd \
                   kernel-pcmcia-cs linuxconf getty_ps isapnptools \
                   setserial kudzu raidtools gnupg redhat-logos \
                   redhat-release gd pciutils rmt

Шаг 2

(All) Ручное удаление файла linux.conf-installed.
[root@deep]# rm -f /etc/conf.linuxconf-installed
Заметим, что конфигурационный файл связанный с linuxconf, должен быть удален именно вручную.

Программа hdparm необходима для IDE-дисков, но не нужна для SCSI. Если у Вас IDE-диски, Вам нужно оставить эту программу, иначе можете смело ее удалять:

[root@deep /]# rpm -e hdparm

Программы kbdconfig, mouseconfig и timeconfig необходимы для настройки клавиатуры, мыши и временной зоны. После того как все настроено, вряд ли придется, что-либо менять, поэтому можно удалять эти программы. Если в дальнейшем потребуется изменить настройки системы, то можно будет проинсталлировать программы с CD-ROM.

[root@deep /]# rpm -e kbdconfig mouseconfig timeconfig \
                   authconfig ntsysv setuptool

Даже если Ваша машина не будет выступать в роли почтового сервера, все равно программа sendmail всегда будет нужна ей для отправки сообщений пользователю root от различного программного обеспечения. Sendmail это полнофункциональный почтовый агент доставки (Mail Transport Agent, MTA), который занимается пересылкой почты с одной машины на другую. В Интернет sendmail занимается пересылкой почты из одной сети в другую. Sendmail может быть настроен для выполнения различных функций, как агент доставки почты к центральному почтовому узлу, как центральный почтовый хаб или просто как независимо существующий MTA. В зависимости от того, что Вы хотите получить от sendmail, Вы можете настроить его на выполнение различных задач. Из этих соображений надо удалить sendmail с Вашего сервера и установить его так, как будет описано ниже в этой книге:

[root@deep /]# rpm -e sendmail
Описание программы, которые должны быть удалены после инсталляции сервера

(All) DHCP (Dynamic Host Configuration Protocol) и BOOTP (Boot Protocol) являются протоколами, которые позволяют отдельным устройствам в IP-сетях получать конфигурационную информацию (ip-адрес, сетевая маска, широковещательный адрес и т. д.) от серверов. (Ненужный пакет).
(All) Пакет mt-st включает программное обеспечения для управления устройствами чтения с магнитных лент. Mt (для устройств magnetic tape devices) и st (для SCSI tape devices) может контролировать перемотку и вытаскивание ленты, пропуск файлов, блоков и пр. (Ненужный пакет).
(All) Программа eject позволяет пользователям извлекать приносимые устройства информации (обычно это CD-ROM, гибкие диски или диски Iomega Jaz и Zip), используя программные средства. (Ненужный пакет).
(All) Файл mailcap используется программой metamail, которая использует этот файл, чтобы определить, как должны быть выведены нетекстовые и мультимедиа-материалы. (Ненужный пакет).
(All) Apmd это демон расширенного управления питанием и сопутствующие ему утилиты. Он может следить за батареями ноутбука и предупредить всех пользователей, если они почти разрядились. (Ненужный пакет).
(All) Пакет kernel-pcmcia-cs для лаптоп-компьютеров (и некоторых не-лаптоп), которые поддерживают PCMCIA-карты расширения. (Ненужный пакет).
(All) Linuxconf это чрезвычайно удобная утилита для настройки системы. Она предоставляет четыре вида интерфейса: текстовый, в виде текстовых меню, графический для X11 и веб-интерфейс. (Ненужная программа, содержащая много ошибок).
(All) Пакет getty_ps содержит программы getty и uugetty, базовые программы для выполнения процесса login на системе Red Hat. Getty и uugetty используются для приемы входов в систему с консоли или терминала. (Ненужный пакет).
(6.1) Setconsole базовая системная утилита для установки файлов /etc/inittab, /dev/systty и /dev/console для манипулирования новыми консолями. Консолью может быть любой локальный терминал (то есть, напрямую присоединенный через видеокарту) или последовательный терминал. (Ненужный пакет).
(All) Пакет isapnptools включает утилиты для настройки ISA Plug-and-Play (PnP) карт и плат, которые совместимы со спецификацией ISA Plug-and-Play v. 1.0a. (Ненужный пакета).
(All) Setserial это базовая системная утилита для просмотра и установки информации о последовательных портах. Setserial может находить и позволяет изменить I/O порт и IRQ, которые использует последовательное устройство. (Ненужный пакет).
(All) Kudzu это утилита для автоматического определения аппаратного обеспечения. Во время загрузки, она может определить, какие устройства были добавлены и удалены из Вашей системы. (Ненужный пакет).
(All) Пакет raidtools включает утилиты, которые нужны для установки и управления программными RAID-устройствами (использование комбинации из двух и более дисковых накопителей для защиты информации от ошибок и улучшения производительности). (В зависимости от того, нужен Вам RAID или нет).
(All) GnuPG это GNU-утилита для безопасного общения и хранения данных. Вы можете использовать ее для шифрования данных и создания цифровых ключей. Она включает расширенную систему управления ключами и совместима с предлагаемым OpenPGP Интернет стандартом, описанным в RFC2440. (Мы установим этот пакет позже).
(All) Пакет redhat-logos включает файлы из Red Hat "Shadow Man" logo и RPM logo ("Logos"). (Ненужный пакет).
(All) redhat-release содержит Red Hat рели-файлы. (Ненужный пакет).
(All) Gd это графическая библиотека для создангия .gif-файлов. Gd позволяет Вашим программам быстро рисовать (линии, дуги, текст, цвета и вставки из других изображений) и записывать результаты в .gif-файлы. (Ненужный пакет).
(All) Этот пакет (pciutils) содержит программы, необходимые для контроля и установки устройств, подключенных к шине PCI. (Ненужный пакет).
(All) Утилита rmt предоставляет удаленный доступ для резервного копирования (риск для безопасности, так как работа rmt зависит от rsh).

Программное обеспечение, которое должно быть установлены после инсталляции сервера.

Чтобы иметь возможность компилировать программы, нужные Вашему серверу, Вы должны проинсталлировать ряд RPM-пакетов. Эта часть инсталляции очень важна и Вы должны обязательно установить все программное обеспечение, описанное ниже. Эти пакеты находятся на Red Hat Part 1 CD-ROM в каталоге RedHat/RPMS.

Шаг 1.

Мы монтируем CD-ROM и перемещаемся в каталог RPMS:
[root@deep]# mount /dev/cdrom /mnt/cdrom
[root@deep]# cd /mnt/cdrom/RedHat/RPMS
Это минимальное количество программного обеспечения, необходимого для компиляции большинства программ, нужных Вашему серверу. Если у Вас возникают проблему с компиляцией каких-либо программ, внимательно прочитайте файл README, чтобы выяснить, что должно быть установлено до компиляции.
(6.1)(6.2)
autoconf-2.13-5.noarch.rpmautoconf-2.13-5.noarch.rpm
m4-1.4-12.i386.rpmm4-1.4-12.i386.rpm
automake-1.4-5.noarch.rpmautomake-1.4-6.noarch.rpm
dev86-0.14.9-1.i386.rpmdev86-0.15.0-2.i386.rpm
bison-1.28-1.i386.rpmbison-1.28-2.i386.rpm
byacc-1.9-11.i386.rpmbyacc-1.9-12.i386.rpm
cdecl-2.5-9.i386.rpmcdecl-2.5-10.i386.rpm
cpp-1.1.2-24.i386.rpmcpp-1.1.2-30.i386.rpm
cproto-4.6-2.i386.rpmcproto-4.6-3.i386.rpm
ctags-3.2-1.i386.rpmctags-3.4-1.i386.rpm
egcs-1.1.2-24.i386.rpmegcs-1.1.2-30.i386.rpm
ElectricFence-2.1-1.i386.rpmElectricFence-2.1-3.i386.rpm
flex-2.5.4a-7.i386.rpmflex-2.5.4a-9.i386.rpm
gdb-4.18-4.i386.rpmgdb-4.18-11.i386.rpm
kernel-headers-2.2.12-20.i386.rpm kernel-headers-2.2.14-5.0.i386.rpm
glibc-devel-2.1.2-11.i386.rpmglibc-devel-2.1.3-15.i386.rpm
make-3.77-6.i386.rpmmake-3.78.1-4.i386.rpm
patch-2.5-9.i386.rpmpatch-2.5-10.i386.rpm

Шаг 2.

(6.1) Инсталлируем все пакеты, описанные выше, при помощи одной команды:

[root@deep RPMS]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm \
                      automake-1.4-5.noarch.rpm dev86-0.14.9-1.i386.rpm \
                      bison-1.28-1.i386.rpm byacc-1.9-11.i386.rpm \
                      cdecl-2.5-9.i386.rpm cpp-1.1.2-24.i386.rpm \
                      cproto-4.6-2.i386.rpm ctags-3.2-1.i386.rpm \
                      egcs-1.1.2-24.i386.rpm ElectricFence-2.1-1.i386.rpm \
                      flex-2.5.4a-7.i386.rpm gdb-4.18-4.i386.rpm \
                      kernel-headers-2.2.12-20.i386.rpm \
                      glibc-devel-2.1.2-11.i386.rpm make-3.77-6.i386.rpm \
                      patch-2.5-9.i386.rpm

(6.2) Инсталлируем все пакеты, описанные выше, при помощи одной команды:

[root@deep RPMS]# rpm -Uvh autoconf-2.13-5.noarch.rpm m4-1.4-12.i386.rpm \
                      automake-1.4-6.noarch.rpm dev86-0.15.0-2.i386.rpm \
                      bison-1.28-2.i386.rpm byacc-1.9-12.i386.rpm \
                      cdecl-2.5-10.i386.rpm cpp-1.1.2-30.i386.rpm \
                      cproto-4.6-3.i386.rpm ctags-3.4-1.i386.rpm \
                      egcs-1.1.2-30.i386.rpm ElectricFence-2.1-3.i386.rpm \
                      flex-2.5.4a-9.i386.rpm gdb-4.18-11.i386.rpm \
                      kernel-headers-2.2.14-5.0.i386.rpm \
                      glibc-devel-2.1.3-15.i386.rpm make-3.78.1-4.i386.rpm \
                      patch-2.5-10.i386.rpm

Шаг 3.

Выходим из системы и снова входим в нее, чтобы все изменения сработали:

[root@deep]# exit

После инсталляции и компиляции всех необходимых программ будет хорошей идеей удалить компиляторы и подобные им программы. В основном это делается для того, чтобы злоумышленник, проникший на Ваш сервер, не смог скомпилировать или модифицировать необходимые ему программы. Также освободиться место на диске и уменьшиться количество файлов, которые будет необходимо регулярно проверять.

Когда Вы включаете сервер, Вы запускаете на выполнение много задач. Вы никогда не должны помещать все сервисы на одну машину, или Вы потеряете в быстродействии (все ресурсы будут разделяться между всеми процессами) и ухудшите безопасность системы.

Создание разных серверов для разных задач упрощает процесс администрирования, управления (Вы точно знаете, какие задачи что делают, какие сервисы доступны, какие порты открыты для доступа клиентов, а какие закрыты, и знаете, что Вы должны увидеть в лог-файлах) и дает больший контроль и гибкость для каждого из них (сервер, обрабатывающий почту, веб-страницы, базы данных и т. д.).

Итак, наличие, например, специализированного сервера для разработки и тестирования, позволит не устанавливать компиляторы на других серверах каждый раз, когда Вы хотите обновить программное обеспечение. Для получения большей информации смотрите главу 9 "Возможности компилятора".

Программы, установленные на Вашем сервере.

Шаг 1.

Итак, если Вы выбрали пользовательский метод инсталляции, то ниже перечислены все программы, которые должны быть установлены на сервере. Этот список должен в точности совпадать с файлом install.log, находящимся в /tmp. Не забудьте установить все программы о которых было написано в разделе "Программное обеспечение которое должно быть проинсталлировано после установки сервера".

(6.1)

Installing setup.Installing gzip. Installing sendmail.
Installing filesystem.Installing gpm.Installing setconsole.
Installing basesystem.Installing groff.Installing setserial.
Installing ldconfig.Installing hdparm.Installing setuptool.
Installing glibc.Installing initscripts.Installing shapecfg.
Installing shadow-utils.Installing ipchains. Installing slang.
Installing mktemp.Installing isapnptools.Installing slocate.
Installing termcap.Installing kbdconfig.Installing stat.
Installing libtermcap.Installing kernel.Installing sysklogd.
Installing bash.Installing kernel-pcmcia-cs. Installing tar.
Installing MAKEDEV.Installing kudzu.Installing tcp_wrappers.
Installing SysVinit.Installing ld.so.Installing tcpdump.
Installing XFree86-Mach64.Installing less. Installing tcsh.
Installing chkconfig.Installing libc.Installing time.
Installing apmd.Installing libstdc++.Installing timeconfig.
Installing ncurses.Installing lilo.Installing timed.
Installing info.Installing pwdb.Installing tmpwatch.
Installing fileutils.Installing pam.Installing traceroute.
Installing grep.Installing sh-utils.Installing utempter.
Installing ash.Installing redhat-release.Installing util-linux.
Installing at.Installing linuxconf.Installing vim-common.
Installing authconfig.Installing logrotate. Installing vim-minimal.
Installing bc.Installing losetup.Installing vixie-cron.
Installing bdflush.Installing lsof.Installing which.
Installing binutils.Installing mailcap.Installing zlib.
Installing bzip2.Installing mailx.
Installing sed.Installing man.
Installing console-tools.Installing mingetty.
Installing e2fsprogs.Installing mkbootdisk.
Installing rmt.Installing mkinitrd.
Installing cpio.Installing modutils.
Installing cracklib.Installing mount.
Installing cracklib-dicts.Installing mouseconfig.
Installing crontabs.Installing mt-st.
Installing textutils.Installing ncompress.
Installing dev.Installing net-tools.
Installing diffutils.Installing netkit-base.
Installing dump.Installing newt.
Installing ed.Installing ntsysv.
Installing eject.Installing passwd.
Installing etcskel.Installing pciutils.
Installing file.Installing perl.
Installing findutils.Installing procmail.
Installing gawk.Installing procps.
Installing gd.Installing psmisc.
Installing gdbm.Installing pump.
Installing getty_ps.Installing python.
Installing glib.Installing quota.
Installing gmp.Installing raidtools.
Installing gnupg.Installing readline.
Installing redhat-logos.Installing rootfiles.
Installing rpm.Installing sash.

(6.2)

Installing setup.Installing filesystem. Installing basesystem.
Installing ldconfig.Installing glibc.Installing shadow-utils.
Installing mktemp.Installing termcap.Installing libtermcap.
Installing bash.Installing MAKEDEV.Installing SysVinit.
Installing XFree86-Mach64.Installing anacron. Installing chkconfig.
Installing apmd.Installing ncurses.Installing info.
Installing fileutils.Installing grep.Installing ash.
Installing at.Installing authconfig.Installing bc.
Installing bdflush.Installing binutils.Installing bzip2.
Installing sed.Installing console-tools.Installing e2fsprogs.
Installing rmt.Installing cpio.Installing cracklib.
Installing cracklib-dicts.Installing crontabs. Installing textutils.
Installing dev.Installing diffutils.Installing dump.
Installing ed.Installing eject.Installing etcskel.
Installing file.Installing findutils.Installing gawk.
Installing gd.Installing gdbm.Installing getty_ps.
Installing glib.Installing gmp.Installing gnupg.
Installing gpm.Installing groff.Installing gzip.
Installing hdparm.Installing inetd.Installing initscripts.
Installing ipchains.Installing iputils.Installing isapnptools.
Installing kbdconfig.Installing kernel.Installing kernel-pcmcia-cs.
Installing kernel-utils.Installing kudzu.Installing ld.so.
Installing less.Installing libc.Installing libstdc++.
Installing lilo.Installing pwdb.Installing pam.
Installing sh-utils.Installing redhat-release. Installing linuxconf.
Installing logrotate.Installing losetup.Installing lsof.
Installing mailcap.Installing mailx.Installing man.
Installing mingetty.Installing mkbootdisk. Installing mkinitrd.
Installing modutils.Installing mount.Installing mouseconfig.
Installing mt-st.Installing ncompress.Installing net-tools.
Installing newt.Installing ntsysv.Installing passwd.
Installing pciutils.Installing perl.Installing popt.
Installing procmail.Installing procps.Installing psmisc.
Installing pump.Installing quota.Installing raidtools.
Installing readline.Installing redhat-logos. Installing rootfiles.
Installing rpm.Installing sash.Installing sendmail.
Installing setserial.Installing setuptool. Installing shapecfg.
Installing slang.Installing slocate.Installing stat.
Installing sysklogd.Installing tar.Installing tcp_wrappers.
Installing tcpdump.Installing tcsh.Installing time.
Installing timeconfig.Installing tmpwatch. Installing traceroute.
Installing utempter.Installing util-linux. Installing vim-common.
Installing vim-minimal.Installing which.
Installing zlib.Installing vixie-cron.

Шаг 2.

После того, как Вы деинсталлировали все программы, которые должны быть удалены после установки сервера, и после установки дополнительных пакетов, необходимых для компиляции программ на сервере, мы должны проверить список вех инсталлированных RPM-пакетов при помощи команды:
[root@deep /]# rpm -qa > installed_rpm
опции -qa выводят список всех проинсталлированных программ, и знак > перенаправляет этот список в файл installed_rpm.

(6.1) Содержимое файла installed_rpm должно выглядеть так:

setup-2.0.5-1filesystem-1.3.5-1 basesystem-6.0-4
ldconfig-1.9.5-15glibc-2.1.2-11 shadow-utils-19990827-2
mktemp-1.5-1termcap-9.12.6-15libtermcap-2.0.8-18
bash-1.14.7-16MAKEDEV-2.5-2SysVinit-2.77-2
chkconfig-1.0.7-2ncurses-4.2-25info-3.12h-2
fileutils-4.0-8grep-2.3-2ash-0.2-18
at-3.1.7-11m4-1.4-12bdflush-1.5-10
binutils-2.9.1.0.23-6bzip2-0.9.5c-1sed-3.02-4
console-tools-19990302-17e2fsprogs-1.15-3 byacc-1.9-11
cpio-2.4.2-13cracklib-2.7-5cracklib-dicts-2.7-5
crontabs-1.7-7textutils-2.0-2dev-2.7.10-2
diffutils-2.7-16dump-0.4b4-11ed-0.2-12
bison-1.28-1etcskel-2.0-1file-3.27-3
findutils-4.1-32gawk-3.0.4-1cdecl-2.5-9
gdbm-1.8.0-2autoconf-2.13-5glib-1.2.5-1
gmp-2.0.2-10cpp-1.1.2-24gpm-1.17.9-3
groff-1.11a-9gzip-1.2.4-14initscripts-4.48-1
ipchains-1.3.9-3cproto-4.6-2ElectricFence-2.1-1
kernel-2.2.12-20patch-2.5-9ld.so-1.9.5-11
less-340-1libc-5.3.12-31libstdc++-2.9.0-24
lilo-0.21-10pwdb-0.60-1pam-0.68-7
sh-utils-2.0-1automake-1.4-5logrotate-3.3-1
losetup-2.9u-4lsof-4.45-1mailx-8.1.1-9
man-1.5g-6mingetty-0.9.4-10mkbootdisk-1.2.2-1
mkinitrd-2.3-1modutils-2.1.121-14mount-2.9u-4
ctags-3.2-1ncompress-4.2.4-14net-tools-1.53-1
netkit-base-0.10-37newt-0.50-13passwd-0.63-1
perl-5.00503-6flex-2.5.4a-7procps-2.0.4-2
psmisc-18-3python-1.5.2-7quota-1.66-8
gdb-4.18-4readline-2.2.1-5glibc-devel-2.1.2-11
rootfiles-5.2-5rpm-3.0.3-2sash-3.3-1
make-3.77-6shapecfg-2.2.12-2slang-1.2.2-4
slocate-2.0-3stat-1.5-11sysklogd-1.3.31-12
tar-1.13.11-1tcp_wrappers-7.6-9tcpdump-3.4-16
tcsh-6.08.00-6time-1.7-9timed-0.10-23
tmpwatch-2.0-1traceroute-1.4a5-16utempter-0.5.1-2
util-linux-2.9w-24vim-common-5.4-2vim-minimal-5.4-2
vixie-cron-3.0.1-39which-2.8-1zlib-1.1.3-5
dev86-0.14.9-1egcs-1.1.2-24kernel-headers-2.2.12-20

(6.2) Содержимое файла installed_rpm должно выглядеть так:

setup-2.1.8-1filesystem-1.3.5-1basesystem-6.0-4
ldconfig-1.9.5-16glibc-2.1.3-15 shadow-utils-19990827-10
mktemp-1.5-2termcap-10.2.7-9libtermcap-2.0.8-20
bash-1.14.7-22MAKEDEV-2.5.2-1SysVinit-2.78-5
anacron-2.1-6chkconfig-1.1.2-1m4-1.4-12
ncurses-5.0-11info-4.0-5fileutils-4.0-21
grep-2.4-3ash-0.2-20at-3.1.7-14
byacc-1.9-12bc-1.05a-5bdflush-1.5-11
binutils-2.9.5.0.22-6bzip2-0.9.5d-2sed-3.02-6
console-tools-19990829-10e2fsprogs-1.18-5 cpio-2.4.2-16
cracklib-2.7-5cracklib-dicts-2.7-5crontabs-1.7-7
textutils-2.0a-2dev-2.7.18-3diffutils-2.7-17
dump-0.4b15-1ed-0.2-13cdecl-2.5-10
etcskel-2.3-1file-3.28-2findutils-4.1-34
gawk-3.0.4-2patch-2.5-10gdbm-1.8.0-3
bison-1.28-2glib-1.2.6-3gmp-2.0.2-13
autoconf-2.13-5gpm-1.18.1-7groff-1.15-8
gzip-1.2.4a-2inetd-0.16-4initscripts-5.00-1
ipchains-1.3.9-5iputils-20000121-2cpp-1.1.2-30
cproto-4.6-3kernel-2.2.14-5.0ctags-3.4-1
kernel-utils-2.2.14-5.0ElectricFence-2.1-3 ld.so-1.9.5-13
less-346-2libc-5.3.12-31libstdc++-2.9.0-30
lilo-0.21-15pwdb-0.61-0pam-0.72-6
sh-utils-2.0-5automake-1.4-6logrotate-3.3.2-1
losetup-2.10f-1lsof-4.47-2mailx-8.1.1-10
man-1.5h1-1mingetty-0.9.4-11mkbootdisk-1.2.5-3
mkinitrd-2.4.1-2modutils-2.3.9-6mount-2.10f-1
flex-2.5.4a-9ncompress-4.2.4-15net-tools-1.54-4
newt-0.50.8-2passwd-0.64.1-1perl-5.00503-10
popt-1.5-0.48procmail-3.14-2procps-2.0.6-5
psmisc-19-2quota-2.00pre3-2gdb-4.18-11
readline-2.2.1-6make-3.78.1-4rootfiles-5.2-5
rpm-3.0.4-0.48sash-3.4-2shapecfg-2.2.12-2
slang-1.2.2-5slocate-2.1-2stat-1.5-12
sysklogd-1.3.31-16tar-1.13.17-3tcp_wrappers-7.6-10
tcpdump-3.4-19tcsh-6.09-4time-1.7-9
tmpwatch-2.2-1traceroute-1.4a5-18utempter-0.5.2-2
util-linux-2.10f-7vim-common-5.6-11 vim-minimal-5.6-11
vixie-cron-3.0.1-40which-2.9-2zlib-1.1.3-6
dev86-0.15.0-2egcs-1.1.2-30
kernel-headers-2.2.14-5.0glibc-devel-2.1.3-15

Второй шаг необходим, чтобы Вы не забыли удалить некоторые ненужные пакеты и установить необходимые. Если файл installed_rpm выглядит так же, как и приведенный здесь, значит Ваш сервер установлен правильно.

Добавление цветов на Ваш терминал

(6.1) Добавив цвета на ваш терминал Вы сможете легче различать файлы, папки, архивы, устройства, символические ссылки и исполняемые файлы. На мой взгляд, наличие цветов уменьшает количество ошибок и ускоряет процесс навигации по системе. Описанную ниже процедуру нужно выполнить для Red Hat Linux version 6.1 (Cartman) и более старых версий. В Red Hat 6.2 они уже включены по умолчанию.

Отредактируйте файл profile (vi /etc/profile) и добавьте в него следующие строки:

# Enable Colour ls
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS="-s -F -T 0 --color=yes"

Отредактируйте файл bashrc (vi /etc/bashrc), добавив следующие строки:

alias ls="ls --color=auto"

Выйдите и вновь войдите на сервер, чтобы новые переменные окружения вступили в силу.

Обновление программ до их последних версий.

Обновляйте все программное обеспечение на более новые версии, просматривайте список ошибок для дистрибутива Red Hat, который находится по адресу http://www.redhat.com/corp/support/errata/index.html. Страница ошибок, возможно, является лучшим ресурсом для решения 90% проблем в Red Hat Linux.

Следующие программы должны проверяться на наличие ошибок и новых версий в первую очередь:

(6.1)
  • groff-1_15-1_i386.rpm
  • sysklogd-1_3_31-14_i386.rpm
  • initscripts-4_70-1_i386.rpm
  • e2fsprogs-1.17-1.i386.rpm
  • pam-0_68-10_i386.rpm
  • gpm-1.19.1-1.i386.rpm
  • Linux kernel 2.2.14 (linux-2_2_14_tar.gz)
(6.2)
  • gpm-1.19.1-1.i386.rpm

Замечание: ядро linux очень важно, и должно регулярно обновляться. Читайте ниже о создании ядер для определенных систем.

Вы можете проверить, установлен ли пакет в Вашей системе перед обновлением, дав следующую команду:

[root@deep]# rpm -q <softwarename>

Здесь softwarename задает имя пакета, который Вы хотите проверить, например, telnet, XFree86 и т.д.