MyBooks.club
Все категории

Gerard Beekmans - Linux From Scratch

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Gerard Beekmans - Linux From Scratch. Жанр: Программное обеспечение издательство неизвестно,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Linux From Scratch
Автор
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
16 сентябрь 2019
Количество просмотров:
146
Читать онлайн
Gerard Beekmans - Linux From Scratch

Gerard Beekmans - Linux From Scratch краткое содержание

Gerard Beekmans - Linux From Scratch - описание и краткое содержание, автор Gerard Beekmans, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
Gerard BeekmansCopyright © 1999-2002 by Gerard BeekmansПеревод: Денис Каледин, Ник Фролов, Алекс Казанков.Версия 4.0Эта книга описывает процесс создания Linux системы с нуля, используя лишь исходные коды необходимого программного обеспечения.

Linux From Scratch читать онлайн бесплатно

Linux From Scratch - читать книгу онлайн бесплатно, автор Gerard Beekmans

Проблема заключается в том, что использование привычных единиц времени в данном случае дает слишком неточные результаты. Люди инсталлируют LFS на множестве различных систем, и время, затраченное на компиляцию определенной программы будет разным для каждой системы. На одной системе пакет компилируется за 20 минут, на другой системе тот же самый пакет собирается за 3 дня (заметьте, это не преувеличение). Поэтому мы решили использовать SBU.

Как это работает: первым пакетом, который вам будет предложено скомпилировать в Главе 5 будет оболочка Bash со статическими ссылками. Время, потраченное на его компиляцию, будет взято за базис и названо SBU. Время компиляции других программ попадет в прямую зависимость от времени, затраченного на компиляцию Bash. К примеру, компиляция GCC-3.2 занимает примерно 9.5 SBU, и проверено, что это число довольно постоянно на разных системах. Теперь мы умножим 9.5 на число секунд, потраченных на компиляцию Bash (значение SBU), и получим приблизительное время в секундах, необходимое для компиляции GCC.

Примечание: Использование SBU не подходит для многопроцессорных систем. В случае если вы счастливый обладатель такого компьютера, время компиляции, подсчитанное с помощью SBU будет неточным.

Где хранить загруженные программы

На протяжении этой книги мы допускаем, что все скаченные пакеты находятся в директории $LFS/usr/src.

Несмотря на то, что не имеет принципиального значения, где сохранены пакеты, убедительная просьба расположить их по крайней мере на разделе LFS, т.к необходимо иметь доступ к ним, когда вы входите в $LFS с помощью команды chroot или когда вы загружаетесь в систему LFS. Директория $LFS/usr/src – довольно логичное место для хранения исходных кодов, однако это не является необходимым условием. Можно создать подкаталог в $LFS/usr/src для хранения tar-архивов, отделив таким образом tar-архивы от временных директорий компиляции. Опять же, решать вам.

Следующая глава содержит список программ для скачивания. Так как раздел LFS еще не создан, сохранить их там мы пока не можем. На данном этапе сохраните их в другом месте, и переместите на раздел LFS, когда его создадите.

Как инсталлировать программы

Прежде чем начать, примите к сведению, что все команды в этой книге подразумевают, что вы используете оболочку Bash. Команды могут работать и с другими оболочками, но этого мы гарантировать не можем. Не хотите проблем – используйте Bash.

Перед тем как инсталлировать пакет, его надо распаковать. Обычно пакеты заархивированы в формате 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:

gcc -DALIASPATH="/mnt/lfs/usr/share/locale:." -DLOCALEDIR="/mnt/lfs/usr/share/locale" -DLIBDIR="/mnt/lfs/usr/lib" -DINCLUDEDIR="/mnt/lfs/usr/include" -DHAVE_CONFIG_H -I. -I. -g -O2 -c getopt1.c gcc -g -O2 -static -o make ar.o arscan.o commands.o dir.o expand.o file.o function.o getopt.o implicit.o job.o main.o misc.o read.o remake.o rule.o signame.o variable.o vpath.o default.o remote-stub.o version.o opt1.o -lutil job.o: In function `load_too_high': /lfs/tmp/make-3.79.1/job.c:1565: undefined reference to `getloadavg' collect2: ld returned 1 exit status make[2]: *** [make] Error 1 make[2]: Leaving directory `/lfs/tmp/make-3.79.1' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/lfs/tmp/make-3.79.1' make: *** [all-recursive-am] Error 2


В таком случае, большинство просто включают в сообщении с просьбой помочь строку:

make [2]: *** [make] Error 1


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

В Интернете есть замечательная статья от том, как правильно задавать вопросы, написанная Эриком С. Реймондом. Она находится по адресу http://www.tuxedo.org/~esr/faqs/smart-questions.html. Следую советам статьи, вы научитесь правильно задавать вопросы и ваши шансы получить квалифицированный ответ возрастут.

II. Часть II – Установка системы LFS

Глава 3. Необходимые пакеты

Вступление

Ниже приведен список пакетов программ, необходимых для построения базовой системы. Указанные номера версий соответствуют стабильным версиям программ, на которых основана эта книга.

Все ссылки указаны на главный сервер LFS. Можно также воспользоваться FTP-зеркалами, см. Глава 1 – Зеркала.

LFS FTP-архив содержит версии программ, используемые в книге. Для того чтобы узнать о появлении новой версии, посетите официальные места загрузки программ, см. Приложение A. Если вам удастся установить новую версию программы, используя инструкции этой книги, мы будем рады узнать об этом.


Gerard Beekmans читать все книги автора по порядку

Gerard Beekmans - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


Linux From Scratch отзывы

Отзывы читателей о книге Linux From Scratch, автор: Gerard Beekmans. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.