Перед тем как инсталлировать пакет, его надо распаковать. Обычно пакеты заархивированы в формате gzip или bzip2. Мы не собираемся каждый раз объяснять, как распаковать пакет. Мы объясним это в данном разделе раз и навсегда.
Для начала перейдите в каталог $LFS/usr/src:
cd $LFS/usr/src
Если файл запакован в tar и gzip, разархивируйте его следующим образом, в зависимости от имени файла:
tar -xvzf filename.tar.gz
tar -xvzf filename.tgz
Если файл запакован в tar и bzip2:
bzcat filename.tar.bz2 | tar -xv
Большинство программ tar способны использовать файлы формата bzip2 напрямую. Они используют параметры -I, -y, или -j, которые аналогичны параметру -z для файлов в формате gzip. Команда, приведенная выше, универсальна и не зависит от того, как ваша система интерпретирует tar.
Если файл запакован просто в формате tar, выполните
tar -xvf filename.tar
При распаковке архива в текущем каталоге создается подкаталог (мы подразумеваем, что архивы распаковываются в директории $LFS/usr/src). Войдите в созданный подкаталог перед выполнением инсталляционных инструкций. Повторим еще раз: каждый раз при установке программы, вы должны распаковать ее архив и перейти в созданный архиватором подкаталог.
Иногда вы столкнетесь с патчами. Обычно они просто запакованы с использованием gzip или bzip2. Перед тем как ими воспользоваться, распакуйте их.
Если файл запакован в формате gzip, распакуйте его следующей командой:
gunzip filename.gz
Если файл запакован в формате bzip2, распакуйте его следующей командой:
bunzip2 filename.bz2
После инсталляции пакета можно либо удалить директорию его исходных кодов, либо сохранить ее. Настоятельно рекомендуем удалять эту директорию. Если этого не сделать и повторно использовать директорию исходников (например, повторно использовать исходники из Главы 5 в Главе 6), получится не совсем то, чего вы ожидали. Деревья исходных кодов в Главе 5 содержат настройки базового дистрибутива, которые не всегда подойдут к системе LFS, после того как вы войдете в среду chroot. Даже выполнение make clean не гарантирует чистого дерева исходников.
Так что просто удаляйте каталог исходных кодов сразу же после их инсталляции, однако на будущее сохраняйте скаченный tar-архив.
Исключение их этого правила – дерево исходных кодов ядра. Не удаляйте ее, т.к. она понадобится в дальнейшем. До того момента никакая программа не будет использовать это дерево, так что оно не помешает. Однако если у вас дефицит дискового пространства, можете смело удалить каталог с исходниками ядра и повторно распаковать этот архив позже.
Поддерживаемые платформы
Мы стараемся сделать LFS как можно более универсальной. Однако, примите к сведению, что основная разработка ведется на платформе x86. Мы постараемся включить информацию о различиях компиляции для других платформ, например для PPC. Если вы столкнетесь с проблемой компиляции на платформе, отлично от x86, в любом случае отправьте сообщение об этом в список рассылки. Более того, если вам удастся решить проблему, дайте нам знать – пошлите сообщение в список lfs-dev. Проверив правильность решения, мы включим его в книгу.
Как попросить о помощи
В том случае, если при прочтении этой книги вы столкнетесь с проблемой, недокументированной в FAQ, многие участники проекта LFS в списках рассылки и на канале IRC будут рады помочь. Получить общее представление о списках рассылки LFS вы можете в разделе Глава 1 – Списки рассылки и архивы. Чтобы нам было легче диагностировать и решать вашу проблему, постарайтесь привести как можно больше деталей в запросе.
Что необходимо указать
Помимо краткого описания проблемы, не забудьте указать нижеприведенные вещи:
версию используемой книги,
название пакета или секции, с которой у вас проблемы,
сообщение об ошибке или симптомы проблемы,
отклонялись ли вы от шагов, описанных в книге
(Заметьте, что если вы отклонялись от книги, это не значит, что мы не попытаемся помочь, ведь весь смысл LFS – в возможности выбора. Просто напросто ваше признание поможет нам найти решение.)
Проблемы configure
Если при выполнении скрипта configure, что-то прошло не так как надо, обратите внимание на последние строки в файле config.log. Обычно этот файл содержит сообщения об ошибках, которые не были выведены на экран. Если вы задумали попросить нас о помощи, не забудьте включить эти строки в ваше сообщение.
Проблемы при компиляции
Для того чтобы помочь нам найти причину проблемы, важен как вывод на экране, так и содержание некоторых файлов. Вывод на экране скрипта ./configure и команды make содержат много полезной информации. Не стоит слепо включать в свое сообщение весь вывод, но и не следует включать слишком мало информации. Ниже приведен вывод на экран команды make: