Linux-сервер своими руками

Колисниченко Денис Николаевич

В книге подробно рассмотрены настройки сетевых сервисов, позволяющих создать сервер требуемой конфигурации и функциональности на основе ОС Linux. Вы сможете настроить сервер любого типа: от сервера локальной сети до Интернет-сервера и сервера удаленного доступа. Детальна описано администрирование Linux.

Изложение материала построено на основе дистрибутивов Red Hat и Mandrake. Много уникальной информации: запуск Windows-игр под Linux и создание Linux-сервера для игрового зала, настройка антивирусов Dr. Web и AVP под Linux, программа учета трафика MRTG, система защиты и обнаружения атак LIDS, а также многое другое. Особое внимание уделено безопасности Linux-серверов. Достаточно подробно описана сама ОС Linux и приведен справочник ее команд. Прочитав книгу, вы станете обладателями знаний по настройке и компилированию ядра, созданию собственных rpm-пакетов, командному интерпретатору bash, использованию массивов RAID. Вы узнаете внутренний мир Linux. Книга подойдет как для профессиональных, так и для начинающих администраторов, поскольку изложение материала начинается с установки ОС Linux, а в первой главе дано описание основных сетевых технологий и протоколов (Курс Молодого Администратора).

Все приведенные в книге листинги проверены на практике и размещены на прилагаемом CD. Помимо этого на нем содержится много справочной информации (HOWTO, RFC), a также статей, посвященных Linux. Размещен богатый набор вспомогательных утилит и программного обеспечения для сервера (Apache, MySQL, MRTG и др.).

1

Введение в Linux

1.1. Вступительное слово

Цель данной книги состоит в том, чтобы развеять миф о «неподъемности» UNIX или Linux-систем, заложить прочный фундамент для построения вашего Интернет-сервера. Излагая материал, я старался объяснять все как можно более понятным языком. Все примеры, приведенные в книге, являются на 100% рабочими. Поэтому эта книга окажется полезной тем, кому нужно в сжатые сроки освоить Linux или настроить Linux-сервер. Я следовал одному простому правилу: не излагать те факты, которые заведомо окажутся невостребованными. Я наоборот, я старался приводить как можно больше примеров из реальной жизни, а в гл. 17 я полностью описал настройку шлюза и сервера для входящих звонков, а также довольно интересную вещь — настройку «обратного звонка». Вам может показаться, что сведения в этой главе повторяются, но с ее помощью читатель сможет настроить шлюз и сервер для входящих звонков «с нуля», не читая предыдущих глав, при условии, что он обладает хоть какими-нибудь навыками работы в ОС Linux.

Данная книга предназначена как для начинающих, так и для опытных системных администраторов. В книге рассматриваются все этапы настройки Linux-сервера, особое внимание уделено вопросам безопасности. Читатель также найдет подробное описание настройки сетевых служб, включая DNS, HTTP, FTP, IpChains, SQUID. В книге собраны самые актуальные, на мой взгляд, темы.

1.2. О Linux

История операционной системы Linux началась, естественно, с создания операционной системы Unix. В конце 60-х годов завершился проект Multics, над которым работали сотрудники компаний General Electrics, AT&T Bell Laboratories и Массачусетского института. Результатом этого проекта стала одноименная операционная система. Операционная система Multics была многозадачной, имела высокоэффективную на то время файловую систему, а также предоставляла пользователям относительно удобный интерфейс.

В 1969 году Кен Томпсон разработал операционную систему Unix, в основе которой были принципы, которых придерживались разработчики операционной системы Multics. Новая операционная система, в отличие от Multics, могла работать на мини-ЭВМ. При этом с самого начала новая система была многозадачной и многопользовательской.

Вскоре операционная система Unix стала настолько популярной, что Кен Томпсон и Деннис Ритчи решили переписать код системы на языке С. До этого операционная система была написана на ассемблере. Это обеспечило огромною мобильность операционной системы — ОС Unix могла быть перенесена практически на любую платформу без перепрограммирования. Нужно было только модифицировать небольшую часть ядра, написанную на ассемблере.

Через определенное время операционная система Unix стала стандартным программным продуктом, который распространялся многими компаниями, включая IBM и Novell.

В 1972 году началась массовая продажа лицензий на эту операционную систему различным пользователям. С этого момента ОС Unix неофициально стала коммерческим программным продуктом.

1.3. Почему именно Linux?

Каждая операционная система имеет свое «призвание». Операционную систему Windows NT Server предпочтительнее использовать как сервер рабочих групп сетей Microsoft. Система Novell Netware лучше «смотрится» в роли файлового сервера и сервера печати. ОС UNIX первоначально разрабатывалась как Интернет-сервер. Средства для работы с Сетью встроены непосредственно в ядро этой операционной системы, а все необходимое программное обеспечение для организации сервера входит в состав дистрибутива. UNIX-система работает со всеми сетевыми протоколами (особенно с TCP/IP) лучше, чем любая другая операционная система для платформы Intel. Все перечисленные выше качества касаются также и ОС Linux.

Устанавливая Linux, вы получаете также множество других преимуществ. Во-первых, вам становятся доступны исходные тексты ядра и вы можете модифицировать систему так, как вам нужно. Такое можно встретить далеко не в каждой операционной системе, особенно в ОС семейства Microsoft. Вы видели где-нибудь исходные тексты хотя бы Блокнота Windows? Мне, например, очень не хватает функции замены текста в этом редакторе. Для решения этой проблемы я написал собственный редактор, в котором и реализовал эту функцию. А если мне нужно сделать небольшое изменение в ядре? Не буду же я полностью переписывать Windows? Или ожидать новую версию «монстра», пожирающего системные ресурсы, в котором есть всего одна нужная мне функция?

Во-вторых, ОС Linux абсолютно бесплатна. Конечно, существуют коммерческие версии Linux, но в этом случае вы платите за некоторые дополнительные функции и техническую поддержку. Купив однажды компакт-диск с Linux, вы можете установить эту операционную систему на неограниченном числе компьютеров. Вам не нужно ничего доплачивать, вам не нужно платить за каждый дополнительный процессор — ОС Linux поддерживает SMP и при этом тоже бесплатно. Кроме того, поскольку Linux является UNIX-подобной системой, в состав ее дистрибутива входит все программное обеспечение, необходимое для организации сервера.

В последнее время появилась тенденция выпускать многодисковые дистрибутивы или дистрибутивы, содержащие программное обеспечение отдельно для рабочей станции и отдельно для сервера. В этом случае вам нужно купить только первый и, возможно, второй компакт-диск. Если дистрибутивы разделены на категории «сервер» и «рабочая станция», как это сделали разработчики ASP Linux, покупайте, естественно, серверную версию.

В любом случае стоимость всего программного обеспечения составит несколько долларов. Я не буду сравнивать стоимость построения Linux-сервера со стоимостью аналогичного сервера на платформе Microsoft. Вы сами это можете сделать на сайте компании Microsoft. К тому же, если вам необходим сервер Windows NT(2000) Server, вы можете спокойно заменить его SMB-сервером на базе Linux. Кстати, решению именно этого вопроса посвящена глава 9 данной книги.

1.4. Область применения Linux-серверов

Операционная система Linux получает все большее распространение. В настоящее время Linux все чаще можно увидеть установленной на компьютерах домашних пользователей. Этому способствует дружественный интерфейс, надежность и быстродействие ОС Linux. Определенную роль, конечно, сыграла и лицензионная политика корпорации Microsoft — домашнему пользователю дешевле купить ОС Linux, чем покупать новый компьютер за $400 и Windows 98 за $60.

В этой главе мы не будем обсуждать преимущества Linux в качестве настольной системы, а поговорим о Linux-серверах. Microsoft Windows NT Server (и Windows 2000 Server), на мой взгляд, больше подходит как сервер для небольшой рабочей группы. По своим параметрам Windows NT(2000) Server довольно надежна и быстра, но все же ей не хватает масштабируемости, несмотря на заявления Microsoft о своих серверах.

