comp_osnet Gerard Beekmans [email protected] Linux From Scratch
Gerard Beekmans
Copyright © 1999-2002 by Gerard Beekmans
Перевод: Денис Каледин, Ник Фролов, Алекс Казанков.
Версия 4.0
Эта книга описывает процесс создания Linux системы с нуля, используя лишь исходные коды необходимого программного обеспечения.
linux from scratch unix ru en Денис Каледин [email protected] Ник Фролов Алекс Казанков Андрей Б. Борисенко b0ris ExportXML.dot, FB Tools 2005-03-10 http://multilinux.sakh.com/lfs 80F9EDED-8DFF-4189-8F4D-55C589B3220B 1.0
Я перепробовал некоторое количество дистрибутивов Linux, но ни один из них полностью не удовлетворял моим потребностям. Мне не нравилось расположение загрузочных скриптов. Мне не нравилось, как некоторые программы были сконфигурированы по умолчанию. Это мне порядком надоело. В итоге я осознал, что только построив собственную систему из исходников, я буду доволен. Я твердо решил отказаться от использования прекомпилированных пакетов и от загрузочного диска, который мог бы установить основу системы. Я буду использовать свою текущую систему Linux для построения своей собственной.
В то время эта сумасбродная идея казалась невыполнимой. Однако после разрешения различного рода проблем, таких как например проблемы зависимости и ошибки при компиляции, моя новая система стала полностью работоспособной. Я назвал ее Linux From Scratch < Linux из ничего >, сокращенно LFS.T
Надеюсь, вы получите удовольствие, работая над системой LFS.
Кому эта книга будет интересна
Существует ряд причин, по которым эта книга может представлять интерес. Основная из них – установка системы LFS. Возникает резонный вопрос, «Зачем мучаться, собирая Linux систему по частям, в то время как можно скачать и установить уже готовую?». Хороший вопрос.
Важное назначение LFS – помочь людям познать функционирование Linux изнутри. Построение системы LFS показывает, что заставляет Linux работать, как работают ее компоненты и как они друг от друга зависят. И наконец, вероятно важнее всего, как настроить Linux под себя, в соответствии со своими вкусами и потребностями.
Основное преимущество LFS состоит в том, что вы получаете больше контроля над системой, не полагаясь на чью-то Linux разработку. Использую LFS, вы определяете ее структуру и ее компоненты, в частности структуру директорий и загрузочные скрипты. Вы указываете как, куда и для чего устанавливать программы.
Другое преимущество системы LFS – возможность собрать наиболее компактную систему. Обычные дистрибутивы зачастую устанавливают на вашем компьютере огромное количество программ, которые навряд ли будут использоваться впоследствии. Они будут просто-напросто занимать (драгоценное?) место на диске, в то время как не составляет труда уместить систему LFS на разделе в 100MB. Все равно слишком много? Некоторые участники проекта разработали сверхкомпактную систему LFS. Была собрана система, позволяющая работу вебсервера Apache, которая занимала лишь 8 мегабайт. Дальнейшее урезание системы позволит сократить ее объем до 5 мегабайт. Вряд ли этого удастся достичь, используя обычный дистрибутив.
Давайте сравним дистрибутив Linux с гамбургером из закусочной, когда вы точно не знаете, что именно едите. LFS, в свою очередь, дает вам не гамбургер, а рецепт его приготовления. Внимательно изучив его, можно убрать ненужные ингредиенты и для насыщения вкуса добавить свои. Как только вы довольны рецептом, можете смело приступать к приготовлению гамбургера. На этом этапе также есть выбор: можно его поджарить на огне, во фритюре, запечь, или съесть сырым.
Также LFS можно сравнить с построенным домом. LFS предоставляет план дома, а строить его вам. Разумеется, можно изменять план по ходу дела.
Немаловажное преимущество индивидуальной системы Linux – безопасность. При компиляции всей системы из исходных кодов вы получаете возможность проверять все компоненты системы и по мере необходимости инсталлировать патчи. Больше нет необходимости ждать, пока кто-то выпустит бинарный пакет, устраняющий дыру в безопасности системы. Нет гарантии, что новый пакет был собран корректно и адекватно устраняет проблему, если вы самостоятельно не изучили и не собрали патч. Чтобы быть уверенным в том, что дыра в безопасности устранена, необходимо установить патч вручную.
Кому будет неинтересно читать эту книгу
Если у вас нет желания собирать Linux с нуля, тогда, наверное, эта книга не для вас. Наша цель – построение полной и практичной фундаментальной системы. Если все что вас интересует, это узнать, что происходит при загрузке системы, рекомендуем «From Power Up To Bash Prompt» HOWTO. Это руководство описывает процесс построения голой системы, похожей на нашу, но ставит задачу лишь создать систему, способную загрузиться в оболочку BASH.
Выбирая что читать, ясно определите для себя цель. Если вы хотите построить Linux систему, изучая ее по ходу дела, эта книга для вас. Если ваша цель сугубо познавательная, и вы не планируете создать готовую систему, тогда ваш выбор «From Power Up To Bash Prompt» HOWTO.
«From Power Up To Bash Prompt» HOWTO находится по адресу http://www.netspace.net.au/~gok/power2bash/.
Значительное число приложений включены в Часть 2 (это немного увеличивает объем книги). Это облегчает чтение. Таким образом, не нужно все время заглядывать в Приложения при прочтении Части 2. Это очень неудобно, особенно если читать txt версию книги. Данная книга поделена на разделы следующим образом:
Часть 1 содержит информацию о содержании книги (исправления, где скачать книгу, Changelog, списки рассылки и иную контактную информацию). Часть 1 также дает информацию о литературе, рекомендуемой для прочтения перед установкой LFS.
Часть 2 – Установка базовой системы LFS
Часть 2 будет служить ориентиром при построении и инсталляции LFS системы. Получившаяся система будет служить фундаментом, ядром для установки остальных компонентов системы.
Часть 3 содержит различные приложения.
Мы благодарим всех людей и организации за их вклад в развитие проекта Linux From Scratch:
Mark Stone < [email protected]> за предоставление сервера linuxfromscratch.org
VA Linux Systems за серверное пространство и канал для сервера linuxfromscratch.org.
Fredrik Danerklint за зеркало se.linuxfromscratch.org.
Tim Jackson < [email protected]> за зеркало linuxfromscratch.idge.net.
Hagen Herrschaft < [email protected]> за зеркала de.linuxfromscratch.org, и за предоставление P4-2.2GHz для проекта LFS.
UK Mirror Service за зеркало linuxfromscratch.mirror.ac.uk.
Guido Passet < [email protected]> за зеркала www.nl.linuxfromscratch.org и ftp.snt.utwente.nl.
Timothy Bauscher < [email protected]> за помощь в редактировании этой книги.
Mark Hymers < [email protected]> за помощь в редактировании этой книги.
Marc Heerdink < [email protected]> за помощь в редактировании этой книги.
DREAMWVR.COM за предоставление ресурсов проекту LFS и другим подпроектам, связанным с ним.
Jan Niemann <jan.niem [email protected]> за зеркало www.de.linuxfromscratch.org mirror.
Torsten Westermann < [email protected]> за зеркало lfs.linux-provider.net mirror.
Ian Chilton < [email protected]> за зеркала www.us.linuxfromscratch.org и www.linuxfromscratch.co.uk.
Dag Stenstad < [email protected]> за предоставление зеркала www.no.linuxfromscratch.org, и Ian Chilton < [email protected]> за его администрирование.
Antonin Sprinzl < [email protected]> за зеркало www.at.linuxfromscratch.org.
Jason Andrade < [email protected]> за зеркало www.au.linuxfromscratch.org.
Ian Cooper < [email protected]> за зеркало www.us2.linuxfromscratch.org.
VA Linux Systems , которые от имени Linux.com, предоставили рабочую станцию VA Linux 420 (бывшая StartX SP2) для проекта.
Johan Lenglet < [email protected]> за осуществление руководства проекта перевода LFS на французский язык.
Jesse Tie-Ten-Quee [email protected] за предоставление пишущего привода Yamaha CDRW 8824E.
O'Reilly за предоставление книг по SQL и PHP.
Robert Briggs за предоставление доменов linuxfromscratch.org linuxfromscratch.com.
Frank Skettino < [email protected]> из OSWD за первоначальный дизайн вебсайта LFS.
Garrett LeSage < [email protected]> за создание баннера LFS.
Dean Benson < [email protected]> за финансовую помощь в образовании некоммерческой организации LFS.
Бесчисленное количество людей в различных списках рассылки LFS за советы, тестирование книги и за сообщение об ошибках.
Мы собираемся построить систему LFS, используя заранее установленный дистрибутив Linux, как например Debian, SuSE, Slackware, Mandrake, RedHat, и т.д. Мы будем использовать установленную систему как платформу для разработки, т.к. нам понадобится компилятор, линкер, текстовый редактор и другие средства разработки, необходимые для построения нашей системы. Обычно эти инструменты доступны по умолчанию, если выбрать опцию «development» при инсталляции дистрибутива Linux.