главная пошаговое создание livecd что такое linux ISO образы
Операционная система с графическим интерфейсом
На главнуюКонтактыКарта сайта
Полезное


 

ДОБРО ПОЖАЛОВАТЬ


Установка программ из исходных файлов

Распространять программы в Linux можно несколькими способами: в виде исходных кодов, пакетов и готовых откомпилированных двоичных файлов. Готовые файлы не вызывают каких либо затруднений - просто скопируйте в любой каталог и запускайте оттуда. Куда именно и что копировать, а также параметры запуска обычно описываются в прилагаемом файле с описанием. Для установки пакетов существуют интуитивно понятные графические программы (например rpmdrake), поэтому их установка также не сложна, а для тех, кто вынужден не использовать графический интерфейс, существует команда rpm, использование которой также очень простое. А вот установка программ, распространяющихся в виде исходных файлов, вызывает особые трудности у большинства начинающих пользователей Linux, хотя умение это делать является одним из основных навыков, необходимых для работы в Linux.

Как правило, исходные файлы заархивированы в так называемый тарболл. Обычно тарболл имеет суффикс .tar.gz и имя вроде program-1.11, где program- название программы, а 1.11 - её версия. Чем больше номер версии, тем новее пакет (как, впрочем, и в Windows). Отличие тарболла от пакета (RPM, DEB или какого- либо другого) в том, что пакет содержит уже откомпилированные двоичные файлы, нужные для их работы библиотеки и скрипты удаления/обновления, а при установке автоматически копирует это всё в определённые папки; тарболл же содержит только исходные коды, которые должны быть скомпилированы для получения двоичных исполнимых файлов. После компиляции происходит установка уже готовых файлов с помощью команды make install, но то же самое можно сделать и вручную. А если вы используете тарболл просто, чтобы ознакомиться с неизвестной программой, то подождите устанавливать её - может быть, она не подойдёт, и тогда её можно удалить, просто удалив папку, в которой происходила компиляция. Тем более что во многих тарболлах не предусмотрена возможность make uninstall, поэтому удалять их придётся вручную, что может составить большую трудность для начинающего пользователя.

В кратком виде процесс установки выглядит так: сначала распаковываем тарболл в заготовленную для этого папку, потом выполняем configure, если он есть, далее make или сс, а потом make install (при желании). Итак, попробуем провести установку какой- нибудь программы.

Создадим для неё папку, и скопируем тарболл туда (имейте в виду, в Linux регистр имён команд и файлов имеет значение, поэтому вы получите ошибку если наберёте Mkdir вместо mkdir): mkdir folder_name

cp file_name > folder_name

Здесь file_name - имя копируемого файла, folder_name - имя папки назначения.

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

Далее необходимо распаковать тарболл:

tar xfzv file_name

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

tar tvf file_name

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

После распаковки в текущей папке образуется несколько (а может, очень много) разных файлов и папок, из которых нас сейчас интересуют только два файла: README и INSTALL. Файл README обычно содержит описание программы, инструкции автора и т.п., а файл INSTALL описывает работу скрипта configure, также находящегося в папке с распакованным тарболлом. Этот скрипт, изучив вашу систему, создаёт makefile, необходимый для компиляции программы, и если автор был внимателен при создании своей программы, то, скорее всего, makefile будет создан в любой версии Linux. Однако в некоторых тарболлах, обычно содержащих несложные программки, configure отсутствует - туда сразу помещён готовый makefile. Также исходник программы может представлять один единственный файл с суффиксом .c или .cc.

Итак, переходим в папку с распкованным тарболлом:

cd folder_name

Запускаем скрипт конфигурации (если его нет, то данный шаг просто пропускаем):

./configure (это может длиться довольно долго, не волнуйтесь, так и должно быть)

Для файлов .c или .cc

make (для .c)

cc program.c -o program (для .cc; program - имя файла, обычно совпадающее с названием программы, но при желании переименуйте, как вздумается).

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

Далее запускаем make:

make

И устанавливаем программу (при этом обычно происходит установка двоичных файлов, документации и страниц man):

make install

Не забудьте о том, что каталог /tmp обычно очищается во время перезагрузки, и если компиляция происходила в нём, то все исходные файлы и результаты сборки будут удалены, поэтому заблаговременно перенесите их в ругое место.

Скорее всего, make придётся выполнять от имени суперпользователя (root). Повысить свои права можно с помощью команды sudo, если это разрешено для той группы пользователей, в которую вы входите.

Если при выполнении configure или make вы получили сообщение об ошибке, после которого процесс установки прервался - прочитайте его внимательно, и постарайтесь понять, в чём дело. Скорее всего, отсутствует какой то файл или библиотека, или их версия устарела. В этом случае вам придётся искать и устанавливать отсутствующее.

Многие библиотеки входят в состав дистрибутива, но не устанавливаются в месте с ним. Можно также поискать библиотеки в других дистрибутивах - например, втором диске Gentoo Linux 2005. Если же сообщение об ошибке непонятно, то скопируйте его в текстовый файл и поищите ответ на различных форумах - велика вероятность того, то кто то уже столкнулся с такой же или похожей проблемой и нашёл удачное решение.

Если же будете задавать вопрос, не поленитесь вставить в него текст сообщения, а также указать название и версию устанавливаемой программы и операционной системы. В любом случае будет не лишним после устранения проблемы полностью удалить папку с распакованным в неё тарболлом, и начать всё с нуля. Это будет просто необходимо, если скрипт configure был выполнен до конца, потому что в нём будут содержаться устаревшие и неверные данные, и ошибка повторится. Удаление производится с помощью команды rm (от английского слова remove). Ключи, с которыми запускается rm (да и любая другая команда) можно узнать, набрав в консоли имя команды с ключом -help или man имя_команды.

Ещё раз напомню о том, что Linux чувствителен к регистру символов как в командах, так и в именах файлов и папок, потому что пользовавшиеся Windows часто забывают об этом и долго ищут причину ошибки. Также есть разница в написании путей - если в Windows они пишутся через знак \ (Мои документы\Моя музыка), то в Linux используется знак / (home/me/tmp).