Документация Calculate Linux

Вид материалаДокументы

Содержание


Ручная установка программ
Распаковка исходных кодов
Компиляция исходных кодов
Установка файлов во временное место
Помещение файлов в рабочую файловую систему
Очистка временного каталога
Подобный материал:
1   ...   46   47   48   49   50   51   52   53   ...   136

Ручная установка программ

Извлечение исходных кодов и проверка контрольных сумм


Каждый раз, когда вы вызываете ebuild для какого-то ebuild-файла, проверяется совпадение контрольной суммы всех задействованных файлов с указаной в файлах Manifest или files/digest-<имя>-<версия>. Проверка выполняется после загрузки исходных кодов.

Чтобы загрузить исходные коды с помощью ebuild, запустите:

ebuild путь/к/файлу-ebuild fetch

Если контрольная сумма md5 сборочного файла не совпадает с той, что указана в файле Manifest, или же один из загруженных файлов не совпадает с описанием в файле files/digest<пакет>, вы получите сообщение об ошибке, похожее на такое:

!!! File is corrupt or incomplete. (Digests do not match)

>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee

>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6


(!!! Файл поврежден или усечен. (Контрольные суммы не совпадают) )

На следующей строке указывается проблемный файл.

Если вы абсолютно уверены, что загруженные исходные коды и сам сборочный файл ebuild именно те, что вам нужны, можете пересоздать файлы Manifest и digest-<пакетe>, используя фукцию digest программы ebuild. Пример создания новых файлов Manifest и digest:

ebuild путь/к/файлу-ebuild digest

Распаковка исходных кодов


Чтобы рапаковать исходные коды в /var/tmp/portage (или любой другой каталог, указанный в ссылка скрыта), запустите функцию unpack программы ebuild. Пример распаковки исходных кодов:

ebuild путь/к/файлу-ebuild unpack

Эта команда выполнит функцию src_unpack() программы ebuild (которая по умолчанию просто выполняет распаковку, если функция src_unpack() не определена). Все необходимые заплатки накладываются также на этом этапе.

Компиляция исходных кодов


Следующий шаг в процессе установки — компиляция исходных кодов. Для этого выполняется функция src_compile() вашего сборочного файла. Если нужно, заодно выполняется конфигурация. Пример компиляции исходных кодов:

ebuild путь/к/файлу-ebuild compile

Если вы хотите изменить инструкции компиляции, советуем отредактировать функцию src_compile(). Однако, вы можете также обмануть Portage, заставив ее поверить, что программа ebuild уже завершила компиляцию. Запустите нужные команды самостоятельно и создайте пустой файл.compile в рабочем каталоге:

touch .compiled

Установка файлов во временное место


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

ebuild путь/к/файлу-ebuild install

Помещение файлов в рабочую файловую систему


Последний этап — перенос всех файлов в рабочую файловую систему и их регистрация в системе Portage. В ebuild этот этап называется "qmerge", и включает следующие действия:
  • выполняется функция pkg_preinst(), если она определена
  • все файлы копируются в рабочую файловую систему
  • файлы регистрируются в системе Portage
  • выполняется функция pkg_postinst(), если она определена

Запустите функцию qmerge программы ebuild, чтобы выполнить этот этап:

ebuild путь/к/файлу-ebuild qmerge

Очистка временного каталога


Наконец, можно очистить временный каталог, используя команду clean программы ebuild:

ebuild путь/к/файлу-ebuild clean