Modding and computers Четверг, 26.06.2025, 03:12
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Сергей, Doktor, Mnemon  
Установка программ из исходных файлов
MnemonДата: Понедельник, 05.11.2007, 10:14 | Сообщение # 1
horror
Группа: Модераторы
Сообщений: 63
Репутация: 1
Статус: Offline
Распространять программы в 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).


Digital Jesus
 
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2025Сайт управляется системой uCoz