Чтобы понять, почему Linux целесообразно использовать именно в качестве Интернет-сервера, немного вспомним историю. Давайте сначала обратимся к тем далеким 80-м годам прошлого столетия, когда в кабинетах стояли «калькуляторы» под управлением DOS: неприятный интерфейс, однозадачность, отсутствие поддержки мультимедиа, а под термином «сеть» понималось соединение двух компьютеров через последовательный или параллельный порт с помощью Norton Commander. В начале 90-х годов (а именно в 1993 году) ситуация несколько изменилась: Microsoft выпустила рабочий вариант ОС Windows — Windows 3.1. Что же было новым в Windows 3.1? Во-первых, это многозадачность, во-вторых, поддержка виртуальной памяти, и, конечно же, относительно удобный графический интерфейс. В операционной оболочке (системой ее назвать трудно) Windows 3.1 не были реализованы сетевые функции. Поддержка сети появилась в следующей редакции Windows — Windows for Workgroups.

В 1995 году появилась операционная

система

Windows 95, представленная Microsoft чуть ли не самой совершенной системой. Однако эта операционная система также не была сетевой,

а лишь с поддержкой сетевых функций.

Принципиальным отличием от Windows 3.1 была 32-разрядность этой системы. В следующем году Microsoft выпускает настоящую сетевую операционную систему — Windows NT 4 Server. В этой системе был реализован (и нормально функционировал) протокол TCP/IP, который является стандартом сети Интернет, но протоколом по умолчанию он не являлся, а устанавливался опционально, то есть по требованию администратора.

В 2000 году мы стали свидетелями появления новой сетевой серверной операционной системы от Microsoft — Windows 2000 Server. Помимо прочих достоинств Windows 2000 по сравнению с Windows NT 4 Server, нужно отметить службу управления каталогами Active Directory, поддержку по умолчанию протокола TCP/IP, а также средства для квотирования (ограничения дискового пространства).

1.5. Как устроена данная книга

«Не сразу Москва строилась», поэтому и настройку нашего сервера будем производить с малого, а потом постепенно будем его наращивать. Сразу нужно оговориться, что, возможно, при настройке вашего сервера вам не потребуется читать все главы. Например, если вы хотите настроить почтовик, то вам незачем разбираться с настройкой сервера для удаленного доступа. Хотя прочитать всю книгу все же стоит — для общего развития.

Во

второй главе

достаточно подробно рассмотрена установка операционной системы Linux на примере дистрибутивов Linux Mandrake и Linux Red Hat. В этой же главе рассматривается постинсталляционная настройка пока что настольной версии Linux.

В

третьей и четвертой главах

обсуждаются общие принципы работы с операционной системой Linux. В третьей главе рассматриваются учетные записи, а в четвертой — работа с файловой системой Linux. Очень советую вам разобраться с правами доступа к файлам и каталогам. Большое значение для организации сервера имеет настройка дисков SCSI и массивов RAID. Особое внимание обратите на создание резервных копий, если вы, конечно, настраиваете «серьезный» Linux-сервер.

В

пятой главе

рассматриваются основы управления процессами в Linux. Эта глава имеет больше теоретическое, чем практическое значение, но какая же практика без теории?

Шестая глава

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

2

Установка системы

2.1. Установка Red Hat Linux

Установку данного дистрибутива я буду рассматривать на примере, который применим к версиям, начиная с 6 (и, по крайней мере, до 8.x). Вообще не следует гнаться за новизной в версиях при создании сервера, так как, допустим, версия 6.0 (Hedwig) обладает достаточно низкими (по сегодняшним меркам) системными требованиями, что позволяет использовать устаревшую технику с максимальной отдачей. Например, старенький Intel 486DX4, на котором жутко «тормозят» Windows вместе с MS Office, можно с большим успехом использовать в качестве шлюза для выхода в Интернет (см. табл. 2.1). Это позволит вам сэкономить значительные денежные средства. Тем не менее, весь описанный далее механизм настройки сервера применим и к новым версиям (с некоторыми поправками, которые будут приведены в тексте). Более того, при использовании версий 6.0 и 8.0 вы не заметите почти никакой принципиальной разницы, так как конфигурирование всех основных служб остается одинаковым во всех версиях. Резюмируя, еще раз хочу сказать, что все примеры, приведенные в этой книге, должны работать в дистрибутиве любой версии, начиная с шестой. Однако может возникнуть аппаратная несовместимость, так как версия 6 по умолчанию не поддерживает шины AGP. При этом вам следует либо использовать видеокарту PCI, либо самостоятельно переустановить XFree86 и сервер для вашей видеокарты (о том, что это такое, читайте далее). Версии 7.x, а тем более 8.x, этой проблемы лишены.

Действительно, сравнивая системные требования Linux и продуктов от Microsoft, разницу ощущаешь сразу. Компьютер на базе процессора Pentium 133 и 32 мегабайтами ОЗУ на платформе Linux прекрасно справлялся с обязанностями Internet-шлюза, почтовика и прокси-сервера. Для того чтобы организовать те же функции на платформе Windows 2000 Server, вам необходим, по крайней мере, процессор Celeron 300 МГц и 256 Мб ОЗУ. Минимальные системные требования для установки Red Hat 6 приведены в табл. 2.1, а в табл. 2.2 указаны рекомендуемые системные требования для настройки сервера на ее основе.

Системные требования ОС Red Hat 6 Таблица 2.1 

2.2. Установка Linux Mandrake

В этом разделе книги будет рассмотрена установка дистрибутива Linux Mandrake. В табл. 2.4 указаны требования для рабочей станции. Для настройки сервера потребуется 128 Мб ОЗУ и жесткий диск объемом 10…20 Гб, хотя объем диска очень зависит от поставленных задач. Минимальная установка Linux Mandrake занимает 350 Мб. Если вы настраиваете шлюз для небольшой сети, вам хватит и 1 Гб с учетом кэша для прокси-сервера. При настройке рабочей станции нет смысла использовать жесткий диск объемом менее 2 Гб, так как вам потребуется место не только под систему, но и под программы и файлы пользователей.

Системные требования ОС Linux Mandrake Таблица 2.4

Программа установки Linux Mandrake выглядит немного покрасивее (см. рис. 2.8) по сравнению с Red Hat. Слева отображается ход установки. Красные звездочки (или кружочки в Mandrake 9) — это еще не пройденные этапы. Вы можете в любой момент переключиться на нужный вам этап установки или пропустить текущий, а потом вернуться к нему. Естественно, если такое возможно: например, без создания файловой системы вам никто не разрешит установить пакеты. Внизу экрана будут отображаться подсказки, которые помогут вам на всех этапах установки. При выборе типа установки, даже если вы начинающий пользователь, я рекомендую выбрать тип Настроено (см. табл. 2.5). Прежде всего, это обусловлено выбором нужных вам пакетов — зачем устанавливать лишнее? В Mandrake 9 список выбора сокращен до двух пунктов: Рекомендуется и Эксперт.

2.3. Установка Linux на компьютер с чипсетом Intel810

Стоимость компьютеров, оснащенных чипсетом Intel 810, значительно ниже, чем компьютеров, оснащенных другими чипсетами. Это объясняется тем, что в материнскую плату с чипсетом Intel 810 интегрируются видео и/ или звуковые платы. Такие материнские платы — идеальное решение для офисного компьютера. Чипсет I810 довольно быстро работает под управлением Windows 9x/ME/2000/XP, но при установке Linux на такой компьютер, скорее всего у вас возникнут проблемы с определением видеоплаты. Для решения этой проблемы нам понадобятся 2 файла:

XFCom_i810-1.2-3.i-386.rpm — Х-сервер

I810Gtt-0.2-4.src.rpm — модуль agpgart.o

Их можно скачать с сайта корпорации Intel, используя URL:

http://support.intel.com/support/graphics/intel810/agreeRPM3.htm

и

http://support.intel.com/support/graphics/intel810/agreeRPM4.htm

соответственно.

Все действия нужно производить от имени пользователя

root.

2.4. Установка нескольких операционных систем

Прежде чем устанавливать несколько операционных систем на одном компьютере, сделайте резервное копирование важной информации, т.к. процесс установки операционной системы включает в себя переразбиение жесткого диска на разделы и форматирование созданных разделов. Переразбиение жесткого диска необходимо, потому что Linux и Windows используют разные файловые системы. Хотя существуют средства установки Linux в раздел FAT/FAT32 — Lin4Win, но я не рекомендую их использовать, т.к. в этом случае Linux работает крайне нестабильно и медленно.

Для переразбиения диска я бы посоветовал программу Partition Magic v5 (или 6, или 7). Если вы устанавливаете Linux Mandrake 7.0 или выше, Partition Magic вам не потребуется — в программу инсталляции встроен отличный конфигуратор разделов на диске. В книге также будет описано использование программы fdiskдля linux, так как она присутствует во всех дистрибутивах linux.

Рассмотрим два наиболее распространенных варианта установки нескольких операционных систем:

1. Вы устанавливаете Windows 9x и Linux.

2. Вы устанавливаете Windows NT, Windows 9x и Linux.

2.4.1. Установка Windows 9x и Linux

Главное правило при такой установке заключается в том, что сначала следует устанавливать Windows 9x, и только после этого Linux. Дело в том, что при установке Windows 9x перезаписывает главную загрузочную запись MBR (master boot Record) и, если Linux уже был установлен, загрузить его вы уже не сможете. При этом очень напрашивается следующий совет: СОЗДАЙТЕ ЗАГРУЗОЧНУЮ ДИСКЕТУ ДЛЯ LINUX! Если вы в очередной раз переустановите Windows, без этой дискеты загрузить Linux вы уже не сможете.

Что делать, если вы переустановили Windows и Linux больше не загружается:

1. У вас есть загрузочная дискета для Linux. Загрузитесь, используя эту дискету. Затем зарегистрируйтесь в системе как пользователь

root

и введите команду lilo. Затем перезагрузите машину (команда reboot).

2. У вас нет загрузочной дискеты: используйте программу loadlin — ее описание будет приведено ниже.

3. Нет загрузочного диска и нет программы loadlin: переустановите linux, после установки Windows, естественно. При установке Linux не форматируйте разделы и тогда ваши данные останутся неповрежденными.

2.4.2. Установка Windows 9x, Windows NT/2000 и Linux.

В этом способе используется загрузчик NT Loader. Выполните установку Windows 2000 в раздел NTFS, a Windows 9x — в раздел FAT/FAT32. Не забудьте приготовить четыре системных дискеты для восстановления! Напомню, что если вы хотите установить Windows 95, то ее нужно устанавливать первой, а потом Windows 2000. При установке Windows 98 и Windows 2000 порядок установки не имеет значения.

Устанавливать Linux нужно после установки Windows 2000. При этом необходимо учесть, что раздел Linux должен находиться до 1024 цилиндра! Это связано с «ошибкой цилиндра 1024» — Linux может использовать разделы, расположенные после цилиндра 1024, но не может загружаться с таких разделов. В последних версиях Linux данная проблема устранена, но рассматриваемый способ установки требует, чтобы вы создали раздел Linux до цилиндра 1024 — иначе вам придется загружать Linux с дискеты.

Еще раз напоминаю: обязательно создайте загрузочную дискету для Linux. При установке LILO выберите MBR — Linux перезапишет главную загрузочную запись. Далее загрузите с четырех загрузочных дискет Windows 2000 и выберите пункт «Recover» в меню загрузчика и режим «Command mode». Затем зарегистрируйтесь в системе как

Administrator.

Выполните команды fixboot и fixmbr — теперь Windows 2000 будет нормально загружаться.

2.4.3. Использование loadlin

В этой книге я просто не мог не упомянуть о компактном загрузчике, который позволяет загрузить Linux из-под DOS или Windows 95. Если вы используете Windows 98, loadlin работать у вас не будет — нужно перезагрузиться в режиме MS DOS. Кроме этого следует учесть, что при использовании loadlin могут возникнуть проблемы с разделами FAT32. В этом случае создайте загрузочную дискету DOS (format a: /s) и в autoexec.bat этой дискеты пропишите loadlin. Загрузить Linux из-под операционных систем Windows 98, Me или Windows 2000/NT вам не удастся в любом случае.

Использовать loadlin я рекомендую лишь в том случае, если при очередной переустановке Windows оказался «затертым» MBR (а вместе с ним и LILO), а системную дискету Linux вы не создали. Вызов программы loadlin имеет следующий формат (описание параметров приведено в табл. 2.8):

loadlin ядро root=корневая_ФС опции

или

loadlin @файл_с_параметрами

2.5. Постинсталляционная настройка

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

linuxconf.

На всякий случай в табл. 2.9 и табл. 2.10 перечислены другие программы-конфигураторы дистрибутивов Linux Mandrake и Linux Red Hat.

Основные программы-конфигураторы Linux Mandrake Таблица 2.9

Основные программы-конфигураторы Linux Red Hat Таблица 2.10 

2.6. Установка программного обеспечения

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

В операционной системе Windows установка программ выполнялась проще: достаточно запустить setup.exe, ввести серийный номер (если нужно), каталог для установки и нажать на кнопку «Далее». После этого вы можете поступить так, как рекомендует Microsoft: «откиньтесь на спинку табуретки и подождите, пока программа установки все сделает за вас».

В операционной системе Linux существуют три способа установки программного обеспечения: традиционный, из пакетов RPM, из пакетов, содержащих исходный код. Рассмотрим по порядку все три способа.

2.6.1.Традиционный способ установки: установка из исходных текстов

Этот способ заключается в том, что программа распространяется не в собранном виде, а в виде исходных текстов. Данный способ называется традиционным, потому что он был первым способом установки программ до появления менеджера RPM или аналогичных ему (apt-get).

Как правило, исходный текст распространяется в архиве. Обычно файл, содержащий исходный текст, имеет двойное расширение: например, tar.gz или tar.bz2. Это означает, что данный файл сжат двумя архиваторами: сначала tar, а потом gzip.

Распаковывать архив нужно по принципу стека: сначала внешним архиватором, а потом внутренним. Предположим, что prg-2.00.tar.gz — это имя файла нашего архива. Для его распаковки нужно ввести команды:

gunzip prg-2.00.tar.gz

tar xvf prg-2.00.tar

2.6.2. Программа RPM

Установка программного обеспечения в дистрибутивах Red Hat и Mandrake производится с помощью программы rpm. RPM (red hat package manager) — это менеджер пакетов Red Hat. Несмотря на то, что в названии присутствует «Red Hat», он полностью предназначен работать как открытая пакетная система, доступная для использования кем угодно. Она позволяет пользователям брать исходный код для нового программного обеспечения и упаковывать его в форме исходного и двоичного кода, так что двоичные файлы могут быть легко установлены и отслежены, а исходный код легко построен. Эта система также сопровождает базу данных всех пакетов и их файлов, что может быть использовано для проверки пакетов и запроса информации о файлах и/или пакетах. 

В отличие от привычных мастеров InstallShield, которые используются для установки программ для Windows, пакеты RPM (файлы с расширением .rpm) не являются выполняемыми файлами, то есть программами. В пакетах содержатся файлы (как в архиве), которые нужно установить, а также различная информация об этом пакете: какой пакет необходим для работы этого пакета, с каким пакетом конфликтует, информация о разработчике, а также информация, указывающая, какие действия нужно выполнять при установке этого пакета, например, какие каталоги нужно создать. Менеджер пакетов RPM используется во многих дистрибутивах Linux (Red Hat, Mandrake, ASP, Black Cat.) и является довольно легкой и гибкой в использовании системой, что обуславливает его популярность.

Обычно в имени файла пакета указывается его название, версия, выпуск, платформа. Последние четыре символа — «.rpm» — признак того, что данный файл является пакетом. В Linux отсутствует такое понятие как расширение или тип файла.

Например, для пакета software-1.0-1.i386.rpm имеет место:

2.6.3. Программы gnorpm, kpackage, apt

Менеджер пакетов RPM является мощным средством для произведения операций над пакетами — создание, установка, обновление, удаление. Однако интерфейс командной строки может понравиться далеко не всем, а особенно начинающему администратору. Существуют и графические (под X Window) реализации менеджера пакетов — например, kpackage из KDE, gnorpm и другие. Я рекомендую использовать программу gnorpm, которая обладает интуитивным графическим интерфейсом. RPM больше подходит для создания новых пакетов, а также для обновления большого числа пакетов. Для установки одного-двух пакетов лучше и удобнее использовать gnorpm (см. рис. 2.14).

Рис. 2.14. Программа gnorpm

Функции программы gnorpm:

2.6.4. Установка из пакетов, содержащих исходный код

Иногда в пакетах RPM находятся не откомпилированные версии программ, а их исходный код. Признаком этого является слово src вместо названия архитектуры. Для установки такого пакета введите:

rpm –rebuild software-2.00-1.src.rpm

Разумеется, вместо software-2.00-1.src.rpm нужно указать реальное имя файла. Перед установкой программы пакет, ее исходный текст будет откомпилирован, и потом программа будет установлена.

Надеюсь, что всей этой информации достаточно, чтобы вы могли легко устанавливать программное обеспечение для Linux